:root{--bg:#080a10;--panel:#111621;--panel2:#171d2a;--line:#252d3e;--text:#f5f7fb;--muted:#8f99ab;--accent:#8b5cf6;--accent2:#22d3ee;--good:#39d98a;--bad:#ff667a;--shadow:0 22px 65px rgba(0,0,0,.32)}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:radial-gradient(circle at 80% -10%,rgba(139,92,246,.18),transparent 35%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;padding:28px 20px;background:rgba(10,13,20,.92);border-right:1px solid var(--line);backdrop-filter:blur(18px);display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:19px}.brand-mark,.hero-logo{display:grid;place-items:center;background:transparent;box-shadow:none;font-weight:900}.brand-mark{width:36px;height:36px;border-radius:12px}.hero-logo{width:68px;height:68px;border-radius:22px;font-size:32px;margin-bottom:24px}.sidebar nav{display:grid;gap:5px;margin:35px 0 auto}.sidebar nav a{padding:11px 13px;border-radius:11px;color:var(--muted)}.sidebar nav a:hover,.sidebar nav a.active{background:var(--panel2);color:var(--text)}.nav-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#596274;padding:18px 12px 5px}.text-button{background:none;border:0;color:var(--muted);cursor:pointer;padding:12px}.app-main{margin-left:240px;padding:38px clamp(22px,4vw,65px) 100px;max-width:1700px}.topline{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:20px}.topline h1{font-size:clamp(29px,4vw,46px);margin:3px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800;color:var(--accent2);margin:0}.account-pill{background:var(--panel);border:1px solid var(--line);padding:10px 14px;border-radius:14px;text-align:right}.account-pill span,.account-pill small{display:block}.account-pill small{color:var(--muted);margin-top:2px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.metric-grid.compact{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.metric{padding:22px;background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);min-height:132px}.hero-metric{background:linear-gradient(135deg,rgba(139,92,246,.29),rgba(34,211,238,.09)),var(--panel)}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;font-size:clamp(24px,3vw,37px);margin:12px 0 7px}.panel{background:rgba(17,22,33,.93);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.section-head h2,.panel h2{margin:4px 0}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:12px 18px;background:linear-gradient(135deg,var(--accent),#6d4ee6);color:#fff;font-weight:750;cursor:pointer;box-shadow:0 10px 30px rgba(139,92,246,.2)}.button.small{padding:9px 13px;font-size:13px}.button.tiny{padding:7px 10px;font-size:12px}.button.secondary{background:var(--panel2);box-shadow:none;border:1px solid var(--line)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px}.slab-card{overflow:hidden;background:var(--panel2);border:1px solid var(--line);border-radius:18px}.slab-card img,.placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;background:linear-gradient(145deg,#20283a,#0d111a);display:grid;place-items:center;font-size:35px;font-weight:900;color:#586076}.slab-card>div:last-child{padding:15px}.slab-card small,.slab-card p{color:var(--muted);margin:3px 0;display:block}.slab-card h3{margin:6px 0}.form-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px}.stack{display:grid;gap:16px}.two,.three{display:grid;gap:13px}.two{grid-template-columns:repeat(2,1fr)}.three{grid-template-columns:repeat(3,1fr)}label{display:grid;gap:7px;color:#bec6d5;font-size:13px;font-weight:650}input,select,textarea{width:100%;border:1px solid var(--line);background:#0c1018;color:var(--text);border-radius:11px;padding:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{min-height:90px;resize:vertical}.upload-zone{border:1px dashed #465069;background:#0c111b;border-radius:16px;padding:25px;text-align:center;cursor:pointer}.upload-zone input{display:none}.upload-zone span{color:var(--muted);display:block;margin-top:6px}.tips li{margin:11px 0;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid rgba(37,45,62,.65);font-size:14px}td small{display:block;color:var(--muted);margin-top:4px}.positive{color:var(--good)!important}.negative{color:var(--bad)!important}.icon-button{border:0;background:#2b1720;color:var(--bad);width:30px;height:30px;border-radius:9px;cursor:pointer}.search{width:min(480px,100%)}.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.action-card{padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:18px;transition:.2s}.action-card:hover{transform:translateY(-3px);border-color:#4a5470}.action-card b,.action-card span{display:block}.action-card span{color:var(--muted);font-size:13px;margin-top:8px}.offer-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.offer-preview>div{padding:18px;border-radius:15px;background:#0c111b;border:1px solid var(--line)}.offer-preview span,.offer-preview strong{display:block}.offer-preview span{color:var(--muted);font-size:12px}.offer-preview strong{font-size:27px;margin-top:8px}.offer-list{display:grid}.offer-list article{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.offer-list small,.offer-list span{display:block;color:var(--muted);margin-top:5px}.print-link{background:none;border:0;color:var(--accent2);padding:5px 0;cursor:pointer}.chip{padding:7px 10px;background:#1b2230;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}.report-filter{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.report-title{margin:45px 0 20px}.pnl{max-width:650px}.pnl>div{display:flex;justify-content:space-between;padding:15px;border-bottom:1px solid var(--line)}.pnl .total{font-size:20px;background:var(--panel2);border-radius:12px;border:0;margin-top:10px}.disclaimer,.muted{color:var(--muted)}.inline-form{display:flex;align-items:center;gap:6px}.inline-form input{width:62px}.inline-form select{width:130px}.alert{padding:13px 16px;border-radius:12px;margin-bottom:16px}.alert.error{background:#321922;color:#ff9baa;border:1px solid #5c2935}.alert.success{background:#123124;color:#77e6ac;border:1px solid #225c3d}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(440px,100%);background:rgba(17,22,33,.95);border:1px solid var(--line);border-radius:25px;padding:35px;box-shadow:var(--shadow)}.auth-card h1{font-size:32px;margin:8px 0}.center{text-align:center}.empty{padding:30px;color:var(--muted)}.mobile-top,.bottom-nav{display:none}
@media(max-width:1000px){.metric-grid,.action-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.app-main{margin:0;padding-top:92px}.mobile-top{display:flex;position:fixed;z-index:15;inset:0 0 auto 0;height:70px;background:rgba(8,10,16,.9);backdrop-filter:blur(15px);border-bottom:1px solid var(--line);align-items:center;justify-content:space-between;padding:0 20px}.mobile-top button{border:0;background:var(--panel2);color:#fff;border-radius:10px;padding:8px 12px;font-size:19px}.bottom-nav{display:flex;position:fixed;z-index:14;bottom:0;left:0;right:0;background:rgba(12,15,23,.96);border-top:1px solid var(--line);height:68px;align-items:center;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a{font-size:12px;color:var(--muted)}.bottom-nav .scan{display:grid;place-items:center;width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:28px;margin-top:-24px}.topline .account-pill{display:none}}
@media(max-width:650px){.app-main{padding-left:14px;padding-right:14px}.metric-grid,.action-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:17px;min-height:112px}.metric strong{font-size:23px}.two,.three{grid-template-columns:1fr}.panel{padding:17px;border-radius:18px}.card-grid{grid-template-columns:repeat(2,1fr)}.offer-list article{display:block}.inline-form{flex-wrap:wrap}.topline{margin-bottom:18px}.topline h1{font-size:31px}}
@media print{.sidebar,.mobile-top,.bottom-nav,.topline,.report-filter,.button,.print-link{display:none!important}.app-main{margin:0;padding:0}.panel{border:0;box-shadow:none;background:#fff;color:#111}.report{color:#111}.pnl>div{border-color:#ddd}.disclaimer{color:#555}}
.scan-progress,.valuation-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.035)}
.scan-progress small,.match-card small{display:block;opacity:.7;margin-top:4px}.spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.18);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.match-panel{padding:14px;border-radius:16px;background:rgba(255,255,255,.025)}.match-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.match-card{display:flex;align-items:center;gap:10px;text-align:left;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.04);color:inherit;cursor:pointer}.match-card.selected{outline:2px solid #6ee7c7;background:rgba(110,231,199,.08)}.match-card img{width:48px;height:67px;object-fit:contain;border-radius:5px}.valuation-card{justify-content:space-between}.valuation-card h3{margin:.2rem 0}.valuation-card p{margin:.2rem 0}.button.secondary{background:transparent;border:1px solid rgba(255,255,255,.18)}
@media(max-width:650px){.valuation-card{align-items:flex-start;flex-direction:column}.valuation-card .button{width:100%}.match-results{grid-template-columns:1fr}}

/* v0.5 guided slab camera */
.capture-choice{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.2fr);gap:12px;align-items:stretch}.upload-zone.compact{padding:14px 18px}.alignment-preview{position:relative;overflow:hidden;border-radius:20px;background:#05070b;border:1px solid var(--line);min-height:460px}.alignment-preview>img{display:block;width:100%;height:min(68vh,680px);object-fit:contain;background:#05070b}.slab-guide,.camera-slab-guide{position:absolute;left:50%;top:50%;width:min(72%,420px);aspect-ratio:0.62;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.92);border-radius:22px;box-shadow:0 0 0 9999px rgba(0,0,0,.38),0 0 28px rgba(34,211,238,.45);pointer-events:none}.label-guide,.camera-label-guide{position:absolute;left:7%;right:7%;top:5.5%;height:17%;border:3px solid #22d3ee;border-radius:10px;background:rgba(34,211,238,.08);box-shadow:0 0 18px rgba(34,211,238,.45)}.alignment-actions{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;background:rgba(7,10,16,.9);backdrop-filter:blur(10px)}.alignment-actions small{margin-right:auto;color:#d7deeb;max-width:430px}.camera-modal{position:fixed;z-index:20000;inset:0;background:#000}.camera-shell{position:relative;width:100%;height:100%;overflow:hidden;background:#000}.camera-shell video{width:100%;height:100%;object-fit:cover}.camera-slab-guide{width:min(76vw,430px);top:48%;border-width:3px}.camera-copy{position:absolute;z-index:3;top:max(18px,env(safe-area-inset-top));left:20px;right:20px;text-align:center;text-shadow:0 2px 8px #000}.camera-copy strong,.camera-copy small{display:block}.camera-copy small{margin-top:5px;color:#d9e0eb}.camera-controls{position:absolute;z-index:4;left:0;right:0;bottom:max(28px,env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:center;gap:42px}.camera-control{border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.45);color:#fff;border-radius:999px;padding:12px 18px}.camera-shutter{width:72px;height:72px;border-radius:50%;border:5px solid #fff;background:rgba(255,255,255,.25);box-shadow:0 0 0 2px rgba(0,0,0,.4)}.camera-shutter:active{transform:scale(.94)}.camera-status{position:absolute;z-index:4;left:20px;right:20px;bottom:115px;text-align:center;color:#fff;background:rgba(0,0,0,.62);border-radius:12px;padding:10px;display:none}.camera-status:not(:empty){display:block}@media(max-width:700px){.capture-choice{grid-template-columns:1fr}.alignment-preview{min-height:420px}.alignment-actions{flex-wrap:wrap}.alignment-actions small{width:100%;max-width:none}.alignment-actions .button{flex:1}.slab-guide{width:72%}}
/* v0.6 live camera capture */
.camera-shell{touch-action:manipulation;cursor:crosshair}
#guidedCameraVideo{width:100%;height:100%;object-fit:cover}
.camera-tap-hint{position:absolute;z-index:5;left:50%;bottom:max(120px,calc(env(safe-area-inset-bottom) + 100px));transform:translateX(-50%);padding:10px 16px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-weight:800;letter-spacing:.02em;pointer-events:none;white-space:nowrap;animation:cameraHintPulse 1.8s ease-in-out infinite}
.camera-focus-ring{position:absolute;z-index:6;width:72px;height:72px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%) scale(.75);opacity:0;pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.45)}
.camera-focus-ring.show{animation:cameraFocus .55s ease-out}
.camera-flash{position:absolute;z-index:20;inset:0;background:#fff;opacity:0;pointer-events:none}
.camera-flash.fire{animation:cameraFlash .22s ease-out}
.camera-shell.capturing .camera-tap-hint,.camera-shell.capturing .camera-controls{opacity:.35;pointer-events:none}
@keyframes cameraHintPulse{0%,100%{opacity:.65}50%{opacity:1}}
@keyframes cameraFocus{0%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}70%{opacity:1;transform:translate(-50%,-50%) scale(.85)}100%{opacity:0;transform:translate(-50%,-50%) scale(.75)}}
@keyframes cameraFlash{0%{opacity:0}30%{opacity:.85}100%{opacity:0}}
@media(max-width:700px){.camera-controls{justify-content:flex-start;padding-left:20px}.camera-shutter{position:absolute;left:50%;transform:translateX(-50%)}.camera-shutter:active{transform:translateX(-50%) scale(.94)}}
/* v0.8: keep the iPhone preview geometry fixed while Safari UI changes. */
.camera-modal{height:100dvh;min-height:100dvh;overscroll-behavior:none}
.camera-shell{height:100dvh;min-height:100dvh;contain:layout paint;touch-action:none}
#guidedCameraVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:none!important}
.camera-shell:not(.camera-ready) .camera-slab-guide,.camera-shell:not(.camera-ready) .camera-controls{opacity:.45}
.camera-slab-guide,.camera-controls{transition:opacity .18s ease}

