*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.45}h1,h2{font-family:var(--font-heading);margin:0}h1{font-size:1.5rem}h2{font-size:1.05rem;margin-bottom:.5rem}.app{min-height:100vh}.demo-ribbon{background:var(--ribbon-bg);color:var(--ribbon-text);font-size:.8rem;padding:6px 16px;text-align:center}.masthead{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px;background:var(--masthead-bg);color:var(--masthead-text)}.masthead__brand{display:flex;gap:12px;align-items:center}.masthead__tag{margin:2px 0 0;opacity:.8;font-size:.85rem}.logo{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--logo-radius);background:var(--accent);color:var(--accent-contrast);font-weight:700;font-family:var(--font-heading);flex-shrink:0}.grid{display:grid;gap:16px;padding:16px;max-width:1200px;margin:0 auto;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;min-width:0}.panel--wide{grid-column:1 / -1}.rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}.row{border:1px solid var(--border);border-radius:calc(var(--radius) / 2);padding:10px 12px;min-width:0;overflow-wrap:anywhere}.row--inline{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}.row__main{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.row__meta{margin:6px 0 0;font-size:.85rem;color:var(--muted)}.facts{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;margin:8px 0 0;font-size:.85rem}.facts dt{color:var(--muted)}.facts dd{margin:0;min-width:0}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;overflow-wrap:anywhere}.tag{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--tag-bg);color:var(--tag-text);font-size:.75rem}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.pill--ok{background:var(--ok-bg);color:var(--ok)}.pill--bad{background:var(--bad-bg);color:var(--bad)}.pill--pending{background:var(--tag-bg);color:var(--muted)}.btn{font:inherit;font-weight:600;padding:8px 14px;border-radius:var(--btn-radius);border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast);cursor:pointer}.btn:disabled{opacity:.6;cursor:default}.btn--danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn--quiet{background:transparent;color:var(--accent)}.error{color:var(--bad);font-size:.85rem}.live{display:inline-flex;align-items:center;gap:6px;font-size:.8rem}.live__dot{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:pulse 2s infinite}.live--error{color:var(--bad);background:var(--bad-bg);padding:2px 8px;border-radius:6px}.meter{height:8px;border-radius:999px;background:var(--tag-bg);overflow:hidden;margin-top:8px}.meter__fill{display:block;height:100%;background:var(--accent);transition:width .4s ease}@keyframes pulse{50%{opacity:.3}}@media (prefers-reduced-motion: reduce){.live__dot{animation:none}}:root{--bg: #fdf8f2;--surface: #ffffff;--border: #f0e2d2;--text: #2b1d14;--muted: #86705f;--accent: #e8573f;--accent-contrast: #ffffff;--masthead-bg: #ffffff;--masthead-text: #2b1d14;--ribbon-bg: #2b1d14;--ribbon-text: #fdf8f2;--tag-bg: #fbeee2;--tag-text: #7a4a2a;--ok: #2f7d4f;--ok-bg: #e3f3e8;--bad: #b3261e;--bad-bg: #fbe7e5;--radius: 16px;--btn-radius: 999px;--logo-radius: 12px;--font-heading: "Trebuchet MS", "Segoe UI", sans-serif;--font-body: "Segoe UI", -apple-system, Roboto, sans-serif}.masthead{border-bottom:3px solid var(--accent)}.products{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.product{border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;gap:6px;align-content:start;min-width:0}.product__head{display:flex;justify-content:space-between;gap:8px;align-items:start}.product__desc{margin:0;font-size:.85rem}.product__price{margin:0;font-size:1.25rem;font-weight:700;display:flex;gap:8px;align-items:baseline}.product__price s{font-size:.9rem;font-weight:400}.price-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.price-form label{width:100%;font-size:.8rem;color:var(--muted)}.price-form input{font:inherit;width:7.5em;min-width:0;flex:1 1 6em;padding:6px 10px;border:1px solid var(--border);border-radius:8px}.jwt{display:block;margin-top:4px;padding:6px;background:var(--tag-bg);border-radius:6px}
