/* Isis — Controle Financeiro Inteligente */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#080c10;--s1:#0d1318;--s2:#111920;--s3:#162028;--s4:#1c2830;
  --bd:#1e2e38;--bd2:#253540;--mu:#3a5262;--mu2:#527085;
  --tx:#dde8ed;--tx2:#8aafc0;--tx3:#4d7a94;
  --teal:#2dd4bf;--teal-d:rgba(45,212,191,.12);--teal-g:rgba(45,212,191,.22);
  --amber:#f59e0b;--amber-d:rgba(245,158,11,.12);
  --rose:#fb7185;--rose-d:rgba(251,113,133,.12);
  --sky:#38bdf8;--sky-d:rgba(56,189,248,.12);
  --violet:#a78bfa;--violet-d:rgba(167,139,250,.12);
  --em:#34d399;--em-d:rgba(52,211,153,.12);
  --r:10px;--r2:14px;--r3:18px;
}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;overflow-x:hidden}
::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:2px}
.app{display:flex;height:100vh;overflow:hidden}

/* SIDEBAR */
.sb{width:228px;flex-shrink:0;background:var(--s1);border-right:1px solid var(--bd);display:flex;flex-direction:column}
.sb-top{padding:22px 18px 16px;border-bottom:1px solid var(--bd)}
.logo{font-family:'Fraunces',serif;font-size:28px;font-weight:700;letter-spacing:-1px;line-height:1;display:flex;align-items:baseline;gap:1px}
.logo-c{color:var(--teal)}.logo-rest{color:var(--tx)}
.logo-sub{font-size:9px;color:var(--tx3);font-family:'JetBrains Mono',monospace;letter-spacing:2px;text-transform:uppercase;margin-top:4px}
.sb-nav{flex:1;padding:10px 8px;display:flex;flex-direction:column;gap:1px}
.ni{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:var(--r);cursor:pointer;color:var(--tx3);font-size:12.5px;font-weight:500;border:1px solid transparent;transition:all .15s;user-select:none}
.ni:hover{background:var(--s2);color:var(--tx2)}.ni.on{background:var(--s3);color:var(--tx);border-color:var(--bd)}
.ni-i{width:17px;text-align:center;font-size:14px;flex-shrink:0}
.ni-b{margin-left:auto;background:var(--rose);color:#fff;font-size:9px;font-weight:700;padding:2px 5px;border-radius:10px;font-family:'JetBrains Mono',monospace}
.ni-sep{height:1px;background:var(--bd);margin:5px 0}
.ni.isis{color:var(--teal);border-color:var(--teal-d);background:var(--teal-d);margin-top:3px}
.ni.isis:hover,.ni.isis.on{background:rgba(45,212,191,.18);border-color:rgba(45,212,191,.35)}
.sb-bot{padding:10px 8px;border-top:1px solid var(--bd)}
.msel{display:flex;align-items:center;gap:6px;background:var(--s2);border:2px solid var(--teal);border-radius:var(--r);padding:8px 10px;box-shadow:0 0 0 1px rgba(45,212,191,.15)}
.msel:focus-within{border-color:var(--teal);box-shadow:0 0 12px rgba(45,212,191,.25)}
.msel select{background:var(--s3);border:none;color:var(--tx);font-size:12px;font-weight:500;font-family:'JetBrains Mono',monospace;cursor:pointer;outline:none;flex:1;padding:2px 4px;border-radius:4px;min-width:100px}
.msel select option{background:var(--s1);color:var(--tx);padding:6px}
.msel select option:checked,.msel select option:hover{background:var(--teal-d);color:var(--teal);font-weight:600}
.msel select:focus{background:var(--s2);color:var(--teal)}

/* CONTENT */
.ct{flex:1;overflow-y:auto;display:flex;flex-direction:column}
.pg{display:none;flex:1;padding:22px;animation:pgI .2s ease}
.pg.on{display:block}
@keyframes pgI{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.ph{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}
.pt{font-family:'Fraunces',serif;font-size:24px;font-weight:500;color:var(--tx);line-height:1}
.ps{font-size:11px;color:var(--tx3);margin-top:4px;font-family:'JetBrains Mono',monospace}

/* CARD */
.card{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r3);padding:16px}
.card-mb{margin-bottom:13px}
.ch{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.cl{font-size:9px;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:1.5px;color:var(--tx3)}

/* KPI */
.kg{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:14px}
.kg-sm{grid-template-columns:repeat(6,1fr);margin-bottom:0}
@media(max-width:1100px){.kg,.kg-sm{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.kg,.kg-sm{grid-template-columns:repeat(2,1fr)}}
.kpi-sm .kv2{font-size:16px}
.kpi-sm .kbar{display:none}
.kpi{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);padding:13px 14px;transition:border-color .2s,transform .15s;position:relative;overflow:hidden}
.kpi:hover{border-color:var(--bd2);transform:translateY(-1px)}
.kpi::after{content:'';position:absolute;top:0;left:0;right:0;height:1px}
.kpi.kt::after{background:var(--teal)}.kpi.ka::after{background:var(--amber)}.kpi.kr::after{background:var(--rose)}.kpi.ks::after{background:var(--sky)}.kpi.ke::after{background:var(--em)}.kpi.kv::after{background:var(--violet)}
.kl{font-size:9px;color:var(--tx3);font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:7px}
.kv2{font-family:'Fraunces',serif;font-size:20px;font-weight:500;line-height:1;color:var(--tx)}
.kv2.teal{color:var(--teal)}.kv2.amber{color:var(--amber)}.kv2.rose{color:var(--rose)}.kv2.sky{color:var(--sky)}.kv2.em{color:var(--em)}.kv2.violet{color:var(--violet)}
.km{font-size:10px;color:var(--tx3);margin-top:4px}
.kbar{height:2px;background:var(--s3);border-radius:1px;margin-top:9px;overflow:hidden}
.kbf{height:100%;border-radius:1px;transition:width .8s ease}
.kpi:hover{border-color:rgba(45,212,191,.3);box-shadow:0 4px 12px rgba(0,0,0,.2)}

/* DASH HERO */
.dash-hero{background:linear-gradient(135deg,var(--s1) 0%,var(--s2) 100%);border:1px solid rgba(45,212,191,.2);border-radius:var(--r3);padding:24px 28px;margin-bottom:18px;position:relative;overflow:hidden}
.dash-hero::before{content:'';position:absolute;top:0;right:0;width:200px;height:100%;background:radial-gradient(ellipse at right,rgba(45,212,191,.08) 0%,transparent 70%);pointer-events:none}
.dash-hero-label{font-size:10px;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:1.5px;color:var(--tx3);margin-bottom:6px}
.dash-hero-val{font-family:'Fraunces',serif;font-size:36px;font-weight:600;line-height:1;letter-spacing:-1px}
.dash-hero-val.positive{color:var(--em)}
.dash-hero-val.negative{color:var(--rose)}
.dash-hero-sub{font-size:12px;color:var(--tx3);margin-top:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* CHART CONTAINERS */
.chart-wrap{position:relative;height:220px;width:100%}
.card-chart .chart-wrap{min-height:200px}
@media(max-width:640px){.chart-wrap{height:200px}}

/* INDICADORES GRID (gauges) */
.indicadores-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:0}
@media(max-width:1100px){.indicadores-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.indicadores-grid{grid-template-columns:repeat(2,1fr)}}
.ind-gauge{display:flex;flex-direction:column;align-items:center;padding:14px;background:var(--s2);border:1px solid var(--bd);border-radius:var(--r2);transition:all .2s}
.ind-gauge:hover{border-color:var(--bd2);transform:translateY(-1px)}
.ind-gauge canvas{max-width:80px;max-height:80px}
.ind-gauge-lbl{font-size:9px;color:var(--tx3);font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;text-align:center;line-height:1.3}
.ind-gauge-val{font-family:'Fraunces',serif;font-size:15px;font-weight:500;margin-top:4px;text-align:center}
.ind-gauge-desc{font-size:9px;color:var(--tx3);margin-top:4px;text-align:center}

/* CARD UPCOMING */
.card-upcoming .up-row{border-radius:8px;padding:10px 12px;margin-bottom:4px;transition:background .15s}
.card-upcoming .up-row:hover{background:var(--s2)}
.card-upcoming .up-row:last-child{margin-bottom:0}
.up-card{border:1px solid transparent;border-radius:8px}
.up-card:hover{border-color:var(--bd2)}

/* CAL LEGEND */
.cal-legend{display:flex;gap:10px;margin-top:7px;font-size:9px;color:var(--tx3);flex-wrap:wrap}

/* GRIDS */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:13px}.g21{display:grid;grid-template-columns:2fr 1fr;gap:13px}.gmb{margin-bottom:13px}

/* BTNS */
.btn{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:var(--r);border:1px solid transparent;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:500;transition:all .14s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-teal{background:var(--teal);color:#051a18;border-color:var(--teal);font-weight:600}.btn-teal:hover{background:#25c4ab}
.btn-ghost{background:var(--s2);color:var(--tx2);border-color:var(--bd)}.btn-ghost:hover{border-color:var(--bd2);color:var(--tx)}
.btn-danger{background:var(--rose-d);color:var(--rose);border-color:rgba(251,113,133,.25)}.btn-danger:hover{background:rgba(251,113,133,.2)}
.btn-ok{background:var(--em-d);color:var(--em);border-color:rgba(52,211,153,.25)}.btn-ok:hover{background:rgba(52,211,153,.2)}
.btn-amber{background:var(--amber-d);color:var(--amber);border-color:rgba(245,158,11,.25)}.btn-amber:hover{background:rgba(245,158,11,.2)}
.btn-sm{padding:5px 10px;font-size:11px}.btn-xs{padding:3px 8px;font-size:10px;border-radius:6px}.btn-ico{padding:5px;width:27px;height:27px;justify-content:center;border-radius:7px}

/* BADGES */
.bdg{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:20px;font-size:9px;font-weight:700;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.5px}
.bdg::before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.7}
.b-paid{background:var(--em-d);color:var(--em)}.b-pending{background:var(--amber-d);color:var(--amber)}.b-overdue{background:var(--rose-d);color:var(--rose)}.b-income{background:var(--teal-d);color:var(--teal)}.b-eco{background:var(--em-d);color:var(--em)}.b-extra{background:var(--rose-d);color:var(--rose)}.b-exact{background:var(--teal-d);color:var(--teal)}

/* TABLE */
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse}
thead th{text-align:left;padding:8px 11px;font-size:9px;color:var(--tx3);font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:1.2px;border-bottom:1px solid var(--bd);white-space:nowrap}
tbody tr{border-bottom:1px solid rgba(30,46,56,.7);transition:background .1s}
tbody tr:hover{background:var(--s2)}
tbody td{padding:9px 11px;font-size:12px}
.mono{font-family:'JetBrains Mono',monospace}

/* CAT CHIP */
.cc{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:5px;font-size:10px;background:var(--s3);color:var(--tx2);border:1px solid var(--bd)}
.cc .dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}

