/* ── Reset & Root ─────────────────────────────────────────────────────── */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{
  /* ── 9eight Design Tokens ── */
  --bg-primary:#0d1b2a;
  --bg-secondary:#152236;
  --bg-tertiary:#0a1520;
  --bg-card:#152236;
  --bg-card-elevated:#1a2d42;
  --accent-gold:#c9a84c;
  --accent-gold-dim:rgba(201,168,76,0.15);
  --text-primary:#ffffff;
  --text-secondary:#a0a8b0;
  --text-tertiary:#5a6470;
  --border-primary:#1e3048;
  --border-secondary:#243850;
  --gain:#4caf72;
  --loss:#e05a5a;
  --key-badge-bg:#c9a84c;
  --key-badge-text:#0a1520;

  /* ── Legacy aliases → new palette (used throughout CSS body) ── */
  --parchment:#0d1b2a;
  --parchment2:#1a2d42;
  --white:#152236;
  --red:#c9a84c;
  --red-bg:rgba(201,168,76,0.15);
  --red-border:rgba(201,168,76,0.2);
  --ink:#ffffff;
  --border:#1e3048;
  --sepia:#a0a8b0;
  --sepia2:#5a6470;
  --gain-bg:rgba(76,175,114,0.12);
  --gain-border:rgba(76,175,114,0.3);
  --loss-bg:rgba(224,90,90,0.12);
  --shadow:0 1px 4px rgba(0,0,0,0.3);
  --shadow-md:0 4px 16px rgba(0,0,0,0.4);
  --r:14px;--r-sm:9px;--r-lg:20px;

  /* Tab bar */
  --tab-bg:#0a1520;--tab-border-top:#1e3048;--tab-ico:#a0a8b0;

  /* Portfolio */
  --port-screen-base:#0d1b2a;--port-scrl-bg:#0d1b2a;
  --port-hdr-border:rgba(255,255,255,0.06);--port-logo:#ffffff;--port-menu:#ffffff;
  --port-ct:#a0a8b0;--port-srch-bg:rgba(255,255,255,0.05);--port-srch-border:#1e3048;
  --port-srch-text:#ffffff;--port-srch-ph:#a0a8b0;--port-srch-ico:#a0a8b0;
  --port-srch-clear:#5a6470;
  --port-greeting:#ffffff;--port-hero-lbl:#a0a8b0;--port-hero-num:#c9a84c;
  --port-info-muted:#a0a8b0;--port-info-sep:rgba(255,255,255,0.25);
  --port-gain:#4caf72;--port-loss:#e05a5a;--port-sec-lbl:#a0a8b0;
  --port-card-bg:#152236;--port-card-border:#1e3048;
  --port-top10-text:#ffffff;--port-top10-meta:#a0a8b0;--port-top10-val:#ffffff;
  --port-top10-toggle:#a0a8b0;--port-top10-toggle-bg:#1a2d42;
  --port-top10-border:#1e3048;--port-cmic-hover:#1a2d42;
  --port-ei-text:#ffffff;--port-ei-meta:#a0a8b0;
  --port-ei-footer-border:#1e3048;--port-ei-footer-btn-bg:#1a2d42;
  --port-ei-mover-even:rgba(255,255,255,0.02);--port-ei-mover-hover:rgba(255,255,255,0.04);
  --port-ei-attr:#5a6470;--port-pct-up-bg:rgba(76,175,114,0.12);
  --port-pct-dn-bg:rgba(224,90,90,0.12);
  --port-dropdown-bg:#1a2d42;--port-dropdown-border:#1e3048;
}
html,body{background:#0a1520;font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:24px 0 48px}

/* ── Phone Shell ─────────────────────────────────────────────────────── */
.phone{width:390px;min-height:844px;background:var(--parchment);border-radius:48px;overflow:hidden;position:relative;box-shadow:0 0 0 10px #111,0 0 0 13px #333,0 40px 100px rgba(0,0,0,0.6);flex-shrink:0;height:844px}
.phone::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:126px;height:36px;background:#111;border-radius:0 0 22px 22px;z-index:999}

/* ── Navigation Layer ────────────────────────────────────────────────── */
.tab-root{position:absolute;top:0;left:0;right:0;bottom:64px;display:none;flex-direction:column}
.tab-root.active{display:flex}
/* Screen stack inside each tab */
.screen-stack{position:relative;flex:1;overflow:hidden;display:flex;flex-direction:column}
.screen-frame{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--parchment);transform:translateX(100%);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);z-index:10}
.screen-frame.active{transform:translateX(0%);z-index:20}
.screen-frame.below{transform:translateX(-25%);z-index:10}
/* Base screen (always visible as bg of each tab) */
.screen-base{display:flex;flex-direction:column;flex:1;overflow:hidden}

/* ── Header ─────────────────────────────────────────────────────────── */
.hdr{height:88px;padding:40px 16px 10px;background:var(--parchment);border-bottom:1px solid var(--border);display:flex;align-items:flex-end;justify-content:space-between;flex-shrink:0;position:relative;z-index:10}
.hdr-menu{width:36px;height:36px;display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;padding:4px}
.hdr-menu span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:width 0.2s}
.hdr-menu span:nth-child(2){width:70%}
.hdr-logo{position:absolute;left:50%;transform:translateX(-50%);bottom:10px;white-space:nowrap}
.wordmark{display:flex;align-items:center;gap:0}
.wordmark-9{font-size:28px;font-weight:900;color:var(--accent-gold);line-height:1;font-family:'DM Sans',sans-serif}
.wordmark-divider{width:1px;height:22px;background:var(--accent-gold);opacity:0.5;margin:0 5px}
.wordmark-eight{font-size:18px;font-weight:300;color:var(--text-primary);line-height:1;font-family:'DM Sans',sans-serif}
.hdr-right{text-align:right;cursor:pointer;display:flex;align-items:center}
.hdr-ct{font-size:11px;font-weight:600;color:var(--sepia);text-transform:uppercase;letter-spacing:0.5px}

