@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--brand:#243c48;--ink:#182c36;--muted:#465961;--canvas:#f3f2ec;--surface:#fff;--line:#88969b;--softLine:#d8dedc;--success:#195338;--successBg:#eaf4ec;--warning:#694300;--warningBg:#fff2cc;--danger:#8c252b;--dangerBg:#fceced;--pending:#304d78;--pendingBg:#ebf0fa;--nav:220px;--r-ctrl:12px;--r-card:16px}*{box-sizing:border-box}html,body{background:var(--canvas);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font:15px/1.45 Inter,-apple-system,Segoe UI,sans-serif}a{color:var(--brand);text-decoration:none}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:32px;font-weight:600}h2{margin:24px 0 10px;font-size:20px;font-weight:600}h3{margin:14px 0 6px;font-size:16px;font-weight:600}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600}.lead{color:var(--muted);margin:0 0 18px;font-size:17px}.icon{width:22px;height:22px;-webkit-mask:var(--i) center / contain no-repeat;-webkit-mask:var(--i) center / contain no-repeat;mask:var(--i) center / contain no-repeat;vertical-align:middle;background:currentColor;flex:none;display:inline-block}.icon.sm{width:16px;height:16px}.app{grid-template-columns:var(--nav) 1fr;grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.sidebar{background:var(--brand);color:#fff;flex-direction:column;grid-row:1/span 3;gap:4px;padding:20px 12px;display:flex}.sidebar .logo{color:#fff;align-items:center;gap:10px;padding:6px 10px 18px;font-size:20px;font-weight:700;display:flex}.sidebar .section{letter-spacing:.1em;text-transform:uppercase;opacity:.85;padding:8px 12px 10px;font-size:12px}.sidebar a.nav{border-radius:var(--r-ctrl);color:#fff;align-items:center;gap:12px;padding:12px 14px;font-size:15px;font-weight:600;display:flex}.sidebar a.nav.active{color:var(--brand);background:#fff}.sidebar .foot{opacity:.9;border-top:1px solid #ffffff40;margin-top:auto;padding:14px 12px 0;font-size:13px}.sidebar .foot b{font-size:14px;display:block}.topbar{background:var(--surface);border-bottom:1px solid var(--softLine);align-items:center;gap:18px;padding:14px 32px;display:flex}.topbar .title{font-size:17px;font-weight:600}.topbar .sub{color:var(--muted);font-size:14px}.topbar .grow{flex:1}.avatar{background:var(--canvas);width:40px;height:40px;color:var(--brand);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.page{max-width:1240px;padding:32px}.statusbar{background:var(--surface);border-top:1px solid var(--softLine);color:var(--muted);gap:32px;padding:12px 32px;font-size:14px;display:flex}.statusbar .grow{flex:1}@media (max-width:900px){.app{grid-template-columns:1fr}.sidebar{flex-flow:wrap;grid-row:auto;padding:10px}.sidebar .foot,.sidebar .section{display:none}.page{padding:16px}}.chips{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-ctrl);color:var(--ink);cursor:pointer;padding:10px 16px;font-size:15px;font-weight:600}.chip.active{background:var(--successBg);border:2px solid var(--brand)}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.card{background:var(--surface);border:1px solid var(--softLine);border-radius:var(--r-card);padding:20px 22px}.card .label{color:var(--muted);margin-bottom:8px;font-size:15px}.big{letter-spacing:-.01em;font-size:48px;font-weight:600;line-height:1.05}.big small{color:var(--muted);margin-left:4px;font-size:20px;font-weight:500}.muted{color:var(--muted)}.small{font-size:13px}.badge{border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:14px;font-weight:600;display:inline-flex}.badge.ok{background:var(--successBg);color:var(--success)}.badge.warn{background:var(--warningBg);color:var(--warning)}.badge.danger{background:var(--dangerBg);color:var(--danger)}.badge.pending{background:var(--pendingBg);color:var(--pending)}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.btn{border-radius:var(--r-ctrl);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-family:inherit;font-size:15px;font-weight:600;display:inline-flex}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn:disabled{opacity:.45;cursor:default}.btn.sm{min-height:36px;padding:6px 12px;font-size:14px}.btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--pending);outline-offset:2px}input,select,textarea{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;min-height:42px;padding:9px 12px}label.field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}label.field>input,label.field>select,label.field>textarea{color:var(--ink);font-weight:400}.form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:12px;display:grid}table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--softLine);border-radius:var(--r-card);width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--softLine);vertical-align:top;padding:12px 14px}th{color:var(--muted);background:#fafaf7;font-size:13px;font-weight:600}tr:last-child td{border-bottom:0}tr.danger td{background:var(--dangerBg)}tr.warn td{background:var(--warningBg)}.tablewrap{overflow-x:auto}.error{background:var(--dangerBg);color:var(--danger);border-radius:10px;padding:12px 14px;font-weight:600}.grid-tasks{gap:3px;font-size:12px;display:grid}.grid-tasks .cell{border-radius:6px;justify-content:center;align-items:center;height:28px;font-weight:600;display:flex}.cell.done{background:var(--successBg);color:var(--success)}.cell.skipped{background:var(--warningBg);color:var(--warning)}.cell.missing,.cell.late{background:var(--dangerBg);color:var(--danger)}.cell.pending{background:var(--pendingBg);color:var(--pending)}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login .card{width:100%;max-width:440px;padding:32px}.thumb{object-fit:cover;background:var(--softLine);border-radius:8px;width:56px;height:56px}@media print{.sidebar,.topbar,.statusbar,.noprint{display:none!important}.app{display:block}body{background:#fff;font-size:10.5pt}.page{max-width:none;padding:0}table{border:0;border-radius:0}th,td{padding:5px 7px;font-size:9.5pt}thead{display:table-header-group}tr{page-break-inside:avoid}h2{page-break-after:avoid}.pagebreak{page-break-before:always}.card{border:1px solid #000}@page{size:A4 portrait;margin:18mm}}
