:root{
  --bg:#000000;
  --panel:#111111;
  --panel-elevated:#1a1a1a;
  --text:#ffffff;
  --muted:#b8b8b8;
  --accent:#FFCF00;
  --accent-2:#FFE566;
  --accent-red:#E30613;
  --border:rgba(255,207,0,.35);
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:20px;
  --shadow-card:0 12px 40px rgba(0,0,0,.45);
}

*{box-sizing:border-box}

html{height:100%}

body{
  min-height:100vh;
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Roboto,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

.container{max-width:1140px;margin:0 auto;padding:0 24px}

/* ===== HEADER ===== */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:#000;
  border-bottom:3px solid var(--accent);
  box-shadow:0 4px 24px rgba(0,0,0,.6);
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  gap:16px;
}

.brand{text-decoration:none;display:flex;align-items:center}
.site-header .brand{margin-left:-1cm;margin-right:12px}
@media(max-width:720px){.site-header .brand{margin-left:-0.5cm}}

.brand-logo{height:28px}
.logo-box{display:block;height:auto;max-height:52px;width:auto;max-width:200px;background:transparent;border:0;border-radius:0}
.site-header .brand .logo-box{max-height:48px}

.nav-links{display:flex;gap:20px;align-items:center}

.nav-links a{
  color:var(--text);
  text-decoration:none;
  font-weight:600;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  position:relative;
  padding:4px 0;
}

.nav-links a:hover{color:var(--accent)}

.nav-links a.active::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:3px;
  background:var(--accent);
}

.cta{
  background:var(--accent);
  color:#000;
  border:0;
  border-radius:var(--radius-sm);
  padding:10px 18px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:13px;
}

.menu-toggle{
  display:none;
  margin-left:8px;
  background:transparent;
  border:2px solid var(--accent);
  color:var(--accent);
  border-radius:var(--radius-sm);
  padding:8px 12px;
  font-size:22px;
  cursor:pointer;
}

@media(max-width:880px){
  .nav-links{display:none}
  .menu-toggle{display:block}
}

/* ===== BUTTONS ===== */
.btn-primary,.btn-secondary{
  display:inline-block;
  text-decoration:none;
  border-radius:var(--radius-sm);
  padding:14px 24px;
  font-weight:800;
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.btn-primary{
  background:var(--accent);
  color:#000;
  border:2px solid var(--accent);
}

.btn-primary:hover{
  background:#ffe033;
  border-color:#ffe033;
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(255,207,0,.35);
}

.btn-secondary{
  background:transparent;
  border:2px solid var(--accent);
  color:var(--accent);
}

.btn-secondary:hover{
  background:var(--accent);
  color:#000;
}

.nav-btn{
  margin-left:auto;
  padding:10px 18px;
  font-size:12px;
  white-space:nowrap;
}

.site-header .btn-primary{margin-left:auto}

/* ===== HERO ===== */
.hero{
  position:relative;
  padding:56px 0 72px;
  background:
    linear-gradient(135deg,rgba(255,207,0,.08) 0%,transparent 42%),
    #000;
  border-bottom:1px solid rgba(255,207,0,.2);
}

.hero-grid{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:40px;
  align-items:center;
}

@media(max-width:900px){
  .hero-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
}

.hero-copy{text-align:left}

.hero-eyebrow{
  display:inline-block;
  margin:0 0 16px;
  padding:8px 14px;
  background:var(--accent);
  color:#000;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-radius:var(--radius-sm);
}

.hero h1{
  font-size:clamp(32px,4.5vw,48px);
  line-height:1.08;
  margin:0 0 16px;
  max-width:none;
  font-weight:900;
  text-align:left;
}

.accent{color:var(--accent)}

.sub{
  color:var(--muted);
  font-size:17px;
  line-height:1.6;
  max-width:720px;
}

.hero-sub{
  margin:0;
  text-align:left;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-top:28px;
}

.hero-visual{display:flex;align-items:center;justify-content:center}

.hero-banner{width:100%;background:transparent}

.hero-banner img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
  max-height:480px;
  border-radius:var(--radius-lg);
  border:3px solid var(--accent);
  box-shadow:var(--shadow-card);
}

@media(max-width:720px){
  .hero-banner img{max-height:320px}
}

.badge{
  display:inline-block;
  background:var(--panel);
  border:2px solid var(--border);
  padding:8px 12px;
  border-radius:var(--radius-sm);
  color:var(--muted);
  font-size:13px;
  font-weight:600;
}

.hero-pills{display:flex;gap:12px;flex-wrap:wrap}

.pill{
  display:inline-block;
  padding:10px 16px;
  border-radius:var(--radius-sm);
  background:var(--panel);
  border:2px solid var(--accent);
  text-decoration:none;
  color:var(--text);
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  transition:background .2s ease,transform .2s ease;
}

