/* ═══════════════════════════════════════════════
   VIEWS.CSS — Estilos específicos de cada view
   (calc, equilíbrio, planejamento, estratégia, admin)
   Athenis Performance — Kit do Lojista
═══════════════════════════════════════════════ */

/* ─── HERO STRIP (compartilhado entre views) ── */
.hero-strip{margin-bottom:clamp(14px,3vw,24px);}
.hero-eyebrow{
  font-family:'Montserrat',sans-serif;font-size:clamp(8px,2vw,10px);font-weight:700;
  letter-spacing:3px;text-transform:uppercase;color:var(--accent);
  display:flex;align-items:center;gap:8px;margin-bottom:10px;
}
.hero-eyebrow::before{content:'';display:block;width:20px;height:2px;background:var(--accent);}
.hero-strip h1{
  font-family:'Montserrat',sans-serif;font-size:clamp(20px,5vw,36px);font-weight:800;
  line-height:1.1;letter-spacing:-.5px;
}
.hero-strip h1 span{color:var(--accent);}
.hero-strip p{font-size:clamp(11px,2.5vw,13px);color:var(--muted2);margin-top:8px;line-height:1.7;max-width:480px;}

/* ─── CALC LAYOUT ─────────────────────────── */
/* Desktop: form + coluna de resultados lado a lado */
.calc-layout{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start;}

/* ─── TOOL INTRO CARD ───────────────────── */
.tool-intro-card{border-left:3px solid var(--accent) !important;}

/* ─── TOOL LAYOUT (desconto, cac, margens) ── */
/* Desktop: 2 colunas iguais */
.tool-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
/* Duplo resultado lado a lado nos cards de resultado */
.metrics-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

/* Análise de concorrência — fora do grid, largura total */
#concorrencia-result{width:100%;}

/* ─── ADMIN ASAAS-STYLE TABS ──────────────── */
.admin-tabs{
  display:flex;gap:0;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:6px 6px 0 0;
  margin-bottom:0;
  overflow-x:auto;
  scrollbar-width:none;
}
.admin-tabs::-webkit-scrollbar{display:none;}
.atab{
  display:flex;align-items:center;gap:7px;
  padding:clamp(10px,2vw,13px) clamp(12px,2.5vw,20px);
  font-family:'Montserrat',sans-serif;font-size:clamp(9px,1.8vw,10px);font-weight:700;
  letter-spacing:1px;text-transform:uppercase;cursor:pointer;color:var(--muted2);
  border-bottom:2px solid transparent;transition:all .15s;
  white-space:nowrap;flex-shrink:0;
}
.atab .atab-icon{font-size:clamp(11px,2.2vw,13px);opacity:.6;transition:opacity .15s;}
.atab:hover{color:var(--white);}
.atab:hover .atab-icon{opacity:1;}
.atab.active{color:var(--accent);border-bottom-color:var(--accent);background:rgba(100,196,217,.04);}
.atab.active .atab-icon{opacity:1;}

.atab-body{
  background:var(--card);
  border:1px solid var(--border);border-top:none;
  border-radius:0 0 6px 6px;
  padding:clamp(14px,3vw,24px);
  margin-bottom:24px;
}
.atab-view{display:none;}
.atab-view.active{display:block;animation:fadeUp .2s ease;}

/* ─── ADMIN STATS ─────────────────────────── */
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:24px;}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:clamp(12px,2.5vw,18px);}
.stat-lbl{font-size:clamp(8px,1.8vw,9px);letter-spacing:1.5px;text-transform:uppercase;color:var(--muted2);margin-bottom:6px;}
.stat-val{font-family:'Montserrat',sans-serif;font-size:clamp(20px,4vw,26px);font-weight:800;}
.stat-sub{font-size:clamp(9px,1.8vw,10px);color:var(--muted2);margin-top:3px;}
.stat-sub.up{color:var(--green);}
.stat-sub.warn{color:var(--yellow);}

.admin-card{background:var(--card);border:1px solid var(--border);border-radius:4px;margin-bottom:18px;overflow:hidden;}
.admin-card-head{
  padding:clamp(10px,2vw,14px) clamp(12px,2.5vw,18px);border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;
}
.admin-card-body{padding:clamp(12px,2.5vw,18px);}
.ac-title{font-family:'Montserrat',sans-serif;font-size:clamp(10px,2vw,11px);font-weight:700;display:flex;align-items:center;gap:8px;}
.ac-title .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);}

