:root{--navy:#123257;--navy-mid:#365f91;--coral:#ff5f47;--coral-hover:#de3218;--coral-bg:#ff5f471a;--brand-orange:#f57c00;--bg-page:#f2f5fb;--bg-card:#fff;--bg-subtle:#f8fafb;--border:#e0e8ef;--border-strong:#8a9fbb;--text-heading:#123257;--text-strong:#374151;--text-body:#6d87aa;--text-subtle:#9ba8b8;--disabled:#a1a1a1;--disabled-text:#6b6b6b;--blue:#365f91;--blue2:#123257;--blue-bg:#e8f1fc;--blue-border:#a8c8f0;--success:#0e9f6e;--success-bg:#def7ec;--danger:#f05252;--danger-bg:#fde8e8;--warning:#faca15;--warning-bg:#fdf6b2;--warning-text:var(--navy-mid);--purple:#5b21b6;--purple-bg:#ede9fe;--zebra-row:#eef3fa;--nav-text:#415b79;--teal:#20a2a2;--teal-bg:#def7f7;--sr-orange:#e87722;--sr-orange-bg:#fdeee0;--text-on-navy:#fff;--text-on-navy-muted:#ffffff80;--text-on-navy-sub:#ffffff73;--text-on-navy-meta:#ffffffb3;--overlay:#00000073;--overlay-light:#00000040;--focus-ring:#1a6fd41f;--radius-xs:4px;--radius:8px;--radius-btn:16px;--radius-lg:12px;--table-head-bg:var(--navy);--table-head-fg:#fff;--shadow-sm:0 1px 2px #1232570d;--shadow:0 8px 24px #00000024;--shadow-lg:0 20px 60px #00000047;--font:"Poppins", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-alt:"IBM Plex Sans", "Poppins", system-ui, sans-serif;--mono:"JetBrains Mono", "Courier New", ui-monospace, monospace;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--fs-9:9px;--fs-10:10px;--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-22:22px;--fs-24:24px;--fs-40:40px;--line-2:#ecf1f7;--row-hover:#eef2f7;--accent-2:#ffcdc6;--control-border:var(--border-strong)}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text-heading);background:var(--bg-page);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}html{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}button{font-family:inherit}input,select,textarea{color:inherit;font-family:inherit}.app{grid-template-columns:250px 1fr;min-height:100vh;transition:grid-template-columns .28s cubic-bezier(.4,0,.2,1);display:grid}.app.collapsed{grid-template-columns:72px 1fr}.app.mobile-nav,.app.auth{grid-template-columns:1fr}.sidebar{background:var(--bg-page);border-right:1px solid var(--border);z-index:10;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:visible}.sidebar-collapse-btn{background:var(--bg-subtle);border:1px solid var(--border-strong);cursor:pointer;z-index:20;width:28px;height:28px;color:var(--nav-text);border-radius:50%;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid;position:absolute;top:88px;right:-14px;box-shadow:0 2px 6px #0000001a}.sidebar-collapse-btn:hover{background:var(--coral);color:#fff;border-color:var(--coral)}.sidebar-collapse-btn svg{transition:transform .22s}.app.collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.logo-wrap{border-bottom:1px solid var(--border);flex-shrink:0;padding:0}.logo-inner{padding:12px 14px 10px}.logo-row{align-items:center;gap:11px;display:flex}.app.collapsed .logo-inner{justify-content:center;padding:12px 0;display:flex}.logo-brand-text{line-height:1}.logo-biz{letter-spacing:.1em;color:var(--navy);margin-bottom:2px;font-family:Arial,sans-serif;font-size:13px;font-weight:700}.logo-biz .o{color:var(--brand-orange)}.logo-erp{letter-spacing:.04em;color:var(--navy);margin-bottom:4px;font-family:Arial Black,Arial,sans-serif;font-size:18px;font-weight:900;line-height:1}.logo-subtitle{color:var(--text-body);letter-spacing:.04em;font-family:Arial,sans-serif;font-size:11px;font-weight:600}.nav{flex:1;padding:8px 0 16px;overflow-y:auto}.nav::-webkit-scrollbar{width:8px}.nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.sec-label{color:var(--border-strong);text-transform:uppercase;letter-spacing:.1em;padding:8px 16px 4px;font-size:12px;font-weight:600}.sec-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 16px 6px;display:flex}.sec-toggle:hover{color:var(--nav-text)}.sec-chev{opacity:.5;flex-shrink:0;font-size:9px;transition:transform .18s}.sec-chev.collapsed{transform:rotate(-90deg)}.sec-body{max-height:1200px;transition:max-height .22s;overflow:hidden}.sec-body.collapsed{max-height:0!important}.ni{cursor:pointer;min-height:44px;color:var(--nav-text);-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;min-width:0;margin:1px 8px;padding:8px 12px;font-size:14px;font-weight:500;display:flex}.ni:hover{background:var(--bg-subtle);color:var(--navy)}.ni.active{background:var(--navy);color:var(--text-on-navy);box-shadow:inset 4px 0 0 var(--coral);font-weight:600}.ni.active:after{content:"";background:var(--coral);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:auto}.ni .nav-ico{flex-shrink:0;width:22px;height:22px}.ni.active .nav-ico,.ni:hover .nav-ico{color:inherit}.ni-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ni-caret{opacity:.4;flex-shrink:0;margin-left:auto;font-size:10px;transition:transform .2s}.ni.open .ni-caret{transform:rotate(180deg)}.nav-badge{color:#fff;background:#9b1c1c;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.ni.active .nav-badge{color:#9b1c1c;background:#fde8e8}.sub{max-height:0;transition:max-height .22s;overflow:hidden}.sub.open{max-height:240px}.sub .ni{min-height:38px;padding:7px 12px 7px 26px;font-size:12px}.sub .ni .nav-ico{width:18px;height:18px}.app.collapsed .ni-label,.app.collapsed .sec-label,.app.collapsed .sec-toggle,.app.collapsed .logo-brand-text,.app.collapsed .ni-caret{display:none!important}.app.collapsed .sec-body{overflow:visible;max-height:none!important}.app.collapsed .sub{display:none!important}.app.collapsed .ni{justify-content:center;margin:2px 6px;padding:10px}.app.collapsed .ni .nav-ico{width:24px;height:24px}.app.collapsed .ni.active:after{display:none}.app.collapsed .nav-badge{display:none!important}.main{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:5;align-items:center;gap:16px;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.crumbs{color:var(--text-body);align-items:center;gap:6px;font-size:13px;display:flex}.crumbs b{color:var(--text-heading);font-weight:600}.crumbs .sep{opacity:.4}.search-box{background:var(--bg-subtle);border:1.5px solid var(--border);border-radius:8px;flex:1;align-items:center;gap:8px;max-width:420px;padding:7px 12px;transition:border-color .15s,background .15s;display:flex}.search-box:focus-within{border-color:var(--coral);background:var(--bg-card)}.search-box input{font-size:13px;font-family:var(--font-alt), sans-serif;color:var(--text-heading);background:0 0;border:none;outline:none;flex:1}.search-box input::placeholder{color:var(--border-strong)}.search-box-clear{cursor:pointer;color:var(--border-strong);background:0 0;border:none;border-radius:4px;flex-shrink:0;place-items:center;padding:2px;transition:color .1s;display:grid}.search-box-clear:hover{color:var(--nav-text)}.id-badge{font-family:var(--mono);color:var(--nav-text);background:var(--bg-subtle);border:1px solid var(--border);white-space:nowrap;letter-spacing:.2px;border-radius:5px;padding:2px 8px;font-size:11.5px;font-weight:700;display:inline-block}.id-badge--dim{opacity:.38}.topbar-right{align-items:center;gap:12px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;width:38px;height:38px;color:var(--nav-text);border-radius:8px;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--bg-subtle)}.icon-btn .dot{background:var(--coral);border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:8px}.avatar{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ffcdc6,#ff5f47);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:13px;font-weight:600;display:grid}.avatar-wrap{position:relative}.user-menu{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:999;border-radius:12px;min-width:220px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.user-menu-profile{border-bottom:1px solid var(--line-2);align-items:center;gap:12px;padding:16px;display:flex}.user-menu-avatar{background:var(--text-body);color:#fff;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:15px;font-weight:600;display:grid}.user-menu-info{min-width:0}.user-menu-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.user-menu-role{color:var(--text-body);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.user-menu-dept{color:var(--border-strong);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.user-menu-actions{padding:8px}.user-menu-btn{cursor:pointer;width:100%;color:var(--nav-text);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-family:inherit;font-size:13.5px;display:flex}.user-menu-btn:hover{background:var(--bg-subtle);color:var(--text-heading)}.notif-wrap{position:relative}.notif-panel{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:999;border-radius:12px;width:320px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.notif-head{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.notif-head h4{margin:0;font-size:14px;font-weight:600}.notif-count{background:var(--coral);color:#fff;border-radius:20px;padding:1px 7px;font-size:11px;font-weight:600}.notif-item{border-bottom:1px solid var(--line-2);cursor:default;align-items:flex-start;gap:10px;padding:11px 16px;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--bg-subtle)}.notif-dot-wrap{border-radius:50%;flex:none;place-items:center;width:32px;height:32px;margin-top:1px;display:grid}.notif-body{flex:1;min-width:0}.notif-text{font-size:13px;line-height:1.4}.notif-time{color:var(--border-strong);margin-top:3px;font-size:11px}.notif-footer{border-top:1px solid var(--line-2);justify-content:center;padding:10px 16px;display:flex}.notif-footer-btn{cursor:pointer;color:var(--blue);background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:500}.notif-footer-btn:hover{text-decoration:underline}.content{padding:24px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head h1{letter-spacing:-.4px;margin:0 0 4px;font-size:24px;font-weight:600}.page-head .sub{color:var(--text-body);font-size:13.5px}.btn{border:1.5px solid var(--border-strong);cursor:pointer;background:var(--bg-card);min-height:44px;color:var(--text-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .12s,border-color .12s,transform 50ms;display:inline-flex}.btn:hover{background:var(--bg-subtle);border-color:var(--navy-mid)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:var(--navy);color:var(--text-on-navy);border-color:var(--navy)}.btn.primary:hover{background:var(--navy-mid);border-color:var(--navy-mid)}.btn.accent,.btn.add{background:var(--coral);color:var(--text-on-navy);border-color:var(--coral)}.btn.accent:hover,.btn.add:hover{background:var(--coral-hover);border-color:var(--coral-hover)}.btn.success{background:var(--success);color:#fff;border-color:var(--success)}.btn.success:hover:not(:disabled){background:#0a7c55;border-color:#0a7c55}.btn.success:disabled{opacity:.45;cursor:default}.btn.ghost{background:var(--bg-card);border-color:var(--border-strong);color:var(--text-strong)}.btn.ghost:hover{background:var(--bg-subtle);border-color:var(--navy-mid)}.btn.danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.btn.danger:hover{background:var(--danger-bg);filter:brightness(.97)}.btn.sm{min-height:32px;padding:4px 12px;font-size:12px}.btn.lg{min-height:48px;padding:12px 22px;font-size:14px}.btn.icon{justify-content:center;width:44px;min-height:44px;padding:0}.btn.icon.sm{width:32px;min-height:32px}.card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px}.card-pad{padding:20px}.card-head{border-bottom:1px solid var(--line-2);align-items:center;gap:12px;padding:14px 18px;display:flex}.card-head h3{margin:0;font-size:15px;font-weight:600}.card-head .actions{gap:8px;margin-left:auto;display:flex}.form-col{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--nav-text);font-size:13px;font-weight:600}.field .hint{color:var(--text-body);font-size:11.5px}.field .err{color:var(--danger);font-size:11.5px}.input,.select,.textarea{border:1.5px solid var(--border);width:100%;height:44px;color:var(--text-heading);background:#fff;border-radius:16px;outline:none;padding:0 20px;font-family:Poppins,sans-serif;font-size:16px;transition:border-color .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--text-heading);box-shadow:none}.input.error,.input.error:focus{border-color:var(--danger);box-shadow:none}.input:disabled,.select:disabled,.textarea:disabled{color:var(--border-strong);cursor:not-allowed;background:#f9fafb}.textarea{resize:vertical;height:auto;padding:12px 16px}.input::placeholder,.textarea::placeholder{color:var(--border-strong)}.input.with-icon{padding-left:38px}.input-wrap{width:100%;position:relative}.input-wrap .lead{color:var(--text-body);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-wrap .trail{color:var(--text-body);cursor:pointer;padding:6px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.checkbox,.radio{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.checkbox input,.radio input{display:none}.checkbox .box,.radio .box{border:1.5px solid var(--border-strong);background:#fff;border-radius:4px;flex:none;place-items:center;width:18px;height:18px;display:grid}.radio .box{border-radius:50%}.checkbox input:checked+.box{background:var(--text-heading);border-color:var(--text-heading);color:#fff}.checkbox input:checked+.box:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.radio input:checked+.box{border-color:var(--text-heading)}.radio input:checked+.box:after{content:"";background:var(--text-heading);border-radius:50%;width:9px;height:9px}.switch{cursor:pointer;width:38px;height:22px;display:inline-block;position:relative}.switch input{display:none}.switch .track{background:var(--border);border-radius:999px;width:100%;height:100%;transition:background .15s}.switch .knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.switch input:checked~.track{background:var(--text-heading)}.switch input:checked~.knob{transform:translate(16px)}.app-field,.app-field-inner{position:relative}.app-field input,.app-field select,.app-field textarea{box-sizing:border-box;border:1.5px solid var(--border-strong);width:100%;height:44px;font-size:14px;font-family:var(--font);background:var(--bg-card);color:var(--text-heading);appearance:none;border-radius:999px;outline:none;padding:0 14px;transition:border-color .15s,box-shadow .15s}.app-field textarea{border-radius:var(--radius-lg);resize:vertical;height:auto;min-height:80px;padding:12px 14px;line-height:1.5}.app-field select{cursor:pointer;padding-right:36px}.app-field--adorned input{padding-right:48px}.app-field label{color:var(--text-body);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;z-index:1;background:0 0;max-width:calc(100% - 28px);padding:0 4px;font-size:14px;font-weight:400;line-height:1;transition:top .15s,font-size .15s,font-weight .15s,color .15s,transform .15s;position:absolute;top:50%;left:12px;overflow:hidden;transform:translateY(-50%)}.app-field--textarea label{top:0;transform:translateY(-50%)}.app-field--floated label{color:var(--text-body);background:var(--bg-card);font-size:12px;font-weight:500;top:0;transform:translateY(-50%)}.app-field--focused input,.app-field--focused select,.app-field--focused textarea{border-color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring)}.app-field--focused label{color:var(--blue)}.app-field--error input,.app-field--error select,.app-field--error textarea{border-color:var(--danger);box-shadow:0 0 0 3px #f052521f}.app-field--error label,.app-field--error.app-field--focused label{color:var(--danger)}.app-field-error{color:var(--danger);margin-top:4px;padding-left:2px;font-size:11px}.app-field-hint{color:var(--border-strong);margin-top:4px;padding-left:2px;font-size:11px}.app-field-required{color:var(--danger);margin-left:2px}.app-field--disabled input,.app-field--disabled select,.app-field--disabled textarea{background:var(--bg-subtle);color:var(--disabled-text);-webkit-text-fill-color:var(--disabled-text);border-color:var(--border);cursor:not-allowed;opacity:1}input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}input[type=date]::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer;transition:opacity .15s,filter .15s}input[type=time]::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer;transition:opacity .15s,filter .15s}input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer;transition:opacity .15s,filter .15s}input[type=month]::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer;transition:opacity .15s,filter .15s}input[type=week]::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer;transition:opacity .15s,filter .15s}.app-field--focused input[type=date]::-webkit-calendar-picker-indicator{filter:brightness(0)saturate()invert(47%)sepia(97%)saturate(467%)hue-rotate(331deg)brightness(105%)}.app-field--focused input[type=time]::-webkit-calendar-picker-indicator{filter:brightness(0)saturate()invert(47%)sepia(97%)saturate(467%)hue-rotate(331deg)brightness(105%)}.app-field-chevron{pointer-events:none;color:var(--text-body);align-items:center;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.app-field-adornment{color:var(--text-body);align-items:center;transition:color .15s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.app-field--focused .app-field-adornment{color:var(--coral)}.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:center;background:var(--text-heading);color:#fff;border-bottom:1px solid var(--border);z-index:1;border-right:1px solid #ffffff26;padding:12px 14px;font-size:14px;font-weight:500;position:sticky;top:0}.tbl th:last-child{border-right:none}.tbl th:first-child{text-align:left}.tbl td{border-bottom:.5px solid var(--line-2);color:var(--text-heading);vertical-align:middle;text-align:center;padding:10px 14px}.tbl tbody tr:nth-child(2n) td{background:var(--bg-subtle)}.tbl tbody tr:nth-child(odd) td{background:#fff}.tbl tr:hover td{background:#eef2f7}.tbl .td-actions{text-align:right;width:60px;position:relative}.tbl .col-check{width:36px}.app-table th{z-index:2;background:var(--bg-subtle);color:var(--text-body);border-top:none;border-bottom:1.5px solid var(--border);text-transform:uppercase;letter-spacing:.06em;text-align:left;border-right:none;font-size:11px;font-weight:700;position:sticky;top:0}.app-table th:last-child{border-right:none}.app-table td{text-align:left}.app-table tfoot td,.app-table .app-table-footer{background:var(--bg-subtle);border-top:1px solid var(--border);color:var(--nav-text)}.badge{background:var(--bg-page);color:var(--nav-text);border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:500;display:inline-flex}.badge.dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.ok{background:var(--success-bg);color:var(--success);border-color:#0000}.badge.warn{background:var(--warning-bg);color:var(--warning-text);border-color:#0000}.badge.bad{background:var(--danger-bg);color:var(--danger);border-color:#0000}.badge.info{background:var(--blue-bg);color:var(--blue);border-color:#0000}.badge.violet{color:var(--purple);background:#f1e7ff;border-color:#0000}.badge.accent{background:var(--accent-2);color:var(--coral);border-color:#0000}.chip{background:var(--bg-page);color:var(--nav-text);border:1px solid var(--line-2);border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.chip .x{cursor:pointer;opacity:.6}.chip .x:hover{opacity:1}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.tab{cursor:pointer;color:var(--text-body);border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 16px;font-size:13.5px;font-weight:500}.tab:hover{color:var(--text-heading)}.tab.active{color:var(--text-heading);border-bottom-color:var(--coral)}.stepper{align-items:center;gap:0;margin:8px 0 28px;display:flex}.step{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.step-num{border:1.5px solid var(--border);width:28px;height:28px;color:var(--text-body);background:#fff;border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.step.active .step-num{background:var(--text-heading);color:#fff;border-color:var(--text-heading)}.step.done .step-num{background:var(--success);color:#fff;border-color:var(--success)}.step .lbl{color:var(--text-body);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.step.active .lbl{color:var(--text-heading);font-weight:600}.step .bar{background:var(--border);flex:1;min-width:16px;height:2px;margin:0 10px}.step.done .bar{background:var(--success)}.stepper-dark .stepper{margin:0}.stepper-dark .step-num{color:#ffffff73;background:#ffffff1f;border-color:#ffffff59}.stepper-dark .step.active .step-num{color:var(--navy);background:#ffffffe6;border-color:#fff}.stepper-dark .step.done .step-num{background:var(--success);border-color:var(--success);color:#fff}.stepper-dark .step .lbl{color:#fff6}.stepper-dark .step.active .lbl{color:#fff;font-weight:600}.stepper-dark .step .bar{background:#fff3}.stepper-dark .step.done .bar{background:var(--success)}.modal-back{background:var(--overlay);z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;animation:.15s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{width:min(560px,92vw);max-height:88vh;box-shadow:var(--shadow-lg);background:#fff;border-radius:14px;flex-direction:column;animation:.2s cubic-bezier(.2,.9,.3,1.1) pop;display:flex;overflow:hidden}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes app-dialog-shake{0%,to{transform:translate(0)rotate(0)}15%{transform:translate(-7px)rotate(-.4deg)}30%{transform:translate(7px)rotate(.4deg)}45%{transform:translate(-5px)}60%{transform:translate(5px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}.app-dialog{background:var(--bg-card);border-radius:var(--radius-lg);max-height:88vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.app-dialog.app-dialog--pop{animation:.2s cubic-bezier(.2,.9,.3,1.1) pop}.app-dialog.app-dialog-shake{animation:.42s cubic-bezier(.36,.07,.19,.97) app-dialog-shake}.app-dialog-sm{width:min(420px,92vw)}.app-dialog-lg{width:min(820px,94vw)}.app-dialog-xl{width:min(1080px,96vw)}.app-dialog-xxl{width:min(1440px,99vw);min-height:min(640px,88vh);max-height:96vh}.app-dialog-head{background:var(--navy);border-bottom:none;flex-shrink:0;align-items:center;gap:14px;padding:12px 24px;display:flex}.app-dialog-header-extra{flex-shrink:0}.app-dialog-icon{border-radius:var(--radius);width:38px;height:38px;color:var(--text-on-navy);background:#ffffff1f;border:none;flex-shrink:0;place-items:center;display:grid}.app-dialog-title-wrap{flex:1;min-width:0}.app-dialog-title{color:var(--text-on-navy);margin:0;font-size:14px;font-weight:700;line-height:1.3}.app-dialog-subtitle{color:var(--text-on-navy-sub);margin-top:2px;font-size:11px}.app-dialog-close{background:var(--bg-card);border:1.5px solid var(--border-strong);cursor:pointer;width:36px;height:36px;color:var(--text-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.app-dialog-close:hover{background:var(--bg-subtle);border-color:var(--navy-mid);color:var(--text-heading)}.app-dialog-body{background:var(--bg-card);flex:1;padding:24px;overflow-y:auto}.app-dialog-foot{background:var(--bg-subtle);border-top:1.5px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 24px;display:flex}@keyframes app-spin{to{transform:rotate(360deg)}}.app-dlg-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.5s linear infinite app-spin;display:inline-block}.panel{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;overflow:hidden}.panel-head{background:var(--bg-page);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:none;align-items:center;gap:10px;padding:10px 14px;transition:background .13s;display:flex}.panel--open .panel-head{border-bottom:1px solid var(--border)}.panel-head:hover{background:var(--bg-subtle)}.panel-icon{color:var(--text-body);flex-shrink:0;justify-content:center;align-items:center;display:flex}.panel-icon--lg{width:32px;height:32px}.panel-title-wrap{flex:1;min-width:0}.panel-title{color:var(--nav-text);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font)}.panel-title--lg{text-transform:none;letter-spacing:0;color:var(--text-heading);font-size:15px;font-weight:600}.panel-subtitle{color:var(--text-body);margin-top:1px;font-size:11px}.panel-action{flex-shrink:0}.panel-toggle{width:24px;height:24px;color:var(--border-strong);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .13s;display:flex}.panel-toggle:hover{color:var(--nav-text)}.panel-toggle svg{transition:transform .25s}.panel--open .panel-toggle svg{transform:rotate(180deg)}.panel-collapse{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.panel--open .panel-collapse{grid-template-rows:1fr}.panel-collapse-inner{overflow:hidden}.panel-body{padding:14px}.panel-foot{border-top:1px solid var(--border);background:var(--bg-page);padding:10px 14px}@keyframes bbIn{0%{opacity:0}to{opacity:1}}@keyframes bbOut{0%{opacity:1}to{opacity:0}}@keyframes erpRipple{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.95)}}@keyframes bbD{0%,to{opacity:.15}50%{opacity:1}}.modal.lg{width:min(820px,94vw)}.modal.xl{width:min(1080px,96vw)}.modal.xxl{width:min(1440px,99vw);max-height:96vh}.modal.xxl .modal-body{flex-direction:column;padding:20px;display:flex;overflow:hidden}.modal-head{background:#0f2d52;border-bottom:none;align-items:center;gap:12px;min-height:81px;padding:10px 22px;display:flex}.modal-head h3{color:#fff;margin:0;font-size:24px;font-weight:500}.modal-head .x{cursor:pointer;color:#ffffffa6;margin-left:auto;transition:color .15s}.modal-head .x:hover{color:#fff}.modal-body{flex:1;padding:22px;overflow-y:auto}.modal-foot{border-top:1px solid var(--line-2);background:var(--bg-subtle);justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.toast{background:var(--text-heading);color:#fff;box-shadow:var(--shadow-lg);z-index:200;border-radius:10px;align-items:center;gap:12px;padding:12px 18px;font-size:13.5px;animation:.25s rise;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translate(-50%,20px)}}.toast.ok{background:var(--success)}.toast.bad{background:var(--danger)}.toast .x{cursor:pointer;opacity:.8}.auth-page{background:#fff;place-items:center;min-height:100vh;padding:40px 20px;display:grid;position:relative;overflow:hidden}.auth-card{border:1px solid var(--border);z-index:1;background:#fff;border-radius:20px;width:440px;max-width:100%;padding:40px 40px 36px;position:relative;box-shadow:0 8px 48px #1232571a}.auth-brand{align-items:center;gap:14px;margin-bottom:28px;display:flex}.auth-brand .bx-mark{border:2px solid var(--text-heading);border-radius:8px;flex-shrink:0;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);width:44px;height:44px;display:grid;overflow:hidden}.auth-brand .bx-mark span{background:#fff;border:.5px solid #12325740}.auth-brand .bx-mark span.hot{background:var(--coral)}.auth-brand-text h2{color:var(--text-heading);margin:0;font-size:16px;font-weight:700;line-height:1.25}.auth-brand-text p{color:var(--text-body);margin:2px 0 0;font-size:12px}.empty{text-align:center;color:var(--text-body);padding:60px 20px}.empty .icon{background:var(--bg-page);width:56px;height:56px;color:var(--border-strong);border-radius:14px;place-items:center;margin:0 auto 12px;display:grid}.empty h4{color:var(--text-heading);margin:0 0 4px;font-size:15px;font-weight:600}.kbd{font-family:var(--mono);background:var(--bg-page);border:1px solid var(--border);color:var(--text-body);border-radius:4px;padding:2px 6px;font-size:11px}.placeholder-img{background:repeating-linear-gradient(45deg, var(--bg-page) 0 8px, var(--bg-subtle) 8px 16px);border:1px dashed var(--border);color:var(--border-strong);font-family:var(--mono);border-radius:10px;place-items:center;font-size:11px;display:grid}.divider{background:var(--line-2);height:1px;margin:16px 0}.row{align-items:center;gap:10px;display:flex}.row.gap-2{gap:8px}.row.gap-4{gap:16px}.row.between{justify-content:space-between}.col{flex-direction:column;gap:10px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.muted{color:var(--text-body)}.small{font-size:12px}.bold{font-weight:600}.kpi{border:1px solid var(--border);background:#fff;border-radius:12px;padding:18px}.kpi .label{color:var(--text-body);font-size:12px;font-weight:500}.kpi .value{letter-spacing:-.6px;margin-top:6px;font-size:26px;font-weight:600}.kpi .delta{margin-top:4px;font-size:12px}.kpi .delta.up{color:var(--success)}.kpi .delta.down{color:var(--danger)}.filter-bar{border-bottom:1px solid var(--border);background:#fff;border-radius:12px 12px 0 0;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.filter-bar .search-box{flex:0 320px}.seg{background:var(--bg-page);border:1px solid var(--line-2);border-radius:8px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--nav-text);background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:12.5px;font-weight:500}.seg button.active{background:var(--bg-card);color:var(--text-heading);box-shadow:var(--shadow-sm)}.menu{z-index:50;border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:10px;min-width:180px;padding:6px;position:absolute}.menu-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.menu-item:hover{background:var(--bg-subtle)}.menu-item.danger{color:var(--danger)}.tpl-card{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.tpl-card .preview{background:linear-gradient(135deg, var(--bg-subtle) 0%, var(--bg-page) 100%);height:140px;position:relative}.tpl-card .preview .pin{cursor:pointer;width:30px;height:30px;box-shadow:var(--shadow-sm);color:var(--text-body);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.tpl-card .preview .pin.on{color:var(--coral)}.tpl-card .body{padding:14px}.tpl-card .body h4{margin:0;font-size:14px;font-weight:600}.tpl-card .body .meta{color:var(--text-body);margin-top:4px;font-size:11.5px}.tpl-card:hover{box-shadow:var(--shadow)}.fb-canvas{border:1px dashed var(--border);background:#fff;border-radius:12px;min-height:400px;padding:20px}.fb-row{background:var(--bg-subtle);border:1px solid var(--line-2);border-radius:8px;align-items:center;gap:12px;margin-bottom:10px;padding:14px;display:flex}.fb-row .grip{cursor:grab;color:var(--border-strong);padding:4px}.fb-row .field-name{flex:1;font-weight:500}.fb-row .field-type{color:var(--text-body);border:1px solid var(--border);background:#fff;border-radius:4px;padding:3px 8px;font-size:11.5px}.shadow-card{box-shadow:var(--shadow)}.scroll-x,.tbl-wrap{overflow-x:auto}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding:16px;display:grid}.tile-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:14px 16px;transition:box-shadow .15s,border-color .15s;position:relative}.tile-card:hover{box-shadow:var(--shadow);border-color:var(--coral)}.tile-card-head{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.tile-card-body{border-top:1px solid var(--border);flex-direction:column;gap:7px;padding-top:10px;display:flex}.tile-card-row{align-items:center;gap:12px;font-size:13px;display:flex}.tile-card-row .lbl{min-width:72px;color:var(--text-body);flex-shrink:0;font-size:12px}.no-scroll{overflow:hidden}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.pill{border:1px solid var(--border);cursor:pointer;color:var(--nav-text);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;display:inline-flex}.pill:hover{background:var(--bg-subtle)}.pill .x{opacity:.5}.pill.active{background:var(--blue);color:#fff;border-color:var(--blue)}.pill.active:hover{background:#1a8ee8}.hero-card{color:#fff;background:linear-gradient(120deg,#122f55 0%,#1f4a7a 60%,#2c5d96 100%);border-radius:14px;padding:22px 26px;position:relative;overflow:hidden}.hero-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#ff5f4766 0%,#0000 70%);width:320px;height:320px;position:absolute;bottom:-120px;right:-60px}.hero-card h2{margin:0 0 6px;font-size:22px;font-weight:600}.hero-card p{opacity:.8;max-width:560px;margin:0}.tag{border:1px solid var(--border);color:var(--nav-text);background:#fff;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.drag-dot{letter-spacing:-2px;font-size:18px;line-height:1}.legend{flex-wrap:wrap;gap:12px;display:flex}.legend-item{color:var(--text-body);align-items:center;gap:6px;font-size:12px;display:flex}.legend-item .sw{border-radius:3px;width:10px;height:10px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sk{background:linear-gradient(90deg,#e8eaed 25%,#f5f6f7 50%,#e8eaed 75%) 0 0/200% 100%;border-radius:4px;animation:1.4s infinite sk-shimmer;display:inline-block}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.bb-loader{z-index:99999;background:#0d1b30;flex-direction:column;justify-content:center;align-items:center;animation:.3s bbIn,.45s 1.75s forwards bbOut;display:flex;position:fixed;inset:0}.erp-throbber{width:120px;height:120px;margin-bottom:30px}.erp-throbber svg{width:100%;height:100%}.erp-ripple-1{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite erpRipple}.erp-ripple-2{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out .9s infinite erpRipple}.bb-brand{color:#fff;letter-spacing:5px;font-family:Segoe UI,system-ui,sans-serif;font-size:21px;font-weight:700}.bb-sub{color:#fff6;letter-spacing:1px;margin-top:8px;font-size:11px}.auth-brand .erp-logo{border-radius:10px;flex-shrink:0;box-shadow:0 1px 4px #0000001a,0 0 0 1px #0000000f}[data-theme=dark] .auth-brand .erp-logo{box-shadow:0 0 0 1px #ffffff14}.erp-logo-bg{fill:#fff}.erp-logo-corner{fill:#0f2d52;fill-opacity:.15}[data-theme=dark] .erp-logo-bg{fill:#123257}[data-theme=dark] .erp-logo-corner{fill:#fff;fill-opacity:.15}.biz-pill{font-family:var(--font);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;padding:4px 10px;font-size:10px;font-weight:600;line-height:14px;display:inline-flex}.pill{font-size:12px;font-weight:500;font-family:var(--font);border-radius:999px;align-items:center;padding:4px 12px;display:inline-flex}.pg_{background:var(--success-bg);color:var(--success)}.pa{background:var(--warning-bg);color:var(--navy-mid)}.pr_{background:var(--danger-bg);color:var(--danger)}.pb_{background:var(--blue-bg);color:var(--blue)}.pgr{background:var(--bg-subtle);color:var(--text-strong)}.pgry{color:var(--disabled-text);background:#6b6b6b1f}.pco,.pcoral{background:var(--coral-bg);color:var(--coral)}.pp,.ppu{background:var(--purple-bg);color:var(--purple)}.ptl{background:var(--teal-bg);color:var(--teal)}.biz-table{border-collapse:collapse;width:100%;font-size:14px}.biz-table thead tr{background:var(--navy)}.biz-table th{color:#fff;text-align:center;white-space:nowrap;padding:12px 14px;font-size:13px;font-weight:500;position:relative}.biz-table th:not(:last-child):after{content:"";background:#ffffff40;border-radius:1px;width:1px;height:40%;position:absolute;top:50%;right:0;transform:translateY(-50%)}.biz-table th:first-child{text-align:left}.biz-table td{border-bottom:.5px solid var(--border);vertical-align:middle;padding:10px 14px}.biz-table tbody tr:nth-child(2n){background:var(--bg-subtle)}.biz-table tbody tr:nth-child(odd){background:var(--bg-card)}.biz-table tbody tr:hover td{background:#eef2f7}.biz-action-btn{cursor:pointer;color:#fff;background:var(--navy);border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin:0 2px;transition:all .15s;display:inline-flex}.biz-action-btn:hover{opacity:.82}.biz-pag-btn{min-width:32px;height:32px;color:var(--text-body);cursor:pointer;font-family:var(--font);background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.biz-pag-btn:hover{background:var(--bg-subtle);color:var(--navy)}.biz-pag-btn.active{background:var(--navy);color:#fff}@keyframes nav-pb-1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes nav-pb-2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}.nav-pb-1,.nav-pb-2{background:var(--coral);border-radius:2px;position:absolute;top:0;bottom:0}.nav-pb-1{animation:2.1s cubic-bezier(.65,.815,.735,.395) infinite nav-pb-1}.nav-pb-2{animation:2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite nav-pb-2}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-header-main{align-items:center;gap:14px;display:flex}.page-header-icon{border-radius:var(--radius-lg);background:var(--coral-bg);width:44px;height:44px;color:var(--coral);flex-shrink:0;place-items:center;display:grid}.page-header-title{color:var(--text-heading);letter-spacing:-.3px;margin:0;font-size:20px;font-weight:700}.page-header-sub{color:var(--text-body);margin-top:2px;font-size:13px}.metric-grid{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:12px;margin-bottom:16px;display:grid}@media (width<=900px){.metric-grid{grid-template-columns:1fr 1fr;grid-auto-columns:auto;grid-auto-flow:row}}.metric-card{background:var(--bg-card);border:1.5px solid var(--border);border-top:4px solid var(--border-strong);border-radius:var(--radius-lg);padding:12px 16px}.metric-card.clickable,.metric-card--clickable{cursor:pointer;transition:box-shadow .15s,border-color .15s}.metric-card.clickable:hover,.metric-card--clickable:hover{box-shadow:var(--shadow-sm)}.metric-card--active{background:var(--bg-subtle);box-shadow:0 0 0 2px var(--border)}.metric-card--blue{border-top-color:var(--blue)}.metric-card--success{border-top-color:var(--success)}.metric-card--warning{border-top-color:var(--warning)}.metric-card--danger{border-top-color:var(--danger)}.metric-card--orange{border-top-color:var(--sr-orange)}.metric-card--muted{border-top-color:var(--text-subtle)}.metric-card--teal{border-top-color:var(--teal)}.metric-card--purple{border-top-color:var(--purple)}.metric-card--navy{border-top-color:var(--navy-mid)}.metric-label{color:var(--text-body);letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px;font-size:10.5px;font-weight:700}.metric-figure{align-items:baseline;gap:8px;display:flex}.metric-value{color:var(--text-heading);font-size:22px;font-weight:800;line-height:1}.metric-value--blue{color:var(--blue)}.metric-value--success{color:var(--success)}.metric-value--warning{color:var(--warning)}.metric-value--danger{color:var(--danger)}.metric-value--orange{color:var(--sr-orange)}.metric-value--muted{color:var(--text-subtle)}.metric-value--teal{color:var(--teal)}.metric-value--purple{color:var(--purple)}.metric-value--navy{color:var(--navy-mid)}.metric-sub{color:var(--text-body);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:600}.filter-strip{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.filter-control{border:1.5px solid var(--border-strong);background:var(--bg-card);height:36px;color:var(--text-heading);font-size:12.5px;font-family:var(--font);box-sizing:border-box;border-radius:999px;outline:none;padding:0 12px;transition:border-color .15s,box-shadow .15s}.filter-control:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring)}.filter-search{display:inline-flex;position:relative}.filter-search .filter-control{padding-left:32px}.filter-search-icon{color:var(--text-body);pointer-events:none;display:inline-flex;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.filter-reset{cursor:pointer;color:var(--text-strong);align-items:center;gap:6px;font-weight:600;display:inline-flex}.mono{font-family:var(--mono)}.fw-600{font-weight:600}.fw-700{font-weight:700}.text-money{color:var(--success);font-weight:700}.text-muted-2{color:var(--text-body)}.cell-note{color:var(--text-body);font-size:11px;font-style:italic}.fk-pill{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-border);font-family:var(--mono);border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.form-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);margin-bottom:12px;padding:14px 16px}.form-card-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.form-card-title{color:var(--navy-mid);text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:800}.isec{color:var(--navy-mid);text-transform:uppercase;letter-spacing:.07em;border-bottom:1.5px solid var(--border);margin:16px 0 8px;padding-bottom:6px;font-size:11px;font-weight:800}.form-banner{border-radius:var(--radius);align-items:center;gap:10px;margin-bottom:12px;padding:9px 14px;font-size:12.5px;display:flex}.form-banner--warning{background:var(--warning-bg);border:1.5px solid var(--warning);color:var(--text-strong)}.form-banner--blue{background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-strong)}.form-banner--error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger)}.form-banner-muted{color:var(--text-body);font-weight:500}.summary-strip{align-items:stretch;gap:8px;display:flex}.summary-chips{border:1.5px solid var(--border);background:var(--bg-subtle);border-radius:999px;flex-shrink:0;align-items:center;height:44px;display:flex;overflow:hidden}.summary-chip{align-items:center;gap:6px;height:100%;padding:0 14px;display:flex}.summary-chip+.summary-chip{border-left:1px solid var(--border)}.summary-chip-lbl{text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);font-size:11px;font-weight:700}.summary-chip-val{font-size:13px;font-weight:700;line-height:1;font-family:var(--mono)}.summary-chip-val--blue{color:var(--blue)}.summary-chip-val--neutral{color:var(--text-heading)}.summary-chip-val--money{color:var(--success)}.summary-remarks{flex:1;min-width:0}.line-table-wrap{overflow-x:auto}.line-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:952px}.line-table th{text-align:center;vertical-align:middle;color:var(--text-body);border-bottom:1.5px solid var(--border);text-transform:uppercase;letter-spacing:.03em;white-space:normal;background:var(--bg-subtle);padding:6px 8px;font-size:9px;font-weight:700;line-height:1.3}.line-table th.l{text-align:left}.line-table th.r{text-align:right}.line-table td{vertical-align:middle;text-align:center;border-bottom:1px solid var(--border);padding:5px 6px}.line-table td.l{text-align:left}.line-table td.r{text-align:right}.line-table tr.line-row td{background:var(--bg-card)}.line-toggle{border-left:3px solid var(--blue);cursor:pointer;text-align:center}.line-detail-cell{padding:0}.line-chev{color:var(--blue);font-size:8px;transition:transform .18s;display:inline-block}.line-chev.open{transform:rotate(90deg)}.line-idx{color:var(--text-subtle);font-size:11.5px;font-weight:700}.line-code{font-size:10.5px;font-family:var(--mono);color:var(--blue);font-weight:700}.line-name{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:500;line-height:1.3;overflow:hidden}.line-conv{color:var(--blue);font-size:11.5px;font-weight:600}.line-conv-base{color:var(--text-body);font-size:9px;display:block}.line-figure{color:var(--text-heading);font-size:12px;font-weight:700}.line-ro{font-size:12px;font-weight:700}.line-ro.money{color:var(--success)}.line-remove{cursor:pointer;color:var(--danger);border-radius:var(--radius-xs);background:0 0;border:none;padding:2px 4px;font-size:13px;font-weight:700}.cell-select{border-radius:var(--radius-xs);border:1.5px solid var(--border-strong);appearance:none;background:var(--bg-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4' viewBox='0 0 8 4'%3E%3Cpath d='M0 0l4 4 4-4z' fill='%238A9FBB'/%3E%3C/svg%3E") no-repeat right 5px center;width:100%;height:24px;color:var(--text-heading);cursor:pointer;box-sizing:border-box;padding:3px 18px 3px 4px;font-family:inherit;font-size:11.5px;line-height:1}.cell-select:disabled{background-color:var(--bg-subtle);color:var(--disabled-text);-webkit-text-fill-color:var(--disabled-text);opacity:1;cursor:default}.cell-input,.cell-date{border-radius:var(--radius-xs);border:1.5px solid var(--border-strong);background:var(--bg-card);width:100%;height:26px;color:var(--text-heading);box-sizing:border-box;padding:3px 6px;font-family:inherit;font-size:11.5px}.cell-date{appearance:none;height:24px;padding:3px 4px}.cell-input:disabled,.cell-date:disabled{background:var(--bg-subtle);color:var(--disabled-text);-webkit-text-fill-color:var(--disabled-text);opacity:1}.cell-num{text-align:center;font-size:12px;font-weight:700}.cell-num.money{text-align:right;color:var(--success)}.cell-num.zero{border-color:var(--danger);background:var(--danger-bg)}.cell-specs{width:100%;position:relative}.cell-specs .cell-input{padding-right:20px}.cell-pencil{color:var(--coral);pointer-events:none;font-size:11px;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)scaleX(-1)}.line-detail{background:var(--blue-bg);border-top:1px solid var(--blue-border);grid-template-columns:80px 72px 118px 118px 118px 118px 1fr;gap:6px 10px;padding:5px 10px 6px;display:grid}.line-detail-col{flex-direction:column;display:flex}.line-detail-lbl{text-transform:uppercase;letter-spacing:.05em;color:var(--text-body);margin-bottom:2px;font-size:8px;font-weight:700}.line-detail-lbl.c{text-align:center}.yn-group{justify-content:center;align-items:center;gap:3px;display:flex}.yn{border-radius:var(--radius-xs);border:1.5px solid var(--border-strong);background:var(--bg-card);height:24px;color:var(--text-body);cursor:pointer;justify-content:center;align-items:center;padding:3px 7px;font-family:inherit;font-size:11.5px;font-weight:700;display:flex}.yn.y.on{border-color:var(--success);background:var(--success-bg);color:var(--success)}.yn.n.on{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.yn:disabled{cursor:not-allowed;opacity:.55}.yn-ro{justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.yn-ro.yes{color:var(--success)}.yn-ro.no{color:var(--danger)}.grid-empty{text-align:center;color:var(--text-subtle);padding:28px 20px}.grid-empty-title{color:var(--text-strong);margin-bottom:3px;font-size:13px;font-weight:600}.grid-empty-sub{font-size:12px}.record-search{align-items:center;gap:10px;margin-bottom:10px;display:flex;position:relative}.record-search-box{flex:0 0 320px;position:relative}.record-search-input{border:1.5px solid var(--border-strong);width:100%;height:36px;font-size:12.5px;font-family:var(--font);color:var(--text-heading);background:var(--bg-card);box-sizing:border-box;border-radius:999px;outline:none;padding:0 34px 0 14px;transition:border-color .15s,box-shadow .15s}.record-search-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring)}.record-search-input:disabled{background:var(--bg-subtle)}.record-search-icon{color:var(--text-body);pointer-events:none;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.record-search-dd{z-index:30;background:var(--bg-card);border:1.5px solid var(--blue-border);width:380px;box-shadow:var(--shadow);border-radius:8px;max-height:280px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.record-search-msg{color:var(--text-body);text-align:center;padding:12px;font-size:12px}.record-search-opt{cursor:pointer;border-radius:6px;grid-template-columns:100px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.record-search-opt.active{background:var(--blue-bg)}.record-search-opt .rs-code{font-family:var(--mono);color:var(--blue);font-size:12px;font-weight:700}.record-search-opt .rs-main{flex-direction:column;min-width:0;display:flex}.record-search-opt .rs-name{color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.record-search-opt .rs-meta{color:var(--text-body);font-size:10.5px}.record-search-opt .rs-uom{font-family:var(--mono);color:var(--text-body);border:1px solid var(--border);border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:600}.ppmp-header-grid{grid-template-columns:10fr 4fr 7fr 19fr;align-items:start;gap:8px;margin-bottom:14px;display:grid}@media (width<=900px){.ppmp-header-grid{grid-template-columns:1fr 1fr}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--shadow-sm:0 1px 3px #00000059;--shadow:0 8px 24px #00000080;--shadow-lg:0 20px 60px #000000a6;--navy:#1e3a5f;--navy-mid:#5b8db8;--coral:#ff7a65;--coral-hover:#c94030;--coral-bg:#ff7a651f;--bg-page:#0d1e2e;--bg-card:#162e4a;--bg-subtle:#122540;--table-head-bg:#122540;--table-head-fg:var(--text-body);--border:#1f3d5c;--border-strong:#2a4e72;--text-heading:#e8eff7;--text-strong:#c5d5e8;--text-body:#8db3d4;--text-subtle:#3a6080;--disabled:#3a6080;--disabled-text:#6b7e92;--blue:#5b8db8;--blue2:#4075a0;--blue-bg:#162537;--blue-border:#2a4a6a;--success:#52c98c;--success-bg:#0a2a1f;--danger:#f08080;--danger-bg:#2d1515;--warning:#faca15;--warning-bg:#2a2005;--warning-text:#faca15;--purple:#a78bfa;--purple-bg:#1e1535;--teal-bg:#0a2a2a;--zebra-row:#122540;--nav-text:#c5d5e8;--focus-ring:#5b8db833;--text-on-navy-sub:#fff9;--line-2:#1a3050;--accent-2:#5a1e10;--row-hover:#1a3f60;--control-border:var(--navy-mid)}[data-theme=dark] body{background:var(--bg-page);color:var(--text-heading)}[data-theme=dark] .sidebar{background:var(--bg-card);border-right-color:var(--border)}[data-theme=dark] .topbar{background:var(--bg-card);border-bottom-color:var(--border)}[data-theme=dark] .content{background:var(--bg-page)}[data-theme=dark] .card{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .card-pad,[data-theme=dark] .kpi{background:var(--bg-card)}[data-theme=dark] .tile-card{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .kpi .label{color:var(--text-body)}[data-theme=dark] .kpi .value{color:var(--text-heading)}[data-theme=dark] .page-head{background:0 0}[data-theme=dark] .filter-bar{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3{color:var(--text-heading)}[data-theme=dark] .sub,[data-theme=dark] .muted{color:var(--text-body)}[data-theme=dark] .bold{color:var(--text-heading)}[data-theme=dark] .crumbs{color:var(--text-body)}[data-theme=dark] .crumbs .sep{color:var(--border-strong)}[data-theme=dark] .tbl{background:var(--bg-card)}[data-theme=dark] .tbl thead tr{background:#e8eff7}[data-theme=dark] .tbl th{color:#0f2438;border-bottom-color:var(--border)}[data-theme=dark] .tbl td{color:var(--text-heading);border-bottom-color:var(--border)}[data-theme=dark] .tbl tbody tr:nth-child(2n) td{background:var(--bg-subtle)}[data-theme=dark] .tbl tbody tr:nth-child(odd) td{background:var(--bg-card)}[data-theme=dark] .tbl tbody tr:hover td{background:#1a3f60}[data-theme=dark] .biz-table{background:var(--bg-card)}[data-theme=dark] .biz-table th{background:var(--bg-subtle);color:var(--text-body);border-color:var(--border)}[data-theme=dark] .biz-table td{color:var(--text-heading);border-color:var(--border)}[data-theme=dark] .sk{background:linear-gradient(90deg,#1d3a56 25%,#264d6e 50%,#1d3a56 75%) 0 0/200% 100%}[data-theme=dark] .app-field input,[data-theme=dark] .app-field select,[data-theme=dark] .app-field textarea{background:var(--bg-page);border-color:var(--border);color:var(--text-heading)}[data-theme=dark] .app-field label,[data-theme=dark] .app-field--floated label{color:var(--text-body)}[data-theme=dark] .app-field--focused input,[data-theme=dark] .app-field--focused select,[data-theme=dark] .app-field--focused textarea{border-color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring)}[data-theme=dark] .app-field--focused label{color:var(--blue)}[data-theme=dark] input[type=date],[data-theme=dark] input[type=time],[data-theme=dark] input[type=datetime-local],[data-theme=dark] input[type=month],[data-theme=dark] input[type=week]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] .app-field--focused input[type=date]::-webkit-calendar-picker-indicator{filter:brightness(0)saturate()invert(47%)sepia(97%)saturate(467%)hue-rotate(331deg)brightness(105%);opacity:1}[data-theme=dark] .app-field--focused input[type=time]::-webkit-calendar-picker-indicator{filter:brightness(0)saturate()invert(47%)sepia(97%)saturate(467%)hue-rotate(331deg)brightness(105%);opacity:1}[data-theme=dark] .app-field--disabled input,[data-theme=dark] .app-field--disabled select,[data-theme=dark] .app-field--disabled textarea{background:var(--bg-subtle);color:var(--border-strong)}[data-theme=dark] .app-field-chevron{color:var(--text-body)}[data-theme=dark] .app-table th{background:var(--bg-subtle);color:var(--nav-text);border-right-color:var(--border)}[data-theme=dark] .app-table tr:hover td{background:#1a3f60}[data-theme=dark] .app-table select{background:var(--bg-page);border-color:var(--border);color:var(--text-heading)}[data-theme=dark] .app-dialog{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .app-dialog-head{background:var(--navy);border-bottom:none}[data-theme=dark] .app-dialog-icon{color:var(--text-on-navy);background:#ffffff1f;border:none}[data-theme=dark] .app-dialog-title{color:var(--text-on-navy)}[data-theme=dark] .app-dialog-subtitle{color:var(--text-on-navy-sub)}[data-theme=dark] .app-dialog-close{background:var(--bg-card);border-color:var(--border-strong);color:var(--text-strong)}[data-theme=dark] .app-dialog-close:hover{background:var(--bg-subtle);border-color:var(--navy-mid);color:var(--text-heading)}[data-theme=dark] .app-dialog-foot{background:var(--bg-subtle);border-top-color:var(--border)}[data-theme=dark] .input{background:var(--bg-page);border-color:var(--border);color:var(--text-heading)}[data-theme=dark] .input::placeholder{color:var(--border-strong)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--bg-page);border-color:var(--border);color:var(--text-heading)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--border-strong)}[data-theme=dark] .search-box{background:var(--bg-subtle);border-color:var(--border)}[data-theme=dark] .search-box input{color:var(--text-heading);background:0 0}[data-theme=dark] .search-box:focus-within{background:var(--bg-page);border-color:var(--coral)}[data-theme=dark] .field-wrap{background:var(--bg-page);border-color:var(--border)}[data-theme=dark] .btn{background:var(--bg-subtle);border-color:var(--border);color:var(--text-heading)}[data-theme=dark] .btn:hover{background:var(--bg-page)}[data-theme=dark] .btn.primary{background:var(--coral);border-color:var(--coral);color:#fff}[data-theme=dark] .btn.add{color:#fff;background:#ff5f47;border-color:#ff5f47}[data-theme=dark] .btn.add:hover{background:#de3218;border-color:#de3218}[data-theme=dark] .btn.ghost{border-color:var(--border-strong);color:var(--nav-text);background:0 0}[data-theme=dark] .icon-btn{background:var(--bg-subtle);border-color:var(--border);color:var(--text-body)}[data-theme=dark] .icon-btn:hover{background:var(--bg-page)}[data-theme=dark] .badge{background:var(--bg-subtle);color:var(--text-body);border-color:var(--border)}[data-theme=dark] .badge.ok{background:var(--success-bg);color:var(--success);border-color:#0000}[data-theme=dark] .badge.warn{background:var(--warning-bg);color:var(--warning-text);border-color:#0000}[data-theme=dark] .badge.bad{background:var(--danger-bg);color:var(--danger);border-color:#0000}[data-theme=dark] .badge.info{background:var(--blue-bg);color:var(--blue);border-color:#0000}[data-theme=dark] .badge.violet{color:var(--purple);background:#9747ff33;border-color:#0000}[data-theme=dark] .badge.accent{background:var(--accent-2);color:var(--coral);border-color:#0000}[data-theme=dark] .pill{background:var(--bg-subtle);color:var(--nav-text);border-color:var(--border)}[data-theme=dark] .sec-label{color:var(--navy-mid)}[data-theme=dark] .ni{color:#c5d5e8}[data-theme=dark] .ni:hover{background:var(--bg-subtle);color:var(--text-heading)}[data-theme=dark] .ni.active{background:var(--navy);color:var(--text-heading);box-shadow:inset 4px 0 0 var(--coral)}[data-theme=dark] .ni:hover.active{background:var(--blue-border,var(--navy))}[data-theme=dark] .sub .ni{color:var(--text-body)}[data-theme=dark] .nav-cat{color:var(--border-strong)}[data-theme=dark] .logo-wrap{border-bottom-color:var(--border)}[data-theme=dark] .logo-biz,[data-theme=dark] .logo-erp{color:var(--text-heading)}[data-theme=dark] .logo-subtitle{color:var(--text-body)}[data-theme=dark] .modal-overlay{background:#000000b3}[data-theme=dark] .modal{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .modal-head{color:#fff;background:#0a1f3a;border-bottom-color:#0000}[data-theme=dark] .modal-foot{border-top-color:var(--border);background:var(--bg-subtle)}[data-theme=dark] .modal-title{color:var(--text-heading)}[data-theme=dark] .menu{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .menu-item{color:var(--nav-text)}[data-theme=dark] .menu-item:hover{background:var(--bg-subtle);color:var(--text-heading)}[data-theme=dark] .user-menu{background:var(--bg-card);border-color:var(--border);box-shadow:var(--shadow-lg)}[data-theme=dark] .user-menu-name{color:var(--text-heading)}[data-theme=dark] .user-menu-role,[data-theme=dark] .user-menu-dept{color:var(--text-body)}[data-theme=dark] .user-menu-btn{color:var(--nav-text)}[data-theme=dark] .user-menu-btn:hover{background:var(--bg-subtle)}[data-theme=dark] .notif-panel{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .notif-head{border-bottom-color:var(--border);color:var(--text-heading)}[data-theme=dark] .notif-item{border-bottom-color:var(--border)}[data-theme=dark] .notif-footer{border-top-color:var(--border);background:var(--bg-subtle)}[data-theme=dark] .notif-footer-btn,[data-theme=dark] .tab{color:var(--text-body)}[data-theme=dark] .tab:hover{color:var(--text-heading)}[data-theme=dark] .tab.active{color:var(--text-heading);border-bottom-color:var(--coral)}[data-theme=dark] .step-num{background:var(--bg-subtle);border-color:var(--border);color:var(--text-body)}[data-theme=dark] .step-label{color:var(--text-body)}[data-theme=dark] .seg{background:var(--bg-subtle);border-color:var(--border)}[data-theme=dark] .seg button{color:var(--text-body)}[data-theme=dark] .seg button.active{background:var(--bg-page);color:var(--text-heading);box-shadow:none}[data-theme=dark] .panel{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .panel-head{background:var(--bg-subtle);border-bottom-color:var(--border)}[data-theme=dark] .panel-head:hover{background:#0a1c30}[data-theme=dark] .panel-title{color:var(--nav-text)}[data-theme=dark] .panel-title--lg{color:var(--text-heading)}[data-theme=dark] .panel-subtitle{color:var(--text-body)}[data-theme=dark] .panel-toggle{color:var(--border-strong)}[data-theme=dark] .panel-toggle:hover{color:var(--nav-text)}[data-theme=dark] .panel-foot{background:var(--bg-subtle);border-top-color:var(--border)}[data-theme=dark] .nav-flyout{background:var(--bg-card);border-color:var(--border);box-shadow:var(--shadow-lg)}[data-theme=dark] .nav-flyout-title{color:var(--border-strong)}[data-theme=dark] .nav-flyout-item{color:var(--nav-text)}[data-theme=dark] .nav-flyout-item:hover{background:var(--bg-subtle);color:var(--text-heading)}[data-theme=dark] .nav-flyout-item.active{color:var(--coral);background:#ff7a651a}[data-theme=dark] .nav-flyout-group{color:var(--border-strong)}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg-page)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}@font-face{font-family:Poppins;src:url(/assets/Poppins-Regular-CTKNfV9P.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Poppins;src:url(/assets/Poppins-Bold-qTAUjFF7.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Poppins;src:url(/assets/Poppins-Italic-PjgN8SAi.ttf)format("truetype");font-weight:400;font-style:italic}@font-face{font-family:Poppins;src:url(/assets/Poppins-Medium-Cxde2ZoM.ttf)format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Poppins;src:url(/assets/Poppins-SemiBold-B_fPDAUb.ttf)format("truetype");font-weight:600;font-style:normal}@font-face{font-family:IBM Plex Sans;src:url(/assets/IBMPlexSans-Light-b4i7YzLG.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/assets/IBMPlexSans-Regular-CDDApCn2.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/assets/IBMPlexSans-Italic-CZTNEAuW.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/assets/IBMPlexSans-Medium-6ng42L7E.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/assets/IBMPlexSans-SemiBold-CuJfVYMP.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/assets/IBMPlexSans-Bold-Bxkt5Cjx.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Regular-V6pRDFza.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Medium-BWZEU5yA.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}body{font-family:Poppins,Arial,sans-serif}*,:before,:after{box-sizing:border-box}*{font:inherit;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;hanging-punctuation:first last}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{min-height:100vh}img,picture,svg,video{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{text-wrap:balance}p{text-wrap:pretty;max-width:75ch}@media (prefers-reduced-motion:no-preference){:has(:target){scroll-behavior:smooth;scroll-padding-top:3rem}}
