:root{--bg:#f6f7f9;--surface:#fff;--surface2:#f1f3f6;--border:#e5e8ec;--text:#111827;--muted:#6b7280;--accent:#2563eb;--accent-hover:#1d4ed8;--btn-bg:#111827;--btn-hover:#000;--success:#15803d;--warn:#b45309;--danger:#b91c1c;--radius:10px;--shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);font:15px/1.5 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a,body{color:var(--text)}a{text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}.container{max-width:1200px;margin:0 auto;padding:0 20px}.narrow{max-width:560px}.mid{max-width:860px}.site-header{border-bottom:1px solid var(--border);background:hsla(0,0%,100%,.95);position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.site-header .inner{gap:26px;height:62px}.site-header .inner,.wordmark{display:flex;align-items:center}.wordmark{gap:10px;white-space:nowrap}.logo-img{height:20px;width:auto;display:block}.wordmark .ws{color:#6b7280;font-weight:700;letter-spacing:3px;font-size:11px;text-transform:uppercase;padding-top:2px}.theme-toggle{background:transparent;border:1px solid #d1d5db;color:#6b7280;border-radius:8px;width:34px;height:34px;cursor:pointer;font-size:15px;line-height:1}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.hero-logo{height:54px;width:auto;margin-bottom:22px}@media (max-width:640px){.hero-logo{height:38px}.logo-img{height:16px}}.nav{display:flex;gap:4px;align-items:center;margin-left:auto;flex-wrap:wrap}.nav a{padding:7px 12px;border-radius:8px;color:#374151;font-size:14px;font-weight:500}.nav a:hover{color:var(--text);background:var(--surface2)}.nav .pill{background:var(--btn-bg);border:1px solid var(--btn-bg);border-radius:999px;padding:6px 14px;color:#fff;font-weight:600}.nav .pill:hover{background:var(--btn-hover);color:#fff}.cart-count{background:var(--accent);color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:1px 7px;margin-left:5px;vertical-align:2px}.btn{display:inline-block;background:var(--btn-bg);color:#fff;font-weight:600;border:0;border-radius:8px;padding:10px 18px;cursor:pointer;font-size:14px}.btn:hover{background:var(--btn-hover);color:#fff}.btn.ghost{background:#fff;color:var(--text);border:1px solid #d1d5db;font-weight:600}.btn.ghost:hover{border-color:var(--btn-bg);background:var(--surface2);color:var(--text)}.btn.small{padding:7px 12px;font-size:13px;border-radius:7px}.btn.danger{background:#fff;border:1px solid #fca5a5;color:var(--danger)}.btn.danger:hover{background:#fef2f2}.btn.success{background:#16a34a}.btn.success:hover{background:#15803d}.btn:disabled{opacity:.5;cursor:not-allowed}.input,select.input,textarea.input{width:100%;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;color:var(--text);outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.12)}textarea.input{resize:vertical;min-height:90px}label.lbl{display:block;font-size:13px;color:#374151;margin:14px 0 5px;font-weight:600}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 16px;gap:0 16px}@media (max-width:640px){.field-row{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.panel-title{font-size:12.5px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin:0 0 12px;font-weight:700}.alert{border-radius:8px;padding:12px 14px;font-size:14px;margin:14px 0;border:1px solid}.alert.info{border-color:#bfdbfe;background:#eff6ff;color:#1e40af}.alert.ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.alert.warn{border-color:#fde68a;background:#fffbeb;color:#92400e}.alert.err{border-color:#fecaca;background:#fef2f2;color:#991b1b}.alert a{color:inherit;text-decoration:underline}.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.4px;padding:3px 9px;border-radius:999px;text-transform:uppercase}.badge.stock{background:#dcfce7;color:#15803d}.badge.low{background:#fef3c7;color:#b45309}.badge.muted{background:var(--surface2);color:var(--muted)}.badge.orange{background:#ffedd5;color:#c2410c}.badge.red{background:#fee2e2;color:#b91c1c}.badge.blue{background:#dbeafe;color:#1d4ed8}.hero{padding:84px 0 60px;text-align:center}.hero h1{font-size:44px;line-height:1.12;margin:0 0 18px;letter-spacing:-.5px}.hero h1 .accent{color:var(--accent)}.hero p.sub{color:var(--muted);font-size:18px;max-width:640px;margin:0 auto 30px}.hero .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.kicker{color:var(--accent);font-weight:700;letter-spacing:2.5px;font-size:12px;text-transform:uppercase;display:block;margin-bottom:14px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;padding:30px 0 60px}@media (max-width:800px){.feature-grid{grid-template-columns:1fr}.hero h1{font-size:32px}}.feature-grid .card h3{margin:0 0 6px;font-size:16px}.feature-grid .card p{margin:0;color:var(--muted);font-size:14px}.brand-strip{border-top:1px solid var(--border);background:#fff;padding:26px 0 60px;text-align:center}.brand-strip .brands{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;margin-top:16px}.brand-strip .brands span{color:#374151;font-weight:700;letter-spacing:1.5px;font-size:14px;text-transform:uppercase}.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:14px;gap:14px;margin-top:10px}.brand-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .15s,border-color .15s;box-shadow:var(--shadow)}a.brand-card:hover{border-color:var(--accent);box-shadow:0 4px 12px rgba(16,24,40,.1);color:inherit}.brand-logo{height:84px;border-radius:8px;background:#fff;border:1px solid var(--surface2);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px}.brand-logo img{max-height:100%;object-fit:contain}.brand-wordmark{font-weight:800;letter-spacing:2px;text-transform:uppercase;font-size:17px;color:#475569;text-align:center;line-height:1.3}.brand-meta{display:flex;flex-direction:column;gap:2px}.catalog-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:26px 0 14px}.catalog-head h1{font-size:22px;margin:0 auto 0 0}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.chip{border:1px solid #d1d5db;border-radius:999px;padding:6px 13px;font-size:13px;color:#374151;background:#fff;font-weight:600}.chip:hover{color:var(--accent)}.chip.on,.chip:hover{border-color:var(--accent)}.chip.on{background:var(--accent);color:#fff}.chip .n{opacity:.65;font-weight:500;margin-left:4px}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));grid-gap:14px;gap:14px;padding-bottom:50px}.item-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:7px;box-shadow:var(--shadow);transition:box-shadow .15s}.item-card:hover{box-shadow:0 4px 14px rgba(16,24,40,.12)}.item-photo{aspect-ratio:4/3;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--surface2)}.item-photo img{object-fit:contain;width:100%;height:100%}.item-photo img.brand-ph{padding:26px;box-sizing:border-box;opacity:.88;filter:saturate(.92)}.item-photo .ph{color:#cbd5e1;font-weight:800;font-size:34px;letter-spacing:2px}.item-brand{color:var(--accent);font-size:11.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.item-name{font-size:14px;font-weight:600;line-height:1.35;min-height:38px;color:#111827;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-ids{display:flex;flex-direction:column;gap:1px}.item-ids .row{color:var(--muted);font-size:12px}.item-ids .row b{color:#4b5563;font-weight:700;letter-spacing:.5px;font-size:10.5px;text-transform:uppercase;margin-right:4px}.item-ids .row span{font-family:ui-monospace,Menlo,monospace;font-size:12px}.item-price-row{display:flex;align-items:center;gap:10px;margin-top:auto;flex-wrap:wrap}.item-price{font-size:20px;font-weight:800;color:#111827}.item-map{color:var(--muted);font-size:12px}.add-row{display:flex;gap:8px}.add-row input{width:64px;text-align:center;padding:8px 6px}.add-row .btn{flex:1 1}.alert-toggle{background:none;border:0;width:100%;padding:7px 0 0;cursor:pointer;color:var(--accent);font-size:12.5px;font-weight:600;text-align:center}.alert-toggle:hover{text-decoration:underline}.alert-toggle.on{color:#067647}.cart-toast{position:fixed;right:18px;bottom:18px;z-index:90;width:320px;max-width:calc(100vw - 36px);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:12px 14px;animation:ct-in .22s ease,ct-out .45s ease 5s forwards}.cart-toast .ct-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.cart-toast .ct-check{background:#067647;color:#fff;border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}.cart-toast .ct-x{margin-left:auto;color:var(--muted);text-decoration:none;font-size:13px;padding:2px 4px}.cart-toast .ct-name{font-size:13px;color:var(--muted);margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-toast .ct-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}@keyframes ct-in{0%{opacity:0;transform:translateY(10px)}}@keyframes ct-out{to{opacity:0;transform:translateY(8px);visibility:hidden}}@media (prefers-reduced-motion:reduce){.cart-toast{animation:none}}.compliance-bar{text-align:center;padding:10px 18px;font-size:13.5px;font-weight:600}.compliance-bar a{color:inherit;text-decoration:underline}.compliance-bar.warn{background:#fef3c7;color:#92400e;border-bottom:1px solid #f59e0b}.compliance-bar.blocked{background:#fee2e2;color:#991b1b;border-bottom:1px solid #ef4444}[data-theme=dark] .compliance-bar.warn{background:#451a03;color:#fcd34d;border-color:#92400e}[data-theme=dark] .compliance-bar.blocked{background:#450a0a;color:#fca5a5;border-color:#991b1b}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:10px 12px}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:11px 12px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table .mono{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;color:var(--muted)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;box-shadow:var(--shadow)}.admin-shell{display:grid;grid-template-columns:210px 1fr;grid-gap:26px;gap:26px;padding:26px 0 60px}@media (max-width:900px){.admin-shell{grid-template-columns:1fr}}.admin-nav{display:flex;flex-direction:column;gap:3px;position:-webkit-sticky;position:sticky;top:86px;align-self:start}.admin-nav a{padding:9px 13px;border-radius:8px;color:#374151;font-size:14px;font-weight:500}.admin-nav a:hover{background:#fff;color:var(--text)}.admin-nav .sep{border-top:1px solid var(--border);margin:10px 0}@media (max-width:900px){.admin-nav{flex-direction:row;flex-wrap:wrap;position:static}}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px;margin-bottom:22px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.kpi .v{font-size:28px;font-weight:800}.kpi .v.orange{color:#c2410c}.kpi .v.red{color:var(--danger)}.kpi .v.green{color:var(--success)}.kpi .v.blue{color:var(--accent)}.kpi .l{color:var(--muted);font-size:12.5px;margin-top:2px}.page-title{font-size:22px;margin:0 0 4px}.page-sub{color:var(--muted);margin:0 0 20px;font-size:14px}.section-gap{margin-top:30px}.inline-form{display:inline}.flex{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.right{margin-left:auto}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,Menlo,monospace}.site-footer{border-top:1px solid var(--border);background:#fff;padding:26px 0 40px;color:var(--muted);font-size:13px}.site-footer .inner{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between}.auth-wrap{padding:60px 0 80px}.auth-wrap .card{padding:30px}.auth-wrap h1{margin:0 0 4px;font-size:24px}.auth-wrap p.lead{color:var(--muted);margin:0 0 10px}.pager{display:flex;gap:8px;justify-content:center;align-items:center;padding:10px 0 40px}[data-theme=dark]{--bg:#0b0d10;--surface:#12161b;--surface2:#1a2027;--border:#242d37;--text:#e8edf2;--muted:#93a1af;--accent:#60a5fa;--accent-hover:#93c5fd;--btn-bg:#e8edf2;--btn-hover:#fff;--success:#4ade80;--warn:#fbbf24;--danger:#f87171;--shadow:none}[data-theme=dark] .btn,[data-theme=dark] .btn:hover{color:#0b0d10}[data-theme=dark] .btn.ghost{background:transparent;color:var(--text);border-color:#3a4653}[data-theme=dark] .btn.ghost:hover{border-color:var(--accent);background:var(--surface2);color:var(--text)}[data-theme=dark] .btn.danger{background:transparent;border-color:#7f1d1d;color:#f87171}[data-theme=dark] .btn.danger:hover{background:rgba(239,68,68,.12)}[data-theme=dark] .btn.success{background:#16a34a;color:#fff}[data-theme=dark] .site-header{background:rgba(11,13,16,.92)}[data-theme=dark] .nav a{color:var(--muted)}[data-theme=dark] .nav .pill,[data-theme=dark] .nav a:hover{color:var(--text);background:var(--surface2)}[data-theme=dark] .nav .pill{border-color:#3a4653}[data-theme=dark] .nav .pill:hover{background:#232b34;color:var(--text)}[data-theme=dark] .cart-count{background:var(--accent);color:#0b0d10}[data-theme=dark] .wordmark .ws{color:var(--muted)}[data-theme=dark] .theme-toggle{border-color:#3a4653;color:var(--muted)}[data-theme=dark] .input,[data-theme=dark] select.input,[data-theme=dark] textarea.input{background:var(--surface);border-color:#3a4653;color:var(--text)}[data-theme=dark] .input:focus{box-shadow:0 0 0 3px rgba(96,165,250,.15)}[data-theme=dark] label.lbl{color:#cbd5e1}[data-theme=dark] .chip{background:var(--surface);border-color:#3a4653;color:var(--muted)}[data-theme=dark] .chip:hover{color:var(--accent);border-color:var(--accent)}[data-theme=dark] .chip.on{background:var(--accent);border-color:var(--accent);color:#0b0d10}[data-theme=dark] .item-name,[data-theme=dark] .item-price{color:var(--text)}[data-theme=dark] .item-ids .row b{color:#a8b3bf}[data-theme=dark] .item-photo{background:#f8fafc;border-color:transparent}[data-theme=dark] .item-photo .ph{color:#94a3b8}[data-theme=dark] .brand-logo{background:#f8fafc;border-color:transparent}[data-theme=dark] .brand-wordmark{color:#475569}[data-theme=dark] .brand-strip{background:var(--surface)}[data-theme=dark] .brand-strip .brands span{color:var(--muted)}[data-theme=dark] .site-footer{background:var(--surface)}[data-theme=dark] .admin-nav a{color:var(--muted)}[data-theme=dark] .admin-nav a:hover{background:var(--surface2);color:var(--text)}[data-theme=dark] .badge.stock{background:rgba(34,197,94,.16);color:#4ade80}[data-theme=dark] .badge.low{background:rgba(245,158,11,.16);color:#fbbf24}[data-theme=dark] .badge.blue{background:rgba(59,130,246,.2);color:#93c5fd}[data-theme=dark] .alert-toggle.on{color:#34d399}[data-theme=dark] .badge.red{background:rgba(239,68,68,.16);color:#f87171}[data-theme=dark] .badge.orange{background:rgba(249,115,22,.16);color:#fb923c}[data-theme=dark] .badge.muted{background:var(--surface2);color:var(--muted)}[data-theme=dark] .alert.info{border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.1);color:#bfdbfe}[data-theme=dark] .alert.ok{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.1);color:#bbf7d0}[data-theme=dark] .alert.warn{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.1);color:#fde68a}[data-theme=dark] .alert.err{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.1);color:#fecaca}[data-theme=dark] .kpi .v.orange{color:#fb923c}[data-theme=dark] .kpi .v.red{color:#f87171}[data-theme=dark] .kpi .v.green{color:#4ade80}[data-theme=dark] .kpi .v.blue{color:#93c5fd}