/* ============================================================
   PORTAL DE TRANSPARÊNCIA — CONDOMÍNIO RESIDENCIAL MARIUÁ
   Exercício 2026 · Design system herdado do Dashboard Gestão 2026
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#2C4A5E;--navy2:#1E3547;--navy3:#3D6278;
  --orange:#E84E0F;--orange2:#FF6B30;--orange3:#FEF0EB;
  --bg:#F2F6F9;--bg2:#E8EEF3;--white:#FFFFFF;
  --text:#1A2B38;--text2:#4A6070;--text3:#7A96A8;
  --green:#1A6B3C;--green-bg:#EAF5EF;
  --red:#C0392B;--red-bg:#FDECEA;
  --yellow:#8B6914;--yellow-bg:#FFF8E1;
  --blue:#1565C0;--blue-bg:#E3F0FF;
  --cian:#0E7490;--cian-bg:#E0F7FA;
  --radius:12px;--radius-sm:8px;
  --shadow:0 2px 12px rgba(44,74,94,.10);
  --shadow-lg:0 8px 32px rgba(44,74,94,.18);
  --border:1px solid rgba(44,74,94,.12);
}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}
h1,h2,h3,h4{font-family:Georgia,serif;font-weight:700;line-height:1.3}
a{color:var(--orange)}

/* ═══ PORTÃO DE REGISTRO ═══ */
#gate{position:fixed;inset:0;background:rgba(20,30,40,.86);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .35s ease}
#gate[hidden]{display:none}
.gate-card{background:var(--white);border-radius:20px;padding:2rem 1.75rem;max-width:440px;width:100%;box-shadow:var(--shadow-lg);max-height:94vh;overflow-y:auto}
.gate-logo{width:78px;height:78px;border-radius:50%;border:4px solid var(--orange);object-fit:contain;background:var(--navy2);margin:0 auto 1rem;display:block;padding:3px}
.gate-title{font-size:1.2rem;color:var(--navy);text-align:center;margin-bottom:.35rem}
.gate-sub{font-size:.85rem;color:var(--text2);text-align:center;line-height:1.6;margin-bottom:1.25rem}
.gate-field{margin-bottom:.9rem}
.gate-field label{display:block;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text2);margin-bottom:.3rem}
.gate-field input,.gate-field select{width:100%;padding:.7rem .85rem;border:1.5px solid var(--bg2);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;color:var(--text);background:var(--white)}
.gate-field input:focus,.gate-field select:focus{outline:none;border-color:var(--orange)}
.gate-err{color:var(--red);font-size:.78rem;margin-top:.25rem;display:none}
.gate-err.show{display:block}
.gate-btn{background:var(--orange);color:#fff;border:none;border-radius:var(--radius-sm);padding:.85rem 1rem;font-size:1rem;font-weight:700;cursor:pointer;width:100%;font-family:inherit;margin-top:.4rem}
.gate-btn:hover{background:var(--orange2)}
.gate-lgpd{font-size:.72rem;color:var(--text3);line-height:1.55;margin-top:1rem;text-align:center;border-top:1px solid var(--bg2);padding-top:.85rem}

/* ═══ HEADER ═══ */
#header{background:linear-gradient(135deg,var(--navy2) 0%,var(--navy) 60%,var(--navy3) 100%);color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 3px 20px rgba(0,0,0,.25)}
.hdr-top{display:flex;align-items:center;gap:1rem;padding:.9rem 1.5rem}
.hdr-logo{width:52px;height:52px;border-radius:50%;border:3px solid var(--orange);object-fit:contain;background:var(--navy2);flex-shrink:0;padding:2px}
.hdr-info h1{font-size:1.1rem;font-family:Georgia,serif;letter-spacing:.02em}
.hdr-info p{font-size:.78rem;opacity:.75;margin-top:.1rem}
.hdr-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.hdr-badge{background:var(--orange);color:#fff;border-radius:20px;padding:.3rem .9rem;font-size:.78rem;font-weight:700;white-space:nowrap}
.menu-btn{width:38px;height:38px;border-radius:9px;border:none;background:rgba(255,255,255,.14);color:#fff;font-size:1.25rem;cursor:pointer;transition:.2s;flex-shrink:0}
.menu-btn:hover{background:var(--orange)}
.nav-tabs{display:flex;overflow-x:auto;background:rgba(0,0,0,.25);scrollbar-width:none;border-top:1px solid rgba(255,255,255,.1)}
.nav-tabs::-webkit-scrollbar{display:none}
.nav-tab{padding:.7rem 1.1rem;color:rgba(255,255,255,.65);font-size:.82rem;font-weight:600;cursor:pointer;border:none;background:none;white-space:nowrap;border-bottom:3px solid transparent;transition:.2s;text-transform:uppercase;text-decoration:none;display:inline-block;font-family:inherit}
.nav-tab.active{color:#fff;border-bottom-color:var(--orange);background:rgba(255,255,255,.07)}
.nav-tab:hover:not(.active){color:#fff;background:rgba(255,255,255,.05)}
.hint-bar{background:var(--navy3);color:rgba(255,255,255,.82);font-size:.8rem;padding:.45rem 1.5rem;display:flex;align-items:center;gap:.5rem}

/* ═══ GAVETA ═══ */
#drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;opacity:0;visibility:hidden;transition:.25s}
#drawer-overlay.open{opacity:1;visibility:visible}
#drawer{position:fixed;top:0;left:0;bottom:0;width:290px;max-width:85vw;background:var(--white);z-index:201;transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px rgba(0,0,0,.2);overflow-y:auto;display:flex;flex-direction:column}
#drawer.open{transform:translateX(0)}
.drawer-hdr{background:linear-gradient(135deg,var(--navy2),var(--navy3));color:#fff;padding:1.1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:2}
.drawer-hdr span{font-family:Georgia,serif;font-size:1.05rem;font-weight:700}
.drawer-hdr button{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer;line-height:1}
.drawer-sec-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text3);font-weight:700;padding:1rem 1.2rem .4rem}
.drawer-item{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;background:none;border:none;padding:.7rem 1.2rem;font-size:.92rem;color:var(--text);cursor:pointer;font-family:inherit;border-left:3px solid transparent;transition:.15s;text-decoration:none}
.drawer-item:hover{background:var(--bg)}
.drawer-item.active{background:var(--orange3);border-left-color:var(--orange);color:var(--navy);font-weight:700}
.drawer-item .soon{margin-left:auto;font-size:.66rem;background:var(--bg2);color:var(--text3);padding:.1rem .45rem;border-radius:10px;font-weight:600}
.drawer-item.disabled{opacity:.5;pointer-events:none}
.drawer-divider{height:1px;background:var(--bg2);margin:.5rem 0}

/* ═══ MAIN ═══ */
main{max-width:1100px;margin:0 auto;padding:1.5rem 1rem 3rem;overflow-x:hidden}
.section{scroll-margin-top:130px;margin-bottom:2.5rem;padding-top:.5rem}
.section+.section{border-top:2px solid var(--bg2);padding-top:1.75rem}
.sec-title{font-size:1.3rem;color:var(--navy);margin-bottom:1.25rem;display:flex;align-items:center;gap:.6rem;border-bottom:2px solid var(--bg2);padding-bottom:.6rem}
.sec-title span.ic{font-size:1.4rem}

/* ═══ CARDS ═══ */
.card{background:var(--white);border-radius:var(--radius);padding:1.25rem 1.5rem;box-shadow:var(--shadow);border:var(--border);min-width:0}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1.5rem}
.metric-card{background:var(--white);border-radius:var(--radius);padding:1.2rem 1.3rem;box-shadow:var(--shadow);border-top:4px solid var(--navy);position:relative;min-width:0}
.metric-card.orange{border-top-color:var(--orange)}
.metric-card.green{border-top-color:var(--green)}
.metric-card.red{border-top-color:var(--red)}
.metric-card.cian{border-top-color:var(--cian)}
.metric-card.blue{border-top-color:var(--blue)}
.metric-label{font-size:.73rem;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:.4rem;display:flex;align-items:center;gap:.4rem}
.metric-val{font-size:1.5rem;font-family:Georgia,serif;font-weight:700;color:var(--navy);line-height:1.15;word-break:break-word}
.metric-val.orange{color:var(--orange)}
.metric-val.green{color:var(--green)}
.metric-val.red{color:var(--red)}
.metric-val.cian{color:var(--cian)}
.metric-sub{font-size:.73rem;color:var(--text3);margin-top:.3rem}
.tooltip-btn{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:var(--bg2);border:1px solid rgba(44,74,94,.2);cursor:pointer;font-size:.68rem;color:var(--text2);position:relative}
.tooltip-box{display:none;position:absolute;top:120%;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;font-size:.78rem;padding:.6rem .9rem;border-radius:var(--radius-sm);width:225px;line-height:1.5;z-index:50;box-shadow:var(--shadow-lg);text-transform:none;letter-spacing:0;font-weight:400;text-align:left}
.tooltip-box::before{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-bottom-color:var(--navy)}
.tooltip-btn:hover .tooltip-box,.tooltip-btn:focus .tooltip-box{display:block}

/* ═══ CAIXAS INFORMATIVAS ═══ */
.info-box{border-radius:var(--radius-sm);padding:.9rem 1.1rem;margin-bottom:1rem;display:flex;gap:.75rem;align-items:flex-start;font-size:.88rem;line-height:1.6}
.info-box .ib-icon{font-size:1.3rem;flex-shrink:0;margin-top:.05rem}
.info-box.blue{background:var(--blue-bg);border-left:4px solid var(--blue);color:var(--blue)}
.info-box.green{background:var(--green-bg);border-left:4px solid var(--green);color:var(--green)}
.info-box.red{background:var(--red-bg);border-left:4px solid var(--red);color:var(--red)}
.info-box.yellow{background:var(--yellow-bg);border-left:4px solid var(--yellow);color:var(--yellow)}
.info-box.orange{background:var(--orange3);border-left:4px solid var(--orange);color:var(--navy)}

/* ═══ GRÁFICOS ═══ */
.chart-wrap{position:relative;height:280px;margin:1rem 0;min-width:0}
.chart-wrap-sm{position:relative;height:220px;min-width:0}
.chart-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem;margin-bottom:1.5rem}
canvas{max-width:100%!important}

/* ═══ TABELAS ═══ */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:.85rem}
.tbl th{background:var(--navy);color:#fff;padding:.6rem .8rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.tbl td{padding:.6rem .8rem;border-bottom:1px solid var(--bg2);vertical-align:middle}
.tbl tr:hover td{background:var(--bg)}
.tbl tr:last-child td{border-bottom:none}
.tbl td.num,.tbl th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tbl tr.total td{background:var(--navy);color:#fff;font-weight:700;border-bottom:none}
.tbl tr.total:hover td{background:var(--navy)}

/* ═══ BADGES ═══ */
.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;border-radius:20px;font-size:.72rem;font-weight:700;white-space:nowrap}
.badge.ok{background:var(--green-bg);color:var(--green)}
.badge.atencao{background:var(--yellow-bg);color:var(--yellow)}
.badge.estouro{background:var(--red-bg);color:var(--red)}
.badge.info{background:var(--blue-bg);color:var(--blue)}
.badge.neutro{background:var(--bg2);color:var(--text2)}

/* ═══ ACORDEÃO ═══ */
.accordion-item{border:var(--border);border-radius:var(--radius-sm);margin-bottom:.6rem;overflow:hidden;background:var(--white)}
.accordion-hdr{display:flex;align-items:center;padding:.9rem 1.1rem;cursor:pointer;background:var(--white);gap:.75rem;user-select:none;transition:.2s;width:100%;border:none;font-family:inherit;text-align:left}
.accordion-hdr:hover{background:var(--bg)}
.accordion-hdr .acc-icon{font-size:1.2rem}
.accordion-hdr .acc-title{font-weight:700;color:var(--navy);flex:1;font-size:.95rem}
.accordion-hdr .acc-val{font-family:Georgia,serif;font-weight:700;color:var(--orange);font-size:1.05rem;white-space:nowrap}
.accordion-hdr .acc-chevron{color:var(--text3);transition:.3s;font-size:1.1rem}
.accordion-hdr.open .acc-chevron{transform:rotate(180deg)}
.accordion-body{display:none;padding:0 1.1rem 1rem;background:var(--bg)}
.accordion-body.open{display:block}
.acc-sub-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid rgba(44,74,94,.08);font-size:.86rem;gap:.5rem}
.acc-sub-row:last-child{border-bottom:none}
.acc-sub-name{color:var(--text2)}
.acc-sub-val{font-weight:700;color:var(--navy);white-space:nowrap}

/* ═══ BOTÕES DE DOWNLOAD ═══ */
.dl-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}
.dl-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--orange);color:#fff;text-decoration:none;padding:.8rem 1.3rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:700;box-shadow:var(--shadow);transition:.2s;border:none;cursor:pointer;font-family:inherit}
.dl-btn:hover{background:var(--orange2);transform:translateY(-1px)}
.dl-btn .dl-ic{font-size:1.15rem}
.dl-btn.ghost{background:var(--white);color:var(--navy);border:2px solid var(--navy)}
.dl-btn.ghost:hover{background:var(--navy);color:#fff}
.dl-btn.navy{background:var(--navy)}
.dl-btn.navy:hover{background:var(--navy3)}
.dl-note{font-size:.75rem;color:var(--text3);margin-top:.35rem;line-height:1.5}
.dl-btn.faltando{background:var(--bg2);color:var(--text3);box-shadow:none;cursor:not-allowed}
.dl-btn.faltando:hover{background:var(--bg2);transform:none}
.dl-falta{font-size:.72rem;font-weight:600;opacity:.9}
.tbl a.faltando{color:var(--text3);text-decoration:line-through}

/* ═══ GRID DE MESES (hub) ═══ */
.mes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.85rem;margin-bottom:1.25rem}
.mes-card{display:block;background:var(--white);border-radius:var(--radius);padding:1rem .9rem;text-align:center;box-shadow:var(--shadow);border:var(--border);border-top:4px solid var(--orange);text-decoration:none;color:var(--text);transition:.2s;min-width:0}
.mes-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.mes-card .mes-nome{font-family:Georgia,serif;font-size:1.05rem;font-weight:700;color:var(--navy);display:block}
.mes-card .mes-res{font-size:.9rem;font-weight:700;margin-top:.35rem;font-variant-numeric:tabular-nums}
.mes-card .mes-res.pos{color:var(--green)}
.mes-card .mes-res.neg{color:var(--red)}
.mes-card .mes-lbl{font-size:.66rem;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-top:.2rem}
.mes-card.pendente{border-top-color:var(--bg2);opacity:.62;pointer-events:none;border-style:dashed}
.mes-card.pendente .mes-res{color:var(--text3);font-size:.78rem;font-weight:600}

/* ═══ ADERÊNCIA ═══ */
.ader-item{background:var(--white);border-radius:var(--radius-sm);padding:.9rem 1.1rem;margin-bottom:.7rem;box-shadow:var(--shadow);border-left:4px solid var(--text3)}
.ader-item.ok{border-left-color:var(--green)}
.ader-item.atencao{border-left-color:var(--yellow)}
.ader-item.estouro{border-left-color:var(--red)}
.ader-top{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}
.ader-nome{font-weight:700;color:var(--navy);font-size:.93rem;flex:1;min-width:150px}
.ader-pct{font-family:Georgia,serif;font-weight:700;font-size:1.05rem;white-space:nowrap}
.ader-pct.ok{color:var(--green)}
.ader-pct.atencao{color:var(--yellow)}
.ader-pct.estouro{color:var(--red)}
.ader-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.55rem}
.ader-nums div label{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);display:block}
.ader-nums div span{font-size:.86rem;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.bar{height:8px;background:var(--bg2);border-radius:4px;overflow:hidden;position:relative}
.bar-fill{height:100%;border-radius:4px;transition:width .8s ease}
.bar-fill.ok{background:var(--green)}
.bar-fill.atencao{background:#D4A017}
.bar-fill.estouro{background:var(--red)}
.bar-100{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--navy);opacity:.6}
.bar-legenda{display:flex;justify-content:space-between;font-size:.66rem;color:var(--text3);margin-top:.2rem;letter-spacing:.02em}
.bar-legenda span:nth-child(2){color:var(--navy);font-weight:700}

/* ═══ FUNDO DE RESERVA ═══ */
.fr-card{background:linear-gradient(135deg,var(--navy2),var(--navy3));color:#fff;border-radius:var(--radius);padding:1.5rem;text-align:center;margin-bottom:1rem}
.fr-lbl{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}
.fr-val{font-size:2.1rem;font-family:Georgia,serif;font-weight:700;color:var(--orange2);line-height:1.15;margin:.25rem 0}
.fr-sub{font-size:.8rem;opacity:.78}

/* ═══ PLACEHOLDER ═══ */
.ph-card{background:var(--white);border-radius:var(--radius);padding:2.5rem 1.5rem;text-align:center;box-shadow:var(--shadow);border:2px dashed var(--bg2);margin:1.5rem auto;max-width:600px}
.ph-icon{font-size:2.8rem;margin-bottom:.75rem}
.ph-title{font-size:1.2rem;color:var(--navy);font-family:Georgia,serif;margin-bottom:.5rem}
.ph-text{font-size:.9rem;color:var(--text2);line-height:1.65}

/* ═══ HERO (index) ═══ */
.hero{background:linear-gradient(135deg,var(--navy2),var(--navy3));color:#fff;border-radius:var(--radius);padding:1.75rem 1.6rem;margin-bottom:1.75rem;box-shadow:var(--shadow-lg)}
.hero h2{font-size:1.35rem;margin-bottom:.5rem;color:#fff}
.hero p{font-size:.92rem;opacity:.86;line-height:1.65}
.hero .hero-tag{display:inline-block;background:var(--orange);border-radius:20px;padding:.2rem .8rem;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.7rem}

/* ═══ PASSOS ═══ */
.passos{counter-reset:p;list-style:none}
.passos li{counter-increment:p;position:relative;padding-left:2.6rem;margin-bottom:.9rem;font-size:.9rem;color:var(--text2);line-height:1.6}
.passos li::before{content:counter(p);position:absolute;left:0;top:0;width:1.85rem;height:1.85rem;border-radius:50%;background:var(--orange);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif}
.passos li strong{color:var(--navy)}

/* ═══ RODAPÉ ═══ */
footer{background:var(--navy2);color:rgba(255,255,255,.7);text-align:center;padding:1.4rem 1rem;font-size:.8rem;margin-top:2rem;line-height:1.7}
footer strong{color:var(--orange2)}
footer .foot-lema{font-family:Georgia,serif;font-style:italic;color:var(--orange2);margin-top:.5rem;display:block}
footer a{color:rgba(255,255,255,.85)}

/* ═══ GRID DE UNIDADES ═══ */
.unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.55rem;margin-bottom:1rem}
.unit-card{border-radius:var(--radius-sm);padding:.7rem .5rem;text-align:center;font-size:.8rem;border:2px solid transparent;transition:.2s;min-width:0}
.unit-card.pago{background:var(--green-bg);border-color:#A8D5BA;color:var(--green)}
.unit-card.pago-enc{background:#FFF8E1;border-color:#F4D03F;color:#7D6608}
.unit-card.isento{background:var(--blue-bg);border-color:#90CAF9;color:var(--blue)}
.unit-card.inad{background:var(--red-bg);border-color:#EF9A9A;color:var(--red)}
.unit-card.antecip{background:var(--cian-bg);border-color:#80DEEA;color:var(--cian)}
.unit-card.acordo{background:#F3E5F5;border-color:#CE93D8;color:#6A1B9A}
.unit-card.parcial{background:var(--yellow-bg);border-color:#F4D03F;color:var(--yellow)}
.unit-card[hidden]{display:none}
.unit-num{font-size:1rem;font-weight:700;display:block;margin-bottom:.15rem;line-height:1.15}
.unit-status{font-size:.66rem;font-weight:700;text-transform:uppercase;display:block;line-height:1.25}
.unit-val{font-size:.72rem;margin-top:.15rem;opacity:.85;display:block;line-height:1.2}
.filtros{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;align-items:center}
.filtros strong{font-size:.82rem;color:var(--text2)}
.filtros .badge{cursor:pointer;border:1.5px solid transparent;font-family:inherit}
.filtros .badge:hover{filter:brightness(.95)}
.filtros .badge.sel{border-color:var(--navy);box-shadow:0 0 0 2px rgba(44,74,94,.14)}
.badge.pago{background:var(--green-bg);color:var(--green)}
.badge.pago-enc{background:#FFF8E1;color:#8B6914}
.badge.isento{background:var(--blue-bg);color:var(--blue)}
.badge.inad{background:var(--red-bg);color:var(--red)}
.badge.antecip{background:var(--cian-bg);color:var(--cian)}
.badge.acordo{background:#F3E5F5;color:#6A1B9A}
.badge.parcial{background:var(--yellow-bg);color:var(--yellow)}

/* ═══ CARTÕES DE DÍVIDA ═══ */
.divida-card{border-radius:var(--radius-sm);padding:1rem 1.2rem;background:var(--white);border-left:4px solid var(--orange);margin-bottom:.75rem;box-shadow:var(--shadow);min-width:0}
.divida-name{font-weight:700;color:var(--navy);font-size:.95rem;margin-bottom:.4rem;line-height:1.35}
.divida-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.5rem 0}
.divida-item label{font-size:.68rem;text-transform:uppercase;color:var(--text3);letter-spacing:.04em;display:block;line-height:1.3}
.divida-item span{font-size:.9rem;font-weight:700;color:var(--navy);word-break:break-word}
.progress-bar{height:6px;background:var(--bg2);border-radius:3px;margin-top:.5rem;overflow:hidden}
.progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--orange),var(--green));transition:width .8s ease}

/* ═══ CARTÕES DE OBRA ═══ */
.obra-card{background:var(--white);border-radius:var(--radius);padding:1.2rem 1.4rem;box-shadow:var(--shadow);margin-bottom:1rem;border-top:4px solid var(--navy);min-width:0}
.obra-tag{display:inline-block;background:var(--orange3);color:var(--orange);padding:.2rem .7rem;border-radius:20px;font-size:.72rem;font-weight:700;margin-bottom:.6rem}
.obra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.75rem 0}
.obra-stat label{font-size:.68rem;text-transform:uppercase;color:var(--text3);letter-spacing:.04em;display:block;line-height:1.3}
.obra-stat span{font-size:1rem;font-weight:700;color:var(--navy);word-break:break-word}

/* ═══ LINHA DO TEMPO ═══ */
.timeline{position:relative;padding-left:1.9rem}
.timeline::before{content:'';position:absolute;left:.45rem;top:0;bottom:0;width:2px;background:var(--bg2)}
.tl-item{position:relative;margin-bottom:1.15rem}
.tl-dot{position:absolute;left:-1.55rem;top:.3rem;width:13px;height:13px;border-radius:50%;background:var(--orange);border:3px solid var(--white);box-shadow:0 0 0 2px var(--orange)}
.tl-date{font-size:.73rem;color:var(--text3);font-weight:700;margin-bottom:.15rem;text-transform:uppercase;letter-spacing:.04em}
.tl-text{font-size:.87rem;color:var(--text);line-height:1.6}

/* ═══ FUNDO DE RESERVA — CDBs ═══ */
.cdb-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.cdb-item{background:rgba(255,255,255,.12);border-radius:var(--radius-sm);padding:.6rem .8rem;flex:1 1 130px;min-width:0}
.cdb-label{font-size:.68rem;opacity:.75;text-transform:uppercase;letter-spacing:.04em;line-height:1.3}
.cdb-val{font-size:.92rem;font-weight:700;margin-top:.15rem}

/* ═══ RESPONSIVO ═══ */
@media(max-width:700px){
  .chart-row{grid-template-columns:minmax(0,1fr)}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ader-nums{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .hdr-top{flex-wrap:wrap;gap:.5rem .7rem;padding:.6rem .85rem}
  .hdr-logo{width:38px;height:38px;border-width:2px}
  .hdr-info{flex:1 1 auto;min-width:0}
  .hdr-info h1{font-size:.9rem;line-height:1.15}
  .hdr-info p{font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.6}
  .hdr-badge{display:none}
  .menu-btn{width:44px;height:44px;font-size:1.35rem}
  .nav-tab{padding:.55rem .8rem;font-size:.72rem}
  .hint-bar{display:none}
  main{padding:1rem .7rem 2.5rem}
  .card{padding:1rem}
  .card-grid{gap:.65rem;margin-bottom:1.1rem}
  .metric-card{padding:.85rem .9rem}
  .metric-val{font-size:1.25rem}
  .metric-label{font-size:.67rem}
  .sec-title{font-size:1.06rem;margin-bottom:1rem}
  .chart-wrap{height:300px}
  .chart-wrap-sm{height:250px}
  .tbl{font-size:.78rem}
  .tbl th,.tbl td{padding:.45rem .5rem}
  .mes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dl-btn{width:100%;justify-content:center}
  .hero{padding:1.25rem 1.1rem}
  .hero h2{font-size:1.15rem}
  .fr-val{font-size:1.8rem}
  .unit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
  .unit-card{padding:.6rem .3rem;font-size:.78rem}
  .unit-num{font-size:1rem}
  .unit-status{font-size:.68rem}
  .unit-val{font-size:.72rem}
  .filtros{gap:.4rem}
  .filtros .badge{font-size:.75rem;padding:.55rem .8rem;min-height:40px;line-height:1.2}
  .filtros strong{flex:1 1 100%;margin-bottom:.15rem;font-size:.85rem}
  .divida-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .divida-card{padding:.9rem 1rem}
  .divida-item label{font-size:.7rem}
  .divida-item span{font-size:.92rem}
  .obra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .obra-card{padding:1rem}
  .obra-stat label{font-size:.7rem}
  .cdb-item{flex:1 1 calc(50% - .3rem)}
  .cdb-label{font-size:.72rem}
  .timeline{padding-left:1.6rem}
  .tl-dot{left:-1.35rem}
  .tl-date{font-size:.76rem}
  .tl-text{font-size:.9rem}
  .tbl-wrap{border:1px solid var(--bg2);border-radius:var(--radius-sm)}
  .tbl a{display:inline-block;padding:.45rem .3rem;font-weight:700}
  footer a{display:inline-block;padding:.3rem 0}
}
@media(max-width:390px){
  .card-grid{grid-template-columns:minmax(0,1fr)}
  .ader-nums{grid-template-columns:minmax(0,1fr)}
  .ader-nums div{display:flex;justify-content:space-between;gap:.5rem}
  .unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .unit-status{font-size:.7rem}
  .divida-grid,.obra-grid{grid-template-columns:minmax(0,1fr)}
  .divida-item,.obra-stat{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
  .cdb-item{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@media print{
  #gate,#header,#drawer,#drawer-overlay,.dl-row,.menu-btn{display:none!important}
  body{background:#fff}
  .card,.metric-card{box-shadow:none;border:1px solid #ccc}
}

/* ═══ BARRA DE SESSÃO (acesso registrado) ═══ */
#barra-acesso{
  background:var(--green-bg);border-bottom:2px solid #A8D5BA;color:var(--green);
  display:flex;align-items:center;gap:.55rem;padding:.5rem 1.5rem;font-size:.83rem;
  flex-wrap:wrap;line-height:1.4
}
#barra-acesso .ba-ic{font-size:1rem;flex-shrink:0}
#barra-acesso .ba-txt{flex:1;min-width:0;word-break:break-word}
#barra-acesso .ba-txt strong{font-weight:700}
#barra-acesso .ba-alerta{
  background:var(--yellow-bg);color:var(--yellow);border:1px solid #F4D03F;
  border-radius:20px;padding:.1rem .6rem;font-size:.72rem;font-weight:700;white-space:nowrap
}
#barra-acesso button{
  background:none;border:1.5px solid var(--green);color:var(--green);border-radius:20px;
  padding:.28rem .95rem;font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit;
  flex-shrink:0;min-height:34px
}
#barra-acesso button:hover{background:var(--green);color:#fff}
@media(max-width:640px){
  #barra-acesso{padding:.5rem .85rem;font-size:.78rem;gap:.45rem}
  #barra-acesso .ba-txt{flex:1 1 100%;order:2}
  #barra-acesso button{order:3;margin-left:auto;min-height:38px;padding:.35rem 1.1rem}
  #barra-acesso .ba-ic{order:1}
}
@media print{#barra-acesso{display:none!important}}
