/* =====================================================
   Tema Agro (verde) — sobrepoe o tema prata do style.css
   ===================================================== */
:root {
    --color-dark:        #1b5e20;  /* sidebar / botoes primarios */
    --color-dark-2:      #225b27;
    --color-dark-3:      #2e7d32;
    --color-silver:      #a5d6a7;  /* acento (borda ativa, icones) */
    --color-silver-light:#d7f0d8;
    --color-silver-dim:  #80b483;
}

/* Logo da sidebar (texto, sem imagem) */
.sidebar-logo { display:flex; align-items:center; gap:10px; color:#fff; }

/* ===== Badges de status / lote ===== */
.badge-VACINADO { background: rgba(40,167,69,0.14);  color:#1b5e20; }
.badge-ABATE    { background: rgba(255,152,0,0.18);   color:#e65100; }
.badge-MORTO    { background: rgba(220,53,69,0.13);   color:#a71d2a; }
.badge-lote     { background: rgba(21,101,192,0.12);  color:#0d47a1; letter-spacing:.5px; }

/* ===== Badge de marcacao (brinco colorido + codigo) ===== */
.badge-marca {
    display:inline-flex; align-items:center; gap:5px;
    padding:3px 9px 3px 6px; border-radius:20px; font-size:11.5px; font-weight:700;
    background:#f0f1f3; color:#1f2933; letter-spacing:.5px; white-space:nowrap;
}
.badge-marca .brinco {
    width:11px; height:11px; border-radius:50%;
    border:1px solid rgba(0,0,0,0.25); box-shadow:0 0 0 1px rgba(255,255,255,0.6) inset; flex:none;
}

/* ===== Alertas / pendencias do painel ===== */
.alerta {
    display:flex; align-items:center; gap:10px; padding:10px 14px; border-radius:8px;
    margin:0 4px 8px; font-size:13.5px; color:#1f2933; background:#f6f7f9;
    border-left:4px solid #90a4ae; text-decoration:none; transition:.15s;
}
.alerta:hover { background:#eef0f3; transform:translateX(2px); }
.alerta > i:first-child { font-size:18px; }
.alerta .seta { margin-left:auto; font-size:12px; color:#9aa3ad; }
.alerta.warn { background:#fff8e1; border-left-color:#f9a825; }
.alerta.info { background:#e8f1fb; border-left-color:#1565c0; }
.alerta.ok   { background:#e9f7ea; border-left-color:#2e7d32; }

/* ===== Graficos ===== */
.gchart { position:relative; height:240px; }

/* ===== Linha do tempo ===== */
.tl-item { display:flex; align-items:flex-start; gap:10px; padding:9px 4px; border-bottom:1px solid #f1f2f4; }
.tl-item:last-child { border-bottom:none; }
.tl-ic { width:28px; height:28px; border-radius:50%; background:#eef3ee; color:#2e7d32; display:flex; align-items:center; justify-content:center; flex:none; font-size:14px; }
.tl-item.tl-vacinacao .tl-ic { background:#e3f2fd; color:#1565c0; }
.tl-item.tl-peso       .tl-ic { background:#fff3e0; color:#e65100; }
.tl-item.tl-status     .tl-ic { background:#f3e5f5; color:#6a1b9a; }
.tl-item.tl-nascimento .tl-ic { background:#fce4ec; color:#c2185b; }
.tl-body { flex:1; min-width:0; }
.tl-tit { font-size:13.5px; font-weight:600; color:#1f2933; }
.tl-det { font-size:12px; color:#6b7280; }
.tl-data { font-size:12px; color:#9aa3ad; white-space:nowrap; }

/* ===== KPIs do painel ===== */
.kpis { display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:14px; margin-bottom:20px; }
.kpi {
    background:#fff; border-radius:var(--radius-lg); padding:16px 18px;
    box-shadow:var(--shadow); border-left:4px solid var(--color-dark-3);
}
.kpi .n { font-size:28px; font-weight:800; line-height:1; color:#1f2933; }
.kpi .l { font-size:12px; color:#6b7280; margin-top:6px; font-weight:600; text-transform:uppercase; letter-spacing:.3px; }
.kpi.azul   { border-left-color:#1565c0; }
.kpi.amarelo{ border-left-color:#f9a825; }
.kpi.vermelho{ border-left-color:#c62828; }
.kpi.cinza  { border-left-color:#78909c; }

/* ===== Documento da Declaracao (tela + impressao) ===== */
#docPrint {
    background:#fff; color:#000; border:1px solid #bbb; border-radius:8px;
    padding:20px; max-width:820px; margin:10px auto; box-shadow:var(--shadow); font-size:12px;
}
#docPrint h2 { text-align:center; font-size:15px; margin:0 0 10px; text-transform:uppercase; }
#docPrint .sec { background:#1b5e20; color:#fff; padding:3px 8px; font-weight:bold; margin:12px 0 5px; font-size:12px; }
#docPrint table { width:100%; border-collapse:collapse; margin:5px 0; }
#docPrint td, #docPrint th { border:1px solid #555; padding:3px 6px; font-size:11px; }
#docPrint th { background:#e8f5e9; }
#docPrint .dc { text-align:center; }
#docPrint .lin { display:flex; flex-wrap:wrap; gap:2px 18px; margin:4px 0; }
#docPrint .lin > div { flex:1; min-width:175px; }
#docPrint .k { font-weight:bold; }

@media print {
    .sidebar, .topbar, .sidebar-overlay, .flash-container, .no-print, .bottom-nav { display:none !important; }
    .main-content { margin-left:0 !important; }
    .page-content { padding:0 !important; }
    body { background:#fff; }
    #docPrint { border:none; box-shadow:none; margin:0; max-width:none; padding:0; }
    @page { size:A4; margin:10mm; }
}

/* Genealogia */
.geneal-no { padding:9px 13px; border:1px solid #e2e6ea; border-radius:8px; background:#f8faf8; margin-bottom:7px; }
.geneal-no b { color:#1b5e20; }

/* ===== Menu inferior (mobile, estilo app) ===== */
.bottom-nav { display:none; }
@media (max-width: 991px) {
    .bottom-nav {
        display:flex; position:fixed; left:0; right:0; bottom:0; z-index:1100;
        background:#fff; border-top:1px solid #e6e8eb; box-shadow:0 -2px 12px rgba(0,0,0,.08);
        padding-bottom:env(safe-area-inset-bottom, 0);
    }
    .bottom-nav a, .bottom-nav button {
        flex:1; min-width:0; background:none; border:none; cursor:pointer; text-decoration:none;
        display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
        padding:7px 2px 6px; color:#8a929c; font-size:10px; font-weight:600; transition:.15s;
    }
    .bottom-nav i { font-size:19px; line-height:1; }
    .bottom-nav a.active, .bottom-nav a.active i { color:var(--color-dark-3); }
    .bottom-nav a:active, .bottom-nav button:active { background:#f3f4f6; }
    /* espaco para o conteudo nao ficar atras da barra */
    .page-content { padding-bottom:80px !important; }
}
