:root{
  color-scheme: dark;
  --bg:#04070d;
  --bg2:#07131b;
  --panel:rgba(6,14,22,.76);
  --panel-strong:rgba(7,18,28,.92);
  --line:rgba(77,255,193,.18);
  --line-soft:rgba(255,255,255,.08);
  --text:#f5f8fb;
  --muted:rgba(228,238,245,.72);
  --green:#31f2a1;
  --teal:#10f0ff;
  --purple:#b266ff;
  --gold:#ffcb54;
  --danger:#ff6a8d;
  --radius:28px;
  --radius-sm:20px;
  --shadow:0 24px 80px rgba(0,0,0,.52);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 12% 12%, rgba(49,242,161,.10), transparent 22rem),
    radial-gradient(circle at 78% 18%, rgba(178,102,255,.16), transparent 24rem),
    radial-gradient(circle at 68% 68%, rgba(16,240,255,.10), transparent 28rem),
    linear-gradient(180deg,#03060a 0%, #06111a 100%);
  color:var(--text);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.grid-noise{
  position:fixed;inset:0;pointer-events:none;z-index:-2;opacity:.22;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:38px 38px;
  mask-image:radial-gradient(circle at center, black 35%, transparent 88%);
}
.bg-orb{position:fixed;z-index:-1;border-radius:999px;filter:blur(34px);opacity:.45}
.bg-orb.one{width:26rem;height:26rem;background:rgba(49,242,161,.22);left:-8rem;top:6rem}
.bg-orb.two{width:26rem;height:26rem;background:rgba(178,102,255,.22);right:-9rem;top:8rem}
.bg-orb.three{width:22rem;height:22rem;background:rgba(16,240,255,.14);right:10%;bottom:8%}
.nav{
  position:sticky;top:0;z-index:30;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px clamp(16px,4vw,44px);
  background:rgba(2,7,12,.72);
  border-bottom:1px solid rgba(49,242,161,.10);
  backdrop-filter:blur(18px);
}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand-mark{
  width:40px;height:40px;border-radius:14px;display:grid;place-items:center;
  border:1px solid rgba(49,242,161,.45);
  background:linear-gradient(180deg, rgba(49,242,161,.16), rgba(16,240,255,.06));
  box-shadow:0 0 22px rgba(49,242,161,.22), inset 0 0 18px rgba(49,242,161,.10);
  position:relative;overflow:hidden;
}
.brand-core, .pack-logo span, .vault-cube span{
  width:18px;height:18px;display:block;transform:rotate(45deg);
  border:2px solid var(--green);box-shadow:0 0 12px rgba(49,242,161,.35);
  position:relative;
}
.brand-core:before,.brand-core:after,.pack-logo span:before,.pack-logo span:after,.vault-cube span:before,.vault-cube span:after{
  content:"";position:absolute;inset:-6px;border:2px solid rgba(16,240,255,.75)
}
.brand-core:after,.pack-logo span:after,.vault-cube span:after{inset:4px;border-color:rgba(49,242,161,.55)}
.brand-text strong{font-size:18px;letter-spacing:-.03em}
.brand-text em{font-style:normal;color:var(--green);font-weight:900}
.nav nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:14px}
.inline{display:inline}
.linkbtn{background:none;border:0;color:var(--muted);cursor:pointer;padding:0}
.pill{padding:11px 16px;border:1px solid rgba(49,242,161,.4);border-radius:14px;color:#fff}
.nav-cta{box-shadow:0 0 24px rgba(49,242,161,.12), inset 0 0 16px rgba(49,242,161,.08)}
.shell{width:min(1320px,calc(100% - 26px));margin:0 auto;padding:24px 0 70px}
.flash{padding:14px 16px;border:1px solid var(--line);border-radius:18px;margin-bottom:18px;background:var(--panel)}
.flash.success{border-color:rgba(49,242,161,.35)}
.flash.error{border-color:rgba(255,106,141,.35)}
.eyebrow,.tiny-label{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--green)}
.tiny-label{letter-spacing:.14em;color:rgba(255,255,255,.62)}
h1{font-size:clamp(46px,7vw,92px);line-height:.90;margin:0 0 16px;letter-spacing:-.07em}
h1 span{color:var(--green);text-shadow:0 0 24px rgba(49,242,161,.26)}
h2{font-size:30px;margin:0 0 10px;letter-spacing:-.04em}
h3{font-size:24px;margin:0 0 8px;letter-spacing:-.03em}
p{margin:0}
.lead{font-size:22px;line-height:1.55;color:var(--muted);max-width:700px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.actions.center{justify-content:center}
.compact-top{margin-top:18px}
.btn{
  border:1px solid var(--line-soft);border-radius:16px;padding:14px 18px;
  background:rgba(255,255,255,.05);color:#fff;cursor:pointer;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
}
.btn.primary{
  background:linear-gradient(135deg, rgba(49,242,161,.96), rgba(16,240,255,.85));
  color:#031015;border:0;box-shadow:0 0 34px rgba(49,242,161,.16);
}
.btn.ghost{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.btn.wide{width:100%}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:24px;align-items:center;min-height:78vh}
.hero-copy{padding:18px 0}
.trust-row{display:flex;align-items:center;gap:14px;margin-top:22px;color:var(--muted)}
.avatar-row{display:flex}
.avatar-row span{
  width:34px;height:34px;border-radius:999px;border:2px solid #08141d;margin-right:-10px;
  background:linear-gradient(135deg, #86efac, #38bdf8);
}
.hero-stage{display:grid;grid-template-columns:1fr 290px;gap:18px;align-items:start}
.pack-stack{
  min-height:540px;position:relative;padding:30px;border-radius:34px;
  border:1px solid rgba(49,242,161,.12);background:linear-gradient(180deg, rgba(5,12,18,.82), rgba(6,17,27,.88));
  box-shadow:var(--shadow);
}
.pack-stack:before{
  content:"";position:absolute;left:20%;right:20%;bottom:22px;height:22px;border-radius:999px;
  background:radial-gradient(circle, rgba(49,242,161,.55), transparent 70%);filter:blur(12px)
}
.pack-card,.showcase-card,.panel,.auth-card,.scanner-card,.binder-preview,.step-card{
  background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(20px)
}
.pack-card{position:absolute}
.pack-bag{
  width:260px;height:360px;left:72px;top:70px;padding:22px;overflow:hidden;
  background:linear-gradient(180deg, rgba(8,12,18,.92), rgba(8,24,18,.86));
  border-color:rgba(49,242,161,.22);transform:rotate(-6deg)
}
.pack-glow{position:absolute;inset:-20%;background:radial-gradient(circle at center, rgba(49,242,161,.22), transparent 55%);pointer-events:none}
.pack-title{display:block;font-size:34px;font-weight:1000;letter-spacing:-.04em;margin-top:22px}
.pack-subtitle,.pack-month, .pack-bag small{display:block}
.pack-subtitle{color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:13px;margin-top:8px}
.pack-logo{width:92px;height:92px;border-radius:26px;margin:34px auto 20px;border:1px solid rgba(49,242,161,.24);display:grid;place-items:center;background:rgba(49,242,161,.06)}
.pack-month{margin-top:28px;font-weight:800;color:#a9f6d5}
.pack-bag small{margin-top:10px;color:rgba(255,255,255,.64);font-size:11px;letter-spacing:.16em}
.qr-card-ui{
  width:180px;height:246px;left:284px;top:94px;padding:18px;transform:rotate(6deg);
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;
  background:linear-gradient(180deg, rgba(11,16,24,.92), rgba(8,12,18,.90));
}
.fake-qr{
  width:118px;height:118px;border-radius:10px;background:#fff;position:relative;overflow:hidden;
  box-shadow:0 0 0 8px rgba(255,255,255,.03)
}
.fake-qr:before{
  content:"";position:absolute;inset:0;
  background:
  linear-gradient(90deg,#000 10%, transparent 10% 20%, #000 20% 30%, transparent 30% 40%, #000 40% 55%, transparent 55% 65%, #000 65% 80%, transparent 80% 90%, #000 90%),
  linear-gradient(#000 10%, transparent 10% 20%, #000 20% 30%, transparent 30% 40%, #000 40% 55%, transparent 55% 65%, #000 65% 80%, transparent 80% 90%, #000 90%);
  mix-blend-mode:multiply;opacity:.95
}
.qr-card-ui small{font-size:11px;color:rgba(255,255,255,.68);letter-spacing:.12em}
.showcase-card{
  width:270px;aspect-ratio:5/7;right:48px;top:44px;overflow:hidden;
  position:absolute;transform:rotate(4deg);
  border-color:rgba(178,102,255,.36);box-shadow:0 0 38px rgba(178,102,255,.18), 0 0 48px rgba(16,240,255,.12), var(--shadow)
}
.showcase-card img,.binder-thumb img,.rarity-box img,.mini-card img,.reveal-card img,.binder-slot img,.admin-list img{width:100%;height:100%;object-fit:cover;display:block}
.card-shine{position:absolute;inset:-65%;z-index:2;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.60),transparent 57%);transform:translateX(-42%) rotate(8deg);animation:shine 3.6s ease-in-out infinite;pointer-events:none}
@keyframes shine{50%{transform:translateX(46%) rotate(8deg)}}
.card-meta{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;padding:14px;border-radius:22px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px);display:flex;flex-direction:column;gap:4px}
.card-meta span,.binder-slot span,.mini-card span{font-size:12px;color:var(--green);font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.card-meta strong{font-size:26px;line-height:1}
.card-meta small{color:var(--muted);line-height:1.35}
.binder-preview{padding:18px;background:linear-gradient(180deg, rgba(7,14,22,.92), rgba(7,12,19,.82));min-height:540px}
.binder-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.binder-head strong{display:block;font-size:22px;margin-top:6px}
.binder-dots{display:flex;gap:6px}
.binder-dots span{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.35)}
.binder-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}
.binder-thumb{aspect-ratio:5/7;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.step-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 18px}
.step-card{padding:18px 18px;display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}
.step-card p{color:var(--muted);line-height:1.45}
.step-num{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:22px;font-weight:900;background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));border:1px solid rgba(49,242,161,.26);color:var(--green)}
.dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:8px}
.panel{padding:24px;border-color:rgba(49,242,161,.10);background:linear-gradient(180deg, rgba(6,14,21,.84), rgba(7,17,27,.92))}
.split,.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.section-head{margin:26px 0 18px}
.timer-badge{padding:12px 14px;border-radius:16px;border:1px solid rgba(49,242,161,.18);background:rgba(255,255,255,.03);text-align:right}
.timer-badge span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.timer-badge strong{display:block;margin-top:6px;color:var(--green)}
.rarity-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}
.rarity-box{padding:12px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);display:grid;gap:10px}
.rarity-box label{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.rarity-box img{aspect-ratio:5/7;border-radius:16px;object-fit:cover}
.rarity-box strong{justify-self:end;font-size:14px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06)}
.common-tone label{color:#d2d8df}.rare-tone label{color:var(--teal)}.epic-tone label{color:var(--purple)}.legendary-tone label{color:var(--gold)}
.progress-head{align-items:center}
.vault-cube{width:92px;height:92px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(180deg, rgba(49,242,161,.08), rgba(49,242,161,.02));border:1px solid rgba(49,242,161,.22);box-shadow:0 0 32px rgba(49,242,161,.10)}
.bar{height:12px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
.bar.large{height:16px;margin-top:16px}
.bar span{height:100%;display:block;border-radius:999px;background:linear-gradient(90deg, var(--green), var(--teal));box-shadow:0 0 18px rgba(49,242,161,.25)}
.muted-push{margin-top:16px;color:var(--muted)}
.reward-banner{margin-top:22px;border-radius:24px;border:1px solid rgba(178,102,255,.20);padding:18px;background:linear-gradient(135deg, rgba(113,32,170,.24), rgba(7,14,22,.82));display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center}
.reward-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:30px;font-weight:1000;color:#fff;background:linear-gradient(135deg, rgba(178,102,255,.85), rgba(123,70,246,.45));box-shadow:0 0 24px rgba(178,102,255,.22)}
.reward-banner strong{display:block;font-size:28px;line-height:1;letter-spacing:-.04em;margin:4px 0 6px}
.reward-banner small{color:var(--muted)}
.reward-pill{padding:12px 16px;border-radius:14px;border:1px solid rgba(178,102,255,.34);background:rgba(255,255,255,.03);font-weight:900;letter-spacing:.08em}
.auth-card,.scanner-card{max-width:620px;margin:8vh auto;padding:28px}
.wide-auth h1{font-size:58px}
.form{display:grid;gap:14px}
label{display:grid;gap:8px;color:var(--muted);font-weight:700}
input,select,textarea{width:100%;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);color:#fff;padding:14px;border-radius:16px;outline:none}
textarea{resize:vertical}
small{color:var(--muted)}
.redeem-wrap{max-width:760px;margin:0 auto}
.code-form{display:grid;gap:12px;margin-top:20px}
.code-form input{text-align:center;font-size:20px;letter-spacing:.08em;text-transform:uppercase}
.scanner-card{position:relative;overflow:hidden;text-align:center}
.scan-lines{position:absolute;inset:0;background:linear-gradient(transparent,rgba(49,242,161,.16),transparent);height:150px;animation:scan 2.4s infinite;pointer-events:none}
@keyframes scan{from{transform:translateY(-170px)}to{transform:translateY(420px)}}
.reveal-stage{text-align:center;padding-top:26px}
.reveal-card,.collect-card{position:relative;overflow:hidden;border-radius:30px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.05));box-shadow:var(--shadow)}
.reveal-card{width:min(360px,88vw);aspect-ratio:5/7;margin:26px auto 0;animation:revealPop 1.05s cubic-bezier(.16,1,.3,1) both;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
@keyframes revealPop{0%{opacity:0;transform:scale(.62) rotateY(115deg);filter:blur(14px)}55%{opacity:1;transform:scale(1.06) rotateY(-10deg)}100%{transform:scale(1) rotateY(0)}}
.reward-box,.reward-code{margin-top:18px;padding:16px;border-radius:20px;background:rgba(49,242,161,.10);border:1px solid rgba(49,242,161,.26)}
.reward-box{display:grid;gap:4px}
.reward-box strong,.reward-code{font-size:24px;font-weight:1000;letter-spacing:.08em}
.section-head p,.panel p,.auth-card p,.scanner-card p{color:var(--muted)}
.binder{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:18px;border-radius:30px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08)}
.binder-large{grid-template-columns:repeat(4,1fr)}
.binder-slot{position:relative;min-height:250px;padding:12px;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);box-shadow:var(--shadow)}
.binder-slot img{position:absolute;inset:0;z-index:0}
.binder-slot span,.binder-slot strong,.binder-slot .lock{position:relative;z-index:2}
.binder-slot:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 46%,rgba(0,0,0,.84))}
.binder-slot.locked{background:repeating-linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.04) 12px,rgba(255,255,255,.07) 12px,rgba(255,255,255,.07) 24px)}
.lock{font-size:62px;font-weight:1000;color:rgba(255,255,255,.32);margin:auto}
.legendary{box-shadow:0 0 40px rgba(255,203,84,.16),var(--shadow)}
.epic{box-shadow:0 0 40px rgba(178,102,255,.16),var(--shadow)}
.rare{box-shadow:0 0 40px rgba(16,240,255,.14),var(--shadow)}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.admin-list{display:grid;gap:10px}
.admin-list article{display:grid;grid-template-columns:74px 1fr auto;gap:14px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.10);border-radius:22px;background:var(--panel)}
.admin-list img{width:74px;height:92px;border-radius:16px}
.admin-list span{display:block;color:var(--muted);margin-top:5px}
.code-sheet{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.qr-card{background:#fff;color:#111;border-radius:20px;padding:16px;text-align:center;display:grid;gap:8px;overflow:hidden;page-break-inside:avoid}
.qr-card img{width:100%}
.qr-card small{color:#555;font-size:10px;word-break:break-all}
.site-footer{display:grid;grid-template-columns:1.1fr repeat(4,1fr);gap:22px;margin-top:32px;padding:28px 12px 10px;border-top:1px solid rgba(255,255,255,.08)}
.site-footer h4{margin:0 0 12px;font-size:14px;color:#f7fbff;text-transform:uppercase;letter-spacing:.16em}
.site-footer a,.site-footer p,.site-footer small{display:block;color:var(--muted);margin:7px 0}
.socials{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.socials span{min-width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.confetti{position:fixed;top:-16px;width:10px;height:16px;z-index:9999;animation:fall 2.4s linear forwards}
@keyframes fall{to{transform:translateY(105vh) rotate(720deg);opacity:.2}}
@media(max-width:1120px){
  .hero-grid,.dashboard-grid,.admin-grid{grid-template-columns:1fr}
  .hero-stage{grid-template-columns:1fr}
  .binder-preview{min-height:auto}
  .pack-stack{min-height:640px}
}
@media(max-width:820px){
  .step-row,.grid.cards,.binder,.binder-large,.code-sheet,.rarity-row{grid-template-columns:repeat(2,1fr)}
  .split,.section-head,.reward-banner,.site-footer{align-items:flex-start;flex-direction:column;grid-template-columns:1fr}
  .nav{align-items:flex-start;gap:12px;flex-direction:column}
  .nav nav{flex-wrap:wrap}
  h1{font-size:52px}
  .wide-auth h1{font-size:44px}
  .pack-bag{left:28px;top:150px;width:210px;height:310px}
  .qr-card-ui{left:auto;right:28px;top:38px;width:150px;height:220px}
  .showcase-card{right:18px;bottom:20px;top:auto;width:220px}
  .pack-stack{padding:14px;min-height:620px}
  .step-card{grid-template-columns:56px 1fr}
}
@media(max-width:560px){
  .step-row,.grid.cards,.binder,.binder-large,.code-sheet,.rarity-row{grid-template-columns:1fr 1fr}
  .shell{width:min(100%,calc(100% - 14px))}
  .panel,.auth-card,.scanner-card,.binder-preview{padding:18px}
}
@media print{
  body{background:#fff;color:#000}.nav,.bg-orb,.grid-noise,.btn,.flash,.site-footer{display:none!important}.shell{width:100%;padding:0}.code-sheet{grid-template-columns:repeat(3,1fr)}
}

.soft-line{
  border:0;
  border-top:1px solid rgba(255,255,255,.10);
  margin:22px 0;
}

.admin-card-editor-list{
  display:grid;
  gap:18px;
}

.admin-card-editor{
  display:grid;
  gap:16px;
  padding:16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(6,14,21,.84), rgba(7,17,27,.92));
  box-shadow:var(--shadow);
}

.admin-card-preview{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:14px;
  align-items:center;
}

.admin-card-preview img{
  width:86px;
  height:112px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
}

.admin-card-preview span{
  display:block;
  margin-top:6px;
  color:var(--muted);
}

.admin-edit-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.admin-card-actions{
  display:flex;
  justify-content:flex-end;
}

.delete-card-form{
  display:flex;
  justify-content:flex-end;
  margin-top:-8px;
}

.btn.danger{
  background:rgba(255,106,141,.12);
  border-color:rgba(255,106,141,.36);
  color:#fff;
}

@media(max-width:900px){
  .admin-edit-grid{
    grid-template-columns:1fr;
  }

  .admin-card-preview{
    grid-template-columns:72px 1fr;
  }

  .admin-card-preview img{
    width:72px;
    height:96px;
  }

  .admin-card-actions,
  .delete-card-form{
    justify-content:stretch;
  }

  .admin-card-actions .btn,
  .delete-card-form .btn{
    width:100%;
  }
}

/* Safer upgraded card reveal */
.reveal-stage{
  position:relative;
  overflow:hidden;
}

.reveal-stage:before{
  content:"";
  position:absolute;
  left:50%;
  top:220px;
  width:520px;
  height:520px;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:
    radial-gradient(circle, rgba(49,242,161,.18), transparent 58%),
    radial-gradient(circle, rgba(178,102,255,.14), transparent 70%);
  filter:blur(12px);
  pointer-events:none;
  animation:revealAura 3.2s ease-in-out infinite;
}

.reveal-stage h1,
.reveal-stage .eyebrow,
.reveal-stage .panel{
  position:relative;
  z-index:2;
}

.reveal-card{
  position:relative;
  z-index:2;
  animation:premiumCardReveal 1.15s cubic-bezier(.16,1,.3,1) both !important;
  box-shadow:
    0 0 36px rgba(49,242,161,.16),
    0 0 72px rgba(178,102,255,.12),
    0 24px 80px rgba(0,0,0,.52) !important;
}

.reveal-card:after{
  content:"";
  position:absolute;
  inset:-40%;
  background:linear-gradient(115deg, transparent 38%, rgba(255,255,255,.42), transparent 58%);
  transform:translateX(-60%) rotate(12deg);
  animation:premiumSweep 2.4s ease-in-out infinite;
  pointer-events:none;
}

.reveal-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:rgba(3,7,11,.78);
}

@keyframes premiumCardReveal{
  0%{
    opacity:0;
    transform:perspective(1100px) rotateY(-105deg) rotateX(20deg) scale(.62) translateY(70px);
    filter:blur(14px);
  }
  45%{
    opacity:1;
    transform:perspective(1100px) rotateY(12deg) rotateX(-5deg) scale(1.06) translateY(-8px);
    filter:blur(0);
  }
  72%{
    transform:perspective(1100px) rotateY(-4deg) rotateX(2deg) scale(.99);
  }
  100%{
    opacity:1;
    transform:perspective(1100px) rotateY(0) rotateX(0) scale(1);
  }
}

@keyframes premiumSweep{
  0%,35%{ transform:translateX(-65%) rotate(12deg); opacity:0; }
  50%{ opacity:.8; }
  75%,100%{ transform:translateX(65%) rotate(12deg); opacity:0; }
}

@keyframes revealAura{
  0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:.72; }
  50%{ transform:translate(-50%,-50%) scale(1.08); opacity:1; }
}

.simple-footer{
  width:min(1320px,calc(100% - 26px));
  margin:30px auto 0;
  padding:26px 12px 34px;
  text-align:center;
  color:var(--muted);
  border-top:1px solid rgba(255,255,255,.08);
}

.simple-footer a{
  color:var(--green);
  font-weight:800;
}

.simple-footer .heart{
  color:#ff5f8f;
  text-shadow:0 0 18px rgba(255,95,143,.35);
}

.admin-users-layout{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:18px;
  align-items:start;
}

.user-list{
  display:grid;
  gap:10px;
  max-height:75vh;
  overflow:auto;
  padding-right:4px;
}

.user-row{
  display:grid;
  gap:4px;
  padding:14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}

.user-row.active{
  border-color:rgba(49,242,161,.36);
  background:rgba(49,242,161,.08);
}

.user-row span,
.user-row small{
  color:var(--muted);
  word-break:break-word;
}

.owned-admin-grid{
  display:grid;
  gap:12px;
}

.owned-admin-card{
  display:grid;
  grid-template-columns:76px 1fr auto;
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}

.owned-admin-card.special-card{
  border-color:rgba(255,203,84,.34);
  background:rgba(255,203,84,.06);
}

.owned-admin-card img{
  width:76px;
  height:100px;
  border-radius:14px;
  object-fit:cover;
  background:rgba(255,255,255,.05);
}

.owned-admin-card span,
.owned-admin-card small{
  display:block;
  margin-top:5px;
  color:var(--muted);
}

@media(max-width:1000px){
  .admin-users-layout{
    grid-template-columns:1fr;
  }

  .owned-admin-card{
    grid-template-columns:64px 1fr;
  }

  .owned-admin-card form{
    grid-column:1 / -1;
  }

  .owned-admin-card .btn{
    width:100%;
  }
}

.vendor-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}

.vendor-list,
.card-strain-list,
.recent-code-list{
  display:grid;
  gap:12px;
}

.vendor-row,
.card-strain-row,
.recent-code-list article{
  display:grid;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}

.vendor-row{
  grid-template-columns:1fr auto;
}

.vendor-row span,
.vendor-row small,
.card-strain-row span,
.card-strain-row small,
.recent-code-list span{
  display:block;
  margin-top:5px;
  color:var(--muted);
}

.card-strain-row{
  grid-template-columns:74px 1fr minmax(280px,420px);
}

.card-strain-row img{
  width:74px;
  height:98px;
  border-radius:14px;
  object-fit:cover;
  background:rgba(255,255,255,.05);
}

.card-strain-row form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
}

@media(max-width:1000px){
  .vendor-layout{
    grid-template-columns:1fr;
  }

  .card-strain-row{
    grid-template-columns:64px 1fr;
  }

  .card-strain-row form{
    grid-column:1 / -1;
    grid-template-columns:1fr;
  }
}

.vendor-clean-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:start;
}

.vendor-profile-list{
  display:grid;
  gap:18px;
  margin-top:20px;
}

.vendor-profile-card{
  display:grid;
  gap:16px;
  padding:18px;
  border:1px solid rgba(49,242,161,.14);
  border-radius:26px;
  background:rgba(255,255,255,.035);
}

.vendor-profile-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:start;
}