/* Sub-screen header (with back button) */
.sub-hdr{height:88px;padding:40px 16px 10px;background:var(--parchment);border-bottom:1px solid var(--border);display:flex;align-items:flex-end;gap:12px;flex-shrink:0;position:relative}
.back-btn{display:flex;align-items:center;gap:4px;cursor:pointer;color:var(--red);font-size:13px;font-weight:500;flex-shrink:0;padding:2px 0}
.back-btn svg{width:18px;height:18px;stroke:var(--red);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sub-hdr-title{font-size:15px;font-weight:600;color:var(--ink);flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sub-hdr-action{font-size:13px;font-weight:500;color:var(--red);cursor:pointer;flex-shrink:0}

/* ── Tab Bar ─────────────────────────────────────────────────────────── */
.tabs{position:absolute;bottom:0;left:0;right:0;height:64px;background:var(--tab-bg);border-top:1px solid var(--tab-border-top);display:flex;z-index:200;transition:background 0.2s}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;padding-bottom:6px;transition:opacity 0.1s}
.tab:active{opacity:0.6}
.tab svg{width:22px;height:22px;stroke:var(--tab-ico);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:stroke 0.15s}
.tab span{font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:0.4px;color:var(--text-secondary);transition:color 0.15s}
.tab.on svg{stroke:var(--accent-gold)}
.tab.on span{color:var(--accent-gold);font-size:10px;font-weight:600}
/* Collection FAB tab */
.tab-fab{position:relative;top:-16px;justify-content:flex-start;gap:4px;padding-bottom:0}
.tab-fab-circle{width:56px;height:56px;border-radius:50%;background:var(--accent-gold);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(201,168,76,0.45),0 2px 8px rgba(0,0,0,0.35)}
.tab-fab-circle svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tab.tab-fab.on svg{stroke:#fff}
.tab-fab.on .tab-fab-circle{box-shadow:0 4px 22px rgba(201,168,76,0.65),0 2px 10px rgba(0,0,0,0.4)}

/* ── Drawer ──────────────────────────────────────────────────────────── */
.overlay{position:absolute;top:0;left:0;right:0;bottom:64px;background:rgba(0,0,0,0.65);z-index:500;opacity:0;pointer-events:none;transition:opacity 0.25s}
.overlay.open{opacity:1;pointer-events:all}
.drawer{position:absolute;top:0;bottom:64px;left:0;width:285px;background:var(--parchment);z-index:501;display:flex;flex-direction:column;transform:translateX(-285px);transition:transform 0.28s cubic-bezier(0.4,0,0.2,1);box-shadow:6px 0 28px rgba(0,0,0,0.5)}
.drawer.open{transform:translateX(0)}
.drw-hdr{padding:46px 20px 18px;border-bottom:1px solid var(--border)}
.drw-logo{margin-bottom:14px;line-height:1}
.drw-user{display:flex;align-items:center;gap:10px}
.drw-avatar{width:38px;height:38px;border-radius:50%;background:var(--parchment2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.drw-name{font-size:13px;font-weight:600;color:var(--ink)}
.drw-email{font-size:10.5px;color:var(--sepia);margin-top:1px}
.drw-body{flex:1;overflow-y:auto;padding:6px 0 12px}
.drw-body::-webkit-scrollbar{display:none}
.drw-sect{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--accent-gold);padding:14px 20px 3px}
.drw-row{display:flex;align-items:center;gap:12px;padding:11px 20px;cursor:pointer;transition:background 0.1s}
.drw-row:active{background:var(--parchment2)}
.drw-ico{width:34px;height:34px;border-radius:9px;background:var(--parchment2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.drw-ico svg{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.drw-t{font-size:13.5px;color:var(--ink)}
.drw-s{font-size:10.5px;color:var(--sepia);margin-top:1px}
.drw-chev{margin-left:auto}
.drw-chev svg{width:14px;height:14px;stroke:var(--border);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.drw-row-danger:active{background:var(--loss-bg)}
.drw-ico-danger{background:var(--loss-bg);border-color:rgba(224,90,90,0.2)}
.drw-ico-danger svg{stroke:var(--loss)}
.drw-t-danger{color:var(--loss)}

/* ── Customize Overview Panel ────────────────────────────────────────── */
.ov-cust-hint{font-size:11.5px;color:var(--sepia);text-align:center;padding:4px 20px 16px;line-height:1.5}
.ov-cust-list{padding:0 14px 32px}
.ov-cust-row{display:flex;align-items:center;gap:12px;padding:13px 14px;background:var(--white);border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:6px;cursor:grab;user-select:none;transition:opacity 0.15s,box-shadow 0.15s}
.ov-cust-row.ov-cust-dragging{opacity:0.3;box-shadow:0 8px 24px rgba(0,0,0,0.5)}
.ov-cust-row.ov-cust-over{border-color:var(--accent-gold);background:rgba(201,168,76,0.07)}
.ov-cust-handle{flex-shrink:0;display:flex;align-items:center;padding:0 2px;cursor:grab}
.ov-cust-handle svg{width:16px;height:16px;stroke:var(--sepia2);fill:none;stroke-width:2;stroke-linecap:round}
.ov-cust-label{flex:1;font-size:13.5px;font-weight:500;color:var(--ink)}
.ov-cust-label.ov-cust-label-dim{color:var(--sepia)}
.ov-cust-tog{width:40px;height:24px;border-radius:12px;background:var(--border);flex-shrink:0;position:relative;transition:background 0.2s;cursor:pointer}
.ov-cust-tog.on{background:var(--accent-gold)}
.ov-cust-tog-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform 0.2s;box-shadow:0 1px 3px rgba(0,0,0,0.25)}
.ov-cust-tog.on .ov-cust-tog-knob{transform:translateX(16px)}

/* ── Scroll container ────────────────────────────────────────────────── */
.scrl{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.scrl::-webkit-scrollbar{display:none}

/* ── Cards & Shared ──────────────────────────────────────────────────── */
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow)}
.sec-hdr{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 5px}
.sec-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-secondary)}
.sec-act{font-size:10.5px;font-weight:500;color:var(--red);cursor:pointer}
.pill-green{display:inline-flex;align-items:center;gap:4px;background:rgba(76,175,114,0.12);border:0.5px solid rgba(76,175,114,0.3);color:var(--gain);font-size:10px;font-weight:600;padding:2px 7px;border-radius:20px}
.dot-green{width:5px;height:5px;border-radius:50%;background:var(--gain)}
.dot-amber{width:5px;height:5px;border-radius:50%;background:#c98000}
.key{background:var(--key-badge-bg);color:var(--key-badge-text);border:none;font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:0.05em}
/* Key issue banner (detail screen) */
.key-issue-banner{background:var(--accent-gold-dim);border-left:3px solid var(--accent-gold);padding:10px 14px;margin:0 0 12px;border-radius:0 var(--r-sm) var(--r-sm) 0}
.key-issue-banner-tier{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;color:var(--accent-gold);margin-bottom:3px}
.key-issue-banner-desc{font-size:12.5px;color:var(--text-primary);line-height:1.4}
.variant-badge{background:rgba(201,128,0,0.1);border:0.5px solid rgba(201,128,0,0.35);color:#8a5a00;font-size:8px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:0.3px}
.cover-na-badge{position:absolute;bottom:0;left:0;right:0;background:rgba(138,122,106,0.82);color:#fff;font-size:8px;font-weight:700;text-align:center;padding:2px 0;letter-spacing:0.3px;pointer-events:none;line-height:1.4}
.issue-cover-line{font-size:10.5px;color:var(--sepia);margin-top:1px;font-style:italic}
.issue-tile-cover-line{font-size:9px;color:var(--sepia);margin-top:1px;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;font-weight:600;padding:2px 7px;border-radius:20px;text-transform:uppercase;letter-spacing:0.2px;margin-top:4px}
.badge.live{background:rgba(76,175,114,0.12);color:var(--gain);border:0.5px solid rgba(76,175,114,0.3)}
.badge.ended{background:var(--parchment2);color:var(--sepia);border:0.5px solid var(--border)}
.badge.graded{background:var(--accent-gold-dim);color:var(--accent-gold);border:0.5px solid rgba(201,168,76,0.3)}
.badge.sold{background:rgba(224,90,90,0.12);color:var(--loss);border:0.5px solid rgba(224,90,90,0.3)}
.up{color:var(--gain)}
.dn{color:var(--loss)}

/* ── Portfolio Tab — themed via CSS variables ────────────────────────── */
#root-portfolio .screen-base{background:var(--port-screen-base);transition:background 0.2s}
#root-portfolio .scrl{background:var(--port-scrl-bg);transition:background 0.2s}
#p-dark-band{flex-shrink:0;padding-bottom:4px}
/* Header */
#root-portfolio .hdr{background:transparent;border-bottom-color:var(--port-hdr-border)}
#root-portfolio .hdr-logo{color:var(--port-logo)}
#root-portfolio .hdr-menu span{background:var(--port-menu)}
#root-portfolio .hdr-ct{color:var(--port-ct)}
/* Search bar */
#root-portfolio .srch{background:var(--bg-secondary);border-color:var(--border-secondary)}
#root-portfolio .srch input{color:var(--port-srch-text)}
#root-portfolio .srch input::placeholder{color:var(--port-srch-ph)}
#root-portfolio .srch svg{stroke:var(--port-srch-ico)}
#root-portfolio .srch-clear{background:var(--port-srch-clear)}
/* Greeting */
#p-greeting{font-size:22px;font-weight:700;color:var(--text-primary);margin:16px 18px 4px;line-height:1.2}
/* ── Hero section ─── */
.hero{margin:0 16px;padding:12px 2px 12px;cursor:pointer;position:relative}
.hero-lbl{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.8px;color:var(--port-hero-lbl);margin-bottom:8px}
.hero-num{font-family:'Yellowtail',cursive;font-size:60px;color:var(--port-hero-num);line-height:0.95;margin-bottom:4px}
/* Single info line below hero number */
.hero-info-line{font-size:14px;margin-top:6px;line-height:1.4}
.hi-muted{color:var(--port-info-muted)}
.hi-sep{color:var(--port-info-sep)}
.hi-gain{color:var(--port-gain)}
.hi-loss{color:var(--port-loss)}
/* ── Portfolio Section Reveal ── */
@keyframes sectionReveal{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.p-sect-divider{height:8px;background:transparent}
#root-portfolio .up{color:var(--port-gain)}
#root-portfolio .dn{color:var(--port-loss)}
#root-portfolio .sec-lbl{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.1em}
#root-buy .sec-lbl{border-left:3px solid var(--red);padding-left:8px;font-size:11px;letter-spacing:1px;color:var(--sepia)}
#root-portfolio .sec-hdr{padding-top:0;margin-top:20px;margin-bottom:8px}
#p-ei-hot .sec-hdr{margin-top:16px}
#root-portfolio .sec-act{color:var(--red)}
.settings-hint{font-size:11px;color:var(--sepia);padding:4px 0 2px;line-height:1.4}
.kpis{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:9px 14px 0}
.kpi{padding:11px 8px;text-align:center;cursor:pointer}
.kpi-n{font-size:22px;font-weight:600;color:var(--ink);line-height:1}
.kpi-l{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:0.4px;color:var(--sepia);margin-top:3px}

/* ── Top 10 — themed card ────────────────────────────────────────────── */
#root-portfolio #p-top10-section .card{background:var(--port-card-bg);border:1px solid var(--port-card-border);box-shadow:none}
.cmic{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--port-top10-border);cursor:pointer;transition:background 0.1s}
.cmic:active{background:var(--port-cmic-hover)}
.cmic:last-child{border-bottom:none}
.cmic-rank{font-size:28px;font-weight:700;width:24px;text-align:center;flex-shrink:0;line-height:1}
.cmic-info{flex:1;min-width:0}
.cmic-title{font-size:12.5px;font-weight:500;color:var(--port-top10-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmic-meta{font-size:10.5px;color:var(--port-top10-meta);margin-top:2px;display:flex;align-items:center;gap:5px}
.cmic-right{text-align:right;flex-shrink:0}
.cmic-val{font-size:14px;font-weight:600;color:var(--port-top10-val)}
.cmic-chg{font-size:10px;font-weight:500;margin-top:2px}
.top10-extra{max-height:0;overflow:hidden;transition:max-height 0.35s ease}
.top10-extra.expanded{max-height:700px}
.top10-toggle{display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 14px;color:var(--port-top10-toggle);background:var(--port-top10-toggle-bg);font-size:12px;font-weight:500;border-top:1px solid var(--port-top10-border);cursor:pointer;transition:color 0.15s}
.top10-toggle:active{color:var(--port-top10-text)}
.top10-toggle span{line-height:1}
.top10-chev svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform 0.35s ease;display:block}
.top10-chev.open svg{transform:rotate(180deg)}

/* ── eBay Intelligence — themed glass cards ──────────────────────────── */
.ei-card{cursor:pointer;transition:opacity 0.12s;background:var(--port-card-bg);border:1px solid var(--port-card-border);border-radius:var(--r);box-shadow:none}
.ei-card:active{opacity:0.8}
/* Hot Right Now */
.ei-hot-card{border:1px solid rgba(201,168,76,0.3)}
.ei-hot-body{padding:16px 16px 0}
.ei-hot-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.ei-info{flex:1;min-width:0}
.ei-title{font-size:14px;font-weight:600;color:var(--port-ei-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ei-title-lg{font-size:16px;font-weight:700;color:var(--port-ei-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ei-meta{font-size:11px;color:var(--port-ei-meta);margin-top:2px}
.ei-price-lg{font-family:'Yellowtail',cursive;font-size:32px;color:var(--port-ei-text);line-height:1;flex-shrink:0;white-space:nowrap}
.ei-fire-row{font-size:12px;font-weight:600;color:var(--accent-gold);padding-bottom:14px}
.ei-footer-btn{font-size:13px;font-weight:600;color:var(--red);padding:11px 16px;border-top:1px solid var(--port-ei-footer-border);background:var(--port-ei-footer-btn-bg);text-align:center;letter-spacing:0.2px;border-radius:0 0 var(--r) var(--r)}
/* Market Movers */
.ei-mover-row{cursor:pointer;transition:background 0.1s}
.ei-mover-row:nth-child(even){background:var(--port-ei-mover-even)}
.ei-mover-row:active{background:var(--port-ei-mover-hover)}
.ei-pct-pill{border-radius:20px;padding:4px 10px;font-size:13px;font-weight:700;flex-shrink:0;white-space:nowrap}
.ei-pct-pill.up{background:rgba(76,175,114,0.15);color:var(--gain);border:0.5px solid rgba(76,175,114,0.3)}
.ei-pct-pill.dn{background:rgba(224,90,90,0.15);color:var(--loss);border:0.5px solid rgba(224,90,90,0.3)}
/* Best Time to Sell */
.ei-sell-card{border:1px solid var(--accent-gold)}
.ei-sell-body{display:flex;align-items:flex-start;gap:10px;padding:16px 16px 0}
.ei-above-avg{font-size:13px;font-weight:700;color:var(--port-gain);margin-top:6px;line-height:1.35}
.ei-sell-price{font-family:'Yellowtail',cursive;font-size:28px;color:var(--port-ei-text);flex-shrink:0;white-space:nowrap}
.ei-footer-sell{font-size:14px;font-weight:700;background:transparent;border:1.5px solid var(--accent-gold);color:var(--accent-gold);padding:14px;text-align:center;letter-spacing:0.2px;margin-top:12px;border-radius:0 0 var(--r) var(--r)}
.ei-attr{text-align:center;font-size:10px;color:var(--port-ei-attr);padding:4px 14px 10px;letter-spacing:0.2px}

/* ── Portfolio Dashboard ─────────────────────────────────────────────── */
#p-subtitle{font-size:13px;color:var(--text-secondary);margin:2px 18px 14px;font-weight:400}
#p-dashboard{padding:0 14px 24px;display:flex;flex-direction:column;gap:12px}
.pf-empty{padding:40px 0;text-align:center;color:var(--text-secondary);font-size:14px}
/* Card shell */
.pf-card{background:var(--port-card-bg);border:1px solid var(--port-card-border);border-radius:var(--r);overflow:hidden}
.pf-card-hdr{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-secondary);padding:14px 14px 10px;display:flex;align-items:center;gap:6px}
.pf-card-hdr-ct{font-size:11px;font-weight:600;color:var(--accent-gold);background:rgba(201,168,76,0.12);border-radius:10px;padding:1px 7px;letter-spacing:0}
.pf-card-body{padding:0 14px 12px}
/* Hero stat pills — 2×2 grid */
.pf-hero-stats{padding:16px 14px}
.pf-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pf-stat-pill{background:rgba(255,255,255,0.04);border:1px solid var(--port-card-border);border-radius:10px;padding:14px 12px;text-align:center}
.pf-stat-num{font-size:26px;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:4px}
.pf-stat-split{font-size:18px}
.pf-stat-sep{color:var(--text-secondary);font-weight:400}
.pf-stat-lbl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary)}
/* Horizontal bar rows (era + publisher) */
.pf-bar-row{display:flex;align-items:center;gap:8px;padding:5px 0}
.pf-bar-label{font-size:12px;font-weight:500;color:var(--text-primary);width:88px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-bar-track{flex:1;height:6px;background:rgba(255,255,255,0.07);border-radius:3px;overflow:hidden}
.pf-bar-fill{height:100%;border-radius:3px;transition:width 0.4s ease}
.pf-bar-gold{background:var(--accent-gold)}
.pf-bar-muted{background:rgba(201,168,76,0.35)}
.pf-bar-stat{font-size:12px;font-weight:600;color:var(--text-primary);width:48px;text-align:right;flex-shrink:0}
.pf-bar-pct{color:var(--text-secondary);font-weight:400}
/* Longest runs + nearly complete rows */
.pf-run-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--port-card-border);cursor:pointer;transition:background 0.1s}
.pf-run-row:last-child{border-bottom:none}
.pf-run-row:active{background:rgba(255,255,255,0.04)}
.pf-run-info{flex:1;min-width:0}
.pf-run-title{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-run-meta{font-size:11px;color:var(--text-secondary);margin-top:2px}
.pf-run-bar{height:3px;background:rgba(255,255,255,0.07);border-radius:2px;overflow:hidden;margin-top:6px}
.pf-run-count{font-size:22px;font-weight:700;color:var(--accent-gold);flex-shrink:0;line-height:1;min-width:28px;text-align:right}
.pf-run-pct{font-size:14px;font-weight:700;color:var(--accent-gold);flex-shrink:0;min-width:36px;text-align:right}
/* Key issues horizontal scroll */
.pf-key-scroll{display:flex;gap:10px;overflow-x:auto;padding:0 14px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.pf-key-scroll::-webkit-scrollbar{display:none}
.pf-key-card{flex-shrink:0;width:160px;background:rgba(255,255,255,0.04);border:1px solid var(--port-card-border);border-radius:8px;padding:12px;cursor:pointer;transition:background 0.1s}
.pf-key-card:active{background:rgba(255,255,255,0.08)}
.pf-key-title{font-size:12.5px;font-weight:700;color:var(--text-primary);line-height:1.3;margin-bottom:5px}
.pf-key-notes{font-size:11px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pf-key-val{font-size:13px;font-weight:700;color:var(--accent-gold);margin-top:7px}
/* Recently Added key badge */
.pf-recent-key{font-size:8px;font-weight:700;background:var(--accent-gold);color:#0a1520;border-radius:4px;padding:1px 6px;letter-spacing:0.4px;text-transform:uppercase;flex-shrink:0}
/* Daily Spotlight card */
.pf-spot-card{cursor:pointer;transition:background 0.1s}
.pf-spot-card:active{background:rgba(255,255,255,0.04)}
.pf-spot-key{border-left:3px solid var(--accent-gold)}
.pf-spot-body{padding:2px 14px 14px}
.pf-spot-title{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:5px;line-height:1.25}
.pf-spot-meta{font-size:12px;color:var(--text-secondary);margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pf-spot-grade{font-size:10px;font-weight:600;background:rgba(255,255,255,0.08);color:var(--text-secondary);border-radius:10px;padding:2px 7px}
.pf-spot-notes{font-size:11.5px;color:var(--sepia);font-style:italic;line-height:1.45}

.pf-news-row{padding:11px 14px;border-bottom:1px solid var(--port-card-border);cursor:pointer;transition:background 0.1s}
.pf-news-row:last-child{border-bottom:none}
.pf-news-row:active{background:rgba(255,255,255,0.04)}
.pf-news-title{font-size:14px;color:#ffffff;line-height:1.35}
.pf-news-meta{font-size:11px;color:#9a7d3a;margin-top:3px}
.pf-news-loading{padding:14px 14px 16px;font-size:13px;color:var(--text-secondary)}

/* ── Collection Wallpaper ────────────────────────────────────────────── */
#vt-wallpaper.wallpaper-on svg{stroke:var(--red)}
/* Wallpaper active — cards become the readability layer */
#root-collection.wallpaper-active .ser-list{background:rgba(13,27,42,0.92)}
#root-collection.wallpaper-active .ser-card:active{background:rgba(26,45,66,0.96)}
#root-collection.wallpaper-active .ser-issues .issue-row{background:rgba(21,34,54,0.92)}
#root-collection.wallpaper-active .alpha-hdr{background:rgba(10,21,32,0.88);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
#root-collection.wallpaper-active .srch{background:rgba(21,34,54,0.90)}

/* ── Collection Tab ──────────────────────────────────────────────────── */
.col-stats-bar{padding:8px 16px 0;text-align:center;flex-shrink:0}
.col-stats-txt{font-size:11px;font-weight:600;letter-spacing:0.65px;text-transform:uppercase;color:#7a6028;white-space:nowrap}
.col-stats-divider{margin:7px 14px 0;height:1px;background:var(--border);flex-shrink:0}
.srch-wrap{padding:8px 14px 0}
.srch{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:10px;padding:8px 12px}
.srch input{flex:1;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--ink);background:transparent}
.srch input::placeholder{color:var(--sepia2)}
.srch svg{stroke:var(--sepia2);fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0}
.srch-clear{width:18px;height:18px;border-radius:50%;background:var(--sepia2);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;opacity:0;transition:opacity 0.15s}
.srch-clear.show{opacity:1}
.srch-clear svg{stroke:#fff;width:10px;height:10px;stroke-width:2.5}
/* Collection FAB */
.collection-fab{position:absolute;bottom:80px;right:18px;z-index:250;width:56px;height:56px;border-radius:50%;background:var(--accent-gold);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(201,168,76,0.45),0 2px 8px rgba(0,0,0,0.35);transition:transform 0.12s,box-shadow 0.12s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.collection-fab:active{transform:scale(0.91);box-shadow:0 2px 8px rgba(201,168,76,0.3),0 1px 4px rgba(0,0,0,0.25)}
.collection-fab svg{width:24px;height:24px;pointer-events:none}

/* Sort row (flat list mode) */
.sort-row{display:flex;gap:6px;padding:10px 14px 0;overflow-x:auto}
.sort-row::-webkit-scrollbar{display:none}
.sort-pill{flex-shrink:0;font-size:11px;font-weight:500;padding:4px 11px;border-radius:20px;border:1px solid var(--border);color:var(--sepia);background:var(--white);cursor:pointer;white-space:nowrap;transition:all 0.15s}
.sort-pill.on{background:var(--accent-gold);border-color:var(--accent-gold);color:var(--key-badge-text)}

/* Missing toggle */
.sec-hdr-right{display:flex;align-items:center;gap:8px}
.missing-tog-wrap{display:flex;align-items:center;gap:5px;cursor:pointer}
.missing-tog-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.7px;color:var(--sepia);white-space:nowrap}
.tog{width:32px;height:18px;border-radius:9px;background:var(--border);position:relative;transition:background 0.2s;flex-shrink:0}
.tog.on{background:var(--red)}
.tog-knob{width:14px;height:14px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform 0.2s;box-shadow:0 1px 3px rgba(0,0,0,0.2)}
.tog.on .tog-knob{transform:translateX(14px)}

/* View toggle */
.view-toggle{display:flex;gap:2px;background:var(--parchment2);border-radius:8px;padding:2px}
.vt-btn{width:28px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:background 0.15s;border:none;background:none;padding:0}
.vt-btn.on{background:var(--bg-card-elevated);box-shadow:0 1px 3px rgba(0,0,0,0.3)}
.vt-btn svg{width:14px;height:14px;stroke:var(--sepia2);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vt-btn.on svg{stroke:var(--ink)}

/* Series cards - list */
.alpha-hdr{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;color:var(--sepia2);padding:6px 16px 5px;background:var(--bg-secondary);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.ser-list{background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:2px}
.ser-card{cursor:pointer;transition:background 0.1s;border-bottom:1px solid var(--parchment2)}
.ser-card:last-child{border-bottom:none}
.ser-card:active{background:var(--parchment2)}
.ser-inner{display:flex;align-items:center;padding:12px 16px}
.ser-info{flex:1;min-width:0}
.ser-title{font-size:15px;font-weight:500;color:var(--ink);line-height:1.2}
.ser-meta{font-size:12px;color:var(--sepia);margin-top:3px}
.ser-prog{display:flex;align-items:center;gap:8px;margin-top:6px}
.prog{flex:1;height:3px;background:var(--border);border-radius:2px;overflow:hidden}
.prog-fill{height:100%;background:var(--red);border-radius:2px}
.prog-lbl{font-size:10px;color:var(--sepia);font-weight:500;white-space:nowrap}
.ser-val{font-size:15px;font-weight:500;color:var(--ink);text-align:right;white-space:nowrap}
.ser-gain{font-size:12px;font-weight:500;text-align:right;white-space:nowrap}
.ser-gain.up{color:var(--gain)}.ser-gain.dn{color:var(--loss)}

/* Series expand/collapse */
.ser-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;flex-shrink:0}
.ser-chev svg{width:14px;height:14px;stroke:var(--sepia2);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform 0.2s;display:block}
.ser-chev.open svg{transform:rotate(90deg)}
.ser-issues{border-top:1px solid var(--parchment2)}
.ser-issues .issue-row{padding:6px 12px;background:var(--parchment2)}


/* Add Issue row (list view) */
.add-issue-row{background:var(--parchment) !important}
.add-issue-thumb{background:transparent !important;border:1.5px dashed var(--border) !important}
.add-issue-thumb svg{width:15px;height:15px;stroke:var(--sepia2);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.add-issue-label{color:var(--sepia);font-weight:400}

/* Add New Series footer */
.add-series-footer{display:flex;align-items:center;justify-content:center;gap:9px;margin:14px 14px 24px;padding:13px;background:var(--white);border:1.5px dashed var(--border);border-radius:var(--r);color:var(--sepia);font-size:13px;font-weight:500;cursor:pointer;transition:background 0.15s}
.add-series-footer:active{background:var(--parchment2)}
.add-series-footer svg{width:15px;height:15px;stroke:var(--sepia2);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ser-issues .issue-num{font-size:11.5px}
.ser-issues .issue-grade{font-size:9.5px}
.ser-issues .issue-val{font-size:12.5px}


/* Missing issue rows */
.missing-row{background:var(--parchment) !important;border-left:2px dashed var(--border) !important;border-bottom:1px solid var(--border-secondary) !important}
.missing-row:active{background:var(--parchment2) !important}
.missing-row .issue-info{opacity:0.5}
.missing-num{color:var(--sepia) !important}
.missing-grade{color:var(--sepia2) !important}
.upcoming-row .issue-info{opacity:0.75}
.upcoming-badge{font-size:9px;font-weight:700;letter-spacing:0.05em;color:var(--accent-gold);background:var(--accent-gold-dim);border:0.5px solid rgba(201,168,76,0.3);padding:2px 6px;border-radius:3px}
.missing-add-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;color:#C9A84C;font-size:23px;font-weight:300;line-height:1;padding:10px 8px;-webkit-tap-highlight-color:transparent}
.missing-add-btn:hover{opacity:0.8}
.missing-add-btn:active{opacity:0.6}
.missing-loading{display:flex;align-items:center;gap:7px;padding:8px 12px;font-size:11px;color:var(--sepia2);background:var(--parchment)}


/* Issue rows */
.issue-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--parchment2);cursor:pointer;transition:background 0.1s}
.issue-row:active{background:var(--parchment2)}
.issue-row:last-child{border-bottom:none}
.issue-info{flex:1;min-width:0}
.issue-num{font-size:13px;font-weight:600;color:var(--ink)}
.issue-grade{font-size:11px;color:var(--sepia);margin-top:2px}
.issue-right{text-align:right;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end}
.issue-val{font-size:14px;font-weight:600;color:var(--ink)}
/* Inline issue expansion */
.issue-expand-wrap{display:block;border-bottom:1px solid var(--parchment2)}
.issue-expand-wrap:last-child{border-bottom:none}
.issue-expand-wrap .issue-row{border-bottom:none}
.issue-chev{width:16px;height:16px;stroke:var(--sepia2);fill:none;flex-shrink:0;transition:transform 0.2s;margin-left:6px}
.issue-chev.open{transform:rotate(180deg)}
.issue-row.expanded{background:var(--parchment2)}
/* ── Inline issue detail card (Option B dark) ────────────────────────── */
.idet-panel{background:#0d1b2a;border:1px solid #1e2d3d;border-top:none;border-radius:0 0 8px 8px;margin:0 4px 8px;overflow:hidden}
.idet-single-hdr{display:flex;align-items:center;justify-content:space-between;padding:7px 10px 7px 12px;border-bottom:0.5px solid #1e2d3d}
.idet-single-title{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#C9A84C}
.idet-hdr-actions{display:flex;align-items:center;gap:6px}
.idet-edit-btn{background:none;border:none;cursor:pointer;padding:5px;color:#556;flex-shrink:0;line-height:0;-webkit-tap-highlight-color:transparent}
.idet-edit-btn svg{width:14px;height:14px;stroke:currentColor}
.idet-save-btn{background:#C9A84C;color:#0d1b2a;border:none;border-radius:6px;font-size:12px;font-weight:700;padding:5px 12px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.idet-cancel-btn{background:none;border:none;color:#556;font-size:12px;font-weight:500;padding:5px 8px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.idet-group{background:none}
.idet-group-divider{border-top:0.5px solid #1e2d3d}
.idet-actions-row{display:flex;gap:8px;padding:12px 14px;border-top:0.5px solid #1e2d3d;align-items:center}
.idet-archive-btn{flex:1;padding:10px;border-radius:8px;background:transparent;border:1px solid #C9A84C;color:#C9A84C;font-size:13px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}
.idet-delete-btn{flex:1;padding:10px;border-radius:8px;background:transparent;border:1px solid #e05c5c;color:#e05c5c;font-size:13px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}
.idet-confirm-msg{flex:1;font-size:11.5px;color:#c0392b;font-weight:500;line-height:1.3}
.idet-delete-btn.idet-delete-confirm{flex:none;padding:8px 12px}
.idet-panel .detail-row{padding:6px 12px;border-bottom:0.5px solid #1e2d3d}
.idet-panel .detail-row:last-child{border-bottom:none}
.idet-panel .detail-row-label{font-size:12px;font-weight:500;color:#ffffff;width:100px}
.idet-panel .detail-row-val{font-size:12px;color:#C9A84C}
.idet-key-banner{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:rgba(201,168,76,0.08);border-bottom:0.5px solid #1e2d3d}
.idet-key-badge{background:#C9A84C;color:#0d1b2a;font-size:9px;font-weight:800;letter-spacing:1px;padding:2px 5px;border-radius:3px;flex-shrink:0;margin-top:2px}
.idet-key-text{font-size:13px;font-weight:500;color:#e8d5a3;line-height:1.4}
.idet-panel .det-input{color:#C9A84C;background:transparent}
.idet-panel .det-input::placeholder{color:#3a4a5a}
.idet-panel .det-select{color:#C9A84C;background:transparent}

/* Multi-copy badge (×N) */
.multi-copy-badge{font-size:11px;font-weight:700;color:var(--accent-gold);background:rgba(201,168,76,0.15);border:0.5px solid rgba(201,168,76,0.3);padding:2px 6px;border-radius:4px;margin-left:6px}

/* Chevron on multi-copy rows */
.copy-expand-chev{font-size:14px;color:var(--sepia);margin-top:3px;transition:transform 0.2s;display:block;line-height:1}
.copy-expand-chev.open{transform:rotate(90deg)}

/* Sub-rows for each copy inside an expanded multi-copy group */
.copy-sub-row{padding:8px 14px 8px 36px;border-top:0.5px solid rgba(255,255,255,0.06);display:flex;justify-content:space-between;align-items:center;background:var(--parchment2);cursor:pointer}
.copy-sub-row:active{opacity:0.75}
.copy-sub-left{flex:1;min-width:0}
.copy-variant{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:2px}
.copy-variant.muted{color:var(--sepia);font-weight:400}

/* ── Slab card (graded issues) ──────────────────────────────────────── */
.slab-card{margin:0;border:1.5px solid;border-radius:0;overflow:hidden;cursor:pointer;transition:opacity 0.1s;width:100%}
.slab-card:active{opacity:0.75}
.slab-hdr{display:flex;align-items:center;justify-content:space-between;min-height:28px;padding:4px 12px;gap:8px}
.slab-hdr-left{font-size:9px;font-weight:700;letter-spacing:0.8px;text-transform:uppercase;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slab-hdr-right{font-size:15px;font-weight:700;line-height:1;flex-shrink:0}
.slab-body{display:flex;align-items:center;min-height:28px;padding:4px 12px;gap:10px;background:#131f2e}
.slab-body-left{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:600;color:#ffffff;line-height:1}
.slab-body-right{font-size:10px;font-weight:500;text-transform:uppercase;color:#888;flex-shrink:0;text-align:right;line-height:1}
.slab-grade-price{font-size:10px;color:rgba(255,255,255,0.4);margin-top:2px;text-align:right}

/* ── Add Tab ─────────────────────────────────────────────────────────── */
.add-scan{margin:14px 14px 0;padding:26px 20px;text-align:center;cursor:pointer;border:2px dashed var(--border);background:var(--white);border-radius:var(--r);transition:transform 0.1s}
.add-scan:active{transform:scale(0.985)}
.add-scan-ico{width:58px;height:58px;background:var(--red-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.add-scan-ico svg{width:28px;height:28px;stroke:var(--red);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.add-scan-t{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:5px}
.add-scan-s{font-size:12px;color:var(--sepia);line-height:1.5}
.add-or{display:flex;align-items:center;gap:10px;padding:12px 20px}
.add-or-line{flex:1;height:1px;background:var(--border)}
.add-or-txt{font-size:10.5px;color:var(--sepia);text-transform:uppercase;letter-spacing:0.5px}
.add-opt{margin:0 14px;cursor:pointer;display:flex;align-items:center;gap:13px;padding:15px;transition:transform 0.1s}
.add-opt:active{transform:scale(0.985)}
.add-opt+.add-opt{margin-top:8px}
.add-opt-ico{width:44px;height:44px;border-radius:10px;background:var(--parchment2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.add-opt-ico svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.add-opt-t{font-size:14px;font-weight:500;color:var(--ink)}
.add-opt-s{font-size:11px;color:var(--sepia);margin-top:2px}
.add-opt-chev{margin-left:auto}
.add-opt-chev svg{width:15px;height:15px;stroke:var(--sepia2);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.recent-row{display:flex;gap:10px;padding:4px 14px 12px;overflow-x:auto}
.recent-row::-webkit-scrollbar{display:none}
.rec-item{flex-shrink:0;width:90px;cursor:pointer}
.rec-title{font-size:9.5px;color:var(--sepia);text-align:center;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Search results */
.search-result{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--parchment2);cursor:pointer;transition:background 0.1s}
.search-result:active{background:var(--parchment2)}
.search-result:last-child{border-bottom:none}
.sr-title{font-size:13px;font-weight:600;color:var(--ink)}
.sr-meta{font-size:11px;color:var(--sepia);margin-top:2px}

/* Issue picker */
.issue-pick{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--parchment2);cursor:pointer;transition:background 0.1s}
.issue-pick:active{background:var(--parchment2)}
.issue-pick:last-child{border-bottom:none}
.ip-content{flex:1;min-width:0}
.ip-title{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ip-meta{font-size:11px;color:var(--sepia);margin-top:2px}
.ip-num{font-size:13px;font-weight:500;color:var(--ink)}
.ip-date{font-size:11px;color:var(--sepia)}
.ip-chev svg{width:14px;height:14px;stroke:var(--border);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.issue-variant{background:var(--bg-secondary);border-left:3px solid var(--accent-gold);padding-left:11px}

/* ── Form styles ─────────────────────────────────────────────────────── */
.form-body{padding:14px}
.form-section{margin-bottom:18px}
.form-section-label{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--accent-gold);margin-bottom:8px;padding:0 2px}
.form-group{background:var(--white);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;margin-bottom:1px}
.form-row{display:flex;align-items:center;padding:11px 14px;border-bottom:1px solid var(--parchment2)}
.form-row:last-child{border-bottom:none}
.form-label{font-size:12.5px;color:var(--sepia);width:110px;flex-shrink:0}
.form-input{flex:1;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--ink);background:transparent;text-align:right}
.form-input::placeholder{color:var(--sepia2)}
.form-input.left{text-align:left}
.form-select{flex:1;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--ink);background:transparent;text-align:right;appearance:none;cursor:pointer}
.form-toggle{margin-left:auto}
/* iOS-style toggle */
.toggle{width:44px;height:26px;background:var(--border);border-radius:13px;position:relative;cursor:pointer;transition:background 0.2s;flex-shrink:0}
.toggle.on{background:var(--gain)}
.toggle::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.2);transition:left 0.2s}
.toggle.on::after{left:21px}
.form-textarea{width:100%;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--ink);background:transparent;resize:none;padding:11px 14px;min-height:72px;line-height:1.5}
.form-textarea::placeholder{color:var(--sepia2)}
.form-val-display{flex:1;font-size:13px;color:var(--ink);text-align:right}
.form-val-display.placeholder{color:var(--sepia2)}
.form-val-display.g{color:var(--gain)}
.form-val-display.r{color:var(--loss)}

/* Condition picker */
.grade-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px}
.grade-chip{font-size:11px;font-weight:600;padding:5px 10px;border-radius:20px;border:1px solid var(--border);color:var(--sepia);background:var(--white);cursor:pointer;transition:all 0.15s}
.grade-chip.on{background:var(--accent-gold);border-color:var(--accent-gold);color:var(--key-badge-text)}
.grade-chip.red{background:rgba(220,80,80,0.1);border-color:rgba(220,80,80,0.3);color:rgba(170,40,40,0.9)}
.grade-chip.red.on{background:rgba(220,80,80,0.85);border-color:rgba(220,80,80,0.85);color:#fff}
.grade-chip.yellow{background:rgba(201,168,76,0.1);border-color:rgba(201,168,76,0.3)}
.grade-chip.yellow.on{background:var(--accent-gold);border-color:var(--accent-gold);color:var(--key-badge-text)}
.grade-chip.blue{background:rgba(80,150,220,0.1);border-color:rgba(80,150,220,0.3);color:rgba(40,100,180,0.9)}
.grade-chip.blue.on{background:rgba(80,150,220,0.85);border-color:rgba(80,150,220,0.85);color:#fff}
.grade-chip.green{background:rgba(80,200,120,0.1);border-color:rgba(80,200,120,0.3);color:rgba(30,130,60,0.9)}
.grade-chip.green.on{background:rgba(80,200,120,0.85);border-color:rgba(80,200,120,0.85);color:#fff}
/* Add Comic redesign */
.af-hero-banner{margin:0 0 18px;background:var(--bg-secondary);border-radius:var(--r-sm);padding:14px 16px;border-left:3px solid var(--accent-gold)}
.af-hero-series{font-size:15px;font-weight:700;color:var(--accent-gold);letter-spacing:0.3px;margin-bottom:3px}
.af-hero-meta{font-size:12px;color:rgba(255,255,255,0.5);letter-spacing:0.2px}
.sec-icon{margin-right:5px;font-style:normal}
#af-cover-wrap{flex:1;display:flex;align-items:center;justify-content:flex-end;transition:background 0.2s,padding 0.2s,border-radius 0.2s}
#af-cover-wrap input,#af-cover-wrap select{flex:1;text-align:right}
#af-cover-wrap.badge-active{background:rgba(201,168,76,0.15);border-radius:12px;padding:0 10px}
#af-cover-wrap.badge-active input,#af-cover-wrap.badge-active select{color:var(--accent-gold)}
#dd-cover-wrap{flex:1;display:flex;align-items:center;justify-content:flex-end;transition:background 0.2s,padding 0.2s,border-radius 0.2s}
#dd-cover-wrap input,#dd-cover-wrap select{flex:1;text-align:right}
#dd-cover-wrap.badge-active{background:rgba(201,168,76,0.15);border-radius:12px;padding:0 10px}
#dd-cover-wrap.badge-active input,#dd-cover-wrap.badge-active select{color:var(--accent-gold)}

/* ── Sell Tab ────────────────────────────────────────────────────────── */
.ebay-bar{margin:12px 14px 0;display:flex;align-items:center;gap:10px;padding:10px 14px}
.ebay-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px rgba(76,175,114,0.2)}
.ebay-dot.green{background:var(--gain)}
.ebay-dot.amber{background:#c98000;box-shadow:0 0 0 2px rgba(201,128,0,0.2)}
.ebay-txt{font-size:12px;color:var(--sepia)}
.ebay-txt strong{color:var(--ink);font-weight:600}
.ebay-connect-btn{margin-left:auto;font-size:11px;font-weight:600;color:var(--red);cursor:pointer}
.sell-types{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 14px 0}
.sell-type{padding:18px 14px;text-align:center;cursor:pointer;position:relative;overflow:hidden;transition:transform 0.1s}
.sell-type:active{transform:scale(0.96)}
.sell-type.prim::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--red);border-radius:14px 14px 0 0}
.st-ico{width:42px;height:42px;background:var(--red-bg);border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.st-ico svg{width:20px;height:20px;stroke:var(--red);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.st-t{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:3px}
.st-s{font-size:10.5px;color:var(--sepia);line-height:1.4}
.listing{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--parchment2);cursor:pointer;transition:background 0.1s}
.listing:active{background:var(--parchment2)}
.listing:last-child{border-bottom:none}
.lst-info{flex:1;min-width:0}
.lst-title{font-size:12.5px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lst-meta{font-size:10.5px;color:var(--sepia);margin-top:2px}
.lst-right{text-align:right;flex-shrink:0}
.lst-price{font-size:14px;font-weight:600;color:var(--ink)}
.lst-watch{font-size:10px;color:var(--sepia);margin-top:2px}

/* Sell flow steps */
.sell-flow-wrap{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--parchment);display:flex;flex-direction:column;transform:translateY(100%);transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);z-index:50}
.sell-flow-wrap.open{transform:translateY(0)}
.sell-step-hdr{padding:16px 16px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}
.sell-step-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.sell-step-close svg{width:20px;height:20px;stroke:var(--sepia);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sell-step-title{font-size:15px;font-weight:600;color:var(--ink)}
.sell-step-num{margin-left:auto;font-size:11px;font-weight:500;color:var(--sepia2)}
.step-prog{height:2px;background:var(--border);flex-shrink:0}
.step-prog-fill{height:100%;background:var(--red);transition:width 0.3s}
.sell-step-body{flex:1;overflow-y:auto}
.sell-step-body::-webkit-scrollbar{display:none}
.sell-step-footer{padding:12px 14px;border-top:1px solid var(--border);flex-shrink:0}
.btn-primary{width:100%;padding:14px;background:var(--accent-gold);color:var(--key-badge-text);border:none;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:opacity 0.15s}
.btn-primary:active{opacity:0.8}
.btn-primary:disabled{opacity:0.4;cursor:not-allowed}
.btn-secondary{width:100%;padding:13px;background:transparent;color:var(--sepia);border:1px solid var(--border);border-radius:10px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;cursor:pointer;margin-top:8px;transition:background 0.15s}
.btn-secondary:active{background:var(--parchment2)}

/* Comp data */
.comp-card{margin:14px;padding:14px;background:var(--white);border:1px solid var(--border);border-radius:var(--r)}
.comp-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.9px;color:var(--sepia);margin-bottom:10px}
.comp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.comp-stat{text-align:center;padding:8px;background:var(--parchment);border-radius:8px}
.comp-val{font-size:18px;font-weight:600;color:var(--ink);line-height:1}
.comp-lbl{font-size:9px;color:var(--sepia);text-transform:uppercase;letter-spacing:0.4px;margin-top:3px}
.comp-trend{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.trend-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px}
.trend-pill.up{background:var(--gain-bg);color:var(--gain);border:0.5px solid var(--gain-border)}
.trend-pill.dn{background:var(--loss-bg);color:var(--loss);border:0.5px solid rgba(224,90,90,0.3)}

/* Price slider */
.price-slider-wrap{margin:14px;padding:14px;background:var(--white);border:1px solid var(--border);border-radius:var(--r)}
.price-display{text-align:center;margin-bottom:14px}
.price-display-val{font-family:'Yellowtail',cursive;font-size:42px;color:var(--ink);line-height:1}
.price-display-lbl{font-size:11px;color:var(--sepia);margin-top:4px}
input[type=range]{width:100%;-webkit-appearance:none;height:3px;background:var(--border);border-radius:2px;outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--red);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,0.2);cursor:pointer}
.range-labels{display:flex;justify-content:space-between;margin-top:6px}
.range-labels span{font-size:10px;color:var(--sepia2)}

/* ── Comic Detail (sheet that slides up) — hidden, replaced by inline expansion ── */
.detail-sheet{display:none!important}
.detail-title-block{padding:14px 16px;background:var(--bg-secondary);border-left:3px solid var(--accent-gold);margin-bottom:4px}
.detail-series{font-size:11px;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:3px}
.detail-issue-title{font-size:20px;font-weight:700;color:var(--accent-gold);line-height:1.2}
.detail-meta-row{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}
.detail-body{flex:1;overflow-y:auto}
.detail-body::-webkit-scrollbar{display:none}
.detail-section{margin:0 14px 18px}
.detail-section-title{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--accent-gold);margin-bottom:8px;padding:0 2px}
/* Stock-ticker financial bar */
.detail-ticker{display:flex;align-items:baseline;gap:6px;padding:10px 16px 12px;flex-wrap:wrap}
.ticker-val{font-size:22px;font-weight:700;color:var(--ink);line-height:1}
.ticker-change{font-size:13px;font-weight:600;line-height:1}
.ticker-change.up{color:var(--gain)}
.ticker-change.dn{color:var(--loss)}
.ticker-change.flat{color:var(--sepia2)}
.ticker-roi{font-size:12px;font-weight:500;line-height:1}
.ticker-roi.up{color:var(--gain)}
.ticker-roi.dn{color:var(--loss)}
.ticker-roi.flat{color:var(--sepia2)}
.ticker-divider{width:1px;height:14px;background:var(--border);margin:0 2px;align-self:center;flex-shrink:0}
.ticker-paid{font-size:11.5px;color:var(--sepia);font-weight:400;line-height:1}
.ticker-trend{font-size:11.5px;font-weight:600;line-height:1;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;text-decoration-color:currentColor;opacity:0.85}
.ticker-trend:active{opacity:1}
.ticker-trend.up{color:var(--gain)}
.ticker-trend.dn{color:var(--loss)}
.ticker-trend.flat{color:var(--sepia2);font-weight:400}
.detail-row{display:flex;align-items:center;padding:11px 14px;border-bottom:1px solid var(--parchment2)}
.detail-row:last-child{border-bottom:none}
.detail-row-label{font-size:12.5px;color:var(--sepia);width:110px;flex-shrink:0}
.detail-row-val{font-size:13px;color:var(--ink);text-align:right;flex:1}
/* Inline-editable detail inputs */
.det-val{flex:1;display:flex;justify-content:flex-end;min-width:0}
.det-input{background:transparent;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--ink);text-align:right;min-width:0;width:100%;padding:0}
.det-input::placeholder{color:var(--sepia2)}
.det-input:focus{border-bottom:1px solid var(--accent-gold);margin-bottom:-1px}
.det-select{background:transparent;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--ink);padding:0;cursor:pointer;-webkit-appearance:none;text-align:right;max-width:100%}
.det-select:focus{border-bottom:1px solid var(--accent-gold);margin-bottom:-1px}
#dd-cover-wrap{max-width:100%;overflow:hidden}
#dd-cover-wrap input,#dd-cover-wrap select{max-width:100%;width:100%}
.det-textarea{resize:none;min-height:52px;line-height:1.5}
.det-textarea:focus{border-bottom:1px solid var(--accent-gold);margin-bottom:-1px}
.detail-actions{display:flex;gap:8px;padding:12px 14px 16px;flex-shrink:0;border-top:1px solid var(--border)}
.detail-action{flex:1;padding:11px 8px;border-radius:9px;font-size:12.5px;font-weight:600;text-align:center;cursor:pointer;transition:opacity 0.15s;border:none;font-family:'DM Sans',sans-serif}
.detail-action:active{opacity:0.7}
.detail-action.primary{background:var(--accent-gold);color:var(--key-badge-text)}
.detail-action.secondary{background:var(--parchment2);color:var(--ink);border:1px solid var(--border)}
.detail-action.danger{background:transparent;color:#C9A84C;border:1px solid #C9A84C}

/* ── Inline detail photo section ────────────────────────────────────── */
.idet-photos-section{padding:12px 14px 20px;border-top:none;border-bottom:1px solid #1e2d3d}
.idet-actions-row{margin-top:4px}
.idet-photos-section .photos-add-bar{margin:0}
.idet-photos-section .detail-photo-grid{margin:0}
.idet-photos-loading{font-size:11px;color:var(--sepia);padding:4px 0}

/* ── Photo System ────────────────────────────────────────────────────── */

/* Photos section header row (title + Add link) */
.detail-section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.photo-badge{font-style:normal;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;background:var(--parchment2);border-radius:9px;font-size:10px;font-weight:600;color:var(--sepia);padding:0 5px;margin-left:5px;vertical-align:middle}

/* Compact "Add Photos" bar (no photos state) */
.photos-add-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px dashed var(--border);border-radius:var(--r);background:var(--white);cursor:pointer;transition:background 0.15s}
.photos-add-bar:active{background:var(--parchment2)}
.photos-add-bar-ico{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center}
.photos-add-bar-ico svg{width:16px;height:16px;stroke:var(--sepia);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.photos-add-bar-text{font-size:12.5px;color:var(--sepia);flex:1}
.photos-add-bar-plus{font-size:20px;color:var(--sepia2);font-weight:300;line-height:1}
/* 4-across photo grid */
.detail-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.dph-tile{position:relative;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:var(--parchment2);border:1px solid var(--border);cursor:pointer}
.dph-tile img{width:100%;height:100%;object-fit:cover;display:block}
.dph-label{position:absolute;bottom:0;left:0;right:0;padding:3px 4px;background:rgba(0,0,0,0.45);font-size:8px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;line-height:1.3}
.dph-add{display:flex;align-items:center;justify-content:center;border:1.5px dashed var(--border) !important;background:transparent !important;cursor:pointer}
.dph-add svg{width:18px;height:18px;stroke:var(--sepia2);fill:none;stroke-width:2;stroke-linecap:round}
.dph-more{display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.55) !important;border:none !important}
.dph-more-count{font-size:17px;font-weight:700;color:#fff}

/* Photo type selector bottom sheet */
.pto-preview-wrap{display:flex;align-items:center;gap:12px;padding:14px 16px 12px;flex-shrink:0;border-bottom:1px solid var(--border)}
.pto-preview-img{width:44px;height:60px;object-fit:cover;border-radius:6px;border:1px solid var(--border);flex-shrink:0}
.pto-groups{overflow-y:auto;flex:1}
.pto-group-label{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;color:var(--sepia2);padding:10px 16px 6px;background:var(--parchment);position:sticky;top:0}
.pto-type-row{padding:13px 16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--ink);cursor:pointer;transition:background 0.1s}
.pto-type-row:last-child{border-bottom:none}
.pto-type-row:active{background:var(--parchment2)}

/* Fullscreen photo viewer */
.photo-viewer{position:absolute;inset:0;background:#0d0d0d;z-index:800;display:none;flex-direction:column}
.photo-viewer.open{display:flex}
.pv-header{display:flex;align-items:center;justify-content:space-between;padding:44px 12px 8px;flex-shrink:0}
.pv-close,.pv-delete{width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0.75;border-radius:50%}
.pv-close:active,.pv-delete:active{opacity:1;background:rgba(255,255,255,0.1)}
.pv-close svg,.pv-delete svg,.pv-share svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pv-share{width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.pv-count{font-size:13px;color:rgba(255,255,255,0.6);font-variant-numeric:tabular-nums}
.pv-stage{flex:1;position:relative;display:flex;align-items:center;overflow:hidden}
.pv-img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;touch-action:none;transition:transform 0.05s linear}
.pv-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.45);border-radius:50%;cursor:pointer}
.pv-nav-prev{left:8px}
.pv-nav-next{right:8px}
.pv-nav svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.pv-footer{padding:10px 16px 28px;text-align:center;flex-shrink:0;border-top:1px solid rgba(255,255,255,0.08)}
.pv-label{font-size:13px;color:rgba(255,255,255,0.75);font-weight:500}

/* Sell flow photo grid */
.sf-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border)}
.sf-photo-item{position:relative;aspect-ratio:3/4;background:var(--parchment2);cursor:pointer;overflow:hidden}
.sf-photo-item img{width:100%;height:100%;object-fit:cover;display:block}
.sf-photo-check{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,0.8);background:rgba(0,0,0,0.2);display:flex;align-items:center;justify-content:center;transition:background 0.15s,border-color 0.15s}
.sf-photo-item.selected .sf-photo-check{background:var(--red);border-color:var(--red)}
.sf-photo-check svg{display:none;width:12px;height:12px;stroke:#fff;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sf-photo-item.selected .sf-photo-check svg{display:block}
.sf-photo-label{position:absolute;bottom:0;left:0;right:0;padding:3px 5px;background:rgba(0,0,0,0.55);font-size:9px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Insurance export row */
.insurance-row{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;transition:background 0.1s}
.insurance-row:active{background:var(--parchment2)}
.insurance-row svg{width:18px;height:18px;stroke:var(--sepia);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.insurance-row-text{flex:1}
.insurance-row-t{font-size:13px;color:var(--ink)}
.insurance-row-s{font-size:10.5px;color:var(--sepia2);margin-top:1px}
.insurance-row-badge{font-size:9px;font-weight:500;color:var(--sepia);background:var(--parchment2);padding:2px 7px;border-radius:5px;white-space:nowrap}


/* Cover image shimmer loading state */
@keyframes cv-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.cover-loading{background:linear-gradient(90deg,var(--parchment2) 25%,var(--parchment) 50%,var(--parchment2) 75%) !important;background-size:200% 100% !important;animation:cv-shimmer 1.4s ease-in-out infinite !important;font-size:0 !important}

/* ── Archive Modal ───────────────────────────────────────────────────── */
/* ── Add Comic Sheet ──────────────────────────────────────────────── */
.add-comic-sheet{position:absolute;bottom:0;left:0;right:0;background:#0d1b2a;border-radius:20px 20px 0 0;box-shadow:0 -8px 40px rgba(0,0,0,0.7);z-index:610;max-height:90%;display:flex;flex-direction:column;transform:translateY(100%);transition:transform 0.32s cubic-bezier(0.32,0.72,0,1);padding-bottom:env(safe-area-inset-bottom,0px)}
.add-comic-sheet.open{transform:translateY(0)}
.add-sheet-handle{width:36px;height:4px;background:rgba(255,255,255,0.15);border-radius:2px;margin:12px auto 0;flex-shrink:0}
#add-sheet-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
#add-sheet-content::-webkit-scrollbar{display:none}
.add-comic-sheet .sub-hdr{position:sticky;top:0;background:#0d1b2a;z-index:1;border-bottom:0.5px solid rgba(255,255,255,0.08);height:auto;padding:12px 16px;align-items:center}
.add-comic-sheet .sub-hdr-title{color:#e8dcc8}
.add-comic-sheet .back-btn{color:#c9b99a}
.add-comic-sheet .scrl{overflow-y:visible;height:auto;flex:none}
.add-comic-sheet .form-label{color:#c9b99a}
.add-comic-sheet .form-input,.add-comic-sheet .form-select,.add-comic-sheet .form-textarea{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.1);color:#e8dcc8}
.add-comic-sheet .form-input::placeholder,.add-comic-sheet .form-textarea::placeholder{color:rgba(201,185,154,0.4)}
.add-comic-sheet .form-section-label{color:#c9b99a;border-bottom-color:rgba(255,255,255,0.08)}
.add-comic-sheet .form-group{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08)}
.add-comic-sheet .sec-hdr{background:#0d1b2a}
.add-comic-sheet .sec-lbl{color:#8a9bb5}
.add-comic-sheet .sec-act{color:#c9a84c}
.add-comic-sheet .search-result{border-bottom-color:rgba(255,255,255,0.06)}
.add-comic-sheet .search-result:active{background:rgba(255,255,255,0.05)}
.add-comic-sheet .sr-title{color:#e8dcc8}
.add-comic-sheet .sr-meta{color:#8a9bb5}
.add-comic-sheet .srch-wrap{background:#0d1b2a;padding:12px 14px}
.add-comic-sheet .srch{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.1)}
.add-comic-sheet .srch input{color:#e8dcc8}
.add-comic-sheet .srch input::placeholder{color:rgba(201,185,154,0.4)}
.add-comic-sheet .srch svg{stroke:rgba(201,185,154,0.5)}
.add-comic-sheet .grade-chip{background:rgba(255,255,255,0.06);color:#c9b99a;border-color:rgba(255,255,255,0.1)}
.add-comic-sheet .grade-chip.on.green{background:#16a34a;border-color:#16a34a;color:#fff}
.add-comic-sheet .grade-chip.on.blue{background:#2563eb;border-color:#2563eb;color:#fff}
.add-comic-sheet .grade-chip.on.yellow{background:#c9a84c;border-color:#c9a84c;color:#0d1b2a}
.add-comic-sheet .grade-chip.on.red{background:#dc2626;border-color:#dc2626;color:#fff}
.add-comic-sheet .add-opt{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08);color:#e8dcc8}
.add-comic-sheet .af-hero-banner{background:rgba(201,168,76,0.1);border-color:rgba(201,168,76,0.2);color:#c9a84c}
.add-comic-sheet .af-hero-series{color:#e8dcc8}
.add-comic-sheet .af-hero-meta{color:#8a9bb5}
.add-comic-sheet .issue-pick{border-bottom-color:rgba(255,255,255,0.06);color:#e8dcc8}
.add-comic-sheet .issue-pick:active{background:rgba(255,255,255,0.05)}
.add-comic-sheet .ip-title{color:#e8dcc8}
.add-comic-sheet .ip-meta{color:#8a9bb5}
.add-comic-sheet .ip-chev svg{stroke:#8a9bb5}
.add-comic-sheet .card{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08)}
.add-comic-sheet .toggle{background:rgba(255,255,255,0.1)}
.add-comic-sheet .toggle.on{background:#c9a84c}
.add-sheet-submit{display:block;width:calc(100% - 28px);margin:16px 14px 8px;padding:15px;background:#c9a84c;color:#0d1b2a;border:none;border-radius:12px;font-size:16px;font-weight:700;letter-spacing:0.01em;cursor:pointer;-webkit-tap-highlight-color:transparent}
.add-sheet-submit:active{background:#b8963c}
#add-sheet-overlay{z-index:609;bottom:0}
/* ── Existing Bottom Sheet ────────────────────────────────────────── */
.bottom-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--parchment);border-radius:24px 24px 0 0;box-shadow:0 -8px 32px rgba(0,0,0,0.5);z-index:600;max-height:80%;display:none;flex-direction:column}
.bottom-sheet.open{display:flex}
.bs-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:12px auto 16px}
.bs-title{font-size:16px;font-weight:700;color:var(--ink);padding:0 20px 12px;border-bottom:1px solid var(--border)}
.bs-body{overflow-y:auto;padding:8px 0 24px}
.bs-body::-webkit-scrollbar{display:none}
.bs-row{display:flex;align-items:center;gap:14px;padding:13px 20px;cursor:pointer;transition:background 0.1s}
.bs-row:active{background:var(--parchment2)}
.bs-row-icon{width:36px;height:36px;border-radius:9px;background:var(--parchment2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}
.bs-row-t{font-size:13.5px;color:var(--ink)}
.bs-row-s{font-size:11px;color:var(--sepia);margin-top:2px}

/* ── Settings Sheet ──────────────────────────────────────────────────── */
.settings-sheet{position:absolute;top:0;right:0;bottom:64px;left:0;background:var(--parchment);transform:translateX(100%);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);z-index:502;display:flex;flex-direction:column}
.settings-sheet.open{transform:translateX(0)}
.settings-body{flex:1;overflow-y:auto;padding:14px 0 32px}
.settings-body::-webkit-scrollbar{display:none}

/* ── Archive view (list) ─────────────────────────────────────────────── */
.arc-row{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--parchment2);cursor:pointer;transition:background 0.1s}
.arc-row:active{background:var(--parchment2)}
.arc-row:last-child{border-bottom:none}
.arc-info{flex:1;min-width:0}
.arc-title{font-size:12.5px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arc-meta{font-size:10.5px;color:var(--sepia);margin-top:2px}
.arc-right{text-align:right;flex-shrink:0}

/* ── Archive Record detail screen ───────────────────────────────────── */
.archive-record-screen{display:flex;flex-direction:column;height:100%;background:#0d1b2a}
.arc-rec-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #1e2d3d;flex-shrink:0}
.arc-rec-back{display:flex;align-items:center;gap:4px;color:#C9A84C;font-size:14px;font-weight:600;cursor:pointer;min-width:60px}
.arc-rec-nav-title{font-size:15px;font-weight:700;color:#fff}
.arc-rec-hero{padding:20px 20px 16px;border-bottom:1px solid #1e2d3d}
.arc-rec-hero-title{color:#fff;font-size:22px;font-weight:700;margin-bottom:4px}
.arc-rec-hero-meta{color:#6b7f96;font-size:13px}
.arc-rec-badge{display:inline-flex;align-items:center;gap:6px;background:#1a2e42;border:1px solid #C9A84C;border-radius:20px;padding:4px 10px;margin-top:10px}
.arc-rec-badge span{color:#C9A84C;font-size:11px;font-weight:600;letter-spacing:0.04em}
.arc-det-section{padding:16px 16px 0}
.arc-det-section-label{font-size:9.5px;font-weight:700;letter-spacing:1px;color:#C9A84C;margin:0 0 8px}
.arc-det-panel{background:#152236;border-radius:12px;overflow:hidden}
.arc-det-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #1e2d3d}
.arc-det-row:last-child{border-bottom:none}
.arc-det-pl-row{background:#0f2035}
.arc-det-label{color:#8a9bb0;font-size:13px}
.arc-det-value{color:#fff;font-size:13px;font-weight:500}
.arc-det-value.gold{color:#C9A84C}
.arc-det-value.green{color:#4caf72;font-weight:600}
.arc-det-value.red{color:#e05c5c;font-weight:600}
.arc-det-value.muted{color:#6b7f96}
.btn-revert-collection{display:block;width:calc(100% - 40px);margin:16px 20px 8px;background:transparent;border:1px solid #C9A84C;border-radius:12px;padding:14px;color:#C9A84C;font-size:15px;font-weight:600;cursor:pointer;text-align:center;font-family:'DM Sans',sans-serif}
.btn-revert-collection:active{opacity:0.75}
.btn-archive-delete{display:block;width:calc(100% - 40px);margin:0 20px;background:transparent;border:1px solid #3a1a1a;border-radius:12px;padding:12px;color:#e05c5c;font-size:13px;font-weight:500;cursor:pointer;text-align:center;font-family:'DM Sans',sans-serif}
.btn-archive-delete:active{opacity:0.75}
.arc-price{font-size:14px;font-weight:600;color:var(--ink)}
.arc-roi{font-size:10px;font-weight:500;margin-top:2px}

/* ── Empty state ─────────────────────────────────────────────────────── */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 32px;text-align:center;flex:1}
.empty-ico{font-size:48px;margin-bottom:16px;opacity:0.4}
.empty-t{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px}
.empty-s{font-size:13px;color:var(--sepia);line-height:1.5;margin-bottom:20px}
.empty-btn{padding:10px 24px;background:var(--accent-gold);color:var(--key-badge-text);border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;border:none;font-family:'DM Sans',sans-serif}
.empty-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:280px;margin-top:4px}
.empty-action-btn{display:flex;flex-direction:column;align-items:center;gap:7px;padding:16px 12px;border-radius:14px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:opacity 0.15s}
.empty-action-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.empty-action-btn.primary{background:var(--accent-gold);color:var(--key-badge-text)}
.empty-action-btn.primary:active{opacity:0.8}
.empty-action-btn.secondary{background:var(--parchment2);color:var(--ink);border:1px solid var(--border)}
.empty-action-btn.secondary:active{background:var(--border)}

/* ── Toast notification ──────────────────────────────────────────────── */
.toast{position:absolute;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--bg-card-elevated);color:var(--text-primary);border:1px solid var(--border-primary);font-size:12.5px;font-weight:500;padding:9px 18px;border-radius:20px;white-space:nowrap;opacity:0;transition:all 0.25s;z-index:800;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── Utility ─────────────────────────────────────────────────────────── */
.m14{margin:0 14px}
.mt8{margin-top:8px}
.mt14{margin-top:14px}
.pb12{padding-bottom:12px}
.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--sepia2);font-size:13px}
.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--red);border-radius:50%;animation:spin 0.6s linear infinite;margin-right:8px}
@keyframes spin{to{transform:rotate(360deg)}}
.divider{height:1px;background:var(--border);margin:0 14px}
.spacer{height:20px}

/* ── Collection Import ────────────────────────────────────────────────── */
.import-source-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--white);border-radius:var(--r);border:1px solid var(--border);margin-bottom:10px;cursor:pointer;transition:background 0.15s,border-color 0.15s}
.import-source-card:active{background:var(--parchment2)}
.import-source-icon{font-size:24px;flex-shrink:0;width:36px;text-align:center}
.import-source-body{flex:1;min-width:0}
.import-source-name{font-size:14px;font-weight:600;color:var(--ink)}
.import-source-hint{font-size:11px;color:var(--sepia);margin-top:3px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.import-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 20px;background:var(--parchment2);border:1.5px dashed var(--border);border-radius:var(--r);cursor:pointer;transition:border-color 0.2s,background 0.2s;text-align:center}
.import-upload-zone:active{background:var(--border)}
.import-upload-icon{color:var(--sepia2);margin-bottom:10px;width:40px;height:40px}
.import-upload-label{font-size:14px;font-weight:600;color:var(--ink)}
.import-upload-sub{font-size:11px;color:var(--sepia2);margin-top:4px;line-height:1.4}
/* ── Import drop zone (redesigned) ───────────────────────────────────── */
.import-drop-zone{border:1.5px dashed rgba(201,168,76,0.35);border-radius:16px;padding:36px 24px;text-align:center;cursor:pointer;margin:8px 0;background:rgba(201,168,76,0.04);display:flex;flex-direction:column;align-items:center;gap:8px}
.import-drop-zone:active{background:rgba(201,168,76,0.08)}
.import-upload-icon{color:var(--accent-gold);margin-bottom:4px;line-height:0}
.import-upload-icon svg{display:block;stroke:var(--accent-gold);fill:none}
.import-cta-text{font-size:17px;font-weight:600;color:var(--text-primary)}
.import-sub-text{font-size:13px;color:var(--sepia)}
.import-helper-text{font-size:12px;color:var(--sepia);opacity:0.7}
.import-privacy-text{font-size:11px;color:var(--accent-gold);opacity:0.8;margin-top:4px}
.import-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px -14px 0;padding:0 14px}
.import-preview-table{border-collapse:collapse;font-size:11px;min-width:100%;white-space:nowrap}
.import-preview-table th{background:var(--parchment2);color:var(--sepia);font-weight:600;padding:7px 10px;border:1px solid var(--border);text-align:left}
.import-preview-table td{padding:6px 10px;border:1px solid var(--border);color:var(--ink);max-width:140px;overflow:hidden;text-overflow:ellipsis}
.import-map-row{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--parchment2)}
.import-map-row:last-child{border-bottom:none}
.import-map-csv{font-size:12px;font-weight:500;color:var(--sepia);flex:0 0 100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.import-map-csv.matched{color:var(--ink)}
.import-map-arrow{font-size:13px;color:var(--sepia2);flex-shrink:0;width:14px;text-align:center}
.import-map-arrow.matched{color:var(--gain)}
.import-map-select{flex:1;min-width:0;font-size:12px}
.import-progress-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:48px 32px;text-align:center}
.import-spinner{width:44px;height:44px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--red);animation:spin 0.8s linear infinite;margin-bottom:20px}
.import-progress-label{font-size:15px;font-weight:600;color:var(--ink)}
.import-progress-sub{font-size:12px;color:var(--sepia);margin-top:8px}
.import-success-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:48px 32px;text-align:center}
.import-success-icon{width:64px;height:64px;background:var(--gain-bg);border:1.5px solid var(--gain-border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--gain);margin-bottom:16px}
.import-success-count{font-family:'Yellowtail',cursive;font-size:56px;color:var(--ink);line-height:1}
.import-success-label{font-size:16px;font-weight:600;color:var(--ink);margin-top:4px}
.import-success-notes{font-size:12px;color:var(--sepia);margin-top:12px;line-height:1.6}
#import-sheet{display:flex;flex-direction:column}
#import-sheet-content{display:flex;flex-direction:column;flex:1;overflow:hidden}
#enrich-sheet{display:flex;flex-direction:column}

/* ── Portfolio Search Bar ─────────────────────────────────────────────── */
.p-srch-wrap{position:relative;z-index:60;flex-shrink:0}
.p-srch-dropdown{display:none;position:absolute;top:calc(100% - 2px);left:14px;right:14px;background:var(--port-dropdown-bg);border:1px solid var(--port-dropdown-border);border-radius:var(--r);box-shadow:0 8px 32px rgba(0,0,0,0.4);z-index:200;max-height:340px;overflow-y:auto}
.p-srch-dropdown.open{display:block}
.p-srch-dropdown::-webkit-scrollbar{display:none}
.p-srch-result{display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid var(--port-top10-border);cursor:pointer;transition:background 0.1s}
.p-srch-result:last-child{border-bottom:none}
.p-srch-result:active{background:var(--port-cmic-hover)}
.p-srch-result-info{flex:1;min-width:0}
.p-srch-result-title{font-size:13.5px;font-weight:600;color:var(--port-top10-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-srch-result-meta{font-size:11px;color:var(--port-top10-meta);margin-top:2px}
.p-srch-result-val{font-size:13.5px;font-weight:600;color:var(--port-top10-val);flex-shrink:0;margin-left:12px;white-space:nowrap}
.p-srch-empty{padding:22px 14px;text-align:center;color:rgba(255,255,255,0.4);font-size:12.5px}

/* ── Radar Buttons (missing rows) ────────────────────────────────────── */
.missing-btn-group{display:flex;align-items:center;gap:6px}
.missing-watch-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;padding:13px 10px;-webkit-tap-highlight-color:transparent}
.missing-watch-btn:hover{opacity:0.8}
.missing-watch-btn:active{opacity:0.6}

/* ── Buy Tab ──────────────────────────────────────────────────────────── */
.buy-good-card{margin:14px 14px 0;padding:16px 18px 0;border-radius:var(--r);background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow);border-left:3px solid var(--gain);cursor:pointer;overflow:hidden;transition:background 0.12s}
.buy-good-card:active{background:var(--parchment)}
.buy-good-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--sepia);margin-bottom:8px}
.buy-good-title{font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buy-good-meta{font-size:11.5px;color:var(--sepia);margin-top:2px}
.buy-good-price{font-family:'Yellowtail',cursive;font-size:28px;color:var(--ink);line-height:1.1;margin-top:8px}
.buy-good-signal{font-size:11.5px;font-weight:600;color:var(--gain);margin-top:3px}
.buy-good-footer{font-size:12.5px;font-weight:600;color:var(--red);padding:10px 0;margin-top:10px;border-top:1px solid var(--parchment2);text-align:right}

.buy-alert-row{display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid var(--parchment2);cursor:pointer;transition:background 0.1s}
.buy-alert-row:last-child{border-bottom:none}
.buy-alert-row:active{background:var(--parchment)}
.buy-alert-tag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;padding:2px 6px;border-radius:4px;flex-shrink:0;margin-right:10px;white-space:nowrap}
.buy-alert-tag.low{background:var(--gain-bg);color:var(--gain);border:0.5px solid var(--gain-border)}
.buy-alert-tag.drop{background:var(--loss-bg);color:var(--loss);border:0.5px solid rgba(224,90,90,0.3)}
.buy-alert-info{flex:1;min-width:0}
.buy-alert-title{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buy-alert-meta{font-size:10.5px;color:var(--sepia);margin-top:1px}
.buy-alert-link{font-size:11px;font-weight:600;color:var(--red);flex-shrink:0;margin-left:10px;white-space:nowrap}

.wl-sort-row{display:flex;gap:6px;padding:8px 14px 0;overflow-x:auto;flex-shrink:0}
.wl-sort-row::-webkit-scrollbar{display:none}

.wl-row{display:flex;align-items:center;padding:11px 14px;border-bottom:1px solid var(--parchment2);transition:background 0.1s;position:relative}
.wl-row:last-child{border-bottom:none}
.wl-info{flex:1;min-width:0}
.wl-title{font-size:13.5px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wl-variant-name{font-weight:400;color:var(--sepia)}
.wl-meta{font-size:11px;color:var(--sepia);margin-top:2px}
.wl-right{display:flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0;margin-left:10px}
.wl-ebay-link{font-size:11px;font-weight:500;color:var(--red);cursor:pointer;white-space:nowrap}
.wl-menu-btn{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--sepia);font-size:18px;font-weight:700;border-radius:50%;margin-left:4px;transition:background 0.1s;line-height:1;letter-spacing:1px}
.wl-menu-btn:active{background:var(--parchment2)}
.wl-dropdown{position:absolute;right:10px;top:calc(100% - 8px);background:var(--white);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.4);z-index:300;min-width:190px;overflow:hidden;display:none}
.wl-dropdown.open{display:block}
.wl-dropdown-item{display:flex;align-items:center;gap:10px;padding:0 14px;height:44px;cursor:pointer;transition:background 0.1s;border-bottom:1px solid var(--parchment2)}
.wl-dropdown-item:last-child{border-bottom:none}
.wl-dropdown-item:active{background:var(--parchment2)}
.wl-dropdown-item{color:var(--ink)}
.wl-dropdown-item svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.wl-dropdown-item span{font-size:13px;font-weight:500;color:inherit}
.wl-dropdown-item.danger{color:var(--loss)}

.buy-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center}
.buy-empty-ico{font-size:40px;margin-bottom:12px}
.buy-empty-t{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:6px}
.buy-empty-s{font-size:12.5px;color:var(--sepia);line-height:1.5;margin-bottom:16px}

/* ── Out This Week ───────────────────────────────────────────────────── */
.otw-row{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid var(--parchment2);cursor:pointer;transition:background 0.1s;gap:10px}
.otw-row:last-child{border-bottom:none}
.otw-row:active{background:var(--parchment)}
.otw-info{flex:1;min-width:0}
.otw-title{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.otw-sub{font-size:11px;color:var(--sepia);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.otw-var-suffix{color:var(--accent-gold);font-weight:600}
.otw-right{display:flex;align-items:center;flex-shrink:0}
#root-buy .otw-row .otw-add-btn{-webkit-appearance:none;appearance:none;background:none;border:none;padding:10px 8px;color:#C9A84C;font-size:23px;font-weight:300;font-family:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0;-webkit-tap-highlight-color:transparent;outline:none;line-height:1}
#root-buy .otw-row .otw-add-btn:hover{opacity:0.8}
#root-buy .otw-row .otw-add-btn:active{opacity:0.6}
.otw-footer{font-size:10.5px;color:var(--sepia);padding:8px 14px;border-top:1px solid var(--parchment2);text-align:center}

/* ── OTW variant expansion ──────────────────────────────────────────── */
.otw-right{gap:6px}
.otw-var-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;padding:3px 8px;border-radius:20px;background:var(--accent-gold-dim);border:0.5px solid rgba(201,168,76,0.3);color:var(--accent-gold);cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:inherit;-webkit-tap-highlight-color:transparent}
.otw-var-badge:active{opacity:0.8}
.otw-var-chev{display:inline-block;transition:transform 0.2s;font-style:normal}
.otw-var-chev.open{transform:rotate(90deg)}
.otw-var-list{background:var(--bg-secondary);border-top:1px solid var(--parchment2)}
.otw-var-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--parchment2)}
.otw-var-name{flex:1;font-size:13px;font-weight:600;color:rgba(255,255,255,0.85);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.otw-var-price{font-size:11px;font-weight:500;color:rgba(255,255,255,0.85);flex-shrink:0}
.otw-var-wish{display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;padding:11px 10px;-webkit-tap-highlight-color:transparent}
.otw-var-wish:hover{opacity:0.8}
.otw-var-wish:active{opacity:0.6}
.otw-var-add-btn{-webkit-appearance:none;appearance:none;background:none;border:none;padding:10px 8px;color:#C9A84C;font-size:23px;font-weight:300;font-family:inherit;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;outline:none;line-height:1}
.otw-owned-badge{font-size:10px;font-weight:700;color:#C9A84C;letter-spacing:0.5px}
.otw-owned-check{color:#C9A84C;font-size:20px;font-weight:300;padding:8px;display:inline-block;line-height:1;flex-shrink:0}

/* ── OTW inline add panel (Option B dark, matches idet-panel) ─────────── */
.otw-add-panel{background:#0d1b2a;border-top:none;border-bottom:0.5px solid #1e2d3d;overflow:hidden}
.otw-af-sec-hdr{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#C9A84C;padding:4px 12px;background:#0d1b2a;border-bottom:0.5px solid #1e2d3d}
.otw-af-sec-hdr+.otw-af-fields,.otw-af-sec-hdr+.otw-af-info{border-top:none}
.otw-af-fields{border-top:0.5px solid #1e2d3d}
.otw-af-row{display:flex;align-items:center;padding:6px 12px;border-bottom:0.5px solid #1e2d3d}
.otw-af-row:last-child{border-bottom:none}
.otw-af-label{font-size:12px;font-weight:500;color:#ffffff;width:100px;flex-shrink:0}
.otw-af-val{font-size:12px;color:#C9A84C;flex:1;text-align:right}
.otw-af-input{background:transparent;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:12px;color:#C9A84C;text-align:right;flex:1;padding:0;min-width:0}
.otw-af-input:focus{border-bottom:1px solid #C9A84C;margin-bottom:-1px}
.otw-af-input::placeholder{color:#3a4a5a}
.otw-af-select{background:transparent;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:12px;color:#C9A84C;padding:0;-webkit-appearance:none;text-align:right;flex:1;cursor:pointer}
.otw-af-select:focus{border-bottom:1px solid #C9A84C;margin-bottom:-1px}
.otw-af-textarea{resize:none;min-height:56px;text-align:left}
.otw-af-info .otw-af-row{background:rgba(255,255,255,0.03)}
.otw-af-actions{padding:10px 12px 12px}
.otw-af-submit{width:100%;background:#C9A84C;color:#0d1b2a;border:none;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;-webkit-tap-highlight-color:transparent;text-align:center}
.otw-af-submit:active{opacity:0.85}
.otw-af-cancel{display:block;width:100%;background:transparent;border:1px solid #C9A84C;color:#C9A84C;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;text-align:center;-webkit-tap-highlight-color:transparent;margin-top:8px}
.otw-af-cancel:active{opacity:0.6}

.buy-platforms{margin:0 14px 24px}
.buy-platform-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--parchment2);cursor:pointer}
.buy-platform-row:last-child{border-bottom:none}
.buy-platform-name{font-size:13px;font-weight:500;color:var(--ink)}
.buy-platform-hint{font-size:10.5px;color:var(--sepia);margin-top:1px}
.buy-platform-link{font-size:11px;font-weight:500;color:var(--red)}

.wl-export-btn{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;color:var(--sepia);cursor:pointer;padding:4px 10px;background:var(--parchment2);border-radius:20px}
.wl-export-btn svg{width:13px;height:13px;stroke:var(--sepia);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#enrich-sheet-content{display:flex;flex-direction:column;flex:1;overflow:hidden}


/* ── Cover Scanner Overlay ─────────────────────────────────────────────── */
#scanner-overlay{position:fixed;inset:0;z-index:100;background:#000;display:none;flex-direction:column}
#scanner-camera-view{position:relative;flex:1;overflow:hidden}
#scanner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scanner-ui-layer{position:absolute;inset:0;display:flex;flex-direction:column}
.scanner-top-row{padding:16px 16px 0;display:flex;align-items:center}
.scanner-cancel-btn{width:40px;height:40px;background:rgba(0,0,0,0.5);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.scanner-cancel-btn svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2.5;stroke-linecap:round}
.scanner-middle{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.scanner-guide{width:min(70%,240px);aspect-ratio:0.72;border-radius:8px;position:relative;box-shadow:0 0 0 9999px rgba(0,0,0,0.55)}
.sc-corner{position:absolute;width:24px;height:24px;border-color:var(--accent-gold);border-style:solid}
.sc-corner.sc-tl{top:-2px;left:-2px;border-width:3px 0 0 3px;border-radius:5px 0 0 0}
.sc-corner.sc-tr{top:-2px;right:-2px;border-width:3px 3px 0 0;border-radius:0 5px 0 0}
.sc-corner.sc-bl{bottom:-2px;left:-2px;border-width:0 0 3px 3px;border-radius:0 0 0 5px}
.sc-corner.sc-br{bottom:-2px;right:-2px;border-width:0 3px 3px 0;border-radius:0 0 5px 0}
.scanner-instruction{color:rgba(255,255,255,0.8);font-size:13px;text-align:center}
.scanner-bottom-row{padding:0 0 44px;display:flex;align-items:center;justify-content:center;gap:40px}
.scanner-lib-btn{width:50px;height:50px;background:rgba(255,255,255,0.18);border:2px solid rgba(255,255,255,0.45);border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.scanner-lib-btn svg{width:22px;height:22px;stroke:#fff;fill:none}
.scanner-capture-btn{width:72px;height:72px;background:var(--accent-gold);border:4px solid rgba(255,255,255,0.3);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,0.45)}
.scanner-capture-btn svg{width:30px;height:30px;stroke:#fff;fill:none}
/* Processing state */
#scanner-processing{flex:1;position:relative;display:flex;align-items:center;justify-content:center}
#scanner-proc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scanner-proc-overlay{position:relative;z-index:1;background:rgba(13,27,42,0.95);padding:32px 40px;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:12px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.scanner-proc-title{font-size:16px;font-weight:700;color:var(--text-primary)}
.scanner-proc-sub{font-size:13px;color:var(--text-secondary)}
/* Camera permission error */
.scanner-perm-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;gap:14px}
.scanner-perm-icon{font-size:48px}
.scanner-perm-title{font-size:18px;font-weight:700;color:#fff}
.scanner-perm-sub{font-size:14px;color:rgba(255,255,255,0.72);line-height:1.5}
.scanner-perm-btn{background:var(--accent-gold);color:var(--key-badge-text);font-size:15px;font-weight:600;padding:14px 32px;border-radius:12px;cursor:pointer;margin-top:6px}
/* Scan match cards (possible matches screen) */
.scan-match-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);margin-bottom:10px}
.scan-match-thumb{width:60px;height:80px;object-fit:cover;border-radius:4px;flex-shrink:0;background:var(--bg-secondary)}
.scan-match-thumb-ph{width:60px;height:80px;background:var(--bg-secondary);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}
.scan-match-info{flex:1;min-width:0}
.scan-match-title{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3;margin-bottom:3px}
.scan-match-meta{font-size:11px;color:var(--text-secondary);line-height:1.4}
.scan-match-select{background:var(--accent-gold);color:var(--key-badge-text);font-size:12px;font-weight:600;padding:7px 14px;border-radius:8px;flex-shrink:0;cursor:pointer;white-space:nowrap}
.scan-none-link{text-align:center;padding:16px;font-size:14px;color:var(--text-secondary);cursor:pointer}
/* Scan banner (shown at top of add form after successful scan) */
.scan-banner{display:flex;align-items:center;gap:8px;background:var(--accent-gold);color:var(--key-badge-text);font-size:13px;font-weight:600;padding:10px 16px;margin:0 14px 12px;border-radius:var(--r)}
.scan-banner svg{width:16px;height:16px;stroke:var(--key-badge-text);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
/* Cover preview + use-photo checkbox in add form */
.scan-cover-preview{margin:0 0 12px;display:flex;flex-direction:column;gap:10px}
.scan-cover-img{width:100%;max-height:200px;object-fit:contain;border-radius:8px;background:var(--parchment2)}
.scan-photo-check-row{display:flex;align-items:center;gap:10px;padding:4px 0;cursor:pointer}
.scan-check-box{width:20px;height:20px;border:2px solid var(--border);border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all 0.15s;background:var(--bg-card)}
.scan-check-box.on{background:var(--accent-gold);border-color:var(--accent-gold)}
.scan-check-box.on::after{content:'';width:10px;height:6px;border-left:2px solid var(--key-badge-text);border-bottom:2px solid var(--key-badge-text);transform:rotate(-45deg) translate(1px,-1px);display:block}
.scan-check-label{font-size:13px;color:var(--text-primary);line-height:1.4}
/* Scan error screen */
.scan-error-body{display:flex;flex-direction:column;align-items:center;padding:56px 24px;text-align:center;gap:16px}
.scan-error-icon{font-size:52px}
.scan-error-msg{font-size:15px;color:var(--text-primary);line-height:1.55;max-width:300px}
.scan-btn-primary{background:var(--accent-gold);color:var(--key-badge-text);font-size:15px;font-weight:600;padding:14px 0;border-radius:12px;cursor:pointer;width:100%;max-width:280px;text-align:center}
.scan-btn-secondary{font-size:14px;color:var(--text-secondary);padding:8px;cursor:pointer}

/* ── Variant badge variants ─────────────────────────────────────────────── */
.variant-badge.ratio{background:rgba(180,80,0,0.12);border-color:rgba(180,80,0,0.38);color:#7a3200}

/* ── Variant Picker Sheet ───────────────────────────────────────────────── */
.vp-header{padding:14px 20px 10px;border-bottom:1px solid var(--border)}
.vp-title{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:3px}
.vp-sub{font-size:13px;color:var(--sepia)}
.vp-list{overflow-y:auto;-webkit-overflow-scrolling:touch}
.vp-list::-webkit-scrollbar{display:none}
.vp-row{display:flex;align-items:center;gap:10px;padding:14px 20px;cursor:pointer;border-bottom:1px solid var(--border);transition:background 0.1s}
.vp-row:active{background:var(--parchment2)}
.vp-row:last-child{border-bottom:none}
.vp-row-info{flex:1;min-width:0}
.vp-row-title{font-size:14px;font-weight:500;color:var(--ink)}
.vp-row-meta{font-size:11px;color:var(--sepia);margin-top:2px}
.vp-cancel{padding:15px 20px 28px;text-align:center;font-size:15px;color:var(--ink);background:var(--parchment2);border-top:1px solid var(--border);cursor:pointer;font-weight:500}
.vp-cancel:active{background:var(--border)}

/* ── Onboarding Overlay ──────────────────────────────────────────────────── */
.onboarding-overlay{position:fixed;top:0;left:0;width:100%;height:100dvh;min-height:-webkit-fill-available;background:#0d1b2a;z-index:9999;display:flex;flex-direction:column;overflow:hidden;transition:opacity 0.4s ease}
.onboarding-overlay.hidden{opacity:0;pointer-events:none}
.ob-skip{position:absolute;top:44px;right:18px;font-size:13px;color:var(--text-secondary);cursor:pointer;padding:6px 8px;z-index:10}
.ob-track{flex:1;display:flex;overflow:hidden;position:relative}
.ob-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 28px 24px;transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);transform:translateX(100%)}
.ob-screen.active{transform:translateX(0)}
.ob-screen.past{transform:translateX(-100%)}
/* Screen 1 */
.ob-wordmark{display:flex;align-items:center;gap:0;margin-bottom:24px}
.ob-wordmark-9{font-size:64px;font-weight:900;color:var(--accent-gold);line-height:1;font-family:'DM Sans',sans-serif}
.ob-wordmark-div{width:2px;height:50px;background:var(--accent-gold);opacity:0.5;margin:0 10px}
.ob-wordmark-eight{font-size:40px;font-weight:300;color:var(--text-primary);line-height:1;font-family:'DM Sans',sans-serif}
.ob-tagline{font-size:20px;font-weight:600;color:var(--text-primary);text-align:center;margin-bottom:12px;letter-spacing:-0.2px}
.ob-sub{font-size:14px;color:var(--text-secondary);text-align:center;line-height:1.5;max-width:280px}
/* Screen 2 */
.ob-headline{font-size:22px;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:8px;letter-spacing:-0.3px}
.ob-intro{font-size:14px;color:var(--text-secondary);text-align:center;margin-bottom:28px;line-height:1.5}
.ob-cards{display:flex;flex-direction:column;gap:12px;width:100%}
.ob-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:14px;padding:16px;display:flex;gap:14px;align-items:flex-start}
.ob-card-icon{font-size:24px;flex-shrink:0;margin-top:1px}
.ob-card-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:3px}
.ob-card-desc{font-size:12px;color:var(--text-secondary);line-height:1.4}
/* Screen 3 */
.ob-cta-title{font-size:22px;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:10px;letter-spacing:-0.3px}
.ob-cta-sub{font-size:14px;color:var(--text-secondary);text-align:center;margin-bottom:32px;line-height:1.5;max-width:280px}
.ob-btn-primary{width:100%;padding:16px;background:var(--accent-gold);border:none;border-radius:12px;font-size:16px;font-weight:700;color:#0a1520;cursor:pointer;margin-bottom:14px;font-family:'DM Sans',sans-serif;letter-spacing:0.1px}
.ob-btn-primary:active{opacity:0.88}
.ob-btn-secondary{font-size:14px;color:var(--accent-gold);cursor:pointer;text-align:center;padding:8px}
.ob-privacy{font-size:11px;color:var(--text-tertiary);text-align:center;margin-top:24px}
/* Dots + nav */
.ob-footer{padding:20px 28px 32px;display:flex;flex-direction:column;align-items:center;gap:16px;flex-shrink:0}
.ob-dots{display:flex;gap:7px}
.ob-dot{width:7px;height:7px;border-radius:50%;background:var(--border-secondary);transition:background 0.25s,width 0.25s}
.ob-dot.active{background:var(--accent-gold);width:20px;border-radius:4px}
.ob-back{font-size:13px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;visibility:hidden}
.ob-back.visible{visibility:visible}

/* ── Beta Password Gate ──────────────────────────────────────────────── */
.beta-gate{position:fixed;top:0;left:0;width:100%;height:100dvh;min-height:-webkit-fill-available;background:#0d1117;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 28px;box-sizing:border-box;transition:opacity 0.4s ease}
.beta-gate.hidden{opacity:0;pointer-events:none}
.beta-gate-logo{display:flex;align-items:center;gap:0;margin-bottom:10px}
.beta-gate-logo-9{font-size:64px;font-weight:900;color:var(--accent-gold);line-height:1;font-family:'DM Sans',sans-serif}
.beta-gate-logo-div{width:2px;height:50px;background:var(--accent-gold);opacity:0.5;margin:0 10px}
.beta-gate-logo-eight{font-size:40px;font-weight:300;color:var(--text-primary);line-height:1;font-family:'DM Sans',sans-serif}
.beta-gate-subtitle{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:44px}
.beta-gate-form{display:flex;flex-direction:column;align-items:center;width:100%;max-width:280px}
.beta-gate-input{width:100%;padding:14px 16px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:12px;color:var(--text-primary);font-size:16px;font-family:'DM Sans',sans-serif;outline:none;margin-bottom:10px;box-sizing:border-box;text-align:center;letter-spacing:0.5px;-webkit-appearance:none}
.beta-gate-input:focus{border-color:rgba(201,168,76,0.5);background:rgba(255,255,255,0.08)}
.beta-gate-error{font-size:12px;color:#e05555;height:14px;margin-bottom:10px;text-align:center;opacity:0;transition:opacity 0.2s;align-self:center}
.beta-gate-error.show{opacity:1}
.beta-gate-btn{width:100%;padding:15px;background:var(--accent-gold);border:none;border-radius:12px;font-size:15px;font-weight:700;color:#0a1520;cursor:pointer;font-family:'DM Sans',sans-serif;margin-bottom:24px;letter-spacing:0.1px}
.beta-gate-btn:active{opacity:0.88}
.beta-gate-link{font-size:12.5px;color:var(--text-secondary);cursor:default;opacity:0.6}
@keyframes beta-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-9px)}40%{transform:translateX(9px)}60%{transform:translateX(-6px)}80%{transform:translateX(5px)}}
.beta-gate-form.shake{animation:beta-shake 0.42s ease}

/* ── Market Tab ──────────────────────────────────────────────────────── */
.mkt-connect-banner{margin:14px 14px 0;padding:14px 16px;border-radius:14px;border:1px solid rgba(201,168,76,0.35);background:rgba(201,168,76,0.06);display:flex;align-items:center;justify-content:space-between;gap:12px}
.mkt-connect-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.mkt-plug-ico{font-size:22px;flex-shrink:0}
.mkt-connect-title{font-size:13px;font-weight:600;color:var(--text-primary)}
.mkt-connect-sub{font-size:11px;color:var(--text-secondary);margin-top:1px}
.mkt-connect-btn{font-size:12.5px;font-weight:600;color:var(--accent-gold);white-space:nowrap;cursor:pointer;padding:7px 11px;border-radius:8px;background:rgba(201,168,76,0.1);flex-shrink:0}
.mkt-row{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 16px;gap:12px}
.mkt-row+.mkt-row{border-top:1px solid var(--border-primary)}
.mkt-info{flex:1;min-width:0}
.mkt-title{font-size:13.5px;font-weight:600;color:var(--text-primary);margin-bottom:2px}
.mkt-meta{font-size:11.5px;color:var(--text-secondary);margin-bottom:5px}
.mkt-price{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;text-align:right;flex-shrink:0}
.mkt-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}
.mkt-right .mkt-price{font-size:13.5px}
.mkt-profit{font-size:11.5px;font-weight:600}
.mkt-profit.gain{color:var(--gain)}
.mkt-profit.loss{color:var(--loss)}
.badge.mkt-transit{background:rgba(96,165,250,0.12);color:#60a5fa}

/* ── Responsive: hide phone frame on mobile ─────────────────────────── */
@media (max-width:767px){
  html,body{display:block;width:100%;padding:0;min-height:100dvh}
  .phone{width:100%;max-width:100%;height:100dvh;min-height:-webkit-fill-available;border-radius:0;box-shadow:none}
  .phone::before{display:none}
}

/* ── Archive Disposition Sheet ───────────────────────────────────────── */
#archive-sheet{position:absolute;inset:0;z-index:1000;display:none;flex-direction:column;justify-content:flex-end}
.sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.6);z-index:0}
.sheet-panel{position:relative;z-index:1;background:#152236;border-radius:20px 20px 0 0;padding:0 0 40px;max-height:90%;overflow-y:auto;width:100%}
.sheet-handle{width:36px;height:4px;background:rgba(255,255,255,0.15);border-radius:2px;margin:12px auto 0}
.sheet-header-row{padding:14px 18px 4px}
.sheet-title{font-size:16px;font-weight:700;color:#fff;margin:0}
.sheet-subtitle{color:#6b7f96;font-size:13px;margin:2px 0 0}
.sheet-body{padding:12px 18px 32px}
#archive-sheet .sheet-header-row{padding:12px 16px 10px;border-bottom:1px solid #1e2d3d}
#archive-sheet .sheet-body{padding:12px 16px 20px}
.section-label{font-size:9.5px;font-weight:700;letter-spacing:1px;color:#C9A84C;margin:0 0 8px}
.disposition-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.disposition-row{background:#0f2035;border:1px solid #1e2d3d;border-radius:10px;padding:10px 14px;cursor:pointer;transition:border-color 0.15s}
.disposition-row.active{background:#1a2e42;border-color:#C9A84C}
.disposition-label{display:block;color:#c8d8e8;font-size:13px;font-weight:600}
.disposition-row.active .disposition-label{color:#fff}
.disposition-sub{display:block;color:#6b7f96;font-size:11px;margin-top:1px}
.sale-details-panel{background:#1a2837;border:1px solid #1e2d3d;border-radius:10px;padding:10px 14px;margin-bottom:12px}
.sale-details-panel .section-label{margin-bottom:10px}
.sale-details-panel .det-label{color:#ffffff;font-size:13px;white-space:nowrap}
.sale-details-panel .detail-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #1e2d3d}
.sale-details-panel .detail-row:last-child{border-bottom:none}
#archive-sale-price{background:transparent;border:none;color:#C9A84C;font-size:13px;font-weight:500;text-align:right;outline:none;width:120px;font-family:inherit}
#archive-sale-price::placeholder{color:#3a5068}
#archive-sale-price::-webkit-inner-spin-button,#archive-sale-price::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#archive-sale-venue{background:transparent;border:none;color:#C9A84C;font-size:13px;font-weight:500;outline:none;font-family:inherit;cursor:pointer;text-align:right;text-align-last:right;direction:rtl;flex:1}
.btn-gold{display:block;width:100%;padding:14px;background:#C9A84C;color:#0a1628;font-size:15px;font-weight:700;border:none;border-radius:12px;cursor:pointer;font-family:'DM Sans',sans-serif;margin-bottom:10px}
.btn-gold:active{opacity:0.85}
.btn-ghost-gold{display:block;width:100%;padding:13px;background:transparent;color:#C9A84C;font-size:15px;font-weight:600;border:1.5px solid #C9A84C;border-radius:12px;cursor:pointer;font-family:'DM Sans',sans-serif}
.btn-ghost-gold:active{opacity:0.75}

/* ── Collection Header Redesign ──────────────────────────────────────── */
.collection-header{background:#0d1b2a;position:sticky;top:0;z-index:100}
.collection-stats{text-align:center;padding:6px 16px 8px;color:#C9A84C;font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase}
.collection-search-row{padding:0 16px 10px}
.collection-search-bar{background:#152236;border-radius:10px;display:flex;align-items:center;gap:8px;padding:10px 12px}
.collection-search-bar i{color:#6b7f96;font-size:16px}
.collection-search-bar input{background:transparent;border:none;outline:none;color:#fff;font-size:14px;font-family:inherit;width:100%}
.collection-search-bar input::placeholder{color:#3a5068}
.collection-seg-row{display:flex;padding:0 16px}
.collection-seg{flex:1;text-align:center;padding:8px 0;font-size:13px;font-weight:600;color:#6b7f96;border-bottom:2px solid transparent;cursor:pointer;transition:color 0.15s,border-color 0.15s}
.collection-seg.active{color:#C9A84C;border-bottom-color:#C9A84C}
.collection-seg-divider{height:1px;background:#1e2d3d;margin-bottom:10px}
.collection-controls{display:flex;align-items:center;justify-content:space-between;padding:0 16px 10px}
.collection-controls-left{color:#8a9bb0;font-size:11px;font-weight:600;letter-spacing:0.06em}
.collection-controls-right{display:flex;align-items:center;gap:6px}
.show-missing-row{display:flex;align-items:center;gap:6px;margin-right:4px}
.show-missing-label{color:#6b7f96;font-size:11px;font-weight:500;letter-spacing:0.05em}
.toggle-track{width:32px;height:18px;border-radius:9px;background:#1e2d3d;position:relative;cursor:pointer;transition:background 0.2s;flex-shrink:0}
.toggle-track.on{background:#C9A84C}
.toggle-thumb{width:14px;height:14px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform 0.2s;box-shadow:0 1px 3px rgba(0,0,0,0.2)}
.toggle-track.on .toggle-thumb{transform:translateX(14px)}
.icon-btn{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6b7f96;font-size:16px;cursor:pointer;transition:color 0.15s,background 0.15s;background:#152236;border:1px solid #1e2d3d}
.icon-btn.active{color:#C9A84C;border-color:#C9A84C;background:#1a2e42}
.controls-right-btns{display:flex;gap:6px}
.ctrl-btn{display:flex;align-items:center;gap:5px;background:#152236;border:1px solid #1e2d3d;border-radius:8px;padding:6px 10px;cursor:pointer;color:#8a9bb0;font-size:11px;font-weight:600;letter-spacing:0.05em;-webkit-tap-highlight-color:transparent}
.ctrl-btn i{font-size:13px;color:#8a9bb0}
.ctrl-btn:active{background:#1a2e42;border-color:#C9A84C;color:#C9A84C}
.ctrl-btn:active i{color:#C9A84C}
.series-caret{font-size:14px;color:#6b7f96;transition:transform 0.2s}
.series-caret.expanded{transform:rotate(180deg)}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:8px}
.empty-state i{font-size:32px;color:#2a3f55}
.empty-state p{color:#8a9bb0;font-size:15px;font-weight:600;margin:0}
.empty-state span{color:#3a5068;font-size:13px;text-align:center}
.archived-row .comic-row-meta{color:#6b7f96}
#collection-seg-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
#collection-seg-content::-webkit-scrollbar{display:none}
.comic-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #1e2d3d;cursor:pointer;background:#0d1b2a}
.comic-row:active{background:#152236}
.comic-row-info{flex:1;min-width:0}
.comic-row-title{display:block;color:#fff;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comic-row-meta{display:block;color:#6b7f96;font-size:12px;margin-top:2px}
.comic-row-right{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:12px}
.comic-row-price{color:#C9A84C;font-size:13px;font-weight:500}
.comic-row-right .ti-chevron-right{color:#3a5068;font-size:14px}
.series-group-header{padding:8px 16px;background:#0a1520;border-bottom:1px solid #1e2d3d}
.series-group-title{color:#fff;font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase}
.series-group-count{color:#3a5068;font-size:11px;margin-left:6px}
.archive-group-header{padding:8px 16px 6px;border-bottom:1px solid #1e2d3d}
.archive-group-title{color:#8a9bb0;font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase}
.archive-group-count{color:#3a5068;font-size:11px;margin-left:6px}
.watchlist-remove-btn{background:transparent;border:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:#C9A84C;font-size:16px;-webkit-tap-highlight-color:transparent;flex-shrink:0}
.watchlist-add-btn{background:transparent;border:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#C9A84C;font-size:18px;-webkit-tap-highlight-color:transparent;flex-shrink:0}
