/* ============================================================
   Nidus Hub — Folha de estilos principal
   ============================================================ */
:root {
  --preto:         #0A0A0A;
  --preto-card:    #111111;
  --preto-borda:   #1E1E1E;
  --magenta:       #A0147A;
  --magenta-claro: #C4259A;
  --magenta-escuro:#7A0D5E;
  --magenta-suave: rgba(160,20,122,0.08);
  --cinza:         #888888;
  --cinza-claro:   #CCCCCC;
  --branco:        #FFFFFF;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Barlow',sans-serif;background:var(--preto);color:var(--branco);overflow-x:hidden;}

/* ── LAYOUT WRAPPER: sidebar + conteúdo ─────────────────── */
:root { --sidebar-w: 220px; }

.site-wrapper{
  display:flex;
  min-height:100vh;
}

/* SIDEBAR ESQUERDA */
.sidebar{
  width:var(--sidebar-w);
  min-width:var(--sidebar-w);
  background:#080808;
  border-right:1px solid var(--preto-borda);
  position:fixed;
  top:0;left:0;bottom:0;
  z-index:200;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:22px 16px;
  overflow-y:auto;
}

.sidebar-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background-color: white;
  box-shadow: inset 0 0 10px 10px black; 
  border:1px solid rgba(160,20,122,0.35);
  border-radius:14px;
  padding:10px 10px;
  width:100%;
  max-width:150px;
  transition:border-color .25s, box-shadow .25s;
}
.sidebar-logo:hover{
  border-color:rgba(160,20,122,0.7);
  box-shadow:0 0 28px rgba(160,20,122,0.18);
}
.sidebar-logo img{
  width:100%;
  max-width:118px;
  height:auto;
  display:block;
}

/* CONTEÚDO PRINCIPAL (empurrado para a direita da sidebar) */
.site-content{
  margin-left:var(--sidebar-w);
  flex:1;
  min-width:0;
}

/* ── NAV (dentro de .site-content) ──────────────────────── */
nav{
  position:fixed;
  top:0;
  left:var(--sidebar-w);
  right:0;
  z-index:100;
  background:rgba(10,10,10,0.96);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--preto-borda);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:0 5%;
  height:72px;
}
.nav-links{display:flex;align-items:center;gap:4px;}
.nav-links a{color:var(--cinza);text-decoration:none;font-size:14px;font-weight:400;padding:8px 16px;border-radius:6px;transition:all .2s;}
.nav-links a:hover{color:white;background:rgba(255,255,255,0.06);}
.nav-cta{background:var(--magenta)!important;color:white!important;font-weight:600!important;border-radius:8px!important;}
.nav-cta:hover{background:var(--magenta-claro)!important;}

/* Mobile nav */
.nav-hamburger{display:none;background:none;border:none;color:white;font-size:22px;cursor:pointer;padding:8px;}
.nav-mobile{display:none;flex-direction:column;gap:4px;background:#0F0F0F;border-bottom:1px solid var(--preto-borda);padding:12px 5%;position:fixed;top:72px;left:var(--sidebar-w);right:0;z-index:99;}
.nav-mobile.open{display:flex;}
.nav-mobile a{color:var(--cinza-claro);text-decoration:none;font-size:15px;padding:12px 0;border-bottom:1px solid var(--preto-borda);}
.nav-mobile a:last-child{border:none;}
.nav-cta-mobile{color:var(--magenta-claro)!important;font-weight:600!important;}

/* ── HERO ─────────────────────────────────────────────────── */
#hero{min-height:100vh;display:flex;align-items:center;padding:110px 5% 70px;position:relative;overflow:hidden;background:var(--preto);}
.hero-hex-bg{position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='80' height='92' viewBox='0 0 80 92' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='40,2 78,23 78,69 40,90 2,69 2,23' fill='none' stroke='rgba(160,20,122,0.06)' stroke-width='1'/%3E%3C/svg%3E");background-repeat:repeat;opacity:.7;}
.hero-glow-left{position:absolute;left:-200px;top:50%;transform:translateY(-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(160,20,122,0.10) 0%,transparent 70%);pointer-events:none;}
.hero-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;width:100%;position:relative;z-index:1;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(160,20,122,0.4);color:var(--magenta-claro);font-size:12px;font-weight:600;padding:6px 14px;border-radius:4px;margin-bottom:28px;letter-spacing:1.5px;text-transform:uppercase;background:rgba(160,20,122,0.08);}
.badge-dot{display:inline-block;width:6px;height:6px;background:var(--magenta-claro);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,5.5vw,76px);line-height:.95;letter-spacing:2px;margin-bottom:28px;color:white;}
.hero-title .accent{color:var(--magenta-claro);}
.hero-desc{font-size:17px;font-weight:300;color:var(--cinza-claro);line-height:1.8;margin-bottom:40px;max-width:460px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn-magenta{background:var(--magenta);color:white;text-decoration:none;font-size:15px;font-weight:600;padding:15px 32px;border-radius:6px;transition:all .2s;display:inline-block;border:none;cursor:pointer;letter-spacing:.5px;}
.btn-magenta:hover{background:var(--magenta-claro);transform:translateY(-2px);box-shadow:0 8px 30px rgba(160,20,122,.4);}
.btn-outline-white{background:transparent;color:white;text-decoration:none;font-size:15px;font-weight:400;padding:15px 32px;border-radius:6px;border:1px solid rgba(255,255,255,.2);transition:all .2s;display:inline-block;cursor:pointer;}
.btn-outline-white:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.05);}
.hero-stats{display:flex;gap:40px;margin-top:52px;padding-top:40px;border-top:1px solid var(--preto-borda);}
.hero-stat-num{font-family:'Bebas Neue',sans-serif;font-size:38px;color:var(--magenta-claro);line-height:1;}
.hero-stat-label{font-size:12px;color:var(--cinza);margin-top:4px;letter-spacing:.5px;}