.vendor-profile-head h3{
  margin:0 0 6px;
  font-size:28px;
}

.vendor-profile-head p,
.vendor-profile-head small{
  color:var(--muted);
}

.disabled-vendor{
  opacity:.55;
}

.empty-box{
  padding:14px;
  border:1px dashed rgba(255,255,255,.14);
  border-radius:18px;
  color:var(--muted);
}

.vendor-strain-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.vendor-strain-card{
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:rgba(0,0,0,.18);
}

.strain-main{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:start;
}

.strain-main strong{
  display:block;
  font-size:20px;
}

.strain-main span,
.strain-main small{
  display:block;
  margin-top:5px;
  color:var(--muted);
}

.assigned-mini{
  display:grid;
  gap:8px;
  padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.07);
}

.assigned-mini > span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--green);
  font-weight:900;
}

.assigned-chip{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:10px;
  align-items:center;
}

.assigned-chip img{
  width:42px;
  height:56px;
  border-radius:10px;
  object-fit:cover;
  background:rgba(255,255,255,.05);
}

.assigned-chip strong{
  display:block;
  font-size:14px;
}

.assigned-chip small,
.assigned-mini small{
  color:var(--muted);
}

.vendor-code-form{
  display:grid;
  grid-template-columns:1fr 1fr 120px;
  gap:10px;
}