/* ─── ADMIN TABLE ─────────────────────────── */
table.dt{width:100%;border-collapse:collapse;font-size:clamp(11px,2.2vw,12px);}
table.dt th{
  text-align:left;padding:8px 12px;
  font-family:'Montserrat',sans-serif;font-size:clamp(7px,1.5vw,8px);font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:var(--muted2);
  border-bottom:1px solid var(--border);
}
table.dt td{padding:clamp(8px,2vw,11px) 12px;border-bottom:1px solid var(--border);vertical-align:middle;}
table.dt tr:last-child td{border-bottom:none;}
table.dt tr:hover td{background:rgba(255,255,255,.015);}

/* ─── USER MANAGEMENT ─────────────────────── */
.user-card{
  display:flex;align-items:center;justify-content:space-between;
  padding:clamp(10px,2vw,14px) clamp(12px,2.5vw,18px);border-bottom:1px solid var(--border);
  transition:background .15s;flex-wrap:wrap;gap:8px;
}
.user-card:last-child{border-bottom:none;}
.user-card:hover{background:rgba(255,255,255,.02);}
.user-card-left{display:flex;align-items:center;gap:12px;}
.user-big-av{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Montserrat',sans-serif;font-size:clamp(11px,2.5vw,13px);font-weight:800;
  flex-shrink:0;
}
.av-admin{background:rgba(100,196,217,.15);border:1px solid var(--accent);color:var(--accent);}
.av-user{background:rgba(76,175,119,.12);border:1px solid var(--green);color:var(--green);}
.user-info-col .un{font-size:clamp(12px,2.5vw,13px);font-weight:500;}
.user-info-col .ue{font-size:clamp(10px,2vw,11px);color:var(--muted2);margin-top:1px;}
.user-card-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.role-badge{
  font-family:'Montserrat',sans-serif;font-size:clamp(8px,1.8vw,9px);font-weight:700;
  letter-spacing:1px;text-transform:uppercase;
  padding:3px 8px;border-radius:2px;
}
.rb-admin{background:var(--aglow);border:1px solid rgba(100,196,217,.3);color:var(--accent);}
.rb-user{background:rgba(76,175,119,.1);border:1px solid rgba(76,175,119,.3);color:var(--green);}

