/* ============================================================
   Hotspot Pro SaaS - Estilos para Landing/Login/Dashboard
   (ADICIONADO - NÃO ALTERA O EDITOR EXISTENTE)
   ============================================================ */

:root{
  --saas-bg:#0b1020;
  --saas-card:#121a33;
  --saas-text:#e9edff;
  --saas-muted:#aab4e6;
  --saas-accent:#6ee7ff;
  --saas-accent2:#9b7bff;
  --saas-border:rgba(255,255,255,.10);
  --saas-shadow:0 14px 45px rgba(0,0,0,.35);
  --saas-radius:16px;
}

*{ box-sizing:border-box; }

body.saas{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  background: radial-gradient(1200px 800px at 10% 10%, rgba(155,123,255,.22), transparent 60%),
              radial-gradient(900px 600px at 90% 20%, rgba(110,231,255,.18), transparent 55%),
              var(--saas-bg);
  color: var(--saas-text);
}

.saas a{ color:inherit; text-decoration:none; }

.saas .container{
  width:min(1100px, calc(100% - 32px));
  margin:0 auto;
}

.saas .topbar{
  position:sticky;
  top:0;
  z-index:10;
  backdrop-filter: blur(10px);
  background: rgba(11,16,32,.72);
  border-bottom: 1px solid var(--saas-border);
}

.saas .topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
}

.saas .brand{
  display:flex;
  gap:10px;
  align-items:center;
  font-weight:800;
  letter-spacing:.2px;
}

.saas .brand i{ color: var(--saas-accent); }

.saas .nav{
  display:flex;
  gap:14px;
  align-items:center;
}

.saas .nav a{
  padding:8px 10px;
  border-radius:10px;
  color: var(--saas-muted);
}

.saas .nav a:hover{
  color: var(--saas-text);
  background: rgba(255,255,255,.06);
}

.saas .btn{
  display:inline-flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--saas-border);
  background: rgba(255,255,255,.06);
  color: var(--saas-text);
  cursor:pointer;
}

.saas .btn:hover{ background: rgba(255,255,255,.10); }

.saas .btn-primary{
  border:none;
  background: linear-gradient(135deg, var(--saas-accent), var(--saas-accent2));
  color:#0b1020;
  font-weight:700;
}

.saas .hero{
  padding:58px 0 26px;
}

.saas .hero-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:22px;
  align-items:stretch;
}

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

.saas .hero-card{
  padding:26px;
  border-radius: var(--saas-radius);
  background: linear-gradient(180deg, rgba(18,26,51,.92), rgba(18,26,51,.55));
  border:1px solid var(--saas-border);
  box-shadow: var(--saas-shadow);
}

.saas h1{ margin:0 0 10px; font-size: clamp(28px, 3.2vw, 44px); line-height:1.05; }
.saas p{ margin:0; color: var(--saas-muted); line-height:1.5; }

.saas .cta-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }

.saas .kpis{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
}

.saas .kpi{
  padding:16px;
  border-radius: 14px;
  border:1px solid var(--saas-border);
  background: rgba(255,255,255,.05);
}

.saas .kpi strong{ display:block; font-size:18px; }

.saas .section{ padding:22px 0; }

.saas .cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}

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

.saas .card{
  padding:18px;
  border-radius: var(--saas-radius);
  border:1px solid var(--saas-border);
  background: rgba(18,26,51,.55);
}

.saas .card h3{ margin:0 0 8px; font-size:18px; }

.saas .tag{
  display:inline-flex;
  padding:4px 10px;
  border-radius: 999px;
  border:1px solid var(--saas-border);
  color: var(--saas-muted);
  font-size:12px;
  margin-bottom:10px;
}

.saas .footer{
  padding:28px 0 46px;
  color: var(--saas-muted);
  border-top: 1px solid var(--saas-border);
  margin-top:18px;
}

/* Forms */
.saas .form-wrap{
  padding:52px 0 26px;
}

