:root{--bg:#f3f4f7;--panel:#ffffff;--fg:#1d2230;--muted:#5f6678;--line:#dfe2ea;--side:#080f20;--side-fg:#e3e8f2;--side-muted:#9aa8c4;--side-on:#1c2a4a;--accent:#c2412d;--accent-soft:#f8e3de;--ok:#1f7a52;--ok-bg:#e1f2ea;--warn:#9a6a00;--warn-bg:#f6edd6;--bad:#b03030;--bad-bg:#f5e1e1;--info:#2459a8;--info-bg:#e2ebf8;--wood:#2f8f5b;--fire:#d2452f;--earth:#b8862b;--metal:#8a8f9c;--water:#2b5fa8;--serif:"Nanum Myeongjo",serif;--sans:"Noto Sans KR",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:15px;line-height:1.6}a{color:inherit}.adm{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.adm-side{background:var(--side);color:var(--side-fg);padding:16px 10px;display:flex;flex-direction:column;gap:14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.adm-brand{font-family:var(--serif);font-size:19px;font-weight:800;padding:0 8px;text-decoration:none}.adm-brand small{font-family:var(--sans);font-size:11px;color:var(--side-muted);margin-left:4px}.adm-grp{display:flex;flex-direction:column;gap:2px}.adm-grp-t{font-size:11px;letter-spacing:.08em;color:var(--side-muted);padding:0 8px 4px}.adm-link{padding:7px 10px;border-radius:8px;text-decoration:none;font-size:14px}.adm-link:hover{background:var(--side-on)}.adm-link[aria-current=page]{background:var(--side-on);box-shadow:inset 3px 0 0 var(--accent)}.adm-foot{margin-top:auto;font-size:12px;color:var(--side-muted);padding:0 8px}.adm-main{padding:26px 32px 60px;min-width:0;display:flex;flex-direction:column;gap:20px}.adm{background:#f6f3f8 url(/bg/admin-flower.jpg) 50%/cover fixed no-repeat}.adm-side{background:var(--side) url(/bg/admin-side-flower.jpg?v=4) no-repeat right center /cover}.adm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.adm-head h1{font-family:var(--serif);font-size:26px;margin:0}.adm-head p{margin:4px 0 0;color:var(--muted)}.adm-actions{display:flex;gap:8px;flex-wrap:wrap}.card{border:1px solid var(--line);border-radius:12px;padding:18px 20px}.btn,.card{background:var(--panel)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--line);color:var(--fg);font:inherit;font-size:14px;cursor:pointer;text-decoration:none}.btn:hover{border-color:var(--muted)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.input,.select,textarea.input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--fg);font:inherit}.label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{padding:6px 12px;border-radius:99px;border:1px solid var(--line);background:var(--panel);font-size:14px;cursor:pointer}.tab[aria-selected=true]{background:var(--fg);color:var(--panel);border-color:var(--fg)}.pill{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:99px;white-space:nowrap}.pill-ok{color:var(--ok);background:var(--ok-bg)}.pill-warn{color:var(--warn);background:var(--warn-bg)}.pill-bad{color:var(--bad);background:var(--bad-bg)}.pill-info{color:var(--info);background:var(--info-bg)}.table-wrap{overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl td,.tbl th{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.tbl th{font-size:12px;color:var(--muted);font-weight:500}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:var(--mono)}.grid2{grid-template-columns:1fr 1fr;grid-gap:16px}.grid2,.grid3{display:grid;gap:16px}.grid3{grid-template-columns:repeat(3,1fr);grid-gap:16px}.muted{color:var(--muted)}@media (max-width:860px){.adm{grid-template-columns:1fr}.adm-side{position:static;height:auto}.adm-main{padding:18px 16px 40px}.grid2,.grid3{grid-template-columns:1fr}}