/* ═══════════════════════════════════════════════════════════════════════════
   TWO-WAY — Sistema de Temas
   Usa CSS custom properties + data-bs-theme para Bootstrap
   ═══════════════════════════════════════════════════════════════════════════ */

html { font-size: 15px; }

/* ───────────────────────────────────────────────────────────────────────────
   TEMA: Escuro  (dark)
   ─────────────────────────────────────────────────────────────────────────── */
[data-tw-theme="dark"] {
    /* Variáveis personalizadas */
    --tw-accent:          #58a6ff;
    --tw-accent-glow:     rgba(88, 166, 255, 0.25);
    --tw-online:          #3fb950;
    --tw-navbar-bg:       #010409;
    --tw-card-header-bg:  #0d1117;

    /* Override Bootstrap CSS variables */
    --bs-body-bg:               #0d1117;
    --bs-body-color:            #e6edf3;
    --bs-secondary-color:       #8b949e;
    --bs-tertiary-color:        #6e7681;
    --bs-border-color:          #30363d;
    --bs-card-bg:               #161b22;
    --bs-modal-bg:              #161b22;
    --bs-dropdown-bg:           #161b22;
    --bs-dropdown-border-color: #30363d;
    --bs-dropdown-color:        #e6edf3;
    --bs-link-color:            #58a6ff;
    --bs-link-hover-color:      #79b8ff;
}

/* ───────────────────────────────────────────────────────────────────────────
   TEMA: Claro  (light)
   ─────────────────────────────────────────────────────────────────────────── */
[data-tw-theme="light"] {
    --tw-accent:          #1877f2;
    --tw-accent-glow:     rgba(24, 119, 242, 0.2);
    --tw-online:          #31a24c;
    --tw-navbar-bg:       #ffffff;
    --tw-card-header-bg:  #f0f2f5;

    --bs-body-bg:               #f0f2f5;
    --bs-body-color:            #1c1e21;
    --bs-secondary-color:       #4b4f56;
    --bs-tertiary-color:        #65676b;
    --bs-border-color:          #dddfe2;
    --bs-card-bg:               #ffffff;
    --bs-modal-bg:              #ffffff;
    --bs-dropdown-bg:           #ffffff;
    --bs-dropdown-border-color: #dddfe2;
    --bs-dropdown-color:        #1c1e21;
    --bs-link-color:            #1877f2;
    --bs-link-hover-color:      #0d5cbf;
}

/* ───────────────────────────────────────────────────────────────────────────
   TEMA: Dracula
   ─────────────────────────────────────────────────────────────────────────── */
[data-tw-theme="dracula"] {
    --tw-accent:          #ff79c6;
    --tw-accent-glow:     rgba(255, 121, 198, 0.25);
    --tw-online:          #50fa7b;
    --tw-navbar-bg:       #191a21;
    --tw-card-header-bg:  #191a21;

    --bs-body-bg:               #282a36;
    --bs-body-color:            #f8f8f2;
    --bs-secondary-color:       #bd93f9;
    --bs-tertiary-color:        #6272a4;
    --bs-border-color:          #44475a;
    --bs-card-bg:               #21222c;
    --bs-modal-bg:              #21222c;
    --bs-dropdown-bg:           #21222c;
    --bs-dropdown-border-color: #44475a;
    --bs-dropdown-color:        #f8f8f2;
    --bs-link-color:            #ff79c6;
    --bs-link-hover-color:      #ffb3df;
}

/* ───────────────────────────────────────────────────────────────────────────
   TEMA: Oceano  (ocean)
   ─────────────────────────────────────────────────────────────────────────── */
[data-tw-theme="ocean"] {
    --tw-accent:          #64ffda;
    --tw-accent-glow:     rgba(100, 255, 218, 0.2);
    --tw-online:          #64ffda;
    --tw-navbar-bg:       #020c1b;
    --tw-card-header-bg:  #071428;

    --bs-body-bg:               #0a192f;
    --bs-body-color:            #ccd6f6;
    --bs-secondary-color:       #8892b0;
    --bs-tertiary-color:        #546082;
    --bs-border-color:          #233554;
    --bs-card-bg:               #112240;
    --bs-modal-bg:              #112240;
    --bs-dropdown-bg:           #112240;
    --bs-dropdown-border-color: #233554;
    --bs-dropdown-color:        #ccd6f6;
    --bs-link-color:            #64ffda;
    --bs-link-hover-color:      #9effec;
}