/* Dashboard mockup */
.hero-visual{position:relative;isolation:isolate;}
.dashboard-frame{background:#0F0F0F;border:1px solid var(--preto-borda);border-radius:12px;overflow:hidden;}
.dashboard-topbar{background:#151515;height:40px;display:flex;align-items:center;padding:0 16px;gap:8px;border-bottom:1px solid var(--preto-borda);}
.dash-dot{width:10px;height:10px;border-radius:50%;}
.dash-label{font-size:10px;color:#555;margin-left:10px;}
.dash-body{display:flex;height:360px;}
.dash-sidebar{width:56px;background:#0A0A0A;border-right:1px solid var(--preto-borda);display:flex;flex-direction:column;align-items:center;padding:16px 0;gap:18px;}
.dash-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;}
.dash-icon.active{background:var(--magenta-suave);border:1px solid rgba(160,20,122,.3);color:var(--magenta-claro);}
.dash-icon.muted{color:#333;}
.dash-main{flex:1;padding:16px;overflow:hidden;}
.dash-title{font-size:10px;font-weight:600;color:var(--cinza);letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;}
.dash-kpi-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;}
.dash-kpi{background:#151515;border-radius:8px;padding:12px;border:1px solid var(--preto-borda);}
.dash-kpi-label{font-size:9px;color:var(--cinza);margin-bottom:4px;}
.dash-kpi-val{font-family:'Bebas Neue',sans-serif;font-size:20px;color:white;}
.dash-kpi-val.magenta{color:var(--magenta-claro);}
.dash-kpi-val.red{color:#F87171;}
.dash-kpi-delta{font-size:9px;margin-top:2px;color:#4ADE80;}
.dash-kpi-delta.green{color:#4ADE80;}
.dash-kpi-delta.blue{color:#60A5FA;}
.dash-kpi-delta.red{color:#F87171;}
.dash-chart-area{background:#151515;border-radius:8px;padding:12px;border:1px solid var(--preto-borda);height:110px;display:flex;align-items:flex-end;gap:5px;margin-top:8px;}
.dash-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;}
.dash-bar{width:100%;border-radius:3px 3px 0 0;background:rgba(160,20,122,.4);}
.dash-bar.bar-destaque{background:var(--magenta);}
.dash-bar-label{font-size:8px;color:var(--cinza);}
.floating-tag{position:absolute;font-size:11px;font-weight:600;padding:7px 14px;border-radius:4px;letter-spacing:.5px;z-index:3;}
.ft-top{top:-12px;right:24px;background:var(--magenta);color:white;}
.ft-bottom{bottom:-12px;left:16px;background:#151515;color:var(--magenta-claro);border:1px solid rgba(160,20,122,.4);}


.hero-screenshot-frame{
  position:relative;
  z-index:1;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(160,20,122,.28);
  background:#0F0F0F;
  box-shadow:0 24px 70px rgba(0,0,0,.45), 0 0 42px rgba(160,20,122,.12);
}
.hero-screenshot-frame::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:14px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.hero-system-screenshot{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:left top;
}

/* ── SECTIONS ─────────────────────────────────────────────── */
section{padding:96px 5%;}
.section-inner{max-width:1200px;margin:0 auto;}
.section-tag{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--magenta-claro);margin-bottom:14px;display:block;}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(34px,4vw,54px);color:white;line-height:1.0;letter-spacing:2px;margin-bottom:18px;}
.section-sub{font-size:17px;font-weight:300;color:var(--cinza-claro);line-height:1.8;max-width:540px;margin-bottom:60px;}

/* ── SISTEMAS ─────────────────────────────────────────────── */
#sistemas{background:#080808;border-top:1px solid var(--preto-borda);}
.sistemas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;}
.sistema-card{background:var(--preto-card);border:1px solid var(--preto-borda);border-radius:10px;padding:32px;transition:all .3s;position:relative;overflow:hidden;}
.sistema-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:transparent;transition:background .3s;}
.sistema-card:hover{border-color:rgba(160,20,122,.3);transform:translateY(-3px);}
.sistema-card:hover::before{background:var(--magenta);}
.sistema-card.destaque{border-color:rgba(160,20,122,.25);}
.sistema-card.destaque::before{background:var(--magenta);}
.sistema-badge{position:absolute;top:16px;right:16px;background:var(--magenta);color:white;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border-radius:3px;}
.sistema-icone{width:52px;height:52px;border-radius:10px;background:var(--magenta-suave);border:1px solid rgba(160,20,122,.2);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:20px;}
.sistema-nome{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:1px;color:white;margin-bottom:10px;}
.sistema-desc{font-size:14px;font-weight:300;color:var(--cinza-claro);line-height:1.7;margin-bottom:22px;}
.sistema-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:26px;}
.tag{font-size:11px;font-weight:500;letter-spacing:.5px;padding:4px 10px;border-radius:3px;background:rgba(255,255,255,.04);color:var(--cinza);border:1px solid var(--preto-borda);}
.sistema-link{font-size:13px;font-weight:600;color:var(--magenta-claro);text-decoration:none;display:inline-flex;align-items:center;gap:6px;letter-spacing:.5px;transition:gap .2s;}
.sistema-link:hover{gap:12px;}

/* ── FUNCIONALIDADES ─────────────────────────────────────── */
#funcionalidades{background:var(--preto);}
.func-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.func-item{padding:28px;border-radius:8px;border:1px solid var(--preto-borda);transition:all .25s;background:var(--preto-card);}
.func-item:hover{border-color:rgba(160,20,122,.3);background:rgba(160,20,122,.03);}
.func-icon{font-size:26px;margin-bottom:16px;display:block;}
.func-titulo{font-size:15px;font-weight:600;color:white;margin-bottom:10px;}
.func-desc{font-size:13px;font-weight:300;color:var(--cinza-claro);line-height:1.6;}

/* ── TREINAMENTO ──────────────────────────────────────────── */
#treinamento{background:#080808;border-top:1px solid var(--preto-borda);border-bottom:1px solid var(--preto-borda);}
.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;}
.video-card{background:var(--preto-card);border:1px solid var(--preto-borda);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s;}
.video-card:hover{border-color:rgba(160,20,122,.35);transform:translateY(-3px);}
.video-thumb{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.video-thumb.v1{background:linear-gradient(135deg,#1A0A14,#2A0A20);}
.video-thumb.v2{background:linear-gradient(135deg,#100A1A,#200A2A);}
.video-thumb.v3{background:linear-gradient(135deg,#0A140A,#0A200A);}
.video-thumb.v4{background:linear-gradient(135deg,#140A1A,#200A28);}
.video-thumb.v5{background:linear-gradient(135deg,#140F0A,#20150A);}
.video-thumb.v6{background:linear-gradient(135deg,#0A0A14,#0A0A24);}
.video-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(160,20,122,.15),rgba(10,10,10,.6));}
.video-thumb-img{background-size:cover;background-position:center;background-repeat:no-repeat;}
.play-btn-action{border:none;cursor:pointer;}
.play-btn{width:48px;height:48px;background:var(--magenta);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:transform .2s;box-shadow:0 4px 20px rgba(160,20,122,.5);}
.play-btn svg{width:16px;height:16px;fill:white;margin-left:3px;}
.video-card:hover .play-btn{transform:scale(1.1);}
.video-dur{position:absolute;bottom:8px;right:8px;z-index:2;background:rgba(0,0,0,.8);color:white;font-size:10px;padding:2px 7px;border-radius:3px;}
.video-info{padding:16px;}
.video-cat{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--magenta-claro);margin-bottom:6px;}
.video-titulo{font-size:14px;font-weight:500;color:white;line-height:1.4;}

/* ── PLANOS ───────────────────────────────────────────────── */
#planos{background:var(--preto);}
.planos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;align-items:start;}
.plano-card{background:var(--preto-card);border:1px solid var(--preto-borda);border-radius:10px;padding:36px 28px;transition:all .3s;position:relative;}
.plano-card:hover{transform:translateY(-4px);}
.plano-card.popular{border-color:var(--magenta);}
.plano-pop-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--magenta);color:white;font-size:11px;font-weight:700;letter-spacing:1px;padding:4px 18px;border-radius:3px;white-space:nowrap;text-transform:uppercase;}
.plano-nome{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--cinza);margin-bottom:14px;}
.plano-preco{font-family:'Bebas Neue',sans-serif;font-size:48px;color:white;line-height:1;margin-bottom:6px;}
.plano-preco sup{font-size:22px;font-weight:400;vertical-align:top;margin-top:8px;display:inline-block;}
.plano-preco.consulta{font-size:28px;padding-top:8px;}
.plano-periodo{font-size:13px;color:var(--cinza);margin-bottom:26px;}
.plano-divider{border:none;border-top:1px solid var(--preto-borda);margin:20px 0;}
.plano-feature{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:300;color:var(--cinza-claro);margin-bottom:12px;line-height:1.4;}
.plano-feature::before{content:'◆';color:var(--magenta);font-size:8px;flex-shrink:0;margin-top:4px;}
.plano-cta{margin-top:28px;width:100%;display:block;text-align:center;padding:13px;border-radius:6px;font-size:14px;font-weight:600;letter-spacing:.5px;text-decoration:none;transition:all .2s;cursor:pointer;}
.plano-cta.outline{border:1px solid var(--preto-borda);color:var(--cinza-claro);background:transparent;}
.plano-cta.outline:hover{border-color:var(--magenta);color:white;}
.plano-cta.solid{background:var(--magenta);color:white;border:none;}
.plano-cta.solid:hover{background:var(--magenta-claro);}

/* ── DEPOIMENTOS ─────────────────────────────────────────── */
#depoimentos{background:#080808;border-top:1px solid var(--preto-borda);}
.depo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;}
.depo-card{background:var(--preto-card);border-radius:10px;padding:28px;border:1px solid var(--preto-borda);}
.depo-stars{color:var(--magenta-claro);font-size:13px;margin-bottom:16px;letter-spacing:2px;}
.depo-texto{font-size:14px;font-weight:300;line-height:1.8;color:var(--cinza-claro);margin-bottom:22px;font-style:italic;}
.depo-autor{display:flex;align-items:center;gap:12px;}
.depo-avatar{width:40px;height:40px;border-radius:50%;background:var(--magenta);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:white;}
.depo-nome{font-size:14px;font-weight:600;color:white;}
.depo-empresa{font-size:12px;color:var(--cinza);}

/* ── CONTATO ─────────────────────────────────────────────── */
#contato{background:var(--preto);}
.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.contato-info h3{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:1.5px;color:white;margin-bottom:18px;}
.contato-info>p{font-size:16px;font-weight:300;color:var(--cinza-claro);line-height:1.8;margin-bottom:28px;}
.canal{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:8px;border:1px solid var(--preto-borda);text-decoration:none;transition:all .2s;margin-bottom:12px;background:var(--preto-card);}
.canal:hover{border-color:rgba(160,20,122,.4);background:rgba(160,20,122,.04);transform:translateX(4px);}
.canal-icon{width:40px;height:40px;border-radius:8px;background:var(--magenta-suave);border:1px solid rgba(160,20,122,.2);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.canal-titulo{font-size:14px;font-weight:600;color:white;}
.canal-sub{font-size:12px;color:var(--cinza);}
.canal-arrow{margin-left:auto;font-size:16px;color:var(--preto-borda);transition:color .2s;}
.canal:hover .canal-arrow{color:var(--magenta);}

/* ── CHAT ─────────────────────────────────────────────────── */
.chat-box{background:var(--preto-card);border:1px solid var(--preto-borda);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;height:480px;}
.chat-header{background:var(--magenta-escuro);padding:14px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);}
.chat-avatar{width:34px;height:34px;border-radius:50%;background:var(--magenta-claro);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:white;font-family:'Bebas Neue',sans-serif;letter-spacing:1px;}
.chat-header-info h4{font-size:14px;font-weight:600;color:white;}
.chat-header-info span{font-size:11px;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:4px;}
.chat-header-info span::before{content:'●';color:#4ADE80;font-size:7px;}
.chat-messages{flex:1;padding:18px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;}
.chat-msg{max-width:80%;padding:10px 14px;border-radius:10px;font-size:13px;line-height:1.5;}
.chat-msg.bot{background:#1A1A1A;border:1px solid var(--preto-borda);color:var(--cinza-claro);border-bottom-left-radius:3px;align-self:flex-start;}
.chat-msg.user{background:var(--magenta);color:white;border-bottom-right-radius:3px;align-self:flex-end;}
.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.chat-suggestion{font-size:11px;color:var(--magenta-claro);background:rgba(160,20,122,.1);border:1px solid rgba(160,20,122,.25);padding:5px 10px;border-radius:3px;cursor:pointer;transition:all .2s;font-family:'Barlow',sans-serif;font-weight:500;}
.chat-suggestion:hover{background:rgba(160,20,122,.2);}
.chat-input-area{padding:12px;border-top:1px solid var(--preto-borda);background:var(--preto);display:flex;gap:8px;}
.chat-input{flex:1;border:1px solid var(--preto-borda);border-radius:6px;padding:10px 14px;font-size:13px;font-family:'Barlow',sans-serif;background:#1A1A1A;color:white;outline:none;transition:border-color .2s;}
.chat-input:focus{border-color:rgba(160,20,122,.5);}
.chat-input::placeholder{color:var(--cinza);}
.chat-send{background:var(--magenta);color:white;border:none;width:40px;height:40px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0;}
.chat-send:hover{background:var(--magenta-claro);}
.chat-send svg{width:15px;height:15px;fill:white;}
.typing-indicator{display:flex;gap:4px;align-items:center;padding:4px 0;}
.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--cinza);animation:typing 1.2s infinite;}
.typing-dot:nth-child(2){animation-delay:.2s;}
.typing-dot:nth-child(3){animation-delay:.4s;}
@keyframes typing{0%,60%,100%{opacity:.3;}30%{opacity:1;}}

/* ── FOOTER ───────────────────────────────────────────────── */
footer{background:#050505;border-top:1px solid var(--preto-borda);padding:60px 5% 32px;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--preto-borda);}
.footer-nome{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:3px;color:white;}
.footer-sub{font-size:12px;color:var(--magenta-claro);letter-spacing:1px;margin:4px 0 12px;}
.footer-desc{font-size:13px;font-weight:300;color:var(--cinza);line-height:1.7;max-width:280px;}
.footer-col h5{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--cinza);margin-bottom:16px;}
.footer-col a{display:block;font-size:14px;font-weight:300;color:rgba(255,255,255,.4);text-decoration:none;margin-bottom:10px;transition:color .2s;}
.footer-col a:hover{color:white;}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.25);}
.footer-magenta{color:var(--magenta-claro);}
.footer-links{display:flex;gap:20px;}
.footer-links a{color:rgba(255,255,255,.35);text-decoration:none;}
.footer-links a:hover{color:white;}

/* ── WPP FLOAT ────────────────────────────────────────────── */
.wpp-float{position:fixed;bottom:28px;right:28px;z-index:999;width:54px;height:54px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .2s;box-shadow:0 4px 20px rgba(37,211,102,.35);animation:pulseWpp 2.5s infinite;}
.wpp-float:hover{transform:scale(1.1);}
.wpp-float svg{width:27px;height:27px;fill:white;}
@keyframes pulseWpp{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.35);}50%{box-shadow:0 4px 36px rgba(37,211,102,.6);}}

/* ── MODAL ────────────────────────────────────────────────── */
.modal-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.9);align-items:center;justify-content:center;padding:20px;}
.modal-overlay.active{display:flex;}
.modal-box{background:#111;border:1px solid var(--preto-borda);border-radius:12px;overflow:hidden;max-width:780px;width:100%;animation:fadeUp .3s;}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.modal-video{aspect-ratio:16/9;background:#000;display:flex;align-items:center;justify-content:center;}
.modal-video iframe{width:100%;height:100%;border:0;display:block;}
.modal-video span{color:rgba(255,255,255,.35);font-size:14px;}
.modal-info{padding:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.modal-info h3{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:1px;color:white;margin-bottom:6px;}
.modal-info p{font-size:13px;font-weight:300;color:var(--cinza-claro);line-height:1.6;}
.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--cinza);flex-shrink:0;transition:color .2s;}
.modal-close:hover{color:var(--magenta-claro);}

/* ── SCROLL ANIMATION ─────────────────────────────────────── */
.fade-in{opacity:1;transform:none;transition:opacity .6s,transform .6s;}
html.js-animations .fade-in{opacity:0;transform:translateY(20px);}
html.js-animations .fade-in.visible{opacity:1;transform:translateY(0);}

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media(max-width:960px){
  :root{--sidebar-w:0px;}
  .sidebar{display:none;}
  .site-content{margin-left:0;}
  nav{left:0;}
  .nav-mobile{left:0;}
  .hero-content{grid-template-columns:1fr;gap:50px;}
  .hero-visual{display:none;}
  .nav-links a:not(.nav-cta){display:none;}
  .nav-hamburger{display:block;}
  .contato-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .footer-top{grid-template-columns:1fr;}
  section{padding:64px 5%;}
  .hero-stats{gap:24px;}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center;}
}

/* ── FORMULÁRIOS ─────────────────────────────────────────── */
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--cinza);margin-bottom:7px;}
.form-group input,
.form-group select,
.form-group textarea{width:100%;background:#1A1A1A;border:1px solid var(--preto-borda);border-radius:6px;padding:11px 14px;color:white;font-size:14px;font-family:'Barlow',sans-serif;outline:none;transition:border-color .2s;resize:vertical;}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{border-color:rgba(160,20,122,.5);}
.form-group select option{background:#1A1A1A;}
.btn-full{width:100%;display:block;text-align:center;}
.contato-form{display:flex;flex-direction:column;}

/* ── AUTH ────────────────────────────────────────────────── */
.auth-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:100px 5% 60px;}
.auth-card{background:var(--preto-card);border:1px solid var(--preto-borda);border-radius:14px;padding:46px 40px 48px;width:100%;max-width:420px;}
.auth-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:148px;
  height:148px;
  margin:0 auto 28px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(160,20,122,.38);
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,1) 0%, rgba(255,255,255,.96) 48%, rgba(235,235,235,.92) 100%);
  box-shadow:
    inset 0 0 28px rgba(0,0,0,.74),
    0 0 36px rgba(160,20,122,.16);
}
.auth-logo img{width:100%;max-width:116px;height:auto;display:block;}
.auth-titulo{font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:2px;color:white;margin-bottom:6px;text-align:center;}
.auth-sub{font-size:13px;color:var(--cinza);margin-bottom:28px;text-align:center;}
.auth-erro{background:rgba(248,71,71,.1);border:1px solid rgba(248,71,71,.3);color:#F87171;font-size:13px;padding:10px 14px;border-radius:6px;margin-bottom:20px;}
.auth-voltar{text-align:center;margin-top:20px;}
.auth-voltar a{font-size:13px;color:var(--cinza);text-decoration:none;transition:color .2s;}
.auth-voltar a:hover{color:white;}

/* ── ALERTAS ─────────────────────────────────────────────── */
.alert-sucesso{background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.3);color:#4ADE80;font-size:14px;padding:12px 16px;border-radius:6px;margin-bottom:28px;}
.alert-erro{background:rgba(248,71,71,.1);border:1px solid rgba(248,71,71,.3);color:#F87171;font-size:14px;padding:12px 16px;border-radius:6px;margin-bottom:28px;}

/* ── PAGE SECTION (páginas internas) ─────────────────────── */
.page-section{padding-top:110px;}

/* ── ÁREA DO CLIENTE / TREINAMENTOS RESTRITOS ────────────── */
.video-desc{font-size:13px;font-weight:300;color:var(--cinza-claro);line-height:1.6;margin-top:10px;}
.video-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.video-link{font-family:'Barlow',sans-serif;font-size:12px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;text-decoration:none;border-radius:5px;padding:9px 12px;transition:all .2s;border:1px solid transparent;cursor:pointer;}
.video-link-primary{background:var(--magenta);color:white;}
.video-link-primary:hover{background:var(--magenta-claro);transform:translateY(-1px);}
.video-link-secondary{background:transparent;color:var(--cinza-claro);border-color:var(--preto-borda);}
.video-link-secondary:hover{color:white;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.04);}
.video-link-muted{background:rgba(255,255,255,.04);color:var(--cinza);border-color:var(--preto-borda);cursor:default;}
.cliente-section{min-height:70vh;}
.cliente-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:24px;}
.cliente-topo .section-sub{margin-bottom:0;}
.cliente-topo-acoes{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;padding-top:28px;}
.cliente-video-card.bloqueado{opacity:.72;}
.cliente-video-card.bloqueado .play-btn{background:rgba(255,255,255,.08);}
.cliente-empty{background:var(--preto-card);border:1px solid var(--preto-borda);border-radius:12px;padding:34px;max-width:760px;}
.cliente-empty-destaque{max-width:860px;}
.cliente-empty h3{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:1px;color:white;margin-bottom:8px;}
.cliente-empty p{font-size:15px;font-weight:300;color:var(--cinza-claro);line-height:1.7;}
.cliente-breadcrumb{margin-bottom:28px;}
.cliente-breadcrumb a{font-size:13px;font-weight:600;color:var(--magenta-claro);text-decoration:none;}
.cliente-breadcrumb a:hover{color:white;}
.treinamento-player-wrap .section-sub{margin-bottom:32px;}
.treinamento-player{background:#050505;border:1px solid var(--preto-borda);border-radius:12px;overflow:hidden;box-shadow:0 22px 60px rgba(0,0,0,.35);}
.treinamento-player iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000;}
.cliente-player-acoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}