.vendor-code-form .btn{
  grid-column:1 / -1;
}

.product-card-list{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.product-card-row{
  display:grid;
  grid-template-columns:76px 1fr minmax(320px,440px);
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:rgba(255,255,255,.035);
}

.product-card-row img{
  width:76px;
  height:102px;
  object-fit:cover;
  border-radius:14px;
  background:rgba(255,255,255,.05);
}

.product-card-row span,
.product-card-row small{
  display:block;
  margin-top:5px;
  color:var(--muted);
}

.product-card-row form{
  display:grid;
  gap:10px;
}

.recent-code-list{
  display:grid;
  gap:10px;
}

.recent-code-list article{
  padding:13px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.03);
}

.recent-code-list span{
  display:block;
  margin-top:5px;
  color:var(--muted);
}

@media(max-width:1100px){
  .vendor-clean-grid,
  .vendor-strain-grid{
    grid-template-columns:1fr;
  }

  .product-card-row{
    grid-template-columns:64px 1fr;
  }

  .product-card-row form{
    grid-column:1 / -1;
  }
}

@media(max-width:700px){
  .vendor-profile-head,
  .strain-main,
  .vendor-code-form{
    grid-template-columns:1fr;
  }
}

/* Fix dark-mode dropdowns/options */
select,
select option,
select optgroup{
  background:#151e27;
  color:#f5f8fb;
}

