:root{color-scheme:light;--pagina:#f4f2ee;--cartao:#fcfcfb;--texto:#0b0b0b;--texto2:#52514e;--mudo:#898781;--linha:#e4e1da;
--grade:#e1e0d9;--eixo:#c3c2b7;--marca:#b5541c;--marca2:#8f3f12;--topo:#211d1a;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;
--bom:#0ca30c;--bomtxt:#006300;--aviso:#fab219;--serio:#ec835a;--critico:#d03b3b;--sombra:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(11,11,11,.06)}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])){color-scheme:dark;--pagina:#0d0d0d;--cartao:#1a1a19;--texto:#f0efec;
--texto2:#c3c2b7;--mudo:#898781;--linha:#2c2c2a;--grade:#2c2c2a;--eixo:#383835;--topo:#151311;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--bomtxt:#0ca30c;
--sombra:0 0 0 1px rgba(255,255,255,.08)}}
:root[data-theme=dark]{color-scheme:dark;--pagina:#0d0d0d;--cartao:#1a1a19;--texto:#f0efec;--texto2:#c3c2b7;--linha:#2c2c2a;--grade:#2c2c2a;
--eixo:#383835;--topo:#151311;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--bomtxt:#0ca30c;--sombra:0 0 0 1px rgba(255,255,255,.08)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pagina);color:var(--texto);font:15px/1.45 "Inter",system-ui,-apple-system,"Segoe UI",Ubuntu,sans-serif}
a{color:inherit}
header{background:var(--topo);color:#f3efe8;position:sticky;top:0;z-index:10}
.topo{max-width:1440px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:0 20px;height:56px}
.logo{display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:.2px;white-space:nowrap;text-decoration:none}
.logo i{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,#e0a86f,#b5541c);display:grid;place-items:center;font-style:normal}
.logo i::after{content:"O";color:#fff;font:800 14px/1 system-ui}
.logo-img{height:30px;max-width:120px;object-fit:contain;border-radius:5px;background:#fff;padding:2px}.logo-img.grande{height:44px;max-width:160px}
.marca{display:flex;flex-direction:column;line-height:1.1}.marca small{font-size:10.5px;font-weight:500;opacity:.65;letter-spacing:.4px}
.login .marca small{color:var(--texto2);opacity:1}
.rodape{max-width:1440px;margin:0 auto;padding:0 20px 28px;font-size:12px;color:var(--mudo)}
nav.menu{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}nav.menu a{color:#cfc8bd;text-decoration:none;padding:8px 12px;border-radius:7px;white-space:nowrap;font-size:14px}
nav.menu a:hover{color:#fff;background:#ffffff12}nav.menu a.at{color:#fff;background:#ffffff1f}
.dir{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13px;color:#b3aba0}
.dir select{background:#ffffff14;color:#fff;border:0;border-radius:6px;padding:5px 8px;font:inherit}
.dir a{color:#d8d1c6;text-decoration:none}
main{max-width:1440px;margin:0 auto;padding:22px 20px 60px}body{overflow-x:hidden}
h1{font-size:24px;margin:0;letter-spacing:-.2px}h2{font-size:16px;margin:0 0 12px}h3{font-size:14px;margin:0 0 8px;color:var(--texto2)}
.sub{color:var(--texto2);margin:4px 0 0}
.cab{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:space-between;margin-bottom:18px}
.ctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cartao{background:var(--cartao);border-radius:12px;box-shadow:var(--sombra);padding:18px}
.grade{display:grid;gap:14px}.grade>*{min-width:0}
.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.kpis{grid-template-columns:1fr}}.g4{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.g2{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}
.g3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.kpi .rot{font-size:13px;color:var(--texto2);display:flex;justify-content:space-between;gap:8px}
.kpi .val{font-size:34px;font-weight:700;letter-spacing:-.5px;line-height:1.1;margin-top:6px;font-variant-numeric:tabular-nums}
.kpi .val small{font-size:16px;font-weight:600;color:var(--texto2);margin-left:3px}
.kpi .det{font-size:13px;color:var(--texto2);margin-top:6px}
.kpi.destaque{background:linear-gradient(135deg,#2a1f17,#4a2a14);color:#fff}.kpi.destaque .rot,.kpi.destaque .det,.kpi.destaque .val small{color:#e8d9c8}
.meta{height:6px;border-radius:3px;background:var(--grade);margin-top:10px;position:relative;overflow:visible}
.meta b{display:block;height:100%;border-radius:3px;background:var(--s1)}.meta i{position:absolute;top:-4px;width:2px;height:14px;background:var(--texto)}
.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--pagina);color:var(--texto2)}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mudo)}
.status.bom::before{background:var(--bom)}.status.aviso::before{background:var(--aviso)}.status.serio::before{background:var(--serio)}.status.critico::before{background:var(--critico)}
button,.bt{font:inherit;font-size:14px;border:1px solid var(--linha);background:var(--cartao);color:var(--texto);padding:8px 14px;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
button:hover,.bt:hover{border-color:var(--eixo)}button.prim,.bt.prim{background:var(--marca);border-color:var(--marca);color:#fff}button.prim:hover{background:var(--marca2)}
button.sel{background:var(--texto);color:var(--cartao);border-color:var(--texto)}button.mini{padding:4px 9px;font-size:12px}
input,select,textarea{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--linha);border-radius:8px;background:var(--cartao);color:var(--texto)}
label.campo{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--texto2)}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--linha);font-size:14px}
th{color:var(--texto2);font-weight:600;font-size:13px}td.n,th.n{text-align:right}tr:last-child td{border-bottom:0}
.tab-wrap{overflow-x:auto}
.mudo{color:var(--mudo)}.pq{font-size:13px}.texto2{color:var(--texto2)}
.alerta{display:flex;gap:12px;padding:12px 14px;border-radius:10px;background:var(--pagina);margin-bottom:8px;align-items:flex-start}
.alerta .ic{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;font-size:14px;color:#0b0b0b}
.alerta.serio .ic{background:var(--serio)}.alerta.aviso .ic{background:var(--aviso)}.alerta.critico .ic{background:var(--critico);color:#fff}.alerta.bom .ic{background:var(--bom);color:#fff}
.alerta b{display:block}
.fotos{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.foto{background:var(--cartao);border-radius:10px;overflow:hidden;box-shadow:var(--sombra)}.foto img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;cursor:zoom-in;background:var(--grade)}
.foto .inf{padding:9px 11px;font-size:13px}.foto .rev{display:flex;gap:5px;padding:0 11px 11px}.foto .rev button{flex:1;padding:5px 4px;font-size:12px;justify-content:center}
.foto.marcada-sim{outline:3px solid var(--s1)}
.modal{position:fixed;inset:0;background:#000d;display:none;align-items:center;justify-content:center;z-index:50;padding:20px;flex-direction:column;gap:10px;color:#fff}
.modal img{max-width:100%;max-height:85vh;border-radius:6px}
.graf{position:relative}.graf svg{display:block;width:100%;overflow:visible}
.legenda{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--texto2);margin-bottom:8px}.legenda span{display:inline-flex;align-items:center;gap:6px}
.legenda span i{width:10px;height:10px;border-radius:3px;display:block}
.dica{position:fixed;pointer-events:none;background:var(--texto);color:var(--cartao);font-size:12.5px;line-height:1.45;padding:8px 10px;border-radius:8px;z-index:60;display:none;max-width:260px;box-shadow:0 6px 20px rgba(0,0,0,.2)}
.dica b{font-weight:700}
.vazio{padding:30px;text-align:center;color:var(--texto2)}
.pill{display:inline-block;font-size:12px;padding:2px 8px;border-radius:20px;background:var(--pagina);color:var(--texto2)}
.aviso-demo{background:#fff4dc;color:#5a4100;border-radius:10px;padding:10px 14px;font-size:14px;margin-bottom:16px}
:root[data-theme=dark] .aviso-demo{background:#3a2d0c;color:#f2dca4}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])) .aviso-demo{background:#3a2d0c;color:#f2dca4}}
.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#4a2a14,#1a1310 60%)}
.login .cartao{width:100%;max-width:380px;padding:28px}.login form{display:flex;flex-direction:column;gap:14px}
.erro{background:#fde8e8;color:#8a1c1c;padding:9px 12px;border-radius:8px;font-size:14px}
.ok{background:#e4f3e4;color:#135c13;padding:9px 12px;border-radius:8px;font-size:14px}
@media (max-width:720px){.topo{padding:0 12px;gap:10px}.marca b{max-width:96px;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}.marca small{font-size:9.5px}.dir .nome{display:none}main{padding:16px 12px 50px}
.g2{grid-template-columns:1fr}.kpi .val{font-size:28px}h1{font-size:20px}}
@media print{header,.ctl,.naoimprime{display:none!important}body{background:#fff}.cartao{box-shadow:none;border:1px solid #ddd;break-inside:avoid}main{padding:0}}

.info{border:0;background:var(--pagina);color:var(--texto2);width:20px;height:20px;border-radius:50%;padding:0;font:700 11px/20px Georgia,serif;justify-content:center;flex:none;cursor:pointer}
.kpi .rot{align-items:flex-start}.kpi .rot .dir2{display:flex;gap:6px;align-items:center}
.formula{display:none;font-size:12px;line-height:1.45;color:var(--texto2);background:var(--pagina);border-radius:7px;padding:7px 9px;margin-top:8px}.formula.ver{display:block}
.kpi.destaque .info{background:#ffffff26;color:#fff}.kpi.destaque .formula{background:#ffffff1a;color:#efe3d4}
.barra-prec{height:8px;border-radius:4px;background:var(--grade);overflow:hidden;min-width:80px}.barra-prec b{display:block;height:100%;background:var(--bom)}