@media(max-width:720px){
  .cliente-topo{display:block;}
  .cliente-topo-acoes{justify-content:flex-start;padding-top:0;margin:0 0 28px;}
  .video-actions{display:grid;grid-template-columns:1fr;}
  .video-link{text-align:center;}
}

/* ──────────────────────────────────────────────────────────────
   Administração — Área de clientes e treinamentos
   ────────────────────────────────────────────────────────────── */
.admin-section .section-inner {
  max-width: 1180px;
}

.narrow-inner {
  max-width: 820px !important;
}

.admin-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

.admin-actions-top,
.form-actions,
.table-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.admin-filter {
  display: flex;
  gap: 10px;
  margin: 24px 0;
  flex-wrap: wrap;
}

.admin-filter input,
.admin-form input,
.admin-form select,
.admin-form textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  color: #fff;
  padding: 13px 15px;
  font-family: inherit;
  font-size: .98rem;
  outline: none;
}

.admin-filter input {
  flex: 1 1 320px;
}

.admin-form select option {
  color: #101828;
}

.admin-form textarea {
  resize: vertical;
  min-height: 110px;
}

.admin-form label {
  display: block;
  color: rgba(255,255,255,.88);
  font-weight: 600;
  margin-bottom: 16px;
}

.admin-form small {
  display: block;
  margin-top: 6px;
  color: rgba(255,255,255,.62);
  font-weight: 400;
}

