:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body,#root{height:100%}body{margin:0}input,select,textarea{color:var(--fg)}:is(.ant-card-body:has(>.ant-table-wrapper),.ant-card-body:has(>.ant-spin-nested-loading>.ant-spin-container>.ant-table-wrapper)){padding:0}.ant-card-body:has(>.ant-table-wrapper)>.ant-table-wrapper .ant-table{border-radius:0}.ant-card,.ant-table-wrapper .ant-table{box-shadow:none}:root{--bg:#fff;--fg:#0b1220;--primary:#3b82f6;--primary-fg:#fff;--primary-10:#3b82f61a;--muted:#f1f3f5;--muted-30:#f1f3f573;--muted-fg:#6b7280;--accent:#eef1f4;--border:#dde1e6;--border-60:#dde1e699;--surface:#fff;--popover:#fff;--sidebar-bg:#fff;--sidebar-border:#e5e7eb;--tab-inactive-bg:#dbeafe;--tab-inactive-fg:#0369a1;--tab-inactive-hover:#bfdbfe;--success:#16a34a;--warning:#f59e0b;--destructive:#ef4444;--gold:#f5b301;--radius:8px;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--font-sans:"Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--ease:cubic-bezier(.4,0,.2,1)}:root[data-theme=dark]{--bg:#0a0e17;--fg:#eef1f5;--primary:#4d94f7;--primary-10:#4d94f724;--muted:#1a1f29;--muted-30:#1a1f2980;--muted-fg:#8592a6;--accent:#1f2837;--border:#252d3a;--border-60:#252d3a99;--surface:#0e1521;--popover:#0e1521;--sidebar-bg:#080b12;--sidebar-border:#202836;--tab-inactive-bg:#0c2036;--tab-inactive-fg:#7dd3fc;--tab-inactive-hover:#123055;--shadow-sm:none;--shadow-md:none;--shadow-lg:none}:root[data-ctheme=teal]{--primary:#14b8a6;--primary-10:#14b8a61f;--tab-inactive-bg:#ccfbf1;--tab-inactive-fg:#0f766e;--tab-inactive-hover:#99f6e4}:root[data-ctheme=green]{--primary:#22c55e;--primary-10:#22c55e1f;--tab-inactive-bg:#dcfce7;--tab-inactive-fg:#15803d;--tab-inactive-hover:#bbf7d0}:root[data-ctheme=purple]{--primary:#8b5cf6;--primary-10:#8b5cf61f;--tab-inactive-bg:#ede9fe;--tab-inactive-fg:#6d28d9;--tab-inactive-hover:#ddd6fe}:root[data-ctheme=red]{--primary:#ef4444;--primary-10:#ef44441f;--tab-inactive-bg:#fee2e2;--tab-inactive-fg:#b91c1c;--tab-inactive-hover:#fecaca}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);transition:background .2s var(--ease), color .2s var(--ease);margin:0;font-size:14px;line-height:1.4}.muted{color:var(--muted-fg);padding:12px;font-size:13px}.err{color:var(--destructive)}::selection{background:var(--primary-10)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted-fg) 30%, transparent);background-clip:content-box;border:2px solid #0000;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--muted-fg) 50%, transparent);background-clip:content-box;border:2px solid #0000}.layout{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);width:200px;height:100vh;transition:width .3s var(--ease);z-index:30;flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.sidebar.collapsed{width:48px;overflow:visible}.nav-icons{flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;display:flex;overflow:visible auto}.nav-icon{cursor:pointer;width:36px;height:36px;transition:background .15s var(--ease), transform .1s var(--ease);background:0 0;border:none;border-radius:9px;font-size:16px;line-height:1}.nav-icon:hover,.nav-icon.hover{background:var(--accent);transform:scale(1.06)}.nav-icon.active{background:var(--primary-10);box-shadow:inset 0 0 0 1.5px var(--primary)}.flyout{z-index:999;background:var(--popover);border:1px solid var(--border);min-width:220px;max-width:320px;max-height:74vh;box-shadow:var(--shadow-lg);animation:modal-in .12s var(--ease);border-radius:12px;padding:6px;position:fixed;left:50px;overflow-y:auto}.flyout:before{content:"";width:10px;position:absolute;top:0;bottom:0;left:-10px}.flyout-t{color:var(--muted-fg);letter-spacing:.8px;white-space:nowrap;padding:7px 8px 4px;font-size:12px;font-weight:800}.flyout .nav-item{white-space:normal}.side-head{border-bottom:1px solid var(--sidebar-border);flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 10px;display:flex}.side-head img{height:28px;box-shadow:var(--shadow-sm);background:#fff;border-radius:6px;padding:2px 5px}.side-title{color:var(--fg);white-space:nowrap;letter-spacing:-.2px;flex:1;font-size:13px;font-weight:800}.side-collapse{color:var(--muted-fg);cursor:pointer;width:28px;height:28px;transition:background .2s var(--ease), color .2s var(--ease);background:0 0;border:none;border-radius:6px;flex-shrink:0;font-size:15px}.side-collapse:hover{background:var(--accent);color:var(--fg)}.co-select{border-bottom:1px solid var(--sidebar-border);padding:10px 10px 12px}.co-select label{color:var(--muted-fg);letter-spacing:1px;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.co-select select{border-radius:var(--radius);background:var(--surface);width:100%;color:var(--fg);border:1px solid var(--border);padding:7px 8px;font-size:12.5px}.co-period{color:var(--muted-fg);white-space:nowrap;margin-top:6px;font-size:12px}.sidebar nav{flex:1;padding:6px 8px 10px;overflow:hidden auto}.nav-sec{margin-bottom:2px}.nav-sec-t{text-align:left;cursor:pointer;width:100%;color:var(--fg);letter-spacing:-.2px;white-space:nowrap;transition:color .15s var(--ease), background .15s var(--ease);background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:6px 8px 4px;font-size:12px;font-weight:800;display:flex}.nav-sec-t:hover{color:var(--primary);background:color-mix(in srgb, var(--accent) 50%, transparent)}.nav-sec-t .chev{width:10px;color:var(--primary);font-size:9px}.nav-subsec .nav-sec-t{color:var(--muted-fg);font-size:12px;font-weight:700}.nav-subsec .nav-sec-t:hover{color:var(--primary)}.nav-sec-t .sec-cnt{color:var(--muted-fg);background:var(--accent);border-radius:8px;margin-left:auto;padding:1px 6px;font-size:9px;font-weight:700}.nav-item{text-align:left;width:100%;color:var(--muted-fg);cursor:pointer;white-space:nowrap;min-height:25px;transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:none;border-radius:6px;margin:0;padding:3px 8px;font-size:12px;font-weight:500;display:block}.nav-item:hover{background:color-mix(in srgb, var(--accent) 60%, transparent);color:var(--fg)}.nav-item.active{background:var(--primary-10);color:var(--primary);font-weight:700}.nav-item-lv1{border-left:1px solid var(--border);border-radius:0 6px 6px 0;width:calc(100% - 13px);margin-left:13px;padding-left:11px}.nav-item-lv1.active,.nav-item-lv1:hover{border-left-color:var(--primary)}.nav-subsec{border-left:1px solid var(--border);margin-left:13px;padding-left:0}.nav-subsec .nav-sec-t{padding-left:10px}.nav-sub-t{padding-top:5px;padding-bottom:3px}.nav-item-sub{padding-left:24px}.content{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex}.apptop{background:var(--bg);border-bottom:1px solid var(--border);z-index:20;flex-shrink:0;align-items:flex-end;height:44px;display:flex;position:sticky;top:0}.tabbar{scrollbar-width:none;flex:1;align-items:flex-end;gap:2px;min-width:0;padding:0 4px;display:flex;overflow-x:auto}.tabbar::-webkit-scrollbar{display:none}.tab{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;max-width:160px;height:36px;color:var(--tab-inactive-fg);background:var(--tab-inactive-bg);border:1px solid var(--border);transition:background .15s var(--ease);border-bottom:none;border-radius:6px 6px 0 0;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:flex}.tab span{text-overflow:ellipsis;overflow:hidden}.tab:hover{background:var(--tab-inactive-hover)}.tab.active{background:var(--primary);color:#fff;border-color:var(--primary);z-index:2;height:34px;margin-bottom:-1px;font-weight:700}.tab-x{color:inherit;opacity:.65;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 1px;font-size:13px;line-height:1}.tab-x:hover{opacity:1;background:#00000026}.tb-right{flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 8px;display:flex}.tb-right>*{border-radius:var(--radius)}.view-wrap{flex:1;padding:12px 18px 16px;overflow:auto}@media (width<=767px){.view-wrap{padding:10px 12px 14px}.apptop{padding-left:0}}.searchbar{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.searchbar input,.searchbar select{border:1px solid var(--border);background:var(--surface);color:var(--fg);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);border-radius:6px;padding:5px 10px;font-size:12.5px}.searchbar input{flex:1;max-width:300px}.searchbar input[type=date]{max-width:140px}.searchbar input:focus,.searchbar select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10);outline:none}.searchbar button{background:var(--primary);color:#fff;cursor:pointer;transition:filter .15s var(--ease);border:none;border-radius:6px;padding:5px 14px;font-size:12.5px;font-weight:700}.searchbar button:hover{filter:brightness(1.08)}.searchbar button.ghost{background:var(--surface);color:var(--muted-fg);border:1px solid var(--border)}.searchbar button.ghost:hover{background:var(--accent);filter:none}.grid-tools{align-items:center;gap:2px;margin-left:auto;display:flex}.grid-tools button{color:var(--muted-fg);cursor:pointer;transition:all .15s var(--ease);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700}.grid-tools select{border:1px solid var(--border);background:var(--surface);color:var(--muted-fg);cursor:pointer;border-radius:6px;padding:3px 6px;font-size:12px;font-weight:700}.grid-tools button:hover:not(:disabled){background:var(--accent);color:var(--fg)}.grid-tools button:disabled{opacity:.4;cursor:default}.grid-head{border:none;border-bottom:1px solid var(--border);background:var(--muted-30);border-radius:0;align-items:center;gap:8px;padding:3px 10px;display:flex}.grid-cnt{color:var(--muted-fg);font-size:12px;font-weight:700}.grid-tools button.on{border-color:var(--primary);color:var(--primary);background:var(--primary-10)}th,th.sortable{position:sticky}th .th-filter{color:var(--muted-fg);cursor:pointer;opacity:0;transition:opacity .15s var(--ease);border-radius:3px;margin-left:5px;padding:2px 3px;font-size:9px}th:hover .th-filter{opacity:1}th .th-filter:hover{color:var(--primary);background:var(--primary-10)}th .filt-ind{color:var(--warning);margin-left:3px;font-size:10px}th .th-resize{cursor:col-resize;width:6px;position:absolute;top:0;bottom:0;right:0}th .th-resize:hover{background:var(--primary-10)}.filter-drop{text-transform:none;letter-spacing:0;white-space:nowrap;min-width:160px;font-weight:400;top:100%;left:auto;right:0}.chart-panel{animation:modal-in .18s var(--ease);margin-bottom:12px}.chart-panel-bar{color:var(--fg);align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:12px;display:grid}.chart-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:10px;overflow:hidden}.chart-card-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.chart-card-head .drag-handle{cursor:grab;color:var(--muted-fg);-webkit-user-select:none;user-select:none;font-size:13px}.chart-card-head .drag-handle:active{cursor:grabbing}.chart-title{cursor:pointer;color:var(--fg);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;font-size:13px;font-weight:700;overflow:hidden}.chart-title:hover{text-decoration:underline}.chart-card-head input{border:1px solid var(--primary);background:var(--bg);color:var(--fg);border-radius:6px;flex:1;padding:4px 8px;font-size:13px}.chart-controls{border-bottom:1px solid var(--border);background:var(--muted-30);color:var(--muted-fg);flex-wrap:wrap;align-items:center;gap:6px;padding:7px 12px;font-size:12px;display:flex}.chart-controls select{border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:6px;max-width:150px;padding:4px 7px;font-size:12px}.chart-legend{color:var(--fg);flex-direction:column;gap:4px;font-size:12px;display:flex}.chart-legend .lg-dot{border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.bar.neg{background:linear-gradient(180deg, #f87171, var(--destructive))}th.fz{z-index:4;left:0}td.fz{background:var(--surface);z-index:1;position:sticky;left:0}tbody tr:hover td.fz{background:color-mix(in srgb, var(--muted) 70%, var(--surface))}tfoot td.fz{background:var(--muted);z-index:2}.colset{position:relative}.colset-drop{z-index:40;background:var(--popover);border:1px solid var(--border);min-width:190px;max-height:300px;box-shadow:var(--shadow-lg);border-radius:12px;margin-top:4px;padding:6px;position:absolute;top:100%;right:0;overflow:auto}.colset-drop label{color:var(--fg);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:flex}.colset-drop label:hover{background:var(--accent)}.tablebox{background:var(--surface);border:none;border-radius:0;max-height:76vh;overflow:auto}.detail-box .tablebox,.modal .tablebox{border:1px solid var(--border);border-radius:8px}table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);padding:6px 12px;line-height:1.4}th{background:color-mix(in srgb, var(--muted) 55%, var(--surface));color:var(--fg);z-index:2;border-bottom:1px solid var(--border);height:32px;font-size:13px;font-weight:600;position:sticky;top:0}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--primary);background:var(--accent)}th .sort-ind{color:var(--primary);margin-left:4px;font-size:9px}td{font-variant-numeric:tabular-nums;color:var(--fg);height:32px}tbody tr{transition:background .1s var(--ease)}tbody tr:hover{background:var(--accent)}tr.clickable{cursor:pointer}td.num,th.num{text-align:right}tfoot td{background:var(--muted);color:var(--fg);border-top:2px solid color-mix(in srgb, var(--muted-fg) 45%, var(--border));font-weight:700;position:sticky;bottom:0}.pager{justify-content:center;align-items:center;gap:8px;margin-top:8px;display:flex}.pager button{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--muted-fg);transition:all .15s var(--ease);border-radius:6px;padding:4px 12px;font-size:12px;font-weight:600}.pager button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-10)}.pager button:disabled{opacity:.35;cursor:default}.grid{grid-template-columns:340px 1fr;gap:16px;display:grid}.tlist{max-height:60vh;margin:8px 0 0;padding:0;list-style:none;overflow:auto}.tlist li{border-radius:var(--radius);cursor:pointer;transition:background .12s var(--ease);justify-content:space-between;padding:7px 9px;display:flex}.tlist li:hover{background:var(--accent)}.trows{color:var(--muted-fg);font-variant-numeric:tabular-nums;font-size:12px}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-bg{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;animation:fade-in .15s var(--ease);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);width:640px;max-width:92vw;max-height:86vh;box-shadow:var(--shadow-lg);animation:modal-in .22s var(--ease);border-radius:14px;padding:0;overflow:auto}.modal-lg{width:940px}.modal-head{border-bottom:1px solid var(--border);z-index:3;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;padding:16px 22px;display:flex;position:sticky;top:0}.modal-head h2{color:var(--fg);letter-spacing:-.3px;margin:0;font-size:16px;font-weight:800}.modal-head button{background:var(--accent);cursor:pointer;width:28px;height:28px;color:var(--muted-fg);transition:all .15s var(--ease);border:none;border-radius:50%;font-size:14px}.modal-head button:hover{background:color-mix(in srgb, var(--destructive) 15%, transparent);color:var(--destructive)}.dgroup{border-bottom:1px solid var(--border-60);padding:15px 22px}.dgroup h3{color:var(--primary);border-left:3px solid var(--primary);letter-spacing:.3px;margin:0 0 10px;padding-left:8px;font-size:12px}.dfields{grid-template-columns:1fr 1fr;gap:7px 20px;display:grid}.dfield{border-bottom:1px dashed var(--border-60);justify-content:space-between;gap:12px;padding:4px 0;display:flex}.dlabel{color:var(--muted-fg);font-size:12.5px}.dvalue{color:var(--fg);text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.login-wrap{background:radial-gradient(800px 500px at 85% -10%,#3b82f640,#0000 60%),radial-gradient(700px 500px at -10% 110%,#2563eb4d,#0000 55%),linear-gradient(135deg,#0a0e17 0%,#101b33 55%,#16264a 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login{text-align:center;width:372px;box-shadow:var(--shadow-lg);border-top:4px solid var(--primary);animation:modal-in .3s var(--ease);background:#fffffffa;border-radius:18px;padding:40px 36px 28px}.login-logo{width:200px;max-width:80%;margin-bottom:16px}.login h1{color:#0b1220;letter-spacing:-.5px;margin:0;font-size:23px;font-weight:800}.login .sub{color:#6b7280;letter-spacing:.3px;margin:6px 0 22px;font-size:12px}.login label{text-align:left;color:#374151;margin:11px 2px 5px;font-size:12px;font-weight:700;display:block}.login .err{color:#dc2626;margin:12px 0 0;font-size:13px}.login-foot{color:#9ca3af;margin:22px 0 0;font-size:11px}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;transition:filter .15s var(--ease);border:none;padding:8px 15px;font-size:13px;font-weight:700}.btn-primary:hover{filter:brightness(1.08)}.btn-sm{background:var(--primary-10);color:var(--primary);cursor:pointer;transition:all .15s var(--ease);border:1px solid #0000;border-radius:7px;padding:5px 10px;font-size:12px;font-weight:700}.btn-sm:hover{background:color-mix(in srgb, var(--primary) 20%, transparent)}.btn-sm:disabled{opacity:.45;cursor:default}.btn-del{color:var(--destructive);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:14px}.btn-del:hover{background:color-mix(in srgb, var(--destructive) 12%, transparent)}.form-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 14px;padding:14px 18px;display:grid}.form-field{flex-direction:column;gap:3px;display:flex}.form-field>label{color:var(--muted-fg);font-size:12px;font-weight:700}.form-field .req{color:var(--destructive);margin-left:3px}.form-field input,.form-field select{border:1px solid var(--border);background:var(--bg);color:var(--fg);transition:all .15s var(--ease);border-radius:6px;padding:5px 8px;font-size:12.5px}.form-field input:focus,.form-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10);outline:none}.form-field .calc-val{color:var(--fg);font-variant-numeric:tabular-nums;padding:5px 4px;font-weight:700}.ref-input{position:relative}.ref-input>input{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--fg);transition:all .15s var(--ease);border-radius:6px;padding:5px 8px;font-size:12.5px}.ref-input>input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10);outline:none}.ref-drop{z-index:60;background:var(--popover);border:1px solid var(--border);box-shadow:var(--shadow-lg);max-height:220px;animation:modal-in .13s var(--ease);border-radius:10px;margin:4px 0 0;padding:5px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto}.ref-drop li{cursor:pointer;color:var(--fg);border-radius:6px;padding:6px 8px;font-size:12.5px}.ref-drop li:hover{background:var(--accent)}.detail-box{padding:4px 22px 18px}.detail-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.detail-head h3{color:var(--primary);border-left:3px solid var(--primary);margin:0;padding-left:8px;font-size:12px}.detail-table th{height:30px;padding:4px 8px;font-size:12px}.detail-table td{border-bottom:1px solid var(--border-60);padding:2px 4px}.detail-table input,.detail-table select{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--fg);border-radius:5px;padding:4px 6px;font-size:12px}.detail-table input:focus,.detail-table select:focus{border-color:var(--primary);outline:none}.detail-table .calc-val{text-align:right;color:var(--fg);font-variant-numeric:tabular-nums;padding:4px;font-weight:700;display:block}.modal-foot{border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:8px;padding:14px 22px;display:flex;position:sticky;bottom:0}.modal-foot button{border-radius:var(--radius);cursor:pointer;transition:filter .15s var(--ease);border:none;padding:9px 18px;font-size:13.5px;font-weight:700}.modal-foot button:not(.ghost){background:var(--primary);color:#fff}.modal-foot button:not(.ghost):hover{filter:brightness(1.08)}.modal-foot .ghost{background:var(--accent);color:var(--muted-fg)}.modal-foot .ghost.danger{background:color-mix(in srgb, var(--destructive) 10%, transparent);color:var(--destructive)}