/* PROGRESS */
.prog{margin-bottom:9px}
.pr{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.pn{font-size:11px;color:var(--tx2);display:flex;align-items:center;gap:5px}
.pv{font-size:10px;font-family:'JetBrains Mono',monospace;color:var(--tx3)}
.ptrack{height:3px;background:var(--s4);border-radius:2px;overflow:hidden}
.pfill{height:100%;border-radius:2px;transition:width .7s cubic-bezier(.4,0,.2,1)}

/* INST VIZ */
.iv{display:flex;gap:2px;margin-top:2px}
.ip{height:3px;width:7px;border-radius:1px;background:var(--s4)}
.ip.done{background:var(--teal)}.ip.now{background:var(--amber)}.ip.fut{background:var(--s4)}

/* FILTERS */
.fr{display:flex;gap:5px;margin-bottom:13px;flex-wrap:wrap;align-items:center}
.cf{padding:4px 11px;border-radius:20px;border:1px solid var(--bd);background:transparent;color:var(--tx3);font-size:11px;font-family:'Plus Jakarta Sans',sans-serif;cursor:pointer;transition:all .12s}
.cf.on,.cf:hover{background:var(--s3);color:var(--tx);border-color:var(--bd2)}
.si{flex:1;min-width:160px;background:var(--s2);border:1px solid var(--bd);border-radius:var(--r);padding:5px 10px;color:var(--tx);font-size:12px;font-family:'Plus Jakarta Sans',sans-serif;outline:none;transition:border-color .2s}
.si:focus{border-color:var(--teal)}.si::placeholder{color:var(--tx3)}

/* FORM */
.fg{margin-bottom:11px}.fl{display:block;font-size:9px;color:var(--tx3);font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}
.fc{width:100%;background:var(--s2);border:1px solid var(--bd);border-radius:var(--r);padding:8px 10px;color:var(--tx);font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;outline:none;transition:border-color .2s;appearance:none}
.fc:focus{border-color:var(--teal)}.fc::placeholder{color:var(--tx3)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:9px}.frow3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
.ck{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12px;color:var(--tx2)}
input[type=checkbox]{accent-color:var(--teal);width:13px;height:13px;cursor:pointer}

/* MODAL */
.ov{display:none;position:fixed;inset:0;background:rgba(4,8,12,.82);backdrop-filter:blur(8px);z-index:500;align-items:center;justify-content:center}
.ov.on{display:flex}
.modal{background:var(--s1);border:1px solid var(--bd2);border-radius:var(--r3);padding:22px;width:540px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 32px 80px rgba(0,0,0,.7);animation:mI .2s cubic-bezier(.2,.8,.4,1)}
@keyframes mI{from{opacity:0;transform:scale(.95) translateY(10px)}}
.mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.mt2{font-family:'Fraunces',serif;font-size:17px;font-weight:500}
.mx{background:var(--s2);border:1px solid var(--bd);border-radius:6px;color:var(--tx2);cursor:pointer;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .14s}
.mx:hover{color:var(--tx);border-color:var(--bd2)}
.mf{display:flex;gap:7px;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid var(--bd)}

/* TOAST */
.toast{position:fixed;bottom:18px;right:18px;z-index:1000;background:var(--s2);border:1px solid var(--bd2);border-radius:var(--r2);padding:10px 15px;font-size:12px;display:none;gap:6px;align-items:center;animation:tI .2s ease;box-shadow:0 8px 32px rgba(0,0,0,.5);max-width:300px}
.toast.on{display:flex}
.toast.ok{border-color:rgba(45,212,191,.4);color:var(--teal)}.toast.err{border-color:rgba(251,113,133,.4);color:var(--rose)}.toast.info{border-color:rgba(56,189,248,.4);color:var(--sky)}.toast.warn{border-color:rgba(245,158,11,.4);color:var(--amber)}
@keyframes tI{from{opacity:0;transform:translateY(7px)}}

/* CALENDAR */
.cal-dh{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:3px}
.cal-dh div{text-align:center;font-size:8px;color:var(--tx3);font-family:'JetBrains Mono',monospace;padding:2px}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cc2{aspect-ratio:1;border-radius:5px;background:var(--s3);border:1px solid transparent;font-size:9px;color:var(--tx3);font-family:'JetBrains Mono',monospace;cursor:pointer;transition:all .1s;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:3px;min-height:28px;position:relative}
.cc2.emp{background:transparent;cursor:default}.cc2:not(.emp):hover{border-color:var(--bd2);background:var(--s4)}
.cc2.hp{border-color:var(--bd)}.cc2.ov2{border-color:rgba(251,113,133,.5);background:rgba(251,113,133,.06);color:var(--rose)}.cc2.ap{border-color:rgba(45,212,191,.25);background:rgba(45,212,191,.04);color:var(--teal)}.cc2.tod{border-color:var(--sky)!important}
.cpips{display:flex;gap:1px;position:absolute;bottom:2px;left:50%;transform:translateX(-50%);flex-wrap:wrap;justify-content:center;max-width:90%}
.cpip{width:3px;height:3px;border-radius:50%}

/* DAYS CHIP */
.dc{font-size:9px;font-family:'JetBrains Mono',monospace;padding:2px 5px;border-radius:3px}
.dok{background:var(--teal-d);color:var(--teal)}.dwarn{background:var(--amber-d);color:var(--amber)}.dlate{background:var(--rose-d);color:var(--rose)}.dtod{background:var(--sky-d);color:var(--sky)}

/* BAR CHART */
.bc{display:flex;align-items:flex-end;gap:4px;height:85px;padding-top:6px}
.bc-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}
.bc-r{width:100%;border-radius:3px 3px 0 0;transition:height .6s cubic-bezier(.4,0,.2,1);cursor:pointer;min-height:3px}.bc-r:hover{opacity:.8;filter:brightness(1.1)}
.bc-l{font-size:8px;color:var(--tx3);font-family:'JetBrains Mono',monospace}.bc-v{font-size:7px;color:var(--tx3)}

