
:root{
  --bg:#061826; --bg2:#0a2638; --card:#102a3d; --card2:#0c2131;
  --line:#254b61; --text:#eaf7ff; --muted:#90b6ca; --accent:#52d4ff;
  --good:#38e27a; --warn:#ffd166; --bad:#ff6b6b; --chip:#18364b;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,var(--bg),#03101a);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif}
button,input,select{font:inherit}
.app{max-width:1120px;margin:0 auto;padding:16px 16px 80px}
.hero{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,#143951,#071b2a);box-shadow:0 10px 28px rgba(0,0,0,.25)}
.eyebrow{margin:0;color:var(--accent);letter-spacing:.16em;font-size:12px}.hero h1{font-size:28px;margin:6px 0}.hero p{color:var(--muted);margin:0}
.ring{width:98px;height:98px;border-radius:28px;background:var(--card2);display:grid;place-items:center;border:1px solid var(--line)}
.ring small{color:var(--muted)}.ring strong{display:block;text-align:center;font-size:34px;color:var(--good)}
.nav{position:sticky;top:0;z-index:3;display:flex;gap:8px;overflow:auto;padding:12px 0;background:linear-gradient(180deg,var(--bg),rgba(6,24,38,.86))}
.nav button{white-space:nowrap;border:1px solid var(--line);background:var(--chip);color:var(--text);padding:10px 12px;border-radius:999px}
.nav button.active{background:var(--accent);color:#04202f;border-color:var(--accent);font-weight:800}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.two{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}
.card{background:rgba(16,42,61,.92);border:1px solid var(--line);border-radius:22px;padding:16px;margin-top:14px;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.metric{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px}.metric span{color:var(--muted);font-size:13px}.metric strong{display:block;font-size:22px;margin-top:6px}
h2{font-size:18px;margin:0 0 12px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:10px;border-bottom:1px solid var(--line);font-size:14px;text-align:left}th{color:var(--muted);font-weight:650}
input,select{width:100%;background:#071d2b;color:var(--text);border:1px solid #315a70;border-radius:12px;padding:9px}
.primary{background:var(--accent);color:#04202f;border:none;border-radius:12px;padding:10px 13px;font-weight:800}.ghost{background:var(--chip);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:10px 13px}
.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--chip);border:1px solid var(--line);font-size:12px}.notice{color:var(--warn);font-size:13px}.muted{color:var(--muted)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.time-card{border:1px solid var(--line);background:var(--card2);border-radius:16px;padding:12px}.time-card b{color:var(--accent)}
.hidden{display:none!important}
.footer-note{margin-top:16px;color:var(--muted);font-size:13px;line-height:1.6}
@media(max-width:820px){.grid,.two,.timeline{grid-template-columns:1fr}.hero{align-items:flex-start}.ring{width:82px;height:82px}.ring strong{font-size:28px}table{min-width:680px}.hero h1{font-size:23px}}
