/* ==========================================================================
   TEMA-SISTEMA.CSS
   Sistema central de variáveis — tema claro/escuro + cor de destaque
   dinâmica por usuário. Importe este arquivo UMA vez no <head> de cada
   página (ou no seu include de header), antes dos outros CSS.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. VARIÁVEIS — TEMA ESCURO (padrão, igual ao que você já tinha)
   -------------------------------------------------------------------------- */
:root,
[data-tema="escuro"] {
    --bg-body:        #0f172a;
    --bg-card:        #1e293b;
    --bg-card-alt:    #020617;   /* fundo mais escuro, ex: tabelas */
    --bg-elevado:     #1e293b;   /* topbar, headers de modal */
    --bg-input:       rgba(255, 255, 255, 0.05);
    --bg-input-focus: rgba(255, 255, 255, 0.15);
    --bg-hover:       rgba(255, 255, 255, 0.05);

    --border-color:   rgba(255, 255, 255, 0.08);
    --border-color-forte: rgba(255, 255, 255, 0.15);

    --text-primario:  #f8fafc;
    --text-secundario:#e2e8f0;
    --text-muted:     #94a3b8;
    --text-fraco:     #64748b;

    --shadow-color:   rgba(0, 0, 0, 0.4);

    /* cor de destaque — sobrescrita via JS com a cor do usuário (hex do banco) */
    --cor-usuario:        #38bdf8;
    --cor-usuario-hover:  #7dd3fc;
    --cor-usuario-texto:  #0f172a; /* texto sobre botões da cor de destaque */

    /* Compatibilidade legada com variáveis de home.css e estilos antigos */
    --bg-principal: var(--bg-body);
    --bg-janela: var(--bg-card);
    --bg-barra-top: var(--bg-elevado);
    --bg-taskbar: var(--bg-card-alt);
    --bg-dropdown: var(--bg-card);
    --bg-header-janela: var(--bg-elevado);

    --texto-primario: var(--text-primario);
    --texto-secundario: var(--text-secundario);
    --texto-destaque: var(--text-primario);

    --glass-bg: var(--bg-input);
    --glass-bg-hover: var(--bg-hover);
    --glass-borda-suave: var(--border-color);
    --glass-borda: var(--border-color-forte);
    --glass-borda-forte: var(--border-color-forte);

    --hover-plasma: rgba(124, 58, 237, 0.2);
    --hover-plasma-forte: rgba(124, 58, 237, 0.3);
    --hover-perigo: rgba(239, 68, 68, 0.15);

    --sombra-dropdown: 0 10px 30px rgba(0,0,0,0.5);
    --sombra-janela: 0 20px 50px rgba(0,0,0,0.5);
    --sombra-tarefa: 0 4px 10px rgba(124, 58, 237, 0.3);
}

/* --------------------------------------------------------------------------
   2. VARIÁVEIS — TEMA CLARO (versão nova)
   -------------------------------------------------------------------------- */
[data-tema="claro"] {
    --bg-body:        #f1f5f9;
    --bg-card:        #ffffff;
    --bg-card-alt:    #f8fafc;
    --bg-elevado:     #ffffff;
    --bg-input:       #f8fafc;
    --bg-input-focus: #eef2ff;
    --bg-hover:       rgba(15, 23, 42, 0.035);

    --border-color:   #e2e8f0;
    --border-color-forte: #cbd5e1;

    --text-primario:  #0f172a;
    --text-secundario:#1e293b;
    --text-muted:     #64748b;
    --text-fraco:     #94a3b8;

    --shadow-color:   rgba(15, 23, 42, 0.08);

    --cor-usuario:        #2563eb;
    --cor-usuario-hover:  #1e40af;
    --cor-usuario-texto:  #ffffff;
}

/* --------------------------------------------------------------------------
   3. RESET E BASE
   -------------------------------------------------------------------------- */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    background: var(--bg-body);
    color: var(--text-secundario);
    transition: background 0.25s ease, color 0.25s ease;
    min-height: 100vh;
}

