/* reset básico (no protótipo do Claude isso vinha do próprio artifact) */
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}

/* Layout: faixa navy da marca com abas em pílula; conteúdo em blocos brancos com cabeçalho colorido; estado em cores sólidas */
:root{
  --bg:#E9EEF5; --surface:#FFFFFF; --sunk:#F2F5F9; --line:#D6DEE9; --line2:#C3CEDD; --fg:#16203A; --muted:#5C6884;
  --navy:#1A2B5E; --navy-2:#2A3F80; --navy-50:#E1E8F4; --accent:#00AEEF; --accent-ink:#0277A8; --accent-tint:#DCF2FC;
  --ok:#1E8E5A; --ok-tint:#E1F4E9; --warn:#E09A12; --warn-ink:#7A4E00; --warn-tint:#FCF0D6; --bad:#D04A2B; --bad-ink:#8E2A14; --bad-tint:#FBE5DF;
  --avail:#C9E7F7; --shadow:0 1px 3px rgba(22,32,58,.08),0 4px 14px rgba(22,32,58,.06);
  --f-display:"Barlow Semi Condensed","Arial Narrow",system-ui,sans-serif;
  --f-body:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font:15px/1.5 var(--f-body)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--navy)}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:700;line-height:1.15;margin:0;text-wrap:balance;color:var(--navy)}
h2{font-size:1.55rem}
h3{font-size:1.12rem}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.muted{color:var(--muted)}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:.92em}
.small{font-size:.86rem}

