:root{--bg:#f2f5fa;--surface:#ffffff;--surface2:#eef3f9;--border:#d2dae4;--text:#1b1f24;--text-dim:#525a64;--text-muted:#7a838e;--accent:#1a56db;--accent-contrast:#ffffff;--accent-weak:rgba(26,86,219,.09);--radius:4px;--badge-radius:4px;--font:"Pretendard GOV","Pretendard","Malgun Gothic","Noto Sans KR",system-ui,sans-serif;--font-head:var(--font);--mono:"Fira Code","Cascadia Code",ui-monospace,Consolas,monospace;--topbar-bg:#ffffff;--topbar-text:#1b1f24;--topbar-border:#d2dae4;--green:#1a7f43;--green-bg:rgba(26,127,67,.1);--red:#d4351c;--red-bg:rgba(212,53,28,.1);--yellow:#8a6100;--yellow-bg:rgba(138,97,0,.12);--blue:#1a56db;--blue-bg:rgba(26,86,219,.1);--purple:#5b3fa0;--purple-bg:rgba(91,63,160,.1);--gray:#525a64;--gray-bg:rgba(82,90,100,.12)}:root[data-theme=industrial]{--bg:#c8cbd0;--surface:#d9dbdf;--surface2:#c2c6cb;--border:#a6abb1;--text:#20242a;--text-dim:#565c64;--text-muted:#7d838b;--accent:#3d5772;--accent-contrast:#ffffff;--accent-weak:rgba(61,87,114,.14);--radius:2px;--badge-radius:2px;--font:"Segoe UI", "Noto Sans KR", system-ui, sans-serif;--font-head:var(--font);--topbar-bg:#383d44;--topbar-text:#e9ebee;--topbar-border:#2b2f35;--green:#5c626a;--green-bg:rgba(92,98,106,.18);--blue:#5c626a;--blue-bg:rgba(92,98,106,.18);--purple:#5c626a;--purple-bg:rgba(92,98,106,.18);--yellow:#8a5a00;--yellow-bg:rgba(180,120,0,.22);--red:#a12a20;--red-bg:rgba(161,42,32,.16);--gray:#565c64;--gray-bg:rgba(86,92,100,.16)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;font-size:14px;transition:background .2s,color .2s}a{color:var(--accent);text-decoration:none}button{font-family:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:var(--radius);padding:8px 14px;font-size:13px;transition:border-color .15s,background .15s}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);font-weight:600}input,select{font-family:inherit;background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:10px 12px;font-size:14px}input{width:100%}select{cursor:pointer}input:focus,select:focus{outline:none;border-color:var(--accent)}.mono{font-family:var(--mono)}:root[data-theme=gov] body{border-top:4px solid var(--accent)}:root[data-theme=gov] a{text-decoration:underline}:root[data-theme=gov] a:focus-visible,:root[data-theme=gov] button:focus-visible,:root[data-theme=gov] input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.topbar{display:flex;align-items:center;gap:16px;padding:13px 24px;border-bottom:1px solid var(--topbar-border);background:var(--topbar-bg);color:var(--topbar-text);position:sticky;top:0;z-index:10}.topbar .brand{font-weight:700;letter-spacing:-.3px;font-family:var(--font-head)}.topbar .brand span{color:var(--accent)}:root[data-theme=industrial] .topbar .brand span{color:inherit;opacity:.85}.topbar nav{display:flex;gap:4px}.topbar button{background:transparent;border-color:transparent;color:inherit}.topbar button:hover{background:#80808029;border-color:transparent}.topbar nav button.active{background:#80808038;font-weight:600}.topbar .spacer{flex:1}.topbar .who{font-size:12px;opacity:.82}.topbar .who b{font-weight:700}.settings{position:relative;display:inline-flex}.gear{display:inline-flex;align-items:center;justify-content:center;padding:7px 9px;background:transparent;border-color:transparent;color:inherit}.gear:hover{background:#80808029;border-color:transparent}.settings-menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 28px #0003;padding:10px;min-width:220px;z-index:30}.settings-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin:2px 4px 8px}.settings-opt{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:transparent;border:1px solid transparent;margin-bottom:4px;color:var(--text)}.settings-opt:hover{background:var(--surface2);border-color:transparent}.settings-opt.active{border-color:var(--accent);color:var(--accent);font-weight:600}.settings-opt .check{color:var(--accent)}.settings-hint{font-size:11px;color:var(--text-muted);margin:8px 4px 2px;line-height:1.5}.wrap{max-width:1100px;margin:0 auto;padding:24px}.h{font-size:18px;font-weight:700;margin-bottom:4px;font-family:var(--font-head)}.sub{font-size:12px;color:var(--text-dim);margin-bottom:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.kv .k{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.kv .v{font-size:15px;margin-top:3px}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;padding:9px 12px;background:var(--surface2);color:var(--text-dim);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border)}.tbl td{padding:9px 12px;border-bottom:1px solid var(--border)}.tbl tr.clickable:hover{background:var(--surface2);cursor:pointer}.tbl .num{font-family:var(--mono);font-size:12px}.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:var(--badge-radius);font-weight:600}.badge.green{background:var(--green-bg);color:var(--green)}.badge.gray{background:var(--gray-bg);color:var(--gray)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.yellow{background:var(--yellow-bg);color:var(--yellow)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.badge.purple{background:var(--purple-bg);color:var(--purple)}.flags{display:inline-flex;gap:4px;flex-wrap:wrap}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{width:380px;max-width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.modal.wide{width:960px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;padding:0}.modal.wide .modal-head{padding:18px 24px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.modal.wide .modal-body{padding:16px 24px 24px;overflow-y:auto}.modal-close{margin-left:auto;background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--text-dim);padding:0 4px}.modal-close:hover{color:var(--text)}.code-big{font-family:var(--mono, ui-monospace, monospace);font-size:22px;font-weight:700;letter-spacing:.5px}.login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.login-card{width:360px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px}.login-card h1{font-size:20px;margin-bottom:4px;font-family:var(--font-head)}.login-card h1 span{color:var(--accent)}.login-card p{font-size:12px;color:var(--text-dim);margin-bottom:22px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:6px}.err{color:var(--red);font-size:12px;margin-top:10px;min-height:16px}.hint{margin-top:18px;font-size:11px;color:var(--text-muted);line-height:1.7}.muted{color:var(--text-muted)}.loading{color:var(--text-dim);padding:40px;text-align:center}.split{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;align-items:start}.side{display:flex;flex-direction:column;gap:2px;position:sticky;top:12px}.side .grp{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);padding:10px 10px 4px}.side button{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;background:transparent;border:1px solid transparent;padding:7px 10px;font-size:13px;color:var(--text)}.side button:hover{background:var(--surface2)}.side button.on{background:var(--accent-weak);color:var(--accent);font-weight:600}.side .n{font-size:11px;padding:0 6px;border-radius:var(--badge-radius);background:var(--surface2);color:var(--text-dim);border:1px solid var(--border);font-variant-numeric:tabular-nums}.side button.on .n{background:var(--accent);color:#fff;border-color:transparent}.side .n.hot{background:var(--accent-weak);color:var(--accent);border-color:transparent}.paneh{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.paneh .sp{flex:1}.cta{display:inline-flex;gap:6px;align-items:center}@media (max-width: 1100px){.split{grid-template-columns:1fr}.side{position:static;flex-direction:row;flex-wrap:wrap}.side .grp{width:100%;padding:6px 4px 2px}}.dsec{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:10px}.dsec-h{display:flex;align-items:center;gap:8px;padding:9px 14px;-webkit-user-select:none;user-select:none}.dsec-h:hover{background:var(--surface2)}.dsec-caret{color:var(--text-muted);width:12px;font-size:12px}.dsec-title{font-weight:600;font-size:14px}.dsec-sub{font-size:12px}.dsec-b{padding:4px 14px 10px;border-top:1px solid var(--border)}.dsec>.dsec-b:first-child{border-top:0;padding-top:8px}.drow{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--border);min-height:32px;flex-wrap:wrap}.drow:last-child{border-bottom:0}.dlabel{width:110px;flex:none;font-size:12px;color:var(--text-dim)}.dval{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;font-size:13px}.dbtn{font-size:11px;padding:2px 9px}.dpre{font-size:12px;margin:0;padding:12px;white-space:pre-wrap;background:var(--surface2);border-radius:var(--radius)}.dlife{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding-top:6px}.dlife-i{padding:6px 8px;border-radius:var(--radius);background:var(--surface2)}.dlife-i.cur{background:var(--accent-weak);outline:1px solid var(--accent)}.dlife-i.none .dlife-t{color:var(--text-muted)}.dlife-l{font-size:11px;color:var(--text-dim)}.dlife-i.cur .dlife-l{color:var(--accent);font-weight:600}.dlife-t{font-size:13px}