/* --------------------------------------------------------------------------
   4. CARDS / GLASS CARD
   -------------------------------------------------------------------------- */
.glass-card,
.nota {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px var(--shadow-color);
    color: var(--text-secundario);
}

[data-tema="claro"] .glass-card {
    backdrop-filter: none; /* o efeito vidro não funciona bem sobre fundo claro sólido */
}

/* --------------------------------------------------------------------------
   5. BOTÕES
   -------------------------------------------------------------------------- */
.btn-primary,
.btn.btn-primary,
.btn-primario {
    padding: 10px 18px;
    border-radius: 10px;
    border: none;
    background: var(--cor-usuario) !important;
    border-color: var(--cor-usuario) !important;
    color: var(--cor-usuario-texto) !important;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    white-space: nowrap;
}

.btn-primary:hover,
.btn.btn-primary:hover,
.btn-primario:hover {
    background: var(--cor-usuario-hover) !important;
    border-color: var(--cor-usuario-hover) !important;
    color: var(--cor-usuario-texto) !important;
    transform: translateY(-1px);
}

.btn-outline-primary,
.btn.btn-outline-primary {
    border: 1px solid var(--cor-usuario) !important;
    color: var(--cor-usuario) !important;
    background: transparent !important;
}

.btn-outline-primary:hover,
.btn.btn-outline-primary:hover {
    background: var(--cor-usuario) !important;
    color: var(--cor-usuario-texto) !important;
}

.btn-secondary,
.btn.btn-secondary {
    background: var(--bg-input) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-secundario) !important;
}

.btn-secondary:hover,
.btn.btn-secondary:hover {
    background: var(--bg-hover) !important;
}

.btn-action-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    font-size: 0.83rem;
    line-height: 1;
    border-radius: 6px;
    font-weight: 600;
    transition: all 0.2s;
    border: 1px solid transparent;
    background: var(--bg-input);
    color: var(--text-primario);
    cursor: pointer;
    height: auto;
}

.btn-action-custom:hover {
    background: var(--bg-hover);
    border-color: var(--cor-usuario);
}

.btn-action-custom.pdf {
    color: var(--cor-usuario);
    border-color: var(--cor-usuario);
}

.btn-action-custom.pdf:hover {
    background: color-mix(in srgb, var(--cor-usuario) 15%, transparent);
}

.btn-remover {
    color: #f87171;
    background-color: transparent;
    border: 1px solid rgba(239, 68, 68, 0.4);
    padding: 0.4rem;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.btn-remover:hover {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
}

/* --------------------------------------------------------------------------
   6. TABELAS
   -------------------------------------------------------------------------- */
.data-table,
.table-custom,
.tabela-itens {
    width: 100%;
    border-collapse: collapse;
    background: var(--bg-card-alt);
    border-radius: 12px;
    overflow: hidden;
}

.data-table th,
.table-custom th,
.tabela-itens thead th {
    background: var(--bg-elevado);
    color: var(--cor-usuario);
    font-size: 13px;
    font-weight: 600;
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.data-table td,
.table-custom td,
.tabela-itens tbody td {
    padding: 12px 16px;
    color: var(--text-secundario);
    border-bottom: 1px solid var(--border-color);
}

.data-table tbody tr:hover,
.table-custom tbody tr:hover,
.tabela-itens tbody tr:hover {
    background: var(--bg-hover);
}

/* --------------------------------------------------------------------------
   7. FORMULÁRIOS
   -------------------------------------------------------------------------- */
.form-control,
.form-select,
.custom-input,
.search-container input,
.select-dinamico {
    background: var(--bg-input);
    border: 1px solid var(--border-color-forte);
    color: var(--text-primario) !important;
    border-radius: 8px;
}

.form-control:focus,
.form-select:focus,
.custom-input:focus {
    background: var(--bg-input-focus);
    border-color: var(--cor-usuario);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--cor-usuario) 25%, transparent);
    outline: none;
}

