.car-pick{display:flex;flex-direction:column;border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--c-surface)}.car-pick__item{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--c-border);cursor:pointer}.car-pick__item:last-child{border-bottom:0}.car-pick__item:hover{background:var(--c-surface-2)}.car-pick__item--active{background:var(--c-accent-soft)}.car-pick__item input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--c-accent);cursor:pointer}.car-pick__swatch{width:14px;height:14px;flex:none;border-radius:var(--radius-full);border:1px solid var(--c-border)}.car-pick__body{display:flex;flex-direction:column;min-width:0}.car-pick__title{font-weight:var(--fw-medium);overflow-wrap:anywhere}.car-pick__sub{font-size:var(--fs-sm);color:var(--c-text-muted)}.car-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--fs-sm)}.car-line .icon{color:var(--c-text-muted);flex:none}:root{--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-2xl: 1.75rem;--lh: 1.45;--fw-medium: 550;--fw-bold: 650;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 999px;--touch: 44px;--sidebar-w: 248px;--tabbar-h: 62px;--page-max: 1120px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--z-sticky: 10;--z-header: 20;--z-tabbar: 30;--z-sheet: 40;--z-dialog: 50;--z-toast: 60;--dur: .16s;--ease: cubic-bezier(.2, .7, .2, 1);color-scheme:light;--c-bg: #f5f8fc;--c-surface: #ffffff;--c-surface-2: #eef3f9;--c-surface-3: #e2eaf3;--c-border: #d5dde8;--c-border-strong: #b5c2d1;--c-text: #0f1b2d;--c-text-muted: #56677d;--c-text-faint: #66778b;--c-accent: #0b6bcb;--c-accent-hover: #095aa9;--c-accent-soft: #e2effc;--c-accent-text: #0959a8;--c-on-accent: #ffffff;--c-success: #15803d;--c-success-soft: #e4f5ea;--c-warning: #b45309;--c-warning-soft: #fdf2e0;--c-on-warning: #ffffff;--c-danger: #c22d2d;--c-danger-soft: #fdebeb;--c-on-danger: #ffffff;--c-info: #0e7490;--c-info-soft: #e1f4f8;--c-focus: #2f8cff;--c-overlay: rgb(10 20 35 / .45);--shadow-sm: 0 1px 2px rgb(15 27 45 / .06), 0 1px 1px rgb(15 27 45 / .04);--shadow-md: 0 4px 14px rgb(15 27 45 / .08), 0 1px 3px rgb(15 27 45 / .06);--shadow-lg: 0 18px 48px rgb(15 27 45 / .18), 0 4px 12px rgb(15 27 45 / .08)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--c-bg: #0b1320;--c-surface: #121c2b;--c-surface-2: #182436;--c-surface-3: #213044;--c-border: #263548;--c-border-strong: #39506b;--c-text: #e6edf6;--c-text-muted: #a3b2c5;--c-text-faint: #73859b;--c-accent: #3d95ec;--c-accent-hover: #5aa7f2;--c-accent-soft: #14304f;--c-accent-text: #7dbbf6;--c-on-accent: #04111f;--c-success: #4ccb7e;--c-success-soft: #123522;--c-warning: #f0a54a;--c-warning-soft: #3a2a12;--c-on-warning: #2a1700;--c-danger: #f07070;--c-on-danger: #2a0606;--c-danger-soft: #3d1a1d;--c-info: #4fc3dc;--c-info-soft: #10313a;--c-focus: #6cb2ff;--c-overlay: rgb(0 0 0 / .6);--shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--shadow-md: 0 4px 14px rgb(0 0 0 / .45);--shadow-lg: 0 18px 48px rgb(0 0 0 / .6)}}:root[data-theme=dark]{color-scheme:dark;--c-bg: #0b1320;--c-surface: #121c2b;--c-surface-2: #182436;--c-surface-3: #213044;--c-border: #263548;--c-border-strong: #39506b;--c-text: #e6edf6;--c-text-muted: #a3b2c5;--c-text-faint: #73859b;--c-accent: #3d95ec;--c-accent-hover: #5aa7f2;--c-accent-soft: #14304f;--c-accent-text: #7dbbf6;--c-on-accent: #04111f;--c-success: #4ccb7e;--c-success-soft: #123522;--c-warning: #f0a54a;--c-warning-soft: #3a2a12;--c-on-warning: #2a1700;--c-danger: #f07070;--c-on-danger: #2a0606;--c-danger-soft: #3d1a1d;--c-info: #4fc3dc;--c-info-soft: #10313a;--c-focus: #6cb2ff;--c-overlay: rgb(0 0 0 / .6);--shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--shadow-md: 0 4px 14px rgb(0 0 0 / .45);--shadow-lg: 0 18px 48px rgb(0 0 0 / .6)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100dvh;background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{margin:0;line-height:1.2;font-weight:var(--fw-bold)}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}p{margin:0}a{color:var(--c-accent-text)}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}table{border-collapse:collapse}:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-3);top:-100px;z-index:var(--z-toast);padding:var(--space-2) var(--space-3);background:var(--c-accent);color:var(--c-on-accent);border-radius:var(--radius-md)}.skip-link:focus{top:var(--space-3)}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.stack--sm{gap:var(--space-2)}.stack--lg{gap:var(--space-5)}.row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.row--between{justify-content:space-between}.row--end{justify-content:flex-end}.row--nowrap{flex-wrap:nowrap}.grow{flex:1 1 auto;min-width:0}.grid-2{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.muted{color:var(--c-text-muted)}.faint{color:var(--c-text-faint)}.small{font-size:var(--fs-sm)}.xsmall{font-size:var(--fs-xs)}.strong{font-weight:var(--fw-bold)}.mono{font-family:var(--font-mono)}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.num{font-variant-numeric:tabular-nums;text-align:right}.text-danger{color:var(--c-danger)}.text-success{color:var(--c-success)}.text-warning{color:var(--c-warning)}.divider{height:1px;background:var(--c-border);border:0;margin:var(--space-3) 0}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface)}.table{width:100%;font-size:var(--fs-sm)}.table th,.table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--c-border);text-align:left;vertical-align:top}.table th{background:var(--c-surface-2);font-weight:var(--fw-bold);color:var(--c-text-muted);white-space:nowrap}.table tr:last-child td{border-bottom:0}.table .sticky-col{position:sticky;left:0;background:var(--c-surface);z-index:var(--z-sticky)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-weight:var(--fw-medium);font-size:var(--fs-md);line-height:1.1;cursor:pointer;text-decoration:none;white-space:nowrap;user-select:none;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--c-accent);color:var(--c-on-accent)}.btn--primary:hover:not(:disabled){background:var(--c-accent-hover)}.btn--secondary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--c-surface-2)}.btn--ghost{background:transparent;color:var(--c-accent-text)}.btn--ghost:hover:not(:disabled){background:var(--c-accent-soft)}.btn--danger{background:var(--c-danger);color:var(--c-on-danger)}.btn--danger:hover:not(:disabled){filter:brightness(.95)}.btn--sm{min-height:36px;padding:0 var(--space-3);font-size:var(--fs-sm)}.btn--lg{min-height:52px;padding:0 var(--space-5);font-size:var(--fs-lg)}.btn--block{width:100%}.btn .icon{flex:none}.icon-btn{display:inline-grid;place-items:center;width:var(--touch);height:var(--touch);border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--c-text-muted);cursor:pointer;flex:none}.icon-btn:hover:not(:disabled){background:var(--c-surface-2);color:var(--c-text)}.icon-btn--primary{background:var(--c-accent);color:var(--c-on-accent)}.icon-btn--primary:hover:not(:disabled){background:var(--c-accent-hover);color:var(--c-on-accent)}.icon-btn--outline{border-color:var(--c-border-strong);background:var(--c-surface)}.icon-btn--danger{color:var(--c-danger)}.icon-btn--sm{width:36px;height:36px}.icon-btn:disabled{opacity:.5;cursor:not-allowed}@media(pointer:coarse){.btn--sm{min-height:var(--touch)}.icon-btn--sm{width:var(--touch);height:var(--touch)}}.input,.select,.textarea{width:100%;min-height:var(--touch);padding:var(--space-2) var(--space-3);border:1px solid var(--c-border-strong);border-radius:var(--radius-md);background:var(--c-surface);color:var(--c-text);font-size:var(--fs-md);transition:border-color var(--dur) var(--ease)}.textarea{min-height:96px;resize:vertical;line-height:var(--lh)}.select{appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--c-text-muted) 50%),linear-gradient(135deg,var(--c-text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-accent);outline:3px solid color-mix(in srgb,var(--c-focus) 35%,transparent);outline-offset:0}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--c-danger)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--c-surface-2);color:var(--c-text-muted)}.input--num{text-align:right;font-variant-numeric:tabular-nums}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field__label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-text)}.field__required{color:var(--c-danger);margin-left:2px}.field__hint{font-size:var(--fs-xs);color:var(--c-text-muted)}.field__error{font-size:var(--fs-sm);color:var(--c-danger)}.checkbox{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--touch);padding:var(--space-2) 0;cursor:pointer}.checkbox input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--c-accent);flex:none;cursor:pointer}.checkbox__text{display:flex;flex-direction:column}.checkbox__desc{font-size:var(--fs-sm);color:var(--c-text-muted)}.search{position:relative}.search .input{padding-left:40px;padding-right:44px}.search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--c-text-faint);pointer-events:none}.search__clear{position:absolute;right:0;top:0}.search input[type=search]::-webkit-search-cancel-button,.search input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.date-input{display:flex;gap:var(--space-2)}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4);min-width:0}.card--flush{padding:0}.card--interactive{cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.card--interactive:hover{border-color:var(--c-border-strong);box-shadow:var(--shadow-md)}.card__header{display:flex;align-items:center;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-3)}.card__title{font-size:var(--fs-md);font-weight:var(--fw-bold)}.list{display:flex;flex-direction:column;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden}.list-item{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);color:inherit;text-decoration:none;background:transparent;border:0;border-bottom:1px solid var(--c-border);width:100%;text-align:left}.list-item:last-child{border-bottom:0}button.list-item,a.list-item{cursor:pointer}button.list-item:hover,a.list-item:hover{background:var(--c-surface-2)}.list-item--active{background:var(--c-accent-soft)}.list-item__body{flex:1 1 auto;min-width:0}.list-item__title{font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis}.list-item__subtitle{font-size:var(--fs-sm);color:var(--c-text-muted)}.list-item__meta{font-size:var(--fs-sm);color:var(--c-text-muted);text-align:right;flex:none}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-bold);line-height:1.5;white-space:nowrap;background:var(--c-surface-3);color:var(--c-text-muted)}.badge--accent{background:var(--c-accent-soft);color:var(--c-accent-text)}.badge--success{background:var(--c-success-soft);color:var(--c-success)}.badge--warning{background:var(--c-warning-soft);color:var(--c-warning)}.badge--danger{background:var(--c-danger-soft);color:var(--c-danger)}.badge--info{background:var(--c-info-soft);color:var(--c-info)}.badge--solid-danger{background:var(--c-danger);color:var(--c-on-danger)}.badge__dot{width:8px;height:8px;border-radius:50%;background:currentColor}.tabs{display:flex;gap:var(--space-1);overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--c-border)}.tabs::-webkit-scrollbar{display:none}.tabs__tab{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch);padding:0 var(--space-3);border:0;border-bottom:3px solid transparent;background:transparent;color:var(--c-text-muted);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap}.tabs__tab[aria-selected=true]{color:var(--c-accent-text);border-bottom-color:var(--c-accent)}.tabs__tab:hover{color:var(--c-text)}.tabs--more-right{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent)}.tabs--more-left{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 40px),transparent)}.tabs--more-left.tabs--more-right{-webkit-mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent)}.filter-panel{display:grid;gap:var(--space-3)}.filter-panel>.btn{justify-self:start}.page-header{display:flex;align-items:center;gap:var(--space-2);min-height:56px;margin-bottom:var(--space-4)}.page-header__titles{flex:1 1 auto;min-width:0}.page-header__title{font-size:var(--fs-xl);overflow:hidden;text-overflow:ellipsis}.page-header__subtitle{color:var(--c-text-muted);font-size:var(--fs-sm)}.page-header__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-7) var(--space-4);color:var(--c-text-muted)}.empty-state__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--c-accent-soft);color:var(--c-accent-text);margin-bottom:var(--space-2)}.empty-state__title{color:var(--c-text);font-size:var(--fs-lg);font-weight:var(--fw-bold)}.empty-state__action{margin-top:var(--space-3)}.dialog{border:0;padding:0;border-radius:var(--radius-lg);background:var(--c-surface);color:var(--c-text);box-shadow:var(--shadow-lg);width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:hidden}.dialog--sm{width:min(420px,calc(100vw - 32px))}.dialog--lg{width:min(860px,calc(100vw - 32px))}.dialog::backdrop{background:var(--c-overlay)}.dialog[open]{display:flex;flex-direction:column;animation:dialog-in var(--dur) var(--ease)}.dialog__header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-bottom:1px solid var(--c-border)}.dialog__title{flex:1 1 auto;font-size:var(--fs-lg)}.dialog__body{padding:var(--space-5);overflow:auto;flex:1 1 auto}.dialog__footer{display:flex;gap:var(--space-2);justify-content:flex-end;flex-wrap:wrap;padding:var(--space-3) var(--space-5);border-top:1px solid var(--c-border);background:var(--c-surface-2)}.dialog__footer--confirm{align-items:center;background:var(--c-warning-soft, var(--c-surface-2));border-top-color:var(--c-warning)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.sheet{margin:auto 0 0;width:100vw;max-width:100vw;max-height:92dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:var(--safe-bottom)}.sheet[open]{animation:sheet-up var(--dur) var(--ease)}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}}@media(min-width:1024px){.sheet{margin:0 0 0 auto;width:min(520px,92vw);height:100dvh;max-height:100dvh;border-radius:0}.sheet--wide{width:min(760px,92vw)}.sheet[open]{animation:sheet-left var(--dur) var(--ease)}@keyframes sheet-left{0%{transform:translate(24px);opacity:0}}}.toast-stack{position:fixed;z-index:var(--z-toast);left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + var(--safe-bottom) + var(--space-3));display:flex;flex-direction:column-reverse;gap:var(--space-2);width:min(440px,calc(100vw - 24px));pointer-events:none}@media(min-width:1024px){.toast-stack{left:auto;right:var(--space-5);transform:none;bottom:var(--space-5)}}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border);border-left:4px solid var(--c-info);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-in var(--dur) var(--ease)}.toast--success{border-left-color:var(--c-success)}.toast--error{border-left-color:var(--c-danger)}.toast--warning{border-left-color:var(--c-warning)}.toast__body{flex:1 1 auto;padding-top:2px;min-width:0;overflow-wrap:anywhere}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.spinner{display:inline-block;width:20px;height:20px;border:2.5px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;flex:none}.spinner--lg{width:36px;height:36px;border-width:3.5px}.spinner-center{display:grid;place-items:center;padding:var(--space-8) 0;color:var(--c-accent)}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--c-surface-2) 25%,var(--c-surface-3) 37%,var(--c-surface-2) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--c-info-soft);color:var(--c-text);border:1px solid color-mix(in srgb,var(--c-info) 30%,transparent)}.banner--warning{background:var(--c-warning-soft);border-color:color-mix(in srgb,var(--c-warning) 35%,transparent)}.banner--danger{background:var(--c-danger-soft);border-color:color-mix(in srgb,var(--c-danger) 35%,transparent)}.banner--success{background:var(--c-success-soft);border-color:color-mix(in srgb,var(--c-success) 35%,transparent)}.banner__body{flex:1 1 auto;min-width:0}.conn{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--c-text-muted)}.conn__dot{width:9px;height:9px;border-radius:50%;background:var(--c-success)}.conn--offline{color:var(--c-danger)}.conn--offline .conn__dot{background:var(--c-danger)}.offline-bar{position:sticky;top:0;z-index:var(--z-header);padding:6px var(--space-4);background:var(--c-danger);color:var(--c-on-danger);font-size:var(--fs-sm);font-weight:var(--fw-bold);text-align:center}.sig-pad{display:flex;flex-direction:column;gap:var(--space-2)}.sig-pad__canvas-wrap{position:relative;border:2px dashed var(--c-border-strong);border-radius:var(--radius-md);background:#fff;touch-action:none;overflow:hidden}.sig-pad__canvas-wrap--invalid{border-color:var(--c-danger)}.sig-pad__canvas{display:block;width:100%;touch-action:none;cursor:crosshair}.sig-pad__placeholder{position:absolute;inset:auto 0 18px;text-align:center;color:#8a97a8;font-size:var(--fs-sm);pointer-events:none}.sig-pad__line{position:absolute;left:24px;right:24px;bottom:42px;border-top:1px solid #c8d1dc;pointer-events:none}.qty-editor{display:flex;flex-direction:column;gap:var(--space-4)}.qty-editor__group-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.qty-row{display:grid;grid-template-columns:minmax(0,1fr) 96px minmax(84px,auto);align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--c-border)}.qty-row:last-child{border-bottom:0}.qty-row--filled .qty-row__name{font-weight:var(--fw-bold)}.qty-row__unit{font-size:var(--fs-sm);color:var(--c-text-muted)}.qty-row__error{grid-column:1 / -1;font-size:var(--fs-sm);color:var(--c-danger)}.qty-editor__group-toggle{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-2);margin:0;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface-2);color:var(--c-text-muted);font:inherit;text-align:left;cursor:pointer}.qty-editor__group-toggle:hover{background:var(--c-surface-3)}.qty-editor__group-toggle[aria-expanded=true]{margin-bottom:var(--space-2)}.qty-editor__group-toggle .qty-editor__group-title{margin-bottom:0}.qty-editor__group-count{color:var(--c-accent-text)}.custom-line{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface)}.custom-line__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-2)}.custom-line__qty{display:grid;grid-template-columns:minmax(0,120px) minmax(0,120px) minmax(0,1fr);align-items:end;gap:var(--space-2)}.custom-line__qty .checkbox{min-height:44px;align-items:center}@media(max-width:420px){.custom-line__qty{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.custom-line__qty .checkbox{grid-column:1 / -1}}.spare-part{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--c-border)}.spare-part:last-of-type{border-bottom:0}.spare-part__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-2)}.spare-part__qty{display:grid;grid-template-columns:minmax(0,120px) minmax(0,120px);align-items:end;gap:var(--space-2)}.spare-part__unit{min-height:44px;display:flex;align-items:center}.placeholder{border:2px dashed var(--c-border-strong);border-radius:var(--radius-lg);background:var(--c-surface)}.update-prompt{position:fixed;z-index:var(--z-toast);left:50%;transform:translate(-50%);top:calc(var(--safe-top) + var(--space-3));display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--c-text);color:var(--c-bg);box-shadow:var(--shadow-lg);width:max-content;max-width:calc(100vw - 24px)}.app{min-height:100dvh}.app__main{min-width:0;padding:var(--space-4) var(--space-4) calc(var(--tabbar-h) + var(--safe-bottom) + var(--space-6))}.app__main:focus{outline:none}.page{width:100%;max-width:var(--page-max);margin:0 auto}.page--narrow{max-width:720px}.page--wide{max-width:none}.tabbar{position:fixed;z-index:var(--z-tabbar);left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:color-mix(in srgb,var(--c-surface) 94%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--c-border)}.tabbar__item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--touch);color:var(--c-text-muted);text-decoration:none;font-size:11.5px;font-weight:var(--fw-medium)}.tabbar__item.active{color:var(--c-accent-text)}.tabbar__item.active:before{content:"";position:absolute;top:0;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--c-accent)}.tabbar__badge,.sidebar__badge{min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--c-danger);color:var(--c-on-danger);font-size:11px;font-weight:var(--fw-bold);line-height:20px;text-align:center}.tabbar__badge{position:absolute;top:4px;left:calc(50% + 6px)}.sidebar{display:none}@media(min-width:1024px){.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.tabbar{display:none}.app__main{padding:var(--space-6) var(--space-7) var(--space-8)}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-3);background:var(--c-surface);border-right:1px solid var(--c-border);overflow-y:auto}.sidebar__brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-4);font-weight:var(--fw-bold);font-size:var(--fs-lg);color:var(--c-text);text-decoration:none}.sidebar__brand img{width:32px;height:32px}.sidebar__item{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--c-text-muted);text-decoration:none;font-weight:var(--fw-medium)}.sidebar__item:hover{background:var(--c-surface-2);color:var(--c-text)}.sidebar__item.active{background:var(--c-accent-soft);color:var(--c-accent-text)}.sidebar__item .grow{flex:1}.sidebar__section{margin:var(--space-4) var(--space-3) var(--space-1);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-faint)}.sidebar__footer{margin-top:auto;padding:var(--space-3);border-top:1px solid var(--c-border);display:flex;flex-direction:column;gap:var(--space-2)}.hide-desktop{display:none!important}}@media(max-width:1023.98px){.hide-mobile{display:none!important}}.login{min-height:100dvh;display:grid;place-items:center;padding:var(--space-5) var(--space-4);background:radial-gradient(1200px 500px at 10% -10%,color-mix(in srgb,var(--c-accent) 18%,transparent),transparent),var(--c-bg);position:relative;overflow:hidden}.login__card{width:min(420px,100%);padding:var(--space-6)}.login__brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.login__brand img{width:48px;height:48px}.demo-ribbon{position:fixed;top:22px;right:-46px;z-index:var(--z-toast);transform:rotate(45deg);width:180px;padding:6px 0;text-align:center;background:var(--c-warning);color:var(--c-on-warning);font-weight:var(--fw-bold);letter-spacing:.2em;box-shadow:var(--shadow-md);pointer-events:none}.demo-hint{margin-top:var(--space-5);font-size:var(--fs-sm)}.demo-hint__users{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
