:root{--verde:#128c4b;--verde2:#25d366;--verde-claro:#e8f7ee;--tx:#14201a;--tx2:#5b6b62;--borda:#e3e8e5;
--fundo:#f5f7f6;--card:#fff;--verm:#c2382f;--verm-claro:#fdecea;--amar:#b7791f;--amar-claro:#fff6e0;--azul:#2563eb;
--r:10px;font-family:"IBM Plex Sans",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--fundo);color:var(--tx);font-size:14px;line-height:1.45}
a{color:var(--verde);text-decoration:none}a:hover{text-decoration:underline}
h1{font-family:Archivo,sans-serif;font-size:22px;margin:0 0 4px}h2{font-family:Archivo,sans-serif;font-size:16px;margin:0 0 12px}
.app{display:flex;min-height:100vh}
.lado{width:228px;background:#0f1f17;color:#cfe3d7;padding:18px 12px;flex-shrink:0;display:flex;flex-direction:column}
.marca{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;color:#fff;font-family:Archivo,sans-serif;font-weight:700;font-size:19px}
.marca svg{width:30px;height:30px}
.lado a{display:block;color:#cfe3d7;padding:8px 10px;border-radius:8px;margin:1px 0}
.lado a:hover{background:#1b3326;text-decoration:none}.lado a.ativo{background:var(--verde);color:#fff}
.lado .sec{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7d9a8a;margin:14px 10px 4px}
.lado .rod{margin-top:auto;font-size:11px;color:#7d9a8a;padding:10px}
.principal{flex:1;padding:24px 28px;min-width:0}
.topo{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.sub{color:var(--tx2);margin:0}
.card{background:var(--card);border:1px solid var(--borda);border-radius:var(--r);padding:16px 18px;margin-bottom:16px}
.grade{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.g2,.g3,.g4{grid-template-columns:1fr}.lado{display:none}}
.kpi{background:var(--card);border:1px solid var(--borda);border-radius:var(--r);padding:14px 16px}
.kpi .v{font-size:24px;font-weight:600;font-family:Archivo,sans-serif}.kpi .l{color:var(--tx2);font-size:12px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--borda);vertical-align:top}
th{font-size:12px;color:var(--tx2);font-weight:600;background:#fafbfa}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
tr:hover td{background:#fafcfb}
.barra{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#eef1ef;min-width:120px}
.barra span{display:block;height:100%}
.c-produtivo{background:#128c4b}.c-neutro{background:#2a78d6}.c-improdutivo{background:#e34948}.c-ocioso{background:#eda100}
.barra span+span{border-left:2px solid #fff}
.grafico{position:relative;height:260px;width:100%}
.exportar{display:flex;gap:8px}
.t-intervalo{background:#eef1ef;color:#55665c}
.tag{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}
.t-produtivo{background:var(--verde-claro);color:var(--verde)}.t-neutro{background:#e6effb;color:#1c5cab}
.t-improdutivo{background:var(--verm-claro);color:var(--verm)}.t-ocioso{background:var(--amar-claro);color:var(--amar)}
.t-pendente{background:var(--amar-claro);color:var(--amar)}.t-ativo{background:var(--verde-claro);color:var(--verde)}
.t-inativo{background:#eef1ef;color:#55665c}
.neg{color:var(--verm);font-weight:600}.pos{color:var(--verde);font-weight:600}.muted{color:var(--tx2)}
.alerta{padding:10px 14px;border-radius:8px;margin-bottom:14px}.a-ok{background:var(--verde-claro);color:#0c5e33}
.a-erro{background:var(--verm-claro);color:var(--verm)}.a-aviso{background:var(--amar-claro);color:#7a520f}
input,select,textarea{font:inherit;padding:7px 10px;border:1px solid #cfd8d3;border-radius:8px;background:#fff;color:var(--tx)}
input:focus,select:focus,textarea:focus{outline:2px solid #b5e5c9;border-color:var(--verde)}
textarea{width:100%}label{font-size:12px;color:var(--tx2);display:block;margin-bottom:3px}
.campo{margin-bottom:10px}.linha{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.btn{display:inline-block;background:var(--verde);color:#fff;border:0;padding:8px 14px;border-radius:8px;cursor:pointer;font:inherit;font-weight:600}
.btn:hover{filter:brightness(1.08);text-decoration:none}.btn.sec{background:#fff;color:var(--verde);border:1px solid var(--verde)}
.btn.peq{padding:4px 10px;font-size:12px}.btn.verm{background:var(--verm)}
.btn-ponto{font-size:20px;padding:18px 34px;border-radius:14px}
.tl{position:relative}.tl-item{display:flex;gap:12px;padding:6px 0;border-bottom:1px dashed var(--borda)}
.tl-h{width:92px;flex-shrink:0;color:var(--tx2);font-variant-numeric:tabular-nums}
.relogio{font-size:42px;font-weight:700;font-family:Archivo,sans-serif;font-variant-numeric:tabular-nums}
details summary{cursor:pointer;color:var(--verde);font-weight:600}
.login-pag{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f1f17,#174a2f)}
.login-box{background:#fff;border-radius:14px;padding:34px;width:360px;box-shadow:0 20px 50px #0004}
.login-box input{width:100%}.rodape-sm{color:#9fb8aa;font-size:12px;text-align:center;margin-top:14px}
.mini{font-size:12px}.chip{background:#eef1ef;border-radius:6px;padding:1px 6px;font-size:12px;margin-right:4px;display:inline-block}
.escura{background:#0f1f17;color:#fff}
@media print{.lado,.nao-imprimir{display:none!important}.principal{padding:0}.card{border:0;padding:0}
body{background:#fff}@page{size:A4 portrait;margin:14mm}}