.pill:hover{
  background:rgba(255,207,0,.15);
  color:var(--accent);
  transform:translateY(-2px);
}

/* ===== SECTIONS ===== */
.section{
  padding:80px 0;
  scroll-margin-top:90px;
  border-top:1px solid rgba(255,255,255,.06);
}

.section-band-dark{
  background:linear-gradient(180deg,#0a0a0a 0%,#000 100%);
  border-top:3px solid var(--accent);
}

.section-band-yellow{
  background:var(--accent);
  color:#000;
  border-top:none;
}

.section-band-yellow h2,
.section-band-yellow .sub{
  color:#000;
  border-left-color:#000;
}

.section-band-yellow .btn-primary{
  background:#000;
  color:var(--accent);
  border-color:#000;
}

.section-band-yellow .btn-primary:hover{
  background:#1a1a1a;
  color:var(--accent);
}

.section h2{
  text-align:left;
  margin:0 0 16px;
  font-size:clamp(26px,3vw,36px);
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
  padding-left:20px;
  border-left:6px solid var(--accent);
  line-height:1.15;
}

.section-band-yellow h2{
  text-align:center;
  border-left:none;
  padding-left:0;
}

.section .sub{
  text-align:left;
  margin:0 0 28px;
}

.section-band-yellow .sub{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

.grid{display:grid;gap:20px}

/* ===== CARDS ===== */
.stat-card,
.feature-card{
  background:var(--panel);
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid var(--accent);
  border-radius:var(--radius-md);
  padding:24px;
  box-shadow:var(--shadow-card);
  transition:transform .25s ease,border-color .25s ease;
}

.stat-card{text-align:center}

.feature-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.feature-card:hover,
.stat-card:hover{
  transform:translateY(-3px);
  border-left-color:var(--accent-2);
}

.feature-title{
  font-weight:800;
  margin-bottom:10px;
  font-size:18px;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:15px;
}

.feature-text{color:var(--muted);line-height:1.6}

.stat-value{font-size:20px;font-weight:800;color:var(--accent)}
.stat-note{margin-top:8px;color:var(--muted);font-size:14px}

.stats-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.stats-grid{grid-template-columns:1fr}}

/* ===== FAQ ===== */
.faq .faq-grid{
  grid-template-columns:1fr;
  gap:14px;
  margin-top:8px;
}

.faq .feature-card{
  border-left-width:6px;
  padding:20px 24px;
}

.faq .feature-title{
  font-size:16px;
  margin-bottom:8px;
}

/* ===== PLAN / ROADMAP ===== */
.plan h3{
  text-align:left;
  font-size:22px;
  font-weight:800;
  margin:64px 0 24px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--accent);
  padding-bottom:12px;
  border-bottom:2px solid var(--border);
}

.plan .plan-3{grid-template-columns:repeat(3,1fr);margin-top:8px}
@media(max-width:980px){.plan .plan-3{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.plan .plan-3{grid-template-columns:1fr}}

.plan .plan-2{grid-template-columns:1fr 1fr;margin-top:8px}
@media(max-width:560px){.plan .plan-2{grid-template-columns:1fr}}

.phase-card{
  border:2px solid var(--accent);
  background:var(--panel-elevated);
  border-left-width:6px;
}

.phase-title{
  color:var(--accent);
  font-size:18px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.phase-block{margin-top:56px}

.phase-heading{
  text-align:left;
  font-size:24px;
  font-weight:900;
  color:var(--accent);
  margin-bottom:24px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:12px 18px;
  background:rgba(255,207,0,.1);
  border-left:6px solid var(--accent);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}

.roadmap .roadmap-grid{grid-template-columns:repeat(4,1fr);margin-top:12px}
@media(max-width:980px){.roadmap .roadmap-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.roadmap .roadmap-grid{grid-template-columns:1fr}}

/* ===== DONATIONS / TOKEN / ABOUT ===== */
.donations .split-grid{grid-template-columns:repeat(3,1fr);margin-top:12px}
@media(max-width:980px){.donations .split-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.donations .split-grid{grid-template-columns:1fr}}

.donation-form{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px;
  align-items:end;
  margin-top:16px;
}

@media(max-width:720px){.donation-form{grid-template-columns:1fr}}

.donation-form label{font-weight:700}

.donation-form input[type=number],
.form-grid input,.form-grid select,.form-grid textarea{
  width:100%;
  padding:12px 14px;
  border-radius:var(--radius-sm);
  border:2px solid rgba(255,255,255,.12);
  color:var(--text);
  background:var(--panel);
}

.split-options{display:flex;gap:12px;flex-wrap:wrap}

.split-options label{
  display:flex;
  align-items:center;
  gap:8px;
  background:var(--panel);
  border:2px solid var(--border);
  padding:10px 14px;
  border-radius:var(--radius-sm);
}

.bar{
  width:100%;
  height:12px;
  border-radius:var(--radius-sm);
  background:var(--panel-elevated);
  border:1px solid rgba(255,255,255,.08);
  margin:8px 0;
}

.bar-fill{
  height:100%;
  border-radius:var(--radius-sm);
  background:var(--accent);
  width:0%;
  transition:width .6s ease;
}

.token .chip-list{margin:24px 0}

.token-grid{grid-template-columns:repeat(4,1fr);margin-top:12px}
@media(max-width:980px){.token-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.token-grid{grid-template-columns:1fr}}

.chip-list{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin:22px 0}

.token-visual{display:flex;justify-content:center;margin:12px auto 8px}

.token-visual img{
  width:100%;
  max-width:580px;
  border-radius:var(--radius-lg);
  border:3px solid var(--accent);
  box-shadow:var(--shadow-card);
  transition:transform .28s ease;
}

.token-visual img:hover{transform:scale(1.02)}

.about .about-grid{grid-template-columns:repeat(3,1fr);margin-top:12px}
@media(max-width:980px){.about .about-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.about .about-grid{grid-template-columns:1fr}}

.chip-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;margin-top:18px}

.timeline{
  display:flex;
  gap:14px;
  justify-content:flex-start;
  flex-wrap:wrap;
  margin-top:22px;
}

.timeline-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:var(--radius-sm);
  background:var(--panel);
  border:2px solid var(--border);
  border-left-width:4px;
}

