/* ============================================================
   IDENTIDADE VISUAL — COLÉGIO INTERNACIONAL TORRICELLI
   Tema ÚNICO: verde da marca sobre fundo claro/branco.
   Sem alternância claro/escuro — o botão de tema fica oculto.
   Incluído via <link rel="stylesheet" href="/static/css/tema.css">
   ============================================================ */
:root {
    /* --- Base clara (branco / off-white esverdeado) --- */
    --bg-principal:    #f4f7f5;
    --bg-gradient-top: #ecf5ef;
    --bg-card:         #ffffff;
    --bg-card-hover:   #f0f9f4;
    --bg-secundario:   #edf5f0;
    --bg-painel:       rgba(21, 163, 74, 0.07);

    /* --- Texto escuro sobre fundo claro --- */
    --texto-principal:  #1a2e22;
    --texto-titulo:     #0d1c14;
    --texto-secundario: #4d7060;
    --texto-suave:      #7a9887;

    /* --- Bordas suaves --- */
    --borda:       #c5dece;
    --borda-suave: #ddeee5;

    /* --- Sombras suaves --- */
    --sombra-card:    0 1px 4px rgba(0,0,0,0.07);
    --sombra-elevada: 0 4px 16px rgba(0,0,0,0.10);

    /* --- Cor de marca: VERDE TORRICELLI --- */
    --marca:        #15a34a;  /* verde principal  */
    --marca-forte:  #0e7c38;  /* verde escuro (hover/gradiente) */
    --marca-clara:  #3ddc84;  /* verde claro (destaques/sucesso) */
}

/* Base global */
body {
    background-color: var(--bg-principal);
    color: var(--texto-principal);
}

/* O sistema tem tema único: esconde o botão de troca de tema. */
.btn-tema { display: none !important; }

/* ============================================================
   REBRAND DAS CLASSES BOOTSTRAP (laranja/azul/ciano -> verde)
   ============================================================ */
.text-warning           { color: var(--marca) !important; }
.text-primary           { color: var(--marca) !important; }
.text-info              { color: var(--marca-forte) !important; }
.text-success           { color: var(--marca) !important; }

.bg-primary             { background-color: var(--marca) !important; color: #fff !important; }
.bg-info                { background-color: var(--marca-clara) !important; color: #06231a !important; }
.bg-success             { background-color: var(--marca) !important; color: #fff !important; }

.btn-primary            { background-color: var(--marca) !important; border-color: var(--marca) !important; color: #fff !important; }
.btn-primary:hover      { background-color: var(--marca-forte) !important; border-color: var(--marca-forte) !important; }
.btn-info               { background-color: var(--marca-clara) !important; border-color: var(--marca-clara) !important; color: #06231a !important; }
.btn-success            { background-color: var(--marca) !important; border-color: var(--marca) !important; color: #fff !important; }
.btn-success:hover      { background-color: var(--marca-forte) !important; border-color: var(--marca-forte) !important; }

/* Outline-light adaptado para fundo claro */
.btn-outline-light      { color: var(--texto-principal) !important; border-color: var(--borda) !important; }
.btn-outline-light:hover{ background-color: var(--marca) !important; border-color: var(--marca) !important; color: #fff !important; }

/* Outline-secondary no tema claro */
.btn-outline-secondary  { color: var(--texto-secundario) !important; border-color: var(--borda) !important; }
.btn-outline-secondary:hover { background-color: var(--bg-secundario) !important; }

a, .link-historico      { color: var(--marca-forte); }
a:hover                 { color: var(--marca); }

/* Spinner na cor da marca */
.spinner-border         { color: var(--marca); }

/* ============================================================
   CARDS, TABELAS, SCROLLBARS — base clara
   ============================================================ */
.menu-card, .card-painel, .kpi-card, .card-status, .catraca-card, .card-table, .card-info, .card-param {
    background-color: var(--bg-card) !important;
    border-color: var(--borda) !important;
    box-shadow: var(--sombra-card) !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.menu-card:hover, .card-painel:hover, .catraca-card:hover {
    background-color: var(--bg-card-hover) !important;
    box-shadow: var(--sombra-elevada) !important;
}

/* Cabeçalho de tabela: verde da marca com texto branco */
.table-dark,
.table-dark > :not(caption) > * > * {
    background-color: var(--bg-card) !important;
    color: var(--texto-principal) !important;
    border-color: var(--borda) !important;
}
.table-dark th,
.table-dark thead > tr > th {
    background-color: var(--marca) !important;
    color: #fff !important;
    border-color: var(--marca-forte) !important;
}
.table-hover > tbody > tr:hover > * { background-color: rgba(21, 163, 74, 0.10) !important; color: var(--texto-principal) !important; }
.table-striped > tbody > tr:nth-of-type(odd) > * { color: var(--texto-principal) !important; background-color: var(--bg-secundario) !important; }

/* bg-dark do Bootstrap fica ilegível no tema claro */
.bg-dark { background-color: var(--bg-secundario) !important; color: var(--texto-principal) !important; }

/* Inputs/selects no tema claro */
input[type="text"], input[type="number"], input[type="date"], input[type="email"],
input[type="password"], select, textarea {
    background-color: var(--bg-card);
    color: var(--texto-principal);
    border-color: var(--borda);
}
input[type="text"]:focus, input[type="number"]:focus, input[type="date"]:focus,
input[type="email"]:focus, input[type="password"]:focus, select:focus, textarea:focus {
    background-color: var(--bg-card);
    color: var(--texto-principal);
    border-color: var(--marca) !important;
    box-shadow: 0 0 0 0.15rem rgba(21, 163, 74, 0.2);
}
input::placeholder, textarea::placeholder { color: var(--texto-suave); }

/* Cards Bootstrap genéricos */
.card {
    background-color: var(--bg-card) !important;
    border-color: var(--borda) !important;
    color: var(--texto-principal) !important;
}
.card-header {
    background-color: var(--bg-secundario) !important;
    border-color: var(--borda) !important;
    color: var(--texto-titulo) !important;
}
.card-body { color: var(--texto-principal) !important; }

/* Navbar/dropdown Bootstrap */
.dropdown-menu {
    background-color: var(--bg-card) !important;
    border-color: var(--borda) !important;
}
.dropdown-item { color: var(--texto-principal) !important; }
.dropdown-item:hover { background-color: var(--bg-painel) !important; }

/* Badges: outline verde */
.badge.bg-secondary { background-color: var(--bg-secundario) !important; color: var(--texto-principal) !important; }

/* Scrollbars discretas (tom verde suave) */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--bg-secundario); }
::-webkit-scrollbar-thumb { background: var(--borda); border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: var(--texto-suave); }

/* ============================================================
   OVERRIDES DE LEGIBILIDADE — tema claro
   Bootstrap "text-white" e "text-light" ficam invisíveis
   em fundo branco; redirecionamos para texto escuro.
   ============================================================ */
.text-white { color: var(--texto-principal) !important; }
.text-light  { color: var(--texto-secundario) !important; }

/* Força texto escuro em inputs/selects mesmo com inline style="color:#fff" */
.form-control, .form-select,
input[type="text"], input[type="number"], input[type="date"],
input[type="email"], input[type="password"], input[type="month"],
select, textarea {
    color: var(--texto-principal) !important;
}
.form-control, .form-select {
    background-color: var(--bg-card) !important;
    border-color: var(--borda) !important;
}