select:focus{
  border-color:rgba(49,242,161,.55);
  box-shadow:0 0 0 3px rgba(49,242,161,.12);
}

select option:checked{
  background:#31f2a1;
  color:#031015;
}

select optgroup{
  font-weight:900;
  color:#31f2a1;
}

/* Better looking selects on supported browsers */
select{
  color-scheme:dark;
  appearance:auto;
}

.vendor-edit-details{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.03);
  padding:12px 14px;
}

.vendor-edit-details summary{
  cursor:pointer;
  font-weight:900;
  color:var(--green);
}

.vendor-reward-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin-top:18px;
}

.vendor-reward-card{
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:rgba(255,255,255,.035);
}

.vendor-reward-card.unlocked{
  border-color:rgba(49,242,161,.34);
  background:linear-gradient(135deg, rgba(49,242,161,.10), rgba(178,102,255,.08));
}

.vendor-reward-card p,
.vendor-reward-card small{
  color:var(--muted);
}

.reward-progress-pill{
  padding:12px 16px;
  border-radius:16px;
  border:1px solid rgba(49,242,161,.24);
  background:rgba(49,242,161,.08);
  color:#fff;
  font-weight:1000;
  white-space:nowrap;
}

@media(max-width:900px){
  .vendor-reward-grid{
    grid-template-columns:1fr;
  }
}