.form-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.admin-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: rgba(255,255,255,.06);
  box-shadow: 0 20px 45px rgba(0,0,0,.22);
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 780px;
}

.admin-table th,
.admin-table td {
  padding: 16px 18px;
  text-align: left;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.86);
  vertical-align: middle;
}

.admin-table th {
  color: #fff;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  background: rgba(255,255,255,.07);
}

.admin-table tr:last-child td {
  border-bottom: none;
}

.text-right {
  text-align: right !important;
}

.empty-row,
.empty-card {
  text-align: center;
  color: rgba(255,255,255,.64) !important;
  padding: 28px !important;
}

.inline-form {
  display: inline-flex;
  margin: 0;
}

.btn-small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-size: .84rem;
  font-weight: 700;
  cursor: pointer;
}

.btn-small:hover {
  background: rgba(255,255,255,.2);
}

.btn-small-muted {
  opacity: .82;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.status-ativo {
  background: rgba(37, 211, 102, .18);
  color: #a7f3c3;
}

.status-inativo,
.status-bloqueado {
  background: rgba(255, 193, 7, .16);
  color: #ffe08a;
}

.alert-success,
.alert-error {
  border-radius: 16px;
  padding: 14px 16px;
  margin: 18px 0;
  font-weight: 700;
}

.alert-success {
  background: rgba(37, 211, 102, .16);
  color: #bdf7d1;
  border: 1px solid rgba(37, 211, 102, .25);
}

.alert-error {
  background: rgba(255, 76, 96, .16);
  color: #ffc3ca;
  border: 1px solid rgba(255, 76, 96, .25);
}

.admin-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 32px 0;
}