/* v0.9 automatic slab detection */
.camera-slab-guide{border-style:dashed;opacity:.72;box-shadow:0 0 0 9999px rgba(0,0,0,.18),0 0 28px rgba(34,211,238,.25)}
.camera-label-guide{display:none}
.alignment-preview .slab-guide{display:none}
.camera-copy small{max-width:560px;margin-inline:auto}
/* v1.0 locked camera geometry and honest scan review */
html.camera-open{overflow:hidden!important}html.camera-open body{overflow:hidden!important;touch-action:none}
.camera-modal{position:fixed!important;right:auto!important;bottom:auto!important;max-width:none!important;max-height:none!important;z-index:10000}
.camera-shell{position:relative!important;overflow:hidden!important}
.camera-slab-guide{display:block!important;left:50%!important;top:50%!important;width:min(76%,430px)!important;aspect-ratio:80/134!important;transform:translate(-50%,-50%)!important;border:3px solid #fff!important;border-style:solid!important;border-radius:22px!important;opacity:1!important;transition:none!important}
.camera-label-guide{display:block!important;left:5%!important;right:5%!important;top:3%!important;height:22%!important;border-color:#22d3ee!important}
.alignment-preview .slab-guide{display:none!important}
.camera-copy{pointer-events:none}.camera-shell:not(.camera-ready) .camera-slab-guide{opacity:.45!important}

/* v1.0.1: camera overlay must never permanently disable page scrolling. */
html:not(.camera-open),html:not(.camera-open) body{overflow-y:auto}body{overscroll-behavior-y:auto}.camera-modal[hidden]{display:none!important}

.scan-mode-help{display:grid;grid-template-columns:auto 1fr;gap:.3rem .65rem;align-content:center;padding:.8rem 0}
.scan-mode-help strong{font-size:.9rem}.scan-mode-help small{color:var(--muted,#667085)}


/* v2.0 dual capture guides */
.camera-guide,.preview-guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 9999px rgba(0,0,0,.44),0 0 30px rgba(34,211,238,.35);border:3px solid rgba(255,255,255,.96)}
.camera-modal.mode-slab .camera-guide,.preview-guide.mode-slab{width:min(76vw,430px);aspect-ratio:80/134;border-radius:22px}
.camera-modal.mode-raw .camera-guide,.preview-guide.mode-raw{width:min(78vw,440px);aspect-ratio:63/88;border-radius:15px}
.guide-label-region,.guide-card-region,.guide-name-region,.guide-number-left-region,.guide-number-right-region{position:absolute;border:2px solid rgba(255,255,255,.75);border-radius:8px}
.guide-label-region b,.guide-card-region b{position:absolute;left:6px;top:5px;padding:2px 6px;border-radius:5px;background:rgba(0,0,0,.7);font-size:.64rem;letter-spacing:.08em;color:#fff}
.mode-slab .guide-label-region{left:6%;right:6%;top:3.5%;height:19.5%;border-color:#22d3ee;background:rgba(34,211,238,.07)}
.mode-slab .guide-card-region{left:10%;right:10%;top:25.5%;bottom:5.5%;border-color:#6ee7c7;background:rgba(110,231,199,.035)}
.mode-slab .guide-name-region{left:16%;right:25%;top:27%;height:7.5%;border-color:rgba(250,204,21,.85)}
.mode-slab .guide-number-left-region{display:none}
.mode-slab .guide-number-right-region{left:12%;width:44%;bottom:7%;height:8%;border-color:rgba(250,204,21,.85)}
.mode-raw .guide-label-region{display:none}
.mode-raw .guide-card-region{inset:0;border:0;background:transparent}
.mode-raw .guide-card-region b{display:none}
.mode-raw .guide-name-region{left:7%;right:26%;top:3.5%;height:11%;border-color:#facc15;background:rgba(250,204,21,.045)}
.mode-raw .guide-number-left-region{left:4%;width:45%;bottom:3%;height:11%;border-color:#22d3ee;background:rgba(34,211,238,.055)}
.mode-raw .guide-number-right-region{right:4%;width:45%;bottom:3%;height:11%;border-color:#22d3ee;background:rgba(34,211,238,.055)}
.camera-modal.mode-raw .camera-copy strong{color:#fef3c7}
.camera-modal.mode-slab .camera-copy strong{color:#cffafe}
.alignment-preview .preview-guide{top:46%}
.scan-evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.scan-evidence span{padding:8px;border-radius:10px;background:rgba(255,255,255,.04);font-size:.78rem}
@media(max-width:700px){.camera-modal.mode-raw .camera-guide{width:min(82vw,390px)}.camera-modal.mode-slab .camera-guide{width:min(76vw,390px)}}


.admin-tabs{display:flex;gap:.55rem;flex-wrap:wrap;margin:0 0 1rem}
.admin-tabs a{display:inline-flex;padding:.7rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);text-decoration:none;font-weight:700}
.admin-tabs a.active{background:var(--accent);color:#071018;border-color:var(--accent)}
.setup-list{display:grid;gap:.8rem;margin:1.2rem 0}
.setup-step{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02)}
.setup-step h3{margin:0 0 .25rem}.setup-step p{margin:0;color:var(--muted)}
.setup-step.optional{opacity:.9}
.setup-number{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--accent);color:#071018;font-weight:900}
.admin-tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}
.tool-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);text-decoration:none;color:inherit}
.tool-card:hover{border-color:var(--accent);transform:translateY(-1px)}
.tool-card span{color:var(--muted)}
@media(max-width:720px){.setup-step{grid-template-columns:auto 1fr}.setup-step .button{grid-column:1/-1;width:100%}}

.scan-debug{padding:1rem;border:1px dashed var(--accent);border-radius:16px;background:rgba(255,255,255,.025)}
.debug-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.debug-grid>div{padding:.8rem;border:1px solid var(--line);border-radius:12px}.debug-grid span,.debug-grid small{display:block;color:var(--muted)}.debug-grid strong{display:block;margin:.2rem 0;word-break:break-word}

/* v2.1.6: iPhone camera stability without permanently locking page scroll */
html.camera-open{overflow:hidden!important;overscroll-behavior:none!important}
body.camera-open{overflow:hidden!important;overscroll-behavior:none!important}
.camera-modal{position:fixed!important;inset:0!important;width:100vw!important;height:var(--camera-vh,100dvh)!important;min-height:0!important;transform:none!important;margin:0!important;padding:0!important}
.camera-shell{width:100%!important;height:100%!important;min-height:0!important}
.camera-guide{will-change:auto!important;transition:none!important}

/* v2.1.9: freeze the guided-camera viewport for each open session. */
.camera-modal{width:var(--camera-vw,100vw)!important;height:var(--camera-vh,100dvh)!important;max-width:none!important;max-height:none!important;overflow:hidden!important}
.camera-shell{width:var(--camera-vw,100%)!important;height:var(--camera-vh,100%)!important}

/* HoloRyn TCG v3.5 hybrid raw-card and slab scanner */
.catalogue-recovery{padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.025)}
.catalogue-recovery summary{cursor:pointer;font-weight:700;color:var(--text,#fff)}
.catalogue-recovery[open] summary{margin-bottom:10px}
.catalogue-recovery .button{margin-right:10px}
.catalogue-recovery #manualCatalogueStatus{display:inline-block;min-height:1.2em}
.match-card small{display:block;margin-top:3px}
.match-card[data-confidence="visual suggestion"]{border-style:dashed}

/* HoloRyn TCG v3.5 vendor inventory and delegated administration */
.vendor-inventory-option{padding:1rem;border:1px solid var(--line);border-radius:16px;background:rgba(34,211,238,.04)}
.check-row{display:flex!important;align-items:flex-start;gap:.8rem;cursor:pointer}
.check-row input[type="checkbox"]{width:1.2rem;height:1.2rem;margin-top:.15rem;accent-color:var(--accent)}
.check-row span{display:grid;gap:.2rem}.check-row small{color:var(--muted)}
.vendor-inventory-option .three{margin-top:1rem}
.vendor-inventory-option [hidden]{display:none!important}
#inventoryScanForm .catalogue-recovery small{display:inline-block;min-height:1.2em}
@media(max-width:720px){.vendor-inventory-option .three{grid-template-columns:1fr}}

/* HoloRyn TCG v3.7.0 streamlined vendor stock and sales workflow */
.vendor-tabs{display:flex;gap:.55rem;flex-wrap:wrap;margin:0 0 1rem}.vendor-tabs a{display:inline-flex;padding:.72rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-weight:750}.vendor-tabs a.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#071018;border-color:transparent}.vendor-flow{margin-bottom:1rem}.pipeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.pipeline-grid article{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.35rem .65rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.pipeline-grid article>span{grid-row:1/3;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:rgba(34,211,238,.14);color:var(--accent2);font-weight:900}.pipeline-grid small{color:var(--muted);line-height:1.4}.sale-list{display:grid;gap:.65rem}.sale-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.sale-list article:last-child{border-bottom:0}.sale-list article>div{display:grid;gap:.2rem}.sale-list article>div:last-child{text-align:right}.sale-list small{color:var(--muted)}.stock-filter{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,240px) auto;gap:.65rem;margin:0 0 1rem}.quick-status{display:flex;align-items:center;gap:.35rem;min-width:210px}.quick-status select{min-width:130px}.stock-head{margin-bottom:.75rem}.sales-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:0 0 1rem}.sales-summary>div,.sale-preview>div{display:grid;gap:.25rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.sales-summary span,.sale-preview span{color:var(--muted);font-size:.82rem}.sales-summary strong,.sale-preview strong{font-size:1.3rem}.sale-dialog{width:min(760px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;border:1px solid var(--line);border-radius:22px;background:var(--panel);color:var(--text);padding:1.2rem;box-shadow:var(--shadow)}.sale-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(5px)}.sale-preview{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.65rem}.inventory-search{min-width:min(420px,100%)}
@media(max-width:1000px){.pipeline-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.pipeline-grid,.sales-summary,.sale-preview{grid-template-columns:1fr}.stock-filter{grid-template-columns:1fr}.quick-status{min-width:180px}.sale-list article{align-items:flex-start}.sale-dialog{padding:1rem}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{width:100%}}

/* HoloRyn TCG v3.7.0 editable stock and completed trade workflow */
.stock-actions{display:flex;flex-wrap:wrap;gap:.35rem;min-width:220px}
.trade-dialog{width:min(920px,calc(100vw - 2rem))}
.trade-received{padding:1rem;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}
.trade-received-line{display:grid;gap:.75rem;padding:1rem;margin-top:.75rem;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.12)}
.trade-received-line:first-child{margin-top:0}
.trade-line-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.trade-line-head strong{font-size:.95rem}
.trade-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.trade-summary>div{display:grid;gap:.25rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}
.trade-summary span,.trade-summary small{color:var(--muted)}
.trade-summary strong{font-size:1.25rem}
.trade-summary small{font-size:.75rem;line-height:1.35}
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}
@media(max-width:900px){.four{grid-template-columns:repeat(2,1fr)}.trade-summary{grid-template-columns:1fr}}
@media(max-width:720px){.stock-actions{min-width:0}.stock-actions .button{flex:1 1 auto}.four{grid-template-columns:1fr}.trade-received{padding:.75rem}}

/* v3.7 anonymised market-evidence controls */
.chip.success{color:var(--good);border-color:rgba(57,217,138,.35);background:rgba(57,217,138,.08)}
.market-consent-form{margin-top:.45rem}.market-consent-form .button{white-space:nowrap}
.sales-summary{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}


/* HoloRyn TCG v3.8.0 stable, card-first slab capture */
.camera-modal.mode-slab .camera-guide,.preview-guide.mode-slab{width:min(84vw,520px);aspect-ratio:5/7;border-radius:18px}
.mode-slab .guide-label-region{left:5%;right:5%;top:3%;height:18%;border-width:3px}
.mode-slab .guide-card-region{left:7%;right:7%;top:21.5%;bottom:2.5%;border-width:3px}
.mode-slab .guide-name-region{left:11%;right:22%;top:24%;height:9%}
.mode-slab .guide-number-left-region{display:block;left:10%;width:42%;bottom:4.5%;height:9%}
.mode-slab .guide-number-right-region{right:10%;left:auto;width:42%;bottom:4.5%;height:9%}
.camera-tap-hint::after{content:'';}
@media(max-width:700px){.camera-modal.mode-slab .camera-guide{width:min(88vw,440px)}}

/* v3.9.2: every live camera mode supports tap-to-capture. Keep the physical
   shutter inside the safe viewport as a second capture option. */
.camera-modal .camera-tap-hint{background:rgba(8,145,178,.84)!important}
.camera-controls{display:flex!important;visibility:visible!important;opacity:1;bottom:calc(env(safe-area-inset-bottom,0px) + 18px)!important;min-height:76px!important;padding:0 18px!important}
.camera-shutter{display:block!important;visibility:visible!important;opacity:1!important;flex:0 0 72px!important;z-index:8!important}
.camera-tap-hint{bottom:calc(env(safe-area-inset-bottom,0px) + 112px)!important;max-width:calc(100vw - 28px);overflow:hidden;text-overflow:ellipsis}
@media(max-height:650px){.camera-copy small{display:none}.camera-tap-hint{bottom:calc(env(safe-area-inset-bottom,0px) + 96px)!important}.camera-controls{bottom:calc(env(safe-area-inset-bottom,0px) + 8px)!important}}


/* HoloRyn TCG v3.9.4: two-stage slab capture.
   The card and label are photographed close-up in separate steps. */
.guide-grader-region,.guide-cert-region,.guide-grade-region{display:none;position:absolute;border:3px solid rgba(250,204,21,.95);border-radius:9px;background:rgba(250,204,21,.07);color:#fff;font-size:.7rem;letter-spacing:.04em;text-shadow:0 1px 4px #000}
.guide-grader-region b,.guide-cert-region b,.guide-grade-region b{position:absolute;left:6px;top:4px}
.camera-shell:not(.camera-ready) .camera-guide,.camera-shell:not(.camera-ready) .camera-tap-hint,.camera-shell:not(.camera-ready) .camera-shutter{opacity:0!important;pointer-events:none!important}
.camera-shell.camera-ready .camera-guide,.camera-shell.camera-ready .camera-tap-hint,.camera-shell.camera-ready .camera-shutter{opacity:1!important}
.camera-modal.slab-stage-card .camera-guide{width:min(80vw,440px)!important;aspect-ratio:63/88!important;border-radius:15px!important}
.camera-modal.slab-stage-card .guide-label-region,.camera-modal.slab-stage-card .guide-grader-region,.camera-modal.slab-stage-card .guide-cert-region,.camera-modal.slab-stage-card .guide-grade-region{display:none!important}
.camera-modal.slab-stage-card .guide-card-region{display:block!important;left:2%!important;right:2%!important;top:2%!important;bottom:2%!important;border-color:#6ee7c7!important;background:rgba(110,231,199,.035)!important}
.camera-modal.slab-stage-card .guide-name-region{display:block!important;left:5%!important;right:18%!important;top:3%!important;height:11%!important}
.camera-modal.slab-stage-card .guide-number-left-region{display:block!important;left:3%!important;width:50%!important;bottom:2.5%!important;height:10%!important}
.camera-modal.slab-stage-card .guide-number-right-region{display:block!important;right:3%!important;left:auto!important;width:50%!important;bottom:2.5%!important;height:10%!important}
.camera-modal.slab-stage-label .camera-guide{width:min(94vw,650px)!important;aspect-ratio:16/5!important;border-radius:14px!important;top:48%!important}
.camera-modal.slab-stage-label .guide-card-region,.camera-modal.slab-stage-label .guide-name-region,.camera-modal.slab-stage-label .guide-number-left-region,.camera-modal.slab-stage-label .guide-number-right-region{display:none!important}
.camera-modal.slab-stage-label .guide-label-region{display:block!important;left:1.5%!important;right:1.5%!important;top:4%!important;height:92%!important;border-color:#22d3ee!important;background:rgba(34,211,238,.035)!important}
.camera-modal.slab-stage-label .guide-grader-region{display:block!important;left:4%!important;width:62%!important;top:9%!important;height:39%!important;border-color:rgba(110,231,199,.95)!important;background:rgba(110,231,199,.045)!important}
.camera-modal.slab-stage-label .guide-grade-region{display:block!important;right:4%!important;width:25%!important;top:9%!important;height:39%!important}
.camera-modal.slab-stage-label .guide-cert-region{display:block!important;right:4%!important;width:53%!important;bottom:9%!important;height:30%!important}
.camera-modal.slab-stage-label .camera-tap-hint{background:rgba(124,58,237,.88)!important}
#restartSlabCapture[hidden]{display:none!important}
@media(max-width:700px){
 .camera-modal.slab-stage-card .camera-guide{width:min(84vw,410px)!important}
 .camera-modal.slab-stage-label .camera-guide{width:min(94vw,520px)!important}
 .camera-controls{gap:14px!important;padding-inline:10px!important}
 .camera-control{padding:10px 13px!important}
}
@media(max-height:680px){
 .camera-modal.slab-stage-label .camera-guide{top:45%!important;width:min(88vw,560px)!important}
 .camera-modal.slab-stage-card .camera-guide{width:min(68vw,360px)!important}
}
@media(max-width:700px){#restartSlabCapture:not([hidden]){margin-left:auto!important}}

/* HoloRyn TCG v3.9.4: card identity comes only from the close-up card face.
   The second slab step exposes only the grade and certificate-number regions. */
.camera-modal.slab-stage-label .guide-grader-region{display:none!important}
.camera-modal.slab-stage-label .guide-label-region{display:block!important;left:1.5%!important;right:1.5%!important;top:4%!important;height:92%!important;border-color:rgba(34,211,238,.78)!important;background:rgba(34,211,238,.02)!important}
.camera-modal.slab-stage-label .guide-grade-region{display:block!important;right:3.5%!important;width:29%!important;top:8%!important;height:48%!important;border-color:rgba(250,204,21,.98)!important;background:rgba(250,204,21,.08)!important}
.camera-modal.slab-stage-label .guide-cert-region{display:block!important;right:3.5%!important;width:49%!important;bottom:7%!important;height:30%!important;border-color:rgba(110,231,199,.98)!important;background:rgba(110,231,199,.08)!important}
.camera-modal.slab-stage-label .guide-cert-region b,.camera-modal.slab-stage-label .guide-grade-region b{font-size:.67rem;white-space:nowrap}

/* HoloRyn TCG v3.9.5: single-photo, no-crop slab camera.
   The complete slab remains visible; card identity and label metadata are then
   extracted from separate regions of that one captured frame. */
.camera-modal.mode-slab .camera-shell video{object-fit:contain!important;background:#000!important}
.camera-modal.mode-raw .camera-shell video{object-fit:cover!important}
.camera-modal.mode-slab .camera-guide,.preview-guide.mode-slab{
 width:min(78vw,390px)!important;aspect-ratio:57/100!important;height:auto!important;
 top:48%!important;border-radius:18px!important
}
.camera-modal.mode-slab .guide-label-region,.preview-guide.mode-slab .guide-label-region{
 display:block!important;left:6%!important;right:6%!important;top:3.5%!important;height:22%!important;
 border-color:rgba(34,211,238,.96)!important;background:rgba(34,211,238,.035)!important
}
.camera-modal.mode-slab .guide-card-region,.preview-guide.mode-slab .guide-card-region{
 display:block!important;left:9%!important;right:9%!important;top:27.5%!important;bottom:4.5%!important;
 border-color:rgba(110,231,199,.98)!important;background:rgba(110,231,199,.025)!important
}
.camera-modal.mode-slab .guide-name-region{display:block!important;left:13%!important;right:22%!important;top:29.5%!important;height:8.5%!important}
.camera-modal.mode-slab .guide-number-left-region{display:block!important;left:11%!important;width:43%!important;bottom:6%!important;height:8.5%!important}
.camera-modal.mode-slab .guide-number-right-region{display:block!important;right:11%!important;left:auto!important;width:43%!important;bottom:6%!important;height:8.5%!important}
.camera-modal.mode-slab .guide-grader-region{display:none!important}
.camera-modal.mode-slab .guide-grade-region{
 display:block!important;right:8%!important;width:24%!important;top:5.5%!important;height:10.5%!important;
 border-color:rgba(250,204,21,.98)!important;background:rgba(250,204,21,.08)!important
}
.camera-modal.mode-slab .guide-cert-region{
 display:block!important;right:8%!important;width:39%!important;top:16.5%!important;height:7.5%!important;
 border-color:rgba(110,231,199,.98)!important;background:rgba(110,231,199,.08)!important
}
.camera-modal.mode-slab .guide-cert-region b,.camera-modal.mode-slab .guide-grade-region b{font-size:.62rem;white-space:nowrap}
#restartSlabCapture{display:none!important}
@media(max-height:700px){
 .camera-modal.mode-slab .camera-guide{width:min(62vw,290px)!important;top:46%!important}
 .camera-copy small{display:none}
}
@media(max-width:380px){.camera-modal.mode-slab .camera-guide{width:min(74vw,300px)!important}}


/* HoloRyn TCG v3.9.7: orientation-normalised camera preview.
   iOS may expose a landscape sensor stream in portrait mode. The live canvas is
   rendered upright and capture uses the same geometry, preventing frame shift. */
.camera-source-video{
 position:absolute!important;width:2px!important;height:2px!important;left:-10px!important;top:-10px!important;
 opacity:.001!important;pointer-events:none!important;object-fit:fill!important;transform:none!important
}
.camera-live-preview{
 position:absolute;inset:0;width:100%;height:100%;display:block;background:#000;z-index:0;pointer-events:none
}
.camera-guide,.camera-copy,.camera-tap-hint,.camera-controls,.camera-status,.camera-flash{z-index:3}
.camera-flash{z-index:20}
.camera-modal.mode-slab .camera-guide{
 width:min(78vw,390px)!important;max-height:calc(var(--camera-vh,100dvh) - 210px)!important;
 aspect-ratio:57/100!important;height:auto!important;top:49%!important
}
@media(max-width:430px){.camera-modal.mode-slab .camera-guide{width:min(80vw,360px)!important}}
@media(max-height:720px){.camera-modal.mode-slab .camera-guide{width:min(61vw,285px)!important;top:48%!important}}

/* HoloRyn TCG v3.14.0 launch UI and one-photo slab capture */
.brand-mark,.hero-logo{overflow:visible;color:#fff}
.brand-mark img,.hero-logo img{width:100%;height:100%;display:block;object-fit:contain}
.hero-logo{margin-inline:auto}.auth-row,.auth-links{display:flex;gap:12px;align-items:center}.auth-row{justify-content:flex-end}.auth-links{margin-top:20px;justify-content:space-between;flex-wrap:wrap;color:var(--accent2);font-size:14px}.public-account-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.button.full{width:100%}.button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.45)}.button.danger{background:linear-gradient(135deg,#dc274f,#9f1239)}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.settings-grid>.subscription-panel{grid-column:1/-1}.danger-zone{border-color:rgba(255,102,122,.34)}.danger-zone summary{cursor:pointer;color:#ff9baa;font-weight:750;margin:14px 0}.subscription-panel{background:linear-gradient(140deg,rgba(139,92,246,.15),rgba(34,211,238,.05)),rgba(17,22,33,.96)}.plan-status{display:grid;gap:7px;padding:18px;margin:16px 0;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}.plan-status span,.plan-status small{color:var(--muted)}.plan-status strong{font-size:25px}.upgrade-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:18px 0}.upgrade-cards article{position:relative;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(8,10,16,.58)}.upgrade-cards article.recommended{border-color:rgba(34,211,238,.55);box-shadow:0 15px 40px rgba(34,211,238,.08)}.upgrade-cards article.recommended>span{position:absolute;right:14px;top:14px;padding:6px 8px;border-radius:999px;background:rgba(34,211,238,.14);color:var(--accent2);font-size:11px;font-weight:800}.upgrade-cards .plan-name{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.12em}.upgrade-cards strong{font-size:30px}.upgrade-cards strong small{font-size:13px;color:var(--muted)}.upgrade-cards article>p:not(.plan-name){color:var(--muted);min-height:42px}
.master-set-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:24px;align-items:end}.track-set-form{display:flex;align-items:end;gap:10px}.track-set-form label{flex:1}.tracked-set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:18px 0}.tracked-set-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel);transition:.18s}.tracked-set-card:hover,.tracked-set-card.active{transform:translateY(-2px);border-color:rgba(139,92,246,.75);background:linear-gradient(145deg,rgba(139,92,246,.13),rgba(17,22,33,.96))}.tracked-set-card>span,.tracked-set-card small{color:var(--muted);font-size:12px}.tracked-set-card h3{margin:7px 0 14px}.tracked-set-card strong{display:block;margin-top:10px}.set-progress{height:8px;border-radius:999px;background:#090d14;overflow:hidden}.set-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2))}.set-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.master-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.master-card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#0c111a;position:relative}.master-card img,.master-card>.placeholder{width:100%;aspect-ratio:2.5/3.5;object-fit:contain;background:#080b11}.master-card>div:last-child{padding:12px}.master-card h3{font-size:14px;margin:7px 0 4px}.master-card small{color:var(--muted)}.master-card.missing img{filter:grayscale(.92);opacity:.46}.master-card.missing{opacity:.78}.master-card.owned{border-color:rgba(57,217,138,.42)}.master-state{display:inline-block;padding:4px 7px;border-radius:999px;background:rgba(255,102,122,.11);color:#ff9baa;font-size:10px;font-weight:850;text-transform:uppercase}.master-card.owned .master-state{background:rgba(57,217,138,.12);color:#77e6ac}

/* These rules intentionally come after all legacy scanner experiments. */
.camera-modal.mode-slab.slab-stage-card .camera-guide{width:min(78vw,390px)!important;aspect-ratio:57/100!important;height:auto!important;top:49%!important;border-radius:18px!important}
.camera-modal.mode-slab.slab-stage-card .guide-label-region{display:block!important;left:6%!important;right:6%!important;top:3.5%!important;height:22%!important}
.camera-modal.mode-slab.slab-stage-card .guide-card-region{display:block!important;left:9%!important;right:9%!important;top:27.5%!important;bottom:4.5%!important}
.camera-modal.mode-slab.slab-stage-card .guide-grade-region{display:block!important;right:8%!important;width:24%!important;top:5.5%!important;height:10.5%!important}
.camera-modal.mode-slab.slab-stage-card .guide-cert-region{display:block!important;right:8%!important;width:39%!important;top:16.5%!important;height:7.5%!important}
.camera-modal.mode-slab.slab-stage-label .camera-guide{width:min(94vw,680px)!important;aspect-ratio:2.15/1!important;height:auto!important;top:49%!important;border-radius:15px!important;border-color:rgba(34,211,238,.98)!important;box-shadow:0 0 0 9999px rgba(0,0,0,.48),0 0 36px rgba(34,211,238,.4)!important}
.camera-modal.mode-slab.slab-stage-label .guide-card-region,.camera-modal.mode-slab.slab-stage-label .guide-name-region,.camera-modal.mode-slab.slab-stage-label .guide-number-left-region,.camera-modal.mode-slab.slab-stage-label .guide-number-right-region,.camera-modal.mode-slab.slab-stage-label .guide-grader-region{display:none!important}
.camera-modal.mode-slab.slab-stage-label .guide-label-region{display:block!important;inset:3%!important;border-color:rgba(34,211,238,.92)!important;background:rgba(34,211,238,.025)!important}
.camera-modal.mode-slab.slab-stage-label .guide-grade-region{display:block!important;left:auto!important;right:4%!important;top:8%!important;width:30%!important;height:48%!important;border-color:rgba(250,204,21,.98)!important;background:rgba(250,204,21,.08)!important}
.camera-modal.mode-slab.slab-stage-label .guide-cert-region{display:block!important;left:auto!important;right:4%!important;top:auto!important;bottom:7%!important;width:52%!important;height:28%!important;border-color:rgba(110,231,199,.98)!important;background:rgba(110,231,199,.08)!important}
.camera-modal.mode-slab.slab-stage-label .guide-grade-region b,.camera-modal.mode-slab.slab-stage-label .guide-cert-region b{font-size:.66rem!important;white-space:nowrap}
#restartSlabCapture:not([hidden]){display:inline-flex!important}
@media(max-width:760px){.settings-grid,.upgrade-cards,.master-set-toolbar{grid-template-columns:1fr}.track-set-form{display:grid}.master-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-modal.mode-slab.slab-stage-label .camera-guide{width:min(94vw,620px)!important}.camera-modal.mode-slab.slab-stage-card .camera-guide{width:min(80vw,360px)!important}}
@media(max-height:700px){.camera-modal.mode-slab.slab-stage-label .camera-guide{width:min(86vw,580px)!important;top:46%!important}.camera-modal.mode-slab.slab-stage-card .camera-guide{width:min(61vw,285px)!important;top:48%!important}}
.capture-choice.three-choice{grid-template-columns:minmax(170px,.7fr) repeat(2,minmax(190px,1fr))}.slab-label-upload{border-color:rgba(34,211,238,.45);background:rgba(34,211,238,.035)}
@media(max-width:900px){.capture-choice.three-choice{grid-template-columns:1fr}}

/* HoloRyn TCG v3.12.0 unified sign-up, billing and cancellation */
.auth-card-wide{width:min(720px,100%);max-width:720px}.signup-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.signup-plan{display:flex!important;gap:.7rem;align-items:flex-start;border:1px solid var(--line,#293141);border-radius:14px;padding:1rem;background:rgba(255,255,255,.025);cursor:pointer}.signup-plan input{width:auto;margin-top:.25rem}.signup-plan span{display:grid;gap:.25rem}.signup-plan small{color:var(--muted,#98a2b3);font-weight:400}.cancel-membership{margin-top:1rem;border-top:1px solid var(--line,#293141);padding-top:1rem}.cancel-membership summary{cursor:pointer;font-weight:700}.vendor-welcome{display:flex;justify-content:space-between;gap:1rem;align-items:center}.vendor-welcome p{max-width:760px}.admin-plan-form{min-width:390px}.admin-plan-form select{min-width:170px}.admin-plan-form input[type=number]{width:72px}@media(max-width:720px){.signup-plan-grid{grid-template-columns:1fr}.vendor-welcome{align-items:flex-start;flex-direction:column}.admin-plan-form{min-width:300px}}

/* HoloRyn TCG v3.14.0: market movement, one-photo slab capture and multi-card trades */
.daily-change{display:inline-flex;align-items:center;gap:.25rem;padding:.28rem .5rem;border-radius:999px;font-size:.75rem;font-weight:800;white-space:nowrap;background:rgba(148,163,184,.1);color:var(--muted)}
.daily-change.positive{background:rgba(57,217,138,.12);color:#77e6ac}.daily-change.negative{background:rgba(255,102,122,.12);color:#ff9baa}.daily-change.neutral{background:rgba(148,163,184,.09);color:var(--muted)}
.market-evidence-box{padding:1rem;border:1px solid rgba(34,211,238,.3);border-radius:16px;background:rgba(34,211,238,.035)}
.section-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.button.danger,.button.tiny.danger{background:linear-gradient(135deg,#dc274f,#9f1239);border-color:rgba(255,102,122,.4);color:#fff}
.stock-actions form{margin:0}.owner-management{border-color:rgba(34,211,238,.35)}.owner-action-card{padding:1rem;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}
.trade-dialog{width:min(1080px,96vw);max-width:1080px}.trade-scan-station,.trade-side{padding:1rem;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.trade-scan-station{border-color:rgba(34,211,238,.35);background:linear-gradient(135deg,rgba(34,211,238,.05),rgba(139,92,246,.04))}.trade-outgoing{border-color:rgba(255,102,122,.28)}.trade-received{border-color:rgba(57,217,138,.28)}
.trade-outgoing-line,.trade-received-line{padding:1rem;margin-top:.75rem;border:1px solid var(--line);border-radius:14px;background:rgba(8,11,17,.52)}
.trade-outgoing-fields{display:grid;grid-template-columns:minmax(280px,1fr) 120px minmax(135px,.35fr);gap:.75rem;align-items:end}.trade-line-value{display:grid;gap:.2rem;padding:.65rem .75rem;border-radius:12px;background:rgba(255,255,255,.035)}.trade-line-value span,.trade-line-value small{color:var(--muted);font-size:.75rem}.trade-line-value strong{font-size:1rem}
.trade-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.trade-summary>div{min-width:0}.trade-summary small{display:block;color:var(--muted);font-size:.72rem;line-height:1.35;margin-top:.25rem}
.camera-modal.mode-slab .camera-guide{width:min(78vw,390px)!important;aspect-ratio:57/100!important;height:auto!important;top:49%!important;border-radius:18px!important}.camera-modal.mode-slab .guide-label-region{display:block!important;left:6%!important;right:6%!important;top:3.5%!important;height:22%!important}.camera-modal.mode-slab .guide-card-region{display:block!important;left:9%!important;right:9%!important;top:27.5%!important;bottom:4.5%!important}.camera-modal.mode-slab .guide-grade-region{display:block!important;right:8%!important;width:24%!important;top:5.5%!important;height:10.5%!important}.camera-modal.mode-slab .guide-cert-region{display:block!important;right:8%!important;width:39%!important;top:16.5%!important;height:7.5%!important}.camera-modal.slab-stage-label{display:none!important}#restartSlabCapture{display:none!important}
@media(max-width:820px){.trade-outgoing-fields{grid-template-columns:1fr 110px}.trade-line-value{grid-column:1/-1}.trade-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.trade-outgoing-fields,.trade-summary{grid-template-columns:1fr}.trade-dialog{width:100vw;max-width:100vw;margin:0;min-height:100dvh;border-radius:0}.section-actions{width:100%}.section-actions .button{flex:1}.owner-management>.two{grid-template-columns:1fr}}

.danger-check{margin-top:.75rem;padding:.8rem;border:1px solid rgba(255,110,110,.35);border-radius:.75rem;background:rgba(255,80,80,.06)}

/* HoloRyn TCG v3.14.0 unified multi-card Sale / Trade workspace */
.transaction-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.65fr);gap:18px;align-items:start}
.transaction-builder{min-width:0}.transaction-heading{align-items:flex-start}.transaction-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;padding:0;margin:0}.transaction-mode legend{grid-column:1/-1;font-weight:800;margin-bottom:2px}.transaction-mode label{position:relative;display:block;cursor:pointer}.transaction-mode input{position:absolute;opacity:0;pointer-events:none}.transaction-mode span{display:grid;gap:5px;height:100%;padding:17px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}.transaction-mode strong{font-size:18px}.transaction-mode small{color:var(--muted)}.transaction-mode input:checked+span{border-color:rgba(34,211,238,.72);background:linear-gradient(145deg,rgba(34,211,238,.13),rgba(139,92,246,.1));box-shadow:0 0 0 2px rgba(34,211,238,.1)}
.transaction-scan-station{border:1px solid rgba(34,211,238,.25);background:linear-gradient(145deg,rgba(34,211,238,.06),rgba(255,255,255,.02));border-radius:18px;padding:18px}.scan-side-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}.scan-direction{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--muted);border-radius:12px;padding:12px;font-weight:800;cursor:pointer}.scan-direction.active{background:rgba(110,231,199,.12);border-color:rgba(110,231,199,.56);color:#bff9e7}
.transaction-outgoing-fields{display:grid;grid-template-columns:minmax(220px,1.7fr) 100px minmax(130px,.65fr) minmax(150px,.75fr);gap:12px;align-items:end}.transaction-outgoing-fields .trade-line-value{min-height:47px}.transaction-outgoing-agreed,.transaction-incoming-market,.trade-received-value{font-variant-numeric:tabular-nums}.transaction-builder .trade-side{border:1px solid var(--line);border-radius:18px;padding:18px;background:rgba(255,255,255,.025)}.transaction-builder .trade-received{border-color:rgba(139,92,246,.28)}.transaction-builder .trade-outgoing{border-color:rgba(110,231,199,.28)}
.transaction-trade-balance{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid rgba(250,204,21,.28);border-radius:16px;background:rgba(250,204,21,.055)}.transaction-trade-balance div{display:grid;gap:4px}.transaction-trade-balance span,.transaction-trade-balance small{color:var(--muted)}.transaction-trade-balance strong{font-size:22px;color:#fde68a}.transaction-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px}.transaction-summary>div{display:grid;gap:5px;padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.transaction-summary span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.transaction-summary strong{font-size:20px}.transaction-sale-fields{display:grid;gap:12px;padding:16px;border:1px solid rgba(34,211,238,.18);border-radius:16px;background:rgba(34,211,238,.035)}
.transaction-guide{position:sticky;top:18px}.transaction-guide ol{display:grid;gap:15px;padding-left:20px}.transaction-guide li{padding-left:4px}.transaction-guide li strong,.transaction-guide li span{display:block}.transaction-guide li span{margin-top:3px;color:var(--muted);font-size:13px}.rate-card{display:grid;gap:5px;margin-top:20px;padding:16px;border:1px solid rgba(139,92,246,.3);border-radius:15px;background:rgba(139,92,246,.08)}.rate-card span{color:var(--muted)}.rate-card strong{font-size:28px}.rate-card a{color:var(--accent2);font-size:13px;font-weight:800}.transaction-builder [hidden]{display:none!important}
@media(max-width:1050px){.transaction-layout{grid-template-columns:1fr}.transaction-guide{position:static}.transaction-outgoing-fields{grid-template-columns:minmax(220px,1.5fr) 100px minmax(120px,.7fr) minmax(150px,.8fr)}}
@media(max-width:760px){.transaction-mode,.scan-side-switch{grid-template-columns:1fr}.transaction-outgoing-fields{grid-template-columns:1fr 1fr}.transaction-outgoing-fields>label:first-child{grid-column:1/-1}.transaction-outgoing-fields .trade-line-value{align-self:stretch}.transaction-trade-balance{align-items:flex-start;flex-direction:column}.transaction-summary{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.transaction-outgoing-fields,.transaction-summary{grid-template-columns:1fr}.transaction-builder .trade-side,.transaction-scan-station{padding:14px}.transaction-mode span{padding:14px}}

/* HoloRyn TCG 3.15.0 streamlined vendor workflow */
.target-price-box{display:inline-flex;min-width:5.5rem;justify-content:center;align-items:center;padding:.45rem .65rem;border-radius:.65rem;font-weight:800;border:1px solid transparent}
.target-price-box.target-below{background:rgba(220,38,38,.18);border-color:rgba(248,113,113,.55);color:#fecaca}
.target-price-box.target-met{background:rgba(22,163,74,.2);border-color:rgba(74,222,128,.5);color:#bbf7d0}
.target-price-box.target-neutral{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.3);color:var(--muted)}
.offer-choice-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.offer-choice{padding:1.15rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.035);display:grid;gap:.35rem}
.offer-choice span,.incoming-value-line span{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.offer-choice strong{font-size:clamp(1.6rem,5vw,2.35rem)}
.offer-choice.cash{box-shadow:inset 0 3px 0 rgba(56,189,248,.55)}
.offer-choice.trade{box-shadow:inset 0 3px 0 rgba(74,222,128,.55)}
.incoming-value-line{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(120px,.75fr));gap:.8rem;align-items:end}
.incoming-value-line>div{padding:.75rem;border-radius:.75rem;background:rgba(255,255,255,.04);display:grid;gap:.25rem}
.incoming-value-line strong{font-size:1.15rem}
.rate-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}
.rate-pair>div{padding:.85rem;border:1px solid var(--line);border-radius:.8rem;display:grid;gap:.25rem}
.rate-pair span{color:var(--muted);font-size:.82rem}.rate-pair strong{font-size:1.35rem}
.card-show-hero{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:linear-gradient(135deg,rgba(18,157,192,.16),rgba(194,165,62,.1))}
.card-show-metrics .hero-metric{box-shadow:inset 0 3px 0 rgba(194,165,62,.75)}
.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.export-card{display:flex;flex-direction:column;gap:.7rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.03)}
.export-card .button{margin-top:auto}.marketplace-readiness{display:grid;gap:.8rem}.marketplace-readiness>div{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:.9rem;border-bottom:1px solid var(--line)}
.slab-card-link,.collection-card-link{color:inherit;text-decoration:none}.slab-card-link{transition:transform .18s ease,border-color .18s ease}.slab-card-link:hover,.slab-card-link:focus-visible{transform:translateY(-2px);border-color:rgba(18,157,192,.65)}
.collection-card-link{display:grid;gap:.15rem}.collection-card-link:hover strong{text-decoration:underline}.selected-row{outline:1px solid rgba(18,157,192,.55);outline-offset:-1px}
.collection-editor-grid{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:1.25rem;align-items:start}.collection-edit-image{width:100%;max-height:390px;object-fit:contain;border-radius:1rem;background:rgba(255,255,255,.035);border:1px solid var(--line)}
@media(max-width:800px){.offer-choice-summary,.export-grid,.incoming-value-line,.collection-editor-grid{grid-template-columns:1fr}.card-show-hero{align-items:flex-start;flex-direction:column}.marketplace-readiness>div{grid-template-columns:1fr}.target-price-box{min-width:auto}}


/* HoloRyn TCG v3.18.1 persistent manual market-value overrides */
.manual-value-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:18px;align-items:center;padding:18px;border:1px solid rgba(86,214,174,.28);border-radius:16px;background:linear-gradient(135deg,rgba(86,214,174,.09),rgba(86,133,255,.06))}
.manual-value-control[hidden]{display:none!important}.manual-value-control.always-visible{display:grid}
.manual-value-control strong,.manual-value-control small{display:block}.manual-value-control small{margin-top:5px;color:var(--muted)}
.manual-value-actions{display:grid;gap:10px}.manual-value-badge{display:block;margin-top:4px;color:#57d8b1;font-weight:700}
@media(max-width:720px){.manual-value-control,.manual-value-control.always-visible{grid-template-columns:1fr}.manual-value-actions .button{width:100%}}

/* HoloRyn TCG v3.20.0 — collector quick-add and scan storage controls */
.scan-storage-note{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border:1px solid rgba(65,214,173,.22);border-radius:14px;background:rgba(65,214,173,.07)}
.scan-storage-note strong{white-space:nowrap;color:var(--accent,#41d6ad);font-size:.82rem}.scan-storage-note small{color:var(--muted,#a7b1c2);line-height:1.5}
.collector-quick-add{display:grid;grid-template-columns:72px 1fr auto;gap:15px;align-items:center;padding:16px;border:1px solid rgba(65,214,173,.34);border-radius:18px;background:linear-gradient(135deg,rgba(65,214,173,.11),rgba(66,123,255,.08));box-shadow:0 12px 30px rgba(0,0,0,.14)}
.collector-quick-add[hidden]{display:none}.collector-quick-add img{width:72px;height:96px;object-fit:contain;border-radius:10px;background:rgba(0,0,0,.15)}
.collector-quick-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.collector-quick-copy strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collector-quick-copy small{color:var(--muted,#a7b1c2)}.collector-quick-copy b{color:var(--accent,#41d6ad);font-size:1.08rem}
.collector-quick-button{min-width:155px}.collector-quick-button:disabled{opacity:.48;cursor:wait}
.collector-more-details{border:1px solid var(--border,rgba(255,255,255,.1));border-radius:15px;background:rgba(255,255,255,.025)}.collector-more-details>summary{cursor:pointer;padding:15px 17px;font-weight:750;list-style:none}.collector-more-details>summary::-webkit-details-marker{display:none}.collector-more-details>summary span{float:right;color:var(--muted,#a7b1c2);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.collector-optional-fields{padding:0 16px 16px}
.exact-photo-choice{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border,rgba(255,255,255,.1))}
@media(max-width:700px){.collector-quick-add{grid-template-columns:58px 1fr}.collector-quick-add img{width:58px;height:78px}.collector-quick-button{grid-column:1/-1;width:100%}.scan-storage-note{display:block}.scan-storage-note strong{display:block;margin-bottom:5px}}

/* HoloRyn TCG v3.20.0 — Vendor CSV inventory onboarding */
.csv-import-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:18px;align-items:start}
.csv-import-form{min-width:0}.csv-import-guide{position:sticky;top:18px}.csv-upload-zone{min-height:150px;justify-content:center;text-align:center;border-style:dashed;border-color:rgba(65,214,173,.38);background:linear-gradient(135deg,rgba(65,214,173,.075),rgba(66,123,255,.045))}
.csv-import-options{display:grid;grid-template-columns:minmax(250px,1fr) auto;gap:16px;align-items:end}.csv-import-actions{display:flex;gap:10px;flex-wrap:wrap}.csv-import-actions .button{min-width:150px}
.csv-column-list{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 18px}.csv-column-list span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;color:#d8e1ec}
.csv-import-guide ol{display:grid;gap:10px;padding-left:22px}.csv-import-result{margin-top:18px}.csv-import-metrics{grid-template-columns:repeat(6,minmax(120px,1fr))}.csv-import-result td small{display:block;margin-top:5px;max-width:420px}.csv-status-error{background:rgba(255,95,115,.12)!important;color:#ff9baa!important}.csv-status-skipped{background:rgba(250,204,21,.12)!important;color:#fde68a!important}.csv-status-imported,.csv-status-updated,.csv-status-ready{background:rgba(65,214,173,.12)!important;color:#8ff0d1!important}.csv-import-form code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#bff9e7}
@media(max-width:1080px){.csv-import-layout{grid-template-columns:1fr}.csv-import-guide{position:static}.csv-import-metrics{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media(max-width:720px){.csv-import-options{grid-template-columns:1fr}.csv-import-actions{display:grid;grid-template-columns:1fr 1fr}.csv-import-actions .button{min-width:0}.csv-import-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.csv-import-result .section-head{align-items:flex-start;flex-direction:column}}
@media(max-width:460px){.csv-import-actions,.csv-import-metrics{grid-template-columns:1fr}.csv-import-actions .button{width:100%}}

/* v3.22.0 faster scanner entry and Raw / Slab controls */
.scan-type-section{display:grid;gap:9px}.scan-type-section.compact{gap:7px}.field-label{color:#bec6d5;font-size:13px;font-weight:650}.scan-type-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.scan-type-button{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:11px 16px;border:1px solid var(--line);border-radius:14px;background:#0c1018;color:var(--muted);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.scan-type-button strong{color:var(--text);font-size:15px}.scan-type-button small{font-size:11px;color:var(--muted)}.scan-type-button:hover{transform:translateY(-1px);border-color:#4b5873}.scan-type-button.active{border-color:var(--accent2);background:linear-gradient(135deg,rgba(34,211,238,.16),rgba(139,92,246,.12));box-shadow:0 0 0 2px rgba(34,211,238,.08)}.scan-type-button:focus-visible{outline:3px solid rgba(34,211,238,.25);outline-offset:2px}.scanner-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(120px,.35fr);gap:13px;align-items:end}.auto-camera-choice{grid-template-columns:minmax(150px,.55fr) minmax(230px,1.45fr)}
.camera-mode-switch{position:absolute;z-index:8;top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(2,1fr);gap:5px;padding:5px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(5,8,14,.75);backdrop-filter:blur(12px);box-shadow:0 8px 25px rgba(0,0,0,.28)}.camera-mode-button{min-width:82px;border:0;border-radius:999px;padding:9px 16px;background:transparent;color:#d8e0ec;font-weight:800;cursor:pointer}.camera-mode-button.active{background:linear-gradient(135deg,var(--accent2),#6d70f6);color:#071018}.camera-mode-button:focus-visible{outline:2px solid #fff;outline-offset:2px}.camera-copy{top:calc(env(safe-area-inset-top,0px) + 72px)!important}
@media(max-width:700px){.scanner-toolbar{grid-template-columns:1fr}.auto-camera-choice{grid-template-columns:1fr}.camera-mode-button{min-width:74px;padding:9px 13px}.camera-copy{top:calc(env(safe-area-inset-top,0px) + 68px)!important;left:12px!important;right:12px!important}}

/* HoloRyn TCG v3.23.1: embedded camera on Scan / Add.
   The same capture engine remains available as a full-screen overlay in Vendor
   transaction tools, while the collector scanner stays in the page. */
.camera-modal.inline-camera{scroll-margin-top:24px}
.camera-modal.inline-camera{
 position:relative!important;
 inset:auto!important;
 width:100%!important;
 height:auto!important;
 min-height:0!important;
 max-width:none!important;
 max-height:none!important;
 margin:0!important;
 padding:0!important;
 overflow:hidden!important;
 z-index:1!important;
 border:1px solid rgba(34,211,238,.28);
 border-radius:20px;
 background:#000;
 box-shadow:0 18px 45px rgba(0,0,0,.28);
}
.camera-modal.inline-camera .camera-shell{
 position:relative!important;
 width:100%!important;
 height:clamp(470px,68vh,680px)!important;
 min-height:470px!important;
 max-height:680px!important;
 overflow:hidden!important;
 border-radius:19px;
 contain:layout paint;
 touch-action:manipulation;
}
.camera-modal.inline-camera .camera-mode-switch[hidden],
.camera-modal.inline-camera #closeGuidedCamera[hidden]{display:none!important}
.camera-modal.inline-camera .camera-copy{display:none!important}
.camera-modal.inline-camera .camera-tap-hint{
 top:16px!important;
 bottom:auto!important;
 left:50%!important;
 width:max-content;
 max-width:calc(100% - 32px)!important;
 padding:10px 15px!important;
 border:1px solid rgba(255,255,255,.18);
 border-radius:999px!important;
 background:linear-gradient(180deg,rgba(6,14,24,.86),rgba(6,14,24,.58))!important;
 box-shadow:0 10px 30px rgba(0,0,0,.28);
 backdrop-filter:blur(9px);
 color:#fff;
 font-weight:800;
 text-align:center;
 white-space:nowrap;
 transform:translateX(-50%);
}
.camera-modal.inline-camera.mode-raw .camera-tap-hint{border-color:rgba(254,243,199,.32)!important}
.camera-modal.inline-camera.mode-slab .camera-tap-hint{border-color:rgba(207,250,254,.32)!important}
.camera-modal.inline-camera .camera-controls{
 left:12px!important;
 right:12px!important;
 bottom:14px!important;
 min-height:76px!important;
 padding:0 8px!important;
 justify-content:center!important;
 gap:24px!important;
 border-radius:18px;
 background:linear-gradient(180deg,transparent,rgba(0,0,0,.28));
}
.camera-modal.inline-camera .camera-control{padding:10px 14px;font-size:12px}
.camera-modal.inline-camera .camera-status{bottom:102px!important;left:14px!important;right:14px!important}
.camera-modal.inline-camera .camera-tap-hint{overflow:hidden;text-overflow:ellipsis}
.camera-modal.inline-camera.mode-raw .camera-guide{
 width:min(64%,370px)!important;
 max-height:calc(100% - 180px)!important;
 top:49%!important;
}
.camera-modal.inline-camera.mode-slab .camera-guide{
 width:min(54%,350px)!important;
 max-height:calc(100% - 175px)!important;
 top:50%!important;
}
.camera-modal.inline-camera .camera-shutter{flex:0 0 68px!important;width:68px!important;height:68px!important}
.camera-modal.inline-camera+.capture-choice{margin-top:2px}
@media(max-width:700px){
 .camera-modal.inline-camera{border-radius:17px}
 .camera-modal.inline-camera .camera-shell{height:min(64vh,590px)!important;min-height:430px!important;border-radius:16px}
 .camera-modal.inline-camera.mode-raw .camera-guide{width:min(78%,360px)!important}
 .camera-modal.inline-camera.mode-slab .camera-guide{width:min(69%,340px)!important}
 .camera-modal.inline-camera .camera-controls{justify-content:flex-start!important;padding-left:6px!important}
 .camera-modal.inline-camera .camera-shutter{position:absolute;left:50%;transform:translateX(-50%)}
 .camera-modal.inline-camera .camera-shutter:active{transform:translateX(-50%) scale(.94)}
}
@media(max-width:390px){
 .camera-modal.inline-camera .camera-shell{height:540px!important;min-height:420px!important}
 .camera-modal.inline-camera.mode-slab .camera-guide{width:min(72%,310px)!important}
 .camera-modal.inline-camera .camera-copy small{font-size:11px}
}
.inline-camera-fallback{display:block!important}
.inline-camera-fallback .upload-zone{width:100%}
#smartScanForm .inline-camera~.capture-choice~.alignment-preview{min-height:170px}
#smartScanForm .inline-camera~.capture-choice~.alignment-preview>img{height:190px;object-fit:contain}
#smartScanForm .inline-camera~.capture-choice~.alignment-preview .preview-guide{display:none!important}
#smartScanForm .inline-camera~.capture-choice~.alignment-preview .alignment-actions{position:static;border-radius:0;background:rgba(7,10,16,.96)}
#restartInlineCamera[hidden]{display:none!important}

/* HoloRyn TCG v3.24.1 — repeat-scan scroll positioning */
@media(max-width:1000px){.camera-modal.inline-camera{scroll-margin-top:86px}}

/* HoloRyn TCG v3.24.1 — Shop workspace */
.shop-launch-banner{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:13px 16px;border:1px solid rgba(65,214,173,.34);border-radius:14px;background:linear-gradient(135deg,rgba(65,214,173,.1),rgba(139,92,246,.08));text-decoration:none}.shop-launch-banner strong{color:var(--accent2)}.shop-launch-banner span{color:var(--muted);font-size:13px}.shop-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.shop-tabs a{padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);color:var(--muted);font-size:13px;font-weight:800}.shop-tabs a.active{border-color:rgba(34,211,238,.48);background:rgba(34,211,238,.1);color:var(--text)}.shop-preview-alert a{text-decoration:underline}.shop-hero{display:grid;grid-template-columns:1fr minmax(250px,.42fr);gap:25px;align-items:center;background:radial-gradient(circle at 90% 10%,rgba(65,214,173,.11),transparent 34%),var(--surface)}.shop-plan-card{padding:20px;border:1px solid rgba(65,214,173,.25);border-radius:17px;background:rgba(3,10,17,.38)}.shop-plan-card span,.shop-plan-card small{display:block;color:var(--muted)}.shop-plan-card strong{display:block;font-size:24px;margin:6px 0}.shop-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0}.shop-product-builder{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px}.shop-card-search,.shop-add-product-form{padding:19px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025)}.catalogue-mini-grid{display:grid;gap:8px;margin-top:14px;max-height:560px;overflow:auto}.catalogue-mini-card{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.catalogue-mini-card:hover{border-color:var(--accent2)}.catalogue-mini-card small,.catalogue-mini-card strong{display:block}.catalogue-mini-card small{color:var(--muted);font-size:11px;margin-top:3px}.catalogue-thumb{width:48px;height:65px;display:grid;place-items:center;overflow:hidden;border-radius:7px;background:#121827}.catalogue-thumb img{width:100%;height:100%;object-fit:contain}.catalogue-thumb b{font-size:9px}.shop-card-only{display:grid;gap:13px}.shop-card-only[hidden]{display:none!important}.low-stock-row{background:rgba(255,170,70,.035)}.low-stock-row td:first-child{border-left:3px solid #f2aa55}.shop-till-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:18px;align-items:start}.shop-pos-panel{min-width:0}.shop-sale-lines{display:grid;gap:10px}.shop-sale-line{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.024)}.shop-pos-total{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid rgba(65,214,173,.25);border-radius:15px;background:rgba(65,214,173,.07)}.shop-pos-total strong{font-size:27px}.shop-complete-sale{min-height:56px}.provider-list{display:grid;gap:9px;margin:12px 0}.provider-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.provider-list strong,.provider-list small{display:block}.provider-list small{color:var(--muted);margin-top:3px}.shop-invite-form,.admin-shop-grant{display:grid;grid-template-columns:1fr 1.2fr .65fr auto;gap:12px;align-items:end;margin-bottom:18px}.invite-link{width:100%;margin-top:8px}.stocktake-count{min-width:100px}.shop-settings-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:18px}.pricing-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.pricing-summary-grid article{padding:20px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.pricing-summary-grid span,.pricing-summary-grid small{display:block;color:var(--muted)}.pricing-summary-grid strong{display:block;font-size:27px;margin:7px 0}.shop-admin-pricing{grid-template-columns:repeat(5,minmax(0,1fr));margin:18px 0}.shop-admin-launch{border-color:rgba(65,214,173,.28)}
@media(max-width:1200px){.shop-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-admin-pricing{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.shop-product-builder,.shop-till-layout,.shop-settings-grid,.shop-hero{grid-template-columns:1fr}.shop-invite-form,.admin-shop-grant{grid-template-columns:1fr 1fr}.pricing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.shop-launch-banner{align-items:flex-start;flex-direction:column;gap:4px}.shop-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.shop-tabs a{text-align:center}.shop-action-grid,.pricing-summary-grid,.shop-admin-pricing,.shop-invite-form,.admin-shop-grant{grid-template-columns:1fr}.shop-sale-line{grid-template-columns:1fr 72px}.shop-sale-line .shop-remove-line{grid-column:1/-1}.catalogue-mini-grid{max-height:none}}

/* HoloRyn TCG v3.24.1 — checkpointed ACE export */
.ace-export-progress{display:grid;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border,#2a3344)}
.ace-export-progress[hidden]{display:none}
.progress-track{height:.8rem;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.progress-track>span{display:block;height:100%;min-width:0;border-radius:inherit;background:linear-gradient(90deg,#42e8c5,#5ba9ff);transition:width .28s ease}
@media (prefers-reduced-motion:reduce){.progress-track>span{transition:none}}
.finance-link-box{padding:1rem;border:1px solid rgba(74,222,128,.3);border-radius:16px;background:rgba(74,222,128,.035)}
.finance-link-box h3{margin:.15rem 0 .25rem}
.finance-link-box>.three{margin-top:1rem}
@media(max-width:720px){.finance-link-box>.three{grid-template-columns:1fr}}

/* HoloRyn TCG v3.24.6 — universal market-confidence score */
.market-confidence-badge{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);font-size:11px;line-height:1.1;white-space:nowrap}
.market-confidence-badge b{font-size:12px;color:var(--text)}.market-confidence-badge span{color:var(--muted)}
.market-confidence-badge.confidence-strong{border-color:rgba(57,217,138,.42);background:rgba(57,217,138,.08)}
.market-confidence-badge.confidence-developing{border-color:rgba(34,211,238,.36);background:rgba(34,211,238,.07)}
.market-confidence-badge.confidence-limited{border-color:rgba(242,170,85,.38);background:rgba(242,170,85,.07)}
.market-confidence-badge.confidence-unavailable{opacity:.78}
.slab-card .market-confidence-badge{margin-top:8px}.market-confidence-details{min-width:145px}.market-confidence-details summary{list-style:none;cursor:pointer}.market-confidence-details summary::-webkit-details-marker{display:none}.market-confidence-details>div{position:absolute;z-index:8;width:min(330px,80vw);margin-top:8px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#0d121c;box-shadow:var(--shadow)}.market-confidence-details{position:relative}.market-confidence-details p,.market-confidence-details small,.market-confidence-details em{display:block;margin:6px 0;color:var(--muted);font-size:11px;font-style:normal}.market-confidence-inline{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:rgba(34,211,238,.035)}.market-confidence-inline>div{display:flex;align-items:center;gap:10px}.market-confidence-inline span,.market-confidence-inline small{color:var(--muted)}

/* HoloRyn TCG v3.24.6 — dormant Premium roadmap */
.premium-roadmap-hero{border-color:rgba(139,92,246,.42);background:radial-gradient(circle at 90% 0,rgba(139,92,246,.16),transparent 40%),rgba(17,22,33,.93)}
.premium-pricing-grid{margin:18px 0}.premium-pricing-grid article{display:grid;align-content:start}.premium-pricing-grid strong small{display:inline;font-size:12px}.premium-pricing-grid p{color:var(--muted);font-size:13px}.premium-pricing-grid em{margin-top:12px;color:var(--accent2);font-size:11px;font-style:normal;font-weight:800}
.premium-readiness-grid{margin-bottom:0}.premium-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.premium-feature-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.premium-feature-card h3{margin:9px 0 7px}.premium-feature-card p,.premium-feature-card small{color:var(--muted)}.premium-feature-card textarea{min-height:76px}.premium-launch-control{margin-top:18px;border-color:rgba(34,211,238,.30)}
@media(max-width:900px){.premium-feature-grid{grid-template-columns:1fr}}@media(max-width:650px){.market-confidence-inline{align-items:flex-start;flex-direction:column}.market-confidence-details>div{position:fixed;left:14px;right:14px;bottom:85px;width:auto}.premium-pricing-grid{grid-template-columns:1fr}}

/* HoloRyn TCG v3.24.7 — Premium Launch Centre and private lifetime offers */
.premium-state-live{border-color:rgba(57,217,138,.48)!important;background:rgba(57,217,138,.09)!important}.premium-state-paused{border-color:rgba(242,170,85,.44)!important;background:rgba(242,170,85,.08)!important}.premium-preflight-panel{border-color:rgba(139,92,246,.32)}
.premium-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.premium-checklist article{display:grid;gap:4px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.024)}.premium-checklist article small{color:var(--muted)}.premium-checklist .check-pass{border-color:rgba(57,217,138,.3);background:rgba(57,217,138,.045)}.premium-checklist .check-pass strong{color:#72e5aa}.premium-checklist .check-fail{border-color:rgba(242,170,85,.32);background:rgba(242,170,85,.045)}.premium-checklist .check-fail strong{color:#f2aa55}
.premium-go-live,.premium-danger-action{display:grid;grid-template-columns:minmax(220px,.55fr) auto;gap:12px;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.premium-live-button{min-width:190px;min-height:52px;font-weight:900;letter-spacing:.07em;background:linear-gradient(135deg,#8b5cf6,#22d3ee)}.premium-live-button:disabled{filter:grayscale(1);opacity:.45}
.premium-offer-form{display:grid;grid-template-columns:1.2fr .7fr .85fr 1fr auto;gap:11px;align-items:end;margin:16px 0}.premium-offer-form button{min-height:44px}.premium-public-plans{grid-column:1/-1;border-color:rgba(139,92,246,.34);background:radial-gradient(circle at 90% 0,rgba(139,92,246,.1),transparent 35%),var(--surface)}.premium-public-card{gap:8px}.premium-public-card .alert.compact{padding:10px 11px;font-size:12px}.premium-plan-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
@media(max-width:1050px){.premium-offer-form{grid-template-columns:1fr 1fr}.premium-offer-form button{grid-column:1/-1}.premium-checklist{grid-template-columns:1fr}}
@media(max-width:650px){.premium-offer-form,.premium-go-live,.premium-danger-action,.premium-plan-actions{grid-template-columns:1fr}.premium-live-button{width:100%}}
.premium-app-banner{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:13px 16px;border:1px solid rgba(139,92,246,.38);border-radius:14px;background:linear-gradient(135deg,rgba(139,92,246,.13),rgba(34,211,238,.08));text-decoration:none}.premium-app-banner strong{color:#d9ccff}.premium-app-banner span{color:var(--muted);font-size:13px}@media(max-width:650px){.premium-app-banner{align-items:flex-start;flex-direction:column;gap:4px}}
.premium-billing-portal{display:flex;justify-content:flex-end;margin:0 0 14px}


/* v3.26.0 Premium Intelligence Lab */
.premium-lab-hero{border-color:rgba(139,92,246,.45);background:radial-gradient(circle at 100% 0,rgba(139,92,246,.18),transparent 42%),rgba(17,22,33,.95)}
.premium-training-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:16px}.premium-training-actions form{display:flex;gap:10px;align-items:end;margin:0}.premium-training-actions label{min-width:180px}
.premium-feature-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.premium-feature-tabs a{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);color:var(--text);text-decoration:none}.premium-feature-tabs a:hover,.premium-feature-tabs a.active{border-color:rgba(34,211,238,.55);background:rgba(34,211,238,.08)}.premium-feature-tabs small{color:var(--muted)}
.premium-model-state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.premium-model-state-grid article{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}.premium-model-state-grid span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.premium-model-state-grid strong{overflow-wrap:anywhere}
.premium-insight-list{display:grid;gap:12px}.premium-insight-card{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02)}.premium-insight-card.signal-positive{border-left:4px solid #34d399}.premium-insight-card.signal-negative{border-left:4px solid #fb7185}.premium-insight-card.signal-watch{border-left:4px solid #fbbf24}.premium-insight-card.signal-neutral{border-left:4px solid #94a3b8}.premium-insight-score{display:flex;align-items:baseline;justify-content:center;padding:10px;border-radius:14px;background:rgba(139,92,246,.14)}.premium-insight-score strong{font-size:28px}.premium-insight-score small{color:var(--muted)}.premium-insight-copy{min-width:0}.premium-insight-copy h3{margin:7px 0}.premium-insight-copy>strong,.premium-insight-copy>small{display:block}.premium-insight-copy>small{color:var(--muted)}.premium-insight-copy p{margin:8px 0;color:var(--muted)}
.premium-metric-pills{display:flex;gap:6px;flex-wrap:wrap}.premium-metric-pills span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;font-size:11px;color:var(--muted)}.premium-feedback-buttons{display:flex;gap:6px;flex-wrap:wrap}.premium-feedback-buttons button{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text);padding:7px 10px;cursor:pointer}.premium-feedback-buttons button:hover{border-color:var(--accent);background:rgba(34,211,238,.08)}
.premium-model-readiness-panel .premium-feature-card{display:grid;gap:10px}.premium-mini-checks{display:flex;gap:5px;flex-wrap:wrap}.premium-mini-checks span{font-size:10px;padding:5px 7px;border-radius:999px;border:1px solid var(--line)}.premium-mini-checks .pass{color:#6ee7b7;border-color:rgba(52,211,153,.35)}.premium-mini-checks .fail{color:#fda4af;border-color:rgba(251,113,133,.35)}.premium-approve-models{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.premium-approve-models small{color:var(--muted)}
.premium-checklist.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.premium-checklist.compact article{min-height:auto}
@media(max-width:900px){.premium-feature-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-model-state-grid,.premium-checklist.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-insight-card{grid-template-columns:60px 1fr}.premium-feedback-buttons{grid-column:1/-1}}
@media(max-width:600px){.premium-feature-tabs,.premium-model-state-grid,.premium-checklist.compact{grid-template-columns:1fr}.premium-insight-card{grid-template-columns:52px 1fr;padding:13px;gap:10px}.premium-insight-score strong{font-size:22px}.premium-training-actions,.premium-training-actions form{display:grid;width:100%}.premium-training-actions label{min-width:0}.premium-feedback-buttons button{flex:1}}

/* HoloRyn TCG v3.26.1 fast trade counter workflow */
.five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.transaction-speed-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid rgba(34,211,238,.28);border-radius:15px;background:rgba(8,12,20,.94);box-shadow:0 12px 28px rgba(0,0,0,.2)}
.transaction-speed-bar>div:first-child{display:grid;gap:3px;min-width:0}.transaction-speed-bar small{color:var(--muted);font-size:12px}.transaction-speed-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.line-count-chip{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;margin-left:5px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);font-size:13px;color:var(--muted);vertical-align:middle}
.trade-line-head>div:first-child{display:grid;gap:3px;min-width:0}.trade-line-summary{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(70vw,720px)}
.trade-line-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.trade-line-details{display:grid;gap:12px}.trade-received-line.is-collapsed,.trade-outgoing-line.is-collapsed{padding-top:.8rem;padding-bottom:.8rem}.is-collapsed>.trade-line-details{display:none}
.transaction-card-details{align-items:end}.incoming-value-line{grid-template-columns:minmax(180px,1.15fr) repeat(3,minmax(115px,.75fr))}.trade-line-value.agreed{border:1px solid rgba(34,211,238,.2);background:rgba(34,211,238,.05)}
.transaction-optional-details{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);overflow:hidden}.transaction-optional-details summary{cursor:pointer;list-style:none;padding:15px 17px}.transaction-optional-details summary::-webkit-details-marker{display:none}.transaction-optional-details summary>span{display:grid;gap:3px}.transaction-optional-details summary small{color:var(--muted);font-size:12px}.transaction-optional-details[open] summary{border-bottom:1px solid var(--line)}.transaction-optional-body{display:grid;gap:14px;padding:17px}
.transaction-builder .section-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1100px){.five{grid-template-columns:repeat(3,minmax(0,1fr))}.incoming-value-line{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-outgoing-fields{grid-template-columns:minmax(210px,1.5fr) 90px minmax(120px,.7fr) minmax(145px,.8fr);}.transaction-outgoing-fields .trade-line-value.agreed{grid-column:1/-1}}
@media(max-width:760px){.five{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-speed-bar{position:sticky;bottom:76px;z-index:9;align-items:stretch;flex-direction:column}.transaction-speed-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.transaction-speed-actions .button{padding:10px 7px;font-size:11px}.transaction-builder .section-head{align-items:flex-start;flex-direction:column}.transaction-builder .section-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.trade-line-summary{max-width:58vw}.incoming-value-line{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.five,.incoming-value-line{grid-template-columns:1fr}.transaction-speed-actions{grid-template-columns:1fr 1fr}.transaction-speed-actions [data-review-trade-prices]{grid-column:1/-1}.trade-line-summary{max-width:50vw}.trade-line-head{align-items:flex-start}.trade-line-actions .button{padding:7px 9px}.transaction-builder .section-actions{grid-template-columns:1fr}.transaction-optional-details summary{padding:13px 14px}}
.transaction-direction-select{display:none!important}.transaction-scan-options{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.buy-trade-layout .transaction-guide{display:none}.transaction-scan-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.transaction-scan-options{grid-template-columns:1fr 1fr}.transaction-scan-options label:last-child{grid-column:1/-1}}

/* HoloRyn TCG v3.26.2 — mobile trade containment and scrollable navigation */
html,body{max-width:100%;overflow-x:hidden}
.sidebar{height:100dvh;max-height:100dvh;overflow:hidden}
.sidebar>.brand,.sidebar>form{flex:0 0 auto}
.sidebar nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px}
.sidebar nav a,.sidebar .nav-label{min-width:0;overflow-wrap:anywhere}
.sidebar-backdrop{display:none}
.transaction-layout,.transaction-builder,.transaction-scan-station,.transaction-builder .trade-side,.trade-received-line,.trade-outgoing-line,.trade-line-details,.transaction-card-details,.transaction-scan-options,.transaction-speed-bar,.transaction-speed-actions,.transaction-summary,.transaction-trade-balance,.transaction-optional-details,.camera-modal.inline-camera,.camera-modal.inline-camera .camera-shell,.capture-choice,.match-panel,.match-results,.alignment-preview{min-width:0;max-width:100%}
.transaction-builder .section-head>*,.trade-line-head>*,.transaction-outgoing-fields>*,.incoming-value-line>*,.transaction-scan-options>*,.five>*,.four>*,.three>*,.two>*{min-width:0}
.transaction-builder input,.transaction-builder select,.transaction-builder textarea,.transaction-builder button{max-width:100%;min-width:0}
.transaction-builder select{overflow:hidden;text-overflow:ellipsis}
.transaction-builder .button{white-space:normal;text-align:center}
.camera-modal.inline-camera{width:100%!important;max-width:100%!important}
.camera-modal.inline-camera .camera-shell{width:100%!important;max-width:100%!important}
.trade-line-summary{overflow-wrap:anywhere}

@media(max-width:1000px){
 body.mobile-menu-open{overflow:hidden;touch-action:none}
 .sidebar{width:min(88vw,320px);max-width:100%;padding:20px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:22px 0 55px rgba(0,0,0,.5)}
 .sidebar nav{margin:20px -4px 10px;padding:0 4px 18px}
 .sidebar-backdrop{position:fixed;inset:0;z-index:19;border:0;background:rgba(0,0,0,.58);backdrop-filter:blur(2px)}
 body.mobile-menu-open .sidebar-backdrop{display:block}
 .mobile-top{padding-left:14px;padding-right:14px}
 .app-main{width:100%;max-width:100%;padding-bottom:calc(96px + env(safe-area-inset-bottom))}
}

@media(max-width:760px){
 .buy-trade-layout{display:block!important;width:100%;max-width:100%}
 .buy-trade-layout>.transaction-builder{width:100%;max-width:100%}
 .transaction-scan-options{grid-template-columns:1fr 1fr!important}
 .transaction-scan-options>label:last-child{grid-column:1/-1}
 .transaction-outgoing-fields{grid-template-columns:1fr 1fr!important}
 .transaction-outgoing-fields>label:first-child,.transaction-outgoing-fields .trade-line-value{grid-column:1/-1}
 .transaction-card-details,.five{grid-template-columns:1fr 1fr!important}
 .incoming-value-line{grid-template-columns:1fr 1fr!important}
 .transaction-speed-bar{width:100%;left:auto;right:auto}
 .transaction-speed-actions{grid-template-columns:1fr 1fr!important}
 .transaction-speed-actions [data-review-trade-prices]{grid-column:1/-1}
 .trade-line-head{width:100%;align-items:flex-start}
 .trade-line-head>div:first-child{max-width:calc(100% - 92px)}
 .trade-line-summary{max-width:100%!important;white-space:normal;line-height:1.35}
 .camera-modal.inline-camera .camera-shell{height:min(62dvh,560px)!important;min-height:390px!important}
 .camera-modal.inline-camera .camera-controls{left:6px!important;right:6px!important;gap:12px!important}
 .camera-modal.inline-camera .camera-control{padding:9px 10px;font-size:11px}
 .camera-modal.inline-camera .camera-tap-hint{max-width:calc(100% - 20px)!important;white-space:normal;line-height:1.2;border-radius:14px!important}
 .alignment-preview,.alignment-preview>img{max-width:100%}
}

@media(max-width:480px){
 .transaction-scan-options,.transaction-outgoing-fields,.transaction-card-details,.five,.incoming-value-line,.transaction-summary{grid-template-columns:1fr!important}
 .transaction-scan-options>label:last-child,.transaction-outgoing-fields>label:first-child,.transaction-outgoing-fields .trade-line-value{grid-column:auto}
 .transaction-builder .panel,.transaction-builder.trade-side,.transaction-builder .trade-side,.transaction-scan-station{padding:12px!important}
 .transaction-mode{grid-template-columns:1fr!important}
 .transaction-speed-actions{grid-template-columns:1fr!important}
 .transaction-speed-actions [data-review-trade-prices]{grid-column:auto}
 .trade-line-head>div:first-child{max-width:calc(100% - 76px)}
 .trade-line-actions{gap:4px}
 .trade-line-actions .button{padding:7px 8px;font-size:11px}
 .camera-modal.inline-camera .camera-shell{height:min(59dvh,520px)!important;min-height:360px!important}
 .camera-modal.inline-camera.mode-raw .camera-guide{width:min(82%,320px)!important}
 .camera-modal.inline-camera.mode-slab .camera-guide{width:min(73%,300px)!important}
}

/* HoloRyn TCG v3.27.0 — single-basket Vendor Deal Counter */
.deal-counter-layout{display:block;max-width:1180px;margin:0 auto}
.deal-counter{width:100%;max-width:100%}
.deal-counter-head{gap:18px}
.deal-rate-pills{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.deal-rate-pills>span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);font-size:12px;font-weight:800;color:var(--muted)}
.deal-rate-pills>.chip{color:inherit}
.deal-side-switch .scan-direction{display:grid;gap:3px;text-align:left}
.deal-side-switch .scan-direction strong{color:inherit;font-size:15px}
.deal-side-switch .scan-direction small{color:var(--muted);font-size:11px;font-weight:600}
.deal-basket,.deal-settlement{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);min-width:0;max-width:100%}
.deal-basket{border-color:rgba(34,211,238,.24)}
.deal-settlement{border-color:rgba(250,204,21,.24)}
.deal-basket-totals{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.deal-basket-totals span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);color:var(--muted);font-size:12px}
.deal-basket-totals b{color:var(--text);font-variant-numeric:tabular-nums}
.deal-lines{display:grid;gap:10px;min-width:0;max-width:100%}
.deal-lines .deal-line{margin:0;min-width:0;max-width:100%}
.deal-line-title{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;align-items:center;min-width:0}
.deal-line-title strong{min-width:0}
.deal-line-title .trade-line-summary{grid-column:2;min-width:0}
.deal-direction-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}
.deal-direction-badge.incoming{background:rgba(57,217,138,.12);border:1px solid rgba(57,217,138,.34);color:#a7f3d0}
.deal-direction-badge.outgoing{background:rgba(255,102,122,.12);border:1px solid rgba(255,102,122,.34);color:#fecdd3}
.deal-lines .trade-received-line{border-color:rgba(57,217,138,.26)}
.deal-lines .trade-outgoing-line{border-color:rgba(255,102,122,.26)}
.transaction-settlement{grid-template-columns:repeat(3,minmax(0,1fr))}
.settlement-mixed-controls{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(190px,.65fr) auto;gap:14px;align-items:end;padding:15px;border:1px solid rgba(110,231,199,.28);border-radius:15px;background:rgba(110,231,199,.055)}
.settlement-mixed-controls>div{display:grid;gap:4px}
.settlement-mixed-controls small{color:var(--muted)}
.deal-offers{margin-top:2px}
.deal-payment-result{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.deal-payment-result article{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);min-width:0}
.deal-payment-result span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.055em}
.deal-payment-result strong{font-size:20px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.deal-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.deal-complete-actions{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:8;padding:10px;border:1px solid rgba(34,211,238,.22);border-radius:15px;background:rgba(8,12,20,.96);box-shadow:0 14px 34px rgba(0,0,0,.34)}
.deal-complete-actions .button{min-height:46px}
.empty.compact{padding:16px;margin:0}

@media(max-width:900px){
 .transaction-settlement{grid-template-columns:1fr}
 .settlement-mixed-controls{grid-template-columns:1fr 1fr}
 .settlement-mixed-controls>div{grid-column:1/-1}
 .deal-payment-result{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
 .deal-counter-head{align-items:flex-start;flex-direction:column}
 .deal-rate-pills{justify-content:flex-start}
 .deal-basket,.deal-settlement{padding:13px}
 .deal-line-title{grid-template-columns:1fr}
 .deal-line-title .trade-line-summary{grid-column:1}
 .deal-direction-badge{white-space:normal}
 .settlement-mixed-controls,.deal-payment-result,.deal-summary{grid-template-columns:1fr}
 .settlement-mixed-controls>div{grid-column:auto}
 .deal-complete-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
 .deal-complete-actions .button{width:100%}
}
@media(max-width:420px){
 .deal-basket-totals{display:grid;grid-template-columns:1fr 1fr}
 .deal-basket-totals span{border-radius:12px}
 .deal-complete-actions{grid-template-columns:1fr}
}

/* v3.28.0 Collector Premium AI Grader */
.ai-grader-access-note{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;padding:.8rem 1rem;border:1px solid rgba(24,120,90,.24);border-radius:14px;background:rgba(24,120,90,.07)}
.ai-grader-access-note strong{font-size:.95rem}.ai-grader-access-note small{flex-basis:100%;color:var(--muted)}
.ai-grader-overlay[hidden]{display:none!important}.ai-grader-overlay{position:fixed;inset:0;z-index:1200;display:grid;align-items:end;justify-items:center;background:rgba(10,18,28,.72);backdrop-filter:blur(8px);padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));overflow:auto}
.ai-grader-sheet{width:min(680px,100%);max-height:min(92dvh,900px);overflow:auto;background:var(--panel,#fff);border-radius:24px 24px 18px 18px;padding:1rem;box-shadow:0 22px 80px rgba(0,0,0,.34)}
.ai-grader-sheet>header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;position:sticky;top:-1rem;background:var(--panel,#fff);padding:1rem 0 .65rem;z-index:2}
.ai-grader-sheet h2,.ai-grader-sheet h3{margin:.1rem 0}.ai-grader-sheet header small{display:block;color:var(--muted);max-width:520px}
.ai-grader-confidence{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;padding:.7rem .8rem;border-radius:14px;background:var(--soft,#f3f6f8);margin:.15rem 0 .85rem}.ai-grader-confidence strong{font-size:.94rem}
.ai-grade-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-bottom:.85rem}.ai-grade-card{min-width:0;text-align:center;border:1px solid var(--line,#dce3e8);border-radius:14px;padding:.65rem .35rem;background:var(--panel,#fff)}.ai-grade-card span{display:block;font-size:.72rem;color:var(--muted);font-weight:700;letter-spacing:.04em}.ai-grade-card strong{display:block;font-size:1.45rem;line-height:1.1;margin:.18rem 0}.ai-grade-card small{display:block;font-size:.68rem;color:var(--muted);white-space:normal}
.ai-condition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.ai-condition-card{border:1px solid var(--line,#dce3e8);border-radius:14px;padding:.65rem .75rem}.ai-condition-card>div{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.ai-condition-card span{font-weight:700;font-size:.84rem}.ai-condition-card strong{font-size:.88rem}.ai-condition-bar{height:7px;border-radius:99px;background:var(--soft,#edf1f4);overflow:hidden;margin-top:.48rem}.ai-condition-bar i{display:block;height:100%;border-radius:inherit;background:currentColor}
.ai-grader-reasons{margin:.85rem 0}.ai-grader-reasons ul{margin:.35rem 0 0;padding-left:1.2rem;display:grid;gap:.3rem}.ai-grader-reasons li{font-size:.86rem;color:var(--muted)}
.ai-grader-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;position:sticky;bottom:-1rem;background:var(--panel,#fff);padding:.75rem 0 1rem;margin-top:.5rem}.ai-grader-sheet .disclaimer{font-size:.72rem;margin:.2rem 0 .4rem}
body.ai-grader-open{overflow:hidden}
.ai-grader-monitor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.ai-grader-monitor-card{padding:.8rem;border:1px solid var(--line);border-radius:14px}.ai-grader-monitor-card span,.ai-grader-monitor-card small{display:block;color:var(--muted)}.ai-grader-monitor-card strong{display:block;font-size:1.25rem;margin:.15rem 0}
@media(max-width:640px){.ai-grader-overlay{padding:0;align-items:end}.ai-grader-sheet{border-radius:22px 22px 0 0;max-height:94dvh;padding:.9rem}.ai-grade-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ai-grade-card:nth-child(n+4){grid-column:span 1}.ai-condition-grid{grid-template-columns:1fr}.ai-grader-actions{grid-template-columns:1fr 1fr}.ai-grader-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ai-grader-outcome-form{display:grid;grid-template-columns:minmax(74px,.8fr) minmax(74px,.8fr) auto;gap:.35rem;align-items:center;min-width:240px}.ai-grader-outcome-form select,.ai-grader-outcome-form input{min-width:0;padding:.48rem .55rem}.ai-grader-monitor-card small{line-height:1.35}.ai-grader-sheet .icon-button{flex:0 0 auto}
@media(max-width:640px){.ai-grader-outcome-form{grid-template-columns:1fr 1fr}.ai-grader-outcome-form .button{grid-column:1/-1;width:100%}}

/* HoloRyn TCG v3.28.1 — larger recognition frame and fast Vendor catalogue recovery */
.camera-modal.inline-camera .camera-shell{
 height:clamp(620px,76dvh,760px)!important;
 min-height:620px!important;
 max-height:760px!important;
}
.camera-modal.inline-camera.mode-raw .camera-guide{
 width:min(90%,450px)!important;
 aspect-ratio:63/88!important;
 height:auto!important;
 max-height:calc(100% - 145px)!important;
 top:46%!important;
 border-radius:15px!important;
}
.camera-modal.inline-camera.mode-slab .camera-guide{
 width:min(82%,420px)!important;
 aspect-ratio:57/100!important;
 height:auto!important;
 max-height:calc(100% - 145px)!important;
 top:46%!important;
 border-radius:18px!important;
}
.scanner-manual-shortcut{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:10px 12px;border:1px solid rgba(34,211,238,.22);border-radius:14px;background:rgba(34,211,238,.045)}
.scanner-manual-shortcut small{color:var(--muted);line-height:1.35;flex:1 1 230px}
.trade-catalogue-recovery{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}
.trade-catalogue-recovery>summary{cursor:pointer;font-weight:800}
.trade-catalogue-recovery[open]>summary{margin-bottom:12px}
.trade-catalogue-recovery .match-panel{margin-top:12px}
.trade-manual-slab-fields[hidden]{display:none!important}

@media(max-width:760px){
 .camera-modal.inline-camera .camera-shell{
  height:min(78dvh,680px)!important;
  min-height:580px!important;
  max-height:680px!important;
 }
 .camera-modal.inline-camera.mode-raw .camera-guide{
  width:min(92%,410px)!important;
  max-height:calc(100% - 140px)!important;
  top:46%!important;
 }
 .camera-modal.inline-camera.mode-slab .camera-guide{
  width:min(82%,390px)!important;
  max-height:calc(100% - 140px)!important;
  top:46%!important;
 }
 .trade-catalogue-recovery>.three{grid-template-columns:1fr!important}
}
@media(max-width:480px){
 .camera-modal.inline-camera .camera-shell{
  height:min(79dvh,660px)!important;
  min-height:560px!important;
  max-height:660px!important;
 }
 .camera-modal.inline-camera.mode-raw .camera-guide{width:min(94%,380px)!important;max-height:calc(100% - 135px)!important}
 .camera-modal.inline-camera.mode-slab .camera-guide{width:min(84%,350px)!important;max-height:calc(100% - 135px)!important}
 .scanner-manual-shortcut{display:grid;grid-template-columns:1fr}
 .scanner-manual-shortcut .button{width:100%}
}
@media(max-height:680px) and (max-width:760px){
 .camera-modal.inline-camera .camera-shell{height:590px!important;min-height:540px!important}
 .camera-modal.inline-camera.mode-raw .camera-guide,.camera-modal.inline-camera.mode-slab .camera-guide{max-height:calc(100% - 135px)!important}
}

/* HoloRyn TCG v3.28.2 — AI Grader discoverability */
.nav-preview-tag{display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:999px;font-size:10px;line-height:1.2;background:rgba(139,92,246,.18);color:#d8c9ff;vertical-align:middle}.ai-grader-mode-active{border-color:rgba(139,92,246,.55);box-shadow:0 0 0 1px rgba(139,92,246,.12) inset}

/* v3.28.3 Collector AI Grader allowance and dedicated page */
.premium-limit-gate{max-width:720px;margin:clamp(24px,6vw,72px) auto;text-align:center;padding:clamp(24px,5vw,48px)}
.premium-limit-gate h1{margin:.75rem 0;font-size:clamp(1.75rem,6vw,2.7rem)}
.premium-limit-gate p{max-width:590px;margin:0 auto 1.25rem;color:var(--muted);line-height:1.65}
.premium-limit-gate .section-actions{justify-content:center;flex-wrap:wrap}
.premium-limit-gate>small{display:block;margin-top:1rem;color:var(--muted)}
.ai-grader-scan-guidance{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:13px 15px;border:1px solid rgba(139,92,246,.32);border-radius:14px;background:rgba(139,92,246,.08)}
.ai-grader-scan-guidance span{color:var(--muted);text-align:right}
.ai-grader-tips{align-self:start}
#smartScanForm[data-ai-grader-mode="1"] .scan-type-picker{grid-template-columns:1fr}
#smartScanForm[data-ai-grader-mode="1"] .catalogue-recovery{margin-bottom:0}
@media(max-width:620px){.ai-grader-scan-guidance{align-items:flex-start;flex-direction:column}.ai-grader-scan-guidance span{text-align:left}.premium-limit-gate .section-actions .button{width:100%}}

/* HoloRyn TCG v3.29.0 — complete complimentary package management */
.admin-plan-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:8px;margin:14px 0 18px}
.admin-plan-key span{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);font-size:12px;color:var(--muted)}
.admin-plan-key strong{color:var(--text);font-size:13px}
.admin-user-list{display:grid;gap:12px}
.admin-user-card{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(210px,1fr) minmax(320px,1.65fr);gap:16px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);min-width:0}
.admin-user-identity,.admin-user-access,.admin-user-controls{display:grid;gap:6px;min-width:0}
.admin-user-identity>strong{font-size:16px;overflow-wrap:anywhere}.admin-user-identity>small{color:var(--muted);overflow-wrap:anywhere}
.admin-user-access small{display:block;color:var(--muted);line-height:1.4}
.admin-package-form{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(135px,.75fr) auto;gap:10px;align-items:end}
.admin-package-form label{min-width:0}.admin-package-form select{width:100%;min-width:0}.admin-package-form>small{grid-column:1/-1}
.admin-rights-form{margin-top:8px}.chip-row{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:1050px){.admin-user-card{grid-template-columns:1fr 1fr}.admin-user-controls{grid-column:1/-1}}
@media(max-width:720px){.admin-user-card{grid-template-columns:1fr;padding:14px}.admin-user-controls{grid-column:auto}.admin-package-form{grid-template-columns:1fr}.admin-package-form>small{grid-column:auto}.admin-package-form .button,.admin-rights-form .button{width:100%}}

.complimentary-term-field[hidden]{display:none!important}

/* HoloRyn TCG v3.30.0 — private Premium preview centre and model development history */
.premium-preview-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;margin-top:14px}
.premium-audience-switch{display:flex;gap:8px;flex-wrap:wrap}
.premium-audience-switch a{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);color:var(--muted);font-size:12px;font-weight:800;text-decoration:none}
.premium-audience-switch a.active{border-color:rgba(34,211,238,.55);background:rgba(34,211,238,.11);color:var(--text)}
.premium-feature-overview{border-color:rgba(139,92,246,.28)}
.premium-preview-explainer{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:18px;align-items:start}
.premium-preview-explainer ol{margin:0;padding-left:1.25rem;display:grid;gap:10px;color:var(--muted);line-height:1.5}
.premium-launch-signal{padding:15px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025);display:grid;gap:8px}
.premium-launch-signal p{margin:0;color:var(--muted);line-height:1.5}.premium-launch-signal small{color:var(--muted)}
.premium-training-progress-panel{overflow:hidden}
.premium-training-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:10px;align-items:end;min-height:190px;padding:12px 2px 2px}
.premium-training-timeline article{display:grid;grid-template-rows:120px auto auto auto;gap:4px;justify-items:center;min-width:0}
.premium-training-bar{width:22px;height:120px;border-radius:999px;background:rgba(255,255,255,.055);display:flex;align-items:flex-end;overflow:hidden;border:1px solid var(--line)}
.premium-training-bar span{display:block;width:100%;min-height:4px;background:linear-gradient(180deg,rgba(139,92,246,.95),rgba(34,211,238,.9));border-radius:999px}
.premium-training-timeline strong{font-size:12px}.premium-training-timeline small,.premium-training-timeline em{font-size:10px;color:var(--muted);font-style:normal;text-align:center;overflow-wrap:anywhere}
.premium-signal-detail{color:var(--muted);line-height:1.45;margin:.55rem 0 0}
.premium-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.premium-card-actions form{margin:0}
.chip.premium-signal-ready,.premium-signal-ready{border-color:rgba(34,197,94,.45)!important;background:rgba(34,197,94,.12)!important;color:#b8f7c8!important}
.chip.premium-signal-review,.premium-signal-review{border-color:rgba(34,211,238,.45)!important;background:rgba(34,211,238,.10)!important;color:#bff7ff!important}
.chip.premium-signal-testing,.premium-signal-testing{border-color:rgba(245,158,11,.45)!important;background:rgba(245,158,11,.10)!important;color:#ffe2a6!important}
.chip.premium-signal-collecting,.premium-signal-collecting,.chip.premium-signal-training,.premium-signal-training{border-color:rgba(139,92,246,.45)!important;background:rgba(139,92,246,.10)!important;color:#ddceff!important}
.chip.premium-signal-blocked,.premium-signal-blocked{border-color:rgba(239,68,68,.45)!important;background:rgba(239,68,68,.10)!important;color:#ffc5c5!important}
@media(max-width:820px){.premium-preview-toolbar,.premium-preview-explainer{grid-template-columns:1fr}.premium-preview-toolbar .premium-training-actions{width:100%}.premium-audience-switch{display:grid;grid-template-columns:1fr 1fr}.premium-audience-switch a{text-align:center}.premium-training-timeline{grid-template-columns:repeat(6,minmax(48px,1fr));overflow-x:auto;padding-bottom:8px}.premium-training-timeline article{min-width:58px}}
@media(max-width:520px){.premium-audience-switch{grid-template-columns:1fr}.premium-card-actions{display:grid}.premium-card-actions .button{width:100%}.premium-training-timeline{grid-template-columns:repeat(12,58px)}}


/* v3.30.4: one full-label metadata target. Legacy grade/certificate boxes are removed. */
.camera-modal.mode-slab .guide-grader-region,
.camera-modal.mode-slab .guide-grade-region,
.camera-modal.mode-slab .guide-cert-region{display:none!important}
.camera-modal.mode-slab .guide-label-region{
 display:block!important;left:5%!important;right:5%!important;top:3%!important;height:23.5%!important;
 border:3px solid rgba(34,211,238,.98)!important;border-radius:10px!important;
 background:rgba(34,211,238,.045)!important;box-shadow:0 0 20px rgba(34,211,238,.35)!important
}
.camera-modal.mode-slab .guide-label-region b{font-size:.68rem!important;white-space:nowrap!important}


/* v3.30.5 — full slab-label close-up and save-recovery UI. */
.slab-metadata-assist{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid rgba(139,92,246,.48);border-radius:18px;background:rgba(76,29,149,.12)}
.slab-metadata-assist[hidden]{display:none!important}.slab-metadata-assist>div{display:grid;gap:4px;min-width:0}.slab-metadata-assist strong,.slab-metadata-assist small{overflow-wrap:anywhere}.slab-metadata-assist.reading{opacity:.82}
.camera-modal.mode-label .camera-guide{width:min(92%,720px)!important;height:auto!important;aspect-ratio:3.17/1!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;border-radius:18px!important}
.camera-modal.mode-label .guide-label-region{display:flex!important;inset:0!important;border:2px dashed rgba(167,139,250,.95)!important;border-radius:16px!important;align-items:flex-start!important;justify-content:center!important;padding-top:8px!important}
.camera-modal.mode-label .guide-label-region b{display:block!important;font-size:11px!important;letter-spacing:.11em!important}
.camera-modal.mode-label .guide-card-region,.camera-modal.mode-label .guide-name-region,.camera-modal.mode-label .guide-number-left-region,.camera-modal.mode-label .guide-number-right-region{display:none!important}
@media(max-width:640px){.slab-metadata-assist{align-items:stretch;flex-direction:column}.slab-metadata-assist .button{width:100%}.camera-modal.mode-label .camera-guide{width:94%!important}}


/* v3.30.6 — one-photo slab metadata. No second-label camera or visible
   grade/certificate targets are rendered. Internal OCR crops come from the
   single full-slab photograph only. */
.slab-metadata-assist,#scanSlabLabelButton,#slabLabelImage{display:none!important}
.camera-modal .guide-grade-region,.camera-modal .guide-cert-region,.camera-modal .guide-grader-region{display:none!important}
.camera-modal.mode-label{display:none!important}
.camera-modal.mode-slab .guide-label-region{display:block!important;left:5%!important;right:5%!important;top:3%!important;height:28%!important;border-color:#22d3ee!important;background:rgba(34,211,238,.035)!important}
.camera-modal.mode-slab .guide-card-region{display:block!important;left:9%!important;right:9%!important;top:29%!important;bottom:4.5%!important}

/* HoloRyn TCG v3.32.0 — grading lifecycle tracker */
.grading-tracker{display:grid;gap:1rem;margin-top:1rem}
.grading-submission-list{display:grid;gap:.8rem}
.grading-submission-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.8fr) auto;gap:.85rem;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);min-width:0}
.grading-submission-card>*{min-width:0}
.grading-submission-card strong,.grading-submission-card small{overflow-wrap:anywhere}
.grading-submission-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.grading-submission-numbers span{display:grid;gap:2px;padding:8px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02)}
.grading-submission-numbers small{color:var(--muted)}
.grading-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
.grading-cost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.grading-status-note{padding:10px 12px;border:1px solid rgba(34,211,238,.28);border-radius:12px;background:rgba(34,211,238,.06);color:var(--muted);line-height:1.45}
@media(max-width:820px){.grading-submission-card{grid-template-columns:1fr}.grading-actions{justify-content:stretch}.grading-actions .button{flex:1}.grading-cost-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.grading-submission-numbers,.grading-cost-grid{grid-template-columns:1fr}.grading-actions{display:grid}.grading-actions .button{width:100%}}

/* HoloRyn TCG v3.32.0 Deal Counter inventory search and adaptive slab correction */
.deal-inventory-picker{display:grid;gap:14px;padding:18px;border:1px solid rgba(139,92,246,.28);border-radius:18px;background:rgba(139,92,246,.045);min-width:0}
.deal-stock-filters{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(130px,.7fr));gap:10px;align-items:end}.deal-stock-search{grid-column:span 2}.deal-stock-filters .button{min-height:45px}
.deal-stock-results{display:grid;gap:9px;max-height:620px;overflow:auto;padding-right:3px}.deal-stock-result{display:grid;grid-template-columns:auto 58px minmax(190px,1.5fr) minmax(145px,.75fr) minmax(210px,.9fr);gap:12px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.deal-stock-result[hidden]{display:none!important}.deal-stock-result:has(.deal-stock-checkbox:checked){border-color:rgba(34,211,238,.6);background:rgba(34,211,238,.07)}
.deal-stock-select{display:grid;place-items:center}.deal-stock-checkbox{width:20px;height:20px}.deal-stock-result>img,.deal-stock-placeholder{width:58px;height:78px;border-radius:8px;object-fit:contain;background:rgba(255,255,255,.04)}.deal-stock-placeholder{display:grid;place-items:center;font-size:10px;color:var(--muted)}
.deal-stock-copy,.deal-stock-values{display:grid;gap:3px;min-width:0}.deal-stock-copy strong,.deal-stock-copy small{overflow:hidden;text-overflow:ellipsis}.deal-stock-copy small{color:var(--muted)}.deal-stock-values span{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}.deal-stock-values strong{color:var(--text)}
.deal-stock-entry{display:grid;grid-template-columns:76px 1fr;gap:8px;align-items:end}.deal-stock-entry input{min-width:0}.deal-stock-selection-bar{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));z-index:7;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(139,92,246,.34);border-radius:14px;background:rgba(8,12,20,.97);box-shadow:0 12px 30px rgba(0,0,0,.3)}.deal-stock-selection-bar>div{display:grid;gap:2px}.deal-stock-selection-bar small{color:var(--muted)}
.slab-metadata-dialog{width:min(520px,calc(100vw - 24px));border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text);padding:18px;box-shadow:var(--shadow)}.slab-metadata-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.slab-metadata-dialog form{display:grid;gap:14px}.slab-metadata-dialog .slab-learning-note{padding:10px 12px;border:1px solid rgba(34,211,238,.2);border-radius:12px;background:rgba(34,211,238,.055);color:var(--muted);font-size:12px}.slab-metadata-dialog .slab-learning-state{min-height:18px;color:var(--muted);font-size:12px}
@media(max-width:900px){.deal-stock-filters{grid-template-columns:1fr 1fr}.deal-stock-search{grid-column:1/-1}.deal-stock-result{grid-template-columns:auto 52px 1fr}.deal-stock-values,.deal-stock-entry{grid-column:3}.deal-stock-entry{grid-template-columns:90px 1fr}}
@media(max-width:600px){.deal-inventory-picker{padding:13px}.deal-stock-filters{grid-template-columns:1fr}.deal-stock-search{grid-column:auto}.deal-stock-result{grid-template-columns:auto 48px 1fr;padding:9px;gap:8px}.deal-stock-result>img,.deal-stock-placeholder{width:48px;height:66px}.deal-stock-values,.deal-stock-entry{grid-column:2/-1}.deal-stock-selection-bar{bottom:calc(68px + env(safe-area-inset-bottom));align-items:stretch;flex-direction:column}.deal-stock-selection-bar .button{width:100%}}

/* v3.32.1 grading lifecycle controls */
.quick-status{display:grid;gap:.25rem;min-width:10rem}.quick-status-state{min-height:1em;color:var(--muted)}
.grading-training-images{display:grid;gap:1rem;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.025)}
.grading-training-images .section-head{margin-bottom:0}.grading-training-images .upload-zone{min-height:8rem}