/* FLUX */
.fc3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:13px}
.fcard{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);padding:14px;text-align:center}
.fc-l{font-size:9px;color:var(--tx3);font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:5px}
.fc-v{font-family:'Fraunces',serif;font-size:21px;font-weight:500}

/* AI PAGE */
#page-ia{display:none;flex-direction:column;padding:0;height:100vh;overflow:hidden}
#page-ia.on{display:flex}
.ai-top{padding:16px 22px 13px;border-bottom:1px solid var(--bd);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}
.ai-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 7px var(--teal-g);animation:ap 2s infinite}
@keyframes ap{0%,100%{opacity:1}50%{opacity:.3}}
.ai-msgs{flex:1;overflow-y:auto;padding:16px 22px;display:flex;flex-direction:column;gap:11px}
.mw{display:flex;gap:8px}.mw.usr{flex-direction:row-reverse}
.mav{width:25px;height:25px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px}
.av-ai{background:var(--teal-d);border:1px solid rgba(45,212,191,.2);color:var(--teal);font-size:13px}.av-usr{background:var(--s3);border:1px solid var(--bd);color:var(--tx2)}
.mb{max-width:72%;padding:10px 13px;border-radius:11px;font-size:13px;line-height:1.65}
.bai{background:var(--s2);border:1px solid var(--bd);border-top-left-radius:3px;color:var(--tx)}
.busr{background:var(--s3);border:1px solid var(--bd2);border-top-right-radius:3px;color:var(--tx2)}
.acard{margin-top:8px;background:var(--s3);border:1px solid var(--bd2);border-radius:9px;padding:11px}
.ac-t{font-size:9px;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:7px;display:flex;align-items:center;gap:5px}
.ac-t::before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}
.tdots{display:flex;gap:4px;padding:4px 0}
.tdots span{width:6px;height:6px;border-radius:50%;background:var(--teal);animation:td .9s infinite;opacity:.4}
.tdots span:nth-child(2){animation-delay:.18s}.tdots span:nth-child(3){animation-delay:.36s}
@keyframes td{0%,80%,100%{transform:scale(.6);opacity:.3}40%{transform:scale(1);opacity:1}}
.ai-bot{padding:12px 22px 16px;border-top:1px solid var(--bd);flex-shrink:0}
.aiQ{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}
.qc{padding:5px 11px;border-radius:20px;border:1px solid var(--bd);background:var(--s2);color:var(--tx3);font-size:11px;cursor:pointer;transition:all .12s;font-family:'Plus Jakarta Sans',sans-serif}
.qc:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-d)}
.ai-row{display:flex;gap:8px;align-items:flex-end}
.ai-attach{width:38px;height:42px;border-radius:10px;background:var(--s2);border:1px solid var(--bd2);color:var(--tx3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;transition:all .14s}
.ai-attach:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-d)}
.ai-inp{flex:1;background:var(--s2);border:1px solid var(--bd2);border-radius:11px;padding:10px 13px;color:var(--tx);font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;outline:none;resize:none;transition:border-color .2s;min-height:42px;max-height:120px}
.ai-inp:focus{border-color:var(--teal)}.ai-inp::placeholder{color:var(--tx3)}
.ai-send{width:42px;height:42px;border-radius:10px;background:var(--teal);border:none;color:#051a18;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:all .14s;flex-shrink:0}
.ai-send:hover{background:#25c4ab}.ai-send:active{transform:scale(.93)}
.ai-attach-preview{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 0;min-height:0}
.ai-attach-preview:empty{display:none}
.ai-ap-item{position:relative;width:56px;height:56px;border-radius:8px;overflow:hidden;background:var(--s2);border:1px solid var(--bd2)}
.ai-ap-item img{width:100%;height:100%;object-fit:cover}
.ai-ap-item .ap-rm{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;border:none;cursor:pointer;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center}
.ai-ap-item .ap-rm:hover{background:var(--red)}
.ai-ap-item.pdf{display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--tx3)}

/* EMPTY */
.empty{text-align:center;padding:28px;color:var(--tx3)}.ei{font-size:24px;margin-bottom:6px;opacity:.5}.et{font-size:12px}

/* INST TL */
.inst-tl{display:flex;gap:2px;margin-top:3px}
.it{height:3px;width:8px;border-radius:1px;max-width:8px;flex:0 0 8px}
.it.done{background:var(--teal)}.it.now{background:var(--amber)}.it.fut{background:var(--s4)}

.up-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--bd)}
.inc-row{display:flex;justify-content:space-between;align-items:center;padding:8px 2px;border-bottom:1px solid var(--bd)}
.divider{height:1px;background:var(--bd);margin:12px 0}

