/* Sabiduría Studio · paleta de Sabiduría OS (#08090d / #8b5cf6, Inter + Space Grotesk) */
:root{
  --bg:#08090d; --bg2:#0e1016; --card:#12141c; --card2:#181b25; --line:#242836; --fg:#eef0f5; --mut:#9aa1b2;
  --v:#8b5cf6; --v2:#a78bfa; --vink:#ffffff; --ok:#34d399; --warn:#fbbf24; --err:#f87171; --cyan:#38bdf8;
  --r:16px; --f-d:"Space Grotesk",Inter,system-ui,sans-serif; --f-b:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--f-b);-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:var(--v2)}
h1,h2,h3{font-family:var(--f-d);line-height:1.1;margin:0;text-wrap:balance}
p{margin:0}
[hidden]{display:none!important}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.estrecho{max-width:820px}
.center{text-align:center}
.eti{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--v2);margin-bottom:10px}
.lead{color:var(--mut);max-width:62ch;margin-top:12px;font-size:17px}
.center .lead{margin-inline:auto}
.mini{color:var(--mut);font-size:14px;margin-top:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 16px var(--f-b);padding:14px 22px;border-radius:12px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;min-height:48px}
.btn:focus-visible{outline:2px solid var(--v2);outline-offset:3px}
.btn-p{background:var(--v);color:var(--vink);box-shadow:0 8px 30px -8px rgba(139,92,246,.6)}
.btn-p:hover{background:#7c4ff0;transform:translateY(-1px)}
.btn-g{background:transparent;color:var(--fg);border-color:var(--line)}
.btn-g:hover{border-color:var(--v2)}
.btn-s{padding:9px 16px;font-size:14px;min-height:40px}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* encabezado */
.top{position:sticky;top:0;z-index:20;background:rgba(8,9,13,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.marca{display:flex;align-items:center;gap:8px;color:var(--fg);text-decoration:none;font:600 18px var(--f-d);white-space:nowrap}
.marca b{color:var(--v2)}
.punto{width:12px;height:12px;border-radius:4px;background:linear-gradient(135deg,var(--v),var(--cyan))}
.beta{font:600 11px var(--f-b);text-transform:uppercase;letter-spacing:.08em;color:var(--warn);border:1px solid rgba(251,191,36,.4);border-radius:999px;padding:1px 8px}
.nav{display:flex;align-items:center;gap:20px}
.nav a:not(.btn){color:var(--mut);text-decoration:none;font-size:15px}
.nav a:not(.btn):hover{color:var(--fg)}
@media (max-width:760px){.nav a:not(.btn):not([href="/panel/"]){display:none}.nav .btn{display:none}}

/* portada */
.hero{padding:56px 0 64px;background:radial-gradient(60% 50% at 75% 30%,rgba(139,92,246,.22),transparent 70%),radial-gradient(40% 40% at 10% 90%,rgba(56,189,248,.10),transparent 70%)}
.hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.hero h1{font-size:clamp(36px,5.4vw,64px);letter-spacing:-.02em}
.grad{background:linear-gradient(90deg,#c4b5fd,#8b5cf6 55%,#38bdf8);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:#c9cdd8;font-size:18px;margin-top:20px;max-width:56ch}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-vid{position:relative;justify-self:center;width:min(320px,80vw)}
.telefono{border-radius:34px;padding:10px;background:linear-gradient(160deg,#2a2d3a,#111319);box-shadow:0 40px 80px -30px rgba(139,92,246,.55),inset 0 0 0 1px #33384a}
.telefono video{border-radius:26px;aspect-ratio:9/16;width:100%;object-fit:cover;background:#000}
.chip{position:absolute;font-size:13px;font-weight:600;padding:8px 12px;border-radius:12px;background:rgba(18,20,28,.92);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.4);white-space:nowrap}
.chip-a{left:-40px;top:22%}.chip-b{right:-34px;bottom:18%}
@media (max-width:860px){.hero-in{grid-template-columns:minmax(0,1fr)}.hero{padding-top:36px}.chip-a{left:-8px}.chip-b{right:-8px}}

/* secciones */
.sec{padding:80px 0}
.sec-alt{background:var(--bg2);border-block:1px solid var(--line)}
.sec h2{font-size:clamp(28px,3.6vw,42px);letter-spacing:-.01em}
.muestras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:36px}
@media (max-width:900px){.muestras{grid-template-columns:repeat(2,minmax(0,1fr))}}
.muestra{margin:0}
.mvid{all:unset;cursor:pointer;position:relative;display:block;border-radius:18px;overflow:hidden;border:1px solid var(--line);aspect-ratio:9/16;background:#000}
.mvid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.mvid:hover img{transform:scale(1.03)}
.mvid:focus-visible{outline:2px solid var(--v2);outline-offset:3px}
.play{position:absolute;inset:auto auto 14px 14px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--v);color:#fff;font-size:16px;box-shadow:0 8px 20px rgba(0,0,0,.4)}
.muestra figcaption{display:flex;flex-direction:column;margin-top:10px;font-size:15px}
.muestra figcaption span{color:var(--mut);font-size:13px}

.pasos{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:800px){.pasos{grid-template-columns:minmax(0,1fr)}}
.pasos li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.pasos li b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(139,92,246,.18);color:var(--v2);font:700 18px var(--f-d);margin-bottom:16px}
.pasos h3{font-size:20px;margin-bottom:8px}
.pasos p{color:var(--mut)}

.estilos{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:36px}
.estilo{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.estilo::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--c)}
.estilo-top{display:flex;align-items:center;gap:10px}
.estilo .dot{width:12px;height:12px;border-radius:50%;background:var(--c);flex:none}
.estilo h3{font-size:18px}
.estilo p{color:var(--mut);font-size:14.5px;line-height:1.5}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags span{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--card2);color:var(--mut)}
.ver{all:unset;cursor:pointer;color:var(--v2);font-weight:600;font-size:14px;margin-top:auto}
.ver:focus-visible{outline:2px solid var(--v2)}

.precios{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:36px;align-items:stretch}
@media (max-width:1050px){.precios{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.precios{grid-template-columns:minmax(0,1fr)}}
.precio{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:8px;position:relative}
.precio h3{font-size:18px}
.monto{font:700 34px var(--f-d)}
.det{color:var(--mut);font-size:14px;flex:1}
.precio .btn{margin-top:10px;width:100%}
.precio-gratis{border-color:rgba(139,92,246,.6);background:linear-gradient(180deg,rgba(139,92,246,.16),var(--card))}
.destacado{border-color:var(--cyan)}
.sello{position:absolute;top:-11px;left:18px;font-size:12px;font-weight:600;background:var(--cyan);color:#04121b;padding:2px 10px;border-radius:999px}

.beta-box{display:grid}
.beta-box>div{background:linear-gradient(135deg,rgba(139,92,246,.14),rgba(56,189,248,.06));border:1px solid var(--line);border-radius:22px;padding:36px;max-width:860px}
.beta-box p{color:#c9cdd8;margin-top:14px;font-size:17px}
.firma{color:var(--mut)!important;font-size:15px!important}

.faq{margin-top:28px;display:flex;flex-direction:column;gap:10px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px 20px}
.faq summary{cursor:pointer;font-weight:600;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";color:var(--v2);font-size:20px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--mut);padding-bottom:16px}
.cierre{background:radial-gradient(50% 70% at 50% 100%,rgba(139,92,246,.22),transparent 70%)}
.cierre .btn{margin-top:26px}

.pie{border-top:1px solid var(--line);padding:28px 0 100px;color:var(--mut);font-size:14px}
.pie-in{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}
.pie nav{display:flex;gap:18px}
.pie a{color:var(--mut)}
.fijo{position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:30;display:none}
@media (max-width:760px){.fijo{display:flex}}

dialog#visor{border:0;padding:0;background:transparent;max-width:min(420px,92vw);width:100%}
dialog#visor::backdrop{background:rgba(0,0,0,.85)}
dialog#visor video{width:100%;aspect-ratio:9/16;border-radius:18px;background:#000}
.cerrar{position:absolute;top:8px;right:8px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:18px;cursor:pointer}

/* ================= panel (app) ================= */
.app{min-height:100vh}
.app main{padding:28px 0 80px}
.loading{padding:60px 20px;text-align:center;color:var(--mut)}
.caja{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.acceso{max-width:440px;margin:24px auto}
.acceso h1{font-size:28px;margin-bottom:8px}
.form{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.f{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--mut)}
.f input,.f select,.f textarea{font:inherit;font-size:16px;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%}
.f textarea{min-height:90px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--v);outline-offset:1px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--mut)}
.check input{width:18px;height:18px;accent-color:var(--v);margin-top:2px}
.codigo{letter-spacing:.4em;text-align:center;font:600 26px var(--f-d)!important}
.msg{font-size:14px;padding:10px 12px;border-radius:10px}
.msg.err{background:rgba(248,113,113,.12);color:#fecaca}
.msg.ok{background:rgba(52,211,153,.12);color:#a7f3d0}
.link{all:unset;cursor:pointer;color:var(--v2);font-size:14px;text-decoration:underline}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto}
.tab{all:unset;cursor:pointer;padding:12px 16px;color:var(--mut);font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}
.tab[aria-selected=true]{color:var(--fg);border-color:var(--v)}
.tab:focus-visible{outline:2px solid var(--v2)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:22px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.kpi b{display:block;font:700 28px var(--f-d);font-variant-numeric:tabular-nums}
.kpi span{color:var(--mut);font-size:13px}
.kpi.v{border-color:rgba(139,92,246,.6);background:linear-gradient(180deg,rgba(139,92,246,.14),var(--card))}
.fila{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.opc{all:unset;cursor:pointer;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--bg);display:flex;flex-direction:column;gap:6px;position:relative}
.opc::before{content:"";height:3px;border-radius:3px;background:var(--c)}
.opc b{font-size:14px}.opc span{font-size:12px;color:var(--mut);line-height:1.35}
.opc[aria-pressed=true]{border-color:var(--v);box-shadow:0 0 0 1px var(--v)}
.opc:focus-visible{outline:2px solid var(--v2)}
.opc .vm{color:var(--v2);font-size:12px;font-weight:600}
.paso-t{font:600 18px var(--f-d);margin:26px 0 12px;display:flex;gap:10px;align-items:center}
.paso-t i{font-style:normal;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(139,92,246,.2);color:var(--v2);font-size:14px}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg button{all:unset;cursor:pointer;padding:9px 14px;border:1px solid var(--line);border-radius:10px;font-size:14px}
.seg button[aria-pressed=true]{border-color:var(--v);background:rgba(139,92,246,.15)}
.drop{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:26px 16px;border:1.5px dashed var(--line);border-radius:14px;background:var(--bg);cursor:pointer}
.drop.over{border-color:var(--v)}
.colores{display:flex;gap:10px;flex-wrap:wrap}
.colores input[type=color]{width:48px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:3px;cursor:pointer}
.barra{height:10px;border-radius:99px;background:var(--card2);overflow:hidden}
.barra i{display:block;height:100%;background:linear-gradient(90deg,var(--v),var(--cyan));width:0;transition:width .2s}
.resumen-ped{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px 16px;border-radius:12px;background:var(--card2);margin-top:18px}
.lista{display:flex;flex-direction:column;gap:10px}
.ped{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center}
.ped h3{font-size:16px}.ped p{color:var(--mut);font-size:14px}
.est{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.est-recibido{background:rgba(56,189,248,.15);color:#7dd3fc}
.est-editando{background:rgba(251,191,36,.15);color:#fcd34d}
.est-listo{background:rgba(52,211,153,.15);color:#6ee7b7}
.est-cancelado{background:rgba(248,113,113,.12);color:#fca5a5}
.paqs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.paq{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px}
.paq b{font:700 22px var(--f-d)}.paq span{font-size:13px;color:var(--mut)}
.paq .btn{margin-top:8px}
.tabla{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--mut);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;background:var(--card)}
td.n,th.n{text-align:right}
.mas{color:var(--ok)}.menos{color:var(--err)}
.adm-ped{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}
.adm-ped .datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 16px;font-size:14px}
.adm-ped .datos span{color:var(--mut);display:block;font-size:12px}
.adm-ped .acc{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.adm-ped .acc .f{min-width:130px;flex:1}
.sw{display:inline-block;width:16px;height:16px;border-radius:4px;vertical-align:middle;border:1px solid rgba(255,255,255,.25);margin-right:3px}
.nota{color:var(--mut);font-size:13.5px;border-left:2px solid var(--line);padding-left:12px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--fg);color:var(--bg);font-weight:600;padding:12px 18px;border-radius:12px;z-index:50;max-width:90vw}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* v2 (04.11.2026): vista previa real de los estilos */
.mini-prev{width:100%;aspect-ratio:9/16;border-radius:12px;background:#000;display:block;margin-bottom:4px}
.opc canvas{width:100%;aspect-ratio:9/16;border-radius:9px;background:#000;display:block}
.opc::before{display:none}
.opc{border-top:3px solid var(--c)}
.pedido{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"gal prev" "resto prev";gap:0 28px;align-items:start}
.ped-gal{grid-area:gal;min-width:0}.ped-resto{grid-area:resto;min-width:0}
.ped-prev{grid-area:prev;position:sticky;top:84px;margin-top:26px}
.pedido .gal{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.monitor{border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:9/16}
.monitor canvas{width:100%;height:100%;display:block}
.transporte{display:flex;align-items:center;gap:10px;margin-top:10px}
.transporte input[type=range]{flex:1;min-width:0;accent-color:var(--v)}
.transporte .btn{width:44px;padding:0}
@media (max-width:900px){.pedido{grid-template-columns:minmax(0,1fr);grid-template-areas:"gal" "prev" "resto"}.ped-prev{position:static;max-width:340px;width:100%;margin:22px auto 0}.pedido .gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
.seg button[disabled]{opacity:.45;cursor:not-allowed}
