:root{--bg:#ffffff;--surface:#ffffff;--sunk:#ffffff;--fg:#000000;--muted:#000000;--line:#000000;--accent:#000000;--accent-fg:#ffffff;--accent-strong:#333333;--ok:#1f7a46;--ok-soft:#dcf1e3;--warn:#9a6200;--warn-soft:#faefd6;--bad:#b8322a;--bad-soft:#f8e0dd;--info:#2c63c4;--info-soft:#e1ebfb;--radius:8px;--radius-sm:6px;--hover:#f2f2f2;--font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;color-scheme:light}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--fg);font:15px/1.55 var(--font)}a{color:inherit}h1,h2,h3{margin:0;line-height:1.2;text-wrap:balance}h1{font-size:1.7rem;font-weight:800;letter-spacing:-.01em}h2{font-size:1.25rem;font-weight:750}h3{font-size:1rem;font-weight:650}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.mono{font-family:var(--mono);font-size:.85em}.muted{color:var(--muted)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wrap{max-width:1180px;margin:0 auto;padding:0 16px}.stack{display:grid;gap:16px}.row,.spread{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--surface);padding:8px 14px;border-radius:var(--radius-sm);font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn.danger{color:var(--bad)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{padding:4px 10px;font-size:.85rem}.btn.block{width:100%}.field{display:grid;gap:4px;font-size:.82rem;font-weight:600;color:var(--muted)}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:8px 10px;font-weight:400;color:var(--fg);min-width:0;width:100%}.check{display:flex;gap:8px;align-items:flex-start;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.pad{padding:16px}.pill{display:inline-block;font:600 .72rem var(--mono);padding:2px 8px;border-radius:999px;white-space:nowrap}.p-ok{background:var(--ok-soft);color:var(--ok)}.p-warn{background:var(--warn-soft);color:var(--warn)}.p-bad{background:var(--bad-soft);color:var(--bad)}.p-info{background:var(--info-soft);color:var(--info)}.p-mute{background:var(--sunk);color:var(--muted)}.tag{display:inline-block;font:600 .75rem var(--mono);background:var(--accent);color:var(--accent-fg);padding:1px 6px;border-radius:2px}.alert{padding:10px 12px;border-radius:var(--radius-sm);font-size:.9rem}.alert.err{background:var(--bad-soft);color:var(--bad)}.alert.ok{background:var(--ok-soft);color:var(--ok)}.alert.warn{background:var(--warn-soft);color:var(--warn)}.tbl{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}td,th{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}th{font:600 .7rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--sunk)}td.r,th.r{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}.shop-head{background:var(--bg);color:var(--fg);border-bottom:1px solid var(--line);position:relative;z-index:20}.topstrip{border-bottom:1px solid color-mix(in srgb,var(--line) 18%,transparent);font-size:.82rem}.topstrip .wrap{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:16px;padding-block:6px}.topstrip a{text-decoration:none}.head-row{gap:12px 28px;padding-block:12px;flex-wrap:wrap}.brand,.head-row{display:flex;align-items:center}.brand{gap:10px;font-weight:800;text-decoration:none;letter-spacing:.01em;font-size:1.05rem}.brand-mark{display:inline-grid;place-items:center;width:32px;height:32px;background:var(--accent);color:var(--accent-fg);border-radius:var(--radius-sm);font:800 .8rem var(--mono)}.menu-wrap{flex:1 1 420px;min-width:0}.menu{display:flex;flex-wrap:wrap;gap:4px}.menu,.menu-item{align-items:center}.menu-item{display:inline-flex;gap:6px;min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.menu-item:hover{background:var(--hover)}.menu-item[aria-expanded=true]{background:var(--fg);color:var(--bg)}.menu-toggle{display:none}.menu-dd{position:relative}.menu-list{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:220px;margin:0;padding:6px;list-style:none;background:var(--bg);border:1px solid var(--fg);box-shadow:0 10px 24px rgba(0,0,0,.12)}.menu-list,.menu-list a{border-radius:var(--radius-sm)}.menu-list a{display:block;padding:10px 12px;text-decoration:none;font-weight:600;white-space:nowrap}.menu-list a:focus-visible,.menu-list a:hover{background:var(--hover)}.head-actions{display:flex;align-items:center;gap:10px}.icon-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-sm)}.icon-btn:hover{background:var(--hover)}@media (max-width:860px){.menu-wrap{order:3;flex-basis:100%}.menu-toggle{display:inline-flex}.menu{display:none;flex-direction:column;align-items:stretch;padding-top:8px}.menu.is-open{display:flex}.menu-dd .menu-item{width:100%;justify-content:space-between}.menu-list{position:static;box-shadow:none;border:0;border-left:2px solid var(--fg);border-radius:0;margin:2px 0 6px 12px}.head-actions{margin-left:auto}}.hero{position:relative;border-radius:var(--radius);overflow:hidden;background:#141414;color:#fff}.hero-slide{display:flex;align-items:center;gap:24px;min-height:380px;padding:40px 72px;flex-wrap:wrap}.hero-text{flex:1 1 360px;display:grid;gap:12px;align-content:center}.hero-text h2{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;font-weight:800;color:#fff}.hero-text p{font-size:1.05rem;max-width:560px;color:#f2f2f2}.hero-label{font:700 .72rem var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:4px}.hero .btn.hero-btn,.hero-label{justify-self:start;background:#fff;color:#000}.hero .btn.hero-btn{border-color:#fff;min-height:44px}.hero .btn.hero-btn:hover{background:#e9e9e9}.hero-img{flex:1 1 320px;display:grid;place-items:center;max-height:320px}.hero-img img{max-width:100%;max-height:320px;object-fit:contain}.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;border:1px solid #fff;background:rgba(0,0,0,.45);color:#fff;font-size:22px;cursor:pointer}.hero-arrow.prev{left:14px}.hero-arrow.next{right:14px}.hero-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:2px}.hero-dots button{width:32px;height:32px;border:0;background:none;display:grid;place-items:center;cursor:pointer;padding:0}.hero-dots span{width:10px;height:10px;border-radius:999px;border:2px solid #fff;box-sizing:border-box}.hero-dots button[aria-current=true] span{background:#fff;width:12px;height:12px}@media (max-width:640px){.hero-slide{padding:28px 24px 56px;min-height:0}.hero-arrow{top:auto;bottom:8px;transform:none}}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.cat-card{padding:14px;display:grid;gap:10px;text-decoration:none;color:inherit}.cat-card:hover{background:var(--hover)}.cat-name{font-weight:700;font-size:1.02rem}.feat-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.info-card{overflow:hidden;display:grid;align-content:start}.info-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding-top:8px}.pager .btn{min-height:44px}.pager-num{min-width:44px}.pager span[aria-disabled=true]{opacity:.4;cursor:default}.date-bar{gap:12px;align-items:end}.cats,.date-bar{display:flex;flex-wrap:wrap}.cats{gap:6px}.cats a{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:.88rem;text-decoration:none}.cats a[aria-current=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.browse{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.cat-side{position:sticky;top:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:10px}.cat-side h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin:4px 8px 8px}.cat-side ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.cat-side a{display:block;padding:8px 10px;border-radius:var(--radius-sm);text-decoration:none;font-size:.95rem}.cat-side a:hover{background:var(--hover)}.cat-side a[aria-current=page]{background:var(--fg);color:var(--bg);font-weight:600}@media (max-width:1180px){.browse .shop-grid{grid-template-columns:1fr}.browse .cart{position:static}}@media (max-width:760px){.browse{grid-template-columns:1fr}.cat-side{position:static}.cat-side ul{display:flex;flex-wrap:wrap;gap:6px}.cat-side a{border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:.88rem}}.shop-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.prod{padding:14px;display:grid;gap:8px;align-content:start}.prod-thumb{aspect-ratio:4/3;max-width:100%;background:var(--sunk);border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--muted);overflow:hidden}.prod-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}.prod h3{font-size:.95rem;min-height:2.5em}.prod .pill{justify-self:start}.price{font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cart{position:sticky;top:16px;padding:16px;display:grid;gap:12px}.cart-line{display:flex;justify-content:space-between;gap:8px;font-size:.9rem;align-items:flex-start}.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm)}.qty button{border:0;background:none;width:28px;height:28px;cursor:pointer}.qty span{min-width:22px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.totals{display:grid;gap:4px;font-size:.9rem;border-top:1px solid var(--line);padding-top:10px}.totals div{display:flex;justify-content:space-between;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.totals .grand{font-weight:800;font-size:1.05rem;padding-top:4px}.note{font-size:.82rem}.note,.shop-foot{color:var(--muted)}.shop-foot{border-top:1px solid var(--line);margin-top:48px;padding-block:24px;font-size:.85rem}.checkout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.admin{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.side{background:var(--bg);color:var(--fg);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:4px}.side .brand{margin-bottom:18px;font-size:.95rem}.side a.nav{display:block;padding:8px 10px;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;opacity:.8}.side a.nav:hover{opacity:1;background:var(--hover)}.side .who{margin-top:auto;font-size:.82rem;opacity:.75;display:grid;gap:6px}.side .who button{background:none;border:1px solid;color:inherit;border-radius:var(--radius-sm);padding:4px 8px;cursor:pointer;justify-self:start}.admin-main{padding:24px;display:grid;gap:20px;align-content:start;min-width:0}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.tile{padding:14px;display:grid;gap:2px}.tile b{font-size:1.7rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile span{font-size:.85rem;color:var(--muted)}.tile.alarm{border-color:var(--bad)}.tile.alarm b{color:var(--bad)}.cal{overflow-x:auto}.cal-grid{display:grid;min-width:960px;font-size:.78rem}.cal-grid .hd{font:600 .68rem var(--mono);color:var(--muted);padding:6px 2px;text-align:center;border-bottom:1px solid var(--line);background:var(--sunk)}.cal-grid .hd.today{color:var(--accent-strong)}.cal-grid .rl{padding:6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-grid .cell,.cal-grid .rl{border-bottom:1px solid var(--line)}.cal-grid .cell{border-left:1px solid var(--line);position:relative;min-height:32px}.cal-grid .cell.today{background:color-mix(in srgb,var(--accent) 14%,transparent)}.bar{position:absolute;inset:5px 0;font:600 .66rem var(--mono);padding:3px 6px;overflow:hidden;white-space:nowrap;text-decoration:none;color:var(--fg)}.bar.CONFIRMED,.bar.PENDING_PAYMENT{background:var(--info-soft)}.bar.PREPPED{background:var(--warn-soft)}.bar.OUT{background:var(--ok-soft)}.bar.RETURNED{background:var(--sunk)}.bar.overdue{background:var(--bad-soft)}.bar.start{border-left:3px solid var(--muted)}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login .card{width:100%;max-width:380px;padding:24px;display:grid;gap:14px}.labels{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.label{border:1px dashed var(--line);background:#fff;color:#111;padding:10px;display:grid;justify-items:center;gap:4px;border-radius:4px;page-break-inside:avoid;break-inside:avoid}.label svg{width:120px;height:120px}.label b{font:700 1rem var(--mono)}.label small{font-size:.7rem;text-align:center;color:#444}@media print{.no-print,.side{display:none!important}.admin{display:block}.admin-main{padding:0}body{background:#fff}.labels{grid-template-columns:repeat(4,1fr)}}.scan{max-width:520px;margin:0 auto;padding:0 16px;padding-block:12px 40px;display:grid;gap:12px}.scan-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.viewer{position:relative;aspect-ratio:4/3;max-width:100%;background:#000;border-radius:12px;overflow:hidden}.viewer video{width:100%;height:100%;object-fit:cover;display:block}.viewer .frame{position:absolute;inset:20% 26%;border:2px solid var(--accent);border-radius:10px;pointer-events:none}.viewer .hint{position:absolute;left:0;right:0;bottom:10px;text-align:center;color:#ddd;font-size:.85rem}.progress{height:6px;background:var(--sunk);border-radius:3px;overflow:hidden}.progress i{display:block;height:100%;background:var(--ok)}.scan-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);font-size:.9rem}.scan-item.done{border-color:var(--ok);background:var(--ok-soft)}.scan-item.missing{border-color:var(--bad);background:var(--bad-soft)}.manual{display:flex;gap:6px}.manual input{flex:1 1;min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:8px 10px;font-family:var(--mono);text-transform:uppercase}.manual input::placeholder{text-transform:none;font-family:var(--font)}@media (max-width:900px){.checkout,.shop-grid{grid-template-columns:1fr}.cart{position:static}.admin{grid-template-columns:1fr}.side{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px}.side .brand{margin:0 12px 0 0}.side .who{margin:0 0 0 auto;display:flex;align-items:center}.admin-main{padding:16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.theme-edit{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:20px;align-items:start}.swatch-row{display:grid;grid-template-columns:44px 1fr 92px;gap:10px;align-items:center}.swatch-row input[type=color]{width:44px;height:34px;padding:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:none;cursor:pointer}.swatch-row input[type=text]{font-family:var(--mono);text-transform:lowercase}.swatch-row b{display:block;font-size:.88rem}.swatch-row small{color:var(--muted);font-size:.75rem}.presets{display:flex;gap:8px;flex-wrap:wrap}.preview{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.preview-inner{background:var(--bg);color:var(--fg);font-family:var(--font);padding:16px;display:grid;gap:14px}@media (max-width:860px){.theme-edit{grid-template-columns:1fr}}.prod-link{display:grid;gap:8px;text-decoration:none;color:inherit}.prod-link:hover h3{text-decoration:underline}.crumbs{display:flex;gap:8px;font-size:.88rem;color:var(--muted)}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}.item{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}.gallery{display:grid;gap:10px}.gallery-main{aspect-ratio:1/1;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;display:grid;place-items:center}.gallery-main img{width:100%;height:100%;object-fit:contain}.gallery-thumbs{display:flex;gap:8px;flex-wrap:wrap}.gallery-thumbs button{width:72px;height:72px;padding:4px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;cursor:pointer;opacity:.6}.gallery-thumbs button:hover,.gallery-thumbs button[aria-current=true]{opacity:1;outline:2px solid var(--fg);outline-offset:-2px}.gallery-thumbs img{width:100%;height:100%;object-fit:contain}.price-big{font-size:1.6rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.date-bar.compact{gap:8px}.avail-box{border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:grid;gap:10px}.avail-box .btn{justify-self:start;padding:10px 22px;font-size:1rem}.specs{margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.specs div{display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:12px;padding:9px 14px;border-top:1px solid var(--line)}.specs div:first-child{border-top:0}.specs dt{font-weight:650}.specs dd{margin:0}@media (max-width:860px){.item{grid-template-columns:1fr}}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.photo-tile{margin:0;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px;display:grid;gap:8px}.photo-tile img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff}.field textarea{background:var(--surface);padding:8px 10px;font-weight:400;color:var(--fg);width:100%;resize:vertical}.edit-block,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm)}.edit-block{padding:14px;display:grid;gap:12px;margin:0}.edit-block legend{font-weight:700;padding:0 6px}.save-bar{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--line);padding:12px 0;display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap}