:root{color-scheme:light;--canvas: #f5f6f4;--surface: #ffffff;--surface-sunken: #eceeea;--surface-raised: #ffffff;--line: #dfe3dc;--line-strong: #c3cabf;--text: #1b221d;--text-muted: #4c564f;--text-faint: #6f7a72;--text-on-accent: #ffffff;--accent: #1f6f4a;--accent-strong: #185a3c;--accent-soft: #e3f1e9;--focus: #2b7fd4;--tone-info-bg: #e6f0fb;--tone-info-text: #1c4f87;--tone-success-bg: #e3f1e9;--tone-success-text: #1b5a3b;--tone-warning-bg: #fbefd9;--tone-warning-text: #7a4e0b;--tone-danger-bg: #fbe4e1;--tone-danger-text: #8e2a1f;--tone-neutral-bg: #eceeea;--tone-neutral-text: #4c564f;--wholesale: #1f6f4a;--retail: #8a4b9c;--radius-s: 6px;--radius-m: 10px;--radius-l: 16px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-s: .8125rem;--text-m: .9375rem;--text-l: 1.0625rem;--text-xl: 1.375rem;--shadow-raised: 0 1px 2px rgba(20, 30, 24, .08), 0 6px 20px rgba(20, 30, 24, .08);--shadow-sheet: 0 -8px 32px rgba(20, 30, 24, .18);--header-height: 52px;--tabbar-height: 56px;--list-width: 26rem;--touch-target: 44px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}:root[data-theme=dark]{color-scheme:dark;--canvas: #15191a;--surface: #1e2426;--surface-sunken: #171c1d;--surface-raised: #252c2e;--line: #2f383a;--line-strong: #44504f;--text: #e8ecea;--text-muted: #aab4ae;--text-faint: #7f8a84;--text-on-accent: #0f1a14;--accent: #6fcf97;--accent-strong: #8fdcae;--accent-soft: #1f3a2c;--focus: #6fb0ff;--tone-info-bg: #1b2f45;--tone-info-text: #9cc4f2;--tone-success-bg: #1f3a2c;--tone-success-text: #8fdcae;--tone-warning-bg: #40331a;--tone-warning-text: #f2c57c;--tone-danger-bg: #44231f;--tone-danger-text: #f0978c;--tone-neutral-bg: #262e30;--tone-neutral-text: #aab4ae;--wholesale: #6fcf97;--retail: #cf98df;--shadow-raised: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 20px rgba(0, 0, 0, .4);--shadow-sheet: 0 -8px 32px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%;overflow-x:clip}body{margin:0;min-height:100%;background:var(--canvas);color:var(--text);font-family:var(--font);font-size:var(--text-m);line-height:1.4;overflow-x:clip;-webkit-font-smoothing:antialiased}#root{min-height:100vh;min-height:100dvh}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}kbd{font-family:var(--font-mono);font-size:.75em;padding:1px 5px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;background:var(--surface-sunken)}code,.mono{font-family:var(--font-mono);font-size:.9em}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.small{font-size:var(--text-s)}.nowrap{white-space:nowrap}.tabular{font-variant-numeric:tabular-nums}.verbatim{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:var(--text-s)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding-top:var(--safe-top)}.shell__header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-3);height:var(--header-height);padding:0 var(--space-4);padding-left:calc(var(--space-4) + var(--safe-left));padding-right:calc(var(--space-4) + var(--safe-right));background:var(--surface);border-bottom:1px solid var(--line)}.shell__header-left,.shell__header-right{display:flex;align-items:center;gap:var(--space-2);min-width:0}.shell__header-right{margin-left:auto}.shell__brand{font-weight:600;font-size:var(--text-l);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell__tabs{display:flex;gap:var(--space-1);margin-left:var(--space-4)}.tab{padding:6px 12px;border-radius:var(--radius-m);color:var(--text-muted);font-weight:500}.tab:hover{text-decoration:none;background:var(--surface-sunken)}.tab--on{color:var(--accent-strong);background:var(--accent-soft)}.shell__dev-note{padding:4px var(--space-4);background:var(--tone-warning-bg);color:var(--tone-warning-text);font-size:var(--text-s);text-align:center}.shell__main{flex:1;min-height:0;padding-left:var(--safe-left);padding-right:var(--safe-right)}.shell--handheld .shell__main{padding-bottom:calc(var(--tabbar-height) + var(--safe-bottom))}.shell__tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:calc(var(--tabbar-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--surface);border-top:1px solid var(--line)}.tabbar__item{display:flex;align-items:center;justify-content:center;font-size:var(--text-s);font-weight:500;color:var(--text-muted);min-height:var(--touch-target)}.tabbar__item:hover{text-decoration:none}.tabbar__item--on{color:var(--accent-strong);box-shadow:inset 0 2px 0 var(--accent)}.split{display:grid;grid-template-columns:minmax(20rem,var(--list-width)) minmax(0,1fr);min-height:calc(100dvh - var(--header-height))}.split__list{border-right:1px solid var(--line);padding:var(--space-4);overflow-y:auto;max-height:calc(100dvh - var(--header-height));position:sticky;top:var(--header-height)}.split__detail{padding:var(--space-4) var(--space-5);min-width:0}.split--single{display:block;min-height:auto}.split--single .split__list,.split--single .split__detail{border:0;position:static;max-height:none;padding:var(--space-4)}.page{padding:var(--space-4) var(--space-5);max-width:72rem;margin:0 auto}.page--narrow{max-width:40rem}.shell--handheld .page{padding:var(--space-4)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.page-head__title{font-size:var(--text-xl);font-weight:600;line-height:1.2;overflow-wrap:anywhere}.page-head__lead{margin-top:var(--space-1);font-size:var(--text-s)}.page-head__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.gate{min-height:100dvh;display:grid;place-items:center;padding:var(--space-4)}.gate__card{width:min(26rem,100%);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-raised)}.gate__brand{font-size:var(--text-xl);font-weight:700}.gate__title{font-size:var(--text-l);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 14px;border-radius:var(--radius-m);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-weight:500;white-space:nowrap;text-decoration:none}.btn:hover{text-decoration:none;background:var(--surface-sunken)}.btn:disabled,.btn[aria-busy=true]{opacity:.55}.btn--s{min-height:32px;padding:0 10px;font-size:var(--text-s)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn--primary:hover{background:var(--accent-strong)}.btn--ghost{border-color:transparent;background:transparent;color:var(--text-muted)}.btn--danger{color:var(--tone-danger-text);border-color:var(--tone-danger-text)}.input{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-m);background:var(--surface);color:var(--text)}.input--area{min-height:64px;resize:vertical}.input--inline{width:auto;min-height:32px;padding:4px 8px}.input--file{padding:6px}.field{display:flex;flex-direction:column;gap:4px}.field__label{font-size:var(--text-s);font-weight:600;color:var(--text-muted)}.field__optional{font-weight:400}.field__hint{font-size:var(--text-s);color:var(--text-faint)}.field__error{font-size:var(--text-s);color:var(--tone-danger-text)}.field--invalid .input{border-color:var(--tone-danger-text)}.check{display:flex;align-items:center;gap:8px;min-height:var(--touch-target)}.check--compact{min-height:0}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.inline-form{display:flex;gap:var(--space-2);align-items:flex-end;flex-wrap:wrap;margin:var(--space-3) 0}.inline-form .field{flex:1 1 14rem}.actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-3)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0a0e0c73;display:grid;place-items:end center}.sheet{width:100%;max-height:calc(100dvh - var(--safe-top) - 24px);display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-l) var(--radius-l) 0 0;box-shadow:var(--shadow-sheet);padding-bottom:var(--safe-bottom);outline:none}:root[data-form-factor=desktop] .sheet-backdrop{place-items:center}:root[data-form-factor=desktop] .sheet{width:min(34rem,calc(100% - 32px));max-height:calc(100dvh - 64px);border-radius:var(--radius-l)}:root[data-form-factor=desktop] .sheet--wide{width:min(52rem,calc(100% - 32px))}.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}.sheet__title{font-size:var(--text-l);font-weight:600}.sheet__body{padding:var(--space-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}.sheet__foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--line)}body.has-sheet{overflow:hidden}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:var(--text-s);line-height:1.5;background:var(--tone-neutral-bg);color:var(--tone-neutral-text);white-space:nowrap;vertical-align:middle;margin-right:4px}.badge--info{background:var(--tone-info-bg);color:var(--tone-info-text)}.badge--success{background:var(--tone-success-bg);color:var(--tone-success-text)}.badge--warning{background:var(--tone-warning-bg);color:var(--tone-warning-text)}.badge--danger{background:var(--tone-danger-bg);color:var(--tone-danger-text)}.badge--wholesale{background:var(--accent-soft);color:var(--wholesale)}.badge--retail{background:var(--tone-neutral-bg);color:var(--retail)}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--tone-info-bg);color:var(--tone-info-text);margin:var(--space-2) 0}.notice--success{background:var(--tone-success-bg);color:var(--tone-success-text)}.notice--warning{background:var(--tone-warning-bg);color:var(--tone-warning-text)}.notice--danger{background:var(--tone-danger-bg);color:var(--tone-danger-text)}.notice--neutral{background:var(--tone-neutral-bg);color:var(--tone-neutral-text)}.state{padding:var(--space-5) var(--space-4);text-align:center;color:var(--text-muted)}.state--compact{padding:var(--space-2) 0;text-align:left}.state__title{font-weight:500;color:var(--text)}.state--error .state__title{color:var(--tone-danger-text)}.state__hint{margin-top:var(--space-1);font-size:var(--text-s)}.state__action{margin-top:var(--space-3)}.tone-danger{color:var(--tone-danger-text)}.list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);overflow:hidden}.list--stale{opacity:.7}.row{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);min-height:var(--touch-target);border-bottom:1px solid var(--line);cursor:pointer}.row:last-child{border-bottom:0}.row:hover{background:var(--surface-sunken)}.row--selected{background:var(--accent-soft)}.row__main{flex:1;min-width:0}.row__primary{font-weight:500;overflow-wrap:anywhere}.row__badges{margin-top:2px}.row__aside{flex-shrink:0;text-align:right}.row__actions{display:flex;gap:4px;flex-shrink:0}.list--compact .row{padding:8px var(--space-3)}.pager{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) 0}.search{position:relative;margin-bottom:var(--space-3)}.search__clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--text-faint);padding:6px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:var(--space-2) 0}.chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--text-muted);border-radius:999px;padding:4px 10px;font-size:var(--text-s)}.chip--on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.chip__count{margin-left:6px;opacity:.8}.date--stale{color:var(--tone-warning-text)}.price__amount{font-weight:600}.glance{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:var(--space-4);row-gap:6px}.facts__row{display:contents}.facts dt{color:var(--text-muted);font-size:var(--text-s);padding-top:2px}.facts dd{overflow-wrap:anywhere}.bullets{list-style:disc;padding-left:1.2em;margin-top:4px}.pick-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:40px;padding:4px 0 4px 10px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface)}.catalog__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m)}.catalog__working{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.card{display:flex;flex-direction:column;gap:var(--space-4);max-width:56rem}.card-section{padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);display:flex;flex-direction:column;gap:var(--space-3)}.card-section__title{font-size:var(--text-m);font-weight:600}.barcodes__item{padding:4px 0}.price-list{display:flex;flex-direction:column;gap:var(--space-2)}.price-list__item{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(10rem,1.4fr) minmax(10rem,1.2fr) auto;gap:var(--space-3);align-items:start;padding:var(--space-2) 0;border-top:1px solid var(--line)}.price-list__item>.history{grid-column:1 / -1}.price-list__seller{font-weight:500;overflow-wrap:anywhere}.price-list__meta{display:flex;flex-direction:column;gap:2px}.source-link{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.history{padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-s)}.history__list{display:flex;flex-direction:column;gap:var(--space-2)}.history__item{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;gap:2px var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}.history__item--retracted{opacity:.6;text-decoration:line-through}.history__item>.price-details,.history__item>.small{grid-column:2;text-decoration:none}@media(max-width:52rem){.price-list__item{grid-template-columns:1fr;gap:4px}.history__item{grid-template-columns:1fr}.history__item>.price-details,.history__item>.small{grid-column:1}}.import{display:flex;flex-direction:column;gap:var(--space-3)}.import__state{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:var(--space-2)}.counts__item{padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s)}.counts dd{font-size:var(--text-l);font-weight:600}.diagnostics{padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s)}.diagnostics summary{cursor:pointer;font-weight:500}.diagnostics ul{margin-top:var(--space-2);display:flex;flex-direction:column;gap:4px}.rows{display:flex;flex-direction:column;gap:var(--space-2)}.list--rows{outline:none}.review{display:flex;flex-direction:column;gap:var(--space-4);max-width:64rem}.review__head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start;flex-wrap:wrap}.review__nav{display:flex;gap:var(--space-2)}.review__compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3);align-items:start}.evidence,.parsed,.candidates,.decision{padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.cells{width:100%;border-collapse:collapse;font-size:var(--text-s)}.cells th,.cells td{text-align:left;vertical-align:top;padding:4px 6px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.cells th{width:35%;font-weight:500}.crop{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface-sunken)}.crop__canvas{display:block;max-width:100%;height:auto}.candidates__list{display:flex;flex-direction:column;gap:var(--space-2)}.candidate{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-s);display:flex;flex-direction:column;gap:4px}.candidate--chosen{border-color:var(--accent);background:var(--accent-soft)}.candidate__head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.decision__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}@media(max-width:52rem){.review__compare{grid-template-columns:1fr}}.presets .list,.catalog .list{margin-bottom:var(--space-2)}.verbatim{font-family:var(--font-mono);font-size:.92em;white-space:pre-wrap;overflow-wrap:anywhere}.price-details{margin-top:2px}
