:root{color-scheme:light dark;--color-bg-top:#eef5ff;--color-bg:#f6faff;--color-surface:#ffffff;--color-surface-2:#f2f7ff;--color-surface-3:#e8f1ff;--color-text:#14213d;--color-text-2:#54637f;--color-text-3:#8491a8;--color-border:#d7e3f5;--color-border-2:#e8eff9;--color-border-control:#7d97bd;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-press:#1e40af;--color-accent-soft:#eaf2ff;--color-accent-text:#1d4ed8;--color-cta:#c2410c;--color-cta-hover:#9a3412;--color-cta-press:#7c2d12;--color-cta-accent:#ea580c;--color-cta-text:#ffffff;--color-cta-soft:#fff1e6;--color-highlight:#fdb34b;--color-link:#1d4ed8;--color-success:#16a34a;--color-warning:#d97706;--color-danger:#dc2626;--color-info:#0891b2;--color-purple:#7c3aed;--color-success-text:#15803d;--color-warning-text:#92400e;--color-danger-text:#b91c1c;--color-info-text:#0e7490;--color-fill:#e8f0fb;--color-fill-hover:#dce8f8;--color-nav-bg:#ffffff;--color-backdrop:rgba(11,26,51,0.58);--status-draft:#8491a8;--status-predicted:#0ea5e9;--status-receipt:#2563eb;--status-split:#f59e0b;--status-transport:#f59e0b;--status-transit:#7c3aed;--status-dispatching:#7c3aed;--status-ship:#2563eb;--status-shipped:#16a34a;--status-internet:#16a34a;--status-sign:#15803d;--status-returns:#dc2626;--status-returned:#b91c1c;--font-sans:"Noto Sans SC","PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;--font-display:"Noto Sans SC","PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--text-hero:clamp(40px,5.2vw,64px);--text-h1:36px;--text-h2:28px;--text-h3:20px;--text-body:16px;--text-ui:14px;--text-caption:12px;--leading-body:1.6;--tracking-tight:-0.01em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-xs:0px;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--radius-pill:0px;--shadow-static:none;--shadow-card:none;--shadow-float:none;--shadow-sheet:none;--ease:cubic-bezier(0.2,0.8,0.2,1);--dur-fast:160ms;--dur:240ms;--dur-slow:320ms;--nav-blur:none;--nav-h:56px;--nav-h-scrolled:48px;--field-h:44px;--table-header-h:34px;--table-row-h:34px;--table-group-h:28px;--table-font-size:12px;--nav-item-h:34px;--tab-h:34px;--toolbar-h:42px;--pager-h:32px;--control-h-lg:44px;--row-comfortable:var(--table-row-h);--row-compact:var(--table-row-h);--content-max:1120px;--content-wide:1440px;--datatable-max-height:calc(100vh - var(--nav-h) - 240px)}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--color-bg-top:#0a1322;--color-bg:#0c1526;--color-surface:#111d33;--color-surface-2:#16243d;--color-surface-3:#1c2d4a;--color-text:#eef5ff;--color-text-2:#a9b9d4;--color-text-3:#7f91b0;--color-border:#2c4166;--color-border-2:#223553;--color-border-control:#5b79a6;--color-accent:#60a5fa;--color-accent-hover:#93c5fd;--color-accent-press:#3b82f6;--color-accent-soft:rgba(96,165,250,0.16);--color-accent-text:#93c5fd;--color-cta:#fb923c;--color-cta-hover:#fdba74;--color-cta-press:#f97316;--color-cta-accent:#fb923c;--color-cta-text:#111d33;--color-cta-soft:rgba(251,146,60,0.16);--color-highlight:#fdb34b;--color-link:#93c5fd;--color-success:#4ade80;--color-warning:#fbbf24;--color-danger:#f87171;--color-info:#67e8f9;--color-purple:#c4b5fd;--color-success-text:#4ade80;--color-warning-text:#fcd34d;--color-danger-text:#fca5a5;--color-info-text:#67e8f9;--color-fill:#1c2d4a;--color-fill-hover:#24395c;--color-nav-bg:#111d33;--color-backdrop:rgba(0,0,0,0.58);--status-draft:#8fa3c2;--status-predicted:#38bdf8;--status-receipt:#60a5fa;--status-split:#fbbf24;--status-transport:#fbbf24;--status-transit:#a78bfa;--status-dispatching:#a78bfa;--status-ship:#60a5fa;--status-shipped:#4ade80;--status-internet:#4ade80;--status-sign:#22c55e;--status-returns:#f87171;--status-returned:#fca5a5;--shadow-static:none;--shadow-card:none;--shadow-float:none;--shadow-sheet:none}}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:var(--tracking-tight);line-height:1.12;margin:0}h1{font-size:var(--text-h1);font-weight:700}h2{font-size:var(--text-h2)}h2,h3{font-weight:600}h3{font-size:var(--text-h3)}p{margin:0}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-accent);text-decoration:underline}button,input,select,textarea{color:inherit;font:inherit}::selection{background:var(--color-accent-soft)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--color-text-2)}.money{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes sheet-in{0%{opacity:0;transform:translateX(32px) scale(.985)}to{opacity:1;transform:none}}.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.portal-shell{display:flex;flex-direction:column;min-height:100vh}.portal-main{flex:1 1;min-width:0}.portal-nav{backdrop-filter:var(--nav-blur);-webkit-backdrop-filter:var(--nav-blur);background:var(--color-nav-bg);border-bottom:1px solid var(--color-border-2);position:-webkit-sticky;position:sticky;top:0;transition:padding var(--dur) var(--ease),background var(--dur) var(--ease);z-index:40}.portal-nav-inner{align-items:center;display:flex;gap:var(--space-5);justify-content:space-between;margin:0 auto;max-width:var(--content-max);padding:18px var(--space-5);transition:padding var(--dur) var(--ease)}.portal-nav.is-scrolled .portal-nav-inner{padding:10px var(--space-5)}.portal-brand{align-items:center;color:var(--color-text);display:inline-flex;flex:none;font-size:var(--text-ui);font-weight:600;gap:var(--space-2);letter-spacing:.01em}.portal-brand:hover{color:var(--color-text);text-decoration:none}.portal-brand-mark{background:var(--color-accent);border-radius:0;color:#ffffff;display:inline-flex;height:26px;width:26px}.portal-brand-mark,.portal-links{align-items:center;justify-content:center}.portal-links{display:flex;flex:1 1;gap:var(--space-5);min-width:0}.portal-link{color:var(--color-text-2);font-size:var(--text-ui);padding:6px 0;position:relative;transition:color var(--dur-fast) var(--ease);white-space:nowrap}.portal-link:hover{color:var(--color-text);text-decoration:none}.portal-link.is-active{color:var(--color-accent-text);font-weight:600}.portal-link.is-active:after{background:var(--color-accent);border-radius:var(--radius-pill);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.portal-nav-actions{align-items:center;display:flex;flex:none;gap:var(--space-3)}.portal-menu{position:relative}.portal-menu-toggle{align-items:center;background:transparent;border:0;border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:var(--text-ui);font-weight:500;gap:var(--space-2);height:34px;padding:0 var(--space-3);transition:background var(--dur-fast) var(--ease)}.portal-menu-toggle:hover{background:var(--color-surface-2)}.portal-menu-panel{animation:fade-up var(--dur-fast) var(--ease) both;background:var(--color-surface);border:1px solid var(--color-border-2);border-radius:var(--radius-md);display:grid;grid-gap:var(--space-1);gap:var(--space-1);min-width:220px;padding:var(--space-2);position:absolute;right:0;top:calc(100% + 10px);z-index:50}.portal-menu-head{border-bottom:1px solid var(--color-border-2);display:grid;grid-gap:2px;gap:2px;margin-bottom:var(--space-1);padding:var(--space-2) var(--space-3) var(--space-3)}.portal-menu-name{font-size:var(--text-ui);font-weight:600;overflow-wrap:anywhere}.portal-menu-sub{color:var(--color-text-3);font-size:var(--text-caption);overflow-wrap:anywhere}.portal-menu-item{align-items:center;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--text-ui);gap:var(--space-2);padding:9px var(--space-3);text-align:left;transition:background var(--dur-fast) var(--ease);width:100%}.portal-menu-item:hover{background:var(--color-surface-3);color:var(--color-text);text-decoration:none}.portal-menu-item.is-danger{color:var(--color-danger-text)}.portal-footer{background:var(--color-surface-2);border-top:1px solid var(--color-border);color:var(--color-text-3);font-size:var(--text-caption);margin-top:var(--space-9);padding:var(--space-7) var(--space-5) var(--space-6)}.footer-inner{margin:0 auto;max-width:var(--content-max)}.footer-grid,.footer-inner{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}.footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.footer-col{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.footer-title{color:var(--color-text-2);font-size:var(--text-caption);font-weight:600;letter-spacing:.04em}.footer-links{display:grid;grid-gap:6px;gap:6px}.footer-links a{color:var(--color-text-3);font-size:var(--text-caption);justify-self:start}.footer-links a:hover{color:var(--color-text)}.footer-bottom{border-top:1px solid var(--color-border-2);color:var(--color-text-3);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;padding-top:var(--space-4)}.page{animation:fade-up var(--dur) var(--ease) both;margin:0 auto;max-width:var(--content-max);padding:var(--space-7) var(--space-5) var(--space-8)}.page-wide{max-width:var(--content-wide)}.page-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-6)}.page-title{font-size:var(--text-h1);font-weight:700;letter-spacing:var(--tracking-tight)}.page-sub{color:var(--color-text-2);font-size:var(--text-body);margin-top:var(--space-2);max-width:62ch}.page-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.page-stack{display:grid;grid-gap:var(--space-5);gap:var(--space-5);grid-template-columns:minmax(0,1fr)}.loading-screen{align-items:center;color:var(--color-text-2);display:flex;font-size:var(--text-ui);gap:var(--space-2);justify-content:center;min-height:60vh}.empty-state{color:var(--color-text-3);display:grid;grid-gap:var(--space-2);gap:var(--space-2);justify-items:center;padding:var(--space-7) var(--space-4);text-align:center}.empty-state-title{color:var(--color-text-2);font-size:var(--text-body);font-weight:600}.empty-state p{font-size:var(--text-ui);max-width:48ch}.card{background:var(--color-surface);border:1px solid var(--color-border-2);border-radius:var(--radius-md);padding:var(--space-5)}.card-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font-size:var(--text-h3);font-weight:600}.card-sub{color:var(--color-text-2);font-size:var(--text-ui);margin-top:var(--space-1)}.card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.kv-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.kv-row{align-items:center;border-bottom:1px solid var(--color-border-2);display:flex;gap:var(--space-4);justify-content:space-between;padding-bottom:var(--space-3)}.kv-row:last-child{border-bottom:0;padding-bottom:0}.kv-key{color:var(--color-text-2)}.kv-key,.kv-value{font-size:var(--text-ui)}.kv-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;overflow-wrap:anywhere;text-align:right}.stat-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{background:var(--color-surface);border:1px solid var(--color-border-2);border-radius:var(--radius-md);display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-5);transition:border-color var(--dur-fast) var(--ease)}.stat-card:hover{border-color:var(--color-border-control)}.stat-head{align-items:center;color:var(--color-text-2);display:flex;font-size:var(--text-caption);gap:var(--space-2);justify-content:space-between;letter-spacing:.02em}.stat-icon{align-items:center;background:var(--color-accent-soft);border-radius:var(--radius-sm);color:var(--color-accent);display:inline-flex;height:30px;justify-content:center;width:30px}.stat-value{font-family:var(--font-display);font-size:var(--text-h1);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:var(--tracking-tight);line-height:1.1;overflow-wrap:anywhere}.stat-hint{color:var(--color-text-3);font-size:var(--text-caption)}.balance-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.balance-card{background:var(--color-surface);border:1px solid var(--color-border-2);border-radius:var(--radius-md);display:grid;grid-gap:var(--space-1);gap:var(--space-1);padding:var(--space-6) var(--space-5);text-align:center}.balance-label{color:var(--color-text-2);font-size:var(--text-ui)}.balance-value{font-family:var(--font-display);font-size:var(--text-h1);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:var(--tracking-tight);line-height:1.05;overflow-wrap:anywhere}.balance-card.is-danger .balance-value{color:var(--color-danger-text)}.balance-card.is-success .balance-value{color:var(--color-success-text)}.balance-ccy{color:var(--color-text-3);font-size:var(--text-caption)}.bar-row,.bars{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.bar-row{align-items:center;grid-template-columns:96px minmax(0,1fr) 56px}.bar-label{align-items:center;color:var(--color-text-2);display:flex;font-size:var(--text-ui);gap:6px;min-width:0}.bar-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{background:var(--color-surface-3);height:10px;overflow:hidden}.bar-fill,.bar-track{border-radius:var(--radius-pill);display:block}.bar-fill{height:100%;min-width:2px;transition:width .6s var(--ease)}.mt-5{margin-top:var(--space-5)}.bar-value{color:var(--color-text);font-size:var(--text-ui);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.detail-grid{display:grid;grid-gap:var(--space-4) var(--space-5);gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-item{display:grid;grid-gap:4px;gap:4px;min-width:0}.detail-label{color:var(--color-text-2);font-size:var(--text-caption);letter-spacing:.02em}.detail-value{color:var(--color-text);font-size:var(--text-body);font-weight:600;overflow-wrap:anywhere}.timeline{display:grid;grid-gap:0;gap:0;list-style:none;margin:var(--space-1) 0 0;padding:0}.timeline-item{display:grid;grid-gap:0 var(--space-4);gap:0 var(--space-4);grid-template-columns:12px minmax(0,1fr);padding-bottom:var(--space-5);position:relative}.timeline-item:before{background:var(--color-border);bottom:-4px;content:"";left:5px;position:absolute;top:16px;width:1px}.timeline-item:last-child{padding-bottom:0}.timeline-item:last-child:before{display:none}.timeline-dot{background:var(--color-accent);border-radius:50%;height:11px;margin-top:5px;width:11px}.timeline-body{display:grid;grid-gap:3px;gap:3px;min-width:0}.timeline-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between}.timeline-title{font-size:var(--text-ui);font-weight:600}.timeline-date{color:var(--color-text-2);font-size:var(--text-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline-info{color:var(--color-text-2);font-size:var(--text-ui);line-height:1.5;margin:0;overflow-wrap:anywhere}.file-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2);list-style:none;margin:0;padding:0}.file-row{align-items:center;background:var(--color-surface-2);border-radius:var(--radius-sm);display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.file-icon{color:var(--color-text-3);flex:none}.file-name{color:var(--color-text);font-size:var(--text-ui);font-weight:500;min-width:0;overflow-wrap:anywhere}.file-meta{color:var(--color-text-3);font-size:var(--text-caption);margin-left:auto}.btn,.file-meta{white-space:nowrap}.btn{align-items:center;border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-ui);font-weight:500;gap:var(--space-2);height:40px;justify-content:center;padding:0 20px;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent}.btn,.btn:hover{text-decoration:none}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.45;transform:none}.btn-primary{background:var(--color-cta);color:var(--color-cta-text)}.btn-primary:hover:not(:disabled){background:var(--color-cta-hover);color:var(--color-cta-text)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-accent-text)}.btn-secondary:hover:not(:disabled){background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-text)}.btn-danger{background:transparent;border-color:var(--color-danger);color:var(--color-danger-text)}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:#ffffff}.btn-ghost{background:transparent;color:var(--color-text-2)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.btn-link{background:transparent;color:var(--color-link);height:auto;padding:0}.btn-link:hover:not(:disabled){color:var(--color-accent);text-decoration:underline}.btn-sm{font-size:var(--text-caption);height:32px;padding:0 var(--space-4)}.btn-lg{font-size:var(--text-body);height:48px;padding:0 28px}.btn-block{width:100%}.btn-icon{border-radius:0;gap:0;height:36px;padding:0;width:36px}.btn-icon.btn-sm{height:30px;width:30px}.btn-icon.btn-lg{height:48px;width:48px}.field{align-content:start;display:grid;grid-gap:6px;gap:6px;min-width:0}.field-label{color:var(--color-text-2);font-size:var(--text-caption);font-weight:600;letter-spacing:.01em}.field-required{color:var(--color-danger)}.field-control{align-items:center;display:flex;position:relative}.field-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-ui);height:var(--field-h);padding:0 var(--space-4);transition:border-color var(--dur-fast) var(--ease);width:100%}.field-input::placeholder{color:var(--color-text-3)}.field-input:focus,.field-input:hover:not(:disabled):not(:focus){border-color:var(--color-accent)}.field-input:disabled{cursor:not-allowed;opacity:.5}.field-input[aria-invalid=true]{border-color:var(--color-danger)}textarea.field-input{height:auto;line-height:1.5;min-height:96px;padding:var(--space-3) var(--space-4);resize:vertical}select.field-input{cursor:pointer;padding-right:var(--space-6)}.field-chevron{right:var(--space-3)}.field-chevron,.field-icon{color:var(--color-text-3);pointer-events:none;position:absolute}.field-icon{left:var(--space-3)}.field-has-icon .field-input{padding-left:38px}.field-error{color:var(--color-danger-text)}.field-error,.field-hint{font-size:var(--text-caption)}.field-hint{color:var(--color-text-3)}.form-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-span-2{grid-column:span 2}.form-full{grid-column:1/-1}.form-section{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.form-section-title{color:var(--color-text-2);font-size:var(--text-caption);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.filter-bar{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-5)}.filter-bar,.filter-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.filter-date input[type=date]{background:var(--color-surface-3);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-size:var(--text-ui);height:var(--field-h);padding:0 var(--space-4);width:100%}.filter-date input[type=date]:focus{border-color:var(--color-accent)}.toolbar{gap:var(--space-3);justify-content:space-between}.toolbar,.toolbar-end,.toolbar-start{align-items:center;display:flex;flex-wrap:wrap}.toolbar-end,.toolbar-start{gap:var(--space-2);min-width:0}.toolbar-scroll{max-width:100%;overflow-x:auto;scrollbar-width:none}.toolbar-scroll::-webkit-scrollbar{display:none}.datatable-panel{background:var(--color-surface);border:1px solid var(--color-border-2);border-radius:var(--radius-md);overflow:hidden}.datatable-scroll{max-height:var(--datatable-max-height);min-height:120px;overflow:auto;overscroll-behavior:contain}.datatable{border-spacing:0;font-size:var(--text-ui);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;width:100%}.datatable thead th{background:var(--color-surface-2);color:var(--color-text-2);font-size:var(--text-caption);font-weight:600;height:var(--table-header-h);letter-spacing:.06em;padding:0 var(--space-4);position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:2}.datatable tbody td,.datatable thead th{border-bottom:1px solid var(--color-border-2)}.datatable tbody td{color:var(--color-text);height:var(--table-row-h);padding:var(--space-2) var(--space-4);vertical-align:middle}.datatable tbody tr:last-child td{border-bottom:0}.datatable.is-compact thead th{height:var(--table-header-h);padding:0 var(--space-3)}.datatable.is-compact tbody td{height:var(--table-row-h);padding:var(--space-1) var(--space-3)}@media (max-width:640px){.datatable tbody td,.datatable thead th{height:var(--control-h-lg)}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.datatable tbody tr.is-clickable{cursor:pointer}.datatable tbody tr.is-clickable:focus-visible td,.datatable tbody tr.is-clickable:hover td{background:var(--color-surface-2)}.datatable tbody td.col-right,.datatable thead th.col-right{text-align:right}.datatable tbody td.col-center,.datatable thead th.col-center{text-align:center}.datatable .col-sticky{background:var(--color-surface);box-shadow:1px 0 0 var(--color-border-2);left:0;position:-webkit-sticky;position:sticky;z-index:1}.datatable thead th.col-sticky{background:var(--color-surface-2);z-index:3}.datatable tbody tr.is-clickable:hover .col-sticky{background:var(--color-bg)}.datatable-state{align-items:center;color:var(--color-text-3);display:flex;font-size:var(--text-ui);gap:var(--space-2);height:160px;justify-content:center;padding:0 var(--space-4);text-align:center}.datatable-foot{border-top:1px solid var(--color-border-2)}.pager{flex-wrap:wrap;gap:var(--space-4);justify-content:center;padding:var(--space-4)}.pager,.pager-pages{align-items:center;display:flex}.pager-pages{gap:var(--space-1)}.pager-btn{align-items:center;background:transparent;border:0;border-radius:var(--radius-pill);color:var(--color-text-2);cursor:pointer;display:inline-flex;font-size:var(--text-ui);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;height:var(--pager-h);justify-content:center;min-width:32px;padding:0 var(--space-2);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.pager-btn:hover:not(:disabled):not([aria-current=page]){background:var(--color-surface-3);color:var(--color-text)}.pager-btn[aria-current=page]{background:var(--color-accent);color:#ffffff;font-weight:600}.pager-btn:disabled{cursor:not-allowed;opacity:.4}.pager-gap{color:var(--color-text-3);font-size:var(--text-ui);padding:0 2px}.pager-info{font-size:var(--text-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pager-info,.pager-size{color:var(--color-text-2)}.pager-size{align-items:center;display:flex;gap:var(--space-2)}.pager-select,.pager-size{font-size:var(--text-caption)}.pager-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface-3);border:1px solid transparent;border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;height:28px;padding:0 var(--space-3)}.pager-select:focus{border-color:var(--color-accent)}.segmented{background:var(--color-surface-2);border:1px solid var(--color-border-2);border-radius:var(--radius-pill);display:inline-flex;gap:2px;max-width:100%;overflow-x:auto;padding:2px;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segmented-item{align-items:center;background:transparent;border:0;border-radius:var(--radius-pill);color:var(--color-text-2);cursor:pointer;display:inline-flex;flex:none;font-size:var(--text-ui);font-weight:500;gap:6px;height:var(--tab-h);padding:0 var(--space-4);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);white-space:nowrap}.segmented-item:hover:not(:disabled):not([aria-selected=true]){color:var(--color-text)}.segmented-item[aria-selected=true]{background:var(--color-accent);color:#ffffff;font-weight:600}.segmented-item:disabled{cursor:not-allowed;opacity:.45}.segmented.is-small .segmented-item{font-size:var(--text-caption);height:28px;padding:0 var(--space-3)}.badge{background:var(--color-cta-soft);border-radius:var(--radius-pill);color:var(--color-warning-text);display:inline-flex;font-size:var(--text-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;justify-content:center;line-height:1;min-width:18px;padding:3px 6px;text-align:center}.badge-accent{background:var(--color-accent-soft);color:var(--color-accent)}.badge-neutral{background:var(--color-fill);color:var(--color-text-2)}.status-pill{align-items:center;background:var(--color-surface-2);border-radius:var(--radius-pill);color:var(--color-text);display:inline-flex;font-weight:500;gap:6px;line-height:1;padding:5px 10px;white-space:nowrap}.status-pill,.status-pill-sm{font-size:var(--text-caption)}.status-pill-sm{padding:4px 8px}.status-dot{background:var(--color-text-3);border-radius:50%;flex:none;height:7px;width:7px}.notice{align-items:flex-start;background:var(--color-surface-3);border-radius:var(--radius-sm);color:var(--color-text-2);display:flex;font-size:var(--text-ui);gap:var(--space-2);line-height:1.5;padding:var(--space-3) var(--space-4)}.notice-icon{flex:none;margin-top:2px}.notice-list{display:grid;grid-gap:2px;gap:2px;margin:var(--space-1) 0 0;padding-left:var(--space-4)}.notice-danger{background:rgba(255,59,48,.12);color:var(--color-danger-text)}.notice-success{background:rgba(52,199,89,.14);color:var(--color-success-text)}.notice-warning{background:rgba(255,159,10,.16);color:var(--color-warning-text)}.notice-info{background:rgba(90,200,250,.16);color:var(--color-info-text)}.sheet-backdrop{animation:fade-in var(--dur) var(--ease) both;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--color-backdrop);inset:0;position:fixed;z-index:100}.sheet{animation:sheet-in var(--dur-slow) var(--ease) both;background:var(--color-surface);border-left:1px solid var(--color-border);border-radius:var(--radius-lg) 0 0 var(--radius-lg);display:flex;flex-direction:column;height:100%;max-width:100vw;position:fixed;right:0;top:0;width:460px;z-index:101}.sheet.is-center{animation:modal-in var(--dur) var(--ease) both;border:1px solid var(--color-border);border-radius:var(--radius-lg);bottom:auto;height:auto;left:50%;max-height:min(88vh,920px);right:auto;top:50%;transform:translate(-50%,-50%)}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 10px)) scale(.985)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.app-dialog-message{color:var(--color-text-2);font-size:var(--text-ui);line-height:1.7;margin:0;overflow-wrap:anywhere;white-space:pre-line}.sheet:focus{outline:none}.sheet-head{align-items:flex-start;border-bottom:1px solid var(--color-border-2);display:flex;flex:none;gap:var(--space-4);justify-content:space-between;padding:var(--space-5) var(--space-5) var(--space-4)}.sheet-head-text{min-width:0}.sheet-title{font-size:var(--text-h3);font-weight:600;letter-spacing:var(--tracking-tight)}.sheet-desc{color:var(--color-text-2);font-size:var(--text-ui);margin-top:var(--space-1)}.sheet-body{display:grid;flex:1 1;grid-gap:var(--space-5);gap:var(--space-5);overflow-y:auto;padding:var(--space-5)}.sheet-foot{align-items:center;background:var(--color-surface-2);border-top:1px solid var(--color-border-2);display:flex;flex:none;gap:var(--space-3);justify-content:flex-end;padding:var(--space-4) var(--space-5)}.steps{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.step,.steps{gap:var(--space-2)}.step{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-2);border-radius:var(--radius-pill);color:var(--color-text-3);cursor:pointer;display:inline-flex;font-size:var(--text-ui);padding:8px var(--space-4) 8px 8px;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.step:hover:not(:disabled){color:var(--color-text)}.step:disabled{cursor:not-allowed;opacity:.6}.step-index{align-items:center;background:var(--color-surface-3);border-radius:50%;color:var(--color-text-2);display:inline-flex;font-size:var(--text-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;height:24px;justify-content:center;width:24px}.step.is-active{border-color:var(--color-accent);color:var(--color-text);font-weight:600}.step.is-active .step-index{background:var(--color-accent);color:#ffffff}.step.is-done .step-index{background:var(--color-accent-soft);color:var(--color-accent)}.step-foot{align-items:center;border-top:1px solid var(--color-border-2);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-top:var(--space-5);padding-top:var(--space-4)}.item-table{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.item-row{align-items:center;display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.4fr) 110px 96px 36px}.item-row.is-head{color:var(--color-text-3);font-size:var(--text-caption);font-weight:600;letter-spacing:.04em}.item-row .field-input{height:38px}.totals{border-top:1px solid var(--color-border-2);display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4)}.total-row{align-items:baseline;color:var(--color-text-2);display:flex;font-size:var(--text-ui);gap:var(--space-3);justify-content:space-between}.total-row.is-strong{color:var(--color-text);font-size:var(--text-body);font-weight:600}.total-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.success-panel{display:grid;grid-gap:var(--space-4);gap:var(--space-4);justify-items:center;padding:var(--space-8) var(--space-4);text-align:center}.success-mark{align-items:center;background:rgba(52,199,89,.16);border-radius:50%;color:var(--color-success-text);display:inline-flex;height:64px;justify-content:center;width:64px}.success-number{font-family:var(--font-mono);font-size:var(--text-h2);font-weight:600;letter-spacing:.02em}.hero{background:var(--color-accent-press);color:#ffffff;margin-bottom:var(--space-6);overflow:hidden;padding:var(--space-9) var(--space-5) calc(var(--space-9) + 16px)}.hero-inner{align-items:center;display:grid;grid-gap:var(--space-7);gap:var(--space-7);grid-template-columns:minmax(0,7fr) minmax(0,5fr);margin:0 auto;max-width:var(--content-max)}.hero-copy{display:grid;grid-gap:var(--space-5);gap:var(--space-5);justify-items:start;text-align:left}.hero-figure{aspect-ratio:16/9;background:var(--color-surface-2);border:1px solid var(--color-border);margin:0;position:relative}.hero-figure img{object-fit:cover}.hero-figure:after{background:rgba(6,12,24,0);content:"";inset:0;pointer-events:none;position:absolute}@media (prefers-color-scheme:dark){.hero-figure:after{background:rgba(6,12,24,.32)}}.hero-eyebrow{color:#dbeafe;font-size:var(--text-ui);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.hero-title{color:#ffffff;font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;letter-spacing:var(--tracking-tight);line-height:1.05;margin:0;max-width:20ch;text-wrap:balance}.hero-sub{color:rgba(255,255,255,.84);font-size:var(--text-body);line-height:1.45;max-width:46ch;text-wrap:balance}.hero-cta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-2)}.hero .hero-cta{justify-content:flex-start}.hero-note{color:rgba(255,255,255,.66);font-size:var(--text-caption)}.hero .btn-secondary{background:transparent;border-color:rgba(255,255,255,.62);color:#ffffff}.hero .btn-secondary:hover:not(:disabled){background:rgba(255,255,255,.14);border-color:#ffffff;color:#ffffff}.section{margin:0;max-width:none;padding:var(--space-8) var(--space-5);scroll-margin-top:calc(var(--nav-h) + 16px)}.portal-main>.section:nth-of-type(2n){background:var(--color-surface-2)}.section>*{margin-left:auto;margin-right:auto;max-width:var(--content-max)}.section-head{display:grid;grid-gap:var(--space-2);gap:var(--space-2);justify-items:center;margin-bottom:var(--space-6);text-align:center}.section-title{font-size:var(--text-h2);font-weight:600;letter-spacing:var(--tracking-tight);text-wrap:balance}.section-title:before{background:var(--color-accent);border-radius:50%;content:"";display:inline-block;height:8px;margin-right:10px;vertical-align:middle;width:8px}.section-sub{color:var(--color-text-2);font-size:var(--text-body);max-width:60ch}.feature-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{background:var(--color-surface);border:1px solid var(--color-border-2);border-radius:var(--radius-lg);display:grid;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-6);transition:border-color var(--dur-fast) var(--ease)}.feature-card:hover{border-color:var(--color-border-control)}.feature-icon{align-items:center;background:var(--color-accent-soft);border-radius:var(--radius-sm);color:var(--color-accent);display:inline-flex;height:44px;justify-content:center;width:44px}.feature-card h3{font-size:var(--text-h3);font-weight:600}.feature-card p{color:var(--color-text-2);font-size:var(--text-ui);line-height:1.6}.feature-list{color:var(--color-text-3);display:grid;font-size:var(--text-caption);grid-gap:4px;gap:4px;list-style:none;margin:0;padding:0}.feature-list li{align-items:center;display:flex;gap:6px}.quickprice{background:var(--color-surface);border:1px solid var(--color-border-2);border-radius:var(--radius-lg);display:grid;grid-gap:var(--space-5);gap:var(--space-5);padding:var(--space-6)}.quickprice-grid{align-items:end;grid-gap:var(--space-4);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto}.quickprice-grid,.quote-grid{display:grid;gap:var(--space-4)}.quote-grid{grid-gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.quote-card{background:var(--color-surface);border:1px solid var(--color-border-2);border-radius:var(--radius-md);display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-5);transition:border-color var(--dur-fast) var(--ease)}.quote-card:hover{border-color:var(--color-border-control)}.quote-card.is-best,.quote-card.is-selected{border-color:var(--color-accent)}.quote-card.is-selected{background:var(--color-accent-soft)}.quote-head{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between}.quote-title{font-size:var(--text-body);font-weight:600;letter-spacing:var(--tracking-tight);overflow-wrap:anywhere}.quote-sub{color:var(--color-text-2);font-size:var(--text-caption);margin-top:2px;overflow-wrap:anywhere}.quote-total{font-family:var(--font-display);font-size:var(--text-h3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:var(--tracking-tight);text-align:right;white-space:nowrap}.quote-total small{color:var(--color-text-3);font-size:var(--text-caption);font-weight:500}.quote-metrics{border-top:1px solid var(--color-border-2);display:grid;grid-gap:var(--space-2) var(--space-4);gap:var(--space-2) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));padding-top:var(--space-3)}.quote-metric{display:grid;grid-gap:2px;gap:2px;min-width:0}.quote-metric-label{color:var(--color-text-2);font-size:var(--text-caption);letter-spacing:.02em}.quote-metric-value{color:var(--color-text);font-size:var(--text-ui);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;overflow-wrap:anywhere}.quote-note{color:var(--color-text-2);font-size:var(--text-caption);line-height:1.5}.quote-foot{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between}.quote-rank{background:var(--color-accent-soft);border-radius:var(--radius-pill);color:var(--color-accent);font-size:var(--text-caption);font-weight:600;padding:4px 10px;white-space:nowrap}.captcha-panel{display:grid;grid-gap:var(--space-2);gap:var(--space-2);min-width:0}.captcha-puzzle{aspect-ratio:2/1;background:var(--color-fill);border-radius:var(--radius-sm);min-width:0;overflow:hidden;position:relative;width:100%}.captcha-image,.captcha-piece{display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.captcha-image{height:100%;object-fit:cover;width:100%}.captcha-piece{filter:drop-shadow(0 3px 7px rgba(0,0,0,.28));height:auto;pointer-events:none;position:absolute}.captcha-refresh{-webkit-backdrop-filter:var(--nav-blur);backdrop-filter:var(--nav-blur);background:rgba(255,255,255,.82);color:var(--color-text);position:absolute;right:var(--space-2);top:var(--space-2)}.captcha-refresh:hover:not(:disabled){background:#ffffff;color:var(--color-text)}.captcha-track{background:var(--color-fill);border-radius:var(--radius-pill);height:40px;position:relative}.captcha-track-fill{background:var(--color-accent-soft);border-radius:var(--radius-pill);height:100%;left:0;position:absolute;top:0}.captcha-track-label{color:var(--color-text-3)}.captcha-track.is-verified{background:rgba(22,163,74,.12);box-shadow:inset 0 0 0 1px rgba(22,163,74,.35)}.captcha-track.is-verified .captcha-track-fill{background:rgba(22,163,74,.2)}.captcha-track.is-verified .captcha-track-label{color:var(--color-success-text);font-weight:600}.captcha-track.is-verified .captcha-handle{border-color:var(--color-success);color:var(--color-success-text)}.captcha-track.is-error{box-shadow:inset 0 0 0 1px rgba(220,38,38,.35)}.captcha-track.is-error .captcha-track-label{color:var(--color-danger-text)}.captcha-handle{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-2);display:inline-flex;height:40px;justify-content:center;pointer-events:none;position:absolute;transform:translateX(-50%);width:48px;z-index:1}.captcha-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:-webkit-grab;cursor:grab;height:40px;inset:0;margin:0;opacity:1;position:absolute;width:100%;z-index:2}.captcha-range:active{cursor:-webkit-grabbing;cursor:grabbing}.captcha-range::-webkit-slider-runnable-track{background:transparent;height:40px}.captcha-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:transparent;height:40px;width:48px}.captcha-range::-moz-range-thumb,.captcha-range::-moz-range-track{background:transparent;height:40px}.captcha-range::-moz-range-thumb{border:0;width:48px}.captcha-track:has(.captcha-range:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.login-page{align-content:center;background:var(--color-accent-press);display:grid;justify-items:center;min-height:calc(100vh - var(--nav-h));padding:var(--space-5) var(--space-4)}.login-card{animation:fade-up var(--dur-slow) var(--ease) both;background:var(--color-surface);border:1px solid rgba(255,255,255,.55);border-radius:var(--radius-lg);display:grid;grid-gap:var(--space-4);gap:var(--space-4);max-width:420px;padding:var(--space-5) var(--space-6);width:100%}.login-brand{display:grid;grid-gap:var(--space-3);gap:var(--space-3);justify-items:center}.login-logo{align-items:center;background:var(--color-accent);border-radius:0;color:#ffffff;display:inline-flex;height:48px;justify-content:center;width:48px}.login-product{color:var(--color-text-2);font-size:var(--text-caption);letter-spacing:.08em;text-transform:uppercase}.login-title{font-size:var(--text-h2);font-weight:600;letter-spacing:var(--tracking-tight);text-align:center}.login-sub{color:var(--color-text-2);font-size:var(--text-ui);text-align:center}.login-form{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.login-links{align-items:center;border-top:1px solid var(--color-border-2);display:flex;gap:var(--space-4);justify-content:center;padding-top:var(--space-3)}@media (max-height:820px){.login-page{min-height:calc(100vh - var(--nav-h));padding:var(--space-4)}.login-card{gap:var(--space-3);padding:var(--space-4) var(--space-6)}.login-logo{height:44px;width:44px}.login-sub{font-size:var(--text-caption)}.captcha-puzzle{margin:0 auto;max-width:300px}}.login-links .btn-link,.login-links a{font-size:var(--text-ui)}.notfound{align-content:center;display:grid;grid-gap:var(--space-4);gap:var(--space-4);justify-items:center;min-height:60vh;padding:var(--space-9) var(--space-5);text-align:center}.notfound-code{color:var(--color-text-3);font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;letter-spacing:var(--tracking-tight);line-height:1}.notfound-title{font-size:var(--text-h2);font-weight:600}.notfound p{color:var(--color-text-2);font-size:var(--text-body);max-width:46ch}@media (max-width:1024px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{grid-template-columns:minmax(0,1fr)}.filter-grid,.footer-grid,.form-grid-4,.quickprice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.portal-nav-inner{gap:var(--space-3);padding:12px var(--space-4)}.portal-links{display:none}.page{padding:var(--space-6) var(--space-4) var(--space-7)}.hero{padding:var(--space-7) var(--space-4) var(--space-6)}.section{padding:var(--space-6) var(--space-4)}.balance-grid,.detail-grid,.detail-grid-3,.form-grid,.form-grid-3,.quote-metrics{grid-template-columns:minmax(0,1fr)}.item-row{grid-template-columns:repeat(2,minmax(0,1fr))}.item-row.is-head{display:none}.quickprice{padding:var(--space-5)}.quickprice-grid{grid-template-columns:minmax(0,1fr)}.stat-value{font-size:var(--text-h2)}.sheet{width:100vw}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}.portal-menu-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-menu-links{display:none;gap:var(--space-1)}@media (max-width:768px){.portal-menu-links{border-bottom:1px solid var(--color-border-2);display:grid;margin-bottom:var(--space-1);padding-bottom:var(--space-1)}.hero-inner{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}}