*{box-sizing:border-box;margin:0;padding:0}
:root{--pine:#0A1F4D;--orb:#0041D9;--orb-d:#0032A8;--orb-l:#EAF0FE;
 --amber:#2563EB;--amber-l:#EAF1FF;--amber-s:#7FB3FA;--paper:#F5F8FF;--card:#fff;
 --line:#E1E8F7;--slate:#5C6B8A;--ink:#0B1830;--red:#B42318;--red-l:#FEF3F2;
 --blue:#1F5F8B;--blue-l:#EAF2F8}
body{background:var(--paper);color:var(--ink);font:400 15px/1.55 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Archivo,sans-serif;letter-spacing:-.03em}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px 70px}
header{background:#fff;color:var(--ink);padding:20px 0;border-bottom:1px solid var(--line)}
header .wrap{padding-bottom:0}
.brand{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand img.logo-img{height:34px;width:auto;display:block}
.brand b{font:800 25px Archivo,sans-serif;letter-spacing:-.04em;color:var(--pine)}
.brand .dot{width:7px;height:7px;border-radius:50%;background:var(--orb)}
.brand span{font-size:13px;color:var(--slate);padding-left:14px;border-left:1px solid var(--line)}
header p{margin-top:7px;font-size:13.5px;color:var(--slate);max-width:70ch}
.navlinks{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.navlinks a,.navlinks button{padding:8px 14px;border-radius:8px;border:1px solid var(--line);
 background:#fff;color:var(--pine);font:600 12.5px Inter,sans-serif;text-decoration:none;cursor:pointer}
.navlinks a:hover,.navlinks button:hover{background:var(--orb-l);border-color:var(--orb)}
.navlinks .who{color:var(--slate);font-size:12px;align-self:center;margin-right:6px}
.grid{display:grid;grid-template-columns:360px 1fr;gap:22px;align-items:start;margin-top:24px}
@media(max-width:980px){.grid{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:16px}
.card>h3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--slate);padding:14px 17px;border-bottom:1px solid var(--line)}
.pad{padding:15px 17px 18px;display:grid;gap:12px}
label{display:block;font-size:11.5px;font-weight:600;color:var(--slate);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
input,select{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;font:500 14.5px "IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;color:var(--ink)}
select{font-family:Inter,sans-serif;font-size:14px}
input:focus,select:focus{outline:2px solid var(--orb);outline-offset:-1px;border-color:var(--orb)}
input[readonly]{background:#F5F7F5;color:var(--slate)}
input.auto{background:#F3F7FF;border-color:#C7D9FA}
input.bad{border-color:#E8A79F;background:#FFF9F8}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.lbl{display:flex;justify-content:space-between;align-items:baseline}
.chip{font:600 9.5px Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--orb-l);color:var(--orb-d);cursor:default}
.chip.edit{background:var(--amber-l);color:var(--amber);cursor:pointer}
.msg{font-size:11.5px;margin-top:5px;line-height:1.45;display:flex;gap:5px;align-items:flex-start}
.msg.ok{color:var(--orb-d)}.msg.warn{color:var(--red)}.msg.neutral{color:var(--slate)}
.msg b{font-weight:600}
.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg button{flex:1;padding:8px 6px;border:0;border-right:1px solid var(--line);background:#fff;font:600 12.5px Inter,sans-serif;color:var(--slate);cursor:pointer;transition:.12s}
.seg button:last-child{border-right:0}
.seg button:hover{background:#F0F4FF}
.seg button[aria-pressed=true]{background:var(--pine);color:#fff}
.seg.sm button{font-size:12px;padding:7px 4px}
fieldset{border:0;border-top:1px solid var(--line);padding-top:12px;margin-top:2px}
legend{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--slate)}
.serie{display:grid;grid-template-columns:62px 1fr 30px;gap:7px;align-items:end}
.serie .x{padding:9px 0;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--slate);cursor:pointer;font-size:15px;line-height:1}
.serie .x:hover{background:var(--red-l);color:var(--red);border-color:#E8A79F}
.add{padding:7px;border:1px dashed var(--line);border-radius:7px;background:#fff;color:var(--slate);font:600 12px Inter,sans-serif;cursor:pointer;width:100%}
.add:hover{border-color:var(--orb);color:var(--orb-d)}
button.go{width:100%;padding:12px;background:var(--orb);color:#fff;border:0;border-radius:8px;font:700 14px Archivo,sans-serif;cursor:pointer}
button.go:hover{background:var(--orb-d)}
button.go2{width:100%;padding:12px;background:#fff;color:var(--pine);border:1px solid var(--line);border-radius:8px;font:700 14px Archivo,sans-serif;cursor:pointer}
button.go2:hover{border-color:var(--pine)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:16px}
@media(max-width:820px){.kpis{grid-template-columns:1fr 1fr}}
.kpi{background:#fff;padding:14px 15px}
.kpi span{display:block;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--slate);margin-bottom:6px}
.kpi b{font:600 21px "IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;letter-spacing:-.03em;display:block}
.kpi em{font-style:normal;font-size:11.5px;color:var(--slate);display:block;margin-top:3px}
.kpi.ob{background:var(--amber-l)}.kpi.ob b{color:var(--amber)}
.kpi.hi{background:var(--orb-l)}.kpi.hi b{color:var(--orb-d)}
.kpi.bl{background:var(--blue-l)}.kpi.bl b{color:var(--blue)}
.chartbox{padding:16px 17px 18px}
.leg{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:var(--slate);margin-bottom:11px}
.leg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.leg i.ln{height:0;border-top:2px dashed var(--slate);border-radius:0;width:14px;vertical-align:3px}
svg{width:100%;display:block;overflow:visible}
.tip{position:fixed;pointer-events:none;background:var(--pine);color:#fff;padding:8px 10px;border-radius:7px;font:500 12px/1.55 "IBM Plex Mono",monospace;opacity:0;transition:opacity .1s;z-index:60;white-space:pre}
.ins{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
@media(max-width:820px){.ins{grid-template-columns:1fr}}
.ins>div{background:#fff;padding:14px 17px}
.ins h4{font:700 11px Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--slate);margin-bottom:6px}
.ins p{font-size:13.5px;line-height:1.55}
.ins .v{font:600 17px "IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;display:block;margin-bottom:3px}
.tabs{display:flex;gap:5px;margin:0 0 12px;flex-wrap:wrap}
.tab{padding:8px 14px;border:1px solid var(--line);background:#fff;border-radius:7px;font:600 13px Inter,sans-serif;color:var(--slate);cursor:pointer}
.tab[aria-selected=true]{background:var(--pine);color:#fff;border-color:var(--pine)}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{font:600 10.5px Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--slate);text-align:right;padding:10px 12px;border-bottom:1px solid var(--line);background:#FAFBFF;position:sticky;top:0}
th:first-child,td:first-child{text-align:left}
td{padding:8px 12px;border-bottom:1px solid #EEF2FA;text-align:right;font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;font-size:13px}
tbody tr:hover{background:#F8FAFF}
tr.mark td{background:var(--orb-l)!important}
tr.peak td{background:var(--amber-l)!important}
.scroll{max-height:420px;overflow:auto;border-radius:0 0 12px 12px}
.alert{padding:12px 15px;border-radius:9px;font-size:13.5px;margin-bottom:12px;line-height:1.5}
.alert.warn{background:var(--red-l);border:1px solid #FDA29B;color:#7A271A}
.alert.info{background:var(--amber-l);border:1px solid #BFD6FC;color:#143C8C}
.alert.ok{background:var(--orb-l);border:1px solid #A6E6C1;color:#08543A}
.alert b{font-weight:600}
details.reg{margin-top:6px}
details.reg summary{cursor:pointer;padding:14px 17px;font:700 11px Inter,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--slate)}
.ok2{color:var(--orb-d);font-weight:600}.fail{color:var(--red);font-weight:600}
footer{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--slate);line-height:1.65}
input.money{text-align:right}
.nivbox{background:var(--amber-l);border:1px solid #BFD6FC;border-radius:10px;padding:13px 14px}
.nivbox h5{font:700 12.5px Archivo,sans-serif;color:#143C8C;letter-spacing:-.02em;margin-bottom:5px}
.nivbox p{font-size:11.5px;line-height:1.45;color:#2A4FA0}
.nivbox select{border-color:#BFD6FC}
.nivbtn{padding:9px 16px;background:var(--amber);color:#fff;border:0;border-radius:8px;
 font:700 13px Archivo,sans-serif;cursor:pointer;white-space:nowrap}
.nivbtn:hover{filter:brightness(.93)}
.inccg{display:grid;grid-template-columns:52px repeat(12,1fr) 62px;gap:2px;font-size:11px}
.inccg>div{padding:4px 2px;text-align:center}
.inccg .h{font:600 9.5px Inter,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--slate)}
.inccg .y{font:600 11px "IBM Plex Mono",monospace;color:var(--slate);text-align:left;padding-left:4px}
.inccg input{padding:4px 2px;font-size:11px;text-align:center;border-radius:4px}
.inccg .md{background:var(--orb-l);border-radius:4px;font:600 11px "IBM Plex Mono",monospace;color:var(--orb-d)}
.inccg .ac{font:600 11px "IBM Plex Mono",monospace;color:var(--slate)}
.refbox{border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#FAFBFF}
.refhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.refhead b{font:700 11px Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--slate)}
.refhead .x{width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:6px;
 background:#fff;color:var(--slate);cursor:pointer;font-size:14px;line-height:1}
.refhead .x:hover{background:var(--red-l);color:var(--red);border-color:#E8A79F}
.refgrid{display:grid;grid-template-columns:50px 1fr 48px 48px;gap:6px}
.refgrid label{font-size:9.5px;letter-spacing:.03em}
.refgrid input{padding:7px 6px;font-size:12.5px}
.refm{font-size:11px;color:var(--slate);margin-top:7px;line-height:1.4}
tr.grp th{background:#EEF3FC;font-size:9.5px;letter-spacing:.1em;text-align:center;
 border-bottom:1px solid var(--line);padding:6px 12px;color:var(--pine)}
tr.grp th[colspan]{border-left:1px solid var(--line);border-right:1px solid var(--line)}
tr.ato td{background:#F9FAFF;font-weight:500}
tr.ato td:first-child{color:var(--amber);font-weight:600;text-transform:uppercase;font-size:11px}
tr.pos td{background:#F7FAFC}
tr.pos td:first-child{color:var(--blue);font-weight:600}
tr.sep td{background:var(--pine);color:#fff;font:600 10.5px Inter,sans-serif;
 text-transform:uppercase;letter-spacing:.08em;text-align:center;padding:6px}
tr.fold td{padding:0;background:#FAFBFF}
.foldbtn{width:100%;padding:9px 12px;border:0;background:transparent;text-align:left;
 font:600 12px Inter,sans-serif;color:var(--slate);cursor:pointer}
.foldbtn:hover{background:#F0F4FF;color:var(--pine)}
.expbtn{padding:7px 13px;border:1px solid var(--line);background:#fff;border-radius:7px;
 font:600 12.5px Inter,sans-serif;color:var(--slate);cursor:pointer;margin-left:auto}
.expbtn:hover{border-color:var(--pine);color:var(--pine)}
.etapas{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}
.et{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;border:1px solid var(--line);
 background:#fff;color:var(--slate);font:600 13px Inter,sans-serif;cursor:pointer;transition:.12s}
.et:hover{background:var(--orb-l);border-color:var(--orb)}
.et[aria-pressed=true]{background:var(--pine);color:#fff;border-color:var(--pine)}
.et i{width:19px;height:19px;border-radius:50%;background:var(--orb-l);color:var(--orb);
 font:700 11px Inter,sans-serif;display:grid;place-items:center;font-style:normal}
.et[aria-pressed=true] i{background:var(--orb);color:#fff}
.et small{display:block;font-weight:400;font-size:11px;opacity:.75;font-style:normal}
.etapas-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.nova{padding:9px 15px;border-radius:8px;border:1px solid var(--line);background:#fff;
 color:var(--pine);font:600 13px Inter,sans-serif;cursor:pointer;transition:.12s;margin-top:14px}
.nova:hover{background:var(--orb-l);border-color:var(--orb)}
.comp{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);margin:0}
@media(max-width:820px){.comp{grid-template-columns:1fr 1fr}}
.comp>div{background:#fff;padding:12px 15px}
.comp span{display:block;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin-bottom:4px}
.comp b{font:600 16px "IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
.comp .tt{background:var(--orb-l)}.comp .tt b{color:var(--orb-d)}
.vazio{padding:34px 26px;text-align:center;color:var(--slate)}
.vazio h4{font:700 16px Archivo,sans-serif;color:var(--pine);letter-spacing:-.02em;margin-bottom:6px}
.vazio p{font-size:13.5px;max-width:46ch;margin:0 auto;line-height:1.55}
.addgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.itgrid{display:grid;grid-template-columns:1fr 54px 52px;gap:6px}
.itgrid.una{grid-template-columns:1fr 52px}
.itgrid label{font-size:9.5px;letter-spacing:.03em}
.itgrid input,.itgrid select{padding:7px 6px;font-size:12.5px}
.ithead select{border:0;background:transparent;font:700 11px Inter,sans-serif;text-transform:uppercase;
 letter-spacing:.06em;color:var(--pine);padding:0;width:auto;cursor:pointer}
.cta{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:15px 17px;
 background:var(--amber-l);border:1px solid #BFD6FC;border-radius:12px;margin-top:16px;flex-wrap:wrap}
.cta p{font-size:13.5px;color:#143C8C;max-width:56ch}
.cta button{padding:10px 16px;background:var(--amber);color:#fff;border:0;border-radius:8px;
 font:700 13px Archivo,sans-serif;cursor:pointer;white-space:nowrap}
.cta button:hover{filter:brightness(.93)}
.pdf{padding:9px 14px;background:#fff;color:var(--pine);border:1px solid var(--line);border-radius:8px;
 font:600 13px Inter,sans-serif;cursor:pointer}
.pdf:hover{border-color:var(--pine)}
.phead{display:none}
@media print{
  @page{size:A4;margin:14mm 12mm}
  body{background:#fff;font-size:11px}
  header,.grid>div:first-child,.tabs,details.reg,.cta,.noprint,.tip{display:none!important}
  .grid{display:block;margin:0}
  .wrap{max-width:none;padding:0}
  .phead{display:block;border-bottom:2px solid var(--pine);padding-bottom:10px;margin-bottom:14px}
  .phead h2{font-size:17px;color:var(--pine)}
  .phead .id{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:9px;font-size:10.5px}
  .phead .id b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate)}
  .card{break-inside:avoid;box-shadow:none;margin-bottom:10px}
  .scroll{max-height:none;overflow:visible}
  .kpi b{font-size:16px}
  .chartbox{padding:10px}
  svg{max-height:150px}
  .printonly{display:block!important}
  .screenonly{display:none!important}
  footer{font-size:9px;margin-top:12px}
}
.printonly{display:none}

/* ── telas de conta / listagens / admin (novas) ── */
.authwrap{max-width:420px;margin:60px auto;padding:0 20px}
.authcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px}
.authcard h2{font-size:20px;margin-bottom:4px}
.authcard p.sub{font-size:13px;color:var(--slate);margin-bottom:18px}
.authcard .pad{padding:0;gap:14px}
.authfoot{margin-top:16px;font-size:13px;color:var(--slate);text-align:center}
.authfoot a{color:var(--orb-d);font-weight:600;text-decoration:none}
.pwdwrap{position:relative}
.pwdwrap input{padding-right:40px}
.pwdtoggle{position:absolute;right:2px;top:2px;bottom:2px;width:36px;border:0;background:transparent;
 color:var(--slate);cursor:pointer;display:grid;place-items:center;border-radius:6px}
.pwdtoggle:hover{color:var(--orb-d);background:var(--orb-l)}
.pwdtoggle svg{width:19px;height:19px}
.pwdtoggle svg[hidden]{display:none}
.err{background:var(--red-l);border:1px solid #FDA29B;color:#7A271A;padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:4px}
.simlist{display:grid;gap:12px}
.simcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:15px 17px}
.simcard .top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.simcard .top b{font:700 15px Archivo,sans-serif}
.simcard .top span{font-size:12px;color:var(--slate)}
.simcard .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
@media(max-width:700px){.simcard .grid4{grid-template-columns:1fr 1fr}}
.simcard .grid4 div span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin-bottom:3px}
.simcard .grid4 div b{font:600 14px "IBM Plex Mono",monospace}
.editlink{font:600 12.5px Inter,sans-serif;color:var(--orb-d);text-decoration:none}
.editlink:hover{text-decoration:underline}
.badge{display:inline-block;font:600 10px Inter,sans-serif;letter-spacing:.05em;text-transform:uppercase;
 padding:3px 8px;border-radius:5px;background:var(--orb-l);color:var(--orb-d)}
.empty{padding:40px 20px;text-align:center;color:var(--slate);font-size:14px}