.code-batch-list,
.code-admin-list{
  display:grid;
  gap:12px;
}

.code-batch-row,
.code-admin-row{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}

.code-admin-row{
  grid-template-columns:1fr auto;
}

.code-admin-row.used-code{
  border-color:rgba(255,203,84,.22);
  background:rgba(255,203,84,.045);
}

.code-batch-row span,
.code-admin-row span,
.code-admin-row small{
  display:block;
  margin-top:5px;
  color:var(--muted);
}

@media(max-width:900px){
  .code-batch-row,
  .code-admin-row{
    grid-template-columns:1fr;
  }

  .code-batch-row .btn,
  .code-admin-row .btn{
    width:100%;
  }
}

.profile-hero{
  display:grid;
  grid-template-columns:140px 1fr auto;
  gap:22px;
  align-items:center;
}

.profile-avatar{
  width:132px;
  height:132px;
  border-radius:34px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(49,242,161,.22), rgba(178,102,255,.16));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 0 34px rgba(49,242,161,.12);
}

.profile-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.profile-avatar span{
  font-size:56px;
  font-weight:1000;
}

.profile-about{
  margin-top:12px;
  color:var(--muted);
  max-width:680px;
  line-height:1.55;
}

.profile-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.profile-stats div{
  min-width:110px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  text-align:center;
}