.timeline .year{font-weight:900;color:var(--accent)}
.timeline .desc{color:var(--muted)}

/* ===== VIDEO / LOCATIONS / FRANQUIA ===== */
.video .video-frame{
  width:100%;
  max-width:1000px;
  margin:0 auto;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:3px solid var(--accent);
  box-shadow:var(--shadow-card);
}

.video .video-frame video{width:100%;height:auto;display:block;background:#000}

.video-callout{
  display:block;
  width:fit-content;
  text-align:center;
  margin:0 auto 20px;
  padding:12px 22px;
  border-radius:var(--radius-sm);
  background:var(--accent);
  color:#000;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:13px;
}

.video-frame{display:flex;justify-content:center}

.video-frame video{
  width:100%;
  max-width:760px;
  border-radius:var(--radius-lg);
  border:3px solid var(--accent);
}

.locations .container{display:flex;flex-direction:column;align-items:flex-start;gap:16px}

.map-box{
  width:100%;
  max-width:760px;
  height:220px;
  border-radius:var(--radius-md);
  background:var(--panel);
  border:2px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:center;
}

.states{display:flex;flex-wrap:wrap;gap:10px}

.states span{
  padding:8px 14px;
  border-radius:var(--radius-sm);
  background:var(--panel);
  border:2px solid var(--border);
  color:var(--muted);
  font-weight:600;
  font-size:13px;
}

.franquia .feature-grid{grid-template-columns:repeat(3,1fr);margin-top:8px}
@media(max-width:980px){.franquia .feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.franquia .feature-grid{grid-template-columns:1fr}}

.suppliers .logo-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:720px){.suppliers .logo-grid{grid-template-columns:repeat(2,1fr)}}

.cta-row{display:flex;justify-content:flex-start;margin-top:28px}

.lead-form{
  margin-top:26px;
  padding:24px;
  border-radius:var(--radius-md);
  background:var(--panel);
  border:2px solid var(--border);
  border-left-width:6px;
}

.lead-form h3{text-align:left;margin:0 0 12px;font-size:22px}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:720px){.form-grid{grid-template-columns:1fr}}

.consent{display:flex;align-items:center;gap:10px;color:var(--muted)}
.lead-form button{margin-top:10px}

.steps{
  max-width:800px;
  margin:26px 0 0;
  background:var(--panel);
  border:2px solid var(--border);
  border-left:6px solid var(--accent);
  border-radius:var(--radius-md);
  padding:24px;
}

.steps-title{font-weight:800;margin-bottom:8px;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}
.steps ol{margin:0;padding-left:18px;color:var(--muted)}
.steps li{margin:6px 0}

.section .grid{align-items:stretch}
.section .grid .feature-card{height:100%}
.faq .faq-grid,.plan .plan-3,.plan .plan-2,.donations .split-grid,.about .about-grid,.token-grid{grid-auto-rows:1fr}

.final-cta h2{
  text-align:center;
  border-left:none;
  padding-left:0;
}

.final-cta .sub{text-align:center;margin-left:auto;margin-right:auto}

/* ===== FOOTER ===== */
.site-footer{
  padding:40px 0;
  border-top:3px solid var(--accent);
  background:#000;
}

.site-footer .container{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:10px;
}