/* RESPONSIVE */
@media(max-width:900px){.kg{grid-template-columns:repeat(3,1fr)}.g2,.g21,.fc3{grid-template-columns:1fr}.gmb{margin-bottom:10px}.dash-hero-val{font-size:28px}}
@media(max-width:640px){.hamb{display:flex;position:fixed;top:12px;left:12px;z-index:401;width:40px;height:40px;align-items:center;justify-content:center;background:var(--s2);border:1px solid var(--bd);border-radius:var(--r);cursor:pointer;color:var(--tx)}.sb{width:228px;position:fixed;left:0;top:0;height:100%;z-index:400;transform:translateX(-100%);transition:transform .25s}.sb.open{transform:translateX(0)}.sb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:399}.sb-overlay.on{display:block}.ni span:not(.ni-i):not(.ni-b){display:inline}.logo-sub,.logo-rest{display:block}.kg{grid-template-columns:repeat(2,1fr)}.pg{padding:12px;padding-top:56px}.ai-top,.ai-bot{padding-left:12px;padding-right:12px}.ai-msgs{padding:12px}.dash-hero{padding:18px 20px}.dash-hero-val{font-size:24px}.chart-wrap{height:180px}.indicadores-grid .ind-gauge canvas{max-width:60px;max-height:60px}}
.kpi{animation:ku .3s ease both}
.kpi:nth-child(1){animation-delay:.04s}.kpi:nth-child(2){animation-delay:.07s}.kpi:nth-child(3){animation-delay:.10s}
.kpi:nth-child(4){animation-delay:.13s}.kpi:nth-child(5){animation-delay:.16s}.kpi:nth-child(6){animation-delay:.19s}
@keyframes ku{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
