@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--bg:#f4f6f5;--surface:#fff;--surface-muted:#f0f3f1;--border:#e2e7e4;--border-strong:#cfd7d2;--text:#121a15;--text-muted:#5f6e65;--brand:#018743;--brand-strong:#016a35;--brand-soft:#e5f4eb;--brand-contrast:#fff;--danger:#c4320a;--danger-bg:#fef0ec;--ok:#067647;--ok-bg:#e3f5ea;--warn:#93370d;--warn-bg:#fff6dc;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #1018140d, 0 1px 3px #1018140a;--shadow-lg:0 8px 24px #10181414;--font:var(--font-inter), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0c110e;--surface:#141b17;--surface-muted:#1b241f;--border:#26322b;--border-strong:#34433a;--text:#e8eee9;--text-muted:#98a89e;--brand:#3fbf7a;--brand-strong:#5fd394;--brand-soft:#14301f;--brand-contrast:#06140c;--danger:#ff8a73;--danger-bg:#3a1a12;--ok:#7fd9a6;--ok-bg:#12301f;--warn:#f5c76b;--warn-bg:#352a12;--shadow:0 1px 2px #0006;--shadow-lg:0 8px 24px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:14px/1.55 var(--font);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.02em;margin:0 0 4px;font-size:24px;font-weight:800}h2{letter-spacing:-.01em;margin:28px 0 10px;font-size:16px;font-weight:700}p{margin:0 0 8px}code{background:var(--surface-muted);border-radius:6px;padding:1px 6px;font-size:.92em}.muted{color:var(--text-muted)}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:4px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-top{justify-content:space-between;align-items:center;display:flex}.sidebar-body{flex-direction:column;flex:1;gap:4px;display:flex}.nav-toggle,.nav-burger{display:none}.brand{letter-spacing:.04em;padding:0 8px 12px;font-size:18px;font-weight:800}.brand span{color:var(--brand)}.nav{flex-direction:column;gap:1px;display:flex}.nav a{border-radius:var(--radius-sm);color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-weight:500;transition:background .12s,color .12s;display:flex}.nav a:hover{background:var(--surface-muted);text-decoration:none}.nav a.active{background:var(--brand-soft);color:var(--brand-strong);box-shadow:inset 3px 0 0 var(--brand);font-weight:700}.nav-group{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:16px 10px 4px;font-size:11px;font-weight:700}.nav-alerts{margin:12px 8px 0;font-size:13px}.nav-count{color:#fff;text-align:center;background:#d92d20;border-radius:999px;min-width:22px;padding:1px 7px;font-size:12px;font-weight:700;line-height:18px}.sidebar .me{border-top:1px solid var(--border);margin-top:auto;padding:12px 8px 4px}.sidebar .me>a{color:var(--text);font-weight:700}.main{width:100%;max-width:1240px;padding:32px 36px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head p.muted{max-width:760px}@media (max-width:860px){.shell{grid-template-columns:1fr}.sidebar{z-index:20;border-right:0;border-bottom:1px solid var(--border);height:auto;max-height:100vh;box-shadow:var(--shadow);padding:10px 12px;position:sticky;top:0}.brand{padding:0 4px}.brand img{width:120px;height:auto}.nav-burger{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-muted);align-items:center;gap:8px;padding:8px 14px;font-weight:700;display:inline-flex}.sidebar-body{padding-top:8px;display:none}.nav-toggle:checked~.sidebar-body{display:flex}.main{padding:20px 16px 40px}h1{font-size:21px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.stat{transition:transform .12s,box-shadow .12s,border-color .12s;display:block;position:relative}a.stat:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);text-decoration:none;transform:translateY(-1px)}.stat>.muted:first-child{font-size:13px;font-weight:600}.stat .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:28px;font-weight:800;line-height:1.25}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.card .table-wrap{box-shadow:none}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:10px 14px}th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface-muted);white-space:nowrap;font-size:11.5px;font-weight:700}tbody tr{transition:background .1s}tbody tr:hover{background:color-mix(in srgb, var(--surface-muted) 60%, transparent)}tr:last-child td{border-bottom:0}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:38px;padding:8px 10px;transition:border-color .12s,box-shadow .12s}input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--brand);vertical-align:-3px;width:16px;height:16px}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent);outline:none}input[type=number]{width:90px}button,.button{background:var(--brand);color:var(--brand-contrast);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:8px 16px;font-weight:700;transition:background .12s,box-shadow .12s;display:inline-flex}button:hover,.button:hover{background:var(--brand-strong);text-decoration:none}button:disabled{opacity:.55;cursor:not-allowed}button.secondary,.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow)}button.secondary:hover,.button.secondary:hover{background:var(--surface-muted)}button.danger{background:var(--danger);color:#fff}button.danger:hover{filter:brightness(.92)}form.inline{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.stack{gap:12px;display:grid}label.field{gap:6px;font-weight:600;display:grid}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.filters a.badge{color:var(--text);padding:5px 12px;font-size:13px;font-weight:600}.filters a.badge:hover{border-color:var(--brand);text-decoration:none}.filters a.badge.good{background:var(--brand);color:var(--brand-contrast)}.flash{border-radius:var(--radius);border:1px solid #0000;margin-bottom:16px;padding:12px 14px;font-weight:600}.flash.ok{background:var(--ok-bg);color:var(--ok);border-color:color-mix(in srgb, var(--ok) 25%, transparent)}.flash.error{background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 25%, transparent)}.notice{background:var(--warn-bg);color:var(--text);border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--warn) 20%, transparent);margin-bottom:16px;padding:12px 14px}.badge{background:var(--surface-muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.good{background:var(--ok-bg);color:var(--ok);border-color:#0000}.badge.bad{background:var(--danger-bg);color:var(--danger);border-color:#0000}.badge.warn{background:var(--warn-bg);color:var(--warn);border-color:#0000}.empty{text-align:center;color:var(--text-muted);padding:28px}.login{background:radial-gradient(1200px 500px at 50% -10%, var(--brand-soft), var(--bg));place-items:center;min-height:100vh;padding:16px;display:grid}.login .card{width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:28px}.main>section.card{margin-bottom:16px}.card h2{margin:0 0 12px;font-size:17px}.employee-form fieldset{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 14px;padding:14px}.employee-form legend{padding:0 6px;font-weight:700}.form-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:14px;display:grid}.form-grid label{gap:6px;font-size:13.5px;font-weight:600;display:grid}.form-grid label .muted{font-weight:400}.form-grid .wide{grid-column:1/-1}.employee-form fieldset:disabled input,.employee-form fieldset:disabled select,.employee-form fieldset:disabled textarea{background:var(--surface-muted)}.checklist{gap:6px;margin:0;padding-left:4px;list-style:none;display:grid}.employee-code code{font-size:20px;font-weight:700}.status-action{margin-bottom:10px;display:flex}.status-action input[name=reason]{min-width:260px}.section-title{align-items:center;gap:8px;display:flex}.stat.tone-warn{background:var(--warn-bg);border-color:color-mix(in srgb, var(--warn) 25%, transparent)}.stat.tone-bad{border-color:color-mix(in srgb, var(--danger) 45%, transparent);box-shadow:inset 4px 0 0 var(--danger), var(--shadow)}.stat.tone-bad .value{color:var(--danger)}.stat.tone-zero .value{color:var(--text-muted)}.bars{align-items:flex-end;gap:8px;height:170px;margin-top:8px;display:flex}.bars>div{text-align:center;flex:1;font-size:11px}.bars .bar{background:linear-gradient(180deg, var(--brand), var(--brand-strong));border-radius:6px 6px 2px 2px}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface-muted) 25%, var(--border) 50%, var(--surface-muted) 75%);background-size:200% 100%;animation:1.2s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.table-search{z-index:5;background:var(--bg);align-items:center;gap:10px;margin-bottom:10px;padding:8px 0;display:flex;position:sticky;top:0}.table-search input{background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%235f6e65' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 3.5 3.5'/%3E%3C/svg%3E") no-repeat 14px center;border-radius:999px;flex:1;max-width:420px;min-height:42px;padding-left:38px}.select-search{gap:4px;min-width:0;display:inline-grid}.select-search input{min-height:32px;padding:4px 10px;font-size:13px}.cat-section{margin-top:16px}.cat-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.cat-head .cat-edit{margin-left:auto}.cat-tiles{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:start;gap:14px;display:grid}.cat-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:6px;padding:10px;display:grid}.cat-tile.off{opacity:.6}.cat-thumb{aspect-ratio:1/.8;background:var(--brand-soft);border-radius:12px;place-items:center;display:grid;overflow:hidden}.cat-thumb img{object-fit:contain;width:100%;height:100%}.cat-add{background:var(--surface-muted);border-style:dashed;border-width:2px;align-content:start}.cat-edit>summary{cursor:pointer;color:var(--brand);font-size:13px;font-weight:700}.cat-edit[open]{gap:8px;display:grid}.cat-sub-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:10px 0 2px;font-size:13px}.cat-sub{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;display:flex}.duty-box{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-muted);gap:4px;margin:12px 8px 0;padding:10px 12px;display:grid}.duty-box.on{border-color:color-mix(in srgb, var(--ok) 40%, transparent);background:var(--ok-bg)}.duty-switch{width:100%;color:var(--text);min-height:32px;box-shadow:none;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.duty-switch:hover{background:0 0}.duty-label{font-size:15px;font-weight:800}.duty-box.on .duty-label{color:var(--ok)}.duty-track{background:var(--border-strong);border-radius:999px;width:46px;height:26px;transition:background .15s;position:relative}.duty-thumb{width:20px;height:20px;box-shadow:var(--shadow);background:#fff;border-radius:50%;transition:left .15s;position:absolute;top:3px;left:3px}.duty-box.on .duty-track{background:var(--ok)}.duty-box.on .duty-thumb{left:23px}:root{--viz-1:#2a78d6}@media (prefers-color-scheme:dark){:root{--viz-1:#3987e5}}.viz-mark{fill:var(--viz-1);transition:opacity .12s}.viz-fill{background:var(--viz-1)}.viz-grid{stroke:var(--border);stroke-width:1px}.viz-tick{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10px}.viz [tabindex]:focus-visible{outline:2px solid var(--viz-1);outline-offset:1px}.viz-tip{pointer-events:none;z-index:2;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);white-space:nowrap;border-radius:8px;flex-direction:column;gap:1px;padding:6px 10px;font-size:12px;display:flex;position:absolute;top:0;transform:translate(-50%)}.viz-tip span{color:var(--text-muted)}.site{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.site-wrap{width:100%;max-width:860px;margin:0 auto;padding:0 16px}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.site-header-row{justify-content:space-between;align-items:center;height:64px;display:flex}.site-nav{gap:16px;font-weight:600;display:flex}.site-main{flex:1;padding-top:32px;padding-bottom:48px;font-size:15px}.site-hero{padding:24px 0 32px}.site-hero h1{max-width:640px;font-size:clamp(28px,6vw,40px);line-height:1.15}.site-lead{color:var(--text-muted);max-width:600px;margin-top:12px;font-size:17px}.site-badge{background:var(--brand-soft);color:var(--brand-strong);border-radius:999px;margin-top:12px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-block}.site-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:12px;display:grid}.site-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.site-card h2{margin-top:0}.site-doc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px clamp(16px,4vw,32px)}.site-doc ul,.site-doc ol{margin:0 0 8px;padding-left:20px}.site-doc li{margin-bottom:6px}.site-footer{border-top:1px solid var(--border);background:var(--surface);padding:20px 0;font-size:13px}.site-footer-links{flex-wrap:wrap;gap:8px 18px;margin-bottom:10px;display:flex}
