:root{--bg:#111317;--s1:#1a1d23;--s2:#232730;--line:#2e333d;--text:#eceef2;--dim:#9aa1ae;--acc:#f2b04c;--acc-ink:#1a1306;--ok:#46c2a0;--bad:#f2706a;--blue:#7aa7ff;--sans:"IBM Plex Sans KR", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--tabbar:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font:400 15px/1.45 var(--sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p{margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.dim{color:var(--dim)}.ok{color:var(--ok)}.bad{color:var(--bad)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.err{color:var(--bad);min-height:1.45em;font-size:13px}.empty{text-align:center;padding:24px 0}.card{background:var(--s1);border:1px solid var(--line);border-radius:14px;padding:16px}.t-acc{--c:var(--acc)}.t-ok{--c:var(--ok)}.t-bad{--c:var(--bad)}.t-dim{--c:var(--dim)}.chip,.strip,.btn.t-bad{background:color-mix(in srgb, var(--c) 16%, transparent);color:var(--c)}.chip{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.strip{border-radius:12px;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:14px;display:flex}.btn{background:var(--s2);border:0;border-radius:12px;padding:12px 16px;font-weight:600}.btn.primary{background:var(--acc);color:var(--acc-ink);width:100%}.btn.danger{background:var(--bad);color:var(--acc-ink)}.btn.small{border-radius:10px;padding:6px 12px;font-size:13px}.icon-btn{background:var(--s2);border:0;border-radius:999px;place-items:center;width:40px;height:40px;display:grid}.text-btn{color:var(--dim);background:0 0;border:0;padding:8px}.center{place-items:center;min-height:100dvh;padding:16px;display:grid}.gate{gap:16px;width:min(100%,380px);display:grid}.gate h1{font-size:22px}.form{gap:16px;display:grid}.label{color:var(--dim);justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}input,textarea{background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;padding:11px 12px}textarea{resize:vertical}.chips{gap:8px;display:flex}.pick{border:1px solid var(--line);color:var(--dim);background:0 0;border-radius:999px;padding:6px 14px}.pick[aria-pressed=true]{background:color-mix(in srgb, var(--acc) 16%, transparent);border-color:var(--acc);color:var(--acc);font-weight:600}.helper{margin-top:8px;font-size:13px}.preview{background:var(--bg);border:1px dashed var(--line);border-radius:12px;gap:2px;padding:10px 12px;font-size:13px;display:grid}.preview b{overflow-wrap:anywhere;font-size:15px}.tabs{border-bottom:1px solid var(--line);gap:20px;margin:4px 0 14px;display:flex;overflow-x:auto}.tabs button{color:var(--dim);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 0;font-weight:500}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--acc);font-weight:600}.head{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 0 12px;display:flex}.head h1{font-size:28px;font-weight:700;line-height:1.2}.head p{margin-top:2px;font-size:13px}.head-actions{align-items:center;gap:4px;display:flex}.kpis{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px;display:grid}.kpi{align-content:start;gap:2px;padding:14px;display:grid}.kpi>span{font-size:13px}.kpi b{font-size:28px;font-weight:600;line-height:1.2}.kpi small{font-size:12px}.bar{background:var(--s2);border-radius:999px;height:4px;margin-top:6px;overflow:hidden}.bar i{background:var(--acc);height:100%;display:block}.bar i.bad{background:var(--bad)}.chart-top{justify-content:space-between;align-items:center;display:flex}.chart h2,.sheet h2,.form-card h2{font-size:16px;font-weight:600}.legend{gap:12px;font-size:12px;display:flex}.legend span{align-items:center;gap:5px;display:inline-flex}.legend i{border-radius:50%;width:8px;height:8px}.plot{width:100%;height:160px;display:block}.xlabels{color:var(--dim);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.list{gap:12px;display:grid}.notice{gap:8px;display:grid}.notice-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.notice h3{overflow-wrap:anywhere;font-size:16px;font-weight:600}.notice .body{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.notice footer{justify-content:space-between;align-items:center;min-height:30px;font-size:12px;display:flex}.form-card{gap:14px;margin-bottom:20px;display:grid}.day{color:var(--dim);margin:16px 0 8px;font-size:13px;font-weight:600}.rows{padding:4px 16px}.row-item{grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.row-item+.row-item{border-top:1px solid var(--line)}.row-item p{overflow-wrap:anywhere;font-size:13px}.row-item time{font-size:12px}.dot{background:var(--s2);width:32px;height:32px;color:var(--dim);border-radius:50%;place-items:center;display:grid}.dot.up{background:color-mix(in srgb, var(--ok) 16%, transparent);color:var(--ok)}.dot.down{background:color-mix(in srgb, var(--bad) 16%, transparent);color:var(--bad)}.nav button{color:var(--dim);background:0 0;border:0;align-items:center;display:flex}.nav .pill{place-items:center;display:grid}.nav button[aria-current=page]{color:var(--text);font-weight:700}.nav button[aria-current=page] .pill{color:var(--acc)}.scrim{z-index:40;background:#0009;position:fixed;inset:0}.sheet{z-index:41;background:var(--s1);border:1px solid var(--line);padding:12px 20px calc(20px + env(safe-area-inset-bottom));outline:none;gap:12px;display:grid;position:fixed}.sheet .row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sheet-head{align-items:center;gap:12px;display:flex}.grab{background:var(--line);border-radius:999px;justify-self:center;width:36px;height:4px}@media (width<=959px){.wide-only,.nav .wide-only{display:none}.shell{padding:0 16px calc(var(--tabbar) + env(safe-area-inset-bottom) + 88px)}.sec{display:none}[data-tab=status]>.sec-status,[data-tab=notices]>.sec-notices,[data-tab=audit]>.sec-audit{display:block}.head{z-index:5;background:var(--bg);position:sticky;top:0}.nav{z-index:30;background:var(--s1);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.nav button{height:var(--tabbar);flex-direction:column;flex:1;justify-content:center;gap:2px;font-size:12px}.nav .pill{border-radius:999px;width:56px;height:30px}.nav button[aria-current=page] .pill{background:color-mix(in srgb, var(--acc) 16%, transparent)}.kpi.wide-only{display:none}.fab{z-index:20;right:16px;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 16px);background:var(--acc);color:var(--acc-ink);border:0;border-radius:999px;padding:14px 20px;font-weight:700;position:fixed}.sheet{border-bottom:0;border-radius:20px 20px 0 0;animation:.2s ease-out rise;bottom:0;left:0;right:0}.sheet.full{padding-top:calc(12px + env(safe-area-inset-top));border:0;border-radius:0;align-content:start;top:0;overflow-y:auto}.sheet.full .grab{display:none}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@media (width>=960px){.phone-only,.fab{display:none}.app{padding-left:72px}.shell{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:0 32px;max-width:1400px;padding:0 32px 48px;display:grid}.sec-status,.sec-audit{grid-column:1}.sec-notices{grid-area:1/2/span 2;max-height:100dvh;padding-bottom:24px;position:sticky;top:0;overflow-y:auto}.kpis{grid-template-columns:repeat(5,1fr)}.sec-notices .head h1{font-size:22px}.nav{z-index:30;background:var(--s1);border-right:1px solid var(--line);flex-direction:column;align-items:stretch;gap:4px;width:72px;padding:16px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.mark{height:48px;color:var(--acc);place-items:center;margin-bottom:12px;display:grid}.nav button{flex-direction:column;gap:2px;padding:10px 0;font-size:11px}.nav button[aria-current=page]{background:var(--s2);box-shadow:inset 2px 0 0 var(--acc)}.nav .logout{margin-top:auto;padding:12px 0}.sheet{border-radius:14px;width:420px;padding:24px;top:50%;left:50%;transform:translate(-50%,-50%)}.grab{display:none}}