.profile-stats strong{
  display:block;
  font-size:28px;
}

.profile-stats span{
  color:var(--muted);
  font-size:13px;
}

.profile-card-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:16px;
}

.claim-list{
  display:grid;
  gap:10px;
}

.claim-list article,
.pack-detected{
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
}

.claim-list span{
  display:block;
  margin-top:5px;
  color:var(--muted);
}

.pack-confirm-card{
  max-width:760px;
}

.pack-detected{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:20px;
  text-align:left;
}

.pack-detected div{
  padding:14px;
  border-radius:16px;
  background:rgba(0,0,0,.16);
}

.pack-detected span{
  display:block;
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:7px;
}

.pack-detected strong{
  display:block;
  font-size:20px;
}

.admin-dashboard-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.admin-dashboard-cards a{
  display:grid;
  gap:6px;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
}

.admin-dashboard-cards strong{
  color:#fff;
}

.admin-dashboard-cards span{
  color:var(--muted);
  font-size:13px;
}

@media(max-width:1000px){
  .profile-hero{
    grid-template-columns:1fr;
    text-align:center;
  }

  .profile-avatar{
    margin:auto;
  }

  .profile-card-grid,
  .admin-dashboard-cards{
    grid-template-columns:repeat(2,1fr);
  }

  .pack-detected{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .profile-card-grid,
  .admin-dashboard-cards,
  .profile-stats{
    grid-template-columns:1fr;
  }
}

.profile-hero{
  display:grid;
  grid-template-columns:140px 1fr auto;
  gap:22px;
  align-items:center;
}

.profile-avatar{
  width:132px;
  height:132px;
  border-radius:34px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(49,242,161,.22), rgba(178,102,255,.16));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 0 34px rgba(49,242,161,.12);
}