/* ─── ESTRATÉGIA IA — Wizard ───────────────── */
.eq-wizard{display:flex;gap:8px;margin-bottom:clamp(16px,3vw,28px);align-items:center;overflow-x:auto;padding-bottom:4px;}
.eq-step{
  display:flex;align-items:center;gap:7px;
  padding:7px clamp(8px,2vw,14px);border-radius:3px;
  font-family:'Montserrat',sans-serif;font-size:clamp(8px,1.8vw,9px);font-weight:700;
  letter-spacing:1px;text-transform:uppercase;color:var(--muted);
  border:1px solid transparent;cursor:default;white-space:nowrap;flex-shrink:0;
}
.eq-step.done{color:var(--green);border-color:rgba(76,175,119,.3);}
.eq-step.active{color:var(--accent);border-color:var(--accent);background:rgba(100,196,217,.06);}
.eq-step-num{
  width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:800;
  background:var(--border2);color:var(--muted2);
  flex-shrink:0;
}
.eq-step.active .eq-step-num{background:var(--accent);color:#0d1417;}
.eq-step.done .eq-step-num{background:var(--green);color:#0d1417;}
.eq-sep{flex:1;height:1px;background:var(--border);max-width:32px;flex-shrink:0;}

/* ─── WIZARD QUESTION BLOCKS ──────────────── */
.q-block{margin-bottom:22px;}
.q-label{font-size:clamp(11px,2.2vw,12px);color:var(--white);margin-bottom:10px;line-height:1.5;display:block;}
.q-hint{font-size:clamp(9px,2vw,10px);color:var(--muted2);margin-top:-6px;margin-bottom:10px;display:block;}
.q-opts{display:flex;flex-wrap:wrap;gap:8px;}
.q-opt{
  padding:8px 16px;border:1px solid var(--border2);border-radius:3px;
  font-size:clamp(10px,2vw,11px);color:var(--muted2);cursor:pointer;transition:all .15s;
  background:transparent;min-width:0;word-break:break-word;
}
.q-opt:hover{border-color:var(--accent);color:var(--white);}
.q-opt.sel{border-color:var(--accent);background:rgba(100,196,217,.1);color:var(--accent);}
.q-textarea{
  width:100%;background:var(--black);border:1px solid var(--border2);
  border-radius:3px;padding:11px 13px;color:var(--white);
  font-family:'Montserrat',sans-serif;font-size:clamp(11px,2.2vw,12px);
  outline:none;resize:vertical;min-height:80px;
  transition:border-color .2s;line-height:1.6;box-sizing:border-box;
}
.q-textarea:focus{border-color:var(--accent);}

/* ─── IA GENERATE BUTTON ──────────────────── */
.ia-gen-btn{
  width:100%;background:var(--accent);color:#0d1417;
  border:none;border-radius:3px;padding:clamp(12px,2.5vw,16px);
  font-family:'Montserrat',sans-serif;font-size:clamp(10px,2vw,11px);font-weight:800;
  letter-spacing:2px;text-transform:uppercase;cursor:pointer;
  transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px;
  word-break:break-word;white-space:normal;
}
.ia-gen-btn:hover:not(:disabled){background:var(--accent2);transform:translateY(-1px);}
.ia-gen-btn:disabled{opacity:.5;cursor:not-allowed;}

/* ─── IA LOADING ──────────────────────────── */
.ia-loading{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:clamp(24px,5vw,48px) 24px;gap:16px;text-align:center;
}
.ia-loading-dot{
  width:40px;height:40px;border-radius:50%;
  border:3px solid var(--border2);border-top-color:var(--accent);
  animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}
.ia-loading-msg{font-size:clamp(11px,2.2vw,12px);color:var(--muted2);line-height:1.6;max-width:320px;}
.ia-loading-step{font-size:clamp(9px,2vw,10px);color:var(--accent);font-family:'DM Mono',monospace;margin-top:4px;}

/* ─── PLAN OUTPUT ─────────────────────────── */
.plano-output{animation:fadeUp .3s ease;}
.plano-header{
  background:linear-gradient(135deg,rgba(100,196,217,.12),rgba(100,196,217,.04));
  border:1px solid rgba(100,196,217,.25);
  border-radius:4px;padding:clamp(14px,3vw,20px) clamp(14px,3vw,24px);margin-bottom:20px;
}
.plano-header h3{
  font-family:'Montserrat',sans-serif;font-size:clamp(14px,3vw,16px);font-weight:800;
  margin-bottom:4px;color:var(--white);
}
.plano-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.plano-tag{
  padding:3px 10px;border-radius:2px;font-size:clamp(8px,1.8vw,9px);font-weight:700;
  font-family:'Montserrat',sans-serif;letter-spacing:.5px;text-transform:uppercase;
  background:rgba(100,196,217,.15);color:var(--accent);
}
.plano-body{
  background:var(--card);border:1px solid var(--border);border-radius:4px;
  padding:clamp(14px,3vw,24px);margin-bottom:16px;line-height:1.8;
  font-size:clamp(11px,2.5vw,13px);color:var(--muted2);
}
.plano-body h4{
  font-family:'Montserrat',sans-serif;font-size:clamp(9px,2vw,11px);font-weight:800;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);
  margin:20px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--border);
}
.plano-body h4:first-child{margin-top:0;}
.plano-body strong{color:var(--white);}
.plano-body ul{padding-left:18px;margin:8px 0;}
.plano-body li{margin-bottom:6px;}

.plano-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.plano-saved-list{display:flex;flex-direction:column;gap:10px;}
.plano-saved-item{
  background:var(--card);border:1px solid var(--border);border-radius:4px;
  padding:clamp(12px,2.5vw,16px) clamp(12px,2.5vw,18px);
  display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;transition:border-color .15s;flex-wrap:wrap;gap:8px;
}
.plano-saved-item:hover{border-color:var(--accent);}
.psi-left h4{font-size:clamp(12px,2.5vw,13px);font-weight:600;color:var(--white);margin-bottom:3px;}
.psi-left p{font-size:clamp(9px,2vw,10px);color:var(--muted2);}
.psi-right{font-family:'DM Mono',monospace;font-size:9px;color:var(--muted2);}

