:root{--bg:#eef1f5;--panel:#fff;--line:#d8dee6;--line-soft:#e7ebf0;--navy-900:#14304f;--navy-700:#1e3a5f;--navy-500:#33567e;--navy-100:#e3ebf4;--text:#1c2733;--muted:#64748b;--faint:#93a1b3;--ok:#2e7d32;--ok-bg:#e6f2e7;--warn:#b26a00;--warn-bg:#fdf3e1;--bad:#c62828;--bad-bg:#fdecec;--accent:#0b66c3;--accent-bg:#e8f1fb;--soft:#f6f8fa;--shadow-bar:0 2px 6px #14304f0f;--hd-h:68px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{color:var(--text);background:var(--panel);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:13px}a{color:inherit}.app{background:var(--panel);width:1472px;height:100vh;margin:0 auto;display:flex;overflow:hidden}.side{background:var(--navy-900);color:#fff;flex-direction:column;flex:none;width:208px;display:flex;overflow-y:auto}.side .brand{height:var(--hd-h);box-sizing:border-box;border-bottom:1px solid #ffffff1f;flex:none;align-items:center;gap:9px;padding:0 14px;display:flex}.logo{flex:none;width:30px;height:26px;display:block}.logo.lg{width:44px;height:38px}.brandrow{align-items:center;gap:11px;display:flex}.side .brand .co{letter-spacing:.5px;font-size:15px;font-weight:800}.side .brand .sys{color:#9fb4cc;margin-top:2px;font-size:11px}.side nav{flex:1;padding:6px 0 10px}.side nav>div:not(:first-child){border-top:1px solid #ffffff17;margin-top:7px}.side .grp{color:#93abc6;letter-spacing:1.5px;padding:13px 16px 5px;font-size:11.5px;font-weight:800}.side a{color:#c9d6e5;align-items:center;gap:9px;padding:8px 16px;font-size:13px;text-decoration:none;display:flex}.side a .ic{text-align:center;opacity:.85;width:16px}.side a:hover{background:#ffffff0f}.side a.on{background:var(--navy-500);color:#fff;border-left:3px solid #7fb3e8;padding-left:13px;font-weight:700}.side .subwrap{border-left:1px solid #ffffff29;margin:2px 0 5px 24px}.side a.sub{color:#9db0c6;padding:5.5px 12px 5.5px 14px;font-size:12px;display:block}.side a.sub.on{border-left:none;padding-left:14px}.side .foot{color:#c9d6e5;border-top:1px solid #ffffff1f;flex:none;padding:12px 16px;font-size:12px}.side .foot b{color:#fff}.main{background:var(--panel);flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.topbar{background:var(--panel);border-bottom:1px solid var(--line);height:var(--hd-h);z-index:20;box-shadow:var(--shadow-bar);flex:none;align-items:center;gap:14px;padding:0 20px;display:flex;position:sticky;top:0}.topbar h1{color:var(--navy-700);font-size:17px}.topbar .sp{flex:1}.content{flex-direction:column;flex:1;gap:0;padding:0 20px;display:flex}.content>.panel{border-top:0;border-left:0;border-right:0;border-radius:0}.content>.panel:last-child{border-bottom:0}.chip{border-radius:20px;padding:2px 10px;font-size:11px;font-weight:700}.chip.url{background:var(--navy-100);color:var(--navy-500);font-family:Menlo,Consolas,monospace;font-weight:400}.chip.crumb{background:var(--navy-100);color:var(--navy-500);padding:3px 12px;font-weight:500}.chip.warn{background:var(--warn-bg);color:var(--warn)}.badge{border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.off{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.navy{background:var(--navy-100);color:var(--navy-500)}td .sub{color:var(--faint);margin-left:6px;font-size:11px}.iform{align-items:center;gap:12px;display:flex}.iform .field{flex-direction:row;align-items:center;gap:7px}.iform .field label{white-space:nowrap}.iform .sp{flex:1}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel .hd{border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;padding:10px 14px;display:flex}.panel .hd h2{color:var(--navy-700);font-size:13.5px}.panel .hd .sub{color:var(--faint);font-size:11.5px}.panel .hd .sp{flex:1}.panel .bd{padding:12px 14px}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12.5px}th{color:var(--navy-700);text-align:left;border-bottom:2px solid var(--navy-500);background:var(--navy-100);padding:8px 10px;font-size:13.5px;font-weight:700}td{border-bottom:1px solid var(--line-soft);white-space:nowrap;padding:9px 10px}td .btn{white-space:nowrap;vertical-align:middle;align-items:center;height:24px;margin:-4px 0;padding:0 10px;font-size:12px;display:inline-flex}tbody tr:nth-child(odd) td{background:var(--soft)}tr:last-child td{border-bottom:none}td.r,th.r{text-align:right}.gridwrap{overflow-x:auto}tr.rowlink{cursor:pointer}tr.rowlink:hover td{background:var(--accent-bg)}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--muted);font-size:12px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);color:var(--text);background:var(--panel);border-radius:7px;padding:8px 10px;font-family:inherit;font-size:13px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy-500);outline:none}input:focus::placeholder,textarea:focus::placeholder{color:#0000}.field .err{color:var(--bad);font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:12px 16px;max-width:640px;display:grid}.form-grid .wide{grid-column:1/-1}.btn{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:7px;padding:7px 16px;font-family:inherit;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-block}.btn:hover{background:var(--bg)}.btn.primary{background:var(--navy-700);border-color:var(--navy-700);color:#fff}.btn.primary:hover{background:var(--navy-500)}.btn:disabled{opacity:.5;cursor:default}.msg{border-radius:7px;padding:9px 12px;font-size:12.5px}.msg.bad{background:var(--bad-bg);color:var(--bad)}.msg.ok{background:var(--ok-bg);color:var(--ok)}.msg.warn{background:var(--warn-bg);color:var(--warn)}.toolbar{border-bottom:1px solid var(--line);background:var(--bg);align-items:center;gap:14px;margin-bottom:12px;padding:10px 14px;display:flex}.toolbar .sp{flex:1}.toolbar .field{flex-direction:row;align-items:center;gap:7px}.toolbar .field label{white-space:nowrap}.toolbar .check{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;display:flex}.toolbar .field input:not([type=checkbox]):not([type=radio]),.iform .field input:not([type=checkbox]):not([type=radio]){height:28px;padding:0 9px}.toolbar .btn,.iform .btn{white-space:nowrap;flex:none;align-items:center;height:28px;padding-top:0;padding-bottom:0;display:inline-flex}.empty{text-align:center;color:var(--faint);padding:36px 0;font-size:13px}.pager{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:6px;padding:10px 14px;display:flex;position:relative}.pager .total{color:var(--muted);font-size:12px;position:absolute;left:14px}.pgbtn{border:1px solid var(--line);background:var(--panel);cursor:pointer;min-width:28px;color:var(--text);border-radius:6px;padding:5px 8px;font-family:inherit;font-size:12.5px}.pgbtn:hover:not(:disabled){background:var(--bg)}.pgbtn.on{background:var(--navy-700);color:#fff;border-color:var(--navy-700);font-weight:700}.pgbtn:disabled{opacity:.4;cursor:default}.mono{font-family:Menlo,Consolas,monospace}.form-grid.narrow{grid-template-columns:1fr;max-width:360px}.chain{background:var(--soft);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;height:40px;padding:0 20px;font-size:12px;display:flex}.content>.chain{margin:0 -20px}.cnode{border:1px solid var(--line);background:var(--panel);height:26px;color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:0 11px;font-family:inherit;font-size:12px;text-decoration:none;display:inline-flex}.cnode b{color:var(--muted);font-size:11.5px;font-weight:700}.cnode .no{font-family:Menlo,Consolas,monospace;font-size:11.5px}.cnode:hover{border-color:var(--navy-500)}.cnode.cur{background:var(--navy-700);border-color:var(--navy-700);color:#fff;cursor:default}.cnode.cur b{color:#cfe0f2}.cnode.cur .badge{color:#fff;background:#ffffff29}.cnode.off{border:1px dashed var(--line);color:var(--faint);cursor:default;background:0 0}.cnode.off b{color:var(--faint)}.cnode.mts{background:var(--bg);border:1px solid var(--line);color:var(--muted);cursor:default}.cnode.mts b{color:var(--muted)}.cnode.nextbtn{background:var(--navy-700);border-color:var(--navy-700);color:#fff;font-weight:700}.chain .arr{color:var(--faint);font-size:13px}.pcard{text-align:left;background:var(--panel);border:1px solid var(--line);cursor:pointer;white-space:normal;border-radius:7px;width:100%;margin:3px 0;padding:6px 9px;font-family:inherit;font-size:12px;display:block}.pcard:hover{border-color:var(--navy-500)}.pcard .mono{font-size:11.5px}.pcard .nm{margin-top:2px;font-weight:700}.pcard .meta{color:var(--muted);margin-top:2px;font-size:11px}.pcard .badge{margin-left:5px}.dash{flex-direction:column;gap:14px;padding:16px 0 28px;display:flex}.dash .panel{border:1px solid var(--line);border-radius:10px}.kpis{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.kpi .t{color:var(--muted);justify-content:space-between;gap:6px;font-size:12px;font-weight:700;display:flex}.kpi .v{color:var(--navy-700);letter-spacing:-.3px;margin-top:4px;font-size:21px;font-weight:800}.kpi .v small{color:var(--muted);font-size:12px;font-weight:600}.kpi .s{color:var(--muted);margin-top:2px;font-size:11.5px}.kpi .s b.up{color:var(--ok)}.kpi .s b.down{color:var(--bad)}.kpi .s b.warn{color:var(--warn)}.kpi .pv3{flex-direction:column;gap:2.5px;margin-top:6px;display:flex}.kpi .pv3 .pr{align-items:baseline;gap:6px;display:flex}.kpi .pv3 .pn{color:var(--muted);flex:none;width:28px;font-size:11px;font-weight:700}.kpi .pv3 .pw{color:var(--navy-700);letter-spacing:-.2px;font-size:14px;font-weight:800}.kpi .pv3 .pb{color:var(--faint);margin-left:auto;font-size:9.5px}.fin{background:var(--navy-700);color:#fff;border-radius:10px;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.fin .f .t{color:#a8bdd6;font-size:11.5px;font-weight:700}.fin .f .v{margin-top:1px;font-size:19px;font-weight:800}.fin .f .v small{color:#a8bdd6;font-size:11px;font-weight:500}.fin .note{color:#a8bdd6;text-align:right;font-size:11px;line-height:1.45}.dash .row{gap:14px;display:grid}.dash .row.charts{grid-template-columns:1.5fr 1fr}.dash .row.bottom{grid-template-columns:1.35fr .95fr 1.1fr}.legend{color:var(--muted);gap:12px;font-size:11.5px;display:flex}.legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.dash .seg{border:1px solid var(--line);border-radius:7px;display:flex;overflow:hidden}.dash .seg button{color:var(--muted);background:var(--panel);cursor:pointer;border:none;padding:4px 13px;font-family:inherit;font-size:12.5px}.dash .seg button.on{background:var(--navy-700);color:#fff;font-weight:700}.mgrid{grid-template-columns:1fr 1fr;gap:4px 12px;display:grid}.mrow{border-radius:6px;align-items:center;gap:7px;padding:4px 6px;font-size:12px;display:flex}.mrow:hover{background:var(--bg)}.dot{border-radius:50%;flex:none;width:8px;height:8px}.dot.run{background:var(--ok)}.dot.idle{background:var(--faint)}.dot.err{background:var(--bad)}.mrow .m{color:var(--navy-700);flex:none;width:92px;font-weight:700}.mrow .p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mgrp{color:var(--faint);letter-spacing:.5px;border-bottom:1px dashed var(--line-soft);grid-column:1/-1;margin:8px 0 3px;padding-bottom:2px;font-size:11px;font-weight:700}.alert{border-radius:7px;align-items:flex-start;gap:8px;margin-bottom:6px;padding:7px 8px;font-size:12px;display:flex}.alert.bad{background:var(--bad-bg)}.alert.warn{background:var(--warn-bg)}.alert b{display:block}.alert .d{color:var(--muted);font-size:11.5px}.qfinal{background:var(--navy-700);color:#fff;border-radius:10px;align-items:center;gap:26px;margin:16px 0 4px;padding:15px 20px;display:flex}.qfinal .f .k{color:#9fb4cc;font-size:11px;font-weight:700;display:block}.qfinal .f .v{margin-top:1px;font-size:22px;font-weight:800}.qfinal .f .v small{color:#9fb4cc;font-size:11.5px;font-weight:500}.qfinal .div{background:#ffffff40;align-self:stretch;width:1px}.qfinal .note{color:#9fb4cc;text-align:right;flex:1;font-size:11px;line-height:1.45}.ovdlg{border:1px solid var(--line);border-radius:10px;width:480px;max-width:90vw;padding:0}.ovdlg::backdrop{background:#14304f59}.ovdlg .hd{border-bottom:1px solid var(--line-soft);padding:10px 14px}.ovdlg .hd h2{color:var(--navy-700);font-size:13.5px}.ovdlg .bd{padding:12px 14px}.ovdlg .formbar{position:static}.usermenu{position:relative}.usermenu summary{cursor:pointer;color:var(--navy-700);font-size:12.5px;font-weight:700;list-style:none}.usermenu summary::-webkit-details-marker{display:none}.usermenu .menu{z-index:30;flex-direction:column;width:160px;padding:6px;display:flex;position:absolute;top:28px;right:0}.usermenu .menu a{padding:7px 10px;font-size:12.5px;text-decoration:none}.usermenu .menu a:hover{background:var(--accent-bg)}.usermenu .menu .btn{margin:6px}.dl{grid-template-columns:repeat(3,140px minmax(0,1fr));font-size:13px;display:grid}.dl dt{background:var(--soft);color:var(--muted);border-bottom:1px solid var(--line-soft);align-items:flex-start;min-height:36px;padding:9px 12px;font-size:12px;font-weight:700;line-height:18px;display:flex}.dl dd{color:var(--text);border-bottom:1px solid var(--line-soft);overflow-wrap:anywhere;align-items:flex-start;min-width:0;min-height:36px;padding:9px 14px;line-height:18px;display:flex}.dl dd.wide{grid-column:2/-1}.dl dd.wide2{grid-column:4/-1}.dl dd.num{font-weight:700}.dl .dsec{background:var(--panel);color:var(--navy-700);letter-spacing:.5px;border-left:4px solid var(--accent);border-bottom:1px solid var(--line-soft);grid-column:1/-1;align-items:center;gap:8px;margin-top:28px;padding:9px 12px;font-size:14px;font-weight:800;display:flex}.dl .dsec .sp{flex:1}.dl .dsec .btn{white-space:nowrap;flex:none;align-items:center;height:28px;margin:-4px 0;padding:0 12px;display:inline-flex}.dl dt.fill{background:var(--panel)}.dl .none{color:var(--faint)}.dl.edit dd{flex-direction:column;align-items:flex-start;gap:3px;padding:4px 14px}.dl.edit dd>.mono,.dl.edit dd>.lock{line-height:28px}.dl dt.req:after{content:"*";color:var(--bad);margin-left:3px;font-size:12px}.in{border:1px solid var(--line);height:28px;color:var(--text);background:var(--panel);border-radius:6px;max-width:100%;padding:0 9px;scroll-margin-bottom:60px;font-family:inherit;font-size:13px}.in:focus{border-color:var(--navy-500);box-shadow:0 0 0 2px var(--navy-100);outline:none}select.in{padding:0 6px}textarea.in{resize:vertical;height:auto;min-height:56px;padding:6px 9px;line-height:18px}.dl.edit dd .in{width:100%}.in.num{text-align:right}.rgroup{height:28px;color:var(--text);align-items:center;gap:16px;font-size:13px;display:flex}.rgroup label{cursor:pointer;white-space:nowrap;align-items:center;gap:5px;display:flex}.rgroup input[type=radio]{accent-color:var(--navy-700);width:14px;height:14px;margin:0}.in.bad{border-color:var(--bad)}.ferr{color:var(--bad);font-size:11.5px;line-height:14px}.combo{width:100%}.formbar{background:var(--bg);border-top:1px solid var(--line);align-items:center;gap:8px;padding:10px 14px;display:flex;position:sticky;bottom:0}.formbar .note{color:var(--faint);font-size:11.5px}.formbar .sp{flex:1}.actions{align-items:center;gap:8px;display:flex}.pwrap{background:var(--bg);flex-direction:column;align-items:center;gap:8px;padding:18px 0 46px;display:flex}.pcap{width:660px;color:var(--navy-700);align-items:baseline;gap:8px;margin-top:14px;font-size:12.5px;font-weight:800;display:flex}.pcap .sub{color:var(--faint);font-size:11px;font-weight:400}.pcap .sp{flex:1}.paper{background:var(--panel);width:660px;min-height:933px;box-shadow:0 3px 14px #00000024,0 0 0 1px var(--line);flex-direction:column;padding:44px 46px 40px;display:flex;position:relative}.pbadges{gap:6px;display:flex;position:absolute;top:13px;right:13px}.doc-title{text-align:center;letter-spacing:14px;text-indent:14px;color:var(--text);white-space:nowrap;margin:4px 0 2px;font-size:23px;font-weight:800}.doc-sub{text-align:center;color:var(--muted);margin-bottom:16px;font-size:11px}.doc-no{color:var(--muted);justify-content:space-between;margin-bottom:8px;font-size:11.5px;display:flex}table.doc{border-collapse:collapse;white-space:normal;width:100%;font-size:12px}.doc th{border:1px solid var(--text);background:var(--bg);color:var(--text);text-align:center;white-space:nowrap;padding:5px 6px;font-size:11.5px;font-weight:700}.doc td{border:1px solid var(--text);vertical-align:middle;background:0 0;padding:5px 8px}.doc td.r{text-align:right;white-space:nowrap}.doc td.c{text-align:center}.doc td.nw{white-space:nowrap}.doc td.lb{background:var(--bg);text-align:center;white-space:nowrap;font-size:11.5px;font-weight:700}.doc tr.tot td{background:var(--bg);font-weight:800}.doc tr:last-child td{border-bottom:1px solid var(--text)}.approv{border-collapse:collapse;margin-left:auto}.approv td{border:1px solid var(--text);text-align:center;background:0 0;padding:2px 0;font-size:10.5px}.approv .lbl{background:var(--bg);width:24px;font-weight:700}.approv .who{background:var(--bg);width:58px;font-weight:700}.approv .sign td{height:52px}.dochead{align-items:flex-start;margin-bottom:14px;display:flex}.wm{pointer-events:none;z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.wm span{color:var(--bad);opacity:.16;border:4px solid var(--bad);letter-spacing:8px;white-space:nowrap;border-radius:10px;padding:12px 30px;font-size:40px;font-weight:900;transform:rotate(-22deg)}.stmt{margin:14px 2px 12px;font-size:12.5px;line-height:1.7}.gatebox{border:1.5px solid var(--text);align-items:center;gap:14px;margin-top:20px;padding:14px 16px;display:flex}.gatebox .tt{white-space:nowrap;font-size:12.5px;font-weight:800}.gatebox .fld{white-space:nowrap;font-size:12px}.stamp{border:1px dashed var(--muted);width:66px;height:66px;color:var(--faint);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:10.5px;display:flex}.signrow{justify-content:flex-end;align-items:center;gap:14px;margin-top:22px;font-size:12.5px;display:flex}.signrow .ln{border-bottom:1px solid var(--text);min-width:150px;height:20px;display:inline-block}.claimbox{border:2px solid var(--text);background:var(--bg);align-items:center;gap:14px;margin-top:14px;padding:10px 14px;display:flex}.claimbox .k{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.claimbox .v{color:var(--text);white-space:nowrap;font-size:17px;font-weight:800}.pfoot{color:var(--faint);justify-content:space-between;margin-top:auto;padding-top:16px;font-size:10.5px;display:flex}.supply{gap:10px;margin-bottom:12px;display:flex}.supply>div{flex:1}.supply .cap{color:var(--muted);margin-bottom:3px;font-size:11px;font-weight:800}.rulebar{background:var(--warn-bg);border-bottom:1px solid var(--line);color:var(--warn);align-items:center;gap:8px;padding:7px 20px;font-size:12px;display:flex}@media print{@page{size:A4 portrait;margin:0}.side,.topbar,.toolbar,.rulebar,.noprint{display:none!important}.app{width:auto;height:auto;overflow:visible}.main{background:#fff;overflow:visible}.content{padding:0}.pwrap{background:#fff;gap:0;padding:0}.pcap{display:none}.paper{width:210mm;min-height:297mm;box-shadow:none;page-break-after:always;padding:14mm 12mm}.paper:last-child{page-break-after:auto}}.login-wrap{background:var(--panel);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;width:360px;padding:28px;display:flex}.login-card .co{color:var(--navy-900);letter-spacing:.5px;font-size:18px;font-weight:800}.login-card .sys{color:var(--muted);margin-top:2px;font-size:12px}.login-card .btn.primary{padding:10px 16px;font-size:13.5px}