.footer-brand{font-weight:800;text-transform:uppercase;letter-spacing:.06em}

.footer-logo{
  height:26px;
  margin-right:10px;
  vertical-align:middle;
  opacity:.95;
}

.footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}

.footer-links a{
  color:var(--muted);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
}

.footer-links a:hover{color:var(--accent)}

.footer-dev{
  margin-top:15px;
  text-align:center;
  font-size:14px;
  color:var(--muted);
}

.footer-dev a{
  color:var(--accent);
  text-decoration:none;
  font-weight:700;
}

.footer-dev a:hover{text-decoration:underline}

.logo-site{height:40px}

/* ===== USER ICON (painel etc.) ===== */
.user-actions{display:flex;align-items:center;gap:18px}

.user-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--panel);
  color:var(--accent);
  transition:.2s ease;
  border:2px solid var(--border);
}

.user-icon:hover{
  background:var(--accent);
  color:#000;
  transform:scale(1.05);
}

/* ===== REVEAL ===== */
.reveal{
  opacity:0;
  transform:translateY(16px);
  transition:.6s ease;
  transition-delay:var(--reveal-delay,0s);
}

.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

/* ===== MOBILE MENU (legado #mobileMenu = .mobile-overlay) ===== */
#mobileMenu,
.mobile-overlay{
  position:fixed;
  top:0;
  right:-300px;
  width:280px;
  height:100vh;
  background:#000;
  border-left:3px solid var(--accent);
  transition:right .3s ease;
  z-index:9999;
}

#mobileMenu.active,
.mobile-overlay.active{right:0}

.mobile-menu{padding:30px 20px}

.mobile-menu-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:24px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--accent);
}

.mobile-menu-header button{
  background:none;
  border:none;
  color:var(--accent);
  font-size:22px;
  cursor:pointer;
}

.mobile-menu a,
#mobileMenu > a{
  display:block;
  margin-bottom:18px;
  text-decoration:none;
  color:var(--text);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:14px;
}

.mobile-menu a:hover,
#mobileMenu > a:hover{color:var(--accent)}

@media(max-width:900px){
  .desktop-menu{display:none !important}
  .menu-toggle{
    display:block;
    background:none;
    border:2px solid var(--accent);
    font-size:28px;
    color:var(--accent);
  }
}

@media(min-width:901px){
  .menu-toggle{display:none}
}

/* ===== BACK TO TOP ===== */
#backToTop{
  position:fixed;
  bottom:30px;
  right:30px;
  width:52px;
  height:52px;
  border-radius:var(--radius-sm);
  border:2px solid #000;
  background:var(--accent);
  color:#000;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 22px rgba(255,207,0,.35);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:all .3s ease;
  z-index:999;
}

#backToTop svg{width:22px;height:22px}

#backToTop.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

#backToTop:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(255,207,0,.45);
}

/* ===== PÁGINAS INTERNAS (herdam tema Graal) ===== */
.form-card,
.wallet-card,
.erro-box,
.auth-card,
.panel-card,
.page-card{
  background:var(--panel);
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid var(--accent);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);
}

