:root{
  --ink:#0f1115;
  --paper:#f7f3ec;
  --paper-2:#fbf8f2;
  --gold:#c7a14a;
  --gold-2:#d5b56b;
  --gold-3:#8c6b21;
  --surface:#ffffff;
  --surface-2:#f6efe2;
  --muted:#6d675d;
  --muted-2:#8b857a;
  --border:rgba(15,17,21,.08);
  --border-2:rgba(15,17,21,.16);
  --success:#1e7a48;
  --success-bg:#ddf3e6;
  --warn:#7a5b11;
  --warn-bg:#fff1c9;
  --danger:#a43434;
  --danger-bg:#fdeaea;
  --radius:14px;
  --radius-lg:22px;
  --radius-xl:28px;
  --shadow-sm:0 8px 24px rgba(15,17,21,.05);
  --shadow-md:0 18px 46px rgba(15,17,21,.08);
  --shadow-lg:0 30px 80px rgba(15,17,21,.12);
  --font-sans:Inter,Segoe UI,Arial,sans-serif;
  --font-serif:Georgia,serif;
  --font-mono:ui-monospace,SFMono-Regular,Consolas,monospace;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--ink);
  background:
    radial-gradient(circle at top, rgba(199,161,74,.09), transparent 26%),
    linear-gradient(180deg, #fbf8f2 0%, #f7f3ec 100%);
  min-height:100vh;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(ellipse 80% 52% at 50% 0%, black 22%, transparent 100%);
  opacity:.45;
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.shell, nav, footer{position:relative;z-index:1}
nav{
  position:sticky; top:0; z-index:20;
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem 1.35rem;
  backdrop-filter:blur(14px);
  background:rgba(251,248,242,.82);
  border-bottom:1px solid var(--border);
}
.nav-left,.nav-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.brand{
  display:flex;align-items:center;gap:.8rem;
  font-weight:800; letter-spacing:.01em;
}
.brand-mark{
  width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--ink),#232830);
  color:var(--gold-2);display:grid;place-items:center;box-shadow:var(--shadow-sm)
}
.nav-pill,.btn,.tag,.mini-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  transition:.22s var(--ease); border-radius:999px;
}
.nav-pill{
  padding:.48rem .9rem;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);border:1px solid var(--border-2); background:rgba(255,255,255,.55)
}
.nav-pill:hover,.nav-pill.active{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-1px)}
.page{
  max-width:1220px; margin:0 auto; padding:2rem 1.1rem 4rem;
}
.hero{
  max-width:1040px; margin:0 auto; text-align:center; padding:4.5rem 0 2rem;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.38rem .9rem;border-radius:999px;
  background:rgba(255,255,255,.72); border:1px solid var(--border);
  color:var(--muted); font-size:.73rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em;
  box-shadow:var(--shadow-sm)
}
.dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}
.hero h1{
  margin:1rem 0 0;
  font: 700 clamp(2.9rem, 7vw, 5rem)/1.02 var(--font-serif);
  letter-spacing:-.03em;
}
.hero h1 em{font-style:italic;color:var(--gold-3)}
.lead{
  max-width:760px;margin:1.15rem auto 0;color:var(--muted);font-size:1.06rem;line-height:1.72
}
.hero-actions{display:flex;justify-content:center;gap:.85rem;flex-wrap:wrap;margin-top:1.6rem}
.btn{
  border:none; cursor:pointer; padding:1rem 1.28rem; font-size:.96rem; font-weight:800; box-shadow:var(--shadow-sm)
}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#241b08}
.btn-gold:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-ghost{background:rgba(255,255,255,.7);color:var(--ink);border:1px solid var(--border-2)}
.btn-ghost:hover{transform:translateY(-2px)}
.btn-danger{background:var(--danger);color:#fff}
.section{margin-top:1.35rem}
.section-label{
  margin:0 0 .9rem .2rem;
  font-size:.74rem; font-weight:900; color:var(--muted);
  letter-spacing:.12em; text-transform:uppercase;
}
.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.card,.panel,.stat,.mail-card{
  background:rgba(255,255,255,.82);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-sm);
}
.card{padding:1.4rem}
.card:hover,.panel:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.panel{overflow:hidden}
.panel-header{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:1.18rem 1.3rem;border-bottom:1px solid var(--border)
}
.panel-title{font-family:var(--font-serif);font-size:1.45rem}
.panel-sub{font-size:.86rem;color:var(--muted)}
.panel-body{padding:1.25rem 1.3rem}
.stack{display:grid;gap:1rem}
.field{display:grid;gap:.38rem}
.field label{
  font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)
}
.input,.textarea{
  width:100%; background:#fff; border:1px solid var(--border-2);
  border-radius:18px; padding:.9rem 1rem; outline:none;
  transition:.18s var(--ease);
}
.input:focus,.textarea:focus{border-color:var(--gold-2);box-shadow:0 0 0 4px rgba(199,161,74,.12)}
.textarea{min-height:120px;resize:vertical}
.hint{font-size:.82rem;color:var(--muted)}
.alert{
  border-radius:18px; padding:.88rem 1rem; font-size:.88rem; border:1px solid transparent
}
.alert.success{background:var(--success-bg);border-color:rgba(30,122,72,.18);color:var(--success)}
.alert.warn{background:var(--warn-bg);border-color:rgba(122,91,17,.16);color:var(--warn)}
.alert.error{background:var(--danger-bg);border-color:rgba(164,52,52,.17);color:var(--danger)}
.stat{padding:1rem 1.05rem;min-height:98px}
.stat-label{font-size:.7rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.11em}
.stat-value{margin-top:.45rem;font:600 1.12rem/1.35 var(--font-mono);word-break:break-word}
.upload-zone{
  border:1.5px dashed var(--border-2); border-radius:24px; padding:2rem 1rem; text-align:center;
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(246,239,226,.75));
  transition:.2s var(--ease); cursor:pointer
}
.upload-zone:hover{border-color:var(--gold-2); transform:translateY(-1px)}
.upload-meta{
  margin-top:.9rem; padding:.85rem 1rem; border-radius:18px; background:#fff; border:1px solid var(--border)
}
.table-wrap{
  border:1px solid var(--border); border-radius:22px; overflow:hidden; background:#fff;
}
.table{width:100%; border-collapse:collapse}
.table th,.table td{padding:.75rem .7rem; border-bottom:1px solid var(--border); text-align:left; vertical-align:middle}
.table th{
  background:linear-gradient(180deg,#fdfcf9,#f6f1e7); font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; color:var(--muted);
  position:sticky; top:0; z-index:1
}
.table tr:hover td{background:#fcfaf5}
.table tr:last-child td{border-bottom:none}
.badge{
  display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .68rem;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em
}
.badge.locked{background:#fff0c2;color:#7a5805}
.badge.released{background:var(--success-bg);color:var(--success)}
.badge.pending{background:#ece8f8;color:#54417e}
.badge.free{background:#eef5ff;color:#27508c}
.mail-shell{
  display:grid;gap:1rem;
}
.mail-card{
  overflow:hidden;
}
.mail-head{
  padding:1rem 1.1rem;
  background:linear-gradient(180deg,#fff,#faf7ef);
  border-bottom:1px solid var(--border)
}
.mail-from{font-size:.78rem;color:var(--muted)}
.mail-subject{font-weight:800;font-size:1rem}
.mail-body{padding:1.1rem}
.timeline{
  position:relative;padding-left:1.1rem;display:grid;gap:.9rem
}
.timeline::before{
  content:"";position:absolute;left:.22rem;top:.15rem;bottom:.2rem;width:2px;background:linear-gradient(var(--gold), transparent)
}
.tl-item{position:relative;padding-left:1rem}
.tl-item::before{
  content:"";position:absolute;left:-.02rem;top:.3rem;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(199,161,74,.14)
}
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.count-box{
  background:#fff; border:1px solid var(--border); border-radius:22px; padding:.92rem .7rem; text-align:center;
}
.count-box .n{font:700 1.25rem/1.1 var(--font-mono)}
.count-box .l{margin-top:.25rem;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}
.feature-card h3{font-family:var(--font-serif);font-size:1.35rem;margin:.1rem 0 .35rem}
.feature-card p{margin:0;color:var(--muted)}
.mini-btn{
  border:1px solid var(--border-2); background:#fff; padding:.5rem .8rem; font-size:.8rem; font-weight:800; cursor:pointer
}
.mini-btn:hover{background:var(--ink); color:#fff; border-color:var(--ink)}
.mini-btn.danger-btn{background:var(--danger); color:#fff; border-color:var(--danger)}
.mini-btn.danger-btn:hover{background:#a82727; color:#fff; border-color:#a82727}
.hidden{display:none!important}
.fade-up{animation:fadeUp .55s var(--ease)}
@keyframes fadeUp{
  from{opacity:0; transform:translateY(14px)}
  to{opacity:1; transform:none}
}
.toast-wrap{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.55rem;z-index:999}
.toast{
  min-width:250px;padding:.9rem 1rem;border-radius:18px;color:#fff;background:var(--ink);box-shadow:var(--shadow-lg)
}
.toast.success{background:var(--success)}
.toast.error{background:var(--danger)}
.footer{
  max-width:1220px; margin:0 auto; padding:0 1.1rem 3rem; color:var(--muted); font-size:.84rem
}
@media (max-width:980px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .hero{padding:3.2rem 0 1.5rem}
  nav{padding:.95rem 1rem}
}


/* Legal pages */
.legal-hero{max-width:920px;margin:0 auto;padding:2rem 0 1rem}
.legal-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem;align-items:start}
.legal-nav{position:sticky;top:88px}
.legal-list{display:grid;gap:.65rem}
.legal-list a{display:block;padding:.8rem 1rem;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.82);font-weight:800}
.legal-list a:hover,.legal-list a.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.legal-body h2{font-family:var(--font-serif);font-size:1.6rem;margin:1.5rem 0 .7rem}
.legal-body h3{font-size:1rem;margin:1rem 0 .45rem;text-transform:none}
.legal-body p,.legal-body li{color:var(--ink);line-height:1.75}
.legal-body ul{padding-left:1.15rem}
.legal-body .muted{color:var(--muted)}
.legal-callout{padding:1rem 1.05rem;border-radius:18px;background:var(--surface-2);border:1px solid var(--border)}
.legal-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.legal-tile{padding:1.15rem;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid var(--border);box-shadow:var(--shadow-sm)}
.legal-tile h3{font-family:var(--font-serif);font-size:1.25rem;margin:0 0 .45rem}
.footer-links-inline{display:flex;flex-wrap:wrap;gap:.65rem}
@media (max-width:980px){
  .legal-grid{grid-template-columns:1fr}
  .legal-nav{position:static}
  .legal-card-grid{grid-template-columns:1fr}
}


/* Unified footer */
.footer{
  max-width:1220px;
  margin:2.5rem auto 0;
  padding:0 1.1rem 3rem;
  color:var(--paper);
}
.footer-content{
  background:linear-gradient(180deg, rgba(15,17,21,.98), rgba(24,27,34,.96));
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);
  padding:1.7rem;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.2rem;
  overflow:hidden;
  position:relative;
}
.footer-content::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(213,181,107,.6), transparent);
}
.footer-col h4{
  margin:0 0 .9rem;
  color:#fff;
  font:600 1.12rem/1.2 var(--font-serif);
}
.footer-col p{
  margin:0;
  color:rgba(247,243,236,.72);
  line-height:1.7;
}
.footer-col a{
  display:block;
  width:max-content;
  max-width:100%;
  margin-bottom:.62rem;
  color:rgba(247,243,236,.74);
  transition:.2s var(--ease);
}
.footer-col a:hover{
  color:#fff;
  transform:translateX(2px);
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-top:.95rem;
  padding:.25rem .25rem 0;
  color:var(--muted);
  font-size:.82rem;
}
.footer-links-inline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
}
.footer-links-inline a{
  color:var(--muted);
  transition:.2s var(--ease);
}
.footer-links-inline a:hover{
  color:var(--ink);
}
@media (max-width:980px){
  .footer-content{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  .footer{
    padding:0 1rem 2.3rem;
  }
  .footer-content{
    grid-template-columns:1fr;
    padding:1.3rem;
  }
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* Site-wide navigation tidy */
.site-nav{
  position:sticky;
  top:0;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.35rem;
  backdrop-filter:blur(14px);
  background:rgba(251,248,242,.84);
  border-bottom:1px solid var(--border);
}
.nav-brand{
  display:flex;
  align-items:center;
  gap:.9rem;
  text-decoration:none;
  color:inherit;
  flex-shrink:0;
}
.nav-brand-mark{
  width:48px;
  height:48px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--ink),#232830);
  color:var(--gold-2);
  display:grid;
  place-items:center;
  box-shadow:var(--shadow-sm);
}
.nav-brand-text{
  font-family:'DM Serif Display', Georgia, serif;
  font-size:clamp(2rem, 2.8vw, 2.65rem);
  line-height:1;
  letter-spacing:-.04em;
  color:var(--ink);
}
.nav-main{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.9rem;
  flex:1;
  min-width:0;
}
.nav-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.75rem;
  flex-wrap:wrap;
}
.nav-account{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.nav-pill{
  min-height:40px;
  white-space:nowrap;
}
.nav-account [data-user-slot]{
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
@media (max-width:1100px){
  .site-nav{
    align-items:flex-start;
    flex-direction:column;
  }
  .nav-main{
    width:100%;
    justify-content:space-between;
    flex-wrap:wrap;
  }
}
@media (max-width:760px){
  .site-nav{
    padding:.95rem 1rem;
  }
  .nav-main{
    gap:.75rem;
  }
  .nav-links{
    width:100%;
    justify-content:flex-start;
  }
  .nav-account{
    width:100%;
    justify-content:flex-start;
  }
  .nav-brand-text{
    font-size:2rem;
  }
}


/* Cleaner nav account controls */
.nav-account [data-user-slot]{
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.user-chip{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  max-width:100%;
}
.user-chip::before{
  display:none;
}
.user-chip .role-badge{
  display:none !important;
}
.user-chip strong,
.user-chip span{
  display:inline-block;
  max-width:240px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nav-account .mini-btn,
.nav-account .btn,
.nav-account button,
.nav-account a.nav-pill{
  min-height:40px;
}
@media (max-width:760px){
  .user-chip strong,
  .user-chip span{
    max-width:180px;
  }
}


/* Restored account button in navbar */
.nav-account{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.6rem;
  flex-wrap:wrap;
}
.nav-account-btn{
  background:transparent;
  color:var(--ink);
  border-color:var(--border-2);
}
.nav-account-btn:hover{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
  transform:translateY(-1px);
  box-shadow:var(--shadow-md);
}



/* Global navbar consistency */
.site-nav{
  position:sticky;
  top:0;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.35rem;
  backdrop-filter:blur(14px);
  background:rgba(251,248,242,.84);
  border-bottom:1px solid var(--border);
}
.nav-brand{
  display:flex;
  align-items:center;
  gap:.9rem;
  text-decoration:none;
  color:inherit;
  flex-shrink:0;
  min-width:max-content;
}
.nav-brand-mark{
  width:48px;
  height:48px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--ink),#232830);
  color:var(--gold-2);
  display:grid;
  place-items:center;
  box-shadow:var(--shadow-sm);
  flex:0 0 48px;
}
.nav-brand-mark svg{
  width:22px;
  height:22px;
  display:block;
}
.nav-brand-text{
  font-family:'DM Serif Display', Georgia, serif;
  font-size:clamp(2rem, 2.8vw, 2.65rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.04em;
  color:var(--ink);
  white-space:nowrap;
}
.nav-main{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.9rem;
  flex:1;
  min-width:0;
}
.nav-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.75rem;
  flex-wrap:wrap;
}
.nav-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:.48rem .9rem;
  font-family:var(--font-sans);
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:nowrap;
  color:var(--muted);
  border:1px solid var(--border-2);
  background:rgba(255,255,255,.55);
  border-radius:999px;
}
.nav-pill:hover,
.nav-pill.active{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
  transform:translateY(-1px);
}
.nav-account{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.6rem;
  flex-wrap:wrap;
}
.nav-account-btn{
  background:transparent;
  color:var(--ink);
  border-color:var(--border-2);
}
.nav-account-btn:hover{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
  transform:translateY(-1px);
  box-shadow:var(--shadow-md);
}
.nav-account [data-user-slot]{
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
@media (max-width:1100px){
  .site-nav{
    align-items:flex-start;
    flex-direction:column;
  }
  .nav-main{
    width:100%;
    justify-content:space-between;
    flex-wrap:wrap;
  }
}
@media (max-width:760px){
  .site-nav{
    padding:.95rem 1rem;
  }
  .nav-main{
    gap:.75rem;
  }
  .nav-links{
    width:100%;
    justify-content:flex-start;
  }
  .nav-account{
    width:100%;
    justify-content:flex-start;
  }
  .nav-brand-text{
    font-size:2rem;
  }
}


/* Shared nav component hardening */
#site-nav-mount{position:relative;z-index:30}
.site-nav .nav-brand-text{
  font-family:'DM Serif Display', Georgia, serif !important;
}
.site-nav .nav-pill{
  font-family:var(--font-sans) !important;
}

/* Transfer mode selector */
.mode-btn{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.35rem;
  padding:1rem 1.1rem;
  border:1.5px solid var(--border-2);
  border-radius:20px;
  background:#fff;
  cursor:pointer;
  text-align:left;
  transition:.18s var(--ease);
  width:100%;
}
.mode-btn:hover{
  border-color:var(--gold-2);
  background:rgba(199,161,74,.06);
  transform:translateY(-1px);
}
.mode-btn.active{
  border-color:var(--gold-2);
  background:rgba(199,161,74,.1);
  box-shadow:0 0 0 3px rgba(199,161,74,.18);
}
.mode-icon{
  font-size:1.4rem;
  line-height:1;
  margin-bottom:.1rem;
}
.mode-label{
  font-weight:800;
  font-size:.88rem;
  color:var(--ink);
}
.mode-desc{
  font-size:.75rem;
  color:var(--muted);
  line-height:1.4;
}
@media(max-width:700px){
  #modeSelector{ grid-template-columns:1fr !important; }
}


/* ── Relative time chip ── */
.rel-time{font-size:.72rem;color:var(--muted);margin-left:.35rem;opacity:.8}

/* ── Copy-ID button inline ── */
.copy-btn{
  background:none;border:none;padding:0 0 0 .3rem;cursor:pointer;
  color:var(--muted);opacity:.6;font-size:.8rem;vertical-align:middle;
  transition:.15s;
}
.copy-btn:hover{opacity:1;color:var(--gold-3)}

.view-portal-btn{
  border:none;
  border-radius:999px;
  padding:.36rem .72rem;
  font-size:.72rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.01em;
  cursor:pointer;
  white-space:nowrap;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  color:#241b08;
  box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.view-portal-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);filter:saturate(1.03)}
.view-portal-btn:active{transform:translateY(0)}
.view-portal-btn:focus-visible{outline:2px solid rgba(199,161,74,.45);outline-offset:2px}


.account-transfer-row{
  padding:.75rem 0;
  border-bottom:1px solid var(--border);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.4rem .75rem;
  align-items:start;
}
.account-transfer-main{min-width:0}
.account-transfer-id-row{
  display:flex;
  align-items:center;
  gap:.35rem;
  margin-bottom:.2rem;
  min-width:0;
}
.account-transfer-id-chip{
  display:inline-flex;
  align-items:center;
  min-width:0;
  max-width:100%;
  padding:.18rem .5rem .18rem .52rem;
  border:1px solid rgba(199,161,74,.26);
  border-radius:999px;
  background:rgba(199,161,74,.08);
}
.account-transfer-id-text{
  display:block;
  min-width:0;
  padding-right:7px;
  font-family:var(--font-mono);
  font-size:.74rem;
  line-height:1;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  flex-shrink:0;
  transform:translateX(.35px);
}
.account-transfer-copy-btn{
  padding-left:.15rem;
  flex-shrink:0;
}

.btn-audit-pdf{
  padding:.8rem 1.05rem;
  font-size:.86rem;
  line-height:1;
}

/* ── Status filter tabs ── */
.filter-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.9rem}
.filter-tab{
  padding:.32rem .8rem;border-radius:999px;font-size:.72rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;cursor:pointer;
  border:1px solid var(--border-2);background:rgba(255,255,255,.6);color:var(--muted);
  transition:.15s;
}
.filter-tab.active,.filter-tab:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ── Empty state ── */
.empty-state{
  display:flex;flex-direction:column;align-items:center;
  padding:2.5rem 1rem;text-align:center;gap:.75rem;
}
.empty-state svg{opacity:.28}
.empty-state-title{font-family:var(--font-serif);font-size:1.15rem;color:var(--ink)}
.empty-state-sub{font-size:.84rem;color:var(--muted);max-width:260px;line-height:1.5}

/* ── Send stepper ── */
.stepper{
  display:flex;align-items:center;gap:0;margin-bottom:1.8rem;
  overflow-x:auto;padding-bottom:.2rem;
}
.step{
  display:flex;align-items:center;gap:.55rem;flex-shrink:0;
}
.step-num{
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  font-size:.72rem;font-weight:900;
  border:2px solid var(--border-2);
  color:var(--muted);background:#fff;
  transition:.2s;
}
.step-label{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);transition:.2s}
.step-line{flex:1 1 24px;height:2px;background:var(--border-2);margin:0 .4rem;min-width:16px;transition:.2s}
.step.active .step-num{background:var(--ink);border-color:var(--ink);color:#fff}
.step.active .step-label{color:var(--ink)}
.step.done .step-num{background:var(--gold);border-color:var(--gold);color:#fff}
.step.done .step-line,.step.active .step-line{background:var(--gold)}

/* ── Send step panels ── */
.step-panel{display:none}
.step-panel.active{display:block}
.step-nav{display:flex;gap:.7rem;margin-top:1.4rem;flex-wrap:wrap}

/* ── Review card ── */
.review-card{
  background:rgba(199,161,74,.07);border:1.5px solid rgba(199,161,74,.3);
  border-radius:20px;padding:1.3rem 1.4rem;
}
.review-row{display:flex;justify-content:space-between;align-items:baseline;
  padding:.45rem 0;border-bottom:1px solid rgba(199,161,74,.15);font-size:.88rem;gap:1rem}
.review-row:last-child{border-bottom:none}
.review-label{color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;flex-shrink:0}
.review-val{font-weight:700;text-align:right;word-break:break-word}

/* ── Security badge ── */
.security-badge{
  display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;
  padding:.55rem 1rem;border-radius:999px;
  background:rgba(30,122,72,.07);border:1px solid rgba(30,122,72,.18);
  font-size:.72rem;font-weight:800;color:var(--success);letter-spacing:.05em;
  text-transform:uppercase;
}
.security-badge svg{flex-shrink:0}

/* ── Audit log ── */
.audit-log{display:grid;gap:0}
.audit-entry{
  display:grid;grid-template-columns:auto 1fr;gap:.6rem;
  padding:.55rem 0;border-bottom:1px solid var(--border);align-items:start;
}
.audit-entry:last-child{border-bottom:none}
.audit-dot{
  width:8px;height:8px;border-radius:50%;background:var(--gold);
  margin-top:.35rem;flex-shrink:0;
}
.audit-text{font-size:.83rem;color:var(--ink)}
.audit-time{font-size:.72rem;color:var(--muted);margin-top:.1rem}

/* ── Guest lookup panel ── */
.guest-lookup{
  background:linear-gradient(135deg,rgba(199,161,74,.08),rgba(199,161,74,.03));
  border:1.5px dashed rgba(199,161,74,.4);border-radius:22px;padding:1.5rem;
}

/* ── Drag-drop upload zone ── */
.upload-zone.drag-over{
  border-color:var(--gold-2);
  background:linear-gradient(180deg,rgba(199,161,74,.12),rgba(199,161,74,.05));
  transform:scale(1.01);
}

/* ── Mobile improvements ── */
@media(max-width:680px){
  .hero h1{font-size:clamp(2rem,8vw,3rem)}
  .lead{font-size:.95rem}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}
  #modeSelector{grid-template-columns:1fr!important}
  .mode-btn{flex-direction:row;align-items:center;gap:.75rem;padding:.85rem 1rem}
  .mode-icon{font-size:1.1rem;flex-shrink:0}
  .mode-desc{display:none}
  .stepper{gap:0}
  .step-label{display:none}
  .countdown{grid-template-columns:repeat(2,1fr)}
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table{min-width:480px}
  .stat{min-height:70px}
  .filter-tabs{gap:.3rem}
  .filter-tab{font-size:.65rem;padding:.28rem .6rem}
  .panel-header{padding:.9rem 1rem}
  .panel-body{padding:1rem}
  .page{padding:1.5rem .75rem 3rem}
  .hero{padding:2.5rem 0 1.5rem}
  .footer-content{grid-template-columns:1fr 1fr!important}
  .review-row{flex-direction:column;gap:.15rem}
  .review-val{text-align:left}
}
@media(max-width:420px){
  .footer-content{grid-template-columns:1fr!important}
  .nav-pill{padding:.4rem .65rem;font-size:.68rem}
}


.transfer-check{
  width:18px;
  height:18px;
  accent-color: var(--ink);
}
.table .actions-cell{
  white-space:nowrap;
}


/* Gold nav styling override */
.site-nav .nav-pill,
.nav-links .nav-pill,
header .nav-pill,
nav .nav-pill {
  background: #C9A34E !important;
  color: #0d1320 !important;
  border-color: #C9A34E !important;
}

.site-nav .nav-pill:hover,
.site-nav .nav-pill.active,
.nav-links .nav-pill:hover,
.nav-links .nav-pill.active,
header .nav-pill:hover,
header .nav-pill.active,
nav .nav-pill:hover,
nav .nav-pill.active {
  background: #b8933f !important;
  color: #0d1320 !important;
  border-color: #b8933f !important;
}


/* SEO content pages */
.seo-page{max-width:1180px}
.seo-hero{max-width:980px;padding-bottom:1rem}
.seo-panel{max-width:980px;margin:0 auto}
.seo-body h2{font-family:var(--font-serif);font-size:clamp(1.7rem,2.3vw,2.25rem);margin:1.4rem 0 .7rem}
.seo-body p{font-size:1rem;line-height:1.8;color:var(--ink)}
.seo-feature-grid,.faq-list{display:grid;gap:1rem}
.seo-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:1.15rem 0 1.5rem}
.seo-section{margin:1.4rem 0}
.seo-usecases{margin-top:1.5rem}
.seo-related,.seo-cta{margin-top:1.4rem}
.faq-item{border:1px solid var(--border);background:rgba(255,255,255,.78);border-radius:20px;padding:1rem 1.1rem}
.faq-item summary{cursor:pointer;font-weight:800;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item p{margin:.8rem 0 0;color:var(--muted)}
.seo-home-links .legal-tile p,.seo-related-links .legal-tile p{color:var(--muted)}
@media (max-width:980px){.seo-feature-grid{grid-template-columns:1fr}}


.danger-btn{border-color:rgba(239,68,68,.35)!important;color:#fecaca!important;background:rgba(127,29,29,.18)!important;}
.danger-btn:hover{background:rgba(127,29,29,.28)!important;}


/* Scrollable results tables: show about 5 rows, allow full scroll */
.table-scroll {
  max-height: 320px;
  overflow-y: auto;
  overflow-x: auto;
  border: 1px solid rgba(182, 134, 47, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.98);
}

.table-scroll table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}

.table-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: inherit;
}

.table-scroll::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.table-scroll::-webkit-scrollbar-thumb {
  background: rgba(182, 134, 47, 0.85);
  border-radius: 8px;
}

.table-scroll::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.04);
  border-radius: 8px;
}


/* Admin role filter */
.admin-filter-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px 0;
  flex-wrap: wrap;
}