.profile-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.profile-avatar span{
  font-size:56px;
  font-weight:1000;
}

.profile-about{
  margin-top:12px;
  color:var(--muted);
  max-width:680px;
  line-height:1.55;
}

.profile-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.profile-stats div{
  min-width:110px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  text-align:center;
}

.profile-stats strong{
  display:block;
  font-size:28px;
}

.profile-stats span{
  color:var(--muted);
  font-size:13px;
}

.profile-card-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:16px;
}

.claim-list{
  display:grid;
  gap:10px;
}

.claim-list article{
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
}

.claim-list span{
  display:block;
  margin-top:5px;
  color:var(--muted);
}

@media(max-width:1000px){
  .profile-hero{
    grid-template-columns:1fr;
    text-align:center;
  }

  .profile-avatar{
    margin:auto;
  }

  .profile-card-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:560px){
  .profile-card-grid,
  .profile-stats{
    grid-template-columns:1fr;
  }
}

/* Global spacing cleanup */
.shell{
  padding-top:24px;
}

.panel{
  margin-bottom:18px;
}

.compact-top{
  margin-top:18px;
}

/* Fix profile page card spacing */
.profile-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(180px, 220px));
  gap:18px;
  align-items:start;
  justify-content:flex-start;
}

.profile-card-grid .mini-card{
  width:100%;
  aspect-ratio:auto;
  min-height:0;
  padding:10px;
  border-radius:22px;
}

.profile-card-grid .mini-card img{
  width:100%;
  height:250px;
  object-fit:contain;
  object-position:center;
  border-radius:16px;
  background:rgba(0,0,0,.32);
  margin-bottom:10px;
}

.profile-card-grid .mini-card span{
  display:block;
  margin-top:4px;
}

.profile-card-grid .mini-card h3{
  font-size:18px;
  line-height:1.1;
  margin:6px 0 0;
  word-break:break-word;
}

/* Stop profile panels from feeling oversized */
.profile-hero.panel,
.profile-hero{
  margin-bottom:18px;
}

.profile-hero h1{
  font-size:clamp(38px, 5vw, 64px);
}

/* Claimed rewards spacing */
.claim-list{
  margin-top:12px;
}

/* Cleaner empty boxes */
.empty-box{
  padding:14px 16px;
  border:1px dashed rgba(255,255,255,.14);
  border-radius:16px;
  color:var(--muted);
  background:rgba(255,255,255,.025);
}

/* Fix mini cards in panels so they don't overflow awkwardly */
.panel .mini-card{
  overflow:hidden;
}

/* Better mobile spacing */
@media(max-width:700px){
  .shell{
    width:min(100%, calc(100% - 18px));
    padding-top:16px;
  }

  .profile-card-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
  }

  .profile-card-grid .mini-card img{
    height:190px;
  }

  .profile-card-grid .mini-card h3{
    font-size:16px;
  }

  .panel{
    padding:18px;
    border-radius:22px;
  }
}

@media(max-width:430px){
  .profile-card-grid{
    grid-template-columns:1fr;
  }

  .profile-card-grid .mini-card img{
    height:260px;
  }
}

.profile-owned-card{
  position:relative;
}

.duplicate-badge{
  position:absolute;
  top:10px;
  right:10px;
  z-index:5;
  min-width:42px;
  height:34px;
  padding:0 10px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(49,242,161,.95), rgba(16,240,255,.85));
  color:#031015;
  font-weight:1000;
  box-shadow:0 0 24px rgba(49,242,161,.22);
  border:1px solid rgba(255,255,255,.35);
}

.reward-claim-list{
  display:grid;
  gap:12px;
  margin-top:16px;
}

.reward-claim-row{
  display:grid;
  grid-template-columns:1.2fr 1fr auto auto;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}

.reward-claim-row span{
  display:block;
  margin-top:5px;
  color:var(--muted);
}

.claim-code-box{
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(49,242,161,.24);
  background:rgba(49,242,161,.08);
}

.claim-code-box strong{
  color:#fff;
  letter-spacing:.05em;
}

.admin-dashboard-cards article{
  display:grid;
  gap:6px;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
}

@media(max-width:1000px){
  .reward-claim-row{
    grid-template-columns:1fr;
  }
}

.footer-legal-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:10px;
}

.footer-legal-links a{
  color:var(--muted);
  font-weight:700;
}

.legal-page{
  max-width:900px;
  margin:30px auto;
}

.legal-copy{
  display:grid;
  gap:14px;
  margin-top:18px;
  color:var(--muted);
  line-height:1.65;
}

.age-card{
  text-align:center;
}

.code-share-box{
  white-space:pre-wrap;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(49,242,161,.18);
  background:rgba(0,0,0,.34);
  color:#fff;
  max-height:360px;
  overflow:auto;
}

.code-share-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:10px;
  margin-top:18px;
}

.code-share-grid article,
.share-link-box{
  padding:14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}

.code-share-grid span,
.share-link-box span{
  display:block;
  color:var(--muted);
  margin-top:5px;
}

.share-link-box{
  display:grid;
  gap:10px;
  margin-top:14px;
  word-break:break-all;
}