.saas .form-card{
  width:min(520px, 100%);
  margin:0 auto;
  padding:22px;
  border-radius: var(--saas-radius);
  border:1px solid var(--saas-border);
  background: rgba(18,26,51,.72);
  box-shadow: var(--saas-shadow);
}

.saas label{ display:block; margin:12px 0 6px; color: var(--saas-muted); font-size:13px; }

.saas input{
  width:100%;
  padding:12px 12px;
  border-radius: 12px;
  border:1px solid var(--saas-border);
  background: rgba(255,255,255,.05);
  color: var(--saas-text);
  outline:none;
}

.saas input:focus{ border-color: rgba(110,231,255,.55); }

.saas .form-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }

.saas .note{ margin-top:12px; font-size:13px; color: var(--saas-muted); }

/* ============================================================
   Compatibilidade: classes "saas-*" (usadas nas páginas PHP)
   (ADICIONADO - não remove estilos anteriores)
   ============================================================ */

body.saas .saas-container{ width:min(1100px, calc(100% - 32px)); margin:0 auto; }

body.saas .saas-header{
  position:sticky;
  top:0;
  z-index:10;
  backdrop-filter: blur(10px);
  background: rgba(11,16,32,.72);
  border-bottom: 1px solid var(--saas-border);
}

body.saas .saas-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
}

body.saas .saas-navlinks{
  display:flex;
  gap:14px;
  align-items:center;
}

body.saas .saas-navlinks a{
  padding:8px 10px;
  border-radius:10px;
  color: var(--saas-muted);
}

body.saas .saas-navlinks a:hover{
  color: var(--saas-text);
  background: rgba(255,255,255,.06);
}

