:root{--page:#f5f3f0;--ink:#17171b;--muted:#6d6c73;--surface:#fff;--line:#e6e3df;--line-strong:#d4cfc8;--accent:#ff9800;--accent-strong:#d97700;--coral:#f25f3a;--gold:#ffb547;--blue:#3167b7;--tabbar-height:72px}*{box-sizing:border-box}html,body{background:var(--page);min-height:100%;color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select{font:inherit}.app-shell,.shell{min-height:100dvh}.topbar{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1120px,100% - 32px);margin:0 auto;padding:14px 0;display:flex}.brand{align-items:center;gap:10px;font-weight:800;display:flex}.brand-copy{gap:1px;display:grid}.brand-copy span:last-child{color:var(--muted);font-size:12px;font-weight:750}.brand-mark{background:var(--ink);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;font-size:14px;display:grid}.brand-logo{object-fit:cover;background:#050505;border-radius:6px;flex:none}:is(body:has(.cardroo-pos-system) .app-shell>.topbar,body:has(.cardroo-pos-system) .app-shell>.mobile-tabbar){display:none}body:has(.cardroo-pos-system) .app-shell>.main{width:100%;margin:0;padding:0}.pwa-install-guide{right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:1100;color:#fff;background:#101011;border:1px solid #3a332a;border-radius:12px;grid-template-columns:52px 1fr 28px;align-items:center;gap:14px;width:min(440px,100vw - 32px);padding:14px;display:grid;position:fixed;box-shadow:0 18px 55px #00000052}.pwa-install-guide img{object-fit:cover;border-radius:9px}.pwa-install-guide strong{font-size:14px;display:block}.pwa-install-guide p{color:#b8b4b0;margin:5px 0 0;font-size:11px;line-height:1.5}.pwa-install-guide button{color:#c9c5c1;cursor:pointer;background:#282526;border:0;border-radius:50%;align-self:start;width:28px;height:28px;font-size:18px;line-height:1}@media (max-width:640px){.pwa-install-guide{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}}.nav{align-items:center;gap:6px;display:flex}.nav a,.nav-link{color:var(--muted);border-radius:8px;padding:8px 10px;font-size:14px;font-weight:700}.nav a:hover,.nav-link:hover{color:var(--ink);background:#fff3df}.main{width:min(1120px,100% - 32px);margin:0 auto;padding:34px 0 56px}.mobile-tabbar{display:none}.home-hero,.module-hero{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:stretch;gap:18px;margin-bottom:30px;display:grid}.home-copy,.module-hero>div:first-child{color:#fff;background-color:#0000;background-image:linear-gradient(135deg,#ff9800e0,#0b0b0cf0),url(/sample-cards/tabletop-market.svg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:8px;flex-direction:column;justify-content:flex-end;min-height:250px;padding:28px;display:flex}.home-copy p,.module-hero>div:first-child p{color:#ffffffd6;max-width:660px;margin-bottom:0;font-size:17px;line-height:1.5}.home-panel,.module-status{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;justify-content:space-between;gap:16px;padding:20px;display:flex}.home-panel span,.module-status span,.module-state{color:var(--accent-strong);text-transform:uppercase;font-size:12px;font-weight:850}.home-panel strong,.module-status strong{font-size:26px;line-height:1.12}.home-panel p{color:var(--muted);margin:0;line-height:1.45}.module-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.module-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-content:start;gap:12px;min-height:176px;padding:18px;display:grid}.module-card:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:0 12px 28px #0b0b0c17}.module-card h3,.empty-state h2,.account-shell h2{margin:0}.module-card p,.empty-state p{color:var(--muted);margin:0;line-height:1.45}.placeholder-panel,.empty-state,.scan-preview{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:18px}.placeholder-form label{color:var(--muted);gap:6px;font-size:13px;font-weight:750;display:grid}.placeholder-form .button{align-self:end}.scan-preview{gap:16px;display:grid}.scan-workspace{grid-template-columns:minmax(280px,.95fr) minmax(280px,.7fr);align-items:start;gap:18px;display:grid}.scan-frame{border:2px dashed var(--line-strong);min-height:360px;color:var(--muted);background-color:#0000;background-image:linear-gradient(90deg,#0b0b0c0d 1px,#0000 1px),linear-gradient(#0b0b0c0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:8px;place-items:center;font-weight:800;display:grid;overflow:hidden}.scan-image-preview{object-fit:contain;width:100%;max-height:540px}.scan-empty-frame{text-align:center;place-items:center;gap:6px;padding:18px;display:grid}.scan-empty-frame span{color:var(--muted);font-size:13px}.scan-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.scan-file-control{color:var(--muted);gap:6px;font-size:13px;font-weight:750;display:grid}.scan-button-row,.scan-candidate-actions{flex-wrap:wrap;gap:8px;display:flex}.scan-file-meta,.scan-draft-meta{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.scan-file-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.scan-file-meta dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.scan-file-meta dd{overflow-wrap:anywhere;margin:3px 0 0;font-weight:800}.scan-message{margin:0}.scan-confirm-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:12px;padding:18px;display:grid}.scan-confirm-panel h2{margin-bottom:0;font-size:22px}.scan-selected-candidate{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.scan-selected-candidate strong{font-size:20px}.scan-results{grid-column:1/-1}.scan-draft-meta{color:var(--muted);margin-bottom:12px;font-size:13px}.scan-candidate-list{gap:10px;display:grid}.scan-candidate{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:12px;padding:14px;display:grid}.scan-candidate.selected{border-color:var(--accent);box-shadow:0 8px 22px #ff980029}.scan-candidate-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.scan-candidate-head h3{margin-bottom:4px;font-size:18px}.scan-candidate-head p{color:var(--muted);margin-bottom:0}.scan-rank{width:36px;height:36px;color:var(--accent-strong);background:#fff3df;border-radius:8px;place-items:center;font-weight:850;display:grid}.scan-confidence{color:#fff;white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:850}.scan-confidence.high{background:var(--accent-strong)}.scan-confidence.medium{background:var(--blue)}.scan-confidence.low{background:var(--coral)}.scan-empty-results{margin-top:10px}.placeholder-actions,.account-shell{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.price-shell-list{gap:10px;display:grid}.empty-state{justify-items:start;gap:12px;display:grid}.workspace-header{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:stretch;gap:24px;margin-bottom:28px;display:grid}.headline{color:#fff;background-color:#0000;background-image:linear-gradient(135deg,#ff9800db,#0b0b0ced),url(/sample-cards/tabletop-market.svg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:8px;flex-direction:column;justify-content:flex-end;min-height:260px;padding:28px;display:flex}.eyebrow{color:#ffffffc7;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{max-width:720px;margin-bottom:10px;font-size:56px;line-height:1}.headline p{color:#ffffffd6;max-width:640px;margin-bottom:0;font-size:17px;line-height:1.5}.status-panel{gap:12px;display:grid}.metric{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:18px}.metric-label{color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:700}.metric-value{margin-top:8px;font-size:30px;font-weight:850}.section-head{justify-content:space-between;align-items:end;gap:16px;margin:30px 0 14px;display:flex}.section-head h2{margin:0;font-size:24px}.section-head p{color:var(--muted);margin:4px 0 0}.button,.icon-button{background:var(--accent);color:#17110a;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;font-weight:800;display:inline-flex}.button:hover,.icon-button:hover{background:var(--accent-strong)}.button:disabled,.icon-button:disabled,.input:disabled,.select:disabled,.textarea:disabled{cursor:not-allowed;opacity:.62}.button.secondary{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.button.secondary:hover{background:#fff3df}.grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.card-tile{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden}.card-image{aspect-ratio:3/4.15;object-fit:cover;background:#e7eeea;width:100%}.card-body{padding:14px}.card-title{margin-bottom:4px;font-size:17px;line-height:1.2}.muted{color:var(--muted)}.meta-row{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.pill{border:1px solid var(--line);color:var(--muted);background:#f9fbfa;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:750}.price{color:var(--accent-strong);font-weight:850}.search-form{grid-template-columns:minmax(0,1fr) 160px auto;gap:10px;margin-bottom:18px;display:grid}.search-header{grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:stretch;gap:18px;margin-bottom:18px;display:grid}.search-header h1{margin-bottom:8px}.text-eyebrow{color:var(--accent-strong)}.search-summary,.search-panel,.future-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px}.search-summary{align-content:center;gap:8px;padding:18px;display:grid}.search-summary span,.future-item span{color:var(--accent-strong);text-transform:uppercase;font-size:12px;font-weight:850}.search-summary strong{font-size:34px;line-height:1}.search-summary p{color:var(--muted);margin:0}.search-panel{margin-bottom:18px;padding:16px}.search-form-expanded{grid-template-columns:minmax(180px,1.4fr) minmax(150px,.8fr) minmax(180px,1fr) minmax(130px,.6fr) auto;margin-bottom:0}.search-form-expanded label{min-width:0;color:var(--muted);gap:6px;font-size:13px;font-weight:750;display:grid}.search-actions{align-items:end;gap:8px;display:flex}.input,.select,.textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:8px;padding:0 12px}.textarea{resize:vertical;min-height:86px;padding:10px 12px}.detail-layout{grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:start;gap:28px;display:grid}.detail-media{gap:12px;display:grid}.detail-art{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.detail-image{aspect-ratio:3/4.15;object-fit:cover;background:#e7eeea;width:100%}.image-strip,.image-list{gap:10px;display:grid}.image-strip{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.image-thumb{aspect-ratio:3/4.15;border:1px solid var(--line);object-fit:cover;background:#fff;border-radius:8px;width:100%}.detail-copy{border-top:4px solid var(--accent);background:#fff;padding:22px}.detail-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.detail-meta div{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;padding:12px}.detail-meta dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.detail-meta dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:800}.future-panel{gap:14px;margin:20px 0;padding:16px;display:grid}.future-panel h2{margin-bottom:4px;font-size:20px}.future-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.future-item{border:1px solid var(--line);background:#f9fbfa;border-radius:8px;gap:6px;padding:12px;display:grid}.future-item strong{font-size:15px}.future-item p{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.back-link{color:var(--accent-strong);margin-bottom:14px;font-weight:800;display:inline-flex}.compact-section-head{margin-top:18px}.price-list,.collection-list{gap:10px;display:grid}.row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.row-note{text-align:right;overflow-wrap:anywhere;max-width:420px}.form-panel{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;gap:10px;max-width:440px;margin-top:22px;padding:16px;display:grid}.binder-workspace{gap:16px;display:grid}.binder-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.binder-add-form{max-width:none}.binder-form-grid{grid-template-columns:minmax(120px,.45fr) minmax(180px,.55fr);gap:10px;display:grid}.binder-form-grid label,.binder-row-actions label{gap:6px;display:grid}.binder-row{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:start}.binder-entry-main{gap:6px;min-width:0;display:grid}.binder-note{overflow-wrap:anywhere;margin:0}.binder-row-actions{grid-template-columns:minmax(84px,.35fr) minmax(150px,.65fr) minmax(180px,1fr);gap:10px;min-width:0;display:grid}.binder-row-actions label{color:var(--muted);font-size:13px;font-weight:750}.binder-row-buttons{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.binder-row-message{grid-column:1/-1;margin:0}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.admin-panel{max-width:none;margin-top:0}.admin-login{margin-top:0}.admin-session{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px;display:flex}.form-panel label{color:var(--muted);font-size:13px;font-weight:750}.message{border-left:4px solid var(--gold);background:#fff;padding:14px}.danger{background:var(--coral)}@media (max-width:820px){.topbar-inner,.section-head,.search-header,.search-form-expanded,.scan-workspace,.workspace-header,.detail-layout,.home-hero,.module-hero{grid-template-columns:1fr}.topbar-inner{flex-direction:row;align-items:center}.desktop-nav{display:none}.search-form{grid-template-columns:1fr}.search-actions{align-items:stretch}.scan-controls,.admin-grid,.binder-row,.binder-row-actions{grid-template-columns:1fr}h1{font-size:42px}}@media (max-width:640px){.topbar-inner,.main{width:min(100% - 24px,1120px)}.topbar-inner{padding:10px 0}.brand-mark{width:32px;height:32px}.main{padding:20px 0 calc(var(--tabbar-height) + 28px + env(safe-area-inset-bottom))}.home-copy,.module-hero>div:first-child{min-height:220px;padding:22px}.home-panel,.module-status,.placeholder-panel,.empty-state,.scan-preview{padding:16px}.module-grid,.detail-meta,.future-grid,.binder-form-grid,.binder-summary-grid,.scan-file-meta,.scan-candidate-head,.row{grid-template-columns:1fr}.row-note{text-align:left;max-width:none}.scan-frame{min-height:320px}.mobile-tabbar{z-index:20;min-height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-tabbar a{min-width:0;color:var(--muted);border-radius:8px;place-items:center;min-height:48px;padding:0 2px;font-size:11px;font-weight:800;display:grid}.mobile-tabbar a:hover{color:var(--ink);background:#fff3df}}