/* Final polish pass */
body{
  text-rendering:geometricPrecision;
}

.shell{
  padding-bottom:42px;
}

.nav{
  box-shadow:0 12px 40px rgba(0,0,0,.18);
}

.nav a,
.linkbtn{
  transition:color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.nav a:hover,
.linkbtn:hover{
  color:#fff;
}

.btn{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn.primary:hover{
  box-shadow:0 0 42px rgba(49,242,161,.24);
}

.panel,
.auth-card,
.scanner-card{
  border-color:rgba(255,255,255,.10);
}

input,
select,
textarea{
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

input:focus,
select:focus,
textarea:focus{
  border-color:rgba(49,242,161,.50);
  box-shadow:0 0 0 3px rgba(49,242,161,.11);
  background:rgba(255,255,255,.075);
}

.subtle-link{
  color:var(--muted);
  font-weight:800;
  text-align:center;
}

.subtle-link:hover{
  color:var(--green);
}

.auth-card .actions{
  justify-content:center;
}

.auth-card h1,
.scanner-card h1{
  margin-bottom:12px;
}

.section-head{
  padding-top:8px;
}

.admin-dashboard-cards{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
}

.reset-request-list{
  display:grid;
  gap:12px;
}

.reset-request-row{
  display:grid;
  grid-template-columns:1fr minmax(280px,520px) auto;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}

.reset-request-row span,
.reset-request-row small,
.reset-link-box span{
  display:block;
  color:var(--muted);
  margin-top:5px;
}

.reset-link-box{
  display:grid;
  gap:8px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(49,242,161,.18);
  background:rgba(49,242,161,.06);
  word-break:break-all;
}

.reset-link-box strong{
  font-size:13px;
}

.used-reset,
.expired-reset{
  opacity:.62;
}

.reset-status{
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  text-align:center;
}

@media(max-width:900px){
  .reset-request-row{
    grid-template-columns:1fr;
  }

  .reset-request-row .btn{
    width:100%;
  }
}

/* Tighten public pages */
.legal-page,
.auth-card,
.scanner-card{
  box-shadow:0 18px 70px rgba(0,0,0,.34);
}

/* Cleaner table/list cards */
.vendor-profile-card,
.vendor-strain-card,
.product-card-row,
.code-admin-row,
.reward-claim-row,
.owned-admin-card,
.reset-request-row{
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.vendor-profile-card:hover,
.vendor-strain-card:hover,
.product-card-row:hover,
.code-admin-row:hover,
.reward-claim-row:hover,
.owned-admin-card:hover,
.reset-request-row:hover{
  transform:translateY(-1px);
  border-color:rgba(49,242,161,.18);
  background:rgba(255,255,255,.05);
}

/* Final polish pass */
body{
  text-rendering:geometricPrecision;
}

.shell{
  padding-bottom:42px;
}

.nav{
  box-shadow:0 12px 40px rgba(0,0,0,.18);
}

.nav a,
.linkbtn{
  transition:color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.nav a:hover,
.linkbtn:hover{
  color:#fff;
}

.btn{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn.primary:hover{
  box-shadow:0 0 42px rgba(49,242,161,.24);
}

.panel,
.auth-card,
.scanner-card{
  border-color:rgba(255,255,255,.10);
}

input,
select,
textarea{
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

input:focus,
select:focus,
textarea:focus{
  border-color:rgba(49,242,161,.50);
  box-shadow:0 0 0 3px rgba(49,242,161,.11);
  background:rgba(255,255,255,.075);
}

.subtle-link{
  color:var(--muted);
  font-weight:800;
  text-align:center;
}

.subtle-link:hover{
  color:var(--green);
}

.auth-card .actions{
  justify-content:center;
}

.auth-card h1,
.scanner-card h1{
  margin-bottom:12px;
}

.section-head{
  padding-top:8px;
}

.admin-dashboard-cards{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
}

.reset-request-list{
  display:grid;
  gap:12px;
}

.reset-request-row{
  display:grid;
  grid-template-columns:1fr minmax(280px,520px) auto;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}

.reset-request-row span,
.reset-request-row small,
.reset-link-box span{
  display:block;
  color:var(--muted);
  margin-top:5px;
}

.reset-link-box{
  display:grid;
  gap:8px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(49,242,161,.18);
  background:rgba(49,242,161,.06);
  word-break:break-all;
}

.reset-link-box strong{
  font-size:13px;
}

.used-reset,
.expired-reset{
  opacity:.62;
}

.reset-status{
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  text-align:center;
}

@media(max-width:900px){
  .reset-request-row{
    grid-template-columns:1fr;
  }

  .reset-request-row .btn{
    width:100%;
  }
}

/* Tighten public pages */
.legal-page,
.auth-card,
.scanner-card{
  box-shadow:0 18px 70px rgba(0,0,0,.34);
}

/* Cleaner table/list cards */
.vendor-profile-card,
.vendor-strain-card,
.product-card-row,
.code-admin-row,
.reward-claim-row,
.owned-admin-card,
.reset-request-row{
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.vendor-profile-card:hover,
.vendor-strain-card:hover,
.product-card-row:hover,
.code-admin-row:hover,
.reward-claim-row:hover,
.owned-admin-card:hover,
.reset-request-row:hover{
  transform:translateY(-1px);
  border-color:rgba(49,242,161,.18);
  background:rgba(255,255,255,.05);
}
