.toast-stack[data-v-9ae6c294]{z-index:200;pointer-events:none;gap:12px;width:min(398px,100vw - 32px);display:grid;position:fixed;top:24px;right:24px}.toast[data-v-9ae6c294]{pointer-events:none;background:#fff;border:1px solid #d9ebde;border-radius:8px;align-items:center;gap:12px;min-height:72px;padding:15px 10px 15px 16px;display:flex;box-shadow:0 4px 16px #0000001f,0 1px 4px #0000000f}.toast-icon[data-v-9ae6c294]{color:#fff;background:#33a954;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid}.toast-message[data-v-9ae6c294]{color:#1a1a1a;overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;line-height:1.5}.toast-close[data-v-9ae6c294]{pointer-events:auto;color:#999ea8;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.toast-close[data-v-9ae6c294]:hover{color:#434653;background:#f5f6f8}.toast[data-tone=danger][data-v-9ae6c294]{border-color:#ffd8d8}.toast[data-tone=danger] .toast-icon[data-v-9ae6c294]{background:#d93025}.toast[data-tone=info][data-v-9ae6c294]{border-color:#d9e9ff}.toast[data-tone=info] .toast-icon[data-v-9ae6c294]{background:#007cfe}.toast[data-tone=warning][data-v-9ae6c294]{border-color:#ffe1b6}.toast[data-tone=warning] .toast-icon[data-v-9ae6c294]{background:#e88916}.toast-enter-active[data-v-9ae6c294],.toast-leave-active[data-v-9ae6c294],.toast-move[data-v-9ae6c294]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-9ae6c294],.toast-leave-to[data-v-9ae6c294]{opacity:0;transform:translateY(-8px)}.toast-leave-active[data-v-9ae6c294]{width:100%;position:absolute}@media (width<=640px){.toast-stack[data-v-9ae6c294]{top:16px;right:16px}}.shenvo-wordmark[data-v-faf623ac]{line-height:0;display:inline-flex}.shenvo-wordmark img[data-v-faf623ac]{object-fit:contain;width:80.36px;height:56.02px;display:block}.shenvo-wordmark.compact img[data-v-faf623ac]{width:40.18px;height:28.01px}.shenvo-wordmark.inverse[data-v-faf623ac]{background:#fffffff0;border-radius:8px;padding:8px}:root{color:#191b1e;font-synthesis:none;text-rendering:optimizelegibility;--page:#f8f9fc;--surface:#fff;--surface-subtle:#faf9fa;--surface-selected:#f6f7fa;--ink:#191b1e;--secondary:#434653;--muted:#7e8390;--brand:#2b44ff;--brand-strong:#001dff;--brand-soft:#eef1ff;--danger:#c90003;--warning:#b45b00;--success:#168451;--border:#c3c6d55c;--border-soft:#c3c6d533;--shadow:0 18px 54px #2126391f;--component-primary:#007cfe;--component-focus:#094cb2;--component-button:#303844;--component-text:#1b1c1d;--component-secondary:#434653;--component-muted:#737784;--component-placeholder:#888d9f;--component-danger:#d70004;--component-border:#c3c6d559;--component-radius-lg:16px;--component-modal-shadow:0 8px 24px #0000001c;background:#f8f9fc;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--page);min-width:320px}body{background:var(--page);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--component-focus);outline-offset:2px}.app-shell{background:#f8f9fc;min-height:100vh}.app-sidebar{z-index:40;background-color:#fcfcfc;background-image:linear-gradient(#ffffffbf,#ffffffbf),url(/category-sidebar-atmosphere.png);background-position:top;background-repeat:no-repeat;background-size:auto 182.03%;border-right:1px solid #f0f1f5;flex-direction:column;width:288px;transition:width .2s,transform .2s;display:flex;position:fixed;inset:0 auto 0 0}.brand-row{flex:0 0 56px;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex}.brand{align-items:center;min-width:0;display:inline-flex}.sidebar-toggle{color:#858585}.sidebar-toggle svg{transition:transform .2s}.sidebar-toggle svg.rotated{transform:rotate(180deg)}.side-nav{gap:4px;padding:8px 16px;display:grid}.side-nav a{color:#434653;white-space:nowrap;border-radius:8px;align-items:center;gap:12px;height:48px;padding:0 24px;font-size:15px;font-weight:400;transition:background .16s,color .16s;display:flex;overflow:hidden}.side-nav a.has-children{padding-right:14px}.side-nav a.has-children>span{flex:1;min-width:0}.side-nav a .nav-chevron{color:#858585;flex:none;margin-left:auto;transition:transform .18s}.side-nav-group.expanded>a .nav-chevron{color:#2b44ff;transform:rotate(180deg)}.side-nav a svg,.sidebar-bottom-nav svg{flex:none}.side-nav a:hover{background:#ffffff94}.side-nav a.active{color:#2b44ff;background:#fff}.side-nav-group{display:grid}.side-subnav{grid-template-rows:0fr;transition:grid-template-rows .18s;display:grid}.side-subnav.open{grid-template-rows:1fr}.side-subnav-inner{gap:2px;min-height:0;padding:0 10px 0 46px;display:grid;overflow:hidden}.side-subnav.open .side-subnav-inner{padding-bottom:5px}.side-subnav a{color:#434653;background:0 0;border-radius:5px;gap:9px;height:30px;padding:0 8px;font-size:12px}.side-subnav a:hover{background:#ffffff7a}.side-subnav a.active{color:#2b44ff;background:0 0}.subnav-dot{background:currentColor;border-radius:50%;flex:none;width:4px;height:4px}.sidebar-bottom-nav{gap:8px;margin-top:auto;padding:0 16px 22px;display:grid}.sidebar-bottom-nav button{color:#434653;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;height:32px;padding:0 24px;font-size:14px;display:flex;overflow:hidden}.sidebar-bottom-nav button:hover{background:#ffffff94}.avatar{color:#fff;background:#191b1e;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.avatar.small{width:30px;height:30px;font-size:11px}.app-sidebar.collapsed{width:72px}.app-sidebar.collapsed .brand{display:none}.app-sidebar.collapsed .sidebar-toggle{margin:0 auto}.app-sidebar.collapsed .side-nav{padding-inline:12px}.app-sidebar.collapsed .side-nav a,.app-sidebar.collapsed .sidebar-bottom-nav button{justify-content:center;padding-inline:0}.app-sidebar.collapsed .side-nav span,.app-sidebar.collapsed .sidebar-bottom-nav span,.app-sidebar.collapsed .side-subnav,.app-sidebar.collapsed .nav-chevron{display:none}.app-sidebar.collapsed .sidebar-bottom-nav{padding-inline:12px}.app-workspace{min-height:100vh;margin-left:288px;transition:margin-left .2s}.sidebar-is-collapsed .app-workspace{margin-left:72px}.app-header{z-index:30;background:#fff;border-bottom:1px solid #c3c6d533;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.header-title{align-items:center;gap:10px;display:flex}.header-back{color:#737784;cursor:pointer;background:0 0;border:0;place-items:center;width:22px;height:32px;display:inline-grid}.header-title strong{color:#1b1c1d;font-size:20px;font-weight:400}.header-tools{align-items:center;gap:16px;height:100%;display:flex}.header-divider{background:#c3c6d54d;width:1px;height:32px}.header-user-wrap{height:100%;position:relative}.header-user{cursor:pointer;background:0 0;border:0;align-items:center;gap:16px;height:100%;padding:0;display:flex}.header-user-copy{text-align:right;display:grid}.header-user strong{color:#1b1c1d;font-size:14px;font-weight:400}.header-user small{color:#434653;margin-top:3px;font-size:12px}.user-photo{background:linear-gradient(145deg,#515763,#20242b);border:1px solid #094cb233;width:40px;height:40px;font-size:12px}.header-user-menu{z-index:50;background:#fff;border:1px solid #c3c6d547;border-radius:9px;width:150px;padding:5px;display:grid;position:absolute;top:calc(100% - 3px);right:0;overflow:hidden;box-shadow:0 14px 36px #21263924}.header-user-menu button{color:#434653;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;height:36px;padding:0 10px;font-size:12px;display:flex}.header-user-menu button:hover{color:#2b44ff;background:#f6f7fa}.app-content{min-height:calc(100vh - 56px);padding:12px 24px 24px}.page-view{min-height:inherit}.page-enter-active{transition:opacity .16s,transform .16s}.page-enter-from{opacity:0;transform:translateY(4px)}.icon-button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;width:36px;height:36px;display:inline-grid}.icon-button:hover{border-color:var(--border-soft);background:var(--surface-subtle)}.icon-button.compact{width:30px;height:30px}.mobile-menu,.sidebar-close{display:none}.sidebar-scrim{z-index:35;background:#171a245c;border:0;position:fixed;inset:0}.page{width:100%}.page.page--list{flex-direction:column;min-height:calc(100vh - 120px);display:flex}.page.page--list>.list-fill-panel,.page.page--list>.inbound-table-card,.page.page--list>.table-card,.page.page--list>.supplier-panel,.page.page--list>.accounts-panel,.page.page--list>.accounts-card,.page.page--list>.ledger-table-card,.page.page--list>.finance-table-card,.page.page--list>.payment-list-card,.page.page--list>.document-list-card,.page.page--list>.invoice-list-card,.page.page--list>.weighbridge-table-card,.page.page--list>.panel{flex-direction:column;flex:auto;min-height:0;display:flex}.page.page--list .table-host{border:1px solid var(--border-soft);background:#fff;border-radius:8px;flex:auto;min-height:280px;overflow:auto}.page.page--list .table-host>table,.page.page--list .table-host .data-table{width:100%}.table-empty{min-height:200px;color:var(--muted);place-items:center;font-size:13px;display:grid}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px;display:flex}.page-heading h1{letter-spacing:-.02em;margin:0;font-size:24px;line-height:1.2}.page-heading p{color:var(--muted);margin:6px 0 0;font-size:13px}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.panel{border:1px solid var(--border-soft);background:var(--surface);border-radius:12px}.panel-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:0 20px;display:flex}.panel-header h2,.section-title{margin:0;font-size:15px}.panel-header p{color:var(--muted);margin:4px 0 0;font-size:11px}.panel-body{padding:20px}.stack{gap:16px;display:grid}.split-grid{grid-template-columns:380px minmax(600px,1fr);gap:16px;display:grid}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card{border:1px solid var(--border-soft);background:#fff;border-radius:12px;min-height:116px;padding:18px}.metric-card.brand{background:var(--brand);color:#fff;border-color:#0000}.metric-label{color:var(--muted);font-size:12px}.metric-card.brand .metric-label,.metric-card.brand .metric-meta{color:#ffffffc2}.metric-value{letter-spacing:-.03em;margin-top:13px;font-size:26px;line-height:1;display:block}.metric-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:10px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar .search-field{flex:220px}.search-field{position:relative}.search-field svg{pointer-events:none;color:#9499a5;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search-field .form-input{padding-left:36px}.form-input,.form-select,.form-textarea{border:1px solid var(--border);background:var(--surface-subtle);width:100%;color:var(--ink);border-radius:8px;transition:all .16s}.form-input,.form-select{height:36px;padding:0 12px}.form-textarea{resize:vertical;min-height:92px;padding:10px 12px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--component-focus);outline:1px solid var(--component-focus);outline-offset:0;background:#fff}.form-select{cursor:pointer;min-width:128px}.field-label{color:var(--secondary);gap:4px;font-size:14px;font-weight:400;line-height:20px;display:grid}.form-grid .form-input,.form-grid .form-select{height:44px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.form-grid .full{grid-column:1/-1}.form-error{color:var(--component-danger);margin:0;font-size:12px}.field-required{color:var(--component-danger);font-style:normal}.form-input[aria-invalid=true],.form-select[aria-invalid=true],.form-textarea[aria-invalid=true]{border-color:var(--component-danger)}.btn{cursor:pointer;background:#fff;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 14px;font-size:14px;font-weight:500;transition:all .16s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.44}.btn.primary{background:var(--component-button);color:#fff}.btn.brand{background:var(--brand);color:#fff}.btn.secondary{border-color:var(--border);color:var(--secondary)}.btn.secondary:hover:not(:disabled){background:var(--surface-subtle);border-color:#b9bdcb}.btn.danger{color:var(--danger);background:#fff2f2}.btn.text{height:30px;color:var(--brand);background:0 0;padding:0 6px}.btn.wide{width:100%}.table-wrap{border:1px solid var(--border-soft);border-radius:8px;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:760px;font-size:14px}.data-table th{background:var(--surface-subtle);color:#6f7480;text-align:left;white-space:nowrap;height:48px;padding:0 14px;font-size:14px;font-weight:500}.data-table td{border-top:1px solid var(--border-soft);height:56px;color:var(--secondary);white-space:nowrap;padding:8px 14px}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:#fcfcfe}.data-table strong{color:var(--ink)}.table-actions{justify-content:flex-end;gap:2px;display:flex}.muted{color:var(--muted)}.brand-text{color:var(--brand);font-weight:650}.danger-text{color:var(--danger)}.status-badge{color:#5c616d;white-space:nowrap;background:#f2f3f6;border-radius:4px;align-items:center;gap:6px;min-height:24px;padding:2px 8px;font-size:12px;font-weight:400;line-height:20px;display:inline-flex}.status-badge i{background:#8d929d;border-radius:50%;width:6px;height:6px}.status-badge[data-tone=success]{color:var(--success);background:#edf9f3}.status-badge[data-tone=success] i{background:var(--success)}.status-badge[data-tone=warning]{color:var(--warning);background:#fff7e9}.status-badge[data-tone=warning] i{background:var(--warning)}.status-badge[data-tone=danger]{color:var(--danger);background:#fff0f0}.status-badge[data-tone=danger] i{background:var(--danger)}.status-badge[data-tone=info]{color:#094cb2;background:#eaf3ff}.status-badge[data-tone=info] i{background:#094cb2}.tabs{border-bottom:1px solid var(--border-soft);gap:24px;display:flex;overflow-x:auto}.tab{min-width:max-content;height:48px;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:14px;font-weight:500;position:relative}.tab.active{color:var(--brand)}.tab.active:after{background:var(--brand);content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0}.notice{background:var(--brand-soft);color:#263fc9;border-radius:8px;align-items:center;gap:9px;padding:11px 14px;font-size:12px;display:flex}.notice.warning{color:var(--warning);background:#fff7e9}.selection-bar{background:var(--brand);color:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:11px 15px;font-size:12px;display:flex}.selection-bar button{color:#fff;cursor:pointer;background:0 0;border:0;text-decoration:underline}.empty-state{color:var(--muted);text-align:center;padding:48px 20px;font-size:12px}.login-page{background:#f8f9fc;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.login-intro{color:#fff;background:#101216 url(/category-sidebar-atmosphere.png) 50%/cover no-repeat;flex-direction:column;justify-content:space-between;min-height:100vh;padding:38px 52px;display:flex;overflow:hidden}.login-brand{align-self:flex-start;display:inline-flex}.eyebrow{color:#9aa8ff;letter-spacing:.16em;margin:0 0 16px;font-size:10px;font-weight:800}.login-intro h1{letter-spacing:-.055em;max-width:720px;margin:0;font-size:clamp(42px,5vw,76px);line-height:1.08}.login-intro>div>p:last-child{color:#ffffffa8;max-width:560px;margin:24px 0 0;font-size:15px;line-height:1.8}.login-metrics{gap:42px;display:flex}.login-metrics span{display:grid}.login-metrics strong{font-size:22px}.login-metrics small{color:#ffffff80;margin-top:5px;font-size:10px}.login-panel{place-items:center;padding:32px;display:grid}.login-card{border:1px solid var(--border-soft);background:#fff;border-radius:16px;width:min(410px,100%);padding:32px;box-shadow:0 24px 70px #22273d17}.login-icon{background:var(--brand-soft);width:44px;height:44px;color:var(--brand);border-radius:12px;place-items:center;display:grid}.login-card h2{margin:20px 0 0;font-size:25px}.login-card>p{color:var(--muted);margin:7px 0 24px;font-size:12px}.login-card .field-label{margin-top:15px}.password-field{display:block;position:relative}.password-field .form-input{padding-right:42px}.password-field .icon-button{position:absolute;top:3px;right:4px}.login-card .btn{height:42px;margin-top:20px}.login-hint{color:var(--muted);text-align:center;margin-top:14px;display:block}@media (width<=1180px){.split-grid{grid-template-columns:minmax(300px,340px) minmax(560px,1fr)}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.app-sidebar,.app-sidebar.collapsed{width:288px;transform:translate(-102%)}.app-sidebar.open{transform:translate(0)}.app-sidebar.collapsed .brand{display:inline-flex}.app-sidebar.collapsed .sidebar-toggle{margin:0}.app-sidebar.collapsed .side-nav{padding:8px 16px}.app-sidebar.collapsed .side-nav a,.app-sidebar.collapsed .sidebar-bottom-nav button{justify-content:flex-start;padding:0 24px}.app-sidebar.collapsed .side-nav span,.app-sidebar.collapsed .sidebar-bottom-nav span{display:inline}.app-sidebar.collapsed .side-subnav{display:grid}.app-sidebar.collapsed .nav-chevron{display:block}.app-sidebar.collapsed .sidebar-bottom-nav{padding:0 16px 22px}.app-workspace,.sidebar-is-collapsed .app-workspace{margin-left:0}.mobile-menu{display:inline-grid}.app-content{padding:14px}.split-grid,.login-page{grid-template-columns:1fr}.login-intro{display:none}}@media (width<=640px){.app-header{padding:0 12px}.header-user>span:not(.avatar),.header-user>svg{display:none}.page-heading{flex-direction:column;align-items:stretch}.page-actions{justify-content:stretch}.page-actions .btn{flex:1}.metrics-grid,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.login-panel{padding:18px}.login-card{padding:24px 20px}.page.page--list{min-height:0}.page.page--list .table-host{min-height:220px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
