:root{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--body-bg:radial-gradient(circle at top,#16213e,#0f172a 60%,#020617);--text-color:#f8fafc;--text-muted:#cbd5f5;--card-bg:rgba(30,41,59,.85);--card-border:rgba(148,163,184,.2);--card-shadow:rgba(15,23,42,.75);--button-muted-bg:rgba(15,23,42,.65);--button-muted-border:rgba(148,163,184,.35);--button-active-bg:#0ea5e9;--button-active-color:#fff;--chip-bg:rgba(15,23,42,.5);--input-bg:rgba(15,23,42,.7);--input-border:rgba(148,163,184,.45);--input-text:#f8fafc;--link-color:#60a5fa}body[data-theme=light]{--body-bg:linear-gradient(180deg,#f8fafc,#eef2ff 40%,#e2e8f0);--text-color:#0f172a;--text-muted:#4b5563;--card-bg:hsla(0,0%,100%,.98);--card-border:rgba(148,163,184,.35);--card-shadow:rgba(15,23,42,.08);--button-muted-bg:#f1f5f9;--button-muted-border:rgba(148,163,184,.45);--button-active-bg:#2563eb;--button-active-color:#fff;--chip-bg:rgba(226,232,240,.85);--input-bg:#fff;--input-border:rgba(148,163,184,.55);--input-text:#0f172a;--link-color:#2563eb}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--body-bg);color:var(--text-color);transition:background .35s ease,color .35s ease}a{color:inherit;text-decoration:none}main{padding:clamp(1rem,3vw,2rem);max-width:1600px;margin:0 auto}.card{background-color:var(--card-bg);border-radius:16px;padding:clamp(1rem,2vw,1.5rem);box-shadow:0 20px 45px -20px var(--card-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--card-border)}.card,.form-label{color:var(--text-color)}.form-label{display:block;font-weight:600;margin-bottom:.35rem;font-size:.9rem}.grid{display:grid;grid-gap:clamp(.75rem,2vw,1.5rem);gap:clamp(.75rem,2vw,1.5rem)}.grid.kpi{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}@media (max-width:1024px){.grid.kpi{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid.kpi{grid-template-columns:1fr}}.grid.two-columns{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}@media (max-width:900px){.grid.two-columns{grid-template-columns:1fr}}