.admin-filter-bar label {
  font-weight: 600;
}

.admin-filter-bar select {
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(182, 134, 47, 0.35);
  background: #fff;
  color: inherit;
}


.hash-full{
  font-family: var(--font-mono, monospace);
  word-break: break-all;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}


/* Account results tables: show about 5 rows, allow scroll */
.account-table-scroll,
.table-scroll {
  max-height: 320px;
  overflow-y: auto;
  overflow-x: auto;
  border: 1px solid rgba(182, 134, 47, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.98);
}

.account-table-scroll table,
.table-scroll table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}

.account-table-scroll thead th,
.table-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: inherit;
}

.account-table-scroll::-webkit-scrollbar,
.table-scroll::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.account-table-scroll::-webkit-scrollbar-thumb,
.table-scroll::-webkit-scrollbar-thumb {
  background: rgba(182, 134, 47, 0.85);
  border-radius: 8px;
}

.account-table-scroll::-webkit-scrollbar-track,
.table-scroll::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.04);
  border-radius: 8px;
}


.nav-brand-mark{
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.nav-brand-logo{
  width: 36px;
  height: 36px;
  display: block;
  object-fit: contain;
}

.nav-brand-mark svg{
  display:none !important;
}



/* Buy credits page */
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.credit-card{
  position:relative;
  border:1px solid var(--border-2);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,243,234,.92));
  box-shadow:var(--shadow-sm);
  padding:1.25rem;
  display:flex;
  flex-direction:column;
  gap:.9rem;
}
.credit-card.featured{
  border-color:rgba(199,161,74,.58);
  box-shadow:0 22px 55px rgba(199,161,74,.16);
}
.credit-badge{
  position:absolute;
  top:14px;
  right:14px;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--gold-3);
  background:rgba(199,161,74,.16);
  border:1px solid rgba(199,161,74,.24);
  padding:.3rem .55rem;
  border-radius:999px;
}
.credit-size{
  font-size:2rem;
  font-weight:900;
  letter-spacing:-.03em;
}
.credit-price{
  font-size:1.55rem;
  font-weight:900;
}
.credit-meta{
  color:var(--muted);
  font-size:.94rem;
}
.credit-points{
  display:grid;
  gap:.45rem;
  padding:0;
  margin:0;
  list-style:none;
}
.credit-points li{
  display:flex;
  gap:.55rem;
  align-items:flex-start;
}
.credit-points li::before{
  content:"✓";
  color:var(--success);
  font-weight:900;
  margin-top:.02rem;
}
.cart-layout{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr);
  gap:1rem;
}
.cart-summary{
  position:sticky;
  top:96px;
}
.cart-line{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.6rem 0;
  border-bottom:1px solid var(--border);
}
.cart-line:last-child{
  border-bottom:0;
}
.qty-row{
  display:flex;
  align-items:center;
  gap:.55rem;
}
.qty-chip{
  min-width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid var(--border-2);
  background:#fff;
  color:var(--ink);
  font-weight:800;
  cursor:pointer;
}
.package-select{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  padding:.95rem 1rem;
}
.package-select.active{
  border-color:rgba(199,161,74,.55);
  box-shadow:0 14px 34px rgba(199,161,74,.12);
}
.package-left strong{
  display:block;
  font-size:1rem;
}
.package-left span{
  color:var(--muted);
  font-size:.92rem;
}
.checkout-placeholder{
  border:1px dashed rgba(199,161,74,.45);
  border-radius:18px;
  background:rgba(199,161,74,.08);
  padding:1rem;
  color:var(--muted);
}
.tiny-note{
  font-size:.82rem;
  color:var(--muted);
}
@media (max-width: 980px){
  .pricing-grid{grid-template-columns:1fr;}
  .cart-layout{grid-template-columns:1fr;}
  .cart-summary{position:static;}
}


.admin-users-table{
  table-layout: fixed;
}

.admin-users-table th,
.admin-users-table td{
  white-space: normal;
}

.admin-users-table .role-select,
.admin-users-table .admin-credits-input{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.admin-users-table .admin-credits-input{
  min-width: 72px;
  text-align: right;
}

.admin-users-table .credits-cell,
.admin-users-table .actions-cell{
  white-space: nowrap;
}

.admin-users-table .actions-cell .mini-btn{
  min-width: 72px;
}