/* menu lateral e estrutura */
.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
@media (max-width:1000px) and (min-width:701px){.shell{grid-template-columns:220px minmax(0,1fr)}}
.side{background:var(--navy);color:#fff;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding:18px 14px calc(16px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));scrollbar-width:thin;scrollbar-color:#34488A transparent}
.brand{display:flex;align-items:center;gap:11px;padding:0 6px}
.mark{width:36px;height:36px;border-radius:9px;background:var(--accent);color:var(--navy);display:grid;place-items:center;font:700 1.3rem var(--f-display);flex:none}
.brand b{font:700 1.2rem var(--f-display);color:#fff;display:block;line-height:1.1;letter-spacing:.01em}
.brand small{color:#AFC0E3;font-size:.78rem}
.snav{display:flex;flex-direction:column;gap:3px;flex:1}
.smod{display:flex;align-items:center;gap:11px;width:100%;border:0;background:none;color:#D5DEF3;padding:11px 12px;border-radius:9px;cursor:pointer;font-weight:700;font-size:.97rem;text-align:left}
.smod:hover{background:var(--navy-2);color:#fff}
.smod.on{background:#fff;color:var(--navy);box-shadow:inset 4px 0 0 var(--accent)}
.smod.on .sico{color:var(--accent-ink)}
.smod:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.sico{width:20px;height:20px;flex:none}
.sname{flex:1;min-width:0}
/* cabeçalho do módulo: faixa na cor do menu, com o nome do módulo e as guias */
.modbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--navy);color:#fff;display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap;min-height:64px;padding-block:10px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));border-left:1px solid #2A3F80;box-shadow:0 2px 10px rgba(22,32,58,.2)}
.modt{display:flex;align-items:center;gap:10px;font:700 1.3rem var(--f-display);color:#fff;letter-spacing:.01em}
.modt .sico{width:22px;height:22px;color:var(--accent)}
.mtabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;max-width:100%}
.mtabs::-webkit-scrollbar{display:none}
.mtab{border:0;background:none;padding:9px 16px;border-radius:8px;font-weight:700;color:#C7D3EE;cursor:pointer;white-space:nowrap;display:flex;gap:7px;align-items:center}
.mtab:hover{background:var(--navy-2);color:#fff}
.mtab.on{background:#fff;color:var(--navy)}
.mtab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.modbar .hamb{display:none}
.sfoot{display:flex;flex-direction:column;gap:8px;border-top:1px solid #34488A;padding:14px 6px 0}
.role{display:flex;flex-direction:column;gap:4px}
.role span{color:#AFC0E3;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.role select{width:100%;background:var(--navy-2);border:1px solid #42579A;color:#fff}
.role select option{background:#fff;color:var(--fg)}
.sfoot small{color:#8FA3D1;font-size:.74rem}
.badge{background:var(--accent);color:var(--navy);border-radius:999px;font-size:.72rem;padding:1px 7px;font-family:var(--f-mono);font-weight:700}
.mainc{min-width:0}
.scrim{display:none}
.hamb{border:0;background:var(--navy-2);width:40px;height:40px;border-radius:9px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:none}
.hamb span{display:block;width:18px;height:2px;border-radius:2px;background:#fff}
.hamb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:700px){
  .shell{grid-template-columns:1fr}
  .side{position:fixed;left:0;top:0;bottom:0;height:auto;width:min(84vw,290px);z-index:25;transform:translateX(-102%);transition:transform .2s ease;padding-top:calc(18px + env(safe-area-inset-top,0px));box-shadow:4px 0 24px rgba(10,16,34,.3)}
  .navopen .side{transform:none}
  .navopen .scrim{display:block;position:fixed;inset:0;background:rgba(16,24,48,.45);z-index:24}
  .modbar{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));border-left:0}
  .modbar .hamb{display:flex}
  .mtabs{width:100%}
}

main.wrap{padding-block:26px 56px;display:flex;flex-direction:column;gap:24px}
.sec{display:flex;flex-direction:column;gap:12px;min-width:0}
.sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.sechead>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow)}
.intro{color:var(--muted);max-width:68ch;margin:0;font-size:.93rem}

/* indicadores */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi{border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;color:#fff;box-shadow:var(--shadow);min-width:0}
.kpi span{font-size:.8rem;font-weight:700;opacity:.9;text-transform:uppercase;letter-spacing:.05em}
.kpi b{font:700 2.1rem var(--f-display);font-variant-numeric:tabular-nums;line-height:1.05}
.k-navy{background:var(--navy)}
.k-bad{background:var(--bad)}
.k-warn{background:var(--warn);color:#3A2600}
.k-acc{background:var(--accent);color:var(--navy)}

/* botões e campos */
.btn{border:1px solid var(--line2);background:var(--surface);border-radius:8px;padding:9px 15px;cursor:pointer;font-weight:700;color:var(--navy)}
.btn:hover{background:var(--navy-50);border-color:var(--navy-2)}
.btn.pri{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.pri:hover{background:var(--navy-2)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.btn.ok:hover{filter:brightness(.93)}
.btn.danger{color:#fff;background:var(--bad);border-color:var(--bad)}
.btn.danger:hover{filter:brightness(.93)}
.btn.ghost{border-color:transparent;background:none;color:var(--accent-ink);padding-inline:6px}
.btn.ghost:hover{background:var(--accent-tint)}
.btn:focus-visible,.tab:focus-visible,.day:focus-visible,.blk:focus-visible,.oscard:focus-visible,.alert:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
input,select,textarea{background:var(--surface);border:1px solid var(--line2);border-radius:8px;padding:9px 11px;min-width:0}
textarea{width:100%;min-height:72px;resize:vertical}
label.f{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:700;color:var(--muted);min-width:0}
label.f input,label.f select,label.f textarea{color:var(--fg);font-size:.95rem;font-weight:400}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}

.pill{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:3px 9px;font-size:.76rem;font-weight:700;white-space:nowrap}
.pill.ok{background:var(--ok);color:#fff}
.pill.warn{background:var(--warn);color:#3A2600}
.pill.bad{background:var(--bad);color:#fff}
.pill.mute{background:var(--navy-50);color:var(--navy)}
.pill.info{background:var(--accent-tint);color:var(--accent-ink)}
.pill.emg{background:var(--bad);color:#fff}

/* agenda */
.days{display:grid;grid-template-columns:auto repeat(7,1fr) auto;gap:8px;align-items:stretch}
.day{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;position:relative;min-width:0;box-shadow:var(--shadow)}
.day span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.day b{font:700 1.4rem var(--f-display);color:var(--navy)}
.day i{font-style:normal;font-size:.74rem;color:var(--muted)}
.day.today{border-color:var(--accent);border-width:2px}
.day.on{background:var(--navy);border-color:var(--navy)}
.day.on span,.day.on b,.day.on i{color:#fff}
.dot{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--warn)}
.nav{border:1px solid var(--line);background:var(--surface);border-radius:10px;cursor:pointer;padding:0 10px;font-size:1.15rem;color:var(--navy);box-shadow:var(--shadow)}
.tlwrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}
.tl{min-width:720px;display:grid;grid-template-columns:170px 1fr}
.tl .nm{padding:10px 14px;border-top:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;background:var(--sunk);border-right:1px solid var(--line)}
.tl .nm b{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--navy)}
.tl .nm small{color:var(--muted);font-size:.75rem}
.tl .nm.hd{background:var(--navy-50);color:var(--navy);font-weight:700}
.tl .nm.hd small{color:var(--navy);font-weight:700;font-size:.82rem}
.track{position:relative;border-top:1px solid var(--line);min-height:60px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100%/6.5 - 1px),var(--line) calc(100%/6.5 - 1px),var(--line) calc(100%/6.5));background-position:calc(100%/13 - 100%/6.5) 0}
.tl .hd{border-top:0;min-height:34px}
.tl .track.hd{background:var(--navy-50)}
.tick{position:absolute;top:9px;font-size:.72rem;color:var(--navy);font-weight:500;transform:translateX(-50%);font-family:var(--f-mono)}
.avail{position:absolute;top:8px;bottom:8px;background:var(--avail);border-radius:6px}
.blk{position:absolute;top:14px;bottom:14px;border-radius:6px;border:0;padding:0 9px;font-size:.78rem;font-weight:700;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;display:flex;align-items:center;gap:4px;box-shadow:0 1px 3px rgba(22,32,58,.2)}
.blk.st-aceita{background:var(--ok);color:#fff}
.blk.st-ofertada,.blk.st-reprog{background:var(--warn);color:#3A2600}
.blk.st-aberta{background:var(--bad);color:#fff}
.blk:hover{filter:brightness(1.07)}
.blk.emg b::after{content:" · urgente"}
.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem;color:var(--muted);font-weight:700}
.legend i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;vertical-align:-2px}

.alerts{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.alert{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:13px 15px;background:var(--warn-tint);border:1px solid #F0D49B;border-left:5px solid var(--warn);border-radius:10px;cursor:pointer;text-align:left;width:100%;font-weight:700;color:var(--warn-ink)}
.alert.bad{background:var(--bad-tint);border-color:#F1C2B6;border-left-color:var(--bad);color:var(--bad-ink)}
.alert.info{background:var(--accent-tint);border-color:#A9DDF4;border-left-color:var(--accent);color:var(--accent-ink)}
.alert:hover{filter:brightness(.97)}

/* ordens de serviço */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.oscard{background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--line2);border-radius:12px;padding:14px 16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:8px;min-width:0;box-shadow:var(--shadow)}
.oscard.s-ok{border-top-color:var(--ok)}
.oscard.s-warn{border-top-color:var(--warn)}
.oscard.s-bad{border-top-color:var(--bad)}
.oscard.s-mute{border-top-color:var(--line2);opacity:.75}
.oscard:hover{box-shadow:0 2px 6px rgba(22,32,58,.12),0 8px 22px rgba(22,32,58,.1)}
.oscard>b{font-size:1.02rem;color:var(--navy)}
.oc-h{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.num{font-family:var(--f-mono);font-size:.8rem;color:var(--muted);font-weight:500}
.oc-m{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}
.vchips{display:flex;gap:6px;flex-wrap:wrap}
.vchip{font-size:.76rem;font-weight:700;border-radius:6px;padding:3px 8px;background:var(--navy-50);color:var(--navy)}
.vchip.aceita{background:var(--ok-tint);color:var(--ok)}
.vchip.ofertada,.vchip.reprog{background:var(--warn-tint);color:var(--warn-ink)}
.vchip.aberta{background:var(--bad-tint);color:var(--bad-ink)}

/* janela */
.ov{position:fixed;inset:0;background:rgba(16,24,48,.45);z-index:20;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:max(24px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
.sheet{background:var(--bg);border-radius:14px;width:100%;max-width:720px;display:flex;flex-direction:column;gap:16px;padding:0 20px 22px;box-shadow:0 16px 48px rgba(16,24,48,.3);overflow:hidden}
.sheet-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;background:var(--navy);color:#fff;margin:0 -20px;padding:18px 20px}
.sheet-h h2{color:#fff}
.sheet-h .muted,.sheet-h .num{color:#AFC0E3}
.x{border:0;background:var(--navy-2);color:#fff;border-radius:8px;width:34px;height:34px;cursor:pointer;font-size:1rem;flex:none}
.x:hover{background:#3A51A0}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.kv div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;min-width:0}
.kv small{display:block;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.vaga{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 14px 13px;display:flex;flex-direction:column;gap:10px;overflow:hidden;box-shadow:var(--shadow)}
.vaga>.vh{margin:0 -14px;padding:10px 14px;background:var(--navy-50)}
.vaga.st-aceita>.vh{background:var(--ok-tint)}
.vaga.st-ofertada>.vh,.vaga.st-reprog>.vh{background:var(--warn-tint)}
.vaga.st-aberta>.vh{background:var(--bad-tint)}
.vh{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.hab{font-weight:700;color:var(--navy)}
.exec{display:flex;flex-direction:column;gap:10px}
.exec .kv div{background:var(--sunk)}
.exec small{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.desc{margin:3px 0 0;white-space:pre-wrap}
.offer{display:flex;gap:8px;flex-wrap:wrap}
.offer select{flex:1 1 220px}
.note{font-size:.88rem;padding:11px 13px;border-radius:10px;background:var(--accent-tint);color:var(--fg);margin:0;border-left:4px solid var(--accent)}
.note.warn{background:var(--warn-tint);border-left-color:var(--warn)}
.note.bad{background:var(--bad-tint);border-left-color:var(--bad)}
.logl{display:flex;flex-direction:column;font-size:.86rem}
.logl div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:9px 0;border-top:1px solid var(--line)}
.logl div:first-child{border-top:0}
.logl time{font-family:var(--f-mono);font-size:.78rem;color:var(--accent-ink);font-weight:500}

/* tabelas */
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;min-width:680px;font-size:.9rem}
th,td{padding:12px 14px;text-align:left;border-top:1px solid var(--line);vertical-align:middle}
th{border-top:0;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:#fff;font-weight:700;background:var(--navy)}
tbody tr:nth-child(even):not(.sub) td{background:#FAFBFD}
td.n,th.n{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
tr.sub td{background:var(--sunk);font-size:.85rem}
.tot{font-weight:700;color:var(--navy);background:var(--navy-50)!important}

/* prestadores e telas do técnico */
.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 16px 16px;display:flex;flex-direction:column;gap:10px;min-width:0;box-shadow:var(--shadow);overflow:hidden}
.card>:first-child{margin:0 -16px;padding:12px 16px;background:var(--navy-50)}
.card>.vh:first-child h3{color:var(--navy)}
.card.emg>:first-child{background:var(--bad-tint)}
.card.reprog>:first-child{background:var(--warn-tint)}
.card.off{opacity:.6}
.checks{display:flex;flex-wrap:wrap;gap:8px 18px}
.when{font:700 1.2rem var(--f-display);color:var(--navy)}
.chg{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.92rem}
.chg s{color:var(--muted)}
.panel.disp{display:grid;gap:8px;background:none;border:0;padding:0;box-shadow:none}
.drow{display:grid;grid-template-columns:110px auto 1fr;gap:12px;align-items:center;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--line2);border-radius:10px;box-shadow:var(--shadow)}
.drow:has(input[data-k="on"]:checked){border-left-color:var(--accent)}
.drow b{color:var(--navy)}
.drow .times{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.drow input[type=time]{width:112px}
.sw{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:.9rem}
.sw input{width:18px;height:18px;accent-color:var(--navy)}
.panel.total{background:var(--navy);color:#fff;border-color:var(--navy)}
.panel.total .big{color:#fff}
.panel.total .sumrow{border-top-color:#34488A}
.panel.total .small{color:#AFC0E3}
.big{font:700 2.3rem var(--f-display);font-variant-numeric:tabular-nums;color:var(--navy);margin-bottom:6px}
.sumrow{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:.92rem}
.sumrow:first-child{border-top:0}
.empty{padding:28px;text-align:center;color:var(--muted);background:var(--surface);border:2px dashed var(--line2);border-radius:12px;font-weight:700}
.rules{display:grid;gap:10px}
.rule{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:14px;align-items:center;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--navy);border-radius:10px;box-shadow:var(--shadow)}
.rule b{color:var(--navy)}
.rule p{margin:3px 0 0;color:var(--muted);font-size:.86rem}
.rule input{width:100%}
.err{color:var(--bad);font-size:.88rem;font-weight:700;margin:0}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--navy);color:#fff;padding:11px 17px;border-radius:10px;z-index:30;font-size:.9rem;max-width:calc(100% - 32px);box-shadow:0 6px 24px rgba(16,24,48,.3);border-left:4px solid var(--accent)}

/* prestadores: empresas e documentos */
.empcard .lbl{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.empcard.off{opacity:.65}
.empcard .pj-h::after{background:var(--accent)}
.empcard.off .pj-h::after{background:#8FA3D1}
.pj-f .ctr{font:700 .95rem var(--f-body)}
.btn.onnavy{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.btn.onnavy:hover{background:var(--navy-2);border-color:#fff}
.kvw div{background:var(--surface);box-shadow:var(--shadow)}
.kvw span{overflow-wrap:anywhere}
.doclist{display:flex;flex-direction:column;gap:8px}
.docrow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px 14px;align-items:center;padding:11px 14px;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--ok);border-radius:10px}
.docrow.warn{border-left-color:var(--warn)}
.docrow.bad{border-left-color:var(--bad);background:#FFF9F7}
.docrow.miss{border-left-color:var(--line2);border-style:dashed;border-left-style:solid;background:var(--sunk)}
.dt{display:flex;flex-direction:column;gap:2px;min-width:0}
.dt b{color:var(--navy)}
.lnk{border:0;background:none;padding:0;color:var(--accent-ink);text-decoration:underline;cursor:pointer;font:inherit}
.card .docrow{grid-template-columns:1fr;gap:6px}
.docrow>.pill{justify-self:start}
@media (max-width:640px){.docrow{grid-template-columns:1fr;gap:6px}}

/* lista de prestadores com foto */
.plist{display:flex;flex-direction:column;gap:8px}
.prow{display:grid;grid-template-columns:52px minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.2fr) auto;gap:8px 18px;align-items:center;text-align:left;width:100%;padding:8px 16px 8px 10px;border-left:5px solid transparent !important;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);cursor:pointer;color:var(--fg)}
.prow:hover{border-color:var(--navy-2);box-shadow:0 2px 6px rgba(22,32,58,.12),0 8px 22px rgba(22,32,58,.1)}
.prow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.prow.off{opacity:.6}
.pfoto{width:52px;height:52px;border-radius:10px;object-fit:cover;display:block;flex:none}
.pini{font-size:1.15rem}
.pfoto.big{width:112px;height:112px;border-radius:16px;border:3px solid rgba(255,255,255,.85)}
.pini{display:grid;place-items:center;font:700 1.15rem var(--f-display);color:#fff}
.pfoto.big.pini{font-size:2.4rem}
.pini.c0{background:#2A3F80}.pini.c1{background:#0277A8}.pini.c2{background:#1E8E5A}.pini.c3{background:#8A5A00}
.pmain{display:flex;flex-direction:column;gap:4px;min-width:0}
.pname{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pname b{font-size:1rem;color:var(--navy)}
.prow .vchips{flex-wrap:nowrap;overflow:hidden;mask-image:linear-gradient(90deg,#000 85%,transparent)}
.prow.pend{border-left-color:var(--bad) !important}
.prow.aten{border-left-color:var(--warn) !important}
.erow{grid-template-columns:52px minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.2fr) auto}
.pendcard{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--warn);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}
.pendcard.pend{border-left-color:var(--bad)}
.pendh{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 14px 10px 10px}
.pendl{list-style:none;margin:0;padding:0 14px 10px 74px;display:flex;flex-direction:column;gap:6px}
.pendl li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;background:var(--bad-tint);color:var(--bad-ink);font-weight:700;font-size:.9rem}
.pendl li.warn{background:var(--warn-tint);color:var(--warn-ink)}
.pendl li .btn{padding:5px 12px;font-size:.85rem}
@media (max-width:640px){.pendh{grid-template-columns:44px minmax(0,1fr)}.pendh .pill,.pendh .btn{grid-column:2;justify-self:start}.pendl{padding-left:14px}.pendl li{flex-wrap:wrap}}
.pcol{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}
.pcol>small{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.pval{text-align:right}
.pval b{font-size:1.05rem;color:var(--navy)}
.phead.pphead{display:grid;grid-template-columns:200px minmax(0,1fr);padding:0;gap:0;overflow:hidden}
.phead.pphead>.pfoto{width:100%;height:100%;min-height:200px;border:0;border-radius:0;align-self:stretch;object-fit:cover}
.phead.pphead>div.pfoto{display:grid;place-items:center;font-size:3.2rem}
.ppbody{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:22px 24px;min-width:0}
.ppinfo{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 280px}
.pphead .vchip{background:rgba(255,255,255,.14);color:#fff}
@media (max-width:640px){.phead.pphead{grid-template-columns:110px minmax(0,1fr)}.phead.pphead>.pfoto{min-height:150px}.ppbody{padding:16px}.ppbody .ptotal{align-items:flex-start;text-align:left}}
.lnk.onnavy{color:#fff}
.fotopick{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.fotopick .pfoto.big{border-color:var(--line)}
.fotopick label{flex:1 1 220px}
@media (max-width:1150px){.prow,.erow{grid-template-columns:52px minmax(0,1.5fr) minmax(0,1fr) auto}.prow>.pcol:nth-child(3){display:none}}
@media (max-width:640px){.prow,.erow{grid-template-columns:48px minmax(0,1fr)}.prow .pfoto{width:48px;height:48px}.prow>.pcol{display:none}.prow>.pval{display:flex;grid-column:2;text-align:left;flex-direction:row;gap:8px;align-items:baseline}}

.pini.cli{background:var(--navy-50);color:var(--navy);font-size:1.2rem;border:1px solid var(--line2)}
.cligrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:20px}

/* projetos */
.oscard.s-acc{border-top-color:var(--accent)}
.pjgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr));gap:18px}
.pjcard{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);cursor:pointer;box-shadow:0 2px 6px rgba(22,32,58,.1),0 12px 30px rgba(22,32,58,.1);min-width:0;transition:transform .15s,box-shadow .15s}
.pjcard:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(22,32,58,.12),0 16px 36px rgba(22,32,58,.14)}
.pjcard:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.pj-h{background:var(--navy);color:#fff;padding:16px 18px 20px;display:flex;flex-direction:column;gap:5px;position:relative}
.pj-h::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--accent)}
.st-concluido .pj-h::after{background:var(--ok)}
.st-planejado .pj-h::after{background:#8FA3D1}
.pj-eyebrow{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pj-eyebrow>span:first-child{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.pj-nome{font:700 1.45rem var(--f-display);line-height:1.15;text-wrap:balance}
.pj-cli{color:#AFC0E3;font-size:.9rem}
.pj-b{padding:16px 18px;display:flex;flex-direction:column;gap:14px}
.pj-prog{display:flex;flex-direction:column;gap:7px;font-size:.9rem}
.pj-pl{display:flex;justify-content:space-between;gap:8px}
.pj-pl b{color:var(--navy);font-size:1.05rem}
.pj-prog .bar{height:10px}
.pj-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pj-stats div{background:var(--sunk);border-radius:9px;padding:9px 12px;display:flex;flex-direction:column;gap:1px;min-width:0}
.pj-stats small{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.pj-stats span{color:var(--navy);font-weight:500}
.pj-f{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 18px;background:var(--navy-50);color:var(--navy);font-weight:700;font-size:.9rem}
.pj-f b{font:700 1.35rem var(--f-display);font-variant-numeric:tabular-nums}
.oscard.s-plan{border-top-color:var(--navy)}
.bar{height:8px;background:var(--navy-50);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--ok);border-radius:99px}
.pchip{font-size:.78rem;font-weight:700;color:var(--accent-ink)}
.phead{background:var(--navy);color:#fff;border-radius:12px;padding:20px 22px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;box-shadow:var(--shadow)}
.phead>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 320px}
.phead h2{color:#fff}
.phead .muted{color:#AFC0E3}
.pdesc{margin:6px 0 2px;max-width:70ch;color:#E3E9F7}
.ptotal{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.ptotal small{color:#AFC0E3;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.74rem}
.ptotal b{font:700 2.1rem var(--f-display);font-variant-numeric:tabular-nums;line-height:1}
.kpi.k-w{background:var(--surface);color:var(--navy);border:1px solid var(--line);border-top:5px solid var(--accent)}
.kpi.k-w span{color:var(--muted)}
.kpi em{font-style:normal;font-size:.8rem;color:var(--muted)}
.matform{display:grid;grid-template-columns:minmax(0,2fr) 90px 100px 130px minmax(0,1.3fr) auto;gap:10px;align-items:end}
.projrow{align-items:flex-end}
.fotobox{background:var(--sunk);border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:12px}
.fadd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fbtn{position:relative;display:flex;align-items:center;justify-content:center;padding:11px 6px;border-radius:9px;font-weight:700;cursor:pointer;font-size:.92rem;text-align:center;overflow:hidden}
.fbtn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.fbtn:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.fbtn:hover{filter:brightness(1.08)}
.f-antes{background:var(--navy-2);color:#fff}
.f-durante{background:var(--warn);color:#3A2600}
.f-depois{background:var(--ok);color:#fff}
.seg{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:4px;flex-wrap:wrap;box-shadow:var(--shadow)}
.ivs{display:flex;flex-direction:column;gap:8px;background:var(--sunk);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.ivrow{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--line)}
input[type=time],input[type=date]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 5l4 4 4-4' fill='none' stroke='%231A2B5E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px;padding-right:32px;cursor:pointer;min-height:40px;text-align:left;position:relative}
input[type=time]::-webkit-calendar-picker-indicator,input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:24px;height:24px;margin-right:-26px}
input[type=time]::-webkit-date-and-time-value,input[type=date]::-webkit-date-and-time-value{text-align:left}
.ivpair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ivpair input{width:100%;min-width:0}
.hcalc .err{font-weight:700}
.xwarn{color:var(--warn-ink);font-weight:700}
.jbox textarea{border-color:var(--warn)}
.xbox{display:flex;flex-direction:column;gap:7px;background:var(--warn-tint);border-left:4px solid var(--warn);border-radius:10px;padding:11px 13px}
.xadj{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:8px;align-items:end}
@media (max-width:560px){.xadj{grid-template-columns:1fr}}
.rbbox,.nfbox{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--navy-2);border-radius:10px;padding:12px}
.nfbox{border-left-color:var(--accent);box-shadow:var(--shadow)}
.nfbox.off{border-left-color:var(--line2);background:var(--sunk);box-shadow:none}
.nfbox.paid{border-left-color:var(--ok)}
.rbform{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
.rbi{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:start;padding:8px;background:var(--sunk);border-radius:8px}
.rbth{width:64px;aspect-ratio:1}
.rbt{display:flex;flex-direction:column;gap:4px;min-width:0}
.hcalc{margin:0;padding:9px 12px;border-radius:8px;background:var(--navy-50);color:var(--navy);font-size:.92rem}
.dev{display:block;font:400 .72rem var(--f-mono);color:var(--muted);margin-top:3px}
.chain{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:12px 16px;border-radius:10px;border-left:5px solid}
.chain.ok{background:var(--ok-tint);border-color:var(--ok);color:#145C3B}
.chain.bad{background:var(--bad-tint);border-color:var(--bad);color:var(--bad-ink)}
.calnav{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.calnav b{color:var(--navy)}
.calwrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.cal{min-width:700px}
.cal-hd,.cal-bd{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr))}
.cal-hd{background:var(--navy-50);border-bottom:1px solid var(--line2)}
.cal-dh{display:flex;flex-direction:column;align-items:center;padding:8px 0 9px;border-left:1px solid var(--line)}
.cal-dh span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.cal-dh b{font:700 1.3rem var(--f-display);color:var(--navy);width:36px;height:36px;display:grid;place-items:center;border-radius:50%}
.cal-dh.today span{color:var(--accent-ink)}
.cal-dh.today b{background:var(--accent);color:#fff}
.cal-hrs{position:relative}
.cal-hrs span{position:absolute;right:8px;transform:translateY(-50%);font:500 .7rem var(--f-mono);color:var(--muted)}
.cal-col{position:relative;border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,var(--line) 0,var(--line) 1px,transparent 1px,transparent var(--hh))}
.cal-col.today{background-color:#F6FBFE}
.cal-av{position:absolute;left:0;right:0;background:var(--avail);opacity:.45}
.cev{position:absolute;margin-left:2px;border:0;border-radius:6px;padding:4px 7px;text-align:left;font-size:.74rem;line-height:1.25;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;gap:1px;box-shadow:0 1px 3px rgba(22,32,58,.22);z-index:1}
.cev b{font-family:var(--f-mono);font-weight:500;font-size:.7rem}
.cev span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.cev .cev-d{font-weight:400;opacity:.9}
.cev-t{font-style:normal;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.cev:hover{filter:brightness(1.08)}
.cev.k-ok{background:var(--ok);color:#fff}
.cev.k-done{background:var(--navy);color:#fff}
.cev.k-offer{background:var(--warn-tint);color:var(--warn-ink);box-shadow:none;outline:1.5px dashed var(--warn);outline-offset:-1.5px}
.cev.emg{border-left:4px solid var(--bad)}
.now{position:absolute;left:0;right:0;height:2px;background:var(--bad);z-index:2}
.now::before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--bad)}
.flash{animation:flash 1.8s ease-out}
@keyframes flash{0%,55%{box-shadow:0 0 0 4px var(--accent)}100%{box-shadow:var(--shadow)}}
.sechead>.seg{flex-direction:row;align-items:center}
.segb{border:0;background:none;padding:6px 12px;border-radius:7px;font-weight:700;color:var(--muted);cursor:pointer}
.segb:hover{color:var(--navy)}
.segb.on{background:var(--navy);color:#fff}
.th-c{font-size:.74rem;color:var(--muted);text-align:center}
.gal{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.fg{display:flex;flex-direction:column;gap:6px}
.fg-l{align-self:flex-start;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:5px}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.th{margin:0;display:flex;flex-direction:column;gap:4px;min-width:0}
.th-img{padding:0;border:0;border-radius:8px;overflow:hidden;cursor:zoom-in;aspect-ratio:1;max-width:100%;width:100%;background:var(--navy-50);display:block}
.th-img img{width:100%;height:100%;object-fit:cover;display:block}
.th-ph{aspect-ratio:1;max-width:100%;border-radius:8px;background:var(--navy-50);border:1px dashed var(--line2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px;text-align:center;font-size:.72rem;color:var(--navy);overflow:hidden;word-break:break-all}
.th-ph small{color:var(--muted)}
.th-ed{display:flex;gap:4px}
.th-ed select{flex:1;min-width:0;padding:4px 6px;font-size:.78rem}
.th-x{border:0;background:var(--bad-tint);color:var(--bad);border-radius:6px;width:28px;cursor:pointer;flex:none;font-weight:700}
.lbov{position:fixed;inset:0;z-index:40;background:rgba(10,15,30,.86);display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));cursor:zoom-out}
.lbov figure{margin:0;display:flex;flex-direction:column;gap:10px;align-items:center;max-width:100%}
.lbov img{max-width:100%;max-height:80vh;border-radius:10px;display:block}
.lbov figcaption{color:#fff;font-size:.9rem;text-align:center}
.arqov{cursor:default}
.arqv{background:var(--surface);color:var(--fg);border-radius:12px;width:min(960px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow)}
.arqv-h{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.arqv-pdf{border:0;width:100%;height:75vh;background:var(--sunk)}
.arqv-txt{margin:0;padding:14px;overflow:auto;max-height:78vh;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word;background:var(--sunk)}
.arqv-dica{margin:0;padding:10px 14px}
label.f input.locked{background:var(--navy-50);color:var(--navy);font-weight:700;cursor:not-allowed;border-color:var(--navy-50)}
.fillbox{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--accent-tint);border-left:4px solid var(--accent);border-radius:10px;padding:9px 12px}
@media (max-width:860px){.matform{grid-template-columns:repeat(2,minmax(0,1fr))}.matform label:first-child{grid-column:1/-1}.ptotal{align-items:flex-start;text-align:left}}
@media (max-width:760px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .days{grid-template-columns:repeat(7,1fr);gap:5px}
  .days .nav{display:none}
  .day b{font-size:1.1rem}
  .day i{display:none}
  .drow{grid-template-columns:1fr;gap:6px}
  .rule{grid-template-columns:1fr}
  h2{font-size:1.3rem}
  .role span{display:none}
  .kpi b{font-size:1.7rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* troca de técnico pedida pela empresa (mesmo tom de "aguardando") */
.blk.st-troca{background:var(--warn);color:#3A2600}
.vchip.troca{background:var(--warn-tint);color:var(--warn-ink)}
/* código fixo do técnico */
.codetag{display:inline-flex;gap:6px;align-items:baseline;padding:3px 10px;border-radius:999px;background:var(--navy-50);color:var(--navy);font-size:.85rem}
.codetag b,.mycode b{font-family:var(--f-mono);letter-spacing:.12em}
.mycode{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.1);color:#fff;font-size:.85rem}
.mycode b{font-size:1.05rem;color:var(--accent)}
td.fe{min-width:240px}
td.fe .btn{text-align:left;padding-left:0;justify-content:flex-start}
/* veículos */
.vplaca{font-family:var(--f-mono);font-size:.8rem;letter-spacing:.06em}
.vbox{border-left-color:var(--accent)}
/* menus lateral e superior com cantos quadrados */
.smod,.mtab,.hamb,.role select{border-radius:0}
/* cabeçalho dos cards (OS do prestador, convites, equipe) com mais contraste */
.card>:first-child{background:var(--navy);color:#fff}
.card>:first-child .num{color:#fff;font-weight:700;font-size:.85rem}
.card>.vh:first-child h3,.card>.vh:first-child b{color:#fff}
.card.emg>:first-child{background:var(--bad)}
.card.reprog>:first-child{background:var(--warn);color:#3A2600}
.card.reprog>:first-child .num{color:#3A2600}
.card>:first-child .pill.mute{background:rgba(255,255,255,.16);color:#fff}
.card.emg>:first-child .pill.emg,.card.reprog>:first-child .pill.warn{background:rgba(255,255,255,.22)}
/* Minha agenda: card compacto que abre a tela da OS */
.oscp{text-align:left;cursor:pointer;font:inherit;color:inherit;width:100%}
.oscp:hover{box-shadow:0 2px 6px rgba(22,32,58,.12),0 8px 22px rgba(22,32,58,.12);border-color:var(--navy-2)}
.oscp:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.oscp-go{margin-top:2px;font-weight:700;color:var(--accent-ink)}
/* tela da OS do prestador: blocos de preenchimento */
.secp{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}
.secp>h3{font-size:1.05rem}
.secp .rbbox,.secp .fotobox{border:0;padding:0;background:none;box-shadow:none}
.secp .rbbox>.vh:first-child>b{display:none}
.secp .rbbox>.vh:first-child{justify-content:flex-start;margin-top:-6px}
/* bloco Veículo da OS */
.vsec{display:flex;flex-direction:column;gap:10px}
.vcard{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:12px;background:var(--surface)}
.vcard-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.vcard-h div{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.vcard-h b{color:var(--navy);font-size:1.02rem;letter-spacing:.04em}
.vkm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.vkm div{background:var(--sunk);border-radius:8px;padding:7px 10px;display:flex;flex-direction:column}
.vkm small{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.vkmf{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.vabl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.vabl li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:.86rem;padding:6px 8px;background:var(--sunk);border-radius:6px}
.vtag{font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:5px}
.vtag.emp{background:var(--navy-50);color:var(--navy)}
.vtag.rb{background:var(--warn-tint);color:var(--warn-ink)}
.vform{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed var(--line2);border-radius:10px;background:var(--sunk)}
.vpag{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vpag legend{font-size:.8rem;font-weight:700;color:var(--muted);margin-bottom:5px;padding:0}
.vpag label{display:flex;gap:8px;align-items:flex-start;padding:9px 10px;border:1px solid var(--line2);border-radius:8px;background:var(--surface);cursor:pointer}
.vpag label:has(input:checked){border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.vpag input{margin-top:3px;accent-color:var(--navy)}
.vpag span{display:flex;flex-direction:column}
.vpag small{color:var(--muted);font-size:.78rem}
.rblist{display:flex;flex-direction:column;gap:6px}
.secp .rbbox{gap:12px}
/* reembolso já lançado: quadro com mais contraste que o formulário */
.rbi{background:var(--navy-50);border:1px solid var(--line2);border-left:4px solid var(--navy);padding:10px}
.rbi .rbt>.vh b{color:var(--navy)}
.rule input:disabled{background:var(--sunk);color:var(--navy);font-weight:700;border-color:var(--line);cursor:not-allowed;opacity:1}
/* botões no cabeçalho das seções ficam sempre lado a lado */
.sechead>div.row{flex-direction:row;align-items:center;flex-wrap:nowrap}
/* seletor de ordenação */
.ordsel{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--muted);white-space:nowrap}
.ordsel select{font-weight:400;color:var(--fg);font-size:.9rem}
@media (max-width:640px){.ordsel{flex:1 1 100%}.ordsel select{flex:1}.sechead>div.row{flex-wrap:wrap}}
/* mais contraste no corpo dos cards (não só no topo) */
.card,.oscard,.pjcard,.prow,.pendcard,.vcard,.secp{border-color:var(--line2)}
.card .muted,.card .small.muted,.oscard .oc-m,.oscard .muted,.pjcard .muted,.vcard .muted{color:#3F4A66}
.card>b,.oscard>b{color:var(--navy)}
.pj-prog{color:var(--navy)}
.pj-prog .bar,.bar{background:#C9D4E8}
.pj-stats div{background:var(--navy-50);border:1px solid var(--line2)}
.pj-stats small{color:var(--navy-2)}
.pj-stats span{color:var(--navy);font-weight:700}
.pj-f{background:var(--navy-2);color:#fff}
.pj-f b{color:#fff}
.kv div{border-color:var(--line2)}
.kv small,.vkm small{color:var(--navy-2)}
.vkm div{background:var(--navy-50);border:1px solid var(--line2)}
.btn.ghost.bad-txt{color:var(--bad)}
.btn.ghost.bad-txt:hover{background:var(--bad-tint)}
.acoes-os{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn.bad-out{color:var(--bad);border-color:var(--bad)}
.btn.bad-out:hover{background:var(--bad-tint)}
/* guias dentro do cadastro (empresa e prestador) */
.subtabs{display:flex;gap:0;border-bottom:2px solid var(--line2);overflow-x:auto;scrollbar-width:none}
.subtabs::-webkit-scrollbar{display:none}
.subtab{border:0;background:none;padding:11px 16px;font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px}
.subtab:hover{color:var(--navy);background:var(--navy-50)}
.subtab.on{color:var(--navy);border-bottom-color:var(--accent);background:var(--surface)}
.subtab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
/* indicadores */
.kpis-ind{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpis-ind .kpi b{font-size:1.7rem}
.kpi em{font-style:normal;font-size:.78rem;opacity:.9}
.k-ok{background:var(--ok)}
.indgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:start}
.tind{min-width:0}
.tind td{vertical-align:top}
.tind td.n{white-space:normal;text-align:right;font-family:var(--f-body);font-weight:700;color:var(--navy);max-width:260px}
.bars{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:end;height:150px;margin:10px 0 6px}
.barc{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:3px}
.barc i{display:block;width:70%;min-height:2px;background:var(--navy);border-radius:4px 4px 0 0}
.barc small{font-size:.72rem;color:var(--muted);text-transform:capitalize}
.bv{font:700 .8rem var(--f-mono);color:var(--navy)}
@media (max-width:860px){.indgrid{grid-template-columns:1fr}.kpis-ind{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* NRs */
.nrgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.nrcard{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--surface);border:1px solid var(--line2);border-left:5px solid var(--ok);border-radius:12px;box-shadow:var(--shadow)}
.nrcard.warn{border-left-color:var(--warn)}.nrcard.bad{border-left-color:var(--bad)}.nrcard.mute{border-left-color:var(--line2)}
.nrcard b{color:var(--navy)}
.retrbox summary{cursor:pointer;color:var(--accent-ink);font-weight:700}
.retrbox[open]{display:flex;flex-direction:column;gap:8px}
.kpi:not(.k-w) em{color:inherit;opacity:.92}
.nw{white-space:nowrap}
.tind td.n{min-width:150px}
label.f.inl{flex-direction:row;align-items:center;gap:6px}
/* materiais lançados na OS */
.matbox{display:flex;flex-direction:column;gap:10px}
.matl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.matl li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 10px;background:var(--navy-50);border:1px solid var(--line2);border-left:4px solid var(--navy);border-radius:8px}
.matl b{color:var(--navy)}
/* anexos da OS */
.anxl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.anxl li{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 9px;background:var(--surface);border:1px solid var(--line2);border-left:4px solid var(--accent);border-radius:8px}
.anx-th{width:48px;height:48px;padding:0;border:0;border-radius:6px;overflow:hidden;cursor:zoom-in;background:var(--navy-50)}
.anx-th img{width:100%;height:100%;object-fit:cover;display:block}
.anx-ic{width:48px;height:48px;border-radius:6px;background:var(--navy);color:#fff;display:grid;place-items:center;font:700 .72rem var(--f-mono);letter-spacing:.04em}
.anx-n{display:flex;flex-direction:column;min-width:0}
.anx-n b{color:var(--navy);overflow-wrap:anywhere}
.anxbtn{align-self:flex-start;background:var(--navy-50);color:var(--navy);border:1px dashed var(--navy-2);padding:9px 14px}
a.btn{text-decoration:none;display:inline-flex;align-items:center}

/* ---------- login, criação de senha e usuários ---------- */
.authwrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px 16px;background:var(--navy)}
.authcard{width:100%;max-width:400px;background:var(--surface);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}
.authbrand{padding:0;margin-bottom:6px}.authbrand b{color:var(--navy)}.authbrand small{color:var(--muted)}
.authcard p{margin:0}.authproto{color:#AFC0E3;margin:0}.authproto .lnk{color:#fff}
.btn.wide{width:100%;justify-content:center}
.regsenha{margin:0;padding-left:18px}
.sessao{display:flex;flex-direction:column;color:#fff;line-height:1.25}.sessao span{color:#AFC0E3;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.sessao b{font-size:.95rem}.sessao small{color:#AFC0E3}
.btn.sfbtn{background:var(--navy-2);border-color:#42579A;color:#fff;justify-content:center}
.convtxt{width:100%;border:1px solid var(--line2);border-radius:8px;padding:10px;background:var(--sunk);resize:vertical}
.protobox{background:var(--warn-tint);border-color:var(--warn);box-shadow:none}
.acessorow{margin-top:6px;align-items:center}
.acessorow .btn{padding:6px 12px;font-size:.88rem}
.phead .acessorow .btn.pri{background:var(--accent);border-color:var(--accent);color:var(--navy)}
.phead .acessorow .btn:not(.pri){background:transparent;border-color:#5A6FAE;color:#fff}
.phead .acessorow .btn.bad-txt{color:#FFB4A3}
/* ---------- privacidade (LGPD) ---------- */
.authcard:has(.avisobox){max-width:640px}
.avisobox{max-height:46vh;overflow:auto;border:1px solid var(--line2);border-radius:8px;padding:4px 14px;background:var(--sunk)}
.aviso p{margin:10px 0;font-size:.92rem}
ul.plain{list-style:none;padding:0;margin:6px 0;display:flex;flex-direction:column;gap:6px}
.pedlgpd{border-top:1px solid var(--line);padding:10px 0;display:flex;flex-direction:column;gap:6px}
/* ---------- logo ---------- */
.brandlogo{flex-direction:column;align-items:flex-start;gap:6px;padding:2px 6px 0}
.brandlogo .logo-svg{width:168px;max-width:100%;height:auto;display:block}
.authbrand{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:6px}
.authbrand .logo-svg{width:190px;height:auto;display:block}
.authbrand small{color:var(--muted);font-size:.8rem}
/* clientes: 6 colunas numa linha só (antes "Último serviço" caía para baixo e a linha ficava alta) */
.prow.crow{grid-template-columns:44px minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 110px;padding:6px 14px 6px 10px;gap:6px 16px}
.prow.crow .pfoto{width:44px;height:44px;font-size:.95rem}
.prow.crow .pval{text-align:right;align-items:flex-end}
@media (max-width:1150px){.prow.crow{grid-template-columns:44px minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) 100px}.prow.crow>.pcol:nth-child(3){display:none}}
@media (max-width:640px){.prow.crow{grid-template-columns:44px minmax(0,1fr)}.prow.crow .pval{align-items:baseline;text-align:left}}
/* login: logo centralizado */
.authbrand{align-items:center;text-align:center;align-self:center}
.authbrand{gap:12px}

/* ================= Visual MIV 2026 (TESTE) — só vale com <html class="miv"> ================= */
.overline{display:none}
.faixa-brasil{display:none}
.miv{
  --navy:#003D6F; --navy-2:#0075A8; --navy-50:#DCEAF4; --accent:#00CCFF; --accent-ink:#0075A8; --accent-tint:#E0F4FC;
  --fg:#0B1F33; --muted:#4F6175; --bg:#F3F6FA; --line:#DCE3EC; --line2:#C9D4E1;
  --shadow:0 1px 2px rgba(11,31,51,.06);
  --f-display:"Kanit","Arial Black",system-ui,sans-serif;
  --f-body:"Barlow",Arial,system-ui,sans-serif;
}
.miv body{font-size:15.5px}
.miv h1,.miv h2,.miv h3{font-weight:700;letter-spacing:-.005em}
.miv h2{font-size:1.6rem}
.miv .kpi b{font-weight:600}
.miv .kpi span,.miv th{letter-spacing:.08em}
/* overline: módulo · tela, acima do título (Barlow 13/600, caixa alta, azul médio) */
.miv .overline{display:block;margin:6px 0 -14px;font:600 .8rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}
/* menu lateral e cabeçalho no azul Expresso; ciano só sobre azul */
.miv .side{background:var(--navy)}
.miv .modbar{background:var(--navy)}
.miv .sfoot{border-top-color:rgba(255,255,255,.14)}
.miv .brandlogo small,.miv .sfoot small,.miv .role span,.miv .sessao span,.miv .sessao small{color:#D6EAF5}
.miv .role select{background:#0A4A80;border-color:rgba(255,255,255,.22)}
.miv .btn.sfbtn{background:#0A4A80;border-color:rgba(255,255,255,.22)}
.miv .smod .sico,.miv .modt .sico{color:var(--accent)}
.miv .smod.on .sico{color:var(--navy-2)}
.miv .mtab.on,.miv .smod.on{color:var(--navy)}
/* superfícies limpas: borda fina, sem sombra pesada */
.miv .panel,.miv .card,.miv .prow,.miv .kpi.k-w,.miv .pjcard,.miv .vcard,.miv .tbl{box-shadow:var(--shadow)}
.miv .prow:hover,.miv .card:hover{box-shadow:0 2px 8px rgba(11,31,51,.1)}
/* botão principal no azul Expresso; foco em azul médio */
.miv .btn.pri{background:var(--navy);border-color:var(--navy)}
.miv .btn.pri:hover{background:var(--navy-2);border-color:var(--navy-2)}
.miv input:focus,.miv select:focus,.miv textarea:focus{outline:2px solid var(--navy-2);outline-offset:0}
/* faixa-brasil: verde + amarelo, 4 px, uma por tela (rodapé do menu e base do cartão de login) */
.miv .faixa-brasil{display:block;height:4px;margin:12px -14px 0;background:linear-gradient(90deg,#3CAF4B 0 50%,#F5CD00 50% 100%)}
.miv .authcard{border-bottom:4px solid transparent;border-image:linear-gradient(90deg,#3CAF4B 0 50%,#F5CD00 50% 100%) 1;border-radius:14px 14px 0 0}
.miv .authwrap{background:var(--navy)}
.visbtn{font-size:.8rem;padding:6px 10px}
/* MIV: negrito mais suave (Kanit 600/500 nos títulos e números, Barlow 600/500 no texto) */
.miv h1,.miv h2{font-weight:600}
.miv h3,.miv .modt,.miv .kpi b,.miv .ptotal b,.miv .pj-f b{font-weight:500}
.miv b,.miv strong,.miv th,.miv .btn,.miv .smod,.miv .mtab,.miv .subtab,.miv .segb,.miv .pill,.miv .badge,.miv .vchip,.miv .kpi span,.miv .f,.miv label,.miv .lnk{font-weight:600}
.miv .f>input,.miv .f>select,.miv .f>textarea{font-weight:400}
.miv .pcol>small,.miv .kv small,.miv .overline{font-weight:600}
.miv .muted b,.miv small b{font-weight:500}
.miv .role select,.miv select{font-weight:400}
/* iniciais (sem foto): uma cor só — a cor não tem significado, então não pode lembrar status */
.pini.c0,.pini.c1,.pini.c2,.pini.c3{background:var(--navy)}
/* suspensos: seção recolhida e discreta */
.suspsec{margin-top:18px;border:1px dashed var(--line2);border-radius:10px;padding:10px 14px;background:transparent}
.suspsec>summary{cursor:pointer;font-weight:600;color:var(--muted)}
.suspbody{margin-top:10px;opacity:.85}
.prow.suspr{grid-template-columns:minmax(0,1fr) auto;display:grid;gap:2px 12px;padding:10px 14px;background:var(--sunk);box-shadow:none}
.prow.suspr>b,.prow.suspr>span{grid-column:1}.prow.suspr>button{grid-column:2;grid-row:1 / span 3;align-self:center}
.suspnote{margin-bottom:10px}

/* ================= Visual "profissional" (padrão) — vale com <html class="miv pro">. Mantém as cores fortes do MIV em selos, indicadores, cabeçalhos de cards e tabelas ================= */
.pro{
  --bg:#E9EEF4; --surface:#FFFFFF; --sunk:#F6F8FB; --line:#CDD7E3; --line2:#B4C2D3;
  --fg:#0F1E2E; --muted:#5B6B7D; --navy-50:#EAF1F7;
  --f-display:"Barlow","Inter",Arial,system-ui,sans-serif;
  --f-body:"Inter",Arial,system-ui,sans-serif;
  --shadow:none;
}
.pro body{font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
.pro h1,.pro h2,.pro h3{font-weight:600;letter-spacing:0}
.pro h2{font-size:1.5rem}.pro h3{font-size:1.08rem}
.pro b,.pro strong,.pro th,.pro .btn,.pro label,.pro .f,.pro .lnk{font-weight:600}
.pro .intro{color:var(--muted)}
.pro .overline{font-size:.72rem;letter-spacing:.16em;margin-bottom:-12px}
/* menu lateral: item ativo discreto, com filete ciano */
.pro .smod{font-weight:500;color:#C9D8EA;border-radius:6px;padding:10px 12px}
.pro .smod:hover{background:rgba(255,255,255,.08);color:#fff}
.pro .smod.on{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 3px 0 0 var(--accent)}
.pro .smod.on .sico,.pro .smod .sico{color:var(--accent)}
.pro .smod .badge{font-weight:600}
/* guias do topo: sublinhadas */
.pro .mtabs{gap:2px;align-self:stretch;align-items:stretch}
.pro .mtab{border-radius:0;padding:10px 14px;font-weight:500;color:#C9D8EA}
.pro .mtab:hover{background:rgba(255,255,255,.08);color:#fff}
.pro .mtab.on{background:none;color:#fff;font-weight:600;box-shadow:inset 0 -3px 0 var(--accent)}
.pro .modt{font-weight:600}
/* cards e blocos: cantos e filetes mais discretos */
.pro .panel,.pro .tbl,.pro .tlwrap,.pro .vaga,.pro .day,.pro .nav,.pro .seg{border-radius:8px}
.pro .card,.pro .oscard,.pro .pjcard,.pro .pendcard,.pro .prow,.pro .vcard,.pro .secp{border-radius:8px;box-shadow:none}
.pro .card:hover,.pro .oscard:hover,.pro .prow:hover,.pro .pjcard:hover{box-shadow:0 4px 14px rgba(15,30,46,.08);border-color:var(--line2)}
.pro th,.pro td{padding:10px 14px}
.pro .kpi{border-radius:8px;box-shadow:none}.pro .kpi b{font-weight:600}
/* botões e campos */
.pro .btn{border-radius:6px;padding:8px 14px}
.pro input,.pro select,.pro textarea{border-radius:6px}
.pro .note{border-radius:6px}
.pro .phead{border-radius:8px}
.pro .empty{border-radius:8px;font-weight:500;border-width:1px}

/* linhas e blocos brancos destacados do fundo (tema claro) */
.pro:not(.escuro) .prow,.pro:not(.escuro) .docrow,.pro:not(.escuro) .drow,.pro:not(.escuro) .pendcard,.pro:not(.escuro) .card,.pro:not(.escuro) .oscard,.pro:not(.escuro) .pjcard,.pro:not(.escuro) .vcard,.pro:not(.escuro) .panel,.pro:not(.escuro) .tbl,.pro:not(.escuro) .tlwrap,.pro:not(.escuro) .rule,.pro:not(.escuro) .kv div,.pro:not(.escuro) .day,.pro:not(.escuro) .nav,.pro:not(.escuro) .secp,.pro:not(.escuro) .vaga,.pro:not(.escuro) .kpi.k-w{box-shadow:0 1px 2px rgba(15,30,46,.07),0 1px 6px rgba(15,30,46,.05)}
/* ================= Tema escuro (botão no menu lateral) — <html class="... escuro"> =================
   Mantém a identidade: fundo azul-noite derivado do azul Expresso, cartões em azul-ardósia, ciano e azul médio como destaque,
   cores de status iguais (alto contraste). Textos que eram azul-escuro viram claros (lista gerada a partir das regras com color:var(--navy)). */
.escuro{
  color-scheme:dark;
  --bg:#0C1824; --surface:#132332; --sunk:#182B3D; --line:#22384D; --line2:#2E4860;
  --fg:#E6EDF5; --muted:#9AAEC2; --ink:#EAF2FA;
  --navy:#0B3A63; --navy-2:#1D6FA3; --navy-50:#1E3448;
  --accent-ink:#5CC8F0; --accent-tint:#123A52;
  --ok-tint:#123A2A; --warn-tint:#3A2E10; --warn-ink:#F5C46B; --bad-tint:#3D1D17; --bad-ink:#F4A08C; --avail:#1B4A6E;
  --shadow:none;
}
.escuro body{background:var(--bg)}
.escuro .anx-n b,
.escuro .anxbtn,
.escuro .authbrand b,
.escuro .badge,
.escuro .big,
.escuro .btn,
.escuro .bv,
.escuro .cal-dh b,
.escuro .calnav b,
.escuro .card>.vh:first-child h3,
.escuro .card>b,
.escuro .codetag,
.escuro .day b,
.escuro .drow b,
.escuro .dt b,
.escuro .hab,
.escuro .hcalc,
.escuro .kpi.k-w,
.escuro .matl b,
.escuro .mtab.on,
.escuro .nav,
.escuro .nrcard b,
.escuro .oscard>b,
.escuro .pill.mute,
.escuro .pini.cli,
.escuro .pj-f,
.escuro .pj-pl b,
.escuro .pj-prog,
.escuro .pj-stats span,
.escuro .pname b,
.escuro .pval b,
.escuro .rbi .rbt>.vh b,
.escuro .rule b,
.escuro .rule input:disabled,
.escuro .segb:hover,
.escuro .smod.on,
.escuro .subtab.on,
.escuro .subtab:hover,
.escuro .th-ph,
.escuro .tick,
.escuro .tind td.n,
.escuro .tl .nm b,
.escuro .tl .nm.hd,
.escuro .tl .nm.hd small,
.escuro .tot,
.escuro .vcard-h b,
.escuro .vchip,
.escuro .vtag.emp,
.escuro .when,
.escuro h1,
.escuro h2,
.escuro h3,
.escuro label.f input.locked{color:var(--ink)}
.escuro .side,.escuro .modbar{background:#0A2540}
.escuro .smod.on{background:rgba(255,255,255,.1);color:#fff}
.escuro .mtab.on{background:none;color:#fff}
.escuro .phead{background:#0A2E50}
.escuro th{background:#0A2E50;color:#DCE8F4}
.escuro .card>:first-child{background:#0A2E50;color:#fff}
.escuro .card.emg>:first-child{background:#5A1F14}.escuro .card.reprog>:first-child{background:#4A3708}
.escuro tbody tr:nth-child(even):not(.sub) td{background:#152739}
.escuro .docrow.bad{background:#2A1A18}
.escuro .chain.ok{color:#9BE3BC}
.escuro .card .muted,.escuro .card .small.muted,.escuro .oscard .oc-m,.escuro .oscard .muted,.escuro .pjcard .muted,.escuro .vcard .muted{color:var(--muted)}
.escuro .pj-prog .bar,.escuro .bar{background:#2E4860}
.escuro .pill.mute{background:#22384D;color:#DCE8F4}
.escuro .pill.info{background:#123A52;color:#8EDBF7}
.escuro .kpi.k-w{background:var(--surface)}
.escuro .k-navy,.escuro .k-done{background:#0A3A66}
.escuro .btn{background:var(--sunk);border-color:var(--line2);color:var(--ink)}
.escuro .btn.pri{background:var(--navy-2);border-color:var(--navy-2);color:#fff}
.escuro .btn.pri:hover{background:#2783BD}
.escuro .btn.ok{background:var(--ok);color:#fff}.escuro .btn.danger{background:var(--bad);color:#fff}
.escuro .btn.ghost{background:none;border-color:transparent;color:var(--accent-ink)}
.escuro .btn.onnavy{background:transparent;color:#fff}
.escuro input,.escuro select,.escuro textarea{background:#0F1E2C;color:var(--fg);border-color:var(--line2)}
.escuro input.locked,.escuro .rule input:disabled{background:#182B3D;color:var(--muted)}
.escuro .lnk{color:var(--accent-ink)}
.escuro .authcard{background:var(--surface)}
.escuro .authbrand small{color:var(--muted)}
.escuro .overline{color:var(--accent-ink)}
.escuro .sheet{background:var(--bg)}
.escuro .empty{background:var(--surface)}
.escuro .note{color:var(--fg)}
.escuro .day.on{background:var(--navy-2);color:#fff}.escuro .day.on b{color:#fff}
.logo-b{display:none}.escuro .authbrand .logo-c{display:none}.escuro .authbrand .logo-b{display:block}
.authbrand .logo-c,.authbrand .logo-b{line-height:0}
/* área de conteúdo acompanha a tela (antes travava em 1120 px e sobrava espaço em tela cheia) */
main.wrap{max-width:1760px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media (min-width:1500px){main.wrap{padding-left:40px;padding-right:40px}}
@media (max-width:640px){main.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
/* ---------- fechamento em cartões por etapa ---------- */
.fsteps{display:flex;gap:8px;margin:0;padding:0;list-style:none;counter-reset:fs;flex-wrap:wrap}
.fsteps li{counter-increment:fs;flex:1 1 200px;display:flex;gap:8px;align-items:flex-start;font-size:.85rem;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 12px}
.fsteps li::before{content:counter(fs);flex:none;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:600;font-size:.78rem}
.fgrupo{display:flex;flex-direction:column;gap:10px}
.fgrupo h3 .muted{font-weight:500}
.flist{display:flex;flex-direction:column;gap:10px}
.fcard{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--line2);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.fcard.g-acao{border-left-color:var(--warn)}.fcard.g-pronto{border-left-color:var(--ok)}.fcard.g-empresa{border-left-color:var(--navy-2)}.fcard.g-feito{border-left-color:var(--line2);opacity:.85}
.fc-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.fc-id{display:flex;flex-direction:column;gap:2px}
.fc-nome{font-size:1.08rem;font-weight:600;text-align:left;padding:0}
.fc-nf{text-align:right;display:flex;flex-direction:column}
.fc-nf small,.fc-comp small{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fc-nf b{font:600 1.6rem var(--f-display);color:var(--navy);font-variant-numeric:tabular-nums}
.fc-comp{display:flex;gap:6px 26px;flex-wrap:wrap}
.fc-comp span{display:flex;flex-direction:column}.fc-comp b{font-variant-numeric:tabular-nums;font-weight:600}
.fc-comp .fc-rb{padding-left:18px;border-left:1px solid var(--line)}
.fc-st{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.9rem}
.fc-ac{gap:8px}
.fc-det{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.escuro .fc-nf b{color:var(--ink)}
@media (max-width:640px){.fc-nf{text-align:left}.fsteps li{flex-basis:100%}}
/* fechamento: serviços e reembolsos clicáveis (abrem a OS) */
.fsec{display:flex;flex-direction:column;gap:8px}
.fsvl{display:flex;flex-direction:column;gap:6px}
.fsv{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:6px 16px;align-items:start;text-align:left;width:100%;background:var(--sunk);border:1px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer;color:var(--fg)}
.fsv:hover{border-color:var(--navy-2);background:var(--surface)}
.fsv-q,.fsv-m,.fsv-v{display:flex;flex-direction:column;gap:3px;min-width:0}
.fsv-m .pill{align-self:flex-start}
.fsv-m{flex-direction:column}.fsv-m>b{margin-bottom:1px}
.fsv-v{align-items:flex-end;text-align:right}
.rbwrap{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.rbwrap .rbi{border:0;border-radius:0}
.rbctx{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--sunk);border:0;border-bottom:1px solid var(--line);padding:8px 12px;cursor:pointer;font-size:.86rem;color:var(--fg);text-align:left}
.rbctx:hover{background:var(--navy-50)}
@media (max-width:640px){.fsv{grid-template-columns:minmax(0,1fr)}.fsv-v{align-items:flex-start;text-align:left}}
/* ---------- fechamento: lista + painel / uma empresa por vez ---------- */
.fresumo{display:flex;flex-wrap:wrap;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.fresumo span{flex:1 1 140px;display:flex;flex-direction:column;padding:10px 16px;border-right:1px solid var(--line)}
.fresumo span:last-child{border-right:0}
.fresumo small{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fresumo b{font:600 1.3rem var(--f-display);color:var(--navy);font-variant-numeric:tabular-nums}
.fresumo .w{background:var(--warn-tint)}.fresumo .w b{color:var(--warn-ink)}
.fsplit{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.fsplit.aberto{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.flista{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.frow{display:grid;grid-template-columns:minmax(0,1.3fr) 130px minmax(0,1.6fr) 24px;gap:12px;align-items:center;padding:12px 14px;border:0;border-top:1px solid var(--line);border-left:4px solid transparent;background:var(--surface);text-align:left;cursor:pointer;color:var(--fg);width:100%}
.frow:hover{background:var(--sunk)}
.frow.on{background:var(--navy-50);border-left-color:var(--navy)}
.frow.fhead{cursor:default;border-top:0;background:var(--navy);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding-block:10px}
.fsplit.aberto .frow{grid-template-columns:minmax(0,1fr) 110px 24px}.fsplit.aberto .fr-s{grid-column:1 / span 2}.fsplit.aberto .frow.fhead>span:nth-child(3){display:none}
.fsplit.aberto .frow{grid-template-areas:"n v a" "s s a"}.fsplit.aberto .fr-n{grid-area:n}.fsplit.aberto .fr-v{grid-area:v}.fsplit.aberto .fr-s{grid-area:s}.fsplit.aberto .fr-a{grid-area:a}
.frow.g-acao{border-left-color:var(--warn)}.frow.g-pronto{border-left-color:var(--ok)}
.fr-n,.fr-s{display:flex;flex-direction:column;gap:2px;min-width:0}
.fr-s{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 8px}.fr-s small{color:var(--muted);font-size:.8rem}
.fr-v{text-align:right;font-weight:600}
.fr-a{color:var(--muted);font-size:1.2rem}
.fpainel{position:sticky;top:76px;max-height:calc(100vh - 92px);overflow:auto;background:var(--surface);border:1px solid var(--line2);border-radius:8px;padding:6px 16px 16px;box-shadow:0 6px 24px rgba(15,30,46,.12)}
.fclose{float:right;margin-top:4px}
.fdoc{display:flex;flex-direction:column;gap:14px}
.fdoc-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-top:8px}
.fdec{background:var(--warn-tint);border:1px solid var(--warn);border-radius:8px;padding:12px}
.fconta{border:1px solid var(--line);border-radius:8px;padding:12px 14px;gap:4px}
.fx-l{display:flex;justify-content:space-between;gap:10px;padding:4px 0}
.fx-l.tot{border-top:1px solid var(--line2);margin-top:4px;padding-top:8px;font-size:1.05rem}.fx-l.tot b{color:var(--navy)}
.fx-l.rb{color:var(--muted);font-size:.9rem}
.fdocwrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}
.fnav{position:sticky;top:76px;display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px}
.fnav-g{display:flex;flex-direction:column;gap:4px}
.fnav-g>small{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 8px}
.fnav-i{display:flex;justify-content:space-between;gap:8px;align-items:center;border:0;background:none;border-left:3px solid transparent;border-radius:4px;padding:8px;text-align:left;cursor:pointer;color:var(--fg);font-size:.9rem}
.fnav-i:hover{background:var(--sunk)}.fnav-i.on{background:var(--navy-50);border-left-color:var(--navy)}
.fnav-i.g-acao{border-left-color:var(--warn)}.fnav-i.g-acao.on{border-left-color:var(--navy)}
.fnav-i b{font-size:.82rem;white-space:nowrap}
.fdocmain{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 20px 20px}
.escuro .fresumo b,.escuro .fx-l.tot b{color:var(--ink)}
@media (max-width:900px){.fsplit.aberto,.fdocwrap{grid-template-columns:minmax(0,1fr)}.fpainel,.fnav{position:static;max-height:none}.frow{grid-template-columns:minmax(0,1fr) 100px 20px;grid-template-areas:"n v a" "s s a"}.fr-n{grid-area:n}.fr-v{grid-area:v}.fr-s{grid-area:s}.fr-a{grid-area:a}.frow.fhead{display:none}}
.fdoc-h{flex-wrap:wrap}@media (max-width:640px){.fdoc-h .fc-nf{text-align:left}.fpainel{padding:6px 12px 14px}}
/* fechamento: extrato num recorte à direita, dentro da área de conteúdo (abaixo do cabeçalho), colado na borda */
:root{--fdw:min(600px,42vw)}
.fsplit2{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
.fsplit2.aberto{grid-template-columns:minmax(0,1fr) var(--fdw);gap:0;margin-right:-24px}
@media (min-width:1500px){.fsplit2.aberto{margin-right:-40px}}
.fsplit2.aberto .flista{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:16px}
.fdrawer{position:sticky;top:64px;height:calc(100vh - 64px);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--line2);box-shadow:-10px 0 24px rgba(11,31,51,.10);margin-bottom:-56px}
.fdr-h{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;background:var(--navy);color:#fff;padding:12px 18px}
.fdr-h h3{color:#fff;font-size:1.15rem;margin:1px 0 2px}
.fdr-h small{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.fdr-h span{font-size:.8rem;color:#C9D8EA}
.fdr-nf{display:flex;flex-direction:column;text-align:right}
.fdr-nf b{font:600 1.5rem var(--f-display);color:#fff;font-variant-numeric:tabular-nums}
.fdr-x{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:6px;width:36px;height:36px;cursor:pointer;font-size:1rem}
.fdr-x:hover{background:rgba(255,255,255,.12)}
.fdr-b{flex:1;overflow:auto;padding:16px 18px 28px}
.fdr-b .fdoc{gap:16px}
.fech .frow.on{background:var(--navy-50);border-left-color:var(--navy);box-shadow:inset -4px 0 0 var(--navy)}
.escuro .fdr-h{background:#0A2E50}
.fech-aberto .fr-s small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:900px){.fsplit2.aberto{grid-template-columns:minmax(0,1fr);margin-right:0}.fsplit2.aberto .flista{margin-right:0}.fdrawer{position:fixed;top:0;left:0;right:0;bottom:0;height:auto;z-index:8;margin:0}.fdr-h{grid-template-columns:minmax(0,1fr) auto}.fdr-nf{grid-row:2;text-align:left}.fdr-x{grid-column:2;grid-row:1}}
.pill.cinza{background:#E1E5EA;color:#3B4654}.escuro .pill.cinza{background:#2A3644;color:#D3DBE4}
.fsv:hover,.rbctx:hover{box-shadow:inset 3px 0 0 var(--navy-2)}.fsv,.rbctx{cursor:pointer}
.fadd{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.fadd .btn{white-space:nowrap}
/* códigos de referência e código de hoje */
.reftag{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--accent-ink);background:var(--navy-50);border-radius:4px;padding:1px 6px;margin-right:6px;vertical-align:middle}
.reftag.onnavy{background:rgba(255,255,255,.14);color:#BFE9FA;margin-bottom:4px}
.reftag:empty{display:none}
.pj-ref{font-size:.72rem;color:var(--muted)}
.codhoje{display:flex;gap:12px 18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.codbig{font-size:1.9rem;font-weight:600;letter-spacing:.22em;color:var(--navy);background:var(--navy-50);border-radius:8px;padding:6px 16px}
.escuro .codbig{color:var(--ink)}
.estbox{display:flex;flex-direction:column;gap:4px;background:var(--sunk);border:1px solid var(--line);border-left:4px solid var(--navy-2);border-radius:6px;padding:10px 12px}.estbox .vh b.mono{font-size:1.05rem;color:var(--navy)}.escuro .estbox .vh b.mono{color:var(--ink)}

/* ---------- Comercial: propostas e produtos ---------- */
.bad-txt{color:var(--bad)}
.pc-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.pc-main{display:flex;flex-direction:column;gap:20px;min-width:0}
.pc-side{position:sticky;top:64px;display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:12px;padding:16px;box-shadow:var(--shadow);max-height:calc(100vh - 80px);overflow-y:auto}
@media (max-width:1100px){.pc-grid{grid-template-columns:minmax(0,1fr)}.pc-side{position:static;max-height:none}}
.pc-big{display:flex;flex-direction:column;gap:2px}
.pc-big small,.pc-mi small{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}
.pc-big b{font:700 2rem var(--f-display);color:var(--ok);font-variant-numeric:tabular-nums;line-height:1.1}
.pc-big b.neg,.pc-mi.neg b{color:var(--bad)}
.pc-big span,.pc-mi span{font-size:.8rem;color:var(--muted)}
.pc-mis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pc-mi{display:flex;flex-direction:column;gap:1px;background:var(--sunk);border-radius:8px;padding:8px 10px;min-width:0}
.pc-mi b{color:var(--fg);font-size:1rem}
.pc-blk{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.pc-blk>b{color:var(--navy);font-size:.9rem}
.pc-bar{display:flex;height:16px;border-radius:6px;overflow:hidden;background:var(--sunk)}
.pc-bar i,.pc-leg i{display:block}
.pc-leg{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;font-size:.78rem;color:var(--muted)}
.pc-leg span{display:flex;align-items:center;gap:6px}.pc-leg b{margin-left:auto;color:var(--fg)}
.pc-leg i{width:10px;height:10px;border-radius:3px;flex:none}
.c-navy{background:var(--navy)}.c-bad{background:var(--bad)}.c-navy2{background:var(--navy-2)}.c-warn{background:var(--warn)}.c-acc{background:var(--accent)}.c-ok{background:var(--ok)}
.pc-gb{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;font-size:.8rem}
.pc-gbt{grid-column:1/-1;height:6px;border-radius:3px;background:var(--sunk);overflow:hidden}.pc-gbt i{display:block;height:100%;background:var(--accent)}
.pc-al{margin:0;font-size:.82rem;padding:7px 9px;border-radius:7px;border-left:3px solid var(--accent);background:var(--accent-tint)}
.pc-al.warn{border-color:var(--warn);background:var(--warn-tint)}.pc-al.bad{border-color:var(--bad);background:var(--bad-tint)}
.pc-grp{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}
.pc-gh{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.pc-gh>b{color:var(--navy)}
.pc-grp .tbl{box-shadow:none}
.pc-it td{vertical-align:top}
.pc-it input,.pc-it select{width:100%;min-width:0;font-size:.88rem;padding:6px 7px}
.pc-it .pc-desc{min-width:220px}.pc-it .pc-desc .row{margin-top:4px;gap:4px}
.pc-it input.pc-num{width:86px;text-align:right}.pc-it input.pc-m{width:70px}
.pc-it tr.pc-opc td{background:var(--sunk)}
.pc-it tr.pc-more td{background:var(--accent-tint)}
.pc-add{gap:4px}.pc-add select{max-width:340px}
.pc-susp summary{cursor:pointer;font-weight:700;color:var(--muted);padding:6px 0}
.pc-gmform{display:grid;grid-template-columns:minmax(0,2fr) 130px 100px 130px auto;gap:10px;align-items:end}
@media (max-width:760px){.pc-gmform{grid-template-columns:1fr 1fr}.pc-mis{grid-template-columns:1fr}}
.pm td{vertical-align:middle}.pm .pm-g td{background:var(--navy-50)}.pm .pm-a{padding-left:28px;color:var(--muted)}
.pm-sel{font-size:.85rem;padding:5px 6px}.pm-sel.pm-alt{border-color:var(--accent);background:var(--accent-tint);font-weight:700}
/* documento do cliente: padrão timbrado (preto, Calibri, tabelas com borda fina e cabeçalho cinza) */
.pdoc{background:#fff;color:#000;font:11pt/1.4 Calibri,Carlito,Arial,sans-serif;padding:28px 34px 40px;border-radius:6px;box-shadow:var(--shadow)}
.pdoc-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.pdoc-top svg{width:190px;height:auto}
.pdoc-faixa{flex:1;max-width:360px;height:30px;background:radial-gradient(circle,#0075A8 1.6px,transparent 1.8px) 0 0/8px 8px}
.pdoc h1{font:700 12pt Calibri,Carlito,Arial,sans-serif;text-align:center;text-transform:uppercase;margin:0 0 14px;color:#000}
.pdoc h4{font:700 12pt Calibri,Carlito,Arial,sans-serif;text-transform:uppercase;margin:14px 0 2px;color:#000}
.pdoc p{margin:0 0 6px;text-align:justify}
.pdoc table{width:100%;border-collapse:collapse;font-size:9pt;margin:6px 0 10px}
.pdoc th,.pdoc td{border:1px solid #000;padding:4px 6px;color:#000;background:#fff}
.pdoc th{background:#D9D9D9;font-weight:700;text-transform:uppercase;text-align:center}
.pdoc td.c{text-align:center}.pdoc td.r{text-align:right;white-space:nowrap}.pdoc td.j{text-align:justify}
.pdoc tr.sub td{background:#F2F2F2;font-weight:700;text-align:right}.pdoc tr.tt td{background:#D9D9D9;font-weight:700;text-align:right}
.pdoc-data{text-align:right!important;margin-top:22px!important}
.pdoc-ass{display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:90px}.pdoc-ass .ln{width:260px;border-top:1px solid #000;margin-bottom:4px}
@media print{
  body.pc-print #app,body.pc-print .pc-docbar,body.pc-print .toast{display:none!important}
  body.pc-print .ov{position:static;background:none;padding:0;overflow:visible;display:block}
  body.pc-print .sheet{box-shadow:none;max-width:none;padding:0;background:#fff;border-radius:0}
  body.pc-print .pdoc{box-shadow:none;padding:0}
}
.pc-grid{grid-template-columns:minmax(0,1fr) 310px}
.pc-it th,.pc-it td{padding:6px 5px}
.pc-it th{font-size:.68rem}
.pc-it select{width:auto;max-width:92px}
.pc-it input.pc-num{width:72px}.pc-it input.pc-m{width:58px}
.pc-it .pc-desc{min-width:200px;width:34%}
.phead .ptotal .row{justify-content:flex-end}
.pc-qu{display:flex;gap:4px;align-items:center}
.pc-it .pc-desc{min-width:180px}
.pc-lucro{color:var(--ok)}
.pc-it td.n{font-family:var(--f-body);font-size:.86rem}
.pc-it .pc-qu select{max-width:84px}
.pc-it select{padding:6px 4px}
.pc-it input.pc-num{width:64px}.pc-it input.pc-m{width:52px}
.pc-it .pc-desc{width:auto;min-width:200px}
.pc-it input.pc-num{width:74px}
.pc-it input.pc-num.pc-m{width:54px}
.pc-it .pc-desc{min-width:190px}
.sheet:has(.pdoc){max-width:920px}
.pdoc table{table-layout:auto}.pdoc td.j{min-width:200px}
/* Financeiro → Reembolsos */
.rbemp{display:flex;flex-direction:column;gap:10px}
.rblst{display:flex;flex-direction:column}
.rbl{display:grid;grid-template-columns:24px 56px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 6px;border-top:1px solid var(--line)}
.rbl:first-child{border-top:0}
.rbl.on{background:var(--sunk)}
.rbl-ck{padding-top:6px}
.rbl-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.rbl-a{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.rbpag{border-top:1px solid var(--line);padding-top:10px}
@media (max-width:640px){.rbl{grid-template-columns:24px 48px minmax(0,1fr)}.rbl-a{grid-column:2/-1;align-items:flex-start}}
/* Atividades da OS */
.ativl{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:4px}
.ativl li{display:flex;justify-content:space-between;gap:8px;align-items:center}
.ativlist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}
.ativ{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid var(--line)}
.ativ:first-child{border-top:0}
.ativ-ck{width:24px;height:24px;border-radius:6px;border:2px solid var(--line2);display:grid;place-items:center;font-weight:800;color:#fff}
.a-feita .ativ-ck{background:var(--ok);border-color:var(--ok)}
.a-nao .ativ-ck{background:var(--bad);border-color:var(--bad)}
.a-feita .ativ-t b{text-decoration:line-through;text-decoration-color:var(--muted)}
.ativ-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.ativ-a{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
@media (max-width:640px){.ativ{grid-template-columns:28px minmax(0,1fr)}.ativ-a{grid-column:2;justify-content:flex-start}}
/* Cronograma do projeto (Gantt simples) */
.gantt{position:relative;display:flex;flex-direction:column;gap:6px;padding-top:22px}
.g-esc{position:absolute;top:0;left:200px;right:0;height:18px;font:600 .7rem var(--f-body);color:var(--muted)}
.g-esc span{position:absolute;transform:translateX(-2px);white-space:nowrap}
.g-l{display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px;align-items:center}
.g-n{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g-t{position:relative;height:22px;background:var(--sunk);border-radius:6px}
.g-bar{position:absolute;top:3px;height:16px;border-radius:5px;background:var(--line2);overflow:hidden;min-width:4px;display:block}
.g-bar>i{display:block;height:100%;background:rgba(0,0,0,.28)}
.g-bar.s-ok{background:var(--ok)}.g-bar.s-info{background:var(--navy)}.g-bar.s-bad{background:var(--bad)}.g-bar.s-mute{background:var(--line2)}
.g-base{position:absolute;bottom:0;height:3px;background:var(--muted);border-radius:2px;display:block}
.g-over{position:absolute;left:200px;right:0;top:20px;bottom:0;pointer-events:none;z-index:1}
.g-over .g-hoje{position:absolute;top:0;bottom:0;width:2px;background:var(--warn)}
.g-leg{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}
.g-leg i{display:inline-block;vertical-align:middle;position:static;width:18px;height:8px;margin-right:4px}
.g-leg .g-hoje{width:2px;height:12px;background:var(--warn)}
.crtbl input,.crtbl select{min-width:0;width:100%;padding:6px 8px}
.crtbl td{vertical-align:top}
.crtbl input[type=date]{width:140px}
@media (max-width:640px){.g-l{grid-template-columns:100px minmax(0,1fr)}.g-esc,.g-over{left:110px}}
.crtbl td:nth-child(2){min-width:240px}.crtbl td:nth-child(2) input{min-width:220px}
.crtbl td:nth-child(6){min-width:150px}.crtbl td:nth-child(7){min-width:170px}.crtbl td:nth-child(8){min-width:110px}
.crtbl td:last-child .row{flex-wrap:nowrap;gap:2px}
.crtbl td:nth-child(7) .row{flex-wrap:nowrap}
/* Faturamento / contas a receber */
.fatl{display:flex;flex-direction:column;gap:10px}
.fatc{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:10px}
.fatc.s-ok{border-left-color:var(--ok)}.fatc.s-bad{border-left-color:var(--bad)}.fatc.s-warn{border-left-color:var(--warn)}.fatc.off{opacity:.65;border-left-color:var(--line2)}
.fatp{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:6px}
.fatpl{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:center}
.fatpl>.vform,.fatr{flex-basis:100%}