/* Botões: suportar variações "btn primary/ghost" além de "btn-primary/btn-ghost" */
body.saas .btn.primary{ border:none; background: linear-gradient(135deg, var(--saas-accent), var(--saas-accent2)); color:#0b1020; font-weight:700; }
body.saas .btn.ghost{ background: rgba(255,255,255,.06); border:1px solid var(--saas-border); }

body.saas .saas-main{ padding: 32px 0; }

body.saas .saas-grid{ display:grid; gap:14px; }
body.saas .saas-grid-2{ grid-template-columns: 1fr 1fr; }
@media (max-width: 900px){ body.saas .saas-grid-2{ grid-template-columns: 1fr; } }

body.saas .saas-card{
  padding:18px;
  border-radius: var(--saas-radius);
  border:1px solid var(--saas-border);
  background: rgba(18,26,51,.55);
}

body.saas .saas-side{ background: linear-gradient(180deg, rgba(18,26,51,.70), rgba(18,26,51,.40)); }

body.saas .saas-h1{ margin:0 0 10px; font-size: clamp(26px, 2.8vw, 40px); line-height:1.05; }
body.saas .saas-h2{ margin:0 0 10px; font-size: 18px; }
body.saas .saas-p{ margin:0; color: var(--saas-muted); line-height:1.5; }

body.saas .saas-list{ list-style:none; padding:0; margin:12px 0 0; display:grid; gap:8px; }
body.saas .saas-list li{ display:flex; gap:10px; align-items:flex-start; color: var(--saas-muted); }
body.saas .saas-list i{ margin-top:2px; color: var(--saas-accent); }

body.saas .saas-alert{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px;
  border-radius: 14px;
  border:1px solid var(--saas-border);
  background: rgba(255,255,255,.06);
  color: var(--saas-text);
  margin: 12px 0;
}

body.saas .saas-muted{ color: var(--saas-muted); }

body.saas .saas-divider{ height:1px; background: var(--saas-border); margin:16px 0; }

body.saas .pill{
  display:inline-flex;
  padding:4px 10px;
  border-radius: 999px;
  border:1px solid var(--saas-border);
  color: var(--saas-muted);
  font-size:12px;
}

body.saas .saas-mini{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px;
  border-radius: 14px;
  border:1px solid var(--saas-border);
  background: rgba(255,255,255,.05);
  margin-top: 14px;
}
body.saas .saas-mini i{ color: var(--saas-accent2); margin-top:2px; }

body.saas .saas-footer{
  padding:28px 0 46px;
  color: var(--saas-muted);
  border-top: 1px solid var(--saas-border);
  margin-top:18px;
}

body.saas .saas-footer-grid{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

body.saas .saas-footer-inner{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

/* Ajustes para o mock/hero do index.php */
body.saas .hero{ padding:58px 0 26px; }
body.saas .hero .pill{ margin-bottom: 10px; }
body.saas .grad{ background: linear-gradient(135deg, var(--saas-accent), var(--saas-accent2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
body.saas .lead{ margin-top: 6px; }
body.saas .hero-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
body.saas .hero-kpis{ display:grid; grid-template-columns: repeat(3,1fr); gap:12px; margin-top:16px; }
@media (max-width: 900px){ body.saas .hero-kpis{ grid-template-columns: 1fr; } }
body.saas .kpi{ padding:16px; border-radius: 14px; border:1px solid var(--saas-border); background: rgba(255,255,255,.05); }
body.saas .kpi strong{ display:block; font-size:18px; color: var(--saas-text); }

body.saas .hero-card{ padding:26px; border-radius: var(--saas-radius); background: linear-gradient(180deg, rgba(18,26,51,.92), rgba(18,26,51,.55)); border:1px solid var(--saas-border); box-shadow: var(--saas-shadow); }
body.saas .mock{ width:100%; height:100%; border-radius: 16px; border:1px solid var(--saas-border); background: rgba(255,255,255,.04); overflow:hidden; display:flex; flex-direction:column; }
body.saas .mock-top{ display:flex; gap:8px; align-items:center; padding:10px 12px; border-bottom:1px solid var(--saas-border); }
body.saas .dot{ width:10px; height:10px; border-radius:999px; background: rgba(255,255,255,.18); }
body.saas .mock-title{ margin-left:auto; color: var(--saas-muted); font-size:12px; }
body.saas .mock-canvas{ flex:1; position:relative; }
body.saas .hs{ position:absolute; width:14px; height:14px; border-radius:999px; border:2px solid rgba(255,255,255,.85); box-shadow: 0 8px 20px rgba(0,0,0,.35); }
body.saas .hs1{ top:28%; left:24%; background: rgba(110,231,255,.75); }
body.saas .hs2{ top:44%; left:58%; background: rgba(155,123,255,.75); }
body.saas .hs3{ top:62%; left:36%; background: rgba(110,231,255,.55); }
body.saas .mock-bar{ display:flex; justify-content:space-between; padding:12px; border-top:1px solid var(--saas-border); color: var(--saas-muted); }
body.saas .mock-bar .wa{ color: var(--saas-text); }

/* Grid helpers do index.php */
body.saas .grid3{ display:grid; grid-template-columns: repeat(3,1fr); gap:14px; }
@media (max-width: 900px){ body.saas .grid3{ grid-template-columns: 1fr; } }
body.saas .grid2{ display:grid; grid-template-columns: repeat(2,1fr); gap:14px; }
@media (max-width: 900px){ body.saas .grid2{ grid-template-columns: 1fr; } }
body.saas .cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 14px; }
body.saas .tiny{ margin-top: 10px; font-size:12px; color: var(--saas-muted); }
body.saas code{ background: rgba(255,255,255,.06); border:1px solid var(--saas-border); padding:2px 6px; border-radius: 10px; }

/* ============================================================
   Compatibilidade: variações de classe dos botões
   ============================================================ */

body.saas .btn.primary,
body.saas .btn.btn-primary{
  border:none;
  background: linear-gradient(135deg, var(--saas-accent), var(--saas-accent2));
  color:#0b1020;
  font-weight:700;
}

body.saas .btn.ghost,
body.saas .btn.btn-ghost{
  background: rgba(255,255,255,.04);
}
