:root{
  --bg:#050506; --line:rgba(255,255,255,.1); --text:#fff; --muted:#a7a7ad;
  --red:#ff173d; --red2:#8b0012; --shadow:0 20px 80px rgba(255,23,61,.14);
}
*{box-sizing:border-box}
body{
  margin:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--text);min-height:100vh;overflow-x:hidden;
  background:radial-gradient(circle at 20% 20%,rgba(255,23,61,.18),transparent 28%),
  radial-gradient(circle at 80% 0%,rgba(139,0,18,.28),transparent 25%),var(--bg);
}
.bg-orb{position:fixed;border-radius:999px;filter:blur(45px);opacity:.55;pointer-events:none}
.orb-1{width:260px;height:260px;background:#ff173d;left:-90px;top:80px}
.orb-2{width:330px;height:330px;background:#6d0010;right:-120px;bottom:40px}
.hidden{display:none!important}
.auth-wrap{width:min(1120px,92vw);min-height:100vh;margin:auto;display:grid;grid-template-columns:1fr 430px;align-items:center;gap:50px}
.brand{display:flex;gap:16px;align-items:center}
.logo-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-weight:900;font-size:28px;background:linear-gradient(145deg,var(--red),var(--red2));box-shadow:0 0 35px rgba(255,23,61,.45)}
.brand h1{font-size:64px;margin:4px 0 0;letter-spacing:-.06em}
.eyebrow{color:var(--red);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;margin:0 0 8px}
.auth-card,.panel,.sidebar,.topbar{position:relative;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));backdrop-filter:blur(18px);border-radius:28px;box-shadow:var(--shadow)}
.auth-card{padding:34px;overflow:hidden}.card-glow{position:absolute;inset:-2px;background:radial-gradient(circle at 30% 0%,rgba(255,23,61,.22),transparent 35%);pointer-events:none}
.auth-card h2{font-size:32px;margin:0 0 8px}.muted{color:var(--muted);line-height:1.6}
form{display:grid;gap:12px;margin-top:26px}label{color:#ddd;font-size:13px;font-weight:700}
input{width:100%;padding:15px 16px;border-radius:16px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.12);color:#fff;outline:none}
input:focus{border-color:rgba(255,23,61,.8);box-shadow:0 0 0 4px rgba(255,23,61,.08)}
.btn-primary,.btn-ghost,.nav-link{border:0;border-radius:16px;padding:14px 18px;color:#fff;cursor:pointer;font-weight:850}
.btn-primary{background:linear-gradient(135deg,var(--red),var(--red2));box-shadow:0 0 30px rgba(255,23,61,.28)}
.btn-ghost,.nav-link{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);text-align:left}
.error{color:#ff6b7d;font-weight:700;min-height:22px}
.dashboard{display:grid;grid-template-columns:280px 1fr;min-height:100vh;padding:18px;gap:18px}
.sidebar{padding:20px;display:flex;flex-direction:column;gap:24px;position:sticky;top:18px;height:calc(100vh - 36px)}
.compact .logo-mark{width:44px;height:44px;border-radius:14px;font-size:20px}.compact strong{display:block}.compact span{color:var(--muted);font-size:12px}
nav{display:grid;gap:10px}.nav-link.active{background:linear-gradient(135deg,rgba(255,23,61,.32),rgba(139,0,18,.24));border-color:rgba(255,23,61,.35)}
.content{display:grid;gap:18px;align-content:start}.topbar{padding:24px;display:flex;justify-content:space-between;align-items:center}.topbar h2{margin:0;font-size:30px}
.status-pill{padding:9px 14px;border-radius:999px;background:rgba(0,255,157,.08);border:1px solid rgba(0,255,157,.25);color:#7cffc6;font-weight:800}
.grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.panel{padding:24px}.panel h3{font-size:24px;margin:0 0 12px}
.hero-panel{background:linear-gradient(135deg,rgba(255,23,61,.16),rgba(255,255,255,.04))}
.progress{height:12px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin:30px 0 10px}.progress span{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--red),#ff8ba0);border-radius:999px;transition:.5s}
.cards-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.mini-card{padding:18px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid var(--line)}.mini-card strong{font-size:32px;display:block}.mini-card span{color:var(--muted)}
.tab{display:none}.tab.active{display:grid;gap:18px}.list{display:grid;gap:12px}.item{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid var(--line)}.item strong{display:block}.item span{color:var(--muted);font-size:13px}
.timeline{display:grid;gap:14px}.timeline-item{padding:16px 16px 16px 22px;border-left:2px solid var(--red);background:rgba(255,255,255,.04);border-radius:16px}.disabled{opacity:.6;cursor:not-allowed}
@media(max-width:900px){.auth-wrap{grid-template-columns:1fr;padding:40px 0}.brand h1{font-size:44px}.dashboard{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.grid{grid-template-columns:1fr}.cards-row{grid-template-columns:1fr}}


.auth-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:18px;
}
.auth-link{
  border:0;
  background:transparent;
  color:#ff8ba0;
  cursor:pointer;
  font-weight:850;
  padding:8px 4px;
  text-decoration:none;
}
.auth-link:hover{color:#fff;text-decoration:underline;}
.auth-link.center{justify-self:center;margin-top:2px;}
.auth-extra{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
  display:grid;
  gap:12px;
}
.auth-extra h3{margin:0;font-size:22px;}
.auth-extra .muted{margin:0 0 8px;}
.success-msg{color:#7cffc6;font-weight:800;}
@media(max-width:640px){
  .auth-actions{flex-direction:column;align-items:stretch;text-align:center;}
}

button:disabled{opacity:.65;cursor:not-allowed;}


/* Portal operacional */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.form-grid .full,.upload-box .full{grid-column:1/-1}
.form-grid label,.upload-box label,.message-form label{display:block;margin:0 0 7px;color:#fff;font-weight:800;font-size:13px}
.form-grid input,.form-grid select,.form-grid textarea,
.upload-box input,.upload-box select,.message-form textarea{
  width:100%;border:1px solid var(--line);background:rgba(0,0,0,.32);color:#fff;border-radius:16px;padding:14px 15px;outline:none;
}
.form-grid textarea,.message-form textarea{min-height:110px;resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,
.upload-box input:focus,.upload-box select:focus,.message-form textarea:focus{border-color:rgba(255,23,61,.65);box-shadow:0 0 0 3px rgba(255,23,61,.12)}
.actions-inline{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.upload-box{display:grid;grid-template-columns:220px 1fr;gap:16px;margin:20px 0 0;padding:18px;border:1px dashed rgba(255,255,255,.18);border-radius:22px;background:rgba(0,0,0,.18)}
.checklist{display:grid;gap:12px;margin-top:18px}
.task-item{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035)}
.task-dot{width:16px;height:16px;margin-top:3px;border-radius:999px;border:2px solid var(--red);box-shadow:0 0 18px rgba(255,23,61,.35)}
.task-item.done .task-dot{background:#39ffb6;border-color:#39ffb6}
.task-item strong{display:block;margin-bottom:5px}
.badge{display:inline-flex;border:1px solid var(--line);padding:4px 9px;border-radius:999px;color:#ffb3c1;font-weight:800;font-size:11px;margin-left:8px}
.message-form{display:grid;gap:12px;margin:16px 0 22px}
.file-link{color:#ff8ba0;text-decoration:none;font-weight:800}
.file-link:hover{text-decoration:underline}
button:disabled{opacity:.65;cursor:not-allowed}
@media(max-width:800px){
  .form-grid,.upload-box{grid-template-columns:1fr}
  .actions-inline{align-items:stretch}
  .actions-inline .btn-primary{width:100%}
}


/* Planos Cakto no Portal */
.plan-wizard{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:24px 0;
}
.portal-plan-card{
  position:relative;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  border-radius:24px;
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:16px;
  min-height:100%;
}
.portal-plan-card.featured{
  border-color:rgba(255,23,61,.55);
  box-shadow:0 0 50px rgba(255,23,61,.18);
  transform:translateY(-8px);
}
.plan-badge{
  position:absolute;
  top:-13px;
  right:18px;
  background:linear-gradient(135deg,var(--red),var(--red2));
  color:#fff;
  font-size:12px;
  font-weight:900;
  padding:7px 12px;
  border-radius:999px;
}
.plan-kicker{
  color:#ff8ba0;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:12px;
  font-weight:900;
}
.portal-plan-card h4{
  font-size:28px;
  margin:6px 0 8px;
}
.portal-plan-card p{
  color:var(--muted);
  margin:0;
  line-height:1.5;
}
.portal-plan-card ul{
  padding:0;
  margin:0;
  list-style:none;
  display:grid;
  gap:10px;
  flex:1;
}
.portal-plan-card li{
  color:#fff;
  font-size:14px;
}
.portal-plan-card li:before{
  content:"✓";
  color:#39ffb6;
  font-weight:900;
  margin-right:8px;
}
.selected-plan-box{
  border:1px solid rgba(255,23,61,.35);
  background:linear-gradient(135deg,rgba(255,23,61,.14),rgba(255,255,255,.035));
  border-radius:24px;
  padding:24px;
  margin:20px 0;
}
.panel-inner{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
@media(max-width:1000px){
  .plan-wizard{grid-template-columns:1fr}
  .portal-plan-card.featured{transform:none}
}




/* Chat lateral de suporte */
.support-chat{position:fixed;right:22px;bottom:22px;z-index:9999;font-family:inherit}
.support-chat-hidden{display:none!important}
.support-chat-toggle{width:64px;height:64px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,#ff173d,#8b0012);color:#fff;font-size:26px;cursor:pointer;box-shadow:0 20px 60px rgba(255,23,61,.35);display:grid;place-items:center;position:relative}
.support-chat-dot{position:absolute;width:13px;height:13px;right:9px;top:8px;border-radius:999px;background:#39ffb6;box-shadow:0 0 18px rgba(57,255,182,.8)}
.support-chat-box{position:absolute;right:0;bottom:78px;width:min(360px,calc(100vw - 36px));border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(20,20,22,.98),rgba(8,8,10,.98));border-radius:24px;overflow:hidden;box-shadow:0 25px 90px rgba(0,0,0,.55),0 0 45px rgba(255,23,61,.20);backdrop-filter:blur(18px)}
.support-chat-header{padding:18px;background:linear-gradient(135deg,rgba(255,23,61,.28),rgba(139,0,18,.20));display:flex;align-items:center;justify-content:space-between;gap:12px}
.support-chat-header strong,.support-chat-header span{display:block}.support-chat-header strong{color:#fff;font-size:16px}.support-chat-header span{color:#ffb3c1;font-size:12px;margin-top:3px}
.support-chat-header button{width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.support-chat-body{padding:18px;display:grid;gap:12px}
.support-bubble{padding:12px 14px;border-radius:16px;font-size:14px;line-height:1.45}
.support-bubble.agent{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.08)}
.support-whatsapp{display:flex;align-items:center;justify-content:center;text-align:center;padding:14px 18px;border-radius:16px;background:#25D366;color:#03150a!important;font-weight:900;text-decoration:none!important;margin-top:4px}.support-whatsapp:before{content:"☎";margin-right:8px}
.support-email{color:#a7a7ad;font-size:12px;line-height:1.4;text-align:center;margin:4px 0 0}.support-email strong{color:#fff}
@media(max-width:600px){.support-chat{right:16px;bottom:16px}.support-chat-toggle{width:58px;height:58px}}
