
/* ============================================================
   SVH · Layout Panel de usuario · CARRIER · .svh-template-panel
   Premium tech magenta: glassmorphism + dark + línea de acento.
   Magenta protagonista · dorado solo prestigio (badges PRO/MARCA/AGENCIA).
   ============================================================ */
.svh-template-panel{
  --svh-bg:#1a1a2e;
  --svh-bg-elev:#20203a;
  --svh-bg-deep:#141426;

  --svh-magenta:#c1247d;            /* primary SVH */
  --svh-magenta-bright:#e3479e;     /* --vl-magenta-2 / hover */
  --svh-magenta-deep:#8f1a5d;
  --svh-magenta-glow:rgba(193,36,125,.45);

  --svh-rose:#E4405F;               /* rose secondary */
  --svh-rose-glow:rgba(228,64,95,.35);

  --svh-gold:#d4af37;               /* prestigio · NO tocar */
  --svh-gold-bright:#e9c66a;
  --svh-gold-glow:rgba(212,175,55,.40);

  --svh-pearl:#F0EAD6;
  --svh-ink:#F0EAD6;
  --svh-ink-dim:#A6A0B5;
  --svh-ink-mute:#6B6680;

  --svh-line:rgba(240,234,214,.10);
  --svh-line-soft:rgba(240,234,214,.055);
  --svh-line-mag:rgba(193,36,125,.50);
  --svh-line-mag-soft:rgba(193,36,125,.22);
  --svh-glass:rgba(32,30,56,.55);

  --svh-ok:#5cc8a0; --svh-warn:#e8b53a; --svh-pastdue:#e8853a;
  --svh-err:#E4405F; --svh-paused:#8f8aa0; --svh-trial:#4aa3e0;

  --svh-f-display:'Syne',system-ui,sans-serif;
  --svh-f-body:'DM Sans',system-ui,sans-serif;

  --svh-pad-x: clamp(16px,4vw,32px);

  position:relative;display:block;
  background:var(--svh-bg);color:var(--svh-ink);
  font-family:var(--svh-f-body);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  isolation:isolate;overflow:hidden;
  background-image:
    radial-gradient(ellipse 1100px 700px at 50% -6%, rgba(193,36,125,.22), transparent 60%),
    radial-gradient(ellipse 820px 620px at 100% 102%, rgba(228,64,95,.12), transparent 60%);
}
.svh-template-panel *,
.svh-template-panel *::before,
.svh-template-panel *::after{box-sizing:border-box}
.svh-template-panel [hidden]{display:none !important}
.svh-template-panel a{color:inherit;text-decoration:none}
.svh-template-panel button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0}
.svh-template-panel ul,
.svh-template-panel ol{list-style:none;padding:0;margin:0}
.svh-template-panel img,
.svh-template-panel svg{display:block;max-width:100%}
.svh-template-panel input,
.svh-template-panel select,
.svh-template-panel textarea{font:inherit;color:inherit}

/* SHELL */
.svh-template-panel .svh-shell{
  position:relative;z-index:5;max-width:1260px;margin:0 auto;
  padding: clamp(20px,4vw,40px) var(--svh-pad-x) clamp(48px,7vw,80px);
}

/* línea de acento */
.svh-template-panel .svh-accent-top{position:relative}
.svh-template-panel .svh-accent-top::before{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:20px 20px 0 0;
  background:linear-gradient(90deg, var(--svh-magenta) 0%, var(--svh-rose) 60%, transparent 100%);opacity:.9;
}

/* ===== BADGES de prestigio (§12.7) ===== */
.svh-template-panel .svh-badge{
  display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;
  font-family:var(--svh-f-body);font-weight:700;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  line-height:1;white-space:nowrap;
}
.svh-template-panel .svh-badge svg{width:12px;height:12px}
.svh-template-panel .svh-badge[hidden]{display:none}
/* NEGOCIO · magenta gradient, texto blanco */
.svh-template-panel .svh-badge--negocio{
  color:#fff;background:linear-gradient(180deg, var(--svh-magenta-bright), var(--svh-magenta) 70%, var(--svh-magenta-deep));
  border:1px solid var(--svh-magenta);box-shadow:0 4px 14px -6px var(--svh-magenta-glow);
}
/* PRO · dorado border + texto dorado */
.svh-template-panel .svh-badge--pro{
  color:var(--svh-gold-bright);background:rgba(212,175,55,.08);border:1px solid var(--svh-gold);
}
/* MARCA · dorado fill, texto oscuro */
.svh-template-panel .svh-badge--marca{
  color:#1a1208;background:linear-gradient(180deg, var(--svh-gold-bright), var(--svh-gold) 70%, #a98620);
  border:1px solid rgba(233,198,106,.6);box-shadow:0 4px 14px -6px var(--svh-gold-glow);
}
/* AGENCIA · dorado fill + doble borde oscuro */
.svh-template-panel .svh-badge--agencia{
  color:#1a1208;background:linear-gradient(180deg, var(--svh-gold-bright), var(--svh-gold) 70%, #a98620);
  border:1px solid #1a1208;box-shadow:0 0 0 2px var(--svh-gold), 0 4px 14px -6px var(--svh-gold-glow);
}