.submit-btn,
button.btn-primary,
input[type="submit"].btn-primary{
  background:var(--accent)!important;
  color:#000!important;
  border:2px solid var(--accent)!important;
  border-radius:var(--radius-sm)!important;
  font-weight:800!important;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.submit-btn:hover,
button.btn-primary:hover{
  background:#ffe033!important;
  border-color:#ffe033!important;
}

.copy-btn{
  border-radius:var(--radius-sm)!important;
  border-width:2px!important;
  font-weight:700;
}

.form-group input:not([type="radio"]),
.form-group select,
.form-group textarea{
  border-radius:var(--radius-sm)!important;
  border:2px solid rgba(255,255,255,.12)!important;
  background:var(--panel-elevated)!important;
}

.info-box,
.doacao-box,
.split-card{
  border-radius:var(--radius-sm)!important;
  border:2px solid var(--border)!important;
  background:var(--panel-elevated)!important;
}

/* ===== LAYOUT PÁGINAS INTERNAS ===== */
.client-section,
.buy-section,
.dashboard-section{
  padding:48px 0 72px;
}

.buy-section h1{margin-bottom:32px}

.client-section h1,
.buy-section h1,
.dashboard-section h1{
  font-size:clamp(26px,3vw,34px);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
  margin:0 0 8px;
  padding-left:18px;
  border-left:6px solid var(--accent);
}

.page-lead{
  color:var(--muted);
  margin:0 0 28px;
  max-width:720px;
}

/* ===== AUTH / LOGIN / 2FA ===== */
.auth-wrapper,
.confirm-wrapper{
  min-height:70vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 20px;
}

.auth-box,
.msg-box{
  width:100%;
  max-width:480px;
  margin:80px auto;
  background:var(--panel);
  padding:36px;
  border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid var(--accent);
  box-shadow:var(--shadow-card);
  text-align:center;
  animation:fadeIn .5s ease;
}

@keyframes fadeIn{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}

.auth-box h2,
.msg-box h2{margin-bottom:12px;text-align:center}

.auth-box p{
  color:var(--muted);
  text-align:center;
  margin-bottom:20px;
  font-size:14px;
}

.esqueci-link{
  color:var(--muted);
  text-decoration:none;
  font-size:14px;
  transition:color .2s ease;
}

.esqueci-link:hover{color:var(--accent)}

.info{
  font-size:13px;
  color:var(--muted);
  text-align:center;
  margin-top:10px;
}

.auth-box .qr{margin-top:20px;text-align:center}

.auth-tabs{
  display:flex;
  border-bottom:2px solid rgba(255,255,255,.08);
  margin-bottom:24px;
}

.auth-tab{
  flex:1;
  padding:12px;
  background:transparent;
  border:none;
  color:var(--muted);
  cursor:pointer;
  font-weight:700;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
  border-bottom:3px solid transparent;
  margin-bottom:-2px;
}

.auth-tab.active{
  color:var(--accent);
  border-bottom-color:var(--accent);
}

.auth-form{display:none}
.auth-form.active{display:block}

.search-input,
.auth-box input:not([type="checkbox"]):not([type="radio"]),
.auth-wrapper input:not([type="checkbox"]):not([type="radio"]),
.confirm-wrapper input{
  width:100%;
  padding:12px 16px;
  background:var(--panel-elevated);
  border:2px solid rgba(255,255,255,.12);
  border-radius:var(--radius-sm);
  color:var(--text);
  font-size:16px;
  margin-bottom:16px;
}

.search-input:focus,
.auth-box input:focus,
.perfil-linha input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(255,207,0,.2);
  outline:none;
}

.btn-search,
.auth-box button[type="submit"],
.auth-wrapper button[type="submit"],
.confirm-wrapper button[type="submit"]{
  width:100%;
  background:var(--accent);
  color:#000;
  border:2px solid var(--accent);
  padding:12px 16px;
  border-radius:var(--radius-sm);
  font-weight:800;
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}

.btn-search:hover,
.auth-box button[type="submit"]:hover,
.auth-wrapper button[type="submit"]:hover{
  background:#ffe033;
  border-color:#ffe033;
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(255,207,0,.3);
}

.reenviar{margin-top:14px;font-size:14px;color:var(--muted)}

.reenviar button{
  background:transparent!important;
  color:var(--muted)!important;
  border:none!important;
  box-shadow:none!important;
  transform:none!important;
  padding:0!important;
  width:auto!important;
  font-weight:400!important;
  font-size:14px!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  margin-top:8px;
}

.reenviar button:hover{color:var(--accent)!important}
.reenviar button:disabled{cursor:default}

button[name="reenviar"].reenviar{
  background:transparent!important;
  border:2px solid var(--accent)!important;
  color:var(--accent)!important;
  padding:10px 16px!important;
  width:100%!important;
  font-weight:700!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}

button[name="reenviar"].reenviar:hover{
  background:var(--accent)!important;
  color:#000!important;
}

.auth-box input[name="codigo"]{
  text-align:center;
  letter-spacing:4px;
  font-size:18px;
}

.perfil-form .twofa-option{
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
}

.perfil-form .twofa-option input[type="radio"]{
  accent-color:var(--accent);
  transform:scale(1.2);
  width:auto;
  margin-bottom:0;
}

.toast-aviso{background:#dc2626}

.erro,
.sucesso{
  padding:12px 14px;
  border-radius:var(--radius-sm);
  margin-bottom:16px;
  text-align:center;
  font-size:14px;
}

.erro{
  background:rgba(244,67,54,.1);
  border-left:4px solid #f44336;
  color:#f44336;
}

.sucesso,
.msg{
  background:rgba(76,175,80,.1);
  border-left:4px solid #4caf50;
  color:#4caf50;
}

.msg-box p{color:var(--muted);margin-bottom:15px}

.icon{font-size:40px;margin-bottom:10px}

.input-group{text-align:left;margin-bottom:16px}

.password-wrapper{
  position:relative;
  width:100%;
  margin-bottom:16px;
}

.password-wrapper .search-input{
  margin-bottom:0;
  padding-right:45px;
}

.toggle-password{
  position:absolute;
  right:15px;
  top:50%;
  transform:translateY(-50%);
  cursor:pointer;
  color:var(--muted);
  font-size:16px;
  z-index:5;
}

.toggle-password:hover{color:var(--text)}

.cpf-error{
  display:none;
  color:#ff4d4f;
  font-size:12px;
  margin-top:-10px;
  padding-left:4px;
}

.search-input.error{
  border-color:#ff4d4f!important;
  box-shadow:0 0 0 2px rgba(255,77,79,.15)!important;
}

/* 2FA cards */
.twofa-register{
  display:flex;
  gap:12px;
  margin:12px 0 16px;
}

.twofa-option{
  flex:1;
  cursor:pointer;
  display:flex;
}

.twofa-option input{display:none}

.twofa-card{
  flex:1;
  padding:14px;
  border-radius:var(--radius-sm);
  background:var(--panel-elevated);
  border:2px solid rgba(255,255,255,.1);
  display:flex;
  flex-direction:column;
  text-align:left;
  transition:border-color .2s ease,box-shadow .2s ease;
}

.twofa-card strong{font-size:14px}
.twofa-card span{font-size:12px;color:var(--muted)}

.twofa-option input:checked + .twofa-card,
.twofa-option input:checked ~ .twofa-card{
  border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(255,207,0,.2);
}

@media(max-width:600px){
  .twofa-register{flex-direction:column}
}

/* ===== COMPRAR ===== */
.buy-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  margin-top:28px;
}