.admin-dashboard-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 180px;
  padding: 24px;
  border-radius: 26px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.05));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 24px 50px rgba(0,0,0,.2);
  transition: transform .18s ease, background .18s ease;
}

.admin-dashboard-card:hover {
  transform: translateY(-4px);
  background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.07));
}

.admin-dashboard-card strong {
  font-size: 1.08rem;
}

.admin-dashboard-card small {
  color: rgba(255,255,255,.68);
  line-height: 1.5;
}

.dashboard-icon {
  font-size: 2rem;
}

.access-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 24px 0;
}

.access-card {
  position: relative;
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 4px 12px;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  cursor: pointer;
}

.access-card input {
  grid-row: span 3;
  margin-top: 3px;
}

.access-title {
  font-weight: 800;
  color: #fff;
}

.access-meta,
.access-desc {
  color: rgba(255,255,255,.64);
  font-size: .9rem;
  line-height: 1.45;
}

.access-card-inactive {
  opacity: .62;
}

.sticky-actions {
  position: sticky;
  bottom: 18px;
  padding: 16px;
  border-radius: 22px;
  background: rgba(8, 18, 36, .88);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.12);
}

@media (max-width: 900px) {
  .admin-header,
  .admin-actions-top,
  .form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-dashboard-grid,
  .access-grid,
  .form-grid-2 {
    grid-template-columns: 1fr;
  }
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 24px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(135deg, #ff7a18, #ff2d75);
  color: #fff;
  font-family: inherit;
  font-size: .96rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(255, 45, 117, .22);
}

.btn-primary:hover {
  filter: brightness(1.08);
}

/* ─────────────────────────────────────────────────────────────
   PAINEL ADMINISTRATIVO — /painel
   Estrutura separada do layout institucional.
   ───────────────────────────────────────────────────────────── */
.admin-body,
.admin-login-body{
  background:#070707;
  color:#F7F7F7;
  min-height:100vh;
  font-family:'Barlow',sans-serif;
}

.admin-body a,
.admin-login-body a{color:inherit;}

.admin-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  background:
    radial-gradient(circle at top right, rgba(160,20,122,.16), transparent 34%),
    #070707;
}