/* HEADER usuario */
.svh-template-panel .svh-user{
  display:flex;align-items:center;gap: clamp(16px,3vw,22px);flex-wrap:wrap;
  padding: clamp(20px,3vw,28px);
  background:linear-gradient(180deg, rgba(32,30,56,.72), rgba(20,20,38,.82));
  border:1px solid var(--svh-line);border-radius:20px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin-bottom: clamp(20px,3vw,28px);
}
.svh-template-panel .svh-avatar{
  width: clamp(60px,9vw,80px);aspect-ratio:1;border-radius:22px;flex-shrink:0;
  background:radial-gradient(circle at 32% 24%, var(--svh-rose) 0%, var(--svh-magenta) 55%, #2a0a1e 100%);
  box-shadow:0 0 26px var(--svh-magenta-glow), inset 0 1px 6px rgba(255,255,255,.25);
  display:grid;place-items:center;
  font-family:var(--svh-f-display);font-weight:700;font-size:clamp(22px,3vw,28px);color:#fff;letter-spacing:.01em;
}
.svh-template-panel .svh-user-meta{flex:1;min-width:220px}
.svh-template-panel .svh-eyebrow{
  font-family:var(--svh-f-body);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--svh-magenta-bright);margin-bottom:7px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.svh-template-panel .svh-user h1{
  font-family:var(--svh-f-display);font-weight:700;
  font-size:clamp(23px,3.6vw,32px);line-height:1.08;letter-spacing:-.015em;
  color:var(--svh-pearl);margin:0 0 6px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
}
.svh-template-panel .svh-user-handle{font-family:var(--svh-f-body);font-weight:500;font-size:14px;color:var(--svh-ink-mute)}
.svh-template-panel .svh-user-greet{font-size:clamp(13.5px,2vw,15px);color:var(--svh-ink-dim);margin:0}
.svh-template-panel .svh-user-greet b{color:var(--svh-ink);font-weight:600}
.svh-template-panel .svh-user-actions{display:flex;gap:10px;flex-wrap:wrap}

/* LAYOUT 2-col */
.svh-template-panel .svh-layout{display:grid;grid-template-columns:260px 1fr;gap: clamp(20px,3vw,28px)}

/* SIDEBAR */
.svh-template-panel .svh-side{
  position:sticky;top:24px;align-self:start;padding:14px;border:1px solid var(--svh-line);border-radius:18px;
  background:var(--svh-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.svh-template-panel .svh-side-label{
  font-family:var(--svh-f-body);font-weight:600;font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--svh-ink-mute);padding:6px 12px 10px;
}
.svh-template-panel .svh-side ul{display:flex;flex-direction:column;gap:2px}
.svh-template-panel .svh-side a{
  position:relative;display:flex;align-items:center;gap:12px;padding:10px 13px;border-radius:11px;
  font-family:var(--svh-f-body);font-weight:500;font-size:13.5px;
  color:var(--svh-ink-dim);transition:color .2s, background .2s;min-height:42px;
}
.svh-template-panel .svh-side a:hover{color:var(--svh-ink);background:rgba(255,255,255,.04)}
.svh-template-panel .svh-side a.is-active{
  background:linear-gradient(90deg, rgba(193,36,125,.20), rgba(193,36,125,.06));color:#fff;font-weight:600;
}
.svh-template-panel .svh-side a.is-active::before{
  content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;
  background:linear-gradient(180deg, var(--svh-magenta-bright), var(--svh-magenta));box-shadow:0 0 12px var(--svh-magenta-glow);
}
.svh-template-panel .svh-side a.is-active .svh-side-ico{color:var(--svh-magenta-bright);border-color:var(--svh-line-mag);background:rgba(193,36,125,.16)}
.svh-template-panel .svh-side a.is-danger{color:#ef9aa9}
.svh-template-panel .svh-side a.is-danger:hover{background:rgba(228,64,95,.12)}
.svh-template-panel .svh-side-ico{
  width:28px;height:28px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;
  color:var(--svh-ink-dim);border:1px solid var(--svh-line-soft);background:rgba(255,255,255,.02);
  transition:color .2s, background .2s, border-color .2s;
}
.svh-template-panel .svh-side-ico svg{width:15px;height:15px}
.svh-template-panel .svh-side a:hover .svh-side-ico{color:var(--svh-ink)}
.svh-template-panel .svh-side-sep{height:1px;background:var(--svh-line-soft);margin:8px 6px}

/* CONTENT */
.svh-template-panel .svh-content{min-width:0}
.svh-template-panel .svh-section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-bottom:clamp(18px,2.5vw,24px);padding-bottom:18px;border-bottom:1px solid var(--svh-line-soft);
}
.svh-template-panel .svh-section-head h2{
  font-family:var(--svh-f-display);font-weight:700;font-size:clamp(22px,3vw,28px);letter-spacing:-.015em;color:var(--svh-pearl);margin:0;
}
.svh-template-panel .svh-section-head p{color:var(--svh-ink-dim);font-size:clamp(14px,1.8vw,16px);margin:6px 0 0}
.svh-template-panel .svh-pill{
  display:inline-flex;align-items:center;gap:8px;margin:0;
  font-family:var(--svh-f-body);font-weight:600;font-size:11px;letter-spacing:.10em;text-transform:uppercase;
  color:var(--svh-ink-dim);padding:7px 14px;border:1px solid var(--svh-line);border-radius:999px;background:rgba(255,255,255,.02);
}
.svh-template-panel .svh-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--svh-dot,var(--svh-ok));box-shadow:0 0 8px var(--svh-dot,var(--svh-ok))}