/* Wizard nav buttons */
.wiz-nav{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:28px;padding-top:20px;border-top:1px solid var(--border);
  flex-wrap:wrap;gap:10px;
}

/* ─── PLANEJAMENTO — config grid ──────────── */
/* Garante que o grid de configuração do nicho quebre no mobile */
.pl-config-grid{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:14px;
  align-items:flex-end;
}

/* ─── RESPONSIVE VIEWS ──────────────────── */
@media(max-width:900px){
  /* Calc / Equilíbrio: resultado abaixo do form no tablet */
  .calc-layout{grid-template-columns:1fr;}
  .tool-layout{grid-template-columns:1fr;}
  .metrics-duo{grid-template-columns:1fr 1fr;}

  /* Stats: 2 colunas no tablet */
  .stats-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));}

  /* Planejamento config grid: 2 colunas + botão */
  .pl-config-grid{grid-template-columns:1fr 1fr;align-items:flex-end;}
  .pl-config-grid > :last-child{grid-column:1/-1;}
}

@media(max-width:640px){
  /* Calc / Equilíbrio: resultado abaixo do form no mobile */
  .calc-layout{grid-template-columns:1fr;}

  /* Campo nome — evita zoom automático no iOS */
  #c-nome{font-size:16px;}

  /* Concorrência — ajusta padding dos cards no mobile */
  #concorrencia-result .card{padding:14px;}

  /* Stats: 2 colunas */
  .stats-row{grid-template-columns:1fr 1fr;}

  /* Hero */
  .hero-strip{margin-bottom:16px;}

  /* Admin table scroll */
  .admin-card{overflow-x:auto;}
  table.dt{min-width:480px;}

  /* User card wrap */
  .user-card-right{width:100%;}

  /* Plano actions em coluna */
  .plano-actions{flex-direction:column;}
  .plano-actions .btn{width:100%;text-align:center;justify-content:center;}

  /* Planejamento config grid: 1 coluna no mobile */
  .pl-config-grid{grid-template-columns:1fr;}
  .pl-config-grid > :last-child{grid-column:unset;}

  /* Wizard steps scroll */
  .eq-wizard{overflow-x:auto;}

  /* Wizard nav em coluna quando necessário */
  .wiz-nav{gap:10px;}

  /* q-opts menores */
  .q-opt{padding:7px 12px;font-size:11px;}

  /* Admin tabs scroll e padding menor */
  .atab{padding:10px 12px;}

  /* Painel de Resultados — inputs lado a lado colapsam */
  #res-container [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;}

  /* Meses VIP — grid de meses 4 colunas */
  .vip-mgrid{grid-template-columns:repeat(4,1fr);}

  /* Estratégia — grids colapsam */
  #estrategia-result [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;}

  /* Cards sem tabela: conter overflow */
  .card:not(:has(table)){overflow-x:hidden;}
}

@media(max-width:380px){
  /* Stats: 1 coluna */
  .stats-row{grid-template-columns:1fr;}

  /* Plano saved item */
  .plano-saved-item{flex-direction:column;align-items:flex-start;}

  /* Wizard nav: empilhar */
  .wiz-nav{flex-direction:column;}
  .wiz-nav .btn{width:100%;text-align:center;}
}

/* ════════════════════════════════════════════
   MENSAGENS VIP
════════════════════════════════════════════ */