@media(max-width:880px){
  .buy-grid{grid-template-columns:1fr}
}

.wallet-card,
.form-card{
  padding:32px;
}

.form-card h3,
.wallet-card h3{
  margin:0 0 12px;
  font-size:18px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--accent);
}

.wallet-card{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.qr-placeholder{
  width:200px;
  height:200px;
  background:#fff;
  margin:20px auto;
  border-radius:var(--radius-sm);
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid var(--accent);
}

.wallet-address{
  background:var(--panel-elevated);
  padding:12px;
  border-radius:var(--radius-sm);
  font-family:monospace;
  word-break:break-all;
  margin:16px 0;
  border:2px solid var(--border);
  color:var(--accent);
  font-size:13px;
}

.form-group{margin-bottom:20px}

.form-group label{
  display:block;
  margin-bottom:8px;
  font-weight:600;
  color:var(--muted);
  font-size:14px;
}

.buy-section .split-options{
  flex-direction:column;
  gap:12px;
}

.buy-section .split-card{
  display:flex!important;
  align-items:flex-start;
  gap:12px;
  padding:14px;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease;
}

.buy-section .split-card input[type="radio"]{
  margin-top:4px;
  flex-shrink:0;
  accent-color:var(--accent);
}

.buy-section .split-card input[type="radio"]:checked + .split-text strong{color:var(--accent)}

.buy-section .split-text{
  display:flex;
  flex-direction:column;
}

.buy-section .split-text strong{font-size:14px;line-height:1.2}
.buy-section .split-text span{font-size:12px;color:var(--muted);margin-top:4px}

.custom-split{
  display:none;
  margin-top:15px;
  padding:15px;
  background:var(--panel-elevated);
  border-radius:var(--radius-sm);
  border:2px solid var(--border);
}

.custom-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.custom-row input{width:70px;padding:6px}

.erro-split{color:#f44336;font-size:13px;margin-top:5px}

.info-box strong{color:var(--accent);font-size:16px}

/* ===== PAINEL / DASHBOARD ===== */
.grid-principal{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:28px;
  margin-top:28px;
  align-items:start;
}

.metric-box{
  background:var(--panel);
  padding:22px;
  border-radius:var(--radius-md);
  margin-bottom:20px;
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid var(--accent);
  box-shadow:var(--shadow-card);
}

.saldo-box{
  font-size:22px;
  font-weight:800;
  color:var(--accent);
  margin-top:10px;
}

.tabela{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}

.tabela th,
.tabela td{
  padding:10px 8px;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-align:left;
}

.tabela th{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700;
}

.tabela tr:hover{background:rgba(255,207,0,.04)}

.checkbox-cancelado{
  display:flex;
  align-items:center;
  gap:10px;
  margin:15px 0;
  font-size:13px;
  color:var(--muted);
}

.status-pago{color:#4caf50;font-weight:700}
.status-pendente{color:#ff9800;font-weight:700}
.status-cancelado,.status-expirado{color:#f44336;font-weight:700}

@media(max-width:900px){
  html,body{overflow-x:hidden}

  .grid-principal{
    grid-template-columns:1fr;
    gap:20px;
  }

  .tabela{
    display:block;
    width:100%;
    overflow-x:auto;
    white-space:nowrap;
  }

  canvas{
    width:100%!important;
    height:auto!important;
  }
}

/* ===== PERFIL ===== */
.perfil-form{
  margin-top:32px;
  background:var(--panel);
  padding:36px;
  border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid var(--accent);
  box-shadow:var(--shadow-card);
}

.perfil-linha{
  display:flex;
  align-items:center;
  gap:24px;
  margin-bottom:20px;
}

.perfil-label{
  width:200px;
  min-width:200px;
  font-weight:700;
  color:var(--muted);
  font-size:14px;
}

.perfil-linha input{
  flex:1;
  max-width:420px;
  padding:12px 16px;
  background:var(--panel-elevated);
  border:2px solid rgba(255,255,255,.12);
  border-radius:var(--radius-sm);
  color:var(--text);
  font-size:15px;
}

.perfil-linha input:disabled{
  opacity:.6;
  cursor:not-allowed;
}

.perfil-acoes{
  margin-top:32px;
  display:flex;
  justify-content:flex-end;
}

.twofa-box{width:100%;max-width:420px}
.twofa-form{display:flex;flex-direction:column;gap:14px}
.twofa-btn{margin-top:10px}

@media(max-width:700px){
  .perfil-linha{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }

  .perfil-label{width:auto;min-width:auto}
}

/* ===== LEGAL / CONTATO ===== */
.legal-container{max-width:900px;margin:0 auto}

.legal-card{margin-top:24px}

.legal-card h3{
  margin-top:28px;
  margin-bottom:10px;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:16px;
}

.legal-card ul,
.legal-card p{line-height:1.7}

.legal-card ul{color:var(--muted)}

.legal-card a{color:var(--accent)}

/* ===== HEADER MOBILE (painel/comprar) ===== */
@media(max-width:768px){
  .site-header .nav{
    flex-direction:row!important;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
  }

  .site-header .nav-links{
    display:flex!important;
    gap:12px;
  }

  .site-header .nav-links a{
    display:inline-block!important;
    font-size:12px;
  }

  .site-header .cta{display:inline-block!important}
}

/* ===== CONFIRMAÇÃO / TOAST ===== */
.confirm-box{
  width:100%;
  max-width:520px;
  background:var(--panel);
  padding:40px;
  border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid var(--accent);
  box-shadow:var(--shadow-card);
  text-align:center;
  animation:fadeIn .5s ease;
}

.confirm-box h1{font-size:26px;margin-bottom:18px}
.confirm-box p{font-size:17px;margin-bottom:15px}

.success-icon{font-size:48px;margin-bottom:15px}

.progress{
  width:100%;
  height:6px;
  background:rgba(255,255,255,.08);
  border-radius:var(--radius-sm);
  overflow:hidden;
  margin:15px 0 20px;
}

.progress-bar{
  height:100%;
  width:100%;
  background:var(--accent);
  animation:progress 5s linear forwards;
}

@keyframes progress{
  from{width:100%}
  to{width:0%}
}

.toast-sucesso{
  position:fixed;
  top:20px;
  right:20px;
  z-index:9999;
  background:#16a34a;
  color:#fff;
  padding:14px 20px;
  border-radius:var(--radius-sm);
  font-weight:700;
  box-shadow:var(--shadow-card);
  opacity:0;
  transform:translateY(-15px);
  transition:.4s;
}

.toast-sucesso.show{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:700px){
  .toast-sucesso{
    left:15px;
    right:15px;
    top:15px;
    text-align:center;
  }
}

.alert-box{
  margin-top:25px;
  padding:15px;
  background:rgba(255,207,0,.12);
  border:2px solid var(--border);
  border-radius:var(--radius-sm);
  font-size:13px;
  color:var(--muted);
  text-align:left;
}

.orders-container{display:none;margin-top:32px}

.countdown{font-size:14px;color:var(--muted)}

/* ===== ADMIN DASHBOARD ===== */
.container.dashboard{
  padding:48px 0 72px;
}

.container.dashboard > h2{
  text-align:left;
  margin:0 0 24px;
  font-size:clamp(24px,3vw,32px);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
  padding-left:18px;
  border-left:6px solid var(--accent);
}

.container.dashboard .cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
  margin-bottom:32px;
}

.container.dashboard .card{
  background:var(--panel);
  padding:22px;
  border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid var(--accent);
  box-shadow:var(--shadow-card);
}

.container.dashboard .card h3{
  font-size:12px;
  color:var(--muted);
  margin:0 0 10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700;
}

.container.dashboard .card strong{
  font-size:22px;
  font-weight:800;
  color:var(--accent);
}

.container.dashboard .config-box{
  background:var(--panel);
  padding:24px;
  border-radius:var(--radius-md);
  margin-bottom:28px;
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid var(--accent);
  box-shadow:var(--shadow-card);
}

.container.dashboard .config-box h3{
  margin:0 0 16px;
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--accent);
}

.container.dashboard .table{
  width:100%;
  border-collapse:collapse;
  margin-top:16px;
  font-size:14px;
}

.container.dashboard .table th,
.container.dashboard .table td{
  padding:10px 8px;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-align:left;
}

.container.dashboard .table th{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700;
}

.container.dashboard .table tr:hover{background:rgba(255,207,0,.04)}

.container.dashboard .table pre{
  margin:8px 0;
  padding:12px;
  background:var(--panel-elevated);
  border-radius:var(--radius-sm);
  font-size:12px;
  overflow-x:auto;
}

.container.dashboard input,
.container.dashboard select{
  padding:10px 12px;
  border-radius:var(--radius-sm);
  border:2px solid rgba(255,255,255,.12);
  background:var(--panel-elevated);
  color:var(--text);
  margin-right:10px;
  margin-bottom:8px;
}

.container.dashboard select option{
  background:#111;
  color:var(--text);
}

.container.dashboard input:focus,
.container.dashboard select:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(255,207,0,.2);
}

.container.dashboard button{
  padding:10px 18px;
  border-radius:var(--radius-sm);
  background:var(--accent);
  border:2px solid var(--accent);
  color:#000;
  font-weight:800;
  font-size:13px;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}

.container.dashboard button:hover{
  background:#ffe033;
  border-color:#ffe033;
  transform:translateY(-1px);
}

.container.dashboard .btn{
  padding:8px 14px;
  border-radius:var(--radius-sm);
  text-decoration:none;
  color:#fff;
  font-size:12px;
  font-weight:700;
  border:none;
  cursor:pointer;
  display:inline-block;
}

.container.dashboard .btn-aprovar{background:#4caf50}
.container.dashboard .btn-cancelar{background:#f44336}

.container.dashboard .progress-bar{
  height:14px;
  background:var(--panel-elevated);
  border-radius:var(--radius-sm);
  overflow:hidden;
  margin-top:10px;
  border:1px solid rgba(255,255,255,.08);
}

.container.dashboard .progress-fill{
  height:100%;
  background:var(--accent);
  transition:width .4s ease;
}

.filtro-periodo{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:28px;
  flex-wrap:wrap;
}

.titulo-filtro{
  color:var(--muted);
  font-size:14px;
  margin-right:10px;
  font-weight:600;
}

.btn-periodo{
  padding:8px 16px;
  border-radius:var(--radius-sm);
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  border:2px solid var(--border);
  background:var(--panel);
  color:var(--muted);
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.btn-periodo:hover{
  background:rgba(255,207,0,.12);
  color:var(--accent);
  border-color:var(--accent);
}

.btn-periodo.ativo{
  background:var(--accent);
  color:#000;
  border-color:var(--accent);
  font-weight:800;
}

.status-badge{
  padding:4px 10px;
  border-radius:var(--radius-sm);
  font-weight:700;
  font-size:11px;
  letter-spacing:.04em;
  display:inline-block;
  text-transform:uppercase;
}

.status-badge.status-pago{
  background:rgba(76,175,80,.15);
  color:#4caf50;
  border:1px solid #4caf50;
}

.status-badge.status-cancelado{
  background:rgba(244,67,54,.15);
  color:#f44336;
  border:1px solid #f44336;
}

.status-badge.status-expirado{
  background:rgba(255,207,0,.15);
  color:var(--accent);
  border:1px solid var(--accent);
}

.status-badge.status-pendente,
.status-badge.status-aguardando{
  background:rgba(255,255,255,.06);
  color:var(--muted);
  border:1px solid rgba(255,255,255,.2);
}

.admin-pagination{
  margin-top:20px;
  text-align:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
}

.admin-pagination a{
  color:var(--muted);
  text-decoration:none;
  padding:6px 10px;
  border-radius:var(--radius-sm);
  border:1px solid transparent;
  font-size:14px;
}

.admin-pagination a:hover,
.admin-pagination a.active{
  color:var(--accent);
  border-color:var(--accent);
  font-weight:800;
}

.admin-log-row{
  display:none;
  background:rgba(255,207,0,.04)!important;
}

.text-muted{color:var(--muted)}

/* ===== FLASH / MENSAGENS CENTRALIZADAS ===== */
.flash-center{
  margin:0;
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:center;
  background:#000;
  font-family:Roboto,system-ui,sans-serif;
}

.flash-box{
  background:var(--panel);
  padding:40px;
  border-radius:var(--radius-md);
  text-align:center;
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid var(--accent);
  box-shadow:var(--shadow-card);
  max-width:480px;
  width:90%;
}

.flash-box h2{
  margin:0 0 16px;
  font-size:22px;
  font-weight:800;
}

.flash-box h2.is-error{color:#f44336}
.flash-box h2.is-success{color:var(--accent)}

.flash-box p{
  color:var(--muted);
  font-size:15px;
  line-height:1.5;
  margin:0;
}

.flash-box .contador{
  margin-top:18px;
  font-size:14px;
  color:var(--muted);
}

.flash-box .contador span{
  color:var(--accent);
  font-weight:800;
}