/* KPI strip */
.svh-template-panel .svh-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,16px);margin-bottom:clamp(16px,2.4vw,20px)}
.svh-template-panel .svh-kpi{
  position:relative;padding:clamp(16px,2.2vw,20px);
  background:linear-gradient(180deg, rgba(32,30,56,.66), rgba(20,20,38,.8));
  border:1px solid var(--svh-line);border-radius:16px;overflow:hidden;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.svh-template-panel .svh-kpi::after{content:"";position:absolute;left:0;top:0;width:42%;height:2px;background:linear-gradient(90deg,var(--svh-magenta),transparent)}
.svh-template-panel .svh-kpi-top{display:flex;align-items:center;gap:9px;color:var(--svh-magenta-bright);margin-bottom:12px}
.svh-template-panel .svh-kpi-top svg{width:17px;height:17px}
.svh-template-panel .svh-kpi-top span{font-family:var(--svh-f-body);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--svh-ink-dim)}
.svh-template-panel .svh-kpi-num{font-family:var(--svh-f-display);font-weight:700;font-size:clamp(24px,3.6vw,32px);line-height:1;color:var(--svh-pearl)}
.svh-template-panel .svh-kpi-num small{font-family:var(--svh-f-body);font-weight:500;font-size:13px;color:var(--svh-ink-mute)}
.svh-template-panel .svh-kpi-meta{font-size:12.5px;color:var(--svh-ink-mute);margin-top:8px}

/* CARDS nav */
.svh-template-panel .svh-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:clamp(14px,2vw,18px)}
.svh-template-panel .svh-card{
  position:relative;display:flex;flex-direction:column;gap:13px;padding:clamp(18px,2.4vw,22px);
  background:linear-gradient(180deg, rgba(32,30,56,.62), rgba(20,20,38,.78));
  border:1px solid var(--svh-line);border-radius:18px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transition:transform .25s, border-color .25s, box-shadow .25s;min-height:170px;
}
.svh-template-panel .svh-card:hover{transform:translateY(-3px);border-color:var(--svh-line-mag);box-shadow:0 18px 44px -18px var(--svh-magenta-glow)}
.svh-template-panel .svh-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.svh-template-panel .svh-card-icon{width:42px;height:42px;border-radius:11px;background:rgba(193,36,125,.12);border:1px solid var(--svh-line-mag-soft);display:grid;place-items:center;color:var(--svh-magenta-bright)}
.svh-template-panel .svh-card-icon svg{width:21px;height:21px}
.svh-template-panel .svh-card-meta{font-family:var(--svh-f-body);font-weight:600;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--svh-ink-mute)}
.svh-template-panel .svh-card-num{font-family:var(--svh-f-display);font-weight:700;font-size:clamp(24px,3.6vw,30px);line-height:1.05;color:var(--svh-pearl)}
.svh-template-panel .svh-card-num small{font-family:var(--svh-f-body);font-weight:500;font-size:12px;color:var(--svh-ink-mute);display:block;margin-top:7px;text-transform:none;letter-spacing:0}
.svh-template-panel .svh-card-label{font-family:var(--svh-f-display);font-weight:600;font-size:clamp(15px,2.2vw,16.5px);color:var(--svh-pearl);margin:0}
.svh-template-panel .svh-card-cta{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-family:var(--svh-f-body);font-weight:600;font-size:12px;letter-spacing:.04em;color:var(--svh-magenta-bright)}
.svh-template-panel .svh-card-cta::after{content:"→";transition:transform .22s}
.svh-template-panel .svh-card:hover .svh-card-cta::after{transform:translateX(4px)}