/* Mês grid */
.vip-mgrid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 6px;
}
.vip-mbtn {
  background: var(--black);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--muted2);
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  padding: 7px 0;
  text-align: center;
  transition: all .15s;
}
.vip-mbtn:hover { border-color: var(--accent); color: var(--accent); }
.vip-mbtn.active { background: var(--accent); border-color: var(--accent); color: #0d1417; }

/* Chips de tipo */
.vip-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.vip-chip {
  background: var(--black);
  border: 1px solid var(--border);
  border-radius: 20px;
  color: var(--muted2);
  cursor: pointer;
  font-size: 11px;
  padding: 5px 12px;
  transition: all .15s;
  white-space: nowrap;
}
.vip-chip:hover { border-color: var(--accent); color: var(--accent); }
.vip-chip.active { background: rgba(100,196,217,.12); border-color: var(--accent); color: var(--accent); font-weight: 600; }

/* Calendário */
.vip-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 3px;
}
.vip-cal-dow {
  font-size: 9px;
  font-weight: 700;
  color: var(--muted2);
  text-align: center;
  padding: 4px 0;
  letter-spacing: .5px;
}
.vip-cal-day {
  background: var(--black);
  border: 1px solid var(--border);
  border-radius: 4px;
  min-height: 52px;
  padding: 4px;
  position: relative;
  font-size: 9px;
  overflow: hidden;
  transition: border-color .15s;
}
.vip-cal-day.empty { background: transparent; border-color: transparent; }
.vip-cal-day.has-send { border-color: rgba(100,196,217,.4); }
.vip-cal-day.has-event { border-color: rgba(200,169,110,.4); }
.vip-cal-day[onclick] { cursor: pointer; }
.vip-cal-day[onclick]:hover { border-color: var(--accent); }
.vip-cal-day.send-dimmed { border-color: rgba(59,99,85,.5); }
.vip-cal-day.range-start { border-radius: 4px 0 0 4px; border-color: rgba(59,99,85,.6); background: rgba(59,99,85,.08); }
.vip-cal-day.range-mid   { border-radius: 0; border-color: rgba(59,99,85,.3); background: rgba(59,99,85,.05); }
.vip-cal-day.range-end   { border-radius: 0 4px 4px 0; border-color: rgba(59,99,85,.6); background: rgba(59,99,85,.08); }
.vip-cal-day.range-single { border-color: rgba(59,99,85,.6); background: rgba(59,99,85,.08); }
.vip-cal-num { font-size: 10px; font-weight: 600; color: var(--muted2); display: block; }
.vip-cal-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); margin: 3px 0 1px; }
.vip-cal-label { font-size: 8px; color: var(--muted2); line-height: 1.3; word-break: break-word; }
.range-lbl { color: #3B6355; }
.vip-range-bar { height: 5px; background: rgba(59,99,85,.25); border-radius: 2px; margin: 4px 0 2px; }
.vip-leg-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }

/* Popup de evento */
.vip-epopup {
  display: none;
  background: var(--card2, #1a2428);
  border: 1px solid var(--border2);
  border-radius: 6px;
  margin-top: 12px;
  padding: 14px;
  animation: fadeUp .15s ease;
}
.vip-epopup.show { display: block; }
.vip-ep-btn {
  background: var(--black);
  border: 1px solid var(--border2);
  border-radius: 4px;
  color: var(--muted2);
  cursor: pointer;
  font-size: 11px;
  padding: 6px 12px;
  transition: all .15s;
}
.vip-ep-btn:hover { border-color: var(--accent); color: var(--accent); }

/* Form rows */
.vip-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.vip-field { display: flex; flex-direction: column; gap: 5px; }
.vip-field label { font-size: 11px; color: var(--muted2); font-weight: 500; }
.vip-field input,
.vip-field select { background: var(--black); border: 1px solid var(--border); border-radius: 4px; color: var(--white); font-size: 12px; padding: 8px 10px; outline: none; transition: border-color .15s; width: 100%; }
.vip-field input:focus,
.vip-field select:focus { border-color: var(--accent); }

/* Variantes bar */
.vip-vbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 10px;
}
.vip-vpill {
  background: var(--black);
  border: 1px solid var(--border);
  border-radius: 3px;
  color: var(--muted2);
  cursor: pointer;
  font-size: 10px;
  font-weight: 600;
  min-width: 26px;
  padding: 4px 6px;
  text-align: center;
  transition: all .15s;
}
.vip-vpill:hover { border-color: var(--accent); color: var(--accent); }
.vip-vpill.active { background: var(--accent); border-color: var(--accent); color: #0d1417; }

/* Preview WhatsApp */
.vip-wa-screen {
  background: #0b1c12;
  border-radius: 8px;
  min-height: 120px;
  padding: 16px;
}
.vip-wa-bubble {
  background: #1f5c38;
  border-radius: 8px 8px 0 8px;
  color: #e8f5e9;
  font-size: 13px;
  line-height: 1.6;
  max-width: 85%;
  margin-left: auto;
  padding: 10px 12px;
  position: relative;
  word-break: break-word;
}
.vip-wa-time {
  color: rgba(232,245,233,.55);
  font-size: 9px;
  margin-top: 4px;
  text-align: right;
}
.vip-preview-ph {
  align-items: center;
  color: rgba(255,255,255,.25);
  display: flex;
  flex-direction: column;
  font-size: 12px;
  gap: 8px;
  line-height: 1.6;
  padding: 24px;
  text-align: center;
}
.vip-preview-ph em { color: var(--accent); font-style: normal; }

/* Copy ok badge */
.vip-copy-ok {
  background: rgba(76,175,119,.15);
  border: 1px solid var(--green);
  border-radius: 4px;
  color: var(--green);
  display: none;
  font-size: 11px;
  padding: 5px 12px;
  position: absolute;
  right: 0;
  white-space: nowrap;
}
.vip-copy-ok.show { display: block; }

/* Histórico */
.vip-hist-item {
  background: var(--black);
  border: 1px solid var(--border);
  border-radius: 4px;
  cursor: pointer;
  margin-bottom: 8px;
  padding: 10px 12px;
  transition: border-color .15s;
}
.vip-hist-item:hover { border-color: var(--accent); }
.vip-hist-meta { color: var(--accent); font-size: 9px; letter-spacing: .3px; margin-bottom: 4px; text-transform: uppercase; }
.vip-hist-prev { color: var(--muted2); font-size: 11px; line-height: 1.5; }

/* Responsive */
@media (max-width: 600px) {
  .vip-mgrid { grid-template-columns: repeat(4, 1fr); }
  .vip-form-row { grid-template-columns: 1fr; }
  .vip-cal-day { min-height: 44px; }
  .vip-cal-label { display: none; }
}

/* ── Planos ──────────────────────────────────────────────── */
.planos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 8px;
}

.plano-card {
  background: var(--card);
  border: 1.5px solid var(--border);
  border-radius: 14px;
  padding: 24px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  transition: box-shadow .2s;
}

.plano-card-destaque {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent);
}

.plano-tag-popular {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--accent);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 12px;
  border-radius: 20px;
  white-space: nowrap;
  letter-spacing: .5px;
}

.plano-badge {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: .7;
}
.plano-badge-starter { color: #4caf50; }
.plano-badge-pro     { color: var(--accent); }
.plano-badge-proplus { color: #ff9800; }

.plano-price {
  font-size: 28px;
  font-weight: 800;
  line-height: 1.1;
}
.plano-price span { font-size: 13px; font-weight: 400; opacity: .6; }

.plano-billing-toggle {
  display: flex;
  gap: 6px;
}
.billing-opt {
  flex: 1;
  font-size: 11px;
  padding: 5px 8px;
  border-radius: 6px;
  border: 1.5px solid var(--border);
  background: transparent;
  color: var(--text);
  cursor: pointer;
  transition: all .15s;
}
.billing-opt.active {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.discount-tag {
  background: #e8f5e9;
  color: #2e7d32;
  border-radius: 4px;
  padding: 1px 4px;
  font-size: 10px;
  font-weight: 700;
}
.billing-opt.active .discount-tag {
  background: rgba(255,255,255,.2);
  color: #fff;
}

.plano-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 13px;
  flex: 1;
}
.plano-features li.disabled { opacity: .4; }

.plano-btn {
  width: 100%;
  padding: 11px;
  border-radius: 8px;
  border: none;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity .15s;
}
.plano-btn:hover { opacity: .85; }
.plano-btn-current  { background: var(--border); color: var(--text-muted); cursor: default; }
.plano-btn-starter  { background: #4caf50; color: #fff; }
.plano-btn-pro      { background: var(--accent); color: #fff; }
.plano-btn-proplus  { background: #ff9800; color: #fff; }

@media (max-width: 600px) {
  .planos-grid { grid-template-columns: 1fr; }
}
