:root{--color-accent:#2b5d9e;--color-accent-dark:color-mix(in srgb, var(--color-accent) 80%, black);--color-chip:#ece9e2;--color-danger:#c62828;--color-danger-bg:#fdecec;--color-danger-line:#e8a5a5;--color-ground:#f4f2ee;--color-ink:#1b1f23;--color-line:#d9d5cc;--color-muted:#5c6168;--color-ok:#2f7d4f;--color-surface:#fff;--color-warn-bg:#fff6e5;--color-warn-ink:#7a5200;--color-warn-line:#f0c36d;--font-display:"Barlow Condensed", "IBM Plex Sans", ui-sans-serif, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", monospace;--font-sans:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--radius-card:14px;--radius-control:12px;--tap-target:44px}*,:before,:after{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--color-ground);touch-action:manipulation}html.scanner-open,html.scanner-open body{overscroll-behavior:none;overflow:hidden}body{-webkit-font-smoothing:antialiased;background:var(--color-ground);color:var(--color-ink);font-family:var(--font-sans);min-height:100dvh;margin:0;line-height:1.4}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}[x-cloak]{display:none!important}.app{flex-direction:column;max-width:28rem;min-height:100dvh;margin:0 auto;display:flex}.app__header{padding:max(1.25rem, env(safe-area-inset-top)) 1.25rem .75rem;justify-content:space-between;align-items:center;display:flex}.app__brand{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:22px;font-weight:700}.app__avatar{background:var(--color-ink);color:var(--color-ground);height:var(--tap-target);width:var(--tap-target);border:0;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.app__status{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-control);margin:0 1.25rem .75rem;padding:.75rem 1rem;font-size:14px;font-weight:500}.app__main{padding:0 1.25rem max(2.5rem, env(safe-area-inset-bottom));flex:1}.page__title{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:.25rem 0 1rem;font-size:28px;font-weight:700}.page__label{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin:1.25rem 0 .5rem;font-size:12px;font-weight:600}.page__meta{color:var(--color-muted);margin:0 0 .5rem;font-size:13px}.page__meta--mono{font-family:var(--font-mono)}.page__title--item{text-transform:none;margin-bottom:.25rem;font-size:24px}.btn{background:var(--color-accent);border-radius:var(--radius-control);color:#fff;border:0;justify-content:center;align-items:center;width:100%;min-height:56px;padding:0 1.25rem;font-size:19px;font-weight:600;display:flex}.btn:active{background:var(--color-accent-dark)}.btn[disabled]{opacity:.6}.btn--inline{width:auto;min-height:48px}.btn--block{width:100%;margin-bottom:1rem}.btn--secondary{background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-ink);min-height:var(--tap-target);width:auto;font-size:15px;font-weight:500}.btn--secondary:active{background:var(--color-chip)}.field{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.field__label{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.field__input{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-control);color:var(--color-ink);width:100%;min-height:48px;padding:0 .875rem;font-size:17px}.field__input--mono{font-family:var(--font-mono)}.field__error{color:var(--color-danger);margin:0;font-size:13px}.field--inline{flex-direction:row;gap:.5rem}.field-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.field-row--wide{grid-template-columns:2fr 1fr}.notice{border-radius:var(--radius-control);border:1px solid;margin:0 0 .75rem;padding:.75rem .875rem;font-size:14px}.notice--danger{background:var(--color-danger-bg);border-color:var(--color-danger-line);color:var(--color-danger)}.notice--warn{background:var(--color-warn-bg);border-color:var(--color-warn-line);color:var(--color-warn-ink)}.chip{background:var(--color-chip);font-family:var(--font-mono);white-space:nowrap;border-radius:8px;padding:2px 8px;font-size:13px;font-weight:500}.chip--danger{background:var(--color-danger);color:#fff}.chip--warn{background:var(--color-warn-ink);color:#fff}.badge{background:var(--color-accent);color:#fff;text-align:center;border-radius:10px;min-width:20px;margin-left:auto;padding:2px 7px;font-size:12px;font-weight:600}.variance{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.variance__text{flex:1;min-width:0}.auth{flex-direction:column;justify-content:center;max-width:24rem;min-height:100dvh;margin:0 auto;padding:2rem 1.25rem;display:flex}.auth__brand{font-family:var(--font-display);letter-spacing:.04em;text-align:center;text-transform:uppercase;margin:0 0 1.5rem;font-size:30px;font-weight:700}.auth__card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:16px;padding:1.5rem 1.25rem}.auth__title{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:0 0 1rem;font-size:22px;font-weight:700}.hero{background:var(--color-accent);color:#fff;min-height:var(--tap-target);border-radius:16px;align-items:center;gap:1rem;margin-bottom:.75rem;padding:1.25rem;display:flex}.hero:active{background:var(--color-accent-dark)}.hero__icon{flex:none;width:40px;height:40px}.hero__title{font-family:var(--font-display);text-transform:uppercase;font-size:28px;font-weight:700;line-height:1}.hero__hint{margin-top:.25rem;font-size:14px}.tile{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);min-height:var(--tap-target);align-items:center;gap:.875rem;margin-bottom:.5rem;padding:1rem;display:flex}.tile:active{background:var(--color-chip)}.tile__icon{flex:none;width:24px;height:24px}.tile__title{font-weight:600}.tile__hint{color:var(--color-muted);font-size:12px}.activity{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);margin:0;padding:0;list-style:none;overflow:hidden}.activity__item{justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .875rem;display:flex}.activity__item+.activity__item{border-top:1px solid var(--color-chip)}.activity__title{font-size:14px;font-weight:500}.activity__meta{color:var(--color-muted);font-size:12px}.activity__count{color:var(--color-muted);font-family:var(--font-mono);white-space:nowrap;font-size:13px}.activity__empty{color:var(--color-muted);padding:1rem .875rem;font-size:14px}.scanner{background:var(--color-ink);border-radius:var(--radius-card);color:#fff;margin-bottom:1rem;overflow:hidden}.scanner__view{z-index:100;background:#000;flex-direction:column;height:100dvh;display:flex;position:fixed;inset:0}.scanner__video{object-fit:cover;background:#000;flex:1;width:100%;min-height:0;display:block}.scanner__aim{pointer-events:none;border:3px solid #ffffffd9;border-radius:18px;width:62vmin;max-width:340px;height:62vmin;max-height:340px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #00000059}.scanner__top{padding:max(.75rem, env(safe-area-inset-top)) 1rem 1.75rem;background:linear-gradient(#000000b3,#0000);justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex;position:absolute;top:0;left:0;right:0}.scanner__bottom{padding:1.75rem 1rem max(1rem, env(safe-area-inset-bottom));background:linear-gradient(#0000,#000000bf);justify-content:center;gap:.75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.scanner__close,.scanner__chip{color:#fff;cursor:pointer;min-height:var(--tap-target);white-space:nowrap;background:#ffffff2e;border:1px solid #ffffff8c;border-radius:999px;padding:0 1.25rem;font-size:15px;font-weight:600;position:relative}.scanner__close{flex:none;align-items:center;display:flex}.scanner__chip{justify-content:center;align-items:center;display:flex}.scanner__bar{justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .875rem;display:flex}.scanner__hint{color:#c4c8cd;margin:0;font-size:13px}.scanner__hint--overlay{color:#fff;text-shadow:0 1px 3px #000c;padding-top:.5rem;font-size:15px;font-weight:500;line-height:1.3}.scanner__button{background:var(--color-accent);color:#fff;min-height:var(--tap-target);white-space:nowrap;border:0;border-radius:10px;padding:0 1rem;font-weight:600}.scanner__tools{border-top:1px solid #3a4046;grid-template-columns:1fr 1fr;display:grid}.scanner__tool{color:#fff;cursor:pointer;min-height:var(--tap-target);background:0 0;border:0;justify-content:center;align-items:center;padding:0 .875rem;font-size:14px;text-decoration:underline;display:flex;position:relative}.scanner__tool+.scanner__tool{border-left:1px solid #3a4046}.scanner__tool:focus-within{outline:3px solid var(--color-accent);outline-offset:-3px}.scanner__file{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.is-flash{animation:1.4s ease-out entry-flash}@keyframes entry-flash{0%{box-shadow:0 0 0 4px var(--color-accent)}to{box-shadow:0 0 0 4px #0000}}.results{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-control);margin:-.5rem 0 1rem;padding:0;list-style:none;overflow:hidden}.results--flush{margin-top:0}.results__button{min-height:var(--tap-target);text-align:left;background:0 0;border:0;width:100%;padding:.5rem .875rem;display:block}.results__button:active{background:var(--color-chip)}.results__sku{color:var(--color-muted);font-family:var(--font-mono);font-size:12px}.results>li+li{border-top:1px solid var(--color-chip)}.line{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);flex-direction:column;gap:.5rem;margin-bottom:.5rem;padding:.75rem .875rem;display:flex}.line--warn{background:var(--color-warn-bg);border-color:var(--color-warn-line)}.line--danger{background:var(--color-danger-bg);border-color:var(--color-danger-line)}.line--active{border-color:var(--color-accent);border-width:2px}.line--button{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;width:100%}.line__count{font-family:var(--font-mono);white-space:nowrap;font-size:15px;font-weight:500}.line__main{align-items:center;gap:.75rem;display:flex}.line__text{flex:1;min-width:0}.line__name{font-size:15px;font-weight:600}.line__meta{color:var(--color-muted);font-family:var(--font-mono);margin-top:2px;font-size:12px}.line__tools{justify-content:space-between;align-items:center;display:flex}.line__note{color:var(--color-warn-ink);margin:0;font-size:13px}.line__note--danger{color:var(--color-danger)}.line__remove{color:var(--color-muted);min-height:var(--tap-target);background:0 0;border:0;padding:0 .5rem;font-size:13px}.stepper{align-items:center;gap:.125rem;display:flex}.stepper__button{background:var(--color-chip);height:var(--tap-target);width:var(--tap-target);border:0;border-radius:10px;font-size:22px}.stepper__input{font-family:var(--font-mono);text-align:center;background:0 0;border:0;width:4.5rem;font-size:20px;font-weight:500}.stepper__unit{background:var(--color-surface);border:1px solid var(--color-line);min-height:var(--tap-target);border-radius:10px;padding:0 .5rem;font-size:16px}.stock{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);margin:0 0 1rem;padding:0;list-style:none;overflow:hidden}.stock__item+.stock__item{border-top:1px solid var(--color-chip)}.stock__link{min-height:var(--tap-target);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .875rem;display:flex}.stock__text{flex:1;min-width:0}.stock__name{font-size:15px;font-weight:600}.stock__sku{color:var(--color-muted);font-family:var(--font-mono);font-size:12px}.stock__qtys{text-align:right;flex-direction:column;gap:2px;display:flex}.stock__qty{font-family:var(--font-mono);font-size:14px;font-weight:500}.stock__qty--negative{color:var(--color-danger)}.stock__where{color:var(--color-muted);font-family:var(--font-sans);text-transform:uppercase;margin-right:.375rem;font-size:11px;font-weight:400}.onhand{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.onhand__cell{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);padding:.75rem .875rem}.onhand__cell--negative{background:var(--color-danger-bg);border-color:var(--color-danger-line);color:var(--color-danger)}.onhand__where{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.onhand__qty{font-family:var(--font-mono);font-size:24px;font-weight:500}.steps{gap:.5rem;margin:0 0 .25rem;padding:0;list-style:none;display:flex}.steps__count{color:var(--color-muted);margin:.375rem 0 1.25rem;font-size:13px}.steps__item{border-top:4px solid var(--color-line);color:var(--color-muted);flex:1;align-items:center;gap:.375rem;padding-top:.375rem;font-size:13px;font-weight:600;display:flex}.steps__item--done{border-top-color:var(--color-accent)}.steps__item--current{border-top-color:var(--color-accent);color:var(--color-ink)}.steps__number{background:var(--color-chip);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex}.steps__item--current .steps__number,.steps__item--done .steps__number{background:var(--color-accent);color:#fff}.summary{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-control);justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.5rem .875rem;font-size:14px;display:flex}.link{color:var(--color-accent);min-height:var(--tap-target);background:0 0;border:0;padding:0 .25rem;font-weight:600;text-decoration:underline}.actions{grid-template-columns:1fr 2fr;gap:.75rem;margin-top:1rem;display:grid}.actions .btn{width:100%}.review__facts{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0 0 .5rem;padding:.75rem .875rem;display:grid}.review__fact dt{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.review__fact dd{font-family:var(--font-mono);overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:500}.review__qty{font-family:var(--font-mono);text-align:right;white-space:nowrap;flex-direction:column;font-size:15px;font-weight:500;display:flex}.review__converted{color:var(--color-muted);font-size:12px}