/* BOTONES */
.svh-template-panel .svh-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding: clamp(11px,2vw,13px) clamp(18px,3vw,22px);
  font-family:var(--svh-f-body);font-weight:600;font-size:13.5px;letter-spacing:.01em;
  border:1px solid var(--svh-line);border-radius:12px;background:rgba(255,255,255,.03);color:var(--svh-ink);
  transition:all .22s;min-height:44px;text-align:center;white-space:nowrap;
}
.svh-template-panel .svh-btn:hover{border-color:var(--svh-magenta);color:#fff;background:rgba(193,36,125,.12)}
.svh-template-panel .svh-btn.is-primary{
  background:linear-gradient(180deg, var(--svh-magenta-bright), var(--svh-magenta) 60%, var(--svh-magenta-deep));
  color:#fff;border-color:var(--svh-magenta);box-shadow:0 8px 24px -8px var(--svh-magenta-glow);
}
.svh-template-panel .svh-btn.is-primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 12px 30px -8px var(--svh-magenta-glow)}
.svh-template-panel .svh-btn.is-ghost{border-color:var(--svh-line-soft);color:var(--svh-ink-dim)}
.svh-template-panel .svh-btn.is-ghost:hover{border-color:var(--svh-rose);color:#fff;background:rgba(228,64,95,.10)}
.svh-template-panel .svh-btn.is-wa{border-color:rgba(37,211,102,.4);color:#7fe0a0}
.svh-template-panel .svh-btn.is-wa:hover{border-color:#25D366;color:#fff;background:rgba(37,211,102,.14)}

/* PANEL block común */
.svh-template-panel .svh-panel{
  position:relative;padding:clamp(20px,3vw,28px);
  background:linear-gradient(180deg, rgba(32,30,56,.62), rgba(20,20,38,.78));
  border:1px solid var(--svh-line);border-radius:20px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.svh-template-panel .svh-panel + .svh-panel{margin-top:18px}
.svh-template-panel .svh-panel h3{font-family:var(--svh-f-display);font-weight:700;font-size:clamp(18px,2.4vw,22px);color:var(--svh-pearl);margin:0 0 14px}

/* MODAL */
.svh-template-panel .svh-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(16,16,30,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.svh-template-panel .svh-modal.is-open{display:flex}
.svh-template-panel .svh-modal-card{
  width:100%;max-width:480px;position:relative;padding:clamp(24px,4vw,32px);
  background:linear-gradient(180deg, #24223e, #16162a);border:1px solid var(--svh-line-mag);border-radius:22px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.6), 0 0 40px -10px var(--svh-magenta-glow);animation:svhPanelPop .26s ease both;
}
@keyframes svhPanelPop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.svh-template-panel .svh-modal h3{margin:0 0 10px;font-family:var(--svh-f-display);font-weight:700;font-size:22px;color:var(--svh-pearl)}
.svh-template-panel .svh-modal p{color:var(--svh-ink-dim);margin:0 0 18px}
.svh-template-panel .svh-modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

.svh-template-panel *:focus-visible{outline:2px solid var(--svh-magenta-bright);outline-offset:2px;border-radius:6px}
@media (prefers-reduced-motion: reduce){
  .svh-template-panel *,.svh-template-panel *::before,.svh-template-panel *::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}

/* RESPONSIVE */
@media (max-width:980px){
  .svh-template-panel .svh-layout{grid-template-columns:1fr}
  .svh-template-panel .svh-side{position:static;padding:10px}
  .svh-template-panel .svh-side-label{display:none}
  .svh-template-panel .svh-side-sep{display:none}
  .svh-template-panel .svh-side ul{flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .svh-template-panel .svh-side ul::-webkit-scrollbar{display:none}
  .svh-template-panel .svh-side a{flex:0 0 auto;white-space:nowrap}
  .svh-template-panel .svh-side a.is-active::before{left:9px;right:9px;top:auto;bottom:0;width:auto;height:3px}
  .svh-template-panel .svh-kpis{grid-template-columns:1fr}
}
@media (max-width:560px){
  .svh-template-panel .svh-cards{grid-template-columns:1fr}
  .svh-template-panel .svh-user-actions{width:100%}
  .svh-template-panel .svh-user-actions .svh-btn{flex:1}
}