/* ═══════════════════════════════════════════════════════════════════════════
   NAVBAR  — usa variável --tw-navbar-bg
   ═══════════════════════════════════════════════════════════════════════════ */
.tw-navbar {
    background-color: var(--tw-navbar-bg, #010409) !important;
    border-color: var(--bs-border-color) !important;
}

.tw-brand { color: var(--tw-accent) !important; }
.tw-brand:hover { opacity: .85; }

.tw-user-btn {
    background: transparent;
    border: 1px solid var(--bs-border-color);
    color: var(--bs-body-color);
    transition: border-color .15s, color .15s;
}
.tw-user-btn:hover,
.tw-user-btn:focus,
.tw-user-btn[aria-expanded="true"] {
    border-color: var(--tw-accent);
    color: var(--tw-accent);
    background: transparent;
    box-shadow: none;
}

.tw-online-icon { color: var(--tw-online) !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   DROPDOWN de configurações
   ═══════════════════════════════════════════════════════════════════════════ */
.tw-dropdown {
    background-color: var(--bs-dropdown-bg) !important;
    border-color: var(--bs-dropdown-border-color) !important;
    color: var(--bs-dropdown-color) !important;
}
.tw-dropdown .dropdown-header {
    color: var(--bs-secondary-color);
}
.tw-divider { border-color: var(--bs-border-color) !important; }
.tw-text-muted { color: var(--bs-secondary-color) !important; }

/* Grade de seleção de temas */
.tw-theme-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.tw-theme-opt {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 8px;
    border: 1.5px solid var(--bs-border-color);
    background: transparent;
    color: var(--bs-body-color);
    cursor: pointer;
    transition: border-color .15s, background-color .15s;
    font-size: .82rem;
    width: 100%;
}
.tw-theme-opt:hover {
    border-color: var(--tw-accent);
    background-color: var(--tw-accent-glow);
}
.tw-theme-opt.active {
    border-color: var(--tw-accent);
    background-color: var(--tw-accent-glow);
    font-weight: 600;
}
.tw-theme-opt.active .tw-theme-label::after {
    content: " ✓";
    color: var(--tw-accent);
}

.tw-swatch {
    display: inline-block;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,.15);
    flex-shrink: 0;
}

.tw-theme-label { white-space: nowrap; }

/* ═══════════════════════════════════════════════════════════════════════════
   CARDS — fundo e borda temáticos
   ═══════════════════════════════════════════════════════════════════════════ */
.card {
    background-color: var(--bs-card-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color);
}

/* Card headers (substituindo .bg-black e .bg-dark hardcoded) */
.card-header {
    background-color: var(--tw-card-header-bg, var(--tw-navbar-bg)) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

/* Modal */
.modal-content {
    background-color: var(--bs-modal-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color);
}
.modal-header,
.modal-footer {
    border-color: var(--bs-border-color) !important;
}
.btn-close-white { filter: var(--bs-btn-close-filter, invert(1) grayscale(100%) brightness(200%)); }

/* Tema claro: btn-close não precisa de filtro */
[data-tw-theme="light"] .btn-close-white {
    filter: none;
}

/* ═══════════════════════════════════════════════════════════════════════════
   LIST GROUP
   ═══════════════════════════════════════════════════════════════════════════ */
.list-group-item {
    background-color: transparent !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
    transition: background-color .15s;
}
.list-group-item:hover {
    background-color: color-mix(in srgb, var(--tw-accent) 6%, transparent) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   INPUTS
   ═══════════════════════════════════════════════════════════════════════════ */
.form-control {
    background-color: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}
.form-control::placeholder { color: var(--bs-secondary-color) !important; }
.form-control:focus {
    background-color: var(--bs-card-bg) !important;
    border-color: var(--tw-accent) !important;
    color: var(--bs-body-color) !important;
    box-shadow: 0 0 0 0.2rem var(--tw-accent-glow) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BOTÕES com accent
   ═══════════════════════════════════════════════════════════════════════════ */
.btn-primary {
    --bs-btn-bg:          var(--tw-accent);
    --bs-btn-border-color:var(--tw-accent);
    --bs-btn-hover-bg:    color-mix(in srgb, var(--tw-accent) 85%, black);
    --bs-btn-color:       #000;
}
.btn-outline-primary {
    --bs-btn-color:        var(--tw-accent);
    --bs-btn-border-color: var(--tw-accent);
    --bs-btn-hover-bg:     var(--tw-accent);
    --bs-btn-hover-color:  #000;
}
.btn:focus, .btn:active:focus {
    box-shadow: 0 0 0 0.2rem var(--tw-accent-glow) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   DROPZONE de arquivo
   ═══════════════════════════════════════════════════════════════════════════ */
#dropZone {
    cursor: pointer;
    border: 2px dashed var(--bs-border-color) !important;
    border-radius: .5rem;
    transition: border-color .2s, background-color .2s;
}
#dropZone:hover {
    border-color: var(--tw-accent) !important;
    background-color: var(--tw-accent-glow);
}

/* ═══════════════════════════════════════════════════════════════════════════
   FEED DE ATIVIDADES
   ═══════════════════════════════════════════════════════════════════════════ */
.activity-item {
    border-color: var(--bs-border-color) !important;
    animation: fadeInDown .3s ease;
}
/* Garante que os textos de atividade tenham contraste adequado */
.activity-item .text-info    { color: #5cc8ff !important; }
.activity-item .text-success { color: #56d364 !important; }
.activity-item .text-warning { color: #e3b341 !important; }
.activity-item .text-danger  { color: #f85149 !important; }

[data-tw-theme="light"] .activity-item .text-info    { color: #0974a3 !important; }
[data-tw-theme="light"] .activity-item .text-success { color: #1a7f37 !important; }
[data-tw-theme="light"] .activity-item .text-warning { color: #9a6700 !important; }
[data-tw-theme="light"] .activity-item .text-danger  { color: #cf222e !important; }

[data-tw-theme="dracula"] .activity-item .text-info    { color: #8be9fd !important; }
[data-tw-theme="dracula"] .activity-item .text-success { color: #50fa7b !important; }
[data-tw-theme="dracula"] .activity-item .text-warning { color: #f1fa8c !important; }
[data-tw-theme="dracula"] .activity-item .text-danger  { color: #ff5555 !important; }

[data-tw-theme="ocean"] .activity-item .text-info    { color: #64ffda !important; }
[data-tw-theme="ocean"] .activity-item .text-success { color: #64ffda !important; }
[data-tw-theme="ocean"] .activity-item .text-warning { color: #ffd700 !important; }
[data-tw-theme="ocean"] .activity-item .text-danger  { color: #ff6b6b !important; }

@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SCROLLBAR
   ═══════════════════════════════════════════════════════════════════════════ */
#activityFeed::-webkit-scrollbar { width: 5px; }
#activityFeed::-webkit-scrollbar-track { background: transparent; }
#activityFeed::-webkit-scrollbar-thumb {
    background: var(--bs-border-color);
    border-radius: 3px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BADGE online — usa cor do tema
   ═══════════════════════════════════════════════════════════════════════════ */
.badge.bg-success { background-color: var(--tw-online) !important; color: #000 !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   NAVBAR BRAND
   ═══════════════════════════════════════════════════════════════════════════ */
.navbar-brand { letter-spacing: .5px; }

/* ═══════════════════════════════════════════════════════════════════════════
   TEMA CLARO — overrides de utilitários Bootstrap hardcoded nas views
   ═══════════════════════════════════════════════════════════════════════════ */
[data-tw-theme="light"] .text-light { color: var(--bs-body-color) !important; }
[data-tw-theme="light"] .text-secondary { color: var(--bs-secondary-color) !important; }

/* Progress bar */
[data-tw-theme="light"] .progress { background-color: #dddfe2; }
