:root{--primary:#1e3a8a;--muted:#64748b;--primary-dk:#172a63;--primary-lt:#e8edf9;--accent:#0891b2;--success:#15803d;--warning:#b45309;--danger:#b91c1c;--danger-dk:#991b1b;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--text:#1e293b;--shadow-sm:0 1px 3px #0f172a14;--shadow-md:0 4px 16px #0f172a1f;--radius:8px;--radius-sm:5px;--card-bg:#fff;--th-bg:#f3f4f6;--border:#e2e8f0;--row-even:#fff;--row-odd:var(--slate-50);--sub-hdr-bg:#f8fafc;--sub-hdr-border:#e2e8f0}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text);background:var(--slate-100);-webkit-font-smoothing:antialiased;font-family:Segoe UI,Inter,system-ui,-apple-system,Arial,sans-serif;font-size:14px}a{color:var(--primary);text-decoration:none}button{font-family:inherit}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:.86rem;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dk)}.btn-secondary{background:var(--slate-200);color:var(--slate-700);border:1px solid var(--slate-300)}.btn-secondary:hover:not(:disabled){background:var(--slate-300)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-dk)}.btn-warning{color:#fff;background:#d97706;border:1px solid #b45309}.btn-warning:hover:not(:disabled){background:#b45309}.btn-outline{color:var(--slate-600);border:1px solid var(--slate-400);background:0 0}.toggle-pill{border:1px solid var(--border);border-radius:7px;display:inline-flex;overflow:hidden}.toggle-pill-btn{cursor:pointer;background:var(--card-bg);color:var(--muted);border:none;padding:6px 16px;font-size:12.5px;font-weight:600}.toggle-pill-btn:not(:first-child){border-left:1px solid var(--border)}.toggle-pill-btn:disabled{cursor:not-allowed;opacity:.6}.toggle-pill-btn--on{background:var(--primary);color:#fff}.btn-outline:hover:not(:disabled){background:var(--slate-100)}.btn-success{color:#fff;background:#15803d}.btn-success:hover:not(:disabled){background:#166534}.card{border:1px solid var(--slate-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:18px;overflow:hidden}.card-hdr{border-bottom:1px solid var(--slate-200);background:var(--slate-50);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.card-title{color:var(--slate-700);font-size:.8rem;font-weight:700}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--slate-500);font-size:.72rem;font-weight:600}.req{color:var(--danger);margin-left:2px}.compact-fields .field{gap:2px}.compact-fields .field label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:0;font-size:.62rem;font-weight:700}.compact-fields .input,.compact-fields textarea.input,.compact-fields .ssel-control,.compact-fields .msel-control{min-height:27px;padding:3px 6px;font-size:.78rem}.compact-fields .msel-label{margin-bottom:2px;font-size:10px}.compact-fields .form-grid-4{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 10px}.input,.select{border:1px solid var(--slate-300);border-radius:var(--radius-sm);width:100%;color:var(--text);background:#fff;outline:none;padding:8px 11px;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1e3a8a1f}.input.err{border-color:var(--danger)}.err-msg{color:var(--danger);font-size:.76rem}.ssel{width:100%;position:relative}div:has(>.ssel){vertical-align:middle;display:inline-block}.ssel-control{border:1px solid var(--border);background:var(--card-bg);width:100%;min-height:34px;color:var(--text);cursor:pointer;text-align:left;border-radius:7px;align-items:center;gap:6px;padding:5px 8px;font-size:12.5px;transition:border-color .12s;display:flex}.ssel-control:hover:not(:disabled){border-color:var(--primary)}.ssel-control:disabled{opacity:.6;cursor:not-allowed}.ssel-control--open{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-lt)}.ssel-control.err{border-color:var(--danger)}.ssel-val{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ssel-ph{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.msel-caret{color:var(--muted);flex-shrink:0;margin-left:auto;font-size:10px}.msel-menu{z-index:1100;background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:8px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.msel-search-row{gap:6px;padding:8px 8px 6px;display:flex}.msel-search{flex:1}.msel-list{flex:1;overflow-y:auto}.msel-row{cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;display:flex}.msel-row:hover,.msel-row--on{background:var(--primary-lt)}.msel-check{width:13px;color:var(--primary);flex-shrink:0;font-weight:700}.msel-val{-webkit-user-select:text;user-select:text;cursor:text;flex:1}.msel-check{-webkit-user-select:none;user-select:none}.msel-empty{text-align:center;color:var(--muted);padding:14px;font-size:12px}.msel-list::-webkit-scrollbar{width:6px}.msel-list::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:3px}[data-theme=dark] .msel-list::-webkit-scrollbar-thumb{background:var(--slate-600)}textarea{resize:none}textarea::-webkit-scrollbar{display:none}textarea{-ms-overflow-style:none;scrollbar-width:none}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.tbl-wrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:.86rem}.tbl thead th{background:var(--slate-100);z-index:1;text-align:left;color:var(--slate-600);border-bottom:2px solid var(--slate-200);white-space:nowrap;padding:11px 14px;font-size:.72rem;font-weight:700;position:sticky;top:0}.tbl tbody td{border-bottom:1px solid var(--slate-200);padding:10px 14px}.tbl tbody td,.ir-tbl td{overflow-wrap:anywhere}@keyframes pulse{0%,to{opacity:1}50%{opacity:.62}}@media (prefers-reduced-motion:reduce){.btn{animation:none!important}}.tbl.grid-compact thead th{padding:8px 6px}.tbl.grid-compact tbody td{padding:6px}.tbl tbody tr:nth-child(2n){background:var(--slate-50)}.tbl tbody tr:hover{background:var(--primary-lt)}.td-c{text-align:center}.td-r{text-align:right;font-variant-numeric:tabular-nums}.th-action{text-align:center;width:96px}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 7px;font-size:.95rem}.icon-edit:hover{background:var(--primary-lt)}.icon-del:hover{background:#fee2e2}.badge-active{color:#166534;background:#dcfce7}.badge-inactive{color:#991b1b;background:#fee2e2}.badge-draft{color:#92400e;background:#fef3c7}.badge-confirmed{color:#166534;background:#dcfce7}.badge-closed{color:#1e3a8a;background:#e8edf9}.state-cell{text-align:center;color:var(--slate-500);padding:44px 20px}.spinner{border:2px solid var(--slate-300);border-top-color:var(--primary);vertical-align:middle;border-radius:50%;width:16px;height:16px;margin-right:6px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.pagination{border-top:1px solid var(--slate-200);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;display:flex}.pg-info{color:var(--slate-500);font-size:.8rem}.pg-info-sep{color:var(--slate-300);margin:0 6px}.pg-controls{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.pg-btn{border:1px solid var(--slate-300);cursor:pointer;min-width:32px;height:32px;color:var(--slate-700);background:#fff;border-radius:5px;padding:0 8px;font-size:.82rem;transition:all .15s}.pg-btn:hover:not(:disabled){background:var(--primary-lt);border-color:var(--primary);color:var(--primary)}.pg-btn:disabled{opacity:.35;cursor:not-allowed}.pg-btn.pg-active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}.pg-ellipsis{color:var(--slate-400);padding:0 4px;font-size:.82rem;line-height:32px}.td-num{color:var(--slate-400);font-size:.78rem}.overlay{z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius);width:100%;max-width:640px;box-shadow:var(--shadow-md);background:#fff;animation:.18s pop}.modal-sm{max-width:420px}.modal-lg{max-width:1040px}@keyframes pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-hdr{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.modal-hdr h3{color:var(--slate-800);margin:0;font-size:1rem}.modal-hdr-danger{background:#fef2f2;border-bottom-color:#fecaca}.modal-hdr-danger h3{color:var(--danger)}.close-btn{cursor:pointer;color:var(--slate-400);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1.05rem}.close-btn:hover{background:var(--slate-100)}.modal-body{max-height:70vh;padding:20px 22px;overflow:auto}.modal-ftr{border-top:1px solid var(--slate-200);justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.form-grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.col-span{grid-column:1/-1}.toast{z-index:9999;border-radius:var(--radius);box-shadow:var(--shadow-md);align-items:center;gap:9px;min-width:240px;padding:12px 18px;font-size:.88rem;font-weight:600;animation:.3s slideIn;display:flex;position:fixed;top:18px;right:18px}.toast-success{color:#166534;border-left:4px solid var(--success);background:#dcfce7}.toast-error{color:#991b1b;border-left:4px solid var(--danger);background:#fee2e2}@keyframes slideIn{0%{transform:translate(110%)}to{transform:translate(0)}}@media (width<=900px){.form-grid-4{grid-template-columns:1fr 1fr}}@media (width<=640px){.form-grid,.form-grid-4{grid-template-columns:1fr}}.toggle-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:#cbd5e1;border-radius:12px;width:42px;height:24px;transition:background .2s;position:relative}.toggle-switch input:checked+.toggle-track{background:var(--primary)}.toggle-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-track .toggle-thumb{transform:translate(18px)}.toggle-label{color:var(--slate-600);min-width:28px;font-size:.85rem}[data-theme=dark] .toggle-track{background:#555}[data-theme=dark] .toggle-label{color:#9d9d9d}.indent-grp-hdr{background:#f3f4f6}[data-theme=dark] .indent-grp-hdr{background:#2d2d2d}.indent-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-bottom:20px;display:grid}.indent-kpi{border:1px solid var(--slate-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;padding:14px 16px;transition:box-shadow .15s}.indent-kpi:hover{box-shadow:var(--shadow-md)}.indent-kpi-grid--fill{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.indent-kpi-val{margin-bottom:5px;font-size:1.6rem;font-weight:800;line-height:1}.indent-kpi-lbl{color:var(--slate-500);font-size:.68rem;font-weight:600}.pri-normal{color:#475569;background:#f1f5f9}.pri-urgent{color:#92400e;background:#fef3c7}.pri-critical{color:#991b1b;background:#fee2e2;font-weight:700}.badge-pending-ap{color:#854d0e;background:#fef9c3}.badge-ind-approved{color:#166534;background:#dcfce7}.badge-ind-rejected{color:#991b1b;background:#fee2e2}.badge-ind-hold{color:#9a3412;background:#ffedd5}.badge-partial-ord{color:#1e40af;background:#dbeafe}.badge-fully-ord{color:#6b21a8;background:#ede9fe}.badge-cancelled{color:#64748b;background:#f1f5f9}.badge-blue{color:#1e40af;background:#dbeafe}.badge-partially-rcv{color:#155e75;background:#cffafe}.badge-overdue{color:#9d174d;background:#fce7f3}[data-theme=dark] .badge-partially-rcv{color:#67e8f9;background:#0c2d35}[data-theme=dark] .badge-overdue{color:#f9a8d4;background:#2d0c1e}.po-quick-chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.po-chip{cursor:pointer;border:1.5px solid var(--slate-300);color:var(--slate-600);white-space:nowrap;background:#fff;border-radius:20px;padding:5px 14px;font-size:.78rem;font-weight:600;transition:all .15s}.po-chip:hover{border-color:var(--primary);color:var(--primary)}.po-chip.po-chip-active{background:var(--primary);color:#fff;border-color:var(--primary)}[data-theme=dark] .po-chip{color:#9d9d9d;background:#252526;border-color:#424242}[data-theme=dark] .po-chip.po-chip-active{background:var(--primary);color:#fff;border-color:var(--primary)}.po-action-bar{flex-wrap:wrap;align-items:center;gap:0;margin-bottom:16px;padding:10px 16px;display:flex}.po-action-grp{border-right:1px solid var(--border);align-items:center;gap:6px;padding:0 14px;display:flex}.po-action-grp:last-child{border-right:none}.po-action-grp:first-child{padding-left:0}[data-theme=dark] .po-action-grp{border-right-color:#424242}.vendor-strip{background:var(--slate-50);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:20px;margin:14px 0 6px;padding:12px 16px;display:flex}[data-theme=dark] .vendor-strip{background:#1e2a3a;border-color:#2a3a4a}.vendor-strip-main{flex:1;min-width:160px}.vendor-strip-name{margin-bottom:3px;font-size:.93rem;font-weight:700}.vendor-strip-meta{color:var(--slate-500);flex-wrap:wrap;gap:14px;font-size:.77rem;display:flex}.vendor-strip-rating{text-align:center;flex-shrink:0}.vendor-stars{letter-spacing:1px;font-size:1.2rem;line-height:1;display:block}.vendor-strip-metrics{gap:18px;display:flex}.vendor-metric{text-align:center}.vendor-metric-val{color:var(--primary);font-size:1rem;font-weight:700;line-height:1.2}.vendor-metric-lbl{color:var(--slate-500);margin-top:2px;font-size:.67rem}.appr-flow{align-items:flex-start;padding:14px 0 6px;display:flex;overflow-x:auto}.appr-step{flex:1;align-items:flex-start;min-width:80px;display:flex}.appr-connector{background:var(--border);flex:1;height:2px;margin-top:15px;transition:background .3s}.appr-conn-done{background:#22c55e}.appr-node-wrap{flex-direction:column;flex-shrink:0;align-items:center;gap:5px;display:flex}.appr-dot{border:2px solid var(--border);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.82rem;font-weight:700;transition:all .2s;display:flex}[data-theme=dark] .appr-dot{background:#252526;border-color:#424242}.appr-lbl{color:var(--slate-500);white-space:nowrap;text-align:center;font-size:.7rem}.appr-done .appr-dot{color:#fff;background:#22c55e;border-color:#22c55e}.appr-active .appr-dot{background:var(--primary);color:#fff;border-color:var(--primary)}.appr-active .appr-lbl{color:var(--primary);font-weight:600}.appr-fail .appr-dot{color:#fff;background:#ef4444;border-color:#ef4444}.appr-fail .appr-lbl{color:#ef4444}.audit-timeline{padding:4px 0;position:relative}.audit-entry{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex;position:relative}.audit-entry:last-child{margin-bottom:0}.audit-icon{z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.82rem;font-weight:700;display:flex}.audit-body{flex:1;padding-top:4px}.audit-msg{font-size:.87rem;font-weight:600}.audit-date{color:var(--slate-500);margin-top:2px;font-size:.77rem}.audit-vline{background:var(--border);width:2px;position:absolute;top:30px;bottom:-22px;left:14px}.audit-created{color:#1d4ed8;background:#dbeafe}.audit-submit{color:#92400e;background:#fef3c7}.audit-approved{color:#166534;background:#dcfce7}.audit-partial{color:#155e75;background:#cffafe}.audit-closed{color:#6b21a8;background:#ede9fe}.audit-cancelled,.audit-rejected{color:#991b1b;background:#fee2e2}[data-theme=dark] .audit-created{color:#93c5fd;background:#1e3a5f}[data-theme=dark] .audit-approved{color:#86efac;background:#14532d}[data-theme=dark] .audit-closed{color:#c4b5fd;background:#2e1065}[data-theme=dark] .audit-cancelled,[data-theme=dark] .audit-rejected{color:#fca5a5;background:#450a0a}.sched-panel{background:var(--slate-50);border-top:1px solid var(--border);padding:12px 18px}[data-theme=dark] .sched-panel{background:#1e2a3a}.input-details-panel{background:var(--slate-50);border-top:1px solid var(--border)}[data-theme=dark] .input-details-panel{color:#d4d4d4;background:#1a1f2e;border-top-color:#333}[data-theme=dark] .input-details-panel .input-details-empty{color:#6a6a6a}.row-selected{background:#6366f112!important}[data-theme=dark] .row-selected{background:#6366f126!important}.ls-not-ordered{color:#64748b;background:#f1f5f9}.ls-partial{color:#1d4ed8;background:#dbeafe}.ls-ordered{color:#7c3aed;background:#ede9fe}.ls-received{color:#15803d;background:#dcfce7}.indent-grid-wrap{max-height:480px;overflow:auto}.indent-tbl{border-collapse:collapse;min-width:100%;font-size:.82rem}.indent-tbl thead th{z-index:3;background:var(--slate-100);text-align:left;color:var(--slate-600);border-bottom:2px solid var(--slate-200);white-space:nowrap;padding:9px 10px;font-size:.67rem;font-weight:700;position:sticky;top:0}.indent-tbl thead th:first-child,.indent-tbl tbody td:first-child{z-index:2;position:sticky;left:0}.indent-tbl thead th:first-child{z-index:4}.indent-tbl .tbl-row-filter td{top:calc(var(--sticky-hdr-h,36px) + 2px);z-index:3;position:sticky}.indent-tbl .tbl-row-filter td:first-child{z-index:4;left:0}.indent-tbl tbody td{border-bottom:1px solid var(--slate-200);vertical-align:top;background:#fff;padding:5px 10px}.indent-tbl tbody tr:nth-child(2n) td{background:var(--slate-50)}.indent-tbl tbody tr:hover td{background:var(--primary-lt)}.indent-tbl tbody tr.indent-line-sel td{background:#3b82f61f}.approval-timeline{padding:0 4px}.tl-item{gap:16px;padding-bottom:24px;display:flex;position:relative}.tl-item:not(:last-child):after{content:"";background:var(--slate-200);width:2px;position:absolute;top:34px;bottom:0;left:15px}.tl-dot{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.82rem;font-weight:700;display:flex}.tl-approved{color:#166534;background:#dcfce7}.tl-rejected{color:#991b1b;background:#fee2e2}.tl-hold{color:#9a3412;background:#ffedd5}.tl-submit{color:#1e40af;background:#dbeafe}.tl-sendback{color:#92400e;background:#fef3c7}.tl-info{flex:1}.tl-action{color:var(--slate-800);font-size:.88rem;font-weight:700}.tl-meta{color:var(--slate-500);margin-top:2px;font-size:.76rem}.tl-remarks{color:var(--slate-600);margin-top:4px;font-size:.82rem;font-style:italic}.ref-panel{background:var(--primary-lt);border-radius:var(--radius-sm);border:1px solid #c7d4f0;margin-bottom:16px;padding:14px 18px}.ref-panel-title{color:var(--primary);margin-bottom:12px;font-size:.7rem;font-weight:700}.ref-panel-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.ref-field-label{color:var(--slate-500);margin-bottom:2px;font-size:.67rem;font-weight:600}.ref-field-value{color:var(--slate-800);font-size:.86rem;font-weight:600}.tab-bar{border-bottom:2px solid var(--slate-200);background:var(--slate-50);gap:0;padding:0 18px;display:flex}.tab-btn{color:var(--slate-500);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:11px 20px;font-size:.82rem;font-weight:600;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--primary)}.tab-btn.tab-active{color:var(--primary);border-bottom-color:var(--primary)}.picker-list{border:1px solid var(--slate-200);border-radius:var(--radius-sm);overflow-y:auto}.picker-row{border-bottom:1px solid var(--slate-200);cursor:pointer;align-items:center;gap:10px;padding:9px 14px;transition:background .1s;display:flex}.picker-row:last-child{border-bottom:none}.picker-row:hover{background:var(--primary-lt)}.picker-row.selected{background:#e8edf9}.picker-item-code{color:var(--slate-400);min-width:72px;font-size:.71rem;font-weight:700}.picker-item-name{color:var(--slate-800);flex:1;font-size:.86rem;font-weight:600}.picker-item-cat{color:var(--slate-500);min-width:90px;font-size:.72rem}[data-theme=dark]{--card-bg:#252526;--th-bg:#2d2d2d;--primary-lt:#569cd61a;--sub-hdr-bg:#2a2a2a;--sub-hdr-border:#383838;--border:#424242;--row-even:#252526;--row-odd:#2a2a2a}[data-theme=dark] body{color:#d4d4d4;background:#1e1e1e}[data-theme=dark] .sb{background:#252526}[data-theme=dark] .sb-logo{border-bottom-color:#ffffff0f}[data-theme=dark] .card{background:#252526;border-color:#424242}[data-theme=dark] .card-hdr{background:#2d2d2d;border-bottom-color:#424242}[data-theme=dark] .card-title{color:#9d9d9d}[data-theme=dark] .topbar{background:#2d2d2d;box-shadow:0 1px #424242}[data-theme=dark] .tb-title{color:#e8e8e8}[data-theme=dark] .tb-crumb{color:#6a6a6a}[data-theme=dark] .tb-user{color:#9d9d9d}[data-theme=dark] .hn{background:#1a1a1a;box-shadow:0 1px #333}[data-theme=dark] .hn-dropdown{background:#252526;border-color:#424242;box-shadow:0 8px 24px #0000008c}[data-theme=dark] .hn-dd-item{color:#ffffffb8}[data-theme=dark] .hn-dd-item:hover{background:#ffffff12}[data-theme=dark] .hn-dd-sub-hdr{color:#ffffffe0}[data-theme=dark] .hn-dd-sub{background:#00000040}[data-theme=dark] .hn-page-hdr{box-shadow:none;background:#2d2d2d;border-bottom:1px solid #424242}[data-theme=dark] .hn-page-title{color:#e8e8e8}[data-theme=dark] .hn-page-crumb{color:#6a6a6a}[data-theme=dark] .input,[data-theme=dark] .select,[data-theme=dark] textarea{color:#d4d4d4;background:#3c3c3c;border-color:#555}[data-theme=dark] .input::placeholder{color:#6a6a6a}[data-theme=dark] .input:focus,[data-theme=dark] .select:focus{border-color:#569cd6;box-shadow:0 0 0 3px #569cd62e}[data-theme=dark] select option{color:#d4d4d4;background:#3c3c3c}[data-theme=dark] .field label{color:#9d9d9d}[data-theme=dark] .pp-sect-hdr{background:#1e3252!important}[data-theme=dark] .pp-th{color:#8ba7cc!important;background:#1e3252!important;border-right-color:#2d4470!important}.pp-sub-lbl{color:#1a2744}[data-theme=dark] .pp-sub-lbl{color:#8ba7cc}[data-theme=dark] .tbl thead th{color:#6a6a6a;background:#252526;border-bottom-color:#424242}[data-theme=dark] .tbl tbody td{color:#d4d4d4;border-bottom-color:#383838}[data-theme=dark] .tbl tbody tr:nth-child(2n){background:#2a2a2a}[data-theme=dark] .tbl tbody tr:hover{background:#2d2d30}[data-theme=dark] .pagination{border-top-color:#424242}[data-theme=dark] .pg-btn{color:#9d9d9d;background:#2d2d2d;border-color:#555}[data-theme=dark] .pg-btn:hover:not(:disabled){color:#569cd6;background:#569cd61f;border-color:#569cd6}[data-theme=dark] .pg-btn.pg-active{color:#fff;background:#569cd6;border-color:#569cd6}[data-theme=dark] .pg-ellipsis{color:#5a5a5a}[data-theme=dark] .indent-tbl thead th{color:#6a6a6a;background:#252526;border-bottom-color:#424242}[data-theme=dark] .indent-tbl tbody td{background:#252526;border-bottom-color:#383838}[data-theme=dark] .indent-tbl tbody tr:nth-child(2n) td{background:#2a2a2a}[data-theme=dark] .indent-tbl tbody tr:hover td{background:#2d2d30}[data-theme=dark] .indent-tbl tbody tr.indent-line-sel td{background:#63a0ff2e}[data-theme=dark] .btn-primary{background:#0e639c}[data-theme=dark] .btn-primary:hover:not(:disabled){background:#17b}[data-theme=dark] .btn-secondary{color:#ccc;background:#3c3c3c;border-color:#555}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:#494949}[data-theme=dark] .btn-outline{color:#9d9d9d;border-color:#555}[data-theme=dark] .btn-outline:hover:not(:disabled){background:#3c3c3c}[data-theme=dark] .icon-btn{color:#6a6a6a}[data-theme=dark] .icon-edit:hover{background:#569cd624}[data-theme=dark] .icon-del:hover{background:#f4474724}[data-theme=dark] .badge-active{color:#89d185;background:#1b3a2a}[data-theme=dark] .badge-inactive{color:#f48771;background:#3a1b1b}[data-theme=dark] .badge-draft{color:#cca700;background:#3a3010}[data-theme=dark] .badge-confirmed{color:#89d185;background:#1b3a2a}[data-theme=dark] .badge-closed{color:#569cd6;background:#1b2a3a}[data-theme=dark] .badge-pending-ap{color:#cca700;background:#3a3010}[data-theme=dark] .badge-ind-approved{color:#89d185;background:#1b3a2a}[data-theme=dark] .badge-ind-rejected{color:#f48771;background:#3a1b1b}[data-theme=dark] .badge-ind-hold{color:#ce9178;background:#3a2010}[data-theme=dark] .badge-partial-ord{color:#569cd6;background:#1b2a3a}[data-theme=dark] .badge-fully-ord{color:#c586c0;background:#2a1b3a}[data-theme=dark] .badge-cancelled{color:#6a6a6a;background:#2d2d2d}[data-theme=dark] .badge-blue{color:#569cd6;background:#1b2a3a}[data-theme=dark] .ls-not-ordered{color:#6a6a6a!important;background:#2d2d2d!important}[data-theme=dark] .ls-partial{color:#569cd6!important;background:#1b2a3a!important}[data-theme=dark] .ls-ordered{color:#89d185!important;background:#1b3a2a!important}[data-theme=dark] .ls-received{color:#c586c0!important;background:#2a1b3a!important}[data-theme=dark] .pri-urgent{color:#cca700;background:#3a3010}[data-theme=dark] .pri-critical{color:#f48771;background:#3a1b1b}[data-theme=dark] .overlay{background:#000000c7}[data-theme=dark] .modal{background:#252526;border:1px solid #424242}[data-theme=dark] .modal-hdr{border-bottom-color:#424242}[data-theme=dark] .modal-hdr h3{color:#e8e8e8}[data-theme=dark] .modal-hdr-danger{background:#3a1b1b;border-bottom-color:#6b2020}[data-theme=dark] .modal-ftr{border-top-color:#424242}.indent-line-sel{background:#3b82f61f}[data-theme=dark] .indent-line-sel{background:#63a0ff2e}.gst-popover{z-index:9999;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:220px;padding:10px 14px;font-size:.82rem;position:fixed;box-shadow:0 4px 16px #0000001f}.gst-popover-title{color:#334155;margin-bottom:8px;font-weight:600}.gst-popover table{border-collapse:collapse;width:100%}.gst-popover thead tr{color:#64748b;font-size:.75rem}.gst-popover thead th{text-align:left;padding-bottom:4px;font-weight:600}.gst-popover thead th:not(:first-child){text-align:right}.gst-popover tbody td{color:#475569;padding:2px 0}.gst-popover tbody td:not(:first-child){text-align:right}.gst-popover .gst-total td{color:#1e293b;border-top:1px solid #e2e8f0;padding-top:6px;font-weight:700}[data-theme=dark] .gst-popover{color:#d4d4d4;background:#252526;border-color:#424242;box-shadow:0 4px 20px #0000008c}[data-theme=dark] .gst-popover-title{color:#ccc}[data-theme=dark] .gst-popover thead tr{color:#6a6a6a}[data-theme=dark] .gst-popover tbody td{color:#9d9d9d}[data-theme=dark] .gst-popover .gst-total td{color:#d4d4d4;border-top-color:#424242}.tax-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.tax-summary .ts-lbl{color:#64748b;margin-bottom:2px;font-size:.75rem}.tax-summary .ts-val{color:#1e293b;font-weight:600}.tax-summary .ts-val-total{font-size:.95rem;font-weight:700}[data-theme=dark] .tax-summary{background:#2d2d2d;border-color:#424242}[data-theme=dark] .tax-summary .ts-lbl{color:#9d9d9d}[data-theme=dark] .tax-summary .ts-val{color:#d4d4d4}.input-readonly{color:#64748b!important;cursor:default!important;background:#f1f5f9!important}[data-theme=dark] .input-readonly{color:#6a6a6a!important;background:#2d2d2d!important}[data-theme=dark] .close-btn{color:#6a6a6a}[data-theme=dark] .close-btn:hover{color:#d4d4d4;background:#3c3c3c}[data-theme=dark] .toast-success{color:#89d185;background:#1b3a2a;border-left-color:#89d185}[data-theme=dark] .toast-error{color:#f48771;background:#3a1b1b;border-left-color:#f48771}[data-theme=dark] .state-cell{color:#5a5a5a}[data-theme=dark] .spinner{border-color:#569cd6 #424242 #424242}[data-theme=dark] .indent-kpi{background:#252526;border-color:#424242}[data-theme=dark] .ref-panel{background:#2d2d2d;border-color:#424242}[data-theme=dark] .ref-panel-title{color:#569cd6}[data-theme=dark] .ref-field-label{color:#6a6a6a}[data-theme=dark] .ref-field-value{color:#9d9d9d}[data-theme=dark] .tab-bar{background:#2d2d2d;border-bottom-color:#424242}[data-theme=dark] .tab-btn{color:#6a6a6a}[data-theme=dark] .tab-btn:hover{color:#9d9d9d;background:#333}[data-theme=dark] .tab-btn.tab-active{color:#569cd6;border-bottom-color:#569cd6}.indent-lines-hdr{border-bottom:1px solid var(--slate-200);background:var(--slate-50);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}[data-theme=dark] .indent-lines-hdr{background:#2d2d2d;border-bottom-color:#424242}[data-theme=dark] .tl-item:not(:last-child):after{background:#424242}[data-theme=dark] .tl-action{color:#d4d4d4}[data-theme=dark] .tl-meta{color:#5a5a5a}[data-theme=dark] .tl-remarks{color:#6a6a6a}[data-theme=dark] .tl-approved{color:#89d185;background:#1b3a2a}[data-theme=dark] .tl-rejected{color:#f48771;background:#3a1b1b}[data-theme=dark] .tl-hold{color:#ce9178;background:#3a2010}[data-theme=dark] .tl-submit{color:#569cd6;background:#1b2a3a}[data-theme=dark] .tl-sendback{color:#cca700;background:#3a3010}[data-theme=dark] .picker-list{border-color:#424242}[data-theme=dark] .picker-row{border-bottom-color:#383838}[data-theme=dark] .picker-row:hover{background:#2d2d30}[data-theme=dark] .picker-row.selected{background:#1b2a3a}[data-theme=dark] .picker-item-code{color:#6a6a6a}[data-theme=dark] .picker-item-name{color:#d4d4d4}[data-theme=dark] .picker-item-cat{color:#6a6a6a}[data-theme=dark] .sb-layout-toggle{color:#9d9d9d;background:#3c3c3c;border-color:#555}[data-theme=dark] .sb-layout-toggle:hover{color:#d4d4d4;background:#494949}.dark-toggle-lt{background:var(--slate-100);border:1px solid var(--slate-200);border-radius:var(--radius-sm);color:var(--slate-600);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;font-weight:600;transition:all .15s;display:flex}.dark-toggle-lt:hover{background:var(--slate-200);color:var(--slate-800)}[data-theme=dark] .dark-toggle-lt{color:#9d9d9d;background:#3c3c3c;border-color:#555}[data-theme=dark] .dark-toggle-lt:hover{color:#d4d4d4;background:#494949}.bom-plan-section{border-top:2px solid var(--accent);background:#f8fafc;padding:12px 16px}.bom-tree-node-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:.83rem;display:flex}.bom-totals-bar{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:32px;padding:12px 20px;font-size:.85rem;display:flex}[data-theme=dark] .bom-plan-section{border-top-color:var(--accent);background:#1e1e1e}[data-theme=dark] .bom-tree-node-box{background:#2d2d2d;border-color:#424242}[data-theme=dark] .bom-totals-bar{background:#252526;border-top-color:#424242}.dark-toggle-dk{border-radius:var(--radius-sm);color:#ffffffbf;cursor:pointer;white-space:nowrap;background:#ffffff12;border:1px solid #ffffff24;align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;font-weight:600;transition:all .15s;display:flex}.dark-toggle-dk:hover{color:#fff;background:#ffffff24}[data-theme=dark]{--primary:#569cd6;--muted:#9d9d9d;--primary-lt:#1b2a3a;--slate-400:#6a6a6a;--slate-500:#9d9d9d;--slate-600:#b8b8b8;--slate-700:#d4d4d4;--slate-800:#e8e8e8;--text:#d4d4d4;--row-even:#252526;--row-odd:#2a2a2a;--sub-hdr-bg:#2d2d2d;--sub-hdr-border:#424242}.ir-filter-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:16px 20px}.ir-result-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;overflow:hidden}.ir-page-title{color:var(--slate-800);margin:0;font-size:20px;font-weight:700}.ir-label{color:var(--slate-500);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.ir-view-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.ir-view-btn{cursor:pointer;background:var(--card-bg);color:var(--slate-600);border:none;padding:7px 16px;font-size:.82rem;font-weight:600;transition:all .15s}.ir-view-btn.ir-active{color:#fff;background:#3b82f6}[data-theme=dark] .ir-view-btn{color:#9d9d9d;background:#2d2d2d}[data-theme=dark] .ir-view-btn.ir-active{color:#fff;background:#0e639c}.ir-tbl{border-collapse:collapse;width:100%}.ir-tbl th{border-bottom:2px solid var(--border);background:var(--sub-hdr-bg);color:var(--slate-600);white-space:nowrap;padding:9px 10px;font-size:12px;font-weight:600}.ir-tbl th.num{text-align:right}.ir-tbl td{border-bottom:1px solid var(--border);vertical-align:top;color:var(--text);padding:7px 10px;font-size:13px}.ir-tbl td.num{text-align:right}.ir-tbl .ir-row-even{background:var(--row-even)}.ir-tbl .ir-row-odd{background:var(--row-odd)}.ir-tbl .ir-item-row{background:var(--primary-lt);cursor:pointer;font-weight:700}.ir-tbl .ir-item-row:hover{filter:brightness(.97)}.ir-tbl .ir-lot-row{background:var(--row-even);cursor:pointer}.ir-tbl .ir-lot-row:hover{background:var(--primary-lt);opacity:.8}.ir-tbl .ir-grade-row{background:var(--row-odd)}.ir-tbl .ir-total-row{background:var(--primary-lt);border-top:2px solid var(--border);font-weight:700}.ir-tbl .ir-txn-row{background:var(--card-bg)}.ir-tbl .ir-txn-row td{border-bottom-color:var(--sub-hdr-border)}.ir-avail{color:#166534;font-weight:700}.ir-zero{color:var(--slate-400)}.ir-mono{color:var(--slate-500);margin-right:8px;font-family:monospace;font-size:11px}.ir-dim{color:var(--slate-500);font-size:11px}[data-theme=dark] .ir-avail{color:#89d185}.tbl-row-filter td{background:var(--sub-hdr-bg);border-bottom:2px solid var(--border);padding:4px 6px}.tbl-row-filter input{border:1px solid var(--border);background:var(--card-bg);width:100%;color:var(--text);border-radius:3px;outline:none;padding:3px 6px;font-family:inherit;font-size:11px;transition:border-color .15s}.tbl-row-filter input:focus{border-color:var(--primary)}.tbl-row-filter input::placeholder{color:var(--slate-400)}.bom-status{border:1px solid #0000;border-radius:20px;align-items:center;gap:6px;padding:4px 16px;font-size:.8rem;font-weight:700;display:inline-flex}.bom-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.bom-status-draft{color:#92400e;background:#fef3c7;border-color:#92400e45}.bom-status-approved{color:#166534;background:#dcfce7;border-color:#16653445}.bom-status-obsolete{color:#475569;background:#f1f5f9;border-color:#47556945}[data-theme=dark] .bom-status-draft{color:#cca700;background:#3a3010;border-color:#cca70045}[data-theme=dark] .bom-status-approved{color:#89d185;background:#1b3a2a;border-color:#89d18545}[data-theme=dark] .bom-status-obsolete{color:#6a6a6a;background:#2d2d2d;border-color:#6a6a6a45}.ia-num-input{text-align:right;border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:4px;outline:none;padding:2px 6px;font-family:inherit;font-size:12px}.ia-num-input.ia-inc{border-color:var(--success);background:#f0fdf4}.ia-num-input.ia-dec{border-color:var(--danger);background:#fff1f2}[data-theme=dark] .ia-num-input{color:#d4d4d4;background:#3c3c3c;border-color:#555}[data-theme=dark] .ia-num-input::placeholder{color:#6a6a6a}[data-theme=dark] .ia-num-input.ia-inc{color:#86efac;background:#0f2a18;border-color:#22c55e}[data-theme=dark] .ia-num-input.ia-dec{color:#fca5a5;background:#2a1010;border-color:#ef4444}.so-breakdown-wrap{overflow-x:auto}.so-breakdown{width:100%}.so-breakdown th.col-pin,.so-breakdown td.col-pin{z-index:2;background:var(--card-bg);position:sticky}.so-breakdown thead th.col-pin{background:var(--slate-100);z-index:3}.so-breakdown .col-pin-l{left:0;box-shadow:2px 0 5px -2px #0000001a}.so-breakdown .col-pin-r{right:0;box-shadow:-2px 0 5px -2px #0000001a}.so-breakdown tbody tr:nth-child(2n) td.col-pin{background:var(--slate-50)}.so-breakdown tr.so-total-row td.col-pin{background:var(--sub-hdr-bg)}[data-theme=dark] .so-breakdown th.col-pin,[data-theme=dark] .so-breakdown td.col-pin{background:#1e1e1e}.so-price-input{font-weight:600;border-color:var(--success)!important;color:var(--success)!important;background:#f0fdf4!important}.so-price-input::placeholder{color:var(--success);opacity:.55}[data-theme=dark] .so-price-input{color:#4ade80!important;background:#15803d29!important}.so-fill-cell{border-radius:4px}.so-fill-handle{background:var(--primary);border:1px solid var(--card-bg);cursor:crosshair;z-index:2;opacity:0;border-radius:1px;width:7px;height:7px;transition:opacity .12s;position:absolute;bottom:-1px;right:-1px}.so-fill-cell:hover .so-fill-handle{opacity:1}.so-fill-covered{outline:2px dashed var(--primary);outline-offset:-1px;background:var(--primary-lt)}[data-theme=dark] .so-breakdown thead th.col-pin{background:#252526}[data-theme=dark] .so-breakdown tbody tr:nth-child(2n) td.col-pin{background:#2a2a2a}[data-theme=dark] .so-breakdown tr.so-total-row td.col-pin{background:#252526}.ta-kpi-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:12px 0;display:grid}.ta-kpi{border:1px solid var(--border);background:var(--card-bg,#fff);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;transition:border-color .12s,box-shadow .12s;display:flex}.ta-kpi:hover{border-color:var(--primary);box-shadow:0 1px 6px #00000012}.ta-kpi--active{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.ta-kpi-value{font-size:1.5rem;font-weight:650;line-height:1.1}.ta-kpi-label{color:var(--slate-500);text-transform:uppercase;letter-spacing:.03em;font-size:.74rem}.ta-kpi--ok .ta-kpi-value{color:#15803d}.ta-kpi--warn .ta-kpi-value{color:#b45309}.ta-kpi--bad .ta-kpi-value{color:#b91c1c}.ta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ta-grid>.ta-span2{grid-column:1/-1}@media (width<=1100px){.ta-grid{grid-template-columns:1fr}}.ta-empty{text-align:center;color:var(--slate-500);padding:18px;font-size:.86rem}.ta-bars{flex-direction:column;gap:7px;display:flex}.ta-bar-row{grid-template-columns:150px 1fr 44px;align-items:center;gap:8px;display:grid}.ta-bar-label{text-overflow:ellipsis;white-space:nowrap;color:var(--slate-600);font-size:.8rem;overflow:hidden}.ta-bar-track{background:var(--slate-100,#f1f5f9);border-radius:3px;height:14px;overflow:hidden}.ta-bar-fill{background:var(--primary);border-radius:3px;height:100%;display:block}.ta-bar-value{text-align:right;font-variant-numeric:tabular-nums;font-size:.8rem}tr.row-click{cursor:pointer}tr.row-click:hover>td{background:var(--slate-50,#f8fafc)}.ta-gantt{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.ta-gantt-inner{min-width:max-content}.ta-gantt-row{border-bottom:1px solid var(--border);align-items:stretch;display:flex}.ta-gantt-row:last-child{border-bottom:none}.ta-gantt-label{z-index:2;background:var(--card-bg,#fff);border-right:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;width:220px;min-width:220px;padding:6px 10px;font-size:.8rem;display:flex;position:sticky;left:0;overflow:hidden}.ta-gantt-track{flex:1;height:30px;position:relative}.ta-gantt-grid{position:absolute;inset:0}.ta-gantt-gridline{background:var(--border);opacity:.5;width:1px;position:absolute;top:0;bottom:0}.ta-gantt-today{opacity:.7;z-index:3;background:#b91c1c;width:2px;position:absolute;top:0;bottom:0}.ta-gantt-bar{background:var(--primary);opacity:.9;border-radius:3px;min-width:3px;height:16px;position:absolute;top:7px}.ta-gantt-bar--done{background:#15803d}.ta-gantt-bar--late{background:#b91c1c}.ta-gantt-bar--risk{background:#b45309}.ta-gantt-bar--blocked{background:#6b7280}.ta-gantt-baseline{background:var(--slate-400,#94a3b8);opacity:.55;border-radius:2px;height:3px;position:absolute;top:25px}.ta-gantt-milestone{background:var(--primary);border-radius:2px;width:14px;height:14px;position:absolute;top:8px;transform:rotate(45deg)}.ta-gantt-hdr{border-bottom:1px solid var(--border);background:var(--slate-50,#f8fafc);display:flex}.ta-gantt-hdr-label{z-index:2;background:var(--slate-50,#f8fafc);border-right:1px solid var(--border);width:220px;min-width:220px;padding:6px 10px;font-size:.76rem;font-weight:600;position:sticky;left:0}.ta-gantt-hdr-track{flex:1;height:26px;position:relative}.ta-gantt-tick{color:var(--slate-500);white-space:nowrap;font-size:.68rem;position:absolute;top:5px}[data-theme=dark] .ta-kpi,[data-theme=dark] .ta-gantt-label,[data-theme=dark] .ta-gantt-hdr,[data-theme=dark] .ta-gantt-hdr-label{background:#2d2d2d}[data-theme=dark] .ta-bar-track{background:#3c3c3c}[data-theme=dark] tr.row-click:hover>td{background:#333}.ta-hint{color:var(--slate-500);margin-top:4px;font-size:.76rem;line-height:1.45;display:block}.ta-link{cursor:pointer;color:var(--primary);font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit}.ta-link:hover{text-decoration:underline}.ta-gantt-row--sel{background:var(--slate-50,#f8fafc)}[data-theme=dark] .ta-gantt-row--sel{background:#333}.ta-risk{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.ta-risk-dot{border-radius:50%;flex:none;width:9px;height:9px;box-shadow:inset 0 0 0 1px #0000001f}.ta-risk--safe{color:#166534;background:#dcfce7}.ta-risk--safe .ta-risk-dot{background:#16a34a}.ta-risk--at_risk{color:#92400e;background:#fef3c7}.ta-risk--at_risk .ta-risk-dot{background:#d97706}.ta-risk--critical{color:#9a3412;background:#ffedd5}.ta-risk--critical .ta-risk-dot{background:#ea580c}.ta-risk--delayed{color:#991b1b;background:#fee2e2}.ta-risk--delayed .ta-risk-dot{background:#dc2626}[data-theme=dark] .ta-risk--safe{color:#86efac;background:#14321f}[data-theme=dark] .ta-risk--at_risk{color:#fcd34d;background:#3a2c10}[data-theme=dark] .ta-risk--critical{color:#fdba74;background:#3d2410}[data-theme=dark] .ta-risk--delayed{color:#fca5a5;background:#3b1717}.ta-kpi--crit .ta-kpi-value{color:#ea580c}.tl{white-space:nowrap;align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.tl-dot{border-radius:50%;flex:none;width:10px;height:10px;box-shadow:inset 0 0 0 1px #00000026}.tl-label{line-height:1}.tl--green .tl-dot{background:#16a34a}.tl--green .tl-label{color:#15803d}.tl--amber .tl-dot{background:#f59e0b}.tl--amber .tl-label{color:#b45309}.tl--red .tl-dot{background:#dc2626}.tl--red .tl-label{color:#b91c1c}.tl--blue .tl-dot{background:#2563eb}.tl--blue .tl-label{color:#1d4ed8}.tl--grey .tl-dot{background:0 0;box-shadow:inset 0 0 0 1.5px #94a3b8}.tl--grey .tl-label{color:var(--slate-500)}[data-theme=dark] .tl--green .tl-label{color:#86efac}[data-theme=dark] .tl--amber .tl-label{color:#fcd34d}[data-theme=dark] .tl--red .tl-label{color:#fca5a5}[data-theme=dark] .tl--blue .tl-label{color:#93c5fd}.so-breakdown .so-sub-row>td{background:var(--slate-50);padding-top:2px;padding-bottom:2px}[data-theme=dark] .so-breakdown .so-sub-row>td{background:#232323}.uom-cell-sel .ssel-control{min-height:22px;font:inherit;background:0 0;border-color:#0000;padding:1px 4px}.uom-cell-sel .ssel-control:hover:not(:disabled){border-color:var(--border);background:var(--card-bg)}.uom-cell-sel .ssel-control--open{border-color:var(--primary);background:var(--card-bg)}.uom-cell-sel .msel-caret{opacity:.45;font-size:.65rem}.approve-wrap{background:var(--slate-100,#f1f5f9);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.approve-card{border:1px solid var(--border);background:#fff;border-radius:12px;width:100%;max-width:460px;padding:24px;box-shadow:0 2px 16px #0000000f}.approve-brand{margin-bottom:18px;font-size:1.05rem;font-weight:700}.approve-brand span{color:var(--slate-500);letter-spacing:.04em;margin-left:6px;font-size:.72rem;font-weight:400}.approve-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--slate-500);font-size:.74rem}.approve-head h1{margin:2px 0 16px;font-size:1.45rem}.approve-meta{flex-direction:column;gap:6px;margin:0 0 16px;display:flex}.approve-meta>div{justify-content:space-between;gap:12px;font-size:.84rem;display:flex}.approve-meta dt{color:var(--slate-500);margin:0}.approve-meta dd{text-align:right;margin:0;font-weight:600}.approve-pdf{border:1px solid var(--border);color:var(--primary);background:var(--slate-50,#f8fafc);border-radius:8px;margin-bottom:16px;padding:11px 14px;font-size:.88rem;font-weight:600;text-decoration:none;display:block}.approve-pdf:hover{border-color:var(--primary)}.approve-label{color:var(--slate-600);margin-bottom:5px;font-size:.78rem;display:block}.approve-input{border:1px solid var(--border);width:100%;font:inherit;resize:vertical;box-sizing:border-box;border-radius:8px;padding:10px 12px;font-size:.88rem}.approve-input:focus{outline:2px solid var(--primary);outline-offset:-1px}.approve-actions{gap:10px;margin-top:16px;display:flex}.approve-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;flex:1;padding:13px;font-size:.95rem;font-weight:650}.approve-btn:disabled{opacity:.6;cursor:not-allowed}.approve-btn--ok{color:#fff;background:#16a34a}.approve-btn--no{color:#b91c1c;background:#fff;border-color:#fca5a5}.approve-state{background:var(--slate-50,#f8fafc);text-align:center;border-radius:8px;padding:14px;font-size:.88rem}.approve-state--bad{color:#991b1b;background:#fee2e2}.approve-error{color:#991b1b;background:#fee2e2;border-radius:8px;margin-top:10px;padding:10px 12px;font-size:.84rem}.approve-remark{color:var(--slate-600);margin-top:8px;font-style:italic}.approve-result{text-align:center;padding:12px 0}.approve-mark{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 14px;font-size:1.7rem;display:flex}.approve-mark.ok{background:#16a34a}.approve-mark.no{background:#b91c1c}.approve-result h2{margin:0 0 6px;font-size:1.1rem}.approve-result p{color:var(--slate-500);margin:0;font-size:.86rem}[data-theme=dark] .approve-wrap{background:#1f1f1f}[data-theme=dark] .approve-card,[data-theme=dark] .approve-btn--no{background:#2d2d2d}.login-bg{background:linear-gradient(135deg, var(--primary) 0%, var(--slate-900) 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative;overflow:hidden}.login-bg:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(45deg,#ffffff0b 0 2px,#0000 2px 7px),repeating-linear-gradient(90deg,#ffffff08 0 1px,#0000 1px 14px),repeating-linear-gradient(0deg,#ffffff08 0 1px,#0000 1px 14px);position:absolute;inset:0}.login-bg:after{content:"";pointer-events:none;background:radial-gradient(58% 52% at 50% 42%,#ffffff1a,#0000 70%);position:absolute;inset:0}.login-card{z-index:1;background:#fff;border-radius:14px;width:100%;max-width:410px;padding:2.4rem;position:relative;box-shadow:0 12px 40px #00000047}.login-brand{align-items:center;gap:12px;margin-bottom:1.8rem;display:flex}.login-mark{color:var(--accent);font-size:2.4rem}.login-brand h1{color:var(--primary);margin:0;font-size:1.5rem;font-weight:700}.login-brand h1 b{color:var(--accent);font-weight:800}.login-brand p{color:var(--slate-500);margin:2px 0 0;font-size:.78rem}.login-err{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;margin-bottom:14px;padding:9px 12px;font-size:.84rem}.shell{min-height:100vh;display:flex}.sb{background:var(--slate-900);color:#cbd5e1;flex-direction:column;flex-shrink:0;width:230px;height:100vh;min-height:100vh;transition:width .2s;display:flex;position:sticky;top:0;overflow:hidden}.sb-collapsed{width:56px}.sb-logo{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #ffffff14;align-items:center;gap:9px;min-height:56px;padding:16px 14px;display:flex}.sb-logo-mark{color:var(--accent);flex-shrink:0;font-size:1.2rem}.sb-logo-text{color:#fff;white-space:nowrap;flex:1;font-size:1.02rem;font-weight:600}.sb-logo-text b{color:var(--accent);font-weight:800}.sb-toggle{color:#ffffff59;flex-shrink:0;font-size:1.1rem}.sb-search{border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:6px;padding:8px 10px;display:flex}.sb-search-icon{color:#ffffff59;flex-shrink:0;font-size:1rem;line-height:1}.sb-search-input{color:#ffffffe0;background:#ffffff12;border:1px solid #ffffff1f;border-radius:4px;outline:none;flex:1;min-width:0;padding:5px 7px;font-size:.79rem}.sb-search-input::placeholder{color:#ffffff47}.sb-search-input:focus{border-color:var(--accent);background:#ffffff1a}.sb-search-clear{color:#ffffff61;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:2px 4px;font-size:.7rem;line-height:1}.sb-search-clear:hover{color:#fff;background:#ffffff1a}.sb-expand-row{border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:6px;padding:6px 15px;display:flex}.sb-expand-btn{color:#ffffff73;cursor:pointer;background:0 0;border:none;padding:0;font-size:.72rem;font-weight:600;transition:color .15s}.sb-expand-btn:hover{color:#fff}.sb-expand-sep{color:#fff3;font-size:.7rem}.sb-nav{flex:1;padding:8px 0;overflow:hidden auto}.sb-nav::-webkit-scrollbar{width:4px}.sb-nav::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.sb-item,.sb-grp-hdr{color:#ffffffb8;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 15px;font-size:.85rem;font-weight:500;transition:background .15s,color .15s;display:flex}.sb-item:hover,.sb-grp-hdr:hover{color:#fff;background:#ffffff0f}.sb-active,.sb-grp-active{color:var(--accent)!important;background:#0891b224!important}.sb-active{font-weight:700}.sb-icon{text-align:center;flex-shrink:0;width:20px;font-size:1rem}.sb-arrow{color:#ffffff4d;font-size:.9rem;transition:transform .2s}.sb-arrow-open{transform:rotate(90deg)}.sb-child{color:#fff9;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:7px 15px 7px 38px;font-size:.82rem;transition:background .15s,color .15s;display:flex}.sb-child:hover{color:#fff;background:#ffffff0d}.sb-child.sb-active{color:var(--accent);font-weight:600}.sb-child-icon{text-align:center;flex-shrink:0;width:16px;font-size:.8rem}.sb-sub-hdr{color:#ffffffa8;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:7px 15px 7px 38px;font-size:.82rem;font-weight:600;transition:background .15s,color .15s;display:flex}.sb-sub-hdr:hover{color:#fff;background:#ffffff0d}.sb-sub-hdr.sb-grp-active{color:var(--accent)!important;background:#0891b21a!important}.sb-sub-hdr .sb-arrow{font-size:.8rem}.sb-child-deep{padding-left:58px;font-size:.8rem}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:56px;box-shadow:var(--shadow-sm);z-index:100;background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 22px;display:flex;position:sticky;top:0}.tb-left{flex-direction:column;gap:1px;display:flex}.tb-title{color:var(--slate-800);margin:0;font-size:1rem;font-weight:700}.tb-crumb{color:var(--slate-500);font-size:.74rem}.crumb-sep{margin:0 4px}.tb-right{align-items:center;gap:14px;display:flex}.tb-user{color:var(--slate-700);align-items:center;gap:8px;font-size:.85rem;font-weight:500;display:flex}.tb-dot{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.82rem;font-weight:700;display:flex}.tb-name{white-space:nowrap}.tb-logout{color:var(--danger);border:1.5px solid var(--danger);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .15s}.tb-logout:hover{background:var(--danger);color:#fff}.content{flex:1;padding:22px;overflow:auto}.ctx-chip{background:var(--primary-light,#0891b21a);border:1px solid var(--primary-muted,#0891b259);cursor:pointer;color:var(--primary);white-space:nowrap;border-radius:20px;align-items:center;gap:6px;max-width:360px;padding:4px 10px;font-size:.76rem;transition:background .15s;display:inline-flex;overflow:hidden}.ctx-chip:hover{background:#0891b22e}.ctx-chip-co{font-weight:700}.ctx-chip-loc{text-overflow:ellipsis;overflow:hidden}.ctx-chip-fy{color:var(--slate-500);font-weight:500}.ctx-chip-sep{color:var(--slate-300);margin:0 2px}.ctx-chip-empty{color:var(--warning,#d97706);border-color:var(--warning-muted,#fcd34d);background:#d9770614}[data-theme=dark] .ctx-chip{color:#569cd6;background:#569cd61f;border-color:#569cd64d}[data-theme=dark] .ctx-chip:hover{background:#569cd638}[data-theme=dark] .ctx-chip-fy{color:#9d9d9d}[data-theme=dark] .ctx-chip-sep{color:#555}@media (width<=768px){.sb{z-index:500;position:fixed}.main{margin-left:56px}.tb-name{display:none}}.sb-layout-toggle{background:var(--slate-100);border:1px solid var(--slate-200);border-radius:var(--radius-sm);color:var(--slate-600);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;font-weight:600;transition:all .15s;display:flex}.sb-layout-toggle:hover{background:var(--slate-200);color:var(--slate-800)}.shell-h{flex-direction:column}.hn{background:var(--slate-900);z-index:200;flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #00000040}.hn-left{flex:1;align-items:center;min-width:0;display:flex}.hn-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.hn-logo{border-right:1px solid #ffffff1a;flex-shrink:0;align-items:center;gap:8px;margin-right:4px;padding-right:16px;display:flex}.hn-logo-mark{color:var(--accent);font-size:1.05rem}.hn-logo-text{color:#fff;white-space:nowrap;font-size:.92rem;font-weight:600}.hn-logo-text b{color:var(--accent);font-weight:800}.hn-nav{align-items:center;display:flex}.hn-item{color:#ffffffbf;cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:5px;height:52px;padding:0 11px;font-size:.83rem;font-weight:500;transition:background .14s,color .14s;display:flex}.hn-item:hover{color:#fff;background:#ffffff12}.hn-active{font-weight:600;color:var(--accent)!important;background:#0891b22e!important}.hn-icon{font-size:.92rem}.hn-caret{color:#ffffff61;margin-left:2px;font-size:.62rem}.hn-grp-btn.hn-open{color:#fff;background:#ffffff1a}.hn-group{position:relative}.hn-dropdown{background:var(--slate-800);z-index:300;border:1px solid #ffffff1a;border-radius:6px;min-width:186px;max-height:calc(100vh - 64px);padding:4px 0;position:absolute;top:52px;left:0;overflow:hidden auto;box-shadow:0 10px 28px #00000059}.hn-dd-sub-hdr{color:#ffffffe6;font-weight:600}.hn-dd-sub{background:#0000002e;padding:2px 0}.hn-dd-deep{padding-left:30px;font-size:.8rem}.hn-dd-item{color:#ffffffc7;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 14px;font-size:.82rem;font-weight:500;transition:background .12s;display:flex}.hn-dd-item:hover{color:#fff;background:#ffffff14}.hn-dd-active{font-weight:600;color:var(--accent)!important;background:#0891b226!important}.hn-dd-icon{text-align:center;width:17px;font-size:.82rem}.hn-layout-toggle{border-radius:var(--radius-sm);color:#ffffffb8;cursor:pointer;white-space:nowrap;background:#ffffff12;border:1px solid #ffffff24;align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;font-weight:600;transition:all .15s;display:flex}.hn-layout-toggle:hover{color:#fff;background:#ffffff26}.hn-user{color:#fffc;align-items:center;gap:7px;font-size:.83rem;font-weight:500;display:flex}.hn-uname{white-space:nowrap}.hn-logout{color:#fca5a5!important;background:0 0!important;border-color:#ef444473!important}.hn-logout:hover{color:#fecaca!important;background:#ef44442e!important}.hn-page-hdr{box-shadow:0 1px 0 var(--slate-200);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;min-height:42px;padding:8px 22px;display:flex}.hn-page-hdr-left{flex-direction:column;gap:1px;display:flex}.hn-page-title{color:var(--slate-800);margin:0;font-size:.96rem;font-weight:700}.hn-page-crumb{color:var(--slate-500);font-size:.72rem}.hn-page-actions{align-items:center;gap:8px;display:flex}.sa-btn{border-radius:var(--radius-sm);color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#0ea5e9 0%,#6366f1 100%);border:none;align-items:center;gap:6px;padding:5px 13px;font-size:.78rem;font-weight:700;transition:opacity .15s,box-shadow .15s;display:flex;box-shadow:0 1px 6px #6366f140}.sa-btn:hover{opacity:.88;box-shadow:0 2px 10px #6366f159}.sa-btn-icon{font-size:.9rem}.sa-panel{background:var(--surface,#fff);border:1px solid var(--slate-200);z-index:400;border-bottom:none;border-radius:12px 12px 0 0;flex-direction:column;width:380px;height:520px;animation:.22s sa-slide-up;display:flex;position:fixed;bottom:0;right:24px;overflow:hidden;box-shadow:0 -4px 32px #00000024}@keyframes sa-slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.sa-header{background:linear-gradient(135deg,#0ea5e9 0%,#6366f1 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.sa-header-left{align-items:center;gap:10px;display:flex}.sa-header-icon{font-size:1.4rem;line-height:1}.sa-header-title{color:#fff;font-size:.92rem;font-weight:700;line-height:1.2}.sa-header-sub{color:#ffffffb8;font-size:.71rem}.sa-header-actions{align-items:center;gap:4px;display:flex}.sa-icon-btn{color:#fff;cursor:pointer;background:#ffffff2e;border:none;border-radius:5px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.85rem;transition:background .15s;display:flex}.sa-icon-btn:hover{background:#ffffff4d}.sa-messages{flex-direction:column;flex:1;gap:10px;padding:14px 12px;display:flex;overflow-y:auto}.sa-messages::-webkit-scrollbar{width:4px}.sa-messages::-webkit-scrollbar-thumb{background:var(--slate-200);border-radius:2px}.sa-msg{align-items:flex-end;gap:7px;display:flex}.sa-msg--user{flex-direction:row-reverse}.sa-avatar{background:linear-gradient(135deg,#0ea5e9,#6366f1);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;display:flex}.sa-bubble{word-break:break-word;border-radius:12px;max-width:82%;padding:8px 11px;font-size:.82rem;line-height:1.52}.sa-msg--bot .sa-bubble{background:var(--slate-100);color:var(--slate-800);border-bottom-left-radius:3px}.sa-msg--user .sa-bubble{color:#fff;background:linear-gradient(135deg,#0ea5e9,#6366f1);border-bottom-right-radius:3px}.sa-bubble--typing{align-items:center;gap:4px;padding:10px 14px;display:flex}.sa-bubble--typing span{background:var(--slate-400);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite sa-dot}.sa-bubble--typing span:nth-child(2){animation-delay:.2s}.sa-bubble--typing span:nth-child(3){animation-delay:.4s}@keyframes sa-dot{0%,80%,to{opacity:.5;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.sa-input-row{border-top:1px solid var(--slate-200);background:var(--surface,#fff);flex-shrink:0;align-items:flex-end;gap:6px;padding:10px 12px;display:flex}.sa-input{resize:none;border:1.5px solid var(--slate-300);min-height:36px;max-height:96px;color:var(--slate-800);background:var(--surface,#fff);field-sizing:content;border-radius:8px;outline:none;flex:1;padding:8px 10px;font-family:inherit;font-size:.82rem;line-height:1.45;overflow-y:auto}.sa-input:focus{border-color:#6366f1}.sa-input::placeholder{color:var(--slate-400)}.sa-input:disabled{opacity:.6;cursor:not-allowed}.sa-send-btn{cursor:pointer;color:#fff;background:linear-gradient(135deg,#0ea5e9,#6366f1);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:opacity .15s;display:flex}.sa-send-btn:disabled{opacity:.4;cursor:not-allowed}.sa-send-btn:not(:disabled):hover{opacity:.85}[data-theme=dark] .sa-panel{background:var(--dark-surface,#1e2229);border-color:#ffffff1a}[data-theme=dark] .sa-msg--bot .sa-bubble{color:#e2e8f0;background:#ffffff12}[data-theme=dark] .sa-input{color:#e2e8f0;background:#ffffff0f;border-color:#ffffff26}[data-theme=dark] .sa-input:focus{border-color:#6366f1}[data-theme=dark] .sa-input-row{background:var(--dark-surface,#1e2229);border-color:#ffffff1a}[data-theme=dark] .sa-messages::-webkit-scrollbar-thumb{background:#ffffff26}:root{--mis-grid:#e2e8f0;--mis-axis:#64748b;--mis-hover:#3b82f60f;--mis-surface:#fff;--mis-border:#e2e8f0}[data-theme=dark]{--mis-grid:#374151;--mis-axis:#9ca3af;--mis-hover:#569cd614;--mis-surface:#252526;--mis-border:#424242}.mis-wrap{flex-direction:column;gap:18px;display:flex}.mis-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.mis-row--full{grid-template-columns:1fr}.mis-row--thirds{grid-template-columns:repeat(3,1fr)}.mis-card{background:var(--mis-surface);border:1.5px solid var(--mis-border);box-shadow:var(--shadow-sm);border-radius:10px;padding:18px 16px 14px;position:relative}.mis-card-title{letter-spacing:.03em;text-transform:uppercase;color:var(--slate-500,#64748b);margin-bottom:14px;font-size:.82rem;font-weight:700}.mis-donut-wrap{position:relative}.mis-donut-center{color:var(--text-primary,#1e293b);pointer-events:none;font-size:1.4rem;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-theme=dark] .mis-donut-center{color:#d4d4d4}.mis-legend{flex-wrap:wrap;gap:6px 14px;margin-top:8px;display:flex}.mis-legend-item{align-items:center;gap:5px;font-size:.78rem;display:flex}.mis-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mis-legend-label{color:var(--slate-500,#64748b)}.mis-legend-val{color:var(--text-primary,#1e293b);font-weight:700}[data-theme=dark] .mis-legend-val{color:#d4d4d4}.mis-tooltip{background:var(--mis-surface);border:1.5px solid var(--mis-border);border-radius:8px;padding:10px 13px;font-size:.82rem;box-shadow:0 4px 16px #0000001f}.mis-tooltip-label{color:var(--text-primary,#1e293b);border-bottom:1px solid var(--mis-border);margin-bottom:6px;padding-bottom:4px;font-weight:700}[data-theme=dark] .mis-tooltip-label{color:#d4d4d4}.mis-tooltip-row{align-items:center;gap:7px;padding:2px 0;display:flex}.mis-tooltip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mis-tooltip-key{color:var(--slate-500,#64748b)}.mis-tooltip-val{color:var(--text-primary,#1e293b);margin-left:auto;padding-left:10px;font-weight:700}[data-theme=dark] .mis-tooltip-val{color:#d4d4d4}.mis-state{min-height:280px;color:var(--slate-500,#64748b);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:.92rem;display:flex}.mis-state--error{color:#ef4444}.mis-spinner{border:3px solid var(--mis-border);border-top-color:var(--primary,#3b82f6);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite mis-spin}@keyframes mis-spin{to{transform:rotate(360deg)}}@media (width<=900px){.mis-row{grid-template-columns:1fr}.mis-row--thirds{grid-template-columns:1fr 1fr}}@media (width<=600px){.mis-row--thirds{grid-template-columns:1fr}}@keyframes kpiShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:root{--alert-row-hover:#eef2f7}[data-theme=dark]{--alert-row-hover:#343436}.alert-row{background:var(--sub-hdr-bg);border:1px solid var(--border);border-left:3px solid var(--alert-accent,var(--primary));cursor:pointer;border-radius:6px;align-items:flex-start;gap:12px;margin-bottom:6px;padding:10px 12px;transition:background .15s;display:flex}.alert-row:hover{background:var(--alert-row-hover)}.alert-row:focus-visible{outline:2px solid var(--alert-accent,var(--primary));outline-offset:1px}.alert-row-icon{font-size:1rem;line-height:1.3}.alert-row-main{flex:1;min-width:0}.alert-row-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.alert-row-title{color:var(--slate-800);font-size:.85rem;font-weight:700}.alert-row-detail{color:var(--slate-500);margin-top:2px;font-size:.75rem}.alert-row-side{text-align:right;white-space:nowrap}.alert-row-count{color:var(--slate-800);font-size:1.05rem;font-weight:800}.alert-row-count--critical{color:#991b1b}.alert-row-count--warning{color:#92400e}.alert-row-count--info{color:#1e40af}[data-theme=dark] .alert-row-count--critical{color:#fca5a5}[data-theme=dark] .alert-row-count--warning{color:#fcd34d}[data-theme=dark] .alert-row-count--info{color:#93c5fd}.alert-row-value{color:var(--slate-500);font-size:.72rem}.alert-pill{border-radius:20px;padding:1px 8px;font-size:.68rem;font-weight:700}.alert-pill--critical{color:#991b1b;background:#fee2e2}.alert-pill--warning{color:#92400e;background:#fef3c7}.alert-pill--info{color:#1e40af;background:#dbeafe}[data-theme=dark] .alert-pill--critical{color:#fca5a5;background:#450a0a}[data-theme=dark] .alert-pill--warning{color:#fcd34d;background:#422006}[data-theme=dark] .alert-pill--info{color:#93c5fd;background:#1e3a5f}.pend-tile{cursor:pointer;border:1px solid var(--border);background:0 0;border-radius:6px;flex:190px;min-width:190px;padding:8px 10px;transition:background .15s}.pend-tile--active{background:var(--sub-hdr-bg)}.pend-tile:hover{background:var(--alert-row-hover)}.pend-tile:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.pend-tile-head{align-items:baseline;gap:6px;display:flex}.pend-tile-label{color:var(--slate-800);font-size:.78rem;font-weight:600}.pend-tile-count{color:var(--slate-500);margin-left:auto;font-size:.95rem;font-weight:800}.pend-tile-count--has{color:var(--primary)}.pend-tile-qty{color:var(--slate-500);font-size:.72rem}.pend-tile-sub{color:var(--slate-500);margin-top:2px;font-size:.7rem}.alert-tiles{flex-wrap:wrap;gap:8px;display:flex}.alert-toolbar{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.alert-toolbar-lead{color:var(--slate-600);font-size:.8rem}.alert-toolbar-side{align-items:center;gap:12px;margin-left:auto;display:flex}.alert-toolbar-meta{color:var(--slate-500);font-size:.75rem}.status-chip{white-space:nowrap;border-radius:20px;padding:2px 10px;font-size:.72rem;font-weight:700;display:inline-block}.status-chip--good{color:#166534;background:#dcfce7}.status-chip--info{color:#1e40af;background:#dbeafe}.status-chip--warn{color:#92400e;background:#fef3c7}.status-chip--bad{color:#991b1b;background:#fee2e2}[data-theme=dark] .status-chip--good{color:#86efac;background:#14532d}[data-theme=dark] .status-chip--info{color:#93c5fd;background:#1e3a5f}[data-theme=dark] .status-chip--warn{color:#fcd34d;background:#422006}[data-theme=dark] .status-chip--bad{color:#fca5a5;background:#450a0a}:root{--dash-danger-fg:#b91c1c}[data-theme=dark]{--dash-danger-fg:#f87171}.dash-num-danger{color:var(--dash-danger-fg);font-weight:700}.dash-welcome{background:var(--surface,#fff);border:1px solid var(--slate-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:14px;margin-bottom:22px;padding:20px 24px;display:flex}.dash-welcome-icon{flex-shrink:0;font-size:2.2rem}.dash-welcome-title{color:var(--text-primary,var(--slate-800));margin:0 0 3px;font-size:1.2rem}.dash-welcome-sub{color:var(--slate-500);margin:0;font-size:.85rem}.dash-tabs-row{border-bottom:2px solid var(--slate-200);align-items:flex-end;gap:12px;margin-bottom:24px;display:flex}.dash-tabs{scrollbar-width:none;flex:1;gap:4px;display:flex;overflow-x:auto}.dash-tabs::-webkit-scrollbar{display:none}.dash-tab-btn{cursor:pointer;color:var(--slate-500);background:0 0;border:none;border-bottom:2.5px solid #0000;border-radius:4px 4px 0 0;margin-bottom:-2px;padding:9px 20px;font-size:.92rem;font-weight:600;transition:color .15s,border-color .15s,background .15s}.dash-tab-btn:hover{color:var(--primary);background:var(--primary-lt,#eef4ff)}.dash-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);background:0 0}.dash-search-wrap{align-items:center;margin-bottom:4px;display:flex;position:relative}.dash-search-icon{color:var(--slate-400);pointer-events:none;font-size:1rem;position:absolute;left:10px}.dash-search-input{border:1.5px solid var(--slate-200);border-radius:var(--radius);background:var(--surface);width:220px;color:var(--text-primary,var(--slate-800));outline:none;padding:7px 32px 7px 30px;font-size:.88rem;transition:border-color .15s,width .2s}.dash-search-input:focus{border-color:var(--primary);width:280px}.dash-search-clear{cursor:pointer;color:var(--slate-400);background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:.78rem;transition:color .15s;position:absolute;right:8px}.dash-search-clear:hover{color:var(--text-primary,var(--slate-800))}.dash-search-breadcrumb{opacity:.65}.dash-search-empty{color:var(--slate-400);text-align:center;margin-top:40px;font-size:.9rem}.dash-group{margin-bottom:28px}.dash-section-label{letter-spacing:.04em;text-transform:uppercase;color:var(--slate-500);margin-bottom:10px;font-size:.75rem;font-weight:700}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.dash-card{background:var(--surface,#fff);border:1.5px solid var(--slate-200);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:10px;padding:18px 16px;transition:border-color .18s,transform .18s,box-shadow .18s}.dash-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.dash-card-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.dash-card-icon{font-size:1.7rem}.dash-card-count{color:var(--primary);font-size:1.6rem;font-weight:800}.dash-card-label{color:var(--text-primary,var(--slate-800));font-size:.92rem;font-weight:700}.dash-card-sub{color:var(--slate-500);margin-top:2px;font-size:.75rem}.todo-wrap{max-width:680px}.todo-input-row{gap:10px;margin-bottom:14px;display:flex}.todo-input{border:1.5px solid var(--slate-200);border-radius:var(--radius);background:var(--surface);color:var(--text-primary,var(--slate-800));outline:none;flex:1;padding:9px 13px;font-size:.95rem;transition:border-color .15s}.todo-input:focus{border-color:var(--primary)}.todo-add-btn{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:9px 20px;font-size:.9rem;font-weight:600;transition:opacity .15s}.todo-add-btn:hover{opacity:.88}.todo-filters{align-items:center;gap:6px;margin-bottom:16px;display:flex}.todo-filter-btn{border:1.5px solid var(--slate-200);color:var(--slate-500);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:5px 14px;font-size:.82rem;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:flex}.todo-filter-btn:hover{border-color:var(--primary);color:var(--primary)}.todo-filter-btn.active{border-color:var(--primary);background:var(--primary-lt,#eef4ff);color:var(--primary)}.todo-badge{background:var(--primary);color:#fff;border-radius:999px;padding:1px 6px;font-size:.72rem;font-weight:700;line-height:1.4}.todo-clear-btn{border:1.5px solid var(--slate-200);color:var(--slate-400);cursor:pointer;background:0 0;border-radius:999px;margin-left:auto;padding:5px 12px;font-size:.8rem;transition:border-color .15s,color .15s}.todo-clear-btn:hover{color:#e57373;border-color:#e57373}.todo-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.todo-item{background:var(--surface);border:1.5px solid var(--slate-200);border-radius:8px;align-items:center;gap:12px;padding:11px 14px;transition:border-color .15s,opacity .15s;display:flex}.todo-item.done{opacity:.55}.todo-item.done .todo-text{color:var(--slate-400);text-decoration:line-through}.todo-cb{cursor:pointer;width:17px;height:17px;accent-color:var(--primary);flex-shrink:0}.todo-text{color:var(--text-primary,var(--slate-800));flex:1;font-size:.95rem}.todo-del{cursor:pointer;color:var(--slate-400);background:0 0;border:none;border-radius:4px;padding:2px 5px;font-size:.85rem;transition:color .15s,background .15s}.todo-del:hover{color:#e57373;background:#fdecea}.todo-empty{color:var(--slate-400);text-align:center;margin-top:24px;font-size:.9rem}.pend-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.pend-subtitle{color:var(--slate-500);flex:1;min-width:180px;font-size:.85rem}.pend-toolbar-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.pend-last-refresh{color:var(--slate-400);font-size:.76rem}.pend-refresh-btn{border:1.5px solid var(--slate-200);border-radius:var(--radius);color:var(--primary);cursor:pointer;background:0 0;padding:6px 16px;font-size:.84rem;font-weight:600;transition:border-color .15s,background .15s}.pend-refresh-btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-lt,#eef4ff)}.pend-refresh-btn:disabled{opacity:.55;cursor:default}.pend-group{margin-bottom:28px}.pend-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.pend-card{background:var(--surface,#fff);border:1.5px solid var(--slate-200);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:10px;outline:none;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.pend-card:hover,.pend-card:focus-visible{box-shadow:var(--shadow-md);transform:translateY(-2px)}.pend-card-strip{flex-shrink:0;width:5px}.pend-card--amber .pend-card-strip{background:#f59e0b}.pend-card--blue .pend-card-strip{background:#3b82f6}.pend-card--purple .pend-card-strip{background:#8b5cf6}.pend-card--teal .pend-card-strip{background:#14b8a6}.pend-card--amber:hover,.pend-card--amber:focus-visible{border-color:#f59e0b}.pend-card--blue:hover,.pend-card--blue:focus-visible{border-color:#3b82f6}.pend-card--purple:hover,.pend-card--purple:focus-visible{border-color:#8b5cf6}.pend-card--teal:hover,.pend-card--teal:focus-visible{border-color:#14b8a6}.pend-card--amber.pend-card--alert{background:#f59e0b08;border-color:#f59e0b59}.pend-card--blue.pend-card--alert{background:#3b82f608;border-color:#3b82f659}.pend-card--purple.pend-card--alert{background:#8b5cf608;border-color:#8b5cf659}.pend-card--teal.pend-card--alert{background:#14b8a608;border-color:#14b8a659}.pend-card-body{flex:1;padding:16px 14px}.pend-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.pend-card-icon{font-size:1.55rem;line-height:1}.pend-card-count{color:var(--slate-300);font-size:1.9rem;font-weight:800;line-height:1}.pend-card--amber .pend-card-count--alert{color:#d97706}.pend-card--blue .pend-card-count--alert{color:#2563eb}.pend-card--purple .pend-card-count--alert{color:#7c3aed}.pend-card--teal .pend-card-count--alert{color:#0d9488}.pend-card-label{color:var(--text-primary,var(--slate-800));font-size:.91rem;font-weight:700}.pend-card-qty{color:var(--primary);margin-top:2px;font-size:.76rem;font-weight:600}.pend-card-sub{color:var(--slate-500);margin-top:4px;font-size:.73rem;line-height:1.35}[data-theme=dark] .dash-welcome{box-shadow:none;background:#252526;border-color:#424242}[data-theme=dark] .dash-welcome-title{color:#e8e8e8}[data-theme=dark] .dash-welcome-sub{color:#9d9d9d}[data-theme=dark] .dash-tabs-row{border-bottom-color:#424242}[data-theme=dark] .dash-tab-btn{color:#9d9d9d}[data-theme=dark] .dash-tab-btn:hover{color:#569cd6;background:#2a2d2e}[data-theme=dark] .dash-tab-btn.active{color:#569cd6;border-bottom-color:#569cd6}[data-theme=dark] .dash-search-input{color:#d4d4d4;background:#1e1e1e;border-color:#424242}[data-theme=dark] .dash-search-input:focus{border-color:#569cd6}[data-theme=dark] .dash-search-clear{color:#6a6a6a}[data-theme=dark] .dash-search-clear:hover{color:#d4d4d4}[data-theme=dark] .dash-search-empty{color:#6a6a6a}[data-theme=dark] .dash-card{box-shadow:none;background:#252526;border-color:#424242}[data-theme=dark] .dash-card:hover{border-color:#569cd6;box-shadow:0 4px 16px #0006}[data-theme=dark] .dash-card-count{color:#569cd6}[data-theme=dark] .dash-card-label{color:#d4d4d4}[data-theme=dark] .dash-card-sub{color:#6a6a6a}[data-theme=dark] .todo-input{color:#d4d4d4;background:#1e1e1e;border-color:#424242}[data-theme=dark] .todo-input:focus{border-color:#569cd6}[data-theme=dark] .todo-item{background:#252526;border-color:#424242}[data-theme=dark] .todo-item.done .todo-text{color:#6a6a6a}[data-theme=dark] .todo-text{color:#d4d4d4}[data-theme=dark] .todo-filter-btn{color:#9d9d9d;border-color:#424242}[data-theme=dark] .todo-filter-btn:hover{color:#569cd6;border-color:#569cd6}[data-theme=dark] .todo-filter-btn.active{color:#569cd6;background:#1a2733;border-color:#569cd6}[data-theme=dark] .todo-clear-btn{color:#6a6a6a;border-color:#424242}[data-theme=dark] .todo-clear-btn:hover{color:#cf6679;border-color:#cf6679}[data-theme=dark] .todo-del:hover{color:#cf6679;background:#2d1e20}[data-theme=dark] .todo-empty{color:#6a6a6a}[data-theme=dark] .pend-card{box-shadow:none;background:#252526;border-color:#424242}[data-theme=dark] .pend-card--amber.pend-card--alert{background:#f59e0b0f;border-color:#f59e0b66}[data-theme=dark] .pend-card--blue.pend-card--alert{background:#3b82f60f;border-color:#3b82f666}[data-theme=dark] .pend-card--purple.pend-card--alert{background:#8b5cf60f;border-color:#8b5cf666}[data-theme=dark] .pend-card--teal.pend-card--alert{background:#14b8a60f;border-color:#14b8a666}[data-theme=dark] .pend-card:hover{box-shadow:0 4px 16px #0006}[data-theme=dark] .pend-card-label{color:#d4d4d4}[data-theme=dark] .pend-card-sub{color:#6a6a6a}[data-theme=dark] .pend-card-count{color:#555}[data-theme=dark] .pend-card--amber .pend-card-count--alert{color:#fbbf24}[data-theme=dark] .pend-card--blue .pend-card-count--alert{color:#60a5fa}[data-theme=dark] .pend-card--purple .pend-card-count--alert{color:#a78bfa}[data-theme=dark] .pend-card--teal .pend-card-count--alert{color:#2dd4bf}[data-theme=dark] .pend-subtitle{color:#9d9d9d}[data-theme=dark] .pend-last-refresh{color:#6a6a6a}[data-theme=dark] .pend-refresh-btn{color:#569cd6;border-color:#424242}[data-theme=dark] .pend-refresh-btn:hover:not(:disabled){background:#1a2733;border-color:#569cd6}.pend-view-toggle{border:1.5px solid var(--slate-200);border-radius:6px;display:flex;overflow:hidden}.pend-view-btn{cursor:pointer;color:var(--slate-500);white-space:nowrap;background:0 0;border:none;border-radius:0;align-items:center;gap:5px;padding:5px 13px;font-size:.78rem;font-weight:600;transition:all .15s;display:flex}.pend-view-btn+.pend-view-btn{border-left:1.5px solid var(--slate-200)}.pend-view-btn.active{background:var(--primary);color:#fff}.pend-view-btn:not(.active):hover{background:var(--slate-100);color:var(--slate-700)}.pend-chart-wrap{flex-direction:column;gap:4px;display:flex}.pend-chart-rows{flex-direction:column;gap:2px;display:flex}.pend-chart-row{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:14px;min-height:38px;padding:7px 10px;transition:background .15s,border-color .15s;display:flex}.pend-chart-row:hover{background:var(--slate-50);border-color:var(--slate-200)}.pend-chart-label{width:195px;min-width:140px;color:var(--slate-700);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;align-items:center;gap:7px;font-size:.82rem;font-weight:500;display:flex;overflow:hidden}.pend-chart-icon{flex-shrink:0;font-size:.88rem}.pend-chart-track{background:var(--slate-100);border-radius:5px;flex:1;height:22px;overflow:hidden}.pend-chart-bar{opacity:.82;border-radius:5px;height:100%;transition:width .55s cubic-bezier(.4,0,.2,1)}.pend-chart-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;width:60px;display:flex}.pend-chart-count{color:var(--slate-400);white-space:nowrap;font-size:.9rem;font-weight:700}.pend-chart-qty{color:var(--slate-400);white-space:nowrap;font-size:.68rem}[data-theme=dark] .pend-view-toggle,[data-theme=dark] .pend-view-btn+.pend-view-btn{border-color:#424242}[data-theme=dark] .pend-view-btn:not(.active){color:#9d9d9d}[data-theme=dark] .pend-view-btn:not(.active):hover{color:#d4d4d4;background:#ffffff0f}[data-theme=dark] .pend-chart-row:hover{background:#ffffff0a;border-color:#424242}[data-theme=dark] .pend-chart-label{color:#d4d4d4}[data-theme=dark] .pend-chart-track{background:#ffffff12}[data-theme=dark] .pend-chart-count,[data-theme=dark] .pend-chart-qty{color:#555}.mat-layout{gap:0;height:calc(100vh - 110px);display:flex;overflow:hidden}.mat-sidebar{background:var(--card-bg);border-right:1px solid var(--border);flex-direction:column;width:220px;min-width:220px;transition:width .2s,min-width .2s;display:flex;overflow:hidden}.mat-sidebar--closed{width:34px;min-width:34px}.mat-sidebar-hdr{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 8px 8px;display:flex}.mat-sidebar-title{letter-spacing:.06em;color:var(--muted);text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.mat-sidebar-toggle{border:1px solid var(--border);cursor:pointer;width:22px;height:22px;color:var(--muted);background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.mat-sidebar-toggle:hover{background:var(--primary-lt);color:var(--primary)}.mat-sidebar-body{flex:1;padding:4px 0;overflow-y:auto}.grp-node{flex-direction:column;display:flex}.grp-row{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:0;align-items:center;gap:4px;padding:5px 8px;transition:background .1s;display:flex}.grp-row:hover{background:var(--primary-lt)}.grp-row--active{background:var(--primary-lt);color:var(--primary);font-weight:600}[data-theme=dark] .grp-row:hover,[data-theme=dark] .grp-row--active{background:#ffffff0f}.grp-toggle{text-align:center;width:14px;color:var(--muted);cursor:pointer;flex-shrink:0;font-size:11px}.grp-toggle--leaf{cursor:default}.grp-label{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.grp-count{background:var(--slate-200);color:var(--muted);border-radius:10px;flex-shrink:0;padding:1px 5px;font-size:10px}[data-theme=dark] .grp-count{color:var(--muted);background:#ffffff1a}.mat-main{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow:hidden}.mat-toolbar{flex-shrink:0;align-items:center;gap:8px;display:flex}.mat-search{width:280px}.mat-filter-chip{background:var(--primary-lt);color:var(--primary);border-radius:20px;align-items:center;gap:5px;padding:3px 10px 3px 12px;font-size:12px;font-weight:600;display:inline-flex}.mat-filter-chip button{cursor:pointer;color:var(--primary);background:0 0;border:none;padding:0;font-size:14px;line-height:1}.code-chip{background:var(--slate-100);color:#334155;border-radius:4px;padding:1px 6px;font-family:monospace;font-size:11.5px;display:inline-block}[data-theme=dark] .code-chip{color:var(--text);background:#ffffff1a}.mat-genbox{background:var(--slate-100);border-radius:8px;padding:12px}[data-theme=dark] .mat-genbox{background:#ffffff0d}.badge{border-radius:4px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.badge-green{color:#15803d;background:#dcfce7}.badge-red{color:#b91c1c;background:#fee2e2}[data-theme=dark] .badge-green{color:#86efac;background:#14532d}[data-theme=dark] .badge-red{color:#fca5a5;background:#450a0a}.btn-icon{cursor:pointer;color:var(--primary);background:0 0;border:none;border-radius:4px;padding:2px 5px;font-size:15px;transition:background .15s}.btn-icon:hover{background:var(--primary-lt)}.btn-icon--danger{color:var(--danger)}.btn-icon--danger:hover{background:#fee2e2}.modal-backdrop{z-index:1000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mat-form-modal{background:var(--card-bg);width:min(780px,96vw);max-height:90vh;box-shadow:var(--shadow-md);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.mat-form-hdr{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;font-size:15px;font-weight:700;display:flex}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.modal-close:hover{color:var(--danger)}.mat-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:2px;padding:0 16px;display:flex}.mat-tab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 14px;font-size:13px;transition:color .15s,border-color .15s;display:flex}.mat-tab:hover{color:var(--primary)}.mat-tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-badge{background:var(--primary);color:#fff;text-align:center;border-radius:10px;min-width:16px;padding:0 5px;font-size:10px;font-weight:700;line-height:16px}.mat-form-body{flex:1;padding:16px 20px;overflow-y:auto}.mat-form-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.mat-hint{color:var(--muted);text-align:center;padding:20px 0;font-size:13px}.unit-hint{color:var(--muted);font-size:11px;font-weight:400}.form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.form-grid .col-span{grid-column:1/-1}.uom-conv-tab{flex-direction:column;gap:4px;display:flex}.uom-conv-tbl{width:100%}.uom-conv-tbl td{vertical-align:middle;padding:4px 6px}.uom-conv-tbl .input,.uom-conv-tbl .select{width:100%}.confirm-modal{background:var(--card-bg);width:360px;box-shadow:var(--shadow-md);border-radius:10px;padding:24px}.confirm-modal p{margin:0 0 8px}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.toggle-wrap{cursor:pointer;align-items:center;gap:8px;display:inline-flex;position:relative}.toggle-wrap input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{background:var(--slate-300);border-radius:20px;flex-shrink:0;width:38px;height:20px;transition:background .2s;position:relative}.toggle-slider:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle-wrap input:checked+.toggle-slider{background:var(--primary)}.toggle-wrap input:checked+.toggle-slider:after{transform:translate(18px)}[data-theme=dark] .toggle-slider{background:var(--slate-600)}.btn-sm{padding:4px 10px;font-size:12px}.attr-cfg-tbl th{font-size:11px}.attr-cfg-tbl td{vertical-align:middle;padding:4px 6px}.attr-cfg-tbl .select,.attr-cfg-tbl .input{height:26px;padding:3px 6px;font-size:12px}.attr-cfg-tbl input[type=checkbox]{cursor:pointer;width:15px;height:15px}.mat-builder{background:var(--card-bg);width:min(1180px,96vw);height:min(720px,92vh);box-shadow:var(--shadow-md);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.mat-builder-body{flex:1;grid-template-columns:minmax(380px,.85fr) 1.15fr;min-height:0;display:grid;overflow:hidden}.mat-builder-picks{border-right:1px solid var(--border);flex-direction:column;gap:14px;padding:14px 16px;display:flex;overflow-y:auto}.pick-badge{background:var(--primary);color:#fff;text-align:center;border-radius:10px;min-width:16px;padding:0 6px;font-size:10px;font-weight:700;line-height:16px}.linkbtn{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;font-weight:600}.chip-code{opacity:.65;font-family:monospace;font-size:10px}.minichip{background:var(--primary);color:#fff;cursor:pointer;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.minichip:hover{filter:brightness(1.1)}.mat-editor{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.mat-editor-hdr{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.mat-editor-body{flex:1;min-height:0;padding:16px;overflow-y:auto}.mat-editor-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.mat-editor-body::-webkit-scrollbar{width:6px}.mat-editor-body::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:3px}[data-theme=dark] .mat-editor-body::-webkit-scrollbar-thumb{background:var(--slate-600)}.gen-wrap{grid-template-columns:1fr 200px;align-items:start;gap:20px;display:grid}.gen-main{min-width:0}.gen-side{flex-direction:column;gap:6px;display:flex}.img-picker{flex-direction:column;gap:8px;display:flex}.img-thumb{aspect-ratio:1;border:1px dashed var(--border);background:var(--slate-100);border-radius:8px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}[data-theme=dark] .img-thumb{background:#ffffff0a}.img-thumb img{object-fit:contain;width:100%;height:100%}.img-empty{color:var(--muted);font-size:12px}@media (width<=720px){.gen-wrap{grid-template-columns:1fr}.gen-side{max-width:220px}}.conv-pill{background:var(--slate-100);color:#334155;border:1px solid var(--border);border-radius:14px;align-items:center;padding:3px 10px;font-family:monospace;font-size:12px;display:inline-flex}[data-theme=dark] .conv-pill{color:var(--text);background:#ffffff14}.attr-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px 12px;display:grid}.msel{flex-direction:column;gap:4px;display:flex}.msel-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:11px;font-weight:700;display:block}.msel-control{border:1px solid var(--border);background:var(--card-bg);width:100%;min-height:36px;color:var(--text);cursor:pointer;text-align:left;border-radius:7px;align-items:center;gap:6px;padding:5px 8px;transition:border-color .12s;display:flex}.msel-control:hover{border-color:var(--primary)}.msel-control--open{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-lt)}.msel-control--disabled{cursor:not-allowed;opacity:.65;background:var(--slate-100)}[data-theme=dark] .msel-control--disabled{background:#ffffff0a}.msel-ph{color:var(--muted);flex:1;font-size:12.5px}.msel-chips{flex-wrap:wrap;flex:1;gap:4px;display:flex}.msel-tools{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:0 10px 6px;display:flex}.msel-count{color:var(--muted);font-size:11px}.msel-textadd{gap:6px;padding:8px;display:flex}.mat-builder-preview{background:var(--bg,transparent);flex-direction:column;min-height:0;display:flex;overflow:hidden}.preview-summary{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.preview-warn{color:var(--danger);font-weight:600}.pill{border-radius:12px;padding:2px 9px;font-size:11px;font-weight:700}.pill-green{color:#15803d;background:#dcfce7}.pill-amber{color:#92400e;background:#fef3c7}[data-theme=dark] .pill-green{color:#86efac;background:#14532d}[data-theme=dark] .pill-amber{color:#fcd34d;background:#422006}.preview-table-wrap{flex:1;padding:0 4px;overflow:auto}.preview-table{width:100%}.preview-table th{background:var(--card-bg);z-index:1;position:sticky;top:0}.preview-table td{padding:4px 8px}.row-dim{opacity:.5}.oag-section{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.oag-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:700}.oag-section-toggle{width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:5px;margin-bottom:6px;padding:0;display:flex}.oag-section-toggle .oag-section-title{margin-bottom:0}.oag-chevron{color:var(--muted);font-size:9px;transition:transform .15s;display:inline-block;transform:rotate(0)}.oag-chevron--open{transform:rotate(90deg)}.order-attr-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 12px;margin-bottom:8px;display:grid}.order-attr-grid .minichip{padding:1px 6px;font-size:10.5px}.oag-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-bottom:6px;font-size:12.5px;display:flex}.oag-checkbox input{cursor:pointer;width:14px;height:14px}.cons-rate-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px 12px;display:grid}.gen-preview-wrap{border:1px solid var(--border);border-radius:8px;min-height:160px;overflow:auto}.gen-preview-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12.5px}.gen-preview-table th{background:var(--th-bg,var(--card-bg));z-index:1;text-align:left;border-bottom:1px solid var(--border);padding:6px 8px;font-weight:600;position:sticky;top:0}.gen-preview-table td{border-bottom:1px solid var(--border);padding:4px 8px}.gen-preview-table input[type=checkbox]{cursor:pointer;width:14px;height:14px}.gen-preview-table input.cell-input{width:72px;height:26px;padding:3px 6px;font-size:12px}.mat-sidebar-body::-webkit-scrollbar{width:5px}.mat-form-body::-webkit-scrollbar{width:5px}.mat-sidebar-body::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:3px}.mat-form-body::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:3px}[data-theme=dark] .mat-sidebar-body::-webkit-scrollbar-thumb{background:var(--slate-600)}[data-theme=dark] .mat-form-body::-webkit-scrollbar-thumb{background:var(--slate-600)}.ctx-bg{background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 60%,#0891b2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.ctx-card{background:#fff;border-radius:14px;width:100%;max-width:520px;padding:36px 40px;box-shadow:0 24px 80px #00000059}.ctx-loading{text-align:center;color:#64748b;padding:60px 40px}.ctx-brand{border-bottom:1px solid #e2e8f0;align-items:center;gap:14px;margin-bottom:28px;padding-bottom:20px;display:flex}.ctx-mark{color:#0891b2;font-size:2rem}.ctx-brand h1{color:#1e293b;margin:0;font-size:1.5rem;font-weight:700}.ctx-brand h1 b{color:#1e3a8a}.ctx-brand p{color:#64748b;margin:2px 0 0;font-size:.82rem}.ctx-welcome{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:22px;padding:10px 16px;font-size:.88rem}.ctx-err{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.86rem}.ctx-step{align-items:flex-start;gap:14px;margin-bottom:18px;transition:opacity .2s;display:flex}.ctx-step-disabled{opacity:.45;pointer-events:none}.ctx-step-num{color:#fff;background:#1e3a8a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;font-size:.82rem;font-weight:700;display:flex}.ctx-step-body{flex:1}.ctx-label{color:#475569;margin-bottom:6px;font-size:.82rem;font-weight:600;display:block}.ctx-select{width:100%}.ctx-hint{color:#94a3b8;margin-top:5px;font-size:.76rem;display:block}.ctx-proceed-btn{border-radius:8px;justify-content:center;width:100%;margin-top:6px;padding:12px;font-size:.95rem}.ctx-proceed-btn:disabled{opacity:.45;cursor:not-allowed}.ctx-empty{text-align:center;padding:28px 0}.ctx-empty-icon{margin-bottom:12px;font-size:3rem}.ctx-empty p{color:#475569;margin:4px 0;font-weight:600}.ctx-empty-sub{font-size:.85rem;color:#94a3b8!important;font-weight:400!important}.ctx-setup-btn{margin-top:16px}.ctx-footer{border-top:1px solid #e2e8f0;justify-content:center;align-items:center;gap:10px;margin-top:22px;padding-top:18px;display:flex}.ctx-setup-link{color:#64748b;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.ctx-setup-link:hover{color:#1e3a8a}.ctx-footer span{color:#cbd5e1}[data-theme=dark] .ctx-card{background:#252526}[data-theme=dark] .ctx-brand{border-bottom-color:#424242}[data-theme=dark] .ctx-brand h1{color:#e8e8e8}[data-theme=dark] .ctx-brand p{color:#9d9d9d}[data-theme=dark] .ctx-welcome{color:#569cd6;background:#1b2a3a;border-color:#1e3a5a}[data-theme=dark] .ctx-step-disabled{opacity:.3}[data-theme=dark] .ctx-footer{border-top-color:#424242}[data-theme=dark] .ctx-setup-link{color:#6a6a6a}[data-theme=dark] .ctx-setup-link:hover{color:#569cd6}[data-theme=dark] .ctx-footer span{color:#424242}.br-layout{align-items:flex-start;gap:16px;display:flex}.br-main{flex:1;min-width:0}.br-side{flex-shrink:0;width:320px}.br-row{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:14px 20px;display:flex}.br-row:last-child{border-bottom:0}.br-row:hover{background:var(--primary-lt)}[data-theme=dark] .br-row:hover{background:#ffffff0a}.br-row-text{flex:1;min-width:0}.br-row-name{color:var(--text);font-size:13.5px;font-weight:600}.br-row-desc{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.45}.br-row-code{color:var(--muted);opacity:.7;margin-top:5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px}.br-row-control{flex-shrink:0;align-items:center;gap:10px;display:flex}.br-state{letter-spacing:.04em;color:var(--muted);text-align:right;min-width:26px;font-size:10.5px;font-weight:700}.br-state--on{color:var(--primary)}.br-toggle{border:1px solid var(--border);background:var(--slate-200);cursor:pointer;border-radius:999px;flex-shrink:0;width:42px;height:23px;padding:0;transition:background .15s,border-color .15s;position:relative}.br-toggle:disabled{opacity:.55;cursor:progress}.br-toggle--on{background:var(--primary);border-color:var(--primary)}.br-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.br-toggle-knob{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.br-toggle--on .br-toggle-knob{transform:translate(19px)}[data-theme=dark] .br-toggle{background:#ffffff24}.br-history{max-height:calc(100vh - 220px);overflow-y:auto}.br-hist-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.br-hist-row:last-child{border-bottom:0}.br-badge{letter-spacing:.04em;background:var(--slate-200);color:var(--muted);border-radius:10px;flex-shrink:0;margin-top:1px;padding:2px 6px;font-size:9.5px;font-weight:700}.br-badge--on{color:#166534;background:#dcfce7}[data-theme=dark] .br-badge--on{color:#89d185;background:#1b3a2a}.br-hist-name{color:var(--text);font-size:12.5px;font-weight:600}.br-hist-meta{color:var(--muted);margin-top:2px;font-size:11.5px}@media (width<=1100px){.br-layout{flex-direction:column}.br-side{width:100%}.br-history{max-height:320px}}.coa-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.coa-dot--asset{background:#2563eb}.coa-dot--liability{background:#b91c1c}.coa-dot--equity{background:#7c3aed}.coa-dot--revenue{background:#15803d}.coa-dot--expense{background:#b45309}[data-theme=dark] .coa-dot--asset{background:#60a5fa}[data-theme=dark] .coa-dot--liability{background:#f87171}[data-theme=dark] .coa-dot--equity{background:#a78bfa}[data-theme=dark] .coa-dot--revenue{background:#4ade80}[data-theme=dark] .coa-dot--expense{background:#fbbf24}.coa-type-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:10px;align-items:center;gap:5px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.coa-type-badge--asset{color:#1e40af;background:#dbeafe}.coa-type-badge--liability{color:#991b1b;background:#fee2e2}.coa-type-badge--equity{color:#5b21b6;background:#ede9fe}.coa-type-badge--revenue{color:#166534;background:#dcfce7}.coa-type-badge--expense{color:#9a3412;background:#ffedd5}[data-theme=dark] .coa-type-badge--asset{color:#93c5fd;background:#1e3a5f}[data-theme=dark] .coa-type-badge--liability{color:#fca5a5;background:#450a0a}[data-theme=dark] .coa-type-badge--equity{color:#c4b5fd;background:#2e1065}[data-theme=dark] .coa-type-badge--revenue{color:#89d185;background:#1b3a2a}[data-theme=dark] .coa-type-badge--expense{color:#fdba74;background:#431407}.coa-kind-tag{color:var(--muted);border:1px solid var(--border);border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:9.5px;font-weight:600}.coa-stat{background:var(--sub-hdr-bg);border:1px solid var(--border);border-radius:8px;flex:1;min-width:140px;padding:10px 14px}.coa-stat-lbl{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:3px;font-size:10.5px;font-weight:700}.coa-stat-val{color:var(--text);font-size:1.05rem;font-weight:700}.mat-sidebar.coa-sidebar{width:340px;min-width:340px}.coa-sidebar .mat-sidebar-body{overflow-x:auto}.coa-sidebar .grp-row{min-width:max-content}.coa-sidebar .grp-label{text-overflow:clip;flex:none;overflow:visible}.coa-sidebar .grp-count{margin-left:auto}@media (width<=1200px){.mat-sidebar.coa-sidebar{width:260px;min-width:260px}}.coa-sidebar .coa-label{align-items:center;min-width:0;display:flex}.coa-sidebar .coa-label--group{font-weight:700}.coa-sidebar .coa-code{color:var(--muted);flex-shrink:0;margin-right:7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.coa-sidebar .coa-label--group .coa-code{color:var(--text)}.coa-sidebar .coa-name{font-size:12.5px}.coa-sidebar .coa-kind-tag{margin-left:6px}.coa-sidebar .coa-count--zero{opacity:.45}.coa-sidebar .coa-kind-icon{text-align:center;cursor:default;flex-shrink:0;width:16px;font-size:11px;line-height:1}.audit-event{letter-spacing:.04em;white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:.73rem;font-weight:700;display:inline-flex}.audit-event-CREATE{color:#166534;background:#dcfce7}.audit-event-UPDATE{color:#1e40af;background:#dbeafe}.audit-event-DELETE{color:#991b1b;background:#fee2e2}.audit-event-OPEN{color:#166534;background:#dcfce7}.audit-event-CLOSE{color:#374151;background:#f3f4f6}.audit-event-REOPEN{color:#92400e;background:#fef3c7}.audit-table-tag{background:var(--slate-100);color:var(--slate-600);letter-spacing:.02em;border-radius:4px;padding:2px 7px;font-family:monospace;font-size:.72rem;font-weight:600;display:inline-block}.audit-row{cursor:pointer;transition:background .12s}.audit-row:hover td{background:var(--slate-50)!important}.adt-banner{border-bottom:1px solid var(--slate-200);background:var(--slate-50);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.adt-banner-left{align-items:center;gap:12px;display:flex}.adt-event-pill{letter-spacing:.04em;border-radius:6px;align-items:center;gap:6px;padding:5px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.adt-event-pill.CREATE{color:#166534;background:#dcfce7}.adt-event-pill.UPDATE{color:#1e40af;background:#dbeafe}.adt-event-pill.DELETE{color:#991b1b;background:#fee2e2}.adt-event-pill.OPEN{color:#166534;background:#dcfce7}.adt-event-pill.CLOSE{color:#374151;background:#f3f4f6}.adt-event-pill.REOPEN{color:#92400e;background:#fef3c7}.adt-record{color:var(--slate-700);font-size:.88rem;font-weight:600}.adt-record span{color:var(--slate-400);margin:0 4px;font-weight:400}.adt-timestamp{color:var(--slate-500);white-space:nowrap;font-size:.8rem}.adt-meta{border-bottom:1px solid var(--slate-200);background:var(--slate-50);flex-wrap:wrap;gap:8px;padding:12px 22px;display:flex}.adt-meta-pill{border:1px solid var(--slate-200);color:var(--slate-700);background:#fff;border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:.78rem;display:inline-flex}.adt-meta-pill-icon{color:var(--slate-400);font-size:.72rem}.adt-meta-pill strong{color:var(--slate-600);margin-right:2px;font-weight:600}.adt-diff-wrap{padding:18px 22px}.adt-diff-title{color:var(--slate-400);align-items:center;gap:8px;margin-bottom:10px;font-size:.7rem;font-weight:700;display:flex}.adt-diff-title:after{content:"";background:var(--slate-200);flex:1;height:1px}.adt-diff-table{border-collapse:collapse;width:100%;font-size:.82rem}.adt-diff-table th{text-align:left;color:var(--slate-400);background:var(--slate-50);border-bottom:1px solid var(--slate-200);padding:7px 12px;font-size:.69rem;font-weight:700}.adt-diff-table th:first-child{width:180px}.adt-diff-table td{border-bottom:1px solid var(--slate-100);vertical-align:top;word-break:break-word;max-width:240px;padding:6px 12px}.adt-diff-row-changed{background:#fffbeb}.adt-diff-row-changed .adt-field-name{color:var(--slate-700);font-weight:600}.adt-diff-row-changed:hover{background:#fef9c3!important}.adt-diff-row td:hover{background:0 0}.adt-field-name{color:var(--slate-500);font-family:monospace;font-size:.78rem}.adt-val-null{color:var(--slate-300);font-size:.76rem;font-style:italic}.adt-val-del{color:#991b1b;-webkit-text-decoration:line-through #fca5a5;text-decoration:line-through #fca5a5}.adt-val-add{color:#166534}.adt-changed-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:6px;display:inline-block}.adt-unchanged{opacity:.5}.adt-no-data{text-align:center;color:var(--slate-400);padding:32px 0;font-size:.85rem}.adt-no-data-icon{margin-bottom:8px;font-size:2rem}.adt-section{border:1px solid var(--slate-200);border-radius:6px;margin-top:18px;overflow:hidden}.adt-section-hdr{background:var(--slate-50);cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--slate-200);align-items:center;gap:10px;width:100%;padding:9px 14px;display:flex}.adt-section-hdr:hover{background:var(--slate-100)}.adt-section-title{color:var(--slate-600);font-size:.72rem;font-weight:700}.adt-section-stats{color:var(--slate-400);align-items:center;gap:8px;font-size:.74rem;display:flex}.adt-stat-add{color:#166534;font-weight:600}.adt-stat-del{color:#991b1b;font-weight:600}.adt-stat-mod{color:#92400e;font-weight:600}.adt-stat-unch{color:var(--slate-400)}.adt-section-chevron{color:var(--slate-400);margin-left:auto;font-size:.75rem}.adt-section-body{padding:0}.adt-sec-group{border-bottom:1px solid var(--slate-100);padding:10px 14px}.adt-sec-group:last-child{border-bottom:none}.adt-sec-group-lbl{margin-bottom:6px;font-size:.69rem;font-weight:700}.adt-sec-group-lbl-add{color:#166534}.adt-sec-group-lbl-del{color:#991b1b}.adt-sec-group-lbl-mod{color:#92400e}.adt-sec-table{border-collapse:collapse;width:100%;font-size:.78rem}.adt-sec-table th{text-align:left;color:var(--slate-400);background:var(--slate-50);border-bottom:1px solid var(--slate-200);padding:4px 10px;font-size:.67rem;font-weight:700}.adt-sec-table td{border-bottom:1px solid var(--slate-100);padding:4px 10px}.adt-sec-row-add{background:#f0fdf4}.adt-sec-row-add:hover{background:#dcfce7!important}.adt-sec-row-del{background:#fff1f2}.adt-sec-row-del:hover{background:#fee2e2!important}.adt-mod-row{border-bottom:1px solid var(--slate-100)}.adt-mod-row:last-child{border-bottom:none}.adt-mod-row-hdr{cursor:pointer;text-align:left;background:#fffbeb;border:none;align-items:center;gap:6px;width:100%;padding:7px 12px;font-size:.8rem;display:flex}.adt-mod-row-hdr:hover{background:#fef9c3}[data-theme=dark] .audit-event-CREATE{color:#89d185;background:#1b3a2a}[data-theme=dark] .audit-event-UPDATE{color:#569cd6;background:#1b2a3a}[data-theme=dark] .audit-event-DELETE{color:#f48771;background:#3a1b1b}[data-theme=dark] .audit-event-OPEN{color:#89d185;background:#1b3a2a}[data-theme=dark] .audit-event-CLOSE{color:#9d9d9d;background:#2d2d2d}[data-theme=dark] .audit-event-REOPEN{color:#cca700;background:#3a2d10}[data-theme=dark] .audit-table-tag{color:#9d9d9d;background:#2d2d2d}[data-theme=dark] .audit-row:hover td{background:#2d2d30!important}[data-theme=dark] .adt-banner,[data-theme=dark] .adt-meta{background:#2d2d2d;border-bottom-color:#424242}[data-theme=dark] .adt-meta-pill{color:#d4d4d4;background:#3c3c3c;border-color:#555}[data-theme=dark] .adt-meta-pill strong{color:#9d9d9d}[data-theme=dark] .adt-record{color:#d4d4d4}[data-theme=dark] .adt-timestamp{color:#6a6a6a}[data-theme=dark] .adt-event-pill.CREATE{color:#89d185;background:#1b3a2a}[data-theme=dark] .adt-event-pill.UPDATE{color:#569cd6;background:#1b2a3a}[data-theme=dark] .adt-event-pill.DELETE{color:#f48771;background:#3a1b1b}[data-theme=dark] .adt-event-pill.OPEN{color:#89d185;background:#1b3a2a}[data-theme=dark] .adt-event-pill.CLOSE{color:#9d9d9d;background:#2d2d2d}[data-theme=dark] .adt-event-pill.REOPEN{color:#cca700;background:#3a2d10}[data-theme=dark] .adt-diff-table th{color:#6a6a6a;background:#252526;border-bottom-color:#424242}[data-theme=dark] .adt-diff-table td{border-bottom-color:#333}[data-theme=dark] .adt-diff-row-changed{background:#2a2515}[data-theme=dark] .adt-diff-row-changed:hover{background:#2f2a18!important}[data-theme=dark] .adt-diff-row-changed .adt-field-name{color:#d4d4d4}[data-theme=dark] .adt-val-null{color:#555}[data-theme=dark] .adt-val-del{color:#f48771;text-decoration-color:#7a3a30}[data-theme=dark] .adt-val-add{color:#89d185}[data-theme=dark] .adt-diff-title:after{background:#424242}[data-theme=dark] .adt-section{border-color:#424242}[data-theme=dark] .adt-section-hdr{background:#252526;border-bottom-color:#424242}[data-theme=dark] .adt-section-hdr:hover{background:#2d2d30}[data-theme=dark] .adt-section-title{color:#9d9d9d}[data-theme=dark] .adt-sec-group{border-bottom-color:#333}[data-theme=dark] .adt-sec-table th{background:#1e1e1e;border-bottom-color:#424242}[data-theme=dark] .adt-sec-table td{border-bottom-color:#2d2d2d}[data-theme=dark] .adt-sec-row-add{background:#1b2e1b}[data-theme=dark] .adt-sec-row-add:hover{background:#1e3a1e!important}[data-theme=dark] .adt-sec-row-del{background:#2e1b1b}[data-theme=dark] .adt-sec-row-del:hover{background:#3a1e1e!important}[data-theme=dark] .adt-mod-row-hdr{background:#2a2515}[data-theme=dark] .adt-mod-row-hdr:hover{background:#2f2a18}[data-theme=dark] .adt-mod-row{border-bottom-color:#333}.pm-card{padding:0;overflow:hidden}.pm-tabs{border-bottom:1px solid var(--slate-200);background:var(--slate-50);align-items:center;gap:0;padding:0 18px;display:flex}.pm-tab{cursor:pointer;color:var(--slate-500);background:0 0;border:none;border-bottom:2px solid #0000;padding:11px 20px;font-size:.88rem;font-weight:500;transition:color .15s}.pm-tab:hover{color:var(--primary)}.pm-tab-active{border-bottom-color:var(--primary);color:var(--primary);font-weight:700}.pm-role-badge{color:var(--primary);background:#1e3a8a1a;border:1px solid #1e3a8a33;border-radius:20px;padding:4px 12px;font-size:.76rem;font-weight:600}.pm-toolbar{border-bottom:1px solid var(--slate-200);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.pm-search{width:200px;height:30px;padding:0 10px;font-size:.82rem}.btn-sm{height:30px;padding:4px 10px;font-size:.78rem}.pm-table-wrap{min-height:300px;max-height:calc(100vh - 320px);overflow:auto}.pm-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.82rem}.pm-head-row th{z-index:10;background:var(--slate-50);border-bottom:2px solid var(--slate-200);color:var(--slate-500);white-space:nowrap;padding:8px 6px;font-size:.7rem;font-weight:700;position:sticky;top:0}.pm-screen-col{text-align:left;min-width:220px;padding-left:14px!important}.pm-perm-col{text-align:center;width:68px}.pm-module-row{background:var(--slate-50)}.pm-module-row:hover{background:var(--slate-100)}.pm-module-name{cursor:pointer;color:var(--slate-700);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 14px;font-size:.8rem;font-weight:700;display:flex}.pm-collapse-icon{color:var(--slate-400);flex-shrink:0;width:12px;font-size:.72rem}.pm-screen-count{color:var(--slate-400);background:var(--slate-200);border-radius:10px;margin-left:auto;padding:1px 7px;font-size:.7rem;font-weight:400}.pm-screen-row:hover{background:var(--primary-light,#1e3a8a0a)}.pm-screen-name{border-bottom:1px solid var(--slate-100);color:var(--slate-700);padding:6px 14px 6px 30px}.pm-module-row td{border-bottom:1px solid var(--slate-200)}.pm-screen-row td{border-bottom:1px solid var(--slate-100)}.pm-chk{cursor:pointer;width:15px;height:15px;accent-color:var(--primary)}.pm-chk-screen{accent-color:var(--primary)}.pm-special-row{border-bottom:1px solid var(--slate-100);align-items:center;gap:16px;padding:12px 18px;transition:background .12s;display:flex}.pm-special-row:hover{background:var(--slate-50)}.pm-special-info{flex:1}.pm-special-name{color:var(--slate-700);font-size:.86rem;font-weight:600}.pm-special-desc{color:var(--slate-500);margin-top:2px;font-size:.76rem}.pm-toggle{flex-shrink:0;width:40px;height:22px;display:inline-block;position:relative}.pm-toggle input{opacity:0;width:0;height:0}.pm-toggle-slider{cursor:pointer;background:var(--slate-300);border-radius:22px;transition:all .2s;position:absolute;inset:0}.pm-toggle-slider:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;bottom:3px;left:3px}.pm-toggle input:checked+.pm-toggle-slider{background:var(--primary)}.pm-toggle input:checked+.pm-toggle-slider:before{transform:translate(18px)}[data-theme=dark] .pm-tabs{background:#2d2d2d;border-bottom-color:#424242}[data-theme=dark] .pm-tab{color:#9d9d9d}[data-theme=dark] .pm-tab-active{color:#569cd6;border-bottom-color:#569cd6}[data-theme=dark] .pm-role-badge{color:#569cd6;background:#569cd61f;border-color:#569cd640}[data-theme=dark] .pm-toolbar{border-bottom-color:#424242}[data-theme=dark] .pm-head-row th{color:#6a6a6a;background:#252526;border-bottom-color:#424242}[data-theme=dark] .pm-module-row{background:#2a2a2a}[data-theme=dark] .pm-module-row:hover{background:#2d2d2d}[data-theme=dark] .pm-module-name{color:#d4d4d4}[data-theme=dark] .pm-screen-count{color:#6a6a6a;background:#3c3c3c}[data-theme=dark] .pm-screen-row:hover{background:#569cd612}[data-theme=dark] .pm-screen-name{color:#c8c8c8;border-bottom-color:#333}[data-theme=dark] .pm-module-row td{border-bottom-color:#383838}[data-theme=dark] .pm-screen-row td{border-bottom-color:#333}[data-theme=dark] .pm-chk{accent-color:#569cd6}[data-theme=dark] .pm-special-row{border-bottom-color:#333}[data-theme=dark] .pm-special-row:hover{background:#2a2a2a}[data-theme=dark] .pm-special-name{color:#d4d4d4}[data-theme=dark] .pm-special-desc{color:#6a6a6a}[data-theme=dark] .pm-toggle-slider{background:#555}[data-theme=dark] .pm-toggle input:checked+.pm-toggle-slider{background:#569cd6}.pm-mode-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pm-mode-label{color:var(--slate-600);white-space:nowrap;font-size:.82rem;font-weight:600}.pm-mode-btns{border:1px solid var(--slate-200);border-radius:6px;gap:0;display:flex;overflow:hidden}.pm-mode-btn{cursor:pointer;color:var(--slate-500);background:0 0;border:none;align-items:center;gap:7px;padding:7px 18px;font-size:.84rem;font-weight:500;transition:background .15s,color .15s;display:flex}.pm-mode-btn:hover{background:var(--slate-50);color:var(--slate-700)}.pm-mode-btn+.pm-mode-btn{border-left:1px solid var(--slate-200)}.pm-mode-btn-active{font-weight:700;background:var(--primary,#1e3a8a)!important;color:#fff!important}.pm-user-role-info{align-items:center;gap:8px;padding:6px 0;display:flex}.pm-user-role-label{color:var(--slate-500);font-size:.78rem}.pm-user-role-none{color:var(--danger,#dc2626);font-size:.78rem;font-style:italic}.pm-legend{color:var(--slate-500);background:var(--slate-50);border:1px solid var(--slate-200);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:.74rem;display:flex}.pm-3c{cursor:pointer;border:1.5px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:28px;height:22px;font-size:.78rem;font-weight:700;transition:background .12s,border-color .12s;display:inline-flex}.pm-3c-inh{color:var(--slate-300);background:0 0;border-color:#0000}.pm-3c-inh:hover{background:var(--slate-100);border-color:var(--slate-300);color:var(--slate-500)}.pm-3c-grant{color:#15803d;background:#dcfce7;border-color:#86efac}.pm-3c-grant:hover{background:#bbf7d0}.pm-3c-deny{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.pm-3c-deny:hover{background:#fecaca}.pm-sr-ovr{cursor:pointer;white-space:nowrap;border:1.5px solid;border-radius:20px;flex-shrink:0;align-items:center;gap:7px;padding:5px 14px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.pm-sr-ovr-inh{background:var(--slate-50);border-color:var(--slate-200);color:var(--slate-500)}.pm-sr-ovr-inh:hover{background:var(--slate-100);border-color:var(--slate-300)}.pm-sr-ovr-grant{color:#15803d;background:#dcfce7;border-color:#86efac}.pm-sr-ovr-grant:hover{background:#bbf7d0}.pm-sr-ovr-deny{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.pm-sr-ovr-deny:hover{background:#fecaca}[data-theme=dark] .pm-mode-btns{border-color:#424242}[data-theme=dark] .pm-mode-btn{color:#9d9d9d}[data-theme=dark] .pm-mode-btn:hover{color:#d4d4d4;background:#2d2d2d}[data-theme=dark] .pm-mode-btn+.pm-mode-btn{border-color:#424242}[data-theme=dark] .pm-mode-btn-active{color:#569cd6!important;background:#1b2a3a!important;border-color:#569cd6!important}[data-theme=dark] .pm-mode-label{color:#9d9d9d}[data-theme=dark] .pm-legend{color:#6a6a6a;background:#2d2d2d;border-color:#424242}[data-theme=dark] .pm-user-role-label{color:#6a6a6a}[data-theme=dark] .pm-3c-inh{color:#555}[data-theme=dark] .pm-3c-inh:hover{color:#9d9d9d;background:#3c3c3c;border-color:#555}[data-theme=dark] .pm-3c-grant{color:#89d185;background:#1b3a2a;border-color:#3a6b4a}[data-theme=dark] .pm-3c-grant:hover{background:#1f4030}[data-theme=dark] .pm-3c-deny{color:#f48771;background:#3a1b1b;border-color:#6b3a3a}[data-theme=dark] .pm-3c-deny:hover{background:#401f1f}[data-theme=dark] .pm-sr-ovr-inh{color:#9d9d9d;background:#2d2d2d;border-color:#424242}[data-theme=dark] .pm-sr-ovr-inh:hover{background:#333}[data-theme=dark] .pm-sr-ovr-grant{color:#89d185;background:#1b3a2a;border-color:#3a6b4a}[data-theme=dark] .pm-sr-ovr-grant:hover{background:#1f4030}[data-theme=dark] .pm-sr-ovr-deny{color:#f48771;background:#3a1b1b;border-color:#6b3a3a}[data-theme=dark] .pm-sr-ovr-deny:hover{background:#401f1f}.hsn-modal{width:95vw;max-width:820px}.hsn-slab-hdr{color:var(--slate-700);border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;font-size:.72rem;font-weight:700;display:flex}.hsn-hint{color:var(--slate-500);margin:6px 0 0;font-size:.74rem}:root{--sot-grid:#e2e8f0;--sot-axis:#64748b;--sot-hover:#3b82f60f}[data-theme=dark]{--sot-grid:#374151;--sot-axis:#9ca3af;--sot-hover:#569cd614}.sot-wrap{flex-direction:column;gap:20px;display:flex}.sot-filter-panel{z-index:50;background:var(--card-bg,#fff);border:1.5px solid var(--border,#e2e8f0);box-shadow:var(--shadow-sm);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.sot-filter-field{flex-direction:column;gap:4px;min-width:150px;display:flex}.sot-filter-label{letter-spacing:.02em;text-transform:uppercase;color:var(--slate-500,#64748b);font-size:.72rem;font-weight:700}.sot-filter-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.sot-toolbar-sep{background:var(--border,#e2e8f0);align-self:stretch;width:1px;margin:0 2px}.sot-kpi-section{flex-direction:column;gap:12px;display:flex}.sot-kpi-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.sot-kpi-card{background:var(--card-bg,#fff);border:1.5px solid var(--border,#e2e8f0);box-shadow:var(--shadow-sm);text-align:center;border-radius:10px;padding:14px 16px}.sot-kpi-value{color:var(--text-primary,#1e293b);font-size:1.5rem;font-weight:800}.sot-kpi-label{color:var(--slate-500,#64748b);margin-top:2px;font-size:.74rem}.sot-progress-card{background:var(--card-bg,#fff);border:1.5px solid var(--border,#e2e8f0);box-shadow:var(--shadow-sm);border-radius:10px;padding:14px 18px}.sot-progress-hdr{color:var(--text-primary,#1e293b);justify-content:space-between;margin-bottom:8px;font-size:.85rem;font-weight:700;display:flex}.sot-progress-pct{color:var(--primary,#3b82f6)}.sot-progress-track{background:var(--slate-200,#e2e8f0);border-radius:6px;height:10px;overflow:hidden}.sot-progress-fill{background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:6px;height:100%;transition:width .3s}.sot-section{background:var(--card-bg,#fff);border:1.5px solid var(--border,#e2e8f0);box-shadow:var(--shadow-sm);border-radius:10px;padding:16px}.sot-section-title{letter-spacing:.03em;text-transform:uppercase;color:var(--slate-500,#64748b);margin-bottom:12px;font-size:.82rem;font-weight:700}.sot-section-title-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sot-section-title-row .sot-section-title{margin-bottom:0}.sot-chip-clear{color:var(--primary,#3b82f6);background:var(--primary-lt,#eff6ff);cursor:pointer;border:none;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:600}.sot-view-tabs{gap:4px;display:flex}.sot-view-tab{color:var(--slate-500,#64748b);border:1.5px solid var(--border,#e2e8f0);cursor:pointer;background:0 0;border-radius:6px;padding:4px 12px;font-size:.76rem;font-weight:600}.sot-view-tab.active{color:#fff;background:var(--primary,#3b82f6);border-color:var(--primary,#3b82f6)}.sot-chart-tooltip{background:var(--card-bg,#fff);border:1.5px solid var(--border,#e2e8f0);border-radius:8px;padding:8px 12px;font-size:.8rem;box-shadow:0 4px 16px #0000001f}.sot-chart-tooltip-row{align-items:center;gap:7px;display:flex}.sot-chart-tooltip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sot-pie-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.sot-pie-legend{flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:10px;display:flex}.sot-pie-legend-item{cursor:pointer;align-items:center;gap:5px;font-size:.78rem;display:flex}.sot-pie-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sot-pie-title{text-align:center;color:var(--slate-500,#64748b);margin-bottom:4px;font-size:.78rem;font-weight:700}.sot-days-badge{border-radius:999px;padding:1px 8px;font-size:.78rem;font-weight:700;display:inline-block}.sot-stage-bar{gap:4px;padding-bottom:4px;display:flex;overflow-x:auto}.sot-stage-step{border:1.5px solid var(--border,#e2e8f0);cursor:pointer;text-align:center;background:0 0;border-radius:8px;flex-direction:column;flex:1 0 90px;align-items:center;gap:4px;min-width:90px;padding:10px 6px;transition:border-color .15s,background .15s;display:flex}.sot-stage-step:hover{border-color:var(--primary,#3b82f6)}.sot-stage-step.active{border-color:var(--primary,#3b82f6);background:var(--primary-lt,#eff6ff)}.sot-stage-dot{border-radius:50%;width:12px;height:12px}.sot-stage-label{color:var(--text-primary,#1e293b);font-size:.74rem;font-weight:700}.sot-stage-meta{color:var(--slate-500,#64748b);font-size:.68rem}.sot-table-wrap{overflow-x:auto}.sot-table{border-collapse:collapse;width:100%;font-size:.82rem}.sot-table th,.sot-table td{text-align:left;border-bottom:1px solid var(--border,#e2e8f0);white-space:nowrap;padding:8px 10px}.sot-table th{color:var(--slate-500,#64748b);text-transform:uppercase;letter-spacing:.02em;font-size:.72rem;font-weight:700}.sot-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sot-table th.sortable:hover{color:var(--primary,#3b82f6)}.sot-table td.num,.sot-table th.num{text-align:right}.sot-table th.stage-col,.sot-table td.stage-col{text-align:center;padding-left:4px;padding-right:4px}.sot-order-table .sot-row-click{cursor:pointer}.sot-order-table .sot-row-click:hover{background:var(--mis-hover,#3b82f60f)}.sot-order-no{font-weight:700}.sot-order-date{color:var(--slate-500,#64748b);font-size:.72rem}.sot-style-cell{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.sot-status-badge{font-size:.78rem;font-weight:700}.sot-empty{text-align:center;color:var(--slate-500,#64748b);padding:24px}.sot-pagination{justify-content:center;align-items:center;gap:14px;margin-top:12px;font-size:.82rem;display:flex}.sot-drilldown{flex-direction:column;width:min(940px,95vw);max-width:min(940px,95vw);max-height:82vh;display:flex}.sot-drilldown-body{flex-direction:column;gap:14px;padding:12px 20px 20px;display:flex;overflow-y:auto}.sot-drill-stage-title{text-transform:uppercase;letter-spacing:.02em;color:var(--slate-500,#64748b);margin-bottom:6px;font-size:.8rem;font-weight:700}.sot-drill-empty{color:var(--slate-400,#94a3b8);padding:4px 0;font-size:.8rem}.sot-drill-docs{flex-direction:column;gap:4px;display:flex}.sot-drill-doc{text-align:left;background:var(--card-bg-alt,#94a3b814);border:1px solid var(--border,#e2e8f0);cursor:pointer;border-radius:6px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:.8rem;display:flex}.sot-drill-doc:hover{border-color:var(--primary,#3b82f6)}.sot-drill-doc-no{color:var(--primary,#3b82f6);font-weight:700}.sot-drill-doc-date{color:var(--slate-500,#64748b);font-size:.74rem}.sot-drill-doc-qty{margin-left:auto;font-weight:600}.sot-drill-doc-status{color:var(--slate-500,#64748b);border:1px solid var(--border,#e2e8f0);border-radius:4px;padding:1px 6px;font-size:.7rem}.sot-recon{flex-direction:column;display:flex}.sot-recon-waterfall{flex-direction:column;gap:6px;display:flex}.sot-recon-row{grid-template-columns:150px 1fr 70px;align-items:center;gap:10px;font-size:.78rem;display:grid}.sot-recon-label{color:var(--slate-500,#64748b)}.sot-recon-track{background:var(--slate-200,#e2e8f0);border-radius:5px;height:8px;overflow:hidden}.sot-recon-fill{background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:5px;height:100%}.sot-recon-qty{text-align:right;font-weight:700}.sot-recon-balance{border-top:1px dashed var(--border,#e2e8f0);margin-top:4px;padding-top:8px}.sot-recon-balance .sot-recon-label,.sot-recon-balance .sot-recon-qty{color:var(--text-primary,#1e293b);font-weight:800}.sot-recon-note{color:var(--slate-400,#94a3b8);margin-top:8px;font-size:.72rem;font-style:italic}.sot-analysis-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.sot-mini-bar-wrap{margin-bottom:12px}.sot-inline-progress{align-items:center;gap:6px;display:flex}.sot-inline-progress-track{background:var(--slate-200,#e2e8f0);border-radius:4px;flex:1;min-width:40px;height:6px;overflow:hidden}.sot-inline-progress-fill{background:var(--primary,#3b82f6);border-radius:4px;height:100%}[data-theme=dark] .sot-filter-panel,[data-theme=dark] .sot-kpi-card,[data-theme=dark] .sot-progress-card,[data-theme=dark] .sot-section{background:#252526;border-color:#424242}[data-theme=dark] .sot-kpi-value,[data-theme=dark] .sot-progress-hdr,[data-theme=dark] .sot-stage-label,[data-theme=dark] .sot-order-no{color:#d4d4d4}[data-theme=dark] .sot-table th,.sot-table td{border-color:#424242}[data-theme=dark] .sot-drill-doc{background:#ffffff08;border-color:#424242}@media (width<=900px){.sot-filter-panel{position:static}.sot-kpi-row{grid-template-columns:repeat(2,1fr)}.sot-pie-row,.sot-analysis-row{grid-template-columns:1fr}}:root{--pjt-grid:#e2e8f0;--pjt-axis:#64748b;--pjt-hover:#3b82f60f}[data-theme=dark]{--pjt-grid:#374151;--pjt-axis:#9ca3af;--pjt-hover:#569cd614}.pjt-wrap{flex-direction:column;gap:20px;display:flex}.pjt-mode-toggle{gap:8px;display:flex}.pjt-mode-btn{color:var(--slate-500,#64748b);background:var(--card-bg,#fff);border:1.5px solid var(--border,#e2e8f0);cursor:pointer;border-radius:8px;padding:9px 20px;font-size:.86rem;font-weight:700}.pjt-mode-btn.active{color:#fff;background:var(--primary,#3b82f6);border-color:var(--primary,#3b82f6)}.pjt-filter-panel{z-index:50;background:var(--card-bg,#fff);border:1.5px solid var(--border,#e2e8f0);box-shadow:var(--shadow-sm);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.pjt-filter-field{flex-direction:column;gap:4px;min-width:150px;display:flex}.pjt-filter-label{letter-spacing:.02em;text-transform:uppercase;color:var(--slate-500,#64748b);font-size:.72rem;font-weight:700}.pjt-filter-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.pjt-toolbar-sep{background:var(--border,#e2e8f0);align-self:stretch;width:1px;margin:0 2px}.pjt-kpi-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.pjt-kpi-card{background:var(--card-bg,#fff);border:1.5px solid var(--border,#e2e8f0);box-shadow:var(--shadow-sm);text-align:center;border-radius:10px;padding:14px 16px}.pjt-kpi-value{color:var(--text-primary,#1e293b);font-size:1.4rem;font-weight:800}.pjt-kpi-label{color:var(--slate-500,#64748b);margin-top:2px;font-size:.72rem}.pjt-section{background:var(--card-bg,#fff);border:1.5px solid var(--border,#e2e8f0);box-shadow:var(--shadow-sm);border-radius:10px;padding:16px}.pjt-section-title{letter-spacing:.03em;text-transform:uppercase;color:var(--slate-500,#64748b);margin-bottom:12px;font-size:.82rem;font-weight:700}.pjt-section-title-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pjt-section-title-row .pjt-section-title{margin-bottom:0}.pjt-chip-clear{color:var(--primary,#3b82f6);background:var(--primary-lt,#eff6ff);cursor:pointer;border:none;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:600}.pjt-view-tabs{gap:4px;display:flex}.pjt-view-tab{color:var(--slate-500,#64748b);border:1.5px solid var(--border,#e2e8f0);cursor:pointer;background:0 0;border-radius:6px;padding:4px 12px;font-size:.76rem;font-weight:600}.pjt-view-tab.active{color:#fff;background:var(--primary,#3b82f6);border-color:var(--primary,#3b82f6)}.pjt-chart-tooltip{background:var(--card-bg,#fff);border:1.5px solid var(--border,#e2e8f0);border-radius:8px;padding:8px 12px;font-size:.8rem;box-shadow:0 4px 16px #0000001f}.pjt-chart-tooltip-row{align-items:center;gap:7px;display:flex}.pjt-chart-tooltip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.pjt-pie-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.pjt-pie-legend{flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:10px;display:flex}.pjt-pie-legend-item{cursor:pointer;align-items:center;gap:5px;font-size:.78rem;display:flex}.pjt-pie-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.pjt-pie-title{text-align:center;color:var(--slate-500,#64748b);margin-bottom:4px;font-size:.78rem;font-weight:700}.pjt-days-badge{border-radius:999px;padding:1px 8px;font-size:.78rem;font-weight:700;display:inline-block}.pjt-stage-bar{gap:4px;padding-bottom:4px;display:flex;overflow-x:auto}.pjt-stage-step{border:1.5px solid var(--border,#e2e8f0);cursor:pointer;text-align:center;background:0 0;border-radius:8px;flex-direction:column;flex:1 0 90px;align-items:center;gap:4px;min-width:90px;padding:10px 6px;transition:border-color .15s,background .15s;display:flex}.pjt-stage-step:hover{border-color:var(--primary,#3b82f6)}.pjt-stage-step.active{border-color:var(--primary,#3b82f6);background:var(--primary-lt,#eff6ff)}.pjt-stage-dot{border-radius:50%;width:12px;height:12px}.pjt-stage-label{color:var(--text-primary,#1e293b);font-size:.74rem;font-weight:700}.pjt-stage-meta{color:var(--slate-500,#64748b);font-size:.68rem}.pjt-table-wrap{overflow-x:auto}.pjt-table{border-collapse:collapse;width:100%;font-size:.82rem}.pjt-table th,.pjt-table td{text-align:left;border-bottom:1px solid var(--border,#e2e8f0);white-space:nowrap;padding:8px 10px}.pjt-table th{color:var(--slate-500,#64748b);text-transform:uppercase;letter-spacing:.02em;font-size:.72rem;font-weight:700}.pjt-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.pjt-table th.sortable:hover{color:var(--primary,#3b82f6)}.pjt-table td.num,.pjt-table th.num{text-align:right}.pjt-table th.stage-col,.pjt-table td.stage-col{text-align:center;padding-left:4px;padding-right:4px}.pjt-order-table .pjt-row-click{cursor:pointer}.pjt-order-table .pjt-row-click:hover{background:var(--mis-hover,#3b82f60f)}.pjt-order-no{font-weight:700}.pjt-order-date{color:var(--slate-500,#64748b);font-size:.72rem}.pjt-style-cell{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.pjt-status-badge{font-size:.78rem;font-weight:700}.pjt-empty{text-align:center;color:var(--slate-500,#64748b);padding:24px}.pjt-pagination{justify-content:center;align-items:center;gap:14px;margin-top:12px;font-size:.82rem;display:flex}.pjt-drilldown{flex-direction:column;width:min(940px,95vw);max-width:min(940px,95vw);max-height:82vh;display:flex}.pjt-drilldown-body{flex-direction:column;gap:14px;padding:12px 20px 20px;display:flex;overflow-y:auto}.pjt-drill-stage-title{text-transform:uppercase;letter-spacing:.02em;color:var(--slate-500,#64748b);margin-bottom:6px;font-size:.8rem;font-weight:700}.pjt-drill-empty{color:var(--slate-400,#94a3b8);padding:4px 0;font-size:.8rem}.pjt-drill-docs{flex-direction:column;gap:4px;display:flex}.pjt-drill-doc{text-align:left;background:var(--card-bg-alt,#94a3b814);border:1px solid var(--border,#e2e8f0);cursor:pointer;border-radius:6px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:.8rem;display:flex}.pjt-drill-doc:hover{border-color:var(--primary,#3b82f6)}.pjt-drill-doc-no{color:var(--primary,#3b82f6);font-weight:700}.pjt-drill-doc-date{color:var(--slate-500,#64748b);font-size:.74rem}.pjt-drill-doc-qty{margin-left:auto;font-weight:600}.pjt-drill-doc-status{color:var(--slate-500,#64748b);border:1px solid var(--border,#e2e8f0);border-radius:4px;padding:1px 6px;font-size:.7rem}.pjt-recon{flex-direction:column;display:flex}.pjt-recon-waterfall{flex-direction:column;gap:6px;display:flex}.pjt-recon-row{grid-template-columns:170px 1fr 90px;align-items:center;gap:10px;font-size:.78rem;display:grid}.pjt-recon-label{color:var(--slate-500,#64748b)}.pjt-recon-track{background:var(--slate-200,#e2e8f0);border-radius:5px;height:8px;overflow:hidden}.pjt-recon-fill{background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:5px;height:100%}.pjt-recon-qty{text-align:right;font-weight:700}.pjt-recon-balance{border-top:1px dashed var(--border,#e2e8f0);margin-top:4px;padding-top:8px}.pjt-recon-balance .pjt-recon-label,.pjt-recon-balance .pjt-recon-qty{color:var(--text-primary,#1e293b);font-weight:800}.pjt-mini-bar-wrap{margin-bottom:12px}.pjt-inline-progress{align-items:center;gap:6px;display:flex}.pjt-inline-progress-track{background:var(--slate-200,#e2e8f0);border-radius:4px;flex:1;min-width:40px;height:6px;overflow:hidden}.pjt-inline-progress-fill{background:var(--primary,#3b82f6);border-radius:4px;height:100%}[data-theme=dark] .pjt-mode-btn,[data-theme=dark] .pjt-filter-panel,[data-theme=dark] .pjt-kpi-card,[data-theme=dark] .pjt-section{background:#252526;border-color:#424242}[data-theme=dark] .pjt-kpi-value,[data-theme=dark] .pjt-stage-label,[data-theme=dark] .pjt-order-no{color:#d4d4d4}[data-theme=dark] .pjt-table th,.pjt-table td{border-color:#424242}[data-theme=dark] .pjt-drill-doc{background:#ffffff08;border-color:#424242}@media (width<=900px){.pjt-filter-panel{position:static}.pjt-kpi-row{grid-template-columns:repeat(2,1fr)}.pjt-pie-row{grid-template-columns:1fr}}
