@import"https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{color:#e8edf7;background:#080d18;font-family:Noto Sans KR,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #080d18;--panel: #111827;--panel-soft: #151e2e;--border: rgba(148, 163, 184, .15);--muted: #8f9bad;--text: #e8edf7;--green: #37df99;--blue: #4f8cff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}.loginPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 20%,rgba(79,140,255,.14),transparent 32%),radial-gradient(circle at 80% 75%,rgba(55,223,153,.08),transparent 30%),#080d18}.loginCard{width:min(440px,100%);padding:44px;border:1px solid var(--border);border-radius:24px;background:#111827eb;box-shadow:0 26px 90px #00000059}.brandMark{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;color:#07110d;background:var(--green);font:800 16px/1 Manrope,sans-serif;letter-spacing:-.04em;box-shadow:0 8px 28px #37df9933}.brandMark.small{width:38px;height:38px;border-radius:11px;font-size:12px}.eyebrow{margin:22px 0 8px;color:#71809a;font:700 11px/1.2 Manrope,sans-serif;letter-spacing:.16em}.loginCard h1{margin:0;font:700 38px/1.1 Manrope,sans-serif}.loginDescription{margin:14px 0 32px;color:var(--muted);line-height:1.7}.loginCard label,.testForm label{display:block;margin-bottom:8px;color:#b7c1d0;font-size:13px;font-weight:600}.loginCard input,.testForm input{width:100%;height:48px;border:1px solid var(--border);border-radius:10px;padding:0 14px;color:var(--text);background:#0b1220;outline:none;transition:border-color .18s,box-shadow .18s}.loginCard input:focus,.testForm input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4f8cff1f}.loginCard button,.testForm button{height:48px;border:0;border-radius:10px;padding:0 20px;color:#06100c;background:var(--green);font-weight:700}.loginCard form>button{width:100%;margin-top:12px}.loginHint{margin:18px 0 0;text-align:center;color:#667389;font-size:12px}.appShell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;display:flex;flex-direction:column;padding:28px 18px;border-right:1px solid var(--border);background:#0b111e}.sidebarBrand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.sidebarBrand strong{display:block;font:700 16px/1.2 Manrope,sans-serif}.sidebarBrand span{display:block;margin-top:4px;color:#6d7990;font:600 10px/1 Manrope,sans-serif;text-transform:uppercase;letter-spacing:.12em}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:11px 13px;border-radius:9px;color:#8490a4;text-decoration:none;font-size:13px;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{color:#e7eef8;background:#151f30}.logoutButton{margin-top:auto;padding:11px;border:1px solid var(--border);border-radius:9px;color:#909bae;background:transparent}.content{grid-column:2;width:100%;max-width:1500px;margin:0 auto;padding:38px 42px 30px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.topbar .eyebrow{margin-top:0}.topbar h1{margin:0;font-size:29px;line-height:1.2}.topbarActions{display:flex;align-items:center;gap:10px}.statusPill,.countBadge{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:20px;color:#9ba7b9;background:#101827;font-size:12px;font-weight:600}.statusPill i{width:7px;height:7px;border-radius:50%;background:#667085}.statusPill.online i{background:var(--green);box-shadow:0 0 0 5px #37df991a}.secondaryButton{min-height:36px;padding:0 13px;border:1px solid var(--border);border-radius:9px;color:#c8d1df;background:#111827}.errorBanner{margin-bottom:18px;padding:13px 16px;border:1px solid rgba(255,103,115,.25);border-radius:10px;color:#ffabb2;background:#ff4b5a14;font-size:13px}.migrationBanner{margin-bottom:18px;padding:13px 16px;border:1px solid rgba(241,164,71,.25);border-radius:10px;color:#f3bd79;background:#f1a44714;font-size:13px}.metricsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metricCard,.panel{border:1px solid var(--border);border-radius:14px;background:var(--panel)}.metricCard{position:relative;overflow:hidden;min-height:143px;padding:22px}.metricCard.accent:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--green)}.metricCard span{display:block;color:var(--muted);font-size:12px;font-weight:600}.metricCard strong{display:block;margin:14px 0 7px;font:700 29px/1 Manrope,sans-serif;letter-spacing:-.03em}.metricCard small{color:#667389;font-size:11px}.twoColumn{display:grid;grid-template-columns:.82fr 1.18fr;gap:14px;margin-top:14px}.panel{padding:23px}.panelHeader{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.panelHeader .eyebrow{margin:0 0 7px}.panelHeader h2{margin:0;font-size:16px}.signal{width:10px;height:10px;border-radius:50%;background:#536076}.signal.ok{background:var(--green);box-shadow:0 0 0 6px #37df991a}.detailList{margin:0}.detailList div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid rgba(148,163,184,.09)}.detailList dt{color:#78859a;font-size:12px}.detailList dd{margin:0;font:600 12px/1.4 Manrope,Noto Sans KR,sans-serif}.emptyText{min-height:97px;display:flex;align-items:center;margin:0;color:#6f7c91;font-size:13px;line-height:1.7}.inputRow{display:grid;grid-template-columns:1fr auto;gap:9px}.testResult{display:flex;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px;border-radius:9px;font-size:12px}.testResult.eligible{color:#8ef0c3;background:#37df9917}.testResult.notEligible{color:#f3bd79;background:#f1a44717}.testResult span{opacity:.72}.clientsPanel{margin-top:14px}.clientForm{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr) auto;gap:9px;margin-bottom:16px}.tenantForm{grid-template-columns:minmax(150px,.7fr) minmax(200px,1fr) 150px auto}.clientForm input,select,.contractForm input{min-width:0;height:42px;border:1px solid var(--border);border-radius:9px;padding:0 12px;color:var(--text);background:#0b1220;outline:none}.clientForm input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4f8cff1f}.clientForm button,.credentialBox button,.tableButton,.contractForm button,.loadMore{border:1px solid var(--border);border-radius:8px;color:#dce4ef;background:#182235;font-weight:700}.clientForm button{padding:0 16px}.clientForm button:disabled,.contractForm button:disabled,.tableButton:disabled{cursor:not-allowed;opacity:.42}.credentialBox{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr) auto;align-items:center;gap:14px;margin-bottom:18px;padding:14px;border:1px solid rgba(55,223,153,.25);border-radius:10px;background:#37df990f}.credentialBox strong,.credentialBox span{display:block}.credentialBox span{margin-top:4px;color:#7f8da2;font-size:11px}.credentialBox code{overflow:auto;padding:9px 10px;border-radius:7px;color:#a6f4ce;background:#08130f;white-space:nowrap}.credentialBox button,.tableButton{padding:8px 11px}.countBadge{min-height:28px}.tableWrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{padding:0 14px 11px;color:#67758c;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em}td{padding:15px 14px;border-top:1px solid rgba(148,163,184,.1);color:#c3ccda;font:500 12px/1.4 Manrope,Noto Sans KR,sans-serif}td:first-child{padding-left:14px}td strong{display:block;color:#e7edf6;font-family:Noto Sans KR,sans-serif}td small{display:block;margin-top:3px;color:#647188}.clientStatus{display:inline-flex;padding:5px 8px;border:0;border-radius:6px;font-size:10px;font-weight:700}.clientStatus.enabled{color:#82e9b8;background:#37df9917}.clientStatus.disabled{color:#9ca5b4;background:#94a3b81a}.contractForm{display:grid;grid-template-columns:180px 1fr 1fr auto;gap:9px;margin-bottom:18px}.contractForm button{padding:0 16px}.historySection{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.historySection h3{margin:0 0 14px;font-size:14px}.historyForm{display:grid;grid-template-columns:repeat(2,1fr) repeat(2,.8fr) 1fr auto;gap:8px;margin-bottom:16px}.historyForm input{min-width:0;height:40px;border:1px solid var(--border);border-radius:8px;padding:0 10px;color:var(--text);background:#0b1220}.historyForm button{border:1px solid var(--border);border-radius:8px;padding:0 14px;color:#dce4ef;background:#182235;font-weight:700}.tableActions{display:flex;gap:6px}.tableButton.danger{color:#ffabb2}.loadMore{display:block;margin:18px auto 0;padding:9px 14px}footer{padding-top:24px;color:#566379;text-align:right;font-size:11px}@media(max-width:1000px){.metricsGrid{grid-template-columns:repeat(2,1fr)}.twoColumn{grid-template-columns:1fr}}@media(max-width:720px){.appShell{display:block}.sidebar{position:static;width:100%;height:auto;flex-direction:row;align-items:center;padding:14px 18px}.sidebarBrand{padding:0}.sidebar nav{display:none}.logoutButton{margin:0 0 0 auto}.content{padding:28px 18px}.topbar{align-items:flex-start}.statusPill{display:none}.metricsGrid{grid-template-columns:1fr 1fr}.metricCard{min-height:128px;padding:18px}.metricCard strong{font-size:24px}.panel{padding:19px}.clientForm,.credentialBox,.contractForm,.historyForm{grid-template-columns:1fr}}@media(max-width:470px){.loginCard{padding:32px 24px}.metricsGrid{grid-template-columns:1fr}.topbarActions .secondaryButton{width:42px;overflow:hidden;color:transparent;position:relative}.topbarActions .secondaryButton:after{content:"↻";position:absolute;inset:0;display:grid;place-items:center;color:#c8d1df;font-size:18px}.inputRow{grid-template-columns:1fr}}
