.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap-lg);min-width:var(--tap);padding:0 var(--sp-5);border-radius:var(--r-ctl);font-family:var(--font);font-size:var(--fs-md);font-weight:var(--w-semi);line-height:var(--lh-tight);cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #0000;text-decoration:none;display:inline-flex}.btn svg{flex:none;display:block}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:active{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:active{background:var(--surface-sunken)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:active{background:var(--surface-sunken)}.btn-ghost-accent{color:var(--accent);border-color:var(--accent)}.btn-ghost-accent:active{background:var(--accent-soft)}.btn-destructive{background:var(--danger);color:var(--accent-ink)}.btn-lg{min-height:56px;padding:0 var(--sp-6);font-size:var(--fs-lg)}.btn-block{width:100%;display:flex}.btn:disabled,.btn[aria-disabled=true]{background:var(--surface-sunken);color:var(--ink-3);cursor:not-allowed;border-color:#0000}.btn-ghost:disabled{color:var(--ink-3);background:0 0}.btn-busy{position:relative}.btn-fail{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft);animation:.45s btn-fail-shake}@keyframes btn-fail-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.field{display:block}.field+.field{margin-top:var(--sp-4)}.field-label{font-size:var(--fs-sm);font-weight:var(--w-semi);color:var(--ink-2);margin-bottom:var(--sp-1);display:block}.input,.select{width:100%;min-height:var(--tap-lg);padding:0 var(--sp-4);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-ctl);font-family:var(--font);font-size:var(--fs-md);color:var(--ink);appearance:none;display:block}.part-family{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.part-spec{font-size:var(--fs-sm);font-weight:var(--w-reg);color:var(--ink-2);margin-top:1px;display:block}@media (hover:none) and (pointer:coarse),(width<=480px){.input,.select,.ta-input input{font-size:max(16px, var(--fs-md))}}.input::placeholder{color:var(--ink-3)}.input:disabled,.select:disabled{background:var(--surface-sunken);color:var(--ink-3)}.helper{font-size:var(--fs-sm);color:var(--ink-2);margin-top:var(--sp-1);display:block}.input-error{border-color:var(--danger)}.input-error:focus-visible{outline-color:var(--danger)}.helper-error{color:var(--danger);font-weight:var(--w-semi)}.input-qty{min-height:56px;font-size:var(--fs-2xl);font-weight:var(--w-semi);text-align:center;max-width:140px}.search{position:relative}.search .input{padding-left:calc(var(--sp-4) + 20px + var(--sp-2))}.search .input::-webkit-search-cancel-button{-webkit-appearance:none}.search-glyph{left:var(--sp-4);color:var(--ink-3);pointer-events:none;display:block;position:absolute;top:50%;transform:translateY(-50%)}.select-wrap{display:block;position:relative}.select{padding-right:calc(var(--sp-4) + 16px + var(--sp-2))}.select-chevron{right:var(--sp-4);color:var(--ink-2);pointer-events:none;display:block;position:absolute;top:50%;transform:translateY(-50%)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden}.card-padded{padding:var(--sp-4)}.card h3{font-size:var(--fs-lg);font-weight:var(--w-semi);line-height:var(--lh-tight);margin-bottom:var(--sp-1)}.card p{font-size:var(--fs-md);color:var(--ink-2)}.stat-row{gap:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}.stat-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:var(--sp-3) var(--sp-3) var(--sp-4);min-height:var(--tap);gap:var(--sp-1);flex-direction:column;display:flex}.stat-tile .label{font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-tight)}.stat-tile .value{font-size:var(--fs-2xl);font-weight:var(--w-bold);line-height:var(--lh-tight);white-space:nowrap}.stat-tile .value.sm{font-size:var(--fs-xl)}.stat-tile .value.warn{color:var(--warn)}.stat-tile .value.danger{color:var(--danger)}.stat-tile .value .unit{font-size:var(--fs-md);font-weight:var(--w-semi);color:var(--ink-2)}.badge{align-items:center;gap:var(--sp-1);padding:3px var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--w-semi);line-height:var(--lh-tight);white-space:nowrap;display:inline-flex}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-brand{background:var(--brand-soft);color:var(--brand)}.badge-neutral{background:var(--surface-sunken);color:var(--ink-2)}.badge .num{font-weight:inherit}.photo-thumb{width:var(--thumb-sm);height:var(--thumb-sm);border-radius:var(--r-ctl);background:var(--surface-sunken);border:1px solid var(--line);color:var(--ink-3);font-size:var(--fs-xs);font-weight:var(--w-semi);letter-spacing:.04em;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.photo-thumb.md{width:var(--thumb-md);height:var(--thumb-md)}.photo-thumb.lg{width:var(--thumb-lg);height:var(--thumb-lg);font-size:var(--fs-md)}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb svg{display:block}.item-list{flex-direction:column;display:flex}.item-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-height:var(--tap-lg);border-bottom:1px solid var(--line);background:var(--surface);color:inherit;text-align:left;width:100%;font:inherit;cursor:pointer;border-top:0;border-left:0;border-right:0;text-decoration:none;display:flex}.item-row:last-child{border-bottom:none}.item-row:active{background:var(--surface-sunken)}.item-row .ident{flex:1;min-width:0;display:block}.item-row .name{-webkit-line-clamp:2;font-size:var(--fs-md);font-weight:var(--w-semi);line-height:var(--lh-tight);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.item-row .code{font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;display:block;overflow:hidden}.item-row .qty-block{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.item-row .qty{font-size:var(--fs-xl);font-weight:var(--w-bold);line-height:var(--lh-tight)}.item-row .qty .unit{font-size:var(--fs-sm);font-weight:var(--w-semi);color:var(--ink-2)}.item-row .qty-block.inline{align-items:center;gap:var(--sp-2);white-space:nowrap;flex-direction:row}.item-row .qty.zero,.item-row .qty.zero .unit{color:var(--ink-3)}@media (width<=400px){.item-row{row-gap:var(--sp-1);flex-wrap:wrap}.item-row .ident{flex:60%}.item-row .qty-block.inline{padding-left:calc(var(--thumb-sm) + var(--sp-3));flex:100%;order:3;justify-content:flex-start}}.empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:var(--sp-8) var(--sp-5);text-align:center;align-items:center;gap:var(--sp-2);flex-direction:column;display:flex}.empty-glyph{border-radius:var(--r-pill);background:var(--surface-sunken);width:64px;height:64px;color:var(--ink-3);margin-bottom:var(--sp-2);justify-content:center;align-items:center;display:flex}.empty-title{font-size:var(--fs-lg);font-weight:var(--w-semi)}.empty-cap{color:var(--ink-2);font-size:var(--fs-md);max-width:320px}.empty .btn{margin-top:var(--sp-4)}.toast-region{z-index:50;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4) calc(var(--tap) + var(--sp-6) + env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=900px){.toast-region{padding-bottom:var(--sp-6)}}html[data-sheet-open] .toast-region{padding-top:calc(var(--sp-4) + env(safe-area-inset-top,0px));padding-bottom:var(--sp-4);top:0;bottom:auto}.toast{pointer-events:auto;align-items:center;gap:var(--sp-3);background:var(--ok-soft);border:1px solid var(--line);border-left:4px solid var(--ok);border-radius:var(--r-ctl);width:100%;max-width:430px;padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-card);font-size:var(--fs-md);color:var(--ink);display:flex}.toast svg{flex:none}.toast-msg{flex:1}.toast-msg strong{font-weight:var(--w-semi)}.toast-info{background:var(--info-soft);border-left-color:var(--info)}.toast-warn{background:var(--warn-soft);border-left-color:var(--warn)}.toast-danger{background:var(--danger-soft);border-left-color:var(--danger)}.toast-close{min-width:var(--tap);min-height:var(--tap);color:var(--ink-2);font-size:var(--fs-lg);cursor:pointer;border-radius:var(--r-ctl);margin:calc(-1 * var(--sp-2)) calc(-1 * var(--sp-3)) calc(-1 * var(--sp-2)) 0;background:0 0;border:0}.sheet-layer{z-index:40;padding-bottom:var(--kb-inset,0px);flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.backdrop{background:color-mix(in srgb, var(--ink) 45%, transparent);position:absolute;inset:0}.sheet{background:var(--surface);border-radius:var(--r-card) var(--r-card) 0 0;width:100%;max-width:560px;box-shadow:var(--shadow-sheet);max-height:min(92dvh, calc(100dvh - var(--kb-inset,0px)));outline:none;flex-direction:column;margin:0 auto;display:flex;position:relative}.sheet-handle{padding:var(--sp-2) 0 0;justify-content:center;display:flex}.sheet-handle span{border-radius:var(--r-pill);background:var(--line-strong);width:36px;height:4px}.sheet-head{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-2);display:flex}.sheet-title{font-size:var(--fs-xl);font-weight:var(--w-bold);line-height:var(--lh-tight);flex:1;min-width:0}.sheet-close,.sheet-back{min-width:var(--tap);min-height:var(--tap);border-radius:var(--r-ctl);color:var(--ink-2);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:flex}.sheet-close{margin-right:calc(-1 * var(--sp-2))}.sheet-back{margin-left:calc(-1 * var(--sp-2))}.sheet-close:active,.sheet-back:active{background:var(--surface-sunken)}.sheet-body{padding:0 var(--sp-4) var(--sp-4);-webkit-overflow-scrolling:touch;overflow-y:auto}.sheet-foot{padding:var(--sp-3) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);flex:none}.sheet-foot .btn+.btn{margin-top:var(--sp-2)}.sheet-foot .btn-primary{min-height:56px}.btn-reason{margin:0 0 var(--sp-2);font-size:var(--fs-sm);color:var(--ink);line-height:var(--lh-tight)}.btn-reason b{font-weight:var(--w-semi)}.sheet-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--bg);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;display:flex}.sheet-item.static{cursor:default}.sheet-item .item-main{flex:1;min-width:0;display:block}.sheet-item .item-name{font-size:var(--fs-md);font-weight:var(--w-semi);line-height:var(--lh-tight);overflow-wrap:anywhere;display:block}.sheet-item .item-sub{font-size:var(--fs-sm);color:var(--ink-2);margin-top:2px;display:block}.sheet-item .item-sub .neg{color:var(--danger);font-weight:var(--w-semi)}.sheet-item .change{font-size:var(--fs-sm);color:var(--brand);font-weight:var(--w-semi);flex:none}.sheet .field-label{font-size:var(--fs-sm);font-weight:var(--w-semi);color:var(--ink-2);margin:var(--sp-4) 0 var(--sp-2);display:block}.sheet .field-label:first-child{margin-top:0}.sheet .field{margin-top:var(--sp-4)}.sheet .field .field-label{margin:0 0 var(--sp-1)}.action-list{gap:var(--sp-2);flex-direction:column;display:flex}.action-item{align-items:center;gap:var(--sp-3);min-height:56px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%;display:flex}.action-item:active{background:var(--surface-sunken)}.action-item .act-glyph{flex:none}.action-item .t{font-size:var(--fs-md);font-weight:var(--w-semi);line-height:var(--lh-tight)}.action-item .d{font-size:var(--fs-sm);color:var(--ink-2);margin-top:2px}.warn-card{background:var(--warn-soft);border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:var(--r-ctl);padding:var(--sp-3) var(--sp-4);color:var(--ink);font-size:var(--fs-md);margin-top:var(--sp-4);gap:var(--sp-2);align-items:flex-start;display:flex}.warn-card svg{color:var(--warn);flex:none}.warn-card b{font-weight:var(--w-semi)}.warn-card.sheet-discard{margin:0 var(--sp-4) var(--sp-3);flex-wrap:wrap;align-items:center}.sheet-discard-actions{gap:var(--sp-2);margin-left:auto;display:flex}.info-card{background:var(--info-soft);border:1px solid var(--line);border-left:4px solid var(--info);border-radius:var(--r-ctl);padding:var(--sp-3) var(--sp-4);color:var(--ink);font-size:var(--fs-md)}.error-boundary{gap:var(--sp-3);flex-direction:column;align-items:flex-start;display:flex}.error-boundary.screen{background:var(--surface);width:100%;max-width:430px;box-shadow:var(--shadow-card)}.error-boundary .eb-head{align-items:center;gap:var(--sp-2);font-size:var(--fs-lg);display:flex}.error-boundary .eb-head svg{color:var(--danger);flex:none}.error-boundary .eb-cap{font-size:var(--fs-md);color:var(--ink)}.error-boundary .eb-detail{font-size:var(--fs-sm);color:var(--ink-2);overflow-wrap:anywhere}.chip-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.chip{min-height:var(--tap-lg);min-width:var(--tap-lg);padding:0 var(--sp-4);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-pill);font-family:var(--font);font-size:var(--fs-md);font-weight:var(--w-reg);color:var(--ink);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.chip:active{background:var(--surface-sunken)}.chip.is-selected{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:var(--w-semi)}.chip:disabled{color:var(--ink-3);border-color:var(--line);cursor:default}.chip .num{font-weight:inherit}.chip-hint{font-size:var(--fs-xs);color:var(--ink-3);margin-top:var(--sp-2)}.stepper{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.stepper-btn{width:var(--tap-lg);height:var(--tap-lg);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-ctl);font-family:var(--font);font-size:var(--fs-2xl);font-weight:var(--w-semi);color:var(--ink);cursor:pointer;flex:none;justify-content:center;align-items:center;line-height:1;display:flex}.stepper-btn:active{background:var(--surface-sunken)}.stepper-btn:disabled{color:var(--ink-3);border-color:var(--line);cursor:default}.stepper-value{text-align:center;min-width:72px;font-size:var(--fs-3xl);font-weight:var(--w-bold);line-height:var(--lh-tight)}.stepper-input{width:96px;min-height:var(--tap-lg);padding:0 var(--sp-2);border-radius:var(--r-ctl);font-family:var(--font);color:var(--ink);appearance:textfield;background:0 0;border:1px solid #0000}.stepper-input:focus-visible{border-color:var(--line-strong);background:var(--surface)}.stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-hint{font-size:var(--fs-sm);color:var(--ink-2);flex-direction:column;display:flex}.stepper-hint .num{font-weight:var(--w-semi);color:var(--ink)}.stepper-value.danger,.stepper-input.danger{color:var(--danger)}.stepper-hint .over,.stepper-hint .over .num{color:var(--danger);font-weight:var(--w-semi)}.stepper-unit{font-size:var(--fs-md);font-weight:var(--w-semi);color:var(--ink-2)}.stepper-sm{gap:var(--sp-1);flex-wrap:nowrap;flex:none}.stepper-sm .stepper-btn{width:var(--tap);height:var(--tap);font-size:var(--fs-xl)}.stepper-sm .stepper-value{width:48px;min-width:0;font-size:var(--fs-xl)}.stepper-sm .stepper-input{width:48px;min-height:var(--tap);padding:0}.ta{position:relative}.picker-head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.sheet .picker-head .field-label,.picker-head .field-label{margin:0}.picker-modes{flex-wrap:nowrap}.ta-input{align-items:center;gap:var(--sp-2);width:100%;min-height:var(--tap-lg);padding:0 var(--sp-3);border-radius:var(--r-ctl);border:1px solid var(--line-strong);background:var(--surface);display:flex}.ta-input:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px var(--info-soft)}.ta-input svg{color:var(--ink-3);flex:none}.ta-input input{min-width:0;min-height:46px;font-family:var(--font);font-size:max(16px, var(--fs-md));color:var(--ink);background:0 0;border:0;outline:0;flex:1}.ta-input input::placeholder{color:var(--ink-3)}.ta-list{margin:var(--sp-2) 0 0;border:1px solid var(--line);border-radius:var(--r-ctl);padding:0;list-style:none;overflow:hidden}.ta-hit{align-items:center;gap:var(--sp-3);text-align:left;width:100%;min-height:52px;padding:var(--sp-2) var(--sp-3);border:0;border-top:1px solid var(--line);background:var(--surface);font-family:var(--font);font-size:var(--fs-md);color:var(--ink);cursor:pointer;display:flex}.ta-hit:first-child{border-top:0}.ta-hit:active,.ta-hit.is-active{background:var(--brand-soft)}.ta-hit .jno{font-weight:var(--w-semi);flex:none}.ta-hit.is-active .jno{color:var(--brand)}.ta-hit .addr{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ta-hit .tech{font-size:var(--fs-sm);color:var(--ink-2);flex:none}.ta-hit .ident{flex:1;min-width:0}.ta-hit .name{-webkit-line-clamp:2;font-weight:var(--w-semi);line-height:var(--lh-tight);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ta-hit .code{font-size:var(--fs-sm);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.ta-empty{padding:var(--sp-3);font-size:var(--fs-sm);color:var(--ink-2)}.ta-picked{align-items:center;gap:var(--sp-3);min-height:var(--tap-lg);padding:var(--sp-2) var(--sp-3);border:1px solid var(--brand);background:var(--brand-soft);border-radius:var(--r-ctl);color:var(--ink);display:flex}.ta-picked .addr{flex:1;min-width:0}.ta-picked .jno{font-weight:var(--w-semi);color:var(--brand);white-space:nowrap}.ta-picked .btn{min-height:var(--tap)}.cyl-card{padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex}.cyl-top{gap:var(--sp-3);display:flex}.cyl-main{flex:1;min-width:0}.cyl-name{font-size:var(--fs-md);font-weight:var(--w-semi);line-height:var(--lh-tight)}.cyl-loc{font-size:var(--fs-sm);color:var(--ink-2);margin-top:var(--sp-1)}.cyl-amount{align-items:baseline;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.cyl-lbs{font-size:var(--fs-2xl);font-weight:var(--w-bold);line-height:var(--lh-tight)}.gauge{border-radius:var(--r-pill);background:var(--gauge-track);height:12px;margin-top:var(--sp-3);position:relative;overflow:visible}.gauge-fill{border-radius:var(--r-pill);position:absolute;inset:0 auto 0 0}.gauge-fill.ok{background:var(--ok)}.gauge-fill.warn{background:var(--warn)}.gauge-fill.danger{background:var(--danger)}.gauge-tick{border-radius:var(--r-pill);background:var(--ink-2);width:2px;position:absolute;top:-3px;bottom:-3px}.gauge-scale{font-size:var(--fs-xs);color:var(--ink-3);margin-top:var(--sp-1);justify-content:space-between;display:flex}.cyl-meta{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2);display:flex}.cyl-status{font-weight:var(--w-semi)}.cyl-status.ok{color:var(--ok)}.cyl-status.warn{color:var(--warn)}.cyl-status.danger{color:var(--danger)}.cyl-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.cyl-actions .btn{white-space:nowrap;flex:1;min-width:0}.cyl-lifecycle{margin-top:calc(-1 * var(--sp-1));border-top:1px solid var(--line);padding-top:var(--sp-1)}.cyl-lifecycle .btn{min-height:var(--tap-lg)}.cyl-actions .btn-ghost{border-color:var(--line-strong)}.cyl-loc .badge{vertical-align:middle}.cyl-thumb{width:var(--thumb-md);height:var(--thumb-md);border-radius:var(--r-ctl);background:var(--surface-sunken);color:var(--ink-3);border:1px solid var(--line);flex:none;justify-content:center;align-items:center;display:flex}.cyl-thumb svg{display:block}.cyl-thumb .cyl-band,.photo-thumb .cyl-band{display:none}.cyl-thumb.r410a,.photo-thumb.cyl-r410a{color:var(--cyl-r410a-line)}.cyl-thumb.r454b,.photo-thumb.cyl-r454b{color:var(--cyl-r454b-line)}.cyl-thumb.r22,.photo-thumb.cyl-r22{color:var(--cyl-r22-line)}.cyl-thumb.r454b .cyl-band,.photo-thumb.cyl-r454b .cyl-band{stroke:var(--cyl-r454b-band);display:block}.stat-row.four{grid-template-columns:repeat(2,1fr)}@media (width>=600px){.stat-row.four{grid-template-columns:repeat(4,1fr)}}.stat-row.five{grid-template-columns:repeat(2,1fr)}@media (width<=699.98px){.stat-row.five>:last-child{grid-column:1/-1}}@media (width>=700px){.stat-row.five{grid-template-columns:repeat(5,1fr)}}.attn-row{padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);min-height:var(--tap-lg);border-bottom:1px solid var(--line);flex-direction:column;display:flex}.attn-row:last-child{border-bottom:none}.attn-row .main{align-items:flex-start;gap:var(--sp-3);display:flex}.attn-row .ident{flex:1;min-width:0}.attn-hit{align-items:flex-start;gap:var(--sp-3);min-width:0;min-height:var(--tap-lg);color:inherit;flex:1;text-decoration:none;display:flex}.attn-row .name{font-size:var(--fs-md);font-weight:var(--w-semi);line-height:var(--lh-tight);color:var(--ink);overflow-wrap:anywhere;text-decoration:none;display:block}.attn-row .name:hover{text-decoration:underline}.attn-row .ident .badge{margin-top:var(--sp-1)}.attn-row .reorder{text-align:right;flex:none;max-width:40%}.reorder .price{font-size:var(--fs-md);font-weight:var(--w-semi);line-height:var(--lh-tight)}.reorder .vendor{font-size:var(--fs-xs);color:var(--ink-2);white-space:normal;overflow-wrap:anywhere;margin-top:2px}.reorder .lbl{font-size:var(--fs-xs);color:var(--ink-2);display:block}.locations{border-top:1px solid var(--line);padding-top:var(--sp-2);font-size:var(--fs-md);color:var(--ink-2);column-gap:var(--sp-2);flex-wrap:wrap;display:flex}.locations .loc{white-space:nowrap}.locations .loc b{color:var(--ink);font-weight:var(--w-semi)}.locations .dot{color:var(--ink-3)}.locations .zero,.locations .zero b{color:var(--ink-3);font-weight:var(--w-reg)}.locations .low b{color:var(--warn)}.locations .neg,.locations .neg b{color:var(--danger)}.neg-word{font-size:var(--fs-xs);font-weight:var(--w-semi);text-transform:uppercase;letter-spacing:.02em}.qty.neg,.qty.neg .unit,.stock-row .qty.neg .unit{color:var(--danger)}.attn-row.attn-neg{border-left:3px solid var(--danger);padding-left:calc(var(--sp-4) - 3px)}.attn-more{min-height:var(--tap);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);font-weight:var(--w-semi);color:var(--accent);border-top:1px solid var(--line);justify-content:center;align-items:center;text-decoration:none;display:flex}.page.home-page{max-width:640px}.home-row{min-height:var(--tap-lg)}.home-row:last-child{border-bottom:none}.home-row .t{font-weight:var(--w-bold);display:block}.home-row .d{display:block}.home-row .home-chevron{color:var(--ink-3);flex:none;display:flex}.home-part{white-space:nowrap}.home-tone-danger{color:var(--danger);font-weight:var(--w-semi)}.home-tone-warn{color:var(--warn);font-weight:var(--w-semi)}@media (hover:hover){.home-row:hover{background:var(--surface-sunken)}}.inv-links{gap:var(--sp-2);flex-wrap:wrap;display:flex}.inv-links .btn{min-width:0;padding:0 var(--sp-2);flex:1 1 0}.act-row{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-height:var(--tap);border-bottom:1px solid var(--line);display:flex}.act-row:last-child{border-bottom:none}.act-glyph{border-radius:var(--r-pill);background:var(--surface-sunken);width:36px;height:36px;color:var(--ink-2);flex:none;justify-content:center;align-items:center;display:flex}.act-main{flex:1;min-width:0}.act-text{font-size:var(--fs-md);line-height:var(--lh-body);overflow-wrap:anywhere}.act-text b{font-weight:var(--w-semi)}.act-meta{font-size:var(--fs-sm);color:var(--ink-2);margin-top:2px}.live-dot{align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);font-weight:var(--w-semi);color:var(--ink-2);display:inline-flex}.live-dot:before{content:"";border-radius:var(--r-pill);background:var(--ink-3);width:8px;height:8px}.live-dot.live{color:var(--ok)}.live-dot.live:before{background:var(--ok)}.detail-head{gap:var(--sp-4);align-items:flex-start;display:flex}.detail-head .ident{flex:1;min-width:0}.detail-title{font-size:var(--fs-xl);font-weight:var(--w-bold);line-height:var(--lh-tight);overflow-wrap:anywhere}.detail-sub{font-size:var(--fs-sm);color:var(--ink-2);margin-top:var(--sp-1)}.detail-badges{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.quick-actions{gap:var(--sp-2);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=600px){.quick-actions{grid-template-columns:repeat(4,1fr)}}.stock-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-height:var(--tap);border-bottom:1px solid var(--line);display:flex}.stock-row:last-child{border-bottom:none}.stock-row .loc{min-width:0;font-size:var(--fs-md);font-weight:var(--w-semi);flex:1}.stock-row .loc .badge{margin-left:var(--sp-2)}.stock-row .loc .loc-status{margin-top:2px;display:block}.stock-row .loc .loc-status .badge{margin-left:0}.stock-row .qty{font-size:var(--fs-xl);font-weight:var(--w-bold);line-height:var(--lh-tight);flex:none}.stock-row .qty .unit{font-size:var(--fs-sm);font-weight:var(--w-semi);color:var(--ink-2)}.stock-row .qty.zero{color:var(--ink-3)}.minmax{align-items:center;gap:var(--sp-2);flex:none;display:flex}.minmax .input{width:72px;min-height:var(--tap);padding:0 var(--sp-2);text-align:center}.minmax .lbl{font-size:var(--fs-xs);color:var(--ink-2)}@media (width<=480px){.stock-row.minmax-row{flex-wrap:wrap}.stock-row.minmax-row .loc{min-width:160px}.stock-row.minmax-row .qty{order:2;margin-left:auto}.stock-row.minmax-row .minmax{margin-top:var(--sp-1);flex:100%;order:3;justify-content:flex-start}}.price-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-height:var(--tap);border-bottom:1px solid var(--line);display:flex}.price-row:last-child{border-bottom:none}.price-row .vendor{min-width:0;font-weight:var(--w-semi);flex:1}.price-row .vendor .src{font-size:var(--fs-sm);color:var(--ink-2);font-weight:var(--w-reg);display:block}.price-row .price{font-size:var(--fs-lg);font-weight:var(--w-bold);flex:none}.price-row .when{font-size:var(--fs-sm);color:var(--ink-2);text-align:right;flex:none;min-width:64px}.price-row.best{background:var(--ok-soft)}.switch-row{justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:var(--tap);display:flex}.switch-row .t{font-size:var(--fs-md);font-weight:var(--w-semi)}.switch-row .d{font-size:var(--fs-sm);color:var(--ink-2)}.switch{border-radius:var(--r-pill);background:var(--line-strong);cursor:pointer;width:56px;height:32px;min-height:var(--tap);background-clip:content-box;border:0;flex:none;padding:6px 0;position:relative}.switch:after{content:"";border-radius:var(--r-pill);background:var(--surface);width:28px;height:28px;box-shadow:var(--shadow-card);transition:left .15s;position:absolute;top:8px;left:2px}.switch[aria-checked=true]{background-color:var(--brand)}.switch[aria-checked=true]:after{left:26px}.switch:disabled{opacity:.5;cursor:default}.filter-row{gap:var(--sp-2);scrollbar-width:none;padding-bottom:2px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.category-chips{scroll-behavior:smooth;flex-wrap:nowrap;padding:2px 2px 4px}.category-chips .chip{flex:none}@media (width>=900px) and (hover:hover){.category-chips{scrollbar-width:thin;padding-bottom:var(--sp-2)}.category-chips::-webkit-scrollbar{height:6px;display:block}.category-chips::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-pill)}}.vlist{position:relative}.list-group-head{padding:var(--sp-1) var(--sp-4);background:var(--surface-sunken);min-height:28px;color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--w-semi);letter-spacing:.02em;border-bottom:1px solid var(--line);align-items:center;margin:0;display:flex}.import-toolbar{gap:var(--sp-3);flex-direction:column;display:flex}.field-grid{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.field-grid .field+.field{margin-top:0}.import-row{align-items:center;gap:var(--sp-3);padding:0 var(--sp-3) 0 0;border-bottom:1px solid var(--line);background:var(--surface);min-height:60px;display:flex}.import-row:last-child{border-bottom:none}.import-row.is-selected{background:var(--brand-soft)}.import-row.is-imported{color:var(--ink-2)}.import-check{width:var(--tap);flex:none;justify-content:center;align-items:center;min-height:60px;margin:0;display:flex}.import-check input{width:22px;height:22px;accent-color:var(--brand);margin:0}.import-row .ident{min-width:0;padding:var(--sp-2) 0;flex:1}.import-row .name{font-size:var(--fs-md);font-weight:var(--w-semi);line-height:var(--lh-tight)}.import-row .code{font-size:var(--fs-sm);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.import-row .cost{text-align:right;font-weight:var(--w-semi);flex:none}.import-row .cost .v{font-size:var(--fs-xs);color:var(--ink-2);font-weight:var(--w-reg);display:block}.import-bar{bottom:calc(var(--tap-lg) + var(--sp-8) + env(safe-area-inset-bottom) + var(--kb-inset,0px));z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-sheet);padding:var(--sp-3) var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex;position:sticky}@media (width>=900px){.import-bar{bottom:calc(var(--sp-4) + var(--kb-inset,0px))}}.import-bar .row{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.import-bar .count{font-size:var(--fs-md);font-weight:var(--w-semi)}.check-label{align-items:center;gap:var(--sp-2);min-height:var(--tap);font-size:var(--fs-md);cursor:pointer;display:inline-flex}.check-label input{width:22px;height:22px;accent-color:var(--brand);margin:0}.see-all{cursor:pointer;font-family:var(--font);font-size:var(--fs-sm);font-weight:var(--w-semi);color:var(--brand);min-height:var(--tap);min-width:var(--tap);padding:0 var(--sp-2);margin:calc(-1 * var(--sp-3)) calc(-1 * var(--sp-2));background:0 0;border:0;align-items:center;text-decoration:none;display:inline-flex}.item-li{display:block}.item-li:last-child .item-row{border-bottom:none}.vlist .item-li{position:absolute;left:0;right:0}.vlist .item-row{height:100%}.scanner{gap:var(--sp-3);flex-direction:column;display:flex}.viewfinder{aspect-ratio:4/3;border-radius:var(--r-card);background:var(--ink);justify-content:center;align-items:center;width:100%;max-height:46dvh;display:flex;position:relative;overflow:hidden}.viewfinder video{object-fit:cover;width:100%;height:100%;display:block}.viewfinder .reticle{border-radius:var(--r-ctl);border:2px solid color-mix(in srgb, var(--surface) 85%, transparent);box-shadow:0 0 0 200vmax color-mix(in srgb, var(--ink) 35%, transparent);pointer-events:none;position:absolute;inset:30% 12%}.viewfinder .vf-msg{left:var(--sp-3);right:var(--sp-3);bottom:var(--sp-3);text-align:center;color:var(--surface);font-size:var(--fs-sm);font-weight:var(--w-semi);text-shadow:0 1px 2px color-mix(in srgb, var(--ink) 80%, transparent);position:absolute}.viewfinder .vf-torch{top:var(--sp-2);right:var(--sp-2);min-width:var(--tap);min-height:var(--tap);border-radius:var(--r-pill);background:color-mix(in srgb, var(--surface) 20%, transparent);color:var(--surface);cursor:pointer;border:0;justify-content:center;align-items:center;display:flex;position:absolute}.viewfinder .vf-torch[aria-pressed=true]{background:var(--surface);color:var(--ink)}.viewfinder .vf-off{color:var(--surface-sunken);font-size:var(--fs-md);text-align:center;padding:var(--sp-4)}.scan-status{font-size:var(--fs-md);color:var(--ink-2);min-height:22px}.scan-status.found{color:var(--ok);font-weight:var(--w-semi)}.scan-manual{gap:var(--sp-2);align-items:flex-end;display:flex}.scan-manual .field{flex:1}.scan-manual .btn{flex:none}.ta-input .ta-scan{min-width:var(--tap);min-height:var(--tap);border-radius:var(--r-ctl);color:var(--brand);cursor:pointer;margin-right:calc(-1 * var(--sp-2));background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:flex}.ta-input .ta-scan:active{background:var(--brand-soft)}.ta-input .ta-scan svg{color:var(--brand)}.ta-add{margin-top:var(--sp-3)}.photo-cap{align-items:center;gap:var(--sp-3);display:flex}.photo-cap .photo-thumb{width:72px;height:72px}.photo-cap-actions{gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.photo-cap-actions .btn{justify-content:flex-start}.photo-cap-meta{font-size:var(--fs-sm);color:var(--ink-2)}.photo-cap input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.photo-cap-error{font-size:var(--fs-sm);color:var(--danger);font-weight:var(--w-semi)}.photo-big{object-fit:contain;border-radius:var(--r-ctl);background:var(--surface-sunken);width:100%;max-height:60dvh;display:block}.code-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.code-chip{align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface-sunken);font-size:var(--fs-md);font-weight:var(--w-semi);font-variant-numeric:tabular-nums;max-width:100%;display:inline-flex}.code-chip .fmt{font-size:var(--fs-xs);font-weight:var(--w-reg);color:var(--ink-2)}.code-chip .val{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.form-section{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--line)}.form-section>.section-label{margin-bottom:var(--sp-1);display:block}.form-section .field:first-of-type{margin-top:var(--sp-2)}.doc-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-height:var(--tap);border-bottom:1px solid var(--line);color:inherit;background:var(--surface);text-align:left;width:100%;font:inherit;cursor:pointer;border-top:0;border-left:0;border-right:0;text-decoration:none;display:flex}.doc-row:last-child{border-bottom:none}.doc-row:active{background:var(--surface-sunken)}.doc-row .ident{flex:1;min-width:0}.doc-row .name{font-size:var(--fs-md);font-weight:var(--w-semi);line-height:var(--lh-tight);display:block}.doc-row .code{font-size:var(--fs-sm);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.doc-row .count{text-align:right;font-size:var(--fs-lg);font-weight:var(--w-bold);line-height:var(--lh-tight);flex:none}.doc-row .count .unit{font-size:var(--fs-xs);font-weight:var(--w-semi);color:var(--ink-2);display:block}.doc-glyph{width:var(--thumb-sm);height:var(--thumb-sm);border-radius:var(--r-ctl);background:var(--surface-sunken);color:var(--ink-2);flex:none;justify-content:center;align-items:center;display:flex}.doc-lines .line{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);min-height:var(--tap);display:flex}.doc-lines .line:last-child{border-bottom:none}.doc-lines .ident{flex:1;min-width:0}.doc-lines .name{font-size:var(--fs-md);font-weight:var(--w-semi);line-height:var(--lh-tight)}.doc-lines .meta{font-size:var(--fs-sm);color:var(--ink-2);margin-top:2px}.doc-lines .amt{text-align:right;font-size:var(--fs-md);font-weight:var(--w-semi);flex:none}.doc-lines .amt .sub{font-size:var(--fs-xs);color:var(--ink-2);font-weight:var(--w-reg);display:block}.doc-total{justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);font-weight:var(--w-semi);border-top:1px solid var(--line-strong);display:flex}.kv{gap:var(--sp-1) var(--sp-4);font-size:var(--fs-md);grid-template-columns:auto 1fr;display:grid}.kv dt{color:var(--ink-2)}.kv dd{overflow-wrap:anywhere;margin:0}.badge-row{gap:var(--sp-2);align-items:center;display:inline-flex}.item-row .code .badge,.ta-hit .code .badge{vertical-align:middle;margin-right:var(--sp-1)}.act-text .badge{vertical-align:middle;margin-left:var(--sp-1)}.match-row .btn{min-height:var(--tap)}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}.skeleton{background:var(--surface-sunken);border-radius:var(--r-ctl);animation:1.2s ease-in-out infinite skeleton-pulse}.skeleton-list{flex-direction:column;display:flex}.skeleton-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-height:var(--tap-lg);border-bottom:1px solid var(--line);display:flex}.skeleton-row:last-child{border-bottom:none}.skeleton-thumb{width:var(--thumb-md);height:var(--thumb-md);flex:none}.skeleton-ident{gap:var(--sp-2);flex-direction:column;flex:1;min-width:0;display:flex}.skeleton-line{width:72%;height:12px}.skeleton-line.short{width:42%}.skeleton-line.qty{flex:none;width:48px;height:18px}.skeleton-line.value{width:56px;height:22px;margin-top:var(--sp-1)}
