:root{--ink:#16283c;--dim:#56677b;--faint:#8a99a8;--line:#e1e7ef;--line2:#d0d9e4;--bg:#f4f6f9;--card:#fff;--navy:#1f4e86;--navy-d:#16283c;--gold:#c8943a;--ok:#2e7d32;--warn:#a9761b;--bad:#b0453a;--ok-bg:#eff6ef;--warn-bg:#fbf4e5;--bad-bg:#faefed;--navy-bg:#edf3fa;--r:10px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.6}a{color:var(--navy)}h1,h2,h3{letter-spacing:-.01em}.auth-wrap{background:radial-gradient(1200px 600px at 50% -10%, #e8eff8 0%, transparent 60%), var(--bg);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.auth-card{background:var(--card);border:1px solid var(--line);border-radius:14px;width:100%;max-width:400px;padding:34px 32px 28px;box-shadow:0 10px 40px #16283c12}.auth-brand{text-align:center;margin-bottom:26px}.auth-brand .mark{letter-spacing:.18em;color:var(--gold);margin-bottom:8px;font-size:11px;font-weight:800;display:inline-block}.auth-brand h1{margin:0;font-size:21px;font-weight:700}.auth-brand p{color:var(--dim);margin:7px 0 0;font-size:13px}.field{margin-bottom:14px}.field label{color:var(--dim);margin-bottom:6px;font-size:12.5px;font-weight:700;display:block}.field input{width:100%;font:inherit;border:1px solid var(--line2);color:var(--ink);background:#fff;border-radius:8px;padding:11px 13px;font-size:14.5px}.field input:focus{outline:2px solid var(--navy);outline-offset:0;border-color:var(--navy)}.field .hint{color:var(--faint);margin-top:5px;font-size:12px;line-height:1.55}.btn{width:100%;font:inherit;cursor:pointer;background:var(--navy);color:#fff;border:0;border-radius:8px;padding:12px 16px;font-size:15px;font-weight:700}.btn:hover{background:var(--navy-d)}.btn:disabled{cursor:default;background:#a9b5c4}.btn-ghost{color:var(--navy);border:1px solid var(--line2);background:#fff}.btn-ghost:hover{background:var(--navy-bg)}.btn-sm{width:auto;padding:8px 14px;font-size:13px}.msg{border-radius:8px;margin-bottom:16px;padding:11px 14px;font-size:13px;line-height:1.7}.msg-bad{background:var(--bad-bg);color:#8c382f;border:1px solid #e3b7b1}.msg-ok{background:var(--ok-bg);color:#245b27;border:1px solid #b6d6b8}.msg-info{background:var(--navy-bg);color:#1a4272;border:1px solid #b9d2ec}.auth-foot{border-top:1px solid var(--line);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;font-size:13px;display:flex}header.top{background:var(--navy-d);color:#fff}.top-in{max-width:1280px;margin:0 auto;padding:16px 22px 0}.brand{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.brand strong{font-size:18px;font-weight:700}.brand .sub{opacity:.72;font-size:12px}.brand .who{opacity:.85;align-items:center;gap:10px;margin-left:auto;font-size:12.5px;display:flex}.brand .who form{margin:0}.brand .who button{color:#fff;font:inherit;cursor:pointer;background:#ffffff1f;border:0;border-radius:999px;padding:5px 12px;font-size:12px}.brand .who button:hover{background:#ffffff3d}nav.tabs{gap:2px;margin-top:14px;display:flex;overflow-x:auto}nav.tabs a{color:#ffffffb8;white-space:nowrap;border-bottom:3px solid #0000;padding:11px 16px;font-size:13.5px;font-weight:600;text-decoration:none}nav.tabs a:hover{color:#fff}nav.tabs a[aria-current=page]{color:#fff;border-bottom-color:var(--gold)}.wrap{max-width:1280px;margin:0 auto;padding:22px 22px 64px}.grid{gap:14px;display:grid}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:20px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}.kpi .lab{letter-spacing:.09em;color:var(--faint);font-size:11px;font-weight:700}.kpi .val{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:5px;font-size:29px;font-weight:800}.kpi .hint{color:var(--dim);margin-top:3px;font-size:12px}.kpi.ok .val{color:var(--ok)}.kpi.bad .val{color:var(--bad)}.kpi.warn .val{color:var(--warn)}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:18px;overflow:hidden}.panel>h2{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin:0;padding:14px 18px;font-size:14px;display:flex}.panel>h2 .n{color:var(--faint);font-size:12px;font-weight:500}.panel>h2 .right{margin-left:auto}.panel .body{padding:16px 18px}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}th{letter-spacing:.05em;color:var(--faint);white-space:nowrap;background:#fafcfe;font-size:11.5px;font-weight:700}tbody tr:hover{background:#f8fafd}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td.name{white-space:nowrap;font-weight:600}.pill{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-block}.p-재원,.p-완납,.p-승인{background:var(--ok-bg);color:var(--ok)}.p-신규{background:var(--navy-bg);color:var(--navy)}.p-휴원,.p-부분납,.p-대기{background:var(--warn-bg);color:var(--warn)}.p-퇴원,.p-미납{background:var(--bad-bg);color:var(--bad)}.p-면제{color:var(--dim);background:#f1f3f6}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.toolbar input[type=search],.toolbar select,.toolbar input[type=text],.toolbar input[type=date]{font:inherit;border:1px solid var(--line2);color:var(--ink);background:#fff;border-radius:7px;padding:8px 11px;font-size:13.5px}.toolbar input[type=search]{min-width:220px}.toolbar .count{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12.5px}.bar{background:#edf1f6;border-radius:999px;min-width:90px;height:8px;overflow:hidden}.bar>i{background:var(--navy);border-radius:999px;height:100%;display:block}.bar.full>i{background:var(--bad)}.classes{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.cls{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}.cls h3{margin:0 0 3px;font-size:14.5px}.cls .who{color:var(--dim);font-size:12.5px}.cls .row{align-items:center;gap:10px;margin-top:12px;display:flex}.cls .row .n{color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px}.cls .fee{color:var(--dim);margin-top:8px;font-size:12.5px}.consult{grid-template-columns:190px 1fr;display:grid}.consult .who{border-right:1px solid var(--line);padding:14px 16px}.consult .who .nm{font-weight:700}.consult .who .sm{color:var(--dim);margin-top:2px;font-size:12px}.timeline{flex-direction:column;gap:12px;padding:14px 18px;display:flex}.tl{grid-template-columns:96px 1fr;align-items:start;gap:12px;display:grid}.tl .d{color:var(--faint);font-variant-numeric:tabular-nums;padding-top:2px;font-size:12px}.tl .c{border:1px solid var(--line);background:#fcfdfe;border-radius:8px;padding:10px 13px}.tl .c .t{color:var(--navy);font-size:12.5px;font-weight:700}.tl .c .m{color:#3d4c5e;white-space:pre-wrap;margin-top:3px;font-size:13px}.tl .c .b{color:var(--faint);margin-top:5px;font-size:11.5px}.empty{color:var(--faint);padding:26px 4px;font-size:13.5px}.foot{color:var(--faint);margin-top:32px;font-size:12.5px;line-height:1.9}@media (max-width:760px){.consult{grid-template-columns:1fr}.consult .who{border-right:0;border-bottom:1px solid var(--line)}}.demo-panel{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.demo-toggle{cursor:pointer;width:100%;font:inherit;color:var(--dim);background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:4px 0;font-size:13px;font-weight:700;display:flex}.demo-toggle:hover{color:var(--navy)}.demo-caret{color:var(--faint);font-size:11px}.demo-body{margin-top:8px}.demo-sub{color:var(--faint);margin:0 0 9px;font-size:12px}.demo-acct{text-align:left;cursor:pointer;border:1px solid var(--line);width:100%;font:inherit;background:#fafcfe;border-radius:7px;margin-bottom:6px;padding:9px 11px;line-height:1.5;display:block}.demo-acct:hover{background:var(--navy-bg);border-color:var(--navy)}.demo-acct:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.demo-role{font-size:12.5px;font-weight:700}.demo-name{color:var(--faint);font-size:12.5px}.demo-id{color:var(--dim);font-size:11.5px;display:block}.demo-can{color:var(--faint);margin-top:2px;font-size:11px;display:block}.demo-note{color:var(--faint);margin:8px 0 0;font-size:11.5px;line-height:1.6}.demo-note code{background:#f1f4f8;border-radius:3px;padding:1px 5px}
