:root{color-scheme:light dark;--bg:#f5f7fb;--card:#fff;--ink:#16202f;--muted:#617088;--line:#dde3ee;--brand:#2a4fc7;--up:#0a7d3b;--down:#b3261e;--soft:#eef3ff}
@media (prefers-color-scheme:dark){:root{--bg:#10151f;--card:#18202e;--ink:#e8edf6;--muted:#9aa8c0;--line:#2b3547;--brand:#8fb0ff;--up:#5dd68f;--down:#ff8f86;--soft:#1d2840}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI","Noto Sans KR","Malgun Gothic",sans-serif}
.top{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;padding:20px 16px 8px;max-width:1100px;margin:0 auto}
.top small{color:var(--brand);font-weight:700;letter-spacing:.06em}
h1{margin:2px 0 0;font-size:26px}
.status{display:flex;flex-wrap:wrap;gap:6px}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:13px;color:var(--muted)}
.pill.ok{color:var(--up)}.pill.warn{color:var(--down);border-color:var(--down)}
main{max-width:1100px;margin:0 auto;padding:8px 16px 48px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.toolbar h2{margin:0;font-size:19px}
label{font-size:13px;color:var(--muted)}
input{font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}
.toolbar input{width:auto}
button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:8px 14px}
button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}
@media (prefers-color-scheme:dark){button.primary{color:#0b1220}}
.info{background:var(--soft);border-radius:8px;padding:10px 12px;margin:12px 0 0;font-size:13.5px;color:var(--muted)}
.warnbox{background:transparent;border:1px solid var(--down);color:var(--down);border-radius:8px;padding:10px 12px;margin:12px 0}
.metrics{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
details.card>summary{cursor:pointer;font-size:16px}
.item{border-top:1px solid var(--line);padding:12px 0;display:grid;gap:4px}
.item:first-of-type{border-top:0}
.item h3{margin:0;font-size:16px}
.item h3 a{color:var(--brand)}
.meta{color:var(--muted);font-size:13px}
.move-up{color:var(--up);font-weight:600}.move-down{color:var(--down);font-weight:600}
.dday-soon{color:var(--down);font-weight:700}
.reasons div{font-size:14px}.action{font-size:13px;color:var(--muted)}
.empty{color:var(--muted);padding:8px 0}
form.login{max-width:360px;margin:48px auto;display:grid;gap:12px}
.err{color:var(--down);font-size:14px;min-height:1.4em}
@media (max-width:600px){h1{font-size:22px}.card{padding:12px}}
