:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width: 768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media (prefers-reduced-motion: reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}:root{color-scheme:light;--ink: #1d2822;--paper: #f3efe6;--cream: #fbf8f1;--pine: #273129;--cinnabar: #8b3026;--accent: #d9e75b;--on-dark: #fbf8f1;--brand: #245c47;--brand-2: #1d4939;--brand-tint: #e3eadf;--brand-tint-2:#d5e0d5;--success: #32684e;--success-bg: #e2ebdf;--warning: #9a641c;--warning-bg: #f2e7cc;--danger: #8b3026;--danger-bg: #f0ded8;--chart-1: #245c47;--chart-2: #8b3026;--chart-3: #9a641c;--chart-4: #68786b;--chart-5: #b6c542;--bg: var(--paper);--surface: var(--cream);--surface-2: #ece8dd;--fill: #e8e3d8;--fill-press: #ddd8cc;--text: var(--ink);--text-2: #465048;--text-3: #71776f;--text-faint: #96998f;--sep: rgba(29, 40, 34, .17);--sep-strong: rgba(29, 40, 34, .32);--radius-card: 1px;--shadow-card: none;--shadow-fab: 4px 4px 0 rgba(29, 40, 34, .18);--font-editorial: Georgia, "Songti SC", "Noto Serif SC", "STSong", serif;--font-ui: "DM Sans", "Noto Sans SC", "PingFang SC", system-ui, sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0px);--tabbar-h: 72px}[data-theme=dark]{color-scheme:dark;--ink: #e8e3d8;--paper: #18201c;--cream: #202a24;--brand: #8ab59e;--brand-2: #6f9f85;--brand-tint: #293b31;--brand-tint-2:#354b3f;--success: #8bc6a4;--success-bg: #20372a;--warning: #e1b66b;--warning-bg: #3a301e;--danger: #e58e80;--danger-bg: #3c2623;--chart-1: #8ab59e;--chart-2: #e58e80;--chart-3: #e1b66b;--chart-4: #a3afa6;--chart-5: #d9e75b;--bg: var(--paper);--surface: var(--cream);--surface-2: #27322c;--fill: #2d3832;--fill-press: #39453e;--text: var(--ink);--text-2: #c1c7c0;--text-3: #919b93;--text-faint: #69746c;--sep: rgba(232, 227, 216, .16);--sep-strong: rgba(232, 227, 216, .3);--shadow-card: none;--shadow-fab: 4px 4px 0 rgba(0,0,0,.3)}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Noto Sans SC,sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text)}input,textarea,select{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;font-family:inherit}button{font-family:inherit}.app{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.page-outlet{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;position:relative;z-index:0}.page{min-height:100%}.tab-bar{height:var(--tabbar-h);display:flex;align-items:stretch;background:#ffffffe0;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--sep);overflow:visible;touch-action:manipulation}[data-theme=dark] .tab-bar{background:#16171ce0}.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;cursor:pointer;padding:0;color:var(--text-faint);transition:color .15s;touch-action:manipulation}.tab-btn.active{color:var(--brand)}.tab-btn span{font-size:10px;font-weight:500;line-height:1}.tab-fab{width:54px;height:54px;border-radius:50%;margin-top:-28px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-2) 100%);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-fab);border:3px solid var(--bg);transition:transform .15s}.tab-btn:active .tab-fab{transform:scale(.92)}ion-modal.op-sheet::part(content){position:absolute;bottom:0;top:auto;left:0;right:0;border-radius:20px 20px 0 0;max-height:75dvh}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:200;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg);border-radius:20px 20px 0 0;z-index:201;max-height:92dvh;display:flex;flex-direction:column;overflow:hidden}.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--sep-strong);margin:10px auto 0;flex-shrink:0}.section{padding:16px 20px 0}.section-label{font-size:13px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;padding-left:4px}.section-label.row{display:flex;justify-content:space-between;align-items:center}.section-label .more{color:var(--brand);font-weight:500;text-transform:none;letter-spacing:0}.card-surface{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.overview-card{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-2) 100%);border-radius:var(--radius-card);padding:20px;color:#fff;box-shadow:var(--shadow-fab);position:relative;overflow:hidden}.overview-card:after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;background:#ffffff1a;border-radius:50%}.list-row{display:flex;align-items:center;gap:12px;padding:13px 16px;position:relative;cursor:pointer;transition:background .12s}.list-row:active{background:var(--fill)}.list-row+.list-row:before{content:"";position:absolute;top:0;left:16px;right:0;height:.5px;background:var(--sep)}.row-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:600}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-warn{background:var(--warning-bg);color:var(--warning)}.badge-success{background:var(--success-bg);color:var(--success)}.segmented{display:flex;background:var(--fill);border-radius:10px;padding:2px;gap:2px}.seg{flex:1;text-align:center;padding:7px 0;font-size:13px;font-weight:600;color:var(--text-2);border-radius:8px;cursor:pointer;transition:all .18s;border:none;background:none}.seg.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}[data-theme=dark] .seg.active{background:var(--surface-2)}.wh-card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px;margin-bottom:12px;cursor:pointer;transition:transform .12s}.wh-card:active{transform:scale(.985)}.wh-metric{flex:1;background:var(--surface-2);border-radius:10px;padding:10px 12px}.wh-metric .v{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}.wh-metric .l{font-size:11.5px;color:var(--text-3);margin-top:1px}.navbar-lg{padding:8px 20px 4px}.nav-eyebrow{font-size:13px;color:var(--text-3);font-weight:500}.nav-title{font-size:30px;font-weight:700;letter-spacing:-.02em}.nav-title-row{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.nav-btn{width:36px;height:36px;border-radius:50%;background:var(--fill);display:flex;align-items:center;justify-content:center;color:var(--brand);border:none;cursor:pointer;transition:background .15s}.nav-btn:active{background:var(--fill-press)}.navbar-sm{height:calc(52px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);display:flex;align-items:center;justify-content:space-between;padding-left:12px;padding-right:12px;border-bottom:.5px solid var(--sep);background:var(--surface);position:sticky;top:0;z-index:10;flex-shrink:0}.navbar-sm .title{position:absolute;left:50%;bottom:0;transform:translate(-50%);font-size:17px;font-weight:600;height:52px;display:flex;align-items:center}.back-btn{display:flex;align-items:center;gap:2px;color:var(--brand);background:none;border:none;font-size:17px;cursor:pointer;padding:8px}.search-input{width:100%;background:var(--fill);border:none;border-radius:10px;padding:9px 12px 9px 34px;font-size:16px;color:var(--text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%238A90A0' stroke-width='2.5'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center}.search-input::placeholder{color:var(--text-faint)}.search-input:focus{outline:none}.field{margin-bottom:14px}.field-label{font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:6px;padding-left:2px}.control{width:100%;background:var(--surface);border:.5px solid var(--sep-strong);border-radius:12px;padding:13px 14px;font-size:16px;color:var(--text);display:flex;align-items:center;justify-content:space-between;cursor:pointer}input.control{display:block}input.control::placeholder{color:var(--text-faint)}input.control:focus{outline:none;border-color:var(--brand)}div.control{outline:none}div.control:focus-within{border-color:var(--brand)}select.control:focus{outline:none;border-color:var(--brand)}.qty-btn{width:44px;height:46px;border-radius:12px;background:var(--surface);border:.5px solid var(--sep-strong);font-size:22px;color:var(--brand);display:flex;align-items:center;justify-content:center;cursor:pointer}.qty-input{flex:1;text-align:center;font-size:22px;font-weight:700;border:.5px solid var(--sep-strong);border-radius:12px;padding:10px;background:var(--surface);color:var(--text);font-variant-numeric:tabular-nums}.qty-input:focus{outline:none;border-color:var(--brand)}.set-row{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;position:relative}.set-row:active{background:var(--fill)}.set-row+.set-row:before{content:"";position:absolute;top:0;left:50px;right:0;height:.5px;background:var(--sep)}.set-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toggle{width:50px;height:30px;border-radius:16px;background:var(--sep-strong);position:relative;transition:background .25s;flex-shrink:0;cursor:pointer}.toggle.on{background:var(--success)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:#fff;transition:transform .25s;box-shadow:0 1px 3px #0003}.toggle.on:after{transform:translate(20px)}.btn-primary{width:100%;height:50px;background:var(--brand);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .12s}.btn-primary:active{transform:scale(.99);opacity:.92}.btn-primary:disabled{opacity:.6}.chevron{color:var(--text-faint);flex-shrink:0}.empty{text-align:center;padding:40px 24px;color:var(--text-3)}ion-modal{--background: var(--bg);--border-radius: 20px 20px 0 0}ion-content{--background: var(--bg);--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}ion-toolbar{--background: var(--bg);--color: var(--text);--border-color: transparent;--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;--min-height: 0}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}body{font-family:var(--font-ui)}.page{width:min(100%,760px);margin-inline:auto}.nav-title,.navbar-sm .title,.brand-wordmark,.dialog-card h2{font-family:var(--font-editorial);font-weight:600;letter-spacing:-.025em}.nav-title{font-size:36px}.brand-wordmark{margin-top:12px;font-size:30px}.nav-eyebrow,.section-label,.micro-label,.field-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.tab-bar{background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none;border-top:1px solid var(--sep)}[data-theme=dark] .tab-bar{background:color-mix(in srgb,var(--paper) 94%,transparent)}.tab-fab{width:52px;height:52px;border-radius:1px;background:var(--brand);border:3px solid var(--paper)}.action-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#1d28227a}.action-menu-btn{display:flex;align-items:center;gap:10px;padding:12px 20px;border:1px solid var(--ink);border-radius:1px;background:var(--surface);color:var(--text);font-size:14px;font-weight:700;cursor:pointer;box-shadow:5px 5px #1d282229;white-space:nowrap}.sheet{border-radius:1px 1px 0 0;border-top:1px solid var(--sep-strong)}.sheet-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}.sheet-handle{border-radius:0;background:var(--text-faint)}ion-modal{--border-radius: 1px 1px 0 0}ion-modal.op-sheet::part(content){border-radius:1px 1px 0 0}.card-surface,.wh-card{border:1px solid var(--sep);border-radius:1px;box-shadow:none}.wh-card{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s}.wh-card:hover{transform:translateY(-2px);box-shadow:7px 7px #1d282214}.row-icon,.set-icon,.wh-metric,.badge,.segmented,.seg,.nav-btn,.search-input,.control,.qty-btn,.qty-input,.toggle,.btn-primary{border-radius:1px}.overview-card{background:var(--brand);border:1px solid var(--ink);border-radius:1px;box-shadow:7px 7px #1d282221}.overview-card:after{width:68px;height:68px;right:18px;top:18px;border-radius:0;background:var(--accent);opacity:.9}.segmented{border:1px solid var(--sep);padding:3px}.seg.active{background:var(--brand);color:var(--cream);box-shadow:none}.nav-btn{border:1px solid var(--sep);background:transparent}.control,.search-input,.qty-btn,.qty-input{border:1px solid var(--sep-strong);background-color:color-mix(in srgb,var(--surface) 82%,transparent)}.control:focus,input.control:focus,select.control:focus,.qty-input:focus{outline:2px solid color-mix(in srgb,var(--brand) 18%,transparent);outline-offset:1px;border-color:var(--brand)}.btn-primary{background:var(--brand);border:1px solid var(--brand);box-shadow:4px 4px #1d282229;letter-spacing:.06em}.btn-secondary{min-height:48px;padding:0 20px;color:var(--text);border:1px solid var(--sep-strong);border-radius:1px;background:transparent;font-weight:600;cursor:pointer}.login-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 24px max(16px,env(safe-area-inset-bottom));background:var(--bg)}.login-wrap{width:100%;max-width:360px}.login-panel{padding:24px 20px;background:var(--surface);border:1px solid var(--sep-strong);box-shadow:8px 8px #1d28221a}@media (display-mode: standalone){.login-wrap{transform:translateY(clamp(-24px,-2.5vh,-14px))}}.text-action{margin-top:5px;padding:2px 0;border:0;border-bottom:1px solid currentColor;background:none;color:var(--brand);font-size:11px;cursor:pointer}.correction-button{margin-top:6px;padding:4px 9px;border:1px solid var(--sep-strong);border-radius:1px;background:transparent;color:var(--text-2);font-size:11px;font-weight:700;letter-spacing:.05em;cursor:pointer}.correction-button:active{background:var(--fill)}.donut-row{display:flex;align-items:center;gap:8px}.donut-chart{flex:1 1 46%;min-width:0}.donut-legend{flex:1 1 54%;min-width:0;display:flex;flex-direction:column;gap:2px}.donut-legend-row{display:flex;align-items:center;gap:8px;padding:7px 6px;cursor:pointer}.donut-legend-row+.donut-legend-row{border-top:1px solid var(--sep)}.donut-legend-row:active{background:var(--fill)}.donut-swatch{width:9px;height:9px;flex-shrink:0}.donut-legend-name{flex:1;min-width:0;font-size:13px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.donut-legend-pct{flex-shrink:0;width:32px;text-align:right;font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}.donut-legend-qty{flex-shrink:0;min-width:48px;text-align:right;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}@media (max-width: 400px){.donut-row{flex-direction:column;gap:4px}.donut-chart,.donut-legend{width:100%;flex:none}}.offline-banner{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px;background:var(--warning-bg);color:var(--warning);border-bottom:1px solid var(--warning);font-size:12.5px;font-weight:600;line-height:1.4}.offline-banner-btn{flex-shrink:0;padding:4px 10px;border:1px solid var(--warning);border-radius:1px;background:transparent;color:var(--warning);font-size:11px;font-weight:700;letter-spacing:.06em;cursor:pointer}.offline-banner-btn:disabled{opacity:.6}.list-row.is-reversed{opacity:.62}.txn-tag{padding:1px 5px;border:1px solid var(--sep-strong);border-radius:1px;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--text-3);white-space:nowrap}.sku-tag{padding:1px 5px;border:1px solid var(--sep);border-radius:1px;background:var(--fill);color:var(--text-2);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap;cursor:pointer;line-height:1.5}.sku-tag:active{background:var(--fill-press)}.txn-tag-reversal{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}.correction-tip{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;padding:10px 12px;border-left:3px solid var(--accent);background:var(--surface);color:var(--text-2);font-size:12px;line-height:1.55}.correction-tip-close{flex-shrink:0;margin-top:1px;padding:2px;border:none;border-radius:1px;background:none;color:var(--text-faint);cursor:pointer;line-height:0}.correction-tip-close:active{background:var(--fill)}.correction-compare{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:10px 12px;background:var(--fill);color:var(--text-2);font-size:12px}.correction-compare strong{color:var(--text);font-size:15px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:grid;place-items:center;padding:20px;background:#1d28227a}.dialog-card{width:min(100%,430px);padding:25px;background:var(--surface);border:1px solid var(--ink);box-shadow:10px 10px #1d282238}.dialog-card h2{margin:8px 0 4px;font-size:27px}.micro-label{color:var(--brand)}.dialog-copy{margin:0 0 22px;color:var(--text-3);font-size:13px}.audit-note{padding:10px 12px;border-left:3px solid var(--accent);background:var(--fill);color:var(--text-2);font-size:12px;line-height:1.6}.form-error{margin-top:10px;color:var(--danger);font-size:13px}.install-action{padding:6px 10px;border:1px solid var(--brand);color:var(--brand);font-size:11px;font-weight:700;letter-spacing:.06em}.install-hint{margin-top:8px;padding:10px 12px;border-left:3px solid var(--accent);background:var(--surface);color:var(--text-2);font-size:12px;line-height:1.6}.update-dot{width:8px;height:8px;flex:0 0 auto;background:var(--success);border:1px solid color-mix(in srgb,var(--success) 75%,var(--ink))}.update-dot.active{animation:updatePulse 1s ease-in-out infinite alternate}@keyframes updatePulse{to{opacity:.3}}.dialog-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:20px}.dialog-actions .btn-primary{height:48px}@media (min-width: 780px){.section,.navbar-lg{padding-left:32px;padding-right:32px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--serif: Georgia, "Noto Serif SC", "Songti SC", serif;--sans: "Helvetica Neue", -apple-system, "Noto Sans SC", system-ui, sans-serif;--bg: #F4F3EF;--surface: #FCFBF9;--surface2: #EAE8E2;--ink: #1A1A17;--ink-2: #86847D;--ink-3: #B6B3AB;--line: #E2E0D9;--line2: #D2CFC6;--invert-ink: #F6F5F1;--c-in: #3F7A4A;--c-out: #B1502E;--c-low: #A97A2A;--c-zero: #B23B3B;--sku-ink: #3C566B;--sku-bg: #E7EDF1;--sku-line: #CBD8E1}html[data-theme=dark]{--bg: #18181A;--surface: #222225;--surface2: #2C2C30;--ink: #F1F0EC;--ink-2: #98968F;--ink-3: #6A6A66;--line: #34343A;--line2: #41414A;--invert-ink: #18181A;--c-in: #4F8A54;--c-out: #C06A45;--c-low: #C99A4A;--c-zero: #C1584F;--sku-ink: #A8C4D6;--sku-bg: #253039;--sku-line: #35454F}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}.t-display{font-family:var(--serif);letter-spacing:-.01em}.t-num{font-family:var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.t-meta{font-size:13px;color:var(--ink-2)}.scr{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden}.scr-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(env(safe-area-inset-top,0px) + 18px) 26px 0}.scr-body::-webkit-scrollbar{width:0}.scr-bottom-space{height:calc(92px + env(safe-area-inset-bottom,0px))}.tabbar{flex-shrink:0;height:72px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-top:1px solid var(--line);padding-bottom:max(0px,calc(env(safe-area-inset-bottom,0px) - 24px))}.tabbar-row{height:72px;display:flex;align-items:center;justify-content:space-around;padding:0 20px}.tabbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:none;padding:0 10px;font-family:var(--sans);font-size:12px;font-weight:600;line-height:1;color:var(--ink-3);cursor:pointer}.tabbtn.on{color:var(--ink)}.tabbtn svg,.tab-main svg{display:block}.tab-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:none;padding:0;margin-top:-16px;font-family:var(--sans);font-size:12px;font-weight:600;line-height:1;color:var(--ink-2);cursor:pointer}.tab-main-dot{width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--invert-ink);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #00000040;transition:transform .15s ease}.tab-main:active .tab-main-dot{transform:scale(.94)}.pick-card{width:100%;display:flex;align-items:center;gap:14px;padding:20px;border-radius:14px;background:none;cursor:pointer;font-family:var(--serif);font-size:19px;color:var(--ink)}.pick-card:active{background:var(--surface2)}.pick-card-dot{width:44px;height:44px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.row-item{width:100%;display:flex;align-items:center;gap:12px;padding:14px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;font-family:var(--sans);color:var(--ink)}.row-item:active{background:var(--surface2)}.row-name{font-size:16px;font-weight:500}.row-sub{font-size:12px;color:var(--ink-3);margin-top:3px}.row-sku-main{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;font-weight:700;letter-spacing:.02em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-head{display:flex;align-items:center;gap:8px;min-width:0}.row-line2{display:flex;align-items:baseline;gap:6px;margin-top:3px;min-width:0}.row-name-2nd{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--ink-2)}.row-spec-fix{flex-shrink:0;font-size:12px;color:var(--ink-3)}.row-sku{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;font-weight:700;letter-spacing:.03em;color:var(--sku-ink);background:var(--sku-bg);border:1px solid var(--sku-line);border-radius:3px;padding:1px 5px;vertical-align:1px}.row-spec{color:var(--ink-3)}.row-qty{font-family:var(--serif);font-size:26px;font-variant-numeric:tabular-nums}.row-unit{font-size:12px;color:var(--ink-3);margin-left:3px}.tag{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.04em}.tag-low{color:#fff;background:var(--c-low)}.tag-zero{color:#fff;background:var(--c-zero)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000052;opacity:0;transition:opacity .18s ease;display:flex;flex-direction:column;justify-content:flex-end}.scrim[data-on=true]{opacity:1}.scrim{padding-bottom:var(--kb, 0px)}.sheet{background:var(--bg);border-radius:14px 14px 0 0;padding:8px 22px calc(env(safe-area-inset-bottom,0px) + 18px);max-height:88%;overflow-y:auto;transform:translateY(14px);transition:transform .2s ease}.sheet-pick{display:flex;flex-direction:column;height:72vh;max-height:72vh;overflow:hidden}.sheet-pick-head{flex-shrink:0}.sheet-pick-list{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-pick-list::-webkit-scrollbar{width:0}.scrim[data-on=true] .sheet{transform:translateY(0)}.sheet-grab{width:38px;height:4px;border-radius:2px;background:var(--line2);margin:6px auto 14px}.sheet-title{font-family:var(--serif);font-size:22px;margin-bottom:4px}.btn{width:100%;min-height:50px;border:0;border-radius:10px;font-family:var(--sans);font-size:16px;font-weight:600;cursor:pointer;color:var(--invert-ink);background:var(--ink)}.btn:disabled{opacity:.4}.btn:active:not(:disabled){opacity:.86}.btn-in{background:var(--c-in);color:#fff}.btn-out{background:var(--c-out);color:#fff}.btn-ghost{background:none;color:var(--ink);border:1px solid var(--line2)}.btn-danger{background:none;color:var(--c-zero);border:1px solid var(--c-zero)}.btn-danger-solid{background:var(--c-zero);color:#fff;border:1px solid var(--c-zero)}.field-label{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px}.field-input{width:100%;border:0;border-bottom:1px solid var(--line2);background:none;padding:8px 0;font-family:var(--serif);font-size:17px;color:var(--ink);outline:none;transition:border-color .15s ease}.field-input:focus{border-bottom-color:var(--ink);border-bottom-width:2px;padding-bottom:7px}.field-input::placeholder{color:var(--ink-3)}.field-input{text-align:left}input,textarea{caret-color:var(--ink);text-align:left}.search-bar{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line2);transition:border-color .15s ease}.search-bar:focus-within{border-bottom-color:var(--ink)}.search-bar:focus-within svg{color:var(--ink)}.search-input{flex:1;min-width:0;border:0;background:none;outline:none;font-family:var(--serif);font-size:16px;color:var(--ink);text-align:left;padding:0;text-indent:0}.search-input::placeholder{color:var(--ink-3)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.key{min-height:54px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-family:var(--serif);font-size:24px;color:var(--ink);cursor:pointer}.key:active{background:var(--surface2)}.toast-wrap{position:fixed;left:0;right:0;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;justify-content:center;pointer-events:none}.toast{max-width:84%;padding:10px 16px;border-radius:8px;background:var(--ink);color:var(--invert-ink);font-size:14px;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}.toast[data-on=true]{opacity:1;transform:translateY(0)}.notice{padding:12px 14px;border-radius:8px;font-size:13.5px;line-height:1.5}.notice-warn{background:var(--surface2);color:var(--ink)}.notice-err{background:var(--c-zero);color:#fff}.clear-inventory-backdrop{z-index:50;justify-content:center;padding:26px 26px calc(26px + var(--kb, 0px))}.clear-inventory-dialog{width:min(100%,430px);max-height:100%;overflow-y:auto;padding:22px;background:var(--bg);border:1px solid var(--line2);box-shadow:0 12px 36px #00000038}.clear-inventory-dialog .sheet-title{line-height:1.35}.clear-inventory-metrics{display:grid;grid-template-columns:1fr 1fr;margin:18px 0 14px;border:1px solid var(--line)}.clear-inventory-metrics>div{display:flex;flex-direction:column;gap:3px;padding:12px 14px}.clear-inventory-metrics>div+div{border-left:1px solid var(--line)}.clear-inventory-metrics strong{font-family:var(--serif);font-size:23px}.clear-inventory-metrics span{color:var(--ink-2);font-size:12px}.empty{padding:70px 10px;text-align:center}.empty-title{font-family:var(--serif);font-size:22px;color:var(--ink-3)}.empty-sub{font-size:13px;color:var(--ink-3);margin-top:10px}.skel{height:58px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,transparent,var(--surface2),transparent);background-size:200% 100%;animation:skel 1.2s linear infinite}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}
