:root{--bg:#04120a;--p1:#08210f;--p2:#0d2f1a;--p3:#14452a;--line:#1f5c38;--tx:#e8f6ec;--mu:#9cc3aa;--ac:#2fd477;--ac2:#1a9e55;--gold:#f1d27a;--bad:#ff7b7b;--warn:#f5b942;--r:.9rem}
*{box-sizing:border-box}
html{font-size:clamp(14px,.3vw + 12px,17px)}
html,body{margin:0;background:var(--bg);color:var(--tx);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.45}
body{background:radial-gradient(80rem 40rem at 85% -10%,#0f3d23 0,transparent 60%),var(--bg);min-height:100vh}
h1,h2,h3{margin:0}
.mu{color:var(--mu)}.sm{font-size:.8rem}.sp{flex:1}
.gold{background:linear-gradient(90deg,#fff3c4,#f1d27a 45%,#c9a227);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
button,input,select,textarea{font:inherit;color:var(--tx)}
input,select,textarea{width:100%;background:var(--p1);border:1px solid var(--line);border-radius:.65rem;padding:.6rem .75rem;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px #2fd47733}
input[readonly]{opacity:.75}input[type=checkbox]{width:auto}
select option{background:#0d2f1a}
.b{background:var(--p3);border:1px solid var(--line);border-radius:.65rem;padding:.55rem .9rem;cursor:pointer;font-weight:600;white-space:nowrap;text-decoration:none;color:var(--tx);display:inline-block}
.b:hover{border-color:var(--ac)}.b.pri{background:linear-gradient(180deg,var(--ac),var(--ac2));color:#03150a;border-color:transparent}
.b.bad{color:var(--bad)}.b.s{padding:.3rem .6rem;font-size:.8rem;margin-left:.25rem}.b.big{padding:1rem 1.2rem;font-size:1.1rem;width:100%;text-align:center}
.app{display:flex;min-height:100vh}
aside{width:16rem;background:linear-gradient(180deg,#07200f,#041308);border-right:1px solid var(--line);padding:1rem .7rem;position:fixed;inset:0 auto 0 0;overflow:auto;z-index:30;transition:transform .25s}
.brand{display:flex;gap:.6rem;align-items:center;padding:.3rem .5rem 1rem;border-bottom:1px solid var(--line);margin-bottom:.5rem}
.brand .lg{font-size:2rem}.brand b{display:block;font-size:1.1rem}
.ng{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);margin:1rem .5rem .25rem}
.ni{display:flex;gap:.6rem;align-items:center;width:100%;text-align:left;background:none;border:0;border-radius:.6rem;padding:.55rem .6rem;cursor:pointer;color:var(--tx)}
.ni.on{background:var(--p3);box-shadow:inset 3px 0 0 var(--ac)}
.ni .n{margin-left:auto;background:var(--warn);color:#201400;border-radius:99px;padding:0 .5rem;font-size:.75rem;font-weight:800}
.main{flex:1;margin-left:16rem;min-width:0}
.top{position:sticky;top:0;z-index:20;display:flex;gap:.7rem;align-items:center;padding:.75rem 1.2rem;background:#04120ae6;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top h2{font-size:1.15rem}.hb{display:none}
#view{padding:1.2rem;max-width:110rem}
.card{background:linear-gradient(180deg,var(--p2),var(--p1));border:1px solid var(--line);border-radius:var(--r);padding:1rem;margin-bottom:1rem}
.hero{background:linear-gradient(120deg,#0f4a2a,#082b17 60%,#06200f);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem;margin-bottom:1rem}
.hero .gold{font-size:1.6rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.8rem;margin-bottom:1rem}
.kp{background:var(--p1);border:1px solid var(--line);border-radius:.8rem;padding:.8rem}.kp small{color:var(--mu);display:block}.kp b{font-size:1.5rem;display:block}
.kp.al b{color:var(--warn)}
.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:.8rem}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.ch{border:1px solid var(--line);background:var(--p1);border-radius:99px;padding:.35rem .9rem;cursor:pointer}.ch.on{background:var(--ac);color:#03150a;font-weight:700;border-color:var(--ac)}
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:.8rem}
table{width:100%;border-collapse:collapse}
th,td{padding:.55rem .7rem;text-align:left;border-bottom:1px solid #123a22;vertical-align:middle}
th{background:var(--p3);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}
tr:hover td{background:#0c2a18}tr.low td{background:#3a2a0a}tr.tot td{background:var(--p3);font-weight:700}
td.ac{white-space:nowrap;text-align:right}.emp{text-align:center;color:var(--mu);padding:1.6rem}
.bd{display:inline-block;padding:.1rem .6rem;border-radius:99px;font-size:.75rem;font-weight:700}
.bd.ok{background:#14532d;color:#86efac}.bd.warn{background:#5b3d06;color:#fcd34d}.bd.bad{background:#5b1111;color:#fca5a5}
.fl{display:block}.fl>span{display:block;font-size:.8rem;color:var(--mu);margin:0 0 .25rem}.fl.full{grid-column:1/-1}
.fg{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.8rem}
.ov{position:fixed;inset:0;background:#000b;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:1rem;overflow:auto}
.md{background:var(--p1);border:1px solid var(--line);border-radius:1rem;width:100%;max-width:48rem;padding:1.1rem;margin:auto}
.md h3{margin-bottom:.8rem}.mf{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;flex-wrap:wrap}
#toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);z-index:90;display:flex;flex-direction:column;gap:.5rem;align-items:center}
.ts{background:var(--p3);border:1px solid var(--ac);padding:.6rem 1rem;border-radius:.8rem;box-shadow:0 8px 30px #000a}.ts.err{border-color:var(--bad)}
.lw{min-height:100vh;display:grid;place-items:center;padding:1.2rem}
.lb{width:100%;max-width:26rem;background:linear-gradient(180deg,var(--p2),var(--p1));border:1px solid var(--line);border-radius:1.3rem;padding:1.8rem;box-shadow:0 20px 70px #000a}
.lb .lf{text-align:center;font-size:3rem}.lb .big{text-align:center;font-size:1.8rem}
.err{color:var(--bad);min-height:1.3rem;margin:.5rem 0}
.bar{height:.6rem;border-radius:.4rem;background:var(--p3);overflow:hidden;margin:.2rem 0}.bar i{display:block;height:100%;background:var(--ac)}.bar.r i{background:var(--bad)}
.scr{display:none}
.note{border:1px solid var(--line);border-radius:.9rem;padding:.9rem;margin-bottom:.8rem;background:var(--p1)}
.note.novo{border-color:var(--warn)}
.note .hd{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:.4rem}
.note p{white-space:pre-wrap;margin:.3rem 0}
.thumbs{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}
.thumbs img{width:6.5rem;height:6.5rem;object-fit:cover;border-radius:.6rem;border:1px solid var(--line);cursor:zoom-in;background:var(--p2)}
.thumbs .ph{position:relative}.thumbs .ph button{position:absolute;top:.2rem;right:.2rem;background:#000a;border:0;color:#fff;border-radius:50%;width:1.6rem;height:1.6rem;cursor:pointer}
.kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem}
.kind{border:1px solid var(--line);background:var(--p1);border-radius:.8rem;padding:.8rem;text-align:center;cursor:pointer;font-weight:600}
.kind.on{background:var(--ac);color:#03150a;border-color:var(--ac)}
.simple{max-width:42rem;margin:0 auto}
.simple textarea{min-height:9rem;font-size:1.05rem}
.dl{display:grid;grid-template-columns:max-content 1fr;gap:.2rem 1rem}.dl dt{color:var(--mu)}.dl dd{margin:0}
.lbx img{max-width:100%;max-height:85vh;display:block;margin:auto;border-radius:.6rem}
.mi{display:flex;gap:.5rem;align-items:center}
@media(max-width:1000px){aside{transform:translateX(-100%)}aside.open{transform:none}.main{margin-left:0}.hb{display:inline-block}.scr.on{display:block;position:fixed;inset:0;background:#0009;z-index:25}}
@media(max-width:700px){
 #view{padding:.8rem}
 table.rs,table.rs tbody,table.rs tr,table.rs td{display:block;min-width:0}table.rs thead{display:none}
 table.rs tr{border-bottom:2px solid var(--line);padding:.4rem 0}
 table.rs td{border:0;padding:.25rem .7rem;display:flex;justify-content:space-between;gap:.8rem;text-align:right}
 table.rs td::before{content:attr(data-l);color:var(--mu);font-size:.8rem;text-align:left}
 table.rs td.ac{justify-content:flex-end}table.rs td.ac::before{content:""}
}

@media(hover:hover){.ni:hover{background:var(--p2)}}
.ni:focus{outline:none}
/* ===== PRESENÇA ===== */
table.att{min-width:max-content}
table.att th,table.att td{padding:.3rem .25rem;text-align:center}
table.att th.nm,table.att td.nm{text-align:left;position:sticky;left:0;background:var(--p2);z-index:2;min-width:11rem;padding:.4rem .6rem}
table.att th.dcol{cursor:pointer;min-width:2rem}table.att th.dcol small{display:block;font-weight:400;opacity:.7}
table.att th.we{background:#0f3a24}
td.cell{cursor:pointer;user-select:none;min-width:2rem;font-weight:800;border-left:1px solid #123a22}
td.cell.mn{color:#3d6b4f}td.cell.mP{background:#14532d;color:#86efac}td.cell.mF{background:#5b1111;color:#fca5a5}td.cell.mA{background:#5b3d06;color:#fcd34d}td.cell.mM{background:#1e3a5f;color:#93c5fd}
td.cnt{font-weight:700;min-width:2rem}td.cnt.f{color:var(--bad)}td.cnt.a{color:var(--warn)}
tr:hover td.cell.mn{background:#0c2a18}
/* ===== DOCUMENTO (tela e impressão) — preto e cinza, estilo ofício ===== */
.docwrap{background:#d4d7d5;padding:1rem;border-radius:.8rem;overflow-x:auto}
.doc{background:#fff;color:#111;width:100%;min-width:44rem;max-width:62rem;margin:0 auto;padding:2.2rem 2.4rem;box-shadow:0 4px 24px #0006;font-family:Arial,Helvetica,sans-serif;font-size:.82rem;line-height:1.4}
.doc.land{max-width:84rem;min-width:62rem}
.doc .dh{display:flex;justify-content:space-between;gap:1.5rem;border-bottom:2px solid #111;padding-bottom:.7rem}
.doc .dn{font-size:1.35rem;font-weight:700}
.doc .dsub{color:#444;font-size:.74rem}
.doc .dh-r{text-align:right;min-width:11rem}.doc .dh-r b{display:block;font-size:1.25rem;letter-spacing:.04em}
.doc .tag{font-size:.6rem;letter-spacing:.14em;color:#555}
.doc h1{font-size:1.15rem;margin:1.1rem 0 .1rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:#111}
.doc .dtype{color:#555;font-size:.74rem;margin-bottom:.7rem}
.doc .meta{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #888;margin-bottom:.8rem}
.doc .meta div{padding:.35rem .55rem;border-right:1px solid #bbb}.doc .meta div:last-child{border-right:0}
.doc .meta small{display:block;color:#555;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}
.doc .intro{margin:.4rem 0}
.doc h3{font-size:.76rem;margin:1.2rem 0 .35rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #111;padding-bottom:.2rem;font-weight:700;color:#111}
.doc .sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));border:1px solid #888}
.doc .sum div{padding:.4rem .6rem;border-right:1px solid #ccc;border-bottom:1px solid #ccc}
.doc .sum small{display:block;font-size:.58rem;text-transform:uppercase;color:#555;letter-spacing:.06em}.doc .sum b{font-size:.95rem}
.doc table{width:100%;border-collapse:collapse;margin:.2rem 0;table-layout:auto}
.doc th{background:#ececec;color:#111;font-size:.64rem;padding:.35rem .45rem;text-transform:uppercase;letter-spacing:.04em;border:0;border-top:1.5px solid #111;border-bottom:1.5px solid #111;text-align:left;white-space:normal;position:static}
.doc td,.doc th{word-break:break-word}
.doc td{padding:.32rem .45rem;border:0;border-bottom:1px solid #d0d0d0;color:#111;font-size:.76rem;vertical-align:top;background:none}
.doc th.n,.doc td.n{text-align:right;white-space:nowrap}
.doc tr:hover td{background:none}
.doc tr.t td{background:#f0f0f0;font-weight:700;border-top:1.5px solid #111;border-bottom:1.5px solid #111}
.doc .obs{min-height:5rem;border:1px solid #888;padding:.5rem;white-space:pre-wrap}
.doc .obs.blank{background:repeating-linear-gradient(transparent 0 1.35rem,#bbb 1.35rem 1.4rem);min-height:6rem}
.doc .photos{display:flex;flex-wrap:wrap;gap:.4rem}.doc .photos img{width:12rem;height:9rem;object-fit:cover;border:1px solid #888}
.doc .os{margin-top:1.6rem;border:1px solid #111;padding:.7rem .9rem;page-break-inside:avoid}
.doc .os h3{margin-top:0}
.doc .osg{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.6rem;margin-top:.6rem}
.doc .ln{border-bottom:1px solid #111;height:1.7rem;font-size:.8rem;padding-top:.7rem}.doc .lb2{font-size:.66rem;color:#444;margin-top:.15rem}
.doc .cd{margin-top:.8rem;font-size:.62rem;color:#555;border-top:1px solid #aaa;padding-top:.3rem}
.doc .secnote{font-size:.68rem;color:#555}
.doc.land{page:land}
@page land{size:A4 landscape;margin:11mm 10mm 15mm;@bottom-right{content:"Página " counter(page) " de " counter(pages);font:8px Arial,sans-serif;color:#555}}
@media print{
 @page{size:A4;margin:14mm 12mm 17mm;@bottom-right{content:"Página " counter(page) " de " counter(pages);font:8px Arial,sans-serif;color:#555}}
 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 html,body{background:#fff!important;font-size:12px}
 aside,.top,.noprint,#toast,#modal,.scr{display:none!important}
 .main{margin:0!important}#view{padding:0!important;max-width:none}
 .docwrap{background:none;padding:0;overflow:visible}.doc{box-shadow:none;max-width:none;min-width:0;padding:0}
 .doc tr{page-break-inside:avoid}.doc thead{display:table-header-group}.doc h3{page-break-after:avoid}
}

/* ===== FOLHA ===== */
.kp.ok{border-color:#1f7a45}.kp.ok b{color:#86efac}
.kp.warn{border-color:#8a6a1a}.kp.warn b{color:#fcd34d}
.kp.bad b{color:var(--bad)}
.evo{display:grid;grid-template-columns:3.2rem 1fr 7rem;gap:.6rem;align-items:center;margin:.3rem 0}
.evo .bar2{min-width:2px}
.bar2{display:flex;height:.7rem;border-radius:.4rem;overflow:hidden;background:var(--p3)}
.bar2 i{display:block;height:100%}.bar2 .gp{background:var(--ac)}.bar2 .gw{background:var(--warn)}
.dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;vertical-align:middle}.dot.g{background:var(--ac)}.dot.w{background:var(--warn)}
th.srt{cursor:pointer}
th.cb,td.cb{width:2.2rem;text-align:center}
.b:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){table.rs td.cb{justify-content:flex-start}table.rs td.cb::before{content:""}.evo{grid-template-columns:3rem 1fr 5.5rem}}

#pbody td[data-l="Funcionário"]{min-width:11rem}
#pbody td.ac{white-space:normal;min-width:9rem}
.doc tr.t td:first-child{white-space:nowrap}

#pbody table{font-size:.86rem}
#pbody th{padding:.5rem .45rem;font-size:.68rem}
#pbody td{padding:.5rem .45rem}
#pbody td.ac .b.s{margin:.1rem .15rem .1rem 0;padding:.28rem .5rem}

#pbody th{white-space:normal}