.form-control::placeholder,
.search-container input::placeholder {
    color: var(--text-fraco);
}

/* --------------------------------------------------------------------------
   8. BADGES DE STATUS (mantêm cor semântica em ambos os temas)
   -------------------------------------------------------------------------- */
.badge-status,
.pedido-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 14px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.4px;
    text-transform: capitalize;
}

.pending,  .status-pendente,  .pedido-status.pendente  { background: rgba(245,158,11,0.15); color: #d97706; border: 1px solid rgba(245,158,11,0.35); }
.approved, .status-aprovado,  .pedido-status.aprovado   { background: rgba(34,197,94,0.15);  color: #16a34a; border: 1px solid rgba(34,197,94,0.35); }
.canceled, .status-cancelado, .pedido-status.cancelado  { background: rgba(239,68,68,0.15);  color: #dc2626; border: 1px solid rgba(239,68,68,0.35); }

[data-tema="escuro"] .pending,  [data-tema="escuro"] .status-pendente  { color: #fbbf24; }
[data-tema="escuro"] .approved, [data-tema="escuro"] .status-aprovado  { color: #34d399; }
[data-tema="escuro"] .canceled, [data-tema="escuro"] .status-cancelado { color: #f87171; }

/* --------------------------------------------------------------------------
   9. TOPBAR / MENU
   -------------------------------------------------------------------------- */
.topbar {
    background: var(--bg-elevado);
    border-bottom: 1px solid var(--border-color);
}

.nav { background: var(--bg-input); }
.nav button { color: var(--text-muted); }
.nav button:hover { background: color-mix(in srgb, var(--cor-usuario) 18%, transparent); color: var(--text-primario); }

.glass-btn-wrapper,
.user-profile-wrapper {
    background: var(--bg-input);
    border: 1px solid var(--border-color);
}

.glass-btn-wrapper:hover,
.user-profile-wrapper:hover {
    background: var(--bg-hover);
}

.user-name { color: var(--text-secundario); }

.search-dropdown, .notif-dropdown, .user-dropdown {
    background: var(--bg-elevado);
    border: 1px solid var(--border-color);
    box-shadow: 0 10px 30px var(--shadow-color);
}

.menu-item { color: var(--text-secundario); }
.menu-item:hover { background: color-mix(in srgb, var(--cor-usuario) 20%, transparent); color: var(--text-primario); }

/* --------------------------------------------------------------------------
   10. MODAL (visualização de PDF etc.)
   -------------------------------------------------------------------------- */
.modal-box {
    background: var(--bg-body);
    border: 1px solid var(--border-color-forte);
    box-shadow: 0 30px 60px var(--shadow-color);
}

.modal-header-custom {
    background: var(--bg-elevado);
    border-bottom: 1px solid var(--border-color);
}

.modal-header-custom h5 { color: var(--text-primario); }

.modal-fechar {
    background: var(--bg-input);
    border: 1px solid var(--border-color);
    color: var(--text-muted);
}

.modal-fechar:hover {
    background: rgba(239,68,68,0.15);
    border-color: rgba(239,68,68,0.35);
    color: #f87171;
}

/* --------------------------------------------------------------------------
   11. TÍTULOS E TOTAIS
   -------------------------------------------------------------------------- */
h2, h4 {
    font-weight: 600;
    color: var(--cor-usuario);
}

#total-geral, #total-final,
.total-linha.grand-total .valor {
    font-weight: 700;
    color: var(--cor-usuario);
}

/* --------------------------------------------------------------------------
   12. IMPRESSÃO — a nota sempre imprime no claro, independente do tema ativo
   -------------------------------------------------------------------------- */
@media print {
    body { background: #fff; color: #1e293b; padding: 0; }
    .btn-imprimir { display: none !important; }
    .nota { background: #fff; border: 1px solid #e2e8f0; box-shadow: none; border-radius: 0; }
}