.admin-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  display:flex;
  flex-direction:column;
  gap:28px;
  padding:24px 18px;
  background:rgba(10,10,10,.96);
  border-right:1px solid rgba(255,255,255,.08);
}

.admin-brand{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  padding:10px;
  border-radius:16px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.07);
}

.admin-brand-logo{
  width:58px;
  height:58px;
  border-radius:14px;
  background:white;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-shadow:0 0 24px rgba(160,20,122,.16);
}

.admin-brand-logo img{max-width:100%;max-height:100%;object-fit:contain;}
.admin-brand strong{display:block;font-family:'Bebas Neue',sans-serif;letter-spacing:2px;font-size:24px;line-height:1;color:#fff;}
.admin-brand small{display:block;color:#A5A5A5;font-size:12px;margin-top:3px;}

.admin-menu{display:flex;flex-direction:column;gap:8px;}
.admin-menu a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border-radius:12px;
  color:#B8B8B8;
  text-decoration:none;
  font-weight:600;
  border:1px solid transparent;
  transition:background .2s,border-color .2s,color .2s,transform .2s;
}
.admin-menu a span{width:24px;text-align:center;}
.admin-menu a:hover,
.admin-menu a.active{
  color:#fff;
  background:rgba(160,20,122,.14);
  border-color:rgba(160,20,122,.34);
  transform:translateX(2px);
}

.admin-sidebar-footer{
  margin-top:auto;
  display:grid;
  gap:8px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
}
.admin-sidebar-footer a{
  color:#B8B8B8;
  text-decoration:none;
  font-size:13px;
  padding:7px 10px;
  border-radius:8px;
}
.admin-sidebar-footer a:hover{background:rgba(255,255,255,.05);color:#fff;}

.admin-main{min-width:0;display:flex;flex-direction:column;}
.admin-topbar{
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 32px;
  background:rgba(10,10,10,.72);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
  position:sticky;
  top:0;
  z-index:20;
}
.admin-topbar strong{display:block;color:#fff;font-size:16px;}
.admin-topbar-kicker{display:block;color:var(--magenta-claro);font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;margin-bottom:3px;}
.admin-userbox{display:flex;align-items:center;gap:12px;color:#D8D8D8;font-size:14px;}
.admin-userbox a{
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  padding:9px 13px;
  font-weight:600;
}
.admin-userbox a:hover{border-color:rgba(160,20,122,.55);background:rgba(160,20,122,.18);}

.admin-content{width:100%;max-width:1260px;margin:0 auto;padding:38px 32px 56px;}
.admin-page-head{margin-bottom:28px;}
.admin-page-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;}
.admin-kicker{display:block;color:var(--magenta-claro);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;}
.admin-page-head h1{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(40px,5vw,72px);
  line-height:.92;
  letter-spacing:2px;
  color:#fff;
  margin:0 0 14px;
}
.admin-page-head p{max-width:760px;color:#C9C9C9;line-height:1.7;font-size:16px;margin:0;}
.admin-page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;padding-top:8px;}

.admin-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;}
.admin-stats-grid.compact{margin-bottom:20px;}
.admin-stat-card{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  padding:20px;
  min-height:128px;
  box-shadow:0 18px 50px rgba(0,0,0,.20);
}
.admin-stat-card small{display:block;color:#AFAFAF;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;margin-bottom:12px;}
.admin-stat-card strong{display:block;font-family:'Bebas Neue',sans-serif;font-size:48px;line-height:.9;color:#fff;letter-spacing:1px;}
.admin-stat-card span{display:block;color:var(--magenta-claro);font-size:13px;margin-top:10px;}

.admin-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.admin-action-card{
  min-height:210px;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:26px;
  background:rgba(15,15,15,.9);
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  text-decoration:none;
  transition:transform .2s,border-color .2s,background .2s;
}
.admin-action-card:hover{transform:translateY(-3px);border-color:rgba(160,20,122,.45);background:rgba(160,20,122,.08);}
.admin-action-icon{width:48px;height:48px;border-radius:14px;background:rgba(160,20,122,.16);border:1px solid rgba(160,20,122,.28);display:flex;align-items:center;justify-content:center;font-size:24px;}
.admin-action-card strong{font-size:20px;color:#fff;}
.admin-action-card small{color:#BEBEBE;line-height:1.6;font-size:14px;}

.admin-panel-card{
  background:rgba(15,15,15,.92);
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  padding:22px;
  box-shadow:0 22px 70px rgba(0,0,0,.22);
}
.admin-form-card{max-width:980px;}

.admin-alert{border-radius:14px;padding:14px 16px;margin:0 0 18px;font-weight:600;border:1px solid transparent;}
.admin-alert-success{background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.28);color:#BBF7D0;}
.admin-alert-error{background:rgba(248,113,113,.10);border-color:rgba(248,113,113,.30);color:#FECACA;}

.admin-filter-bar{display:flex;gap:12px;align-items:end;margin-bottom:18px;flex-wrap:wrap;}
.admin-filter-field{flex:1;min-width:260px;}
.admin-filter-field label{display:block;color:#AFAFAF;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:7px;}

.admin-form{display:grid;gap:18px;}
.admin-form label{display:grid;gap:8px;color:#DADADA;font-weight:700;font-size:13px;letter-spacing:.3px;}
.admin-form input,
.admin-form select,
.admin-form textarea,
.admin-filter-field input{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  background:#0A0A0A;
  color:#fff;
  border-radius:12px;
  padding:13px 14px;
  outline:none;
  font:inherit;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.admin-form textarea{resize:vertical;min-height:120px;}
.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus,
.admin-filter-field input:focus{border-color:rgba(160,20,122,.70);box-shadow:0 0 0 4px rgba(160,20,122,.14);}
.admin-form small{color:#9E9E9E;font-weight:400;line-height:1.4;}
.admin-form-grid{display:grid;gap:16px;}
.admin-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.admin-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.admin-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);}
.sticky-actions{position:sticky;bottom:0;background:rgba(15,15,15,.94);backdrop-filter:blur(10px);border-radius:0 0 16px 16px;padding-bottom:2px;}

.admin-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  border-radius:12px;
  padding:0 16px;
  border:1px solid transparent;
  font-weight:800;
  font-size:14px;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
  font-family:'Barlow',sans-serif;
  transition:transform .2s,border-color .2s,background .2s,color .2s;
}
.admin-btn:hover{transform:translateY(-1px);}
.admin-btn-primary{background:var(--magenta);color:#fff;border-color:rgba(255,255,255,.08);}
.admin-btn-primary:hover{background:var(--magenta-claro);}
.admin-btn-secondary{background:rgba(255,255,255,.055);color:#fff;border-color:rgba(255,255,255,.12);}
.admin-btn-secondary:hover{border-color:rgba(160,20,122,.42);background:rgba(160,20,122,.12);}
.admin-btn-danger{background:rgba(248,113,113,.12);color:#FECACA;border-color:rgba(248,113,113,.25);}
.admin-btn-danger:hover{background:rgba(248,113,113,.20);}
.admin-btn-small{min-height:34px;padding:0 11px;border-radius:10px;font-size:12px;}
.admin-btn-full{width:100%;}

.admin-table-wrap{width:100%;overflow-x:auto;border:1px solid rgba(255,255,255,.08);border-radius:16px;}
.admin-table{width:100%;border-collapse:separate;border-spacing:0;min-width:840px;}
.admin-table th,
.admin-table td{padding:15px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:middle;}
.admin-table th{color:#AFAFAF;background:rgba(255,255,255,.035);font-size:12px;text-transform:uppercase;letter-spacing:1.1px;}
.admin-table td{color:#EFEFEF;font-size:14px;}
.admin-table tbody tr:hover{background:rgba(160,20,122,.045);}
.admin-table tbody tr:last-child td{border-bottom:none;}
.admin-row-muted{display:block;color:#9E9E9E;font-size:12px;font-weight:400;margin-top:4px;line-height:1.4;}
.admin-empty-row{text-align:center!important;color:#AAA!important;padding:36px!important;}
.admin-cell-actions{text-align:right!important;}
.admin-action-group{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;}
.admin-inline-form{display:inline-flex;margin:0;}

.admin-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.9px;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.10);
}
.admin-badge-ativo{background:rgba(34,197,94,.13);color:#BBF7D0;border-color:rgba(34,197,94,.28);}
.admin-badge-inativo{background:rgba(148,163,184,.12);color:#CBD5E1;border-color:rgba(148,163,184,.22);}
.admin-badge-bloqueado{background:rgba(248,113,113,.13);color:#FECACA;border-color:rgba(248,113,113,.30);}
.admin-badge-info{background:rgba(160,20,122,.15);color:#F0A6DE;border-color:rgba(160,20,122,.32);}

.admin-access-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08);}
.admin-access-toolbar strong{display:block;color:#fff;font-size:18px;}
.admin-access-toolbar small{display:block;color:#AAA;margin-top:4px;}
.admin-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.admin-access-card{
  position:relative;
  display:grid;
  grid-template-columns:26px 1fr;
  gap:14px;
  padding:18px;
  border-radius:16px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.09);
  cursor:pointer;
  transition:border-color .2s,background .2s,transform .2s;
}
.admin-access-card:hover{transform:translateY(-2px);border-color:rgba(160,20,122,.36);}
.admin-access-card input{position:absolute;opacity:0;pointer-events:none;}
.admin-access-check{width:22px;height:22px;border-radius:7px;border:1px solid rgba(255,255,255,.24);background:#0A0A0A;margin-top:2px;}
.admin-access-card input:checked + .admin-access-check{background:var(--magenta);border-color:var(--magenta);box-shadow:0 0 0 4px rgba(160,20,122,.16);}
.admin-access-card input:checked + .admin-access-check::after{content:'✓';display:block;color:white;text-align:center;line-height:21px;font-size:14px;font-weight:900;}
.admin-access-content strong{display:block;color:#fff;font-size:16px;line-height:1.35;}
.admin-access-content small{display:block;color:var(--magenta-claro);font-size:12px;margin:6px 0;}
.admin-access-content em{display:block;color:#AFAFAF;font-style:normal;font-size:13px;line-height:1.5;}
.admin-access-card.inactive{opacity:.58;}
.admin-empty-card{grid-column:1/-1;text-align:center;padding:34px;border:1px dashed rgba(255,255,255,.18);border-radius:16px;color:#AAA;}

.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at 70% 20%, rgba(160,20,122,.22), transparent 35%),#070707;}
.admin-login-card{width:min(100%,460px);background:rgba(15,15,15,.94);border:1px solid rgba(255,255,255,.10);border-radius:24px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.45);}
.admin-login-brand{display:flex;align-items:center;gap:14px;margin-bottom:28px;color:var(--magenta-claro);font-size:12px;text-transform:uppercase;letter-spacing:1.8px;font-weight:800;}
.admin-login-brand img{
  width:66px;
  height:66px;
  padding:7px;
  border-radius:15px;
  background:radial-gradient(circle at 50% 42%, #fff 0%, #fff 48%, #ededed 100%);
  object-fit:contain;
  border:1px solid rgba(160,20,122,.30);
  box-shadow:inset 0 0 18px rgba(0,0,0,.62),0 0 24px rgba(160,20,122,.12);
}
.admin-login-card h1{font-family:'Bebas Neue',sans-serif;font-size:58px;line-height:.92;letter-spacing:2px;color:#fff;margin:0 0 14px;}
.admin-login-card p{color:#C8C8C8;line-height:1.6;margin:0 0 22px;}
.admin-login-form{margin-top:18px;}
.admin-login-back{display:inline-block;margin-top:20px;color:#BDBDBD;text-decoration:none;font-size:14px;}
.admin-login-back:hover{color:#fff;}

@media (max-width:1100px){
  .admin-shell{grid-template-columns:230px minmax(0,1fr);}
  .admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-card-grid{grid-template-columns:1fr;}
  .admin-access-grid{grid-template-columns:1fr;}
}

@media (max-width:780px){
  .admin-shell{display:block;}
  .admin-sidebar{position:relative;height:auto;}
  .admin-menu{display:grid;grid-template-columns:1fr 1fr;}
  .admin-topbar{position:relative;padding:16px;height:auto;align-items:flex-start;}
  .admin-content{padding:26px 16px 40px;}
  .admin-page-head-row{display:block;}
  .admin-page-actions{justify-content:flex-start;margin-top:18px;}
  .admin-stats-grid{grid-template-columns:1fr;}
  .admin-form-grid.two,.admin-form-grid.three{grid-template-columns:1fr;}
  .admin-filter-bar{align-items:stretch;}
  .admin-filter-field{min-width:100%;}
  .admin-btn{width:100%;}
  .admin-action-group{justify-content:flex-start;}
  .admin-cell-actions{text-align:left!important;}
}
