/* Sistema 85 · estilo amigable (inspirado en suites como Odoo: apps de colores, mucho blanco, esquinas redondas) */
[hidden]{display:none!important}
:root{--bg:#ECEEF3;--card:#fff;--fg:#1F2433;--mut:#5F6577;--line:#DDE0E8;--pri:#6C4B8C;--pri2:#5A3C78;--prifg:#fff;--tea:#0E8C8C;--suave:#F1ECF6;--tsuave:#E4F4F3;--amar:#F6C344;--err:#B42318;--errbg:#FEF3F2;--sombra:0 1px 2px rgba(31,36,51,.08),0 8px 24px rgba(31,36,51,.08)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#13141B;--card:#1C1E28;--fg:#ECEDF3;--mut:#A3A7B7;--line:#2B2E3B;--pri:#B08FD6;--pri2:#C4A6E6;--prifg:#1A1222;--tea:#3CC7C2;--suave:#2A2236;--tsuave:#16302F;--err:#FDA29B;--errbg:#3A1512;--sombra:0 1px 2px rgba(0,0,0,.4)}}
:root[data-theme="dark"]{--bg:#13141B;--card:#1C1E28;--fg:#ECEDF3;--mut:#A3A7B7;--line:#2B2E3B;--pri:#B08FD6;--pri2:#C4A6E6;--prifg:#1A1222;--tea:#3CC7C2;--suave:#2A2236;--tsuave:#16302F;--err:#FDA29B;--errbg:#3A1512;--sombra:0 1px 2px rgba(0,0,0,.4)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;font:16px/1.6 'Nunito Sans',system-ui,sans-serif;background:var(--bg);color:var(--fg)}
a{color:var(--pri)}h1,h2,h3{font-family:'Nunito',system-ui,sans-serif;line-height:1.15;letter-spacing:-.01em;font-weight:800}
.wrap{max-width:1140px;margin:0 auto;padding:0 16px}.fila{display:flex;align-items:center;justify-content:space-between;gap:12px}
/* barra superior */
.top{position:sticky;top:0;z-index:5;background:var(--card);border-bottom:1px solid var(--line)}
.top .fila{height:64px}.marca{display:flex;align-items:center;gap:9px;font:800 20px 'Nunito',sans-serif;color:var(--fg);text-decoration:none}.marca b{color:var(--pri)}
nav{display:flex;align-items:center;gap:20px}nav a:not(.btn){color:var(--fg);text-decoration:none;font-weight:600;font-size:15px}nav a:not(.btn):hover{color:var(--pri)}
/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--pri);color:var(--prifg);border:0;border-radius:8px;padding:13px 24px;font-weight:700;font-size:16px;line-height:1;font-family:inherit;text-decoration:none;cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:var(--pri2);transform:translateY(-1px)}.btn.sec{background:var(--card);color:var(--fg);border:1.5px solid var(--line)}.btn.sec:hover{border-color:var(--pri);color:var(--pri)}
.btn.tea{background:var(--tea);color:#fff}.btn.chico{padding:9px 15px;font-size:14px}.btn.ancho{width:100%;margin-top:8px}.btn.grande{padding:16px 30px;font-size:17px}
/* portada */
.hero{padding:72px 0 40px;text-align:center}
.hero h1{font-size:clamp(36px,6vw,64px);margin:0 auto 18px;max-width:900px}
.subraya{position:relative;white-space:nowrap;color:var(--pri)}.subraya svg{position:absolute;left:-2%;bottom:-.18em;width:104%;height:.42em;fill:none;stroke:var(--amar);stroke-width:7;stroke-linecap:round}
.lead{font-size:clamp(17px,2vw,20px);color:var(--mut);max-width:680px;margin:0 auto}
.acciones{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:30px 0 12px}.nota{font-size:14px;color:var(--mut)}
.apps{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:18px;max-width:980px;margin:52px auto 0}
.app{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:var(--fg);font-weight:700;font-size:14px;text-align:center}
.ico{width:72px;height:72px;border-radius:18px;display:grid;place-items:center;box-shadow:var(--sombra);position:relative;overflow:hidden;transition:transform .15s}
.app:hover .ico{transform:translateY(-3px) scale(1.03)}
.ico::after{content:"";position:absolute;width:60%;height:60%;right:-14%;bottom:-14%;border-radius:50%;background:rgba(255,255,255,.22)}
.ico svg{width:36px;height:36px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:1}
.c1{background:linear-gradient(135deg,#F0816A,#E2574C)}.c2{background:linear-gradient(135deg,#5FB0E8,#3A84D0)}.c3{background:linear-gradient(135deg,#F8C35A,#F09A2F)}.c4{background:linear-gradient(135deg,#4CC8A8,#1E9E86)}
.c5{background:linear-gradient(135deg,#A88BEA,#7A5CCF)}.c6{background:linear-gradient(135deg,#F38BB5,#DC5A93)}.c7{background:linear-gradient(135deg,#55C4D8,#2496B4)}.c8{background:linear-gradient(135deg,#9BA7BC,#6B7891)}
/* vista previa */
.preview{max-width:1000px;margin:56px auto 0;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 60px rgba(60,40,90,.12);overflow:hidden;text-align:left}
.pv-bar{display:flex;align-items:center;gap:14px;background:var(--pri);color:var(--prifg);padding:10px 16px;font-weight:700;font-size:14px}.pv-bar span{opacity:.85;font-weight:600}
.pv-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:0}
.pv-prod{padding:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-right:1px solid var(--line)}
.pv-p{border:1px solid var(--line);border-radius:12px;padding:10px;font-size:13px}.pv-p i{display:block;height:54px;border-radius:8px;margin-bottom:8px}.pv-p b{display:block}.pv-p em{font-style:normal;color:var(--tea);font-weight:700}
.pv-tk{padding:18px;font-size:14px}.pv-l{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line)}.pv-t{display:flex;justify-content:space-between;font:800 20px 'Nunito';margin-top:12px}.pv-bs{display:flex;justify-content:space-between;color:var(--mut);font-size:14px}
.pv-pay{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.pv-pay span{text-align:center;border:1px solid var(--line);border-radius:8px;padding:8px;font-weight:700;font-size:13px}.pv-pay .on{background:var(--tea);border-color:var(--tea);color:#fff}
/* secciones */
.bloque{padding:72px 0}.bloque.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bloque h2{font-size:clamp(28px,4vw,42px);margin:0 0 8px;text-align:center}.sub{color:var(--mut);margin:0 auto 36px;text-align:center;max-width:620px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--sombra)}
.card .ico{width:48px;height:48px;border-radius:12px}.card .ico svg{width:24px;height:24px}
.card h3{font-size:18px;margin:14px 0 6px}.card p{margin:0;color:var(--mut);font-size:15px}
.pasos{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:p;margin:0 0 34px}
.pasos li{counter-increment:p;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--sombra)}
.pasos li::before{content:counter(p);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--suave);color:var(--pri);font:800 18px 'Nunito';margin-bottom:12px}
.pasos b{display:block;font-size:18px;font-family:'Nunito'}.pasos span{color:var(--mut);font-size:15px}
.centro{text-align:center}
.banda{background:linear-gradient(120deg,var(--pri),#8E5FA8);color:#fff;border-radius:20px;padding:44px 24px;text-align:center}
.banda h2{color:#fff;margin:0 0 10px}.banda p{opacity:.9;margin:0 0 24px}.banda .btn{background:#fff;color:#4A2F63}.banda .btn.sec{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
/* formularios */
.caja{max-width:480px;margin:44px auto 64px;padding:32px 26px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sombra)}
.caja h1{font-size:30px;margin:0 0 6px}.caja .sub{text-align:left;margin:0 0 22px}.caja.centro{text-align:center}.caja.centro .sub{text-align:center}
form label{display:block;font-weight:700;font-size:14px;margin:0 0 15px}form small{font-weight:400;color:var(--mut)}
input,select{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);font-size:16px;font-family:inherit}
input:focus,select:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px var(--suave)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:600!important}.check input{width:auto;margin:4px 0 0}
.oculto{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.alerta{background:var(--errbg);color:var(--err);border-radius:10px;padding:10px 14px;margin-bottom:16px;font-size:14.5px}.alerta p{margin:4px 0}
.otra{text-align:center;color:var(--mut);font-size:14.5px;margin:18px 0 0}
.demo-cta{display:flex;align-items:center;gap:12px;background:var(--tsuave);border-radius:12px;padding:12px 14px;margin:18px 0 0;font-size:14.5px}.demo-cta a{font-weight:700;color:var(--fg);text-decoration:underline}
.giro{width:52px;height:52px;margin:6px auto 18px;border-radius:50%;border:5px solid var(--suave);border-top-color:var(--pri);animation:g 1s linear infinite}@keyframes g{to{transform:rotate(1turn)}}
/* panel tipo "inicio de apps" */
body.app-home{background:radial-gradient(1200px 500px at 10% -10%,var(--suave),transparent),radial-gradient(900px 500px at 100% 0,var(--tsuave),transparent),var(--bg)}
.top.morada{background:var(--pri);border:0}.top.morada .marca,.top.morada .marca b,.top.morada .quien{color:#fff}.top.morada .btn.sec{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.panel{padding:26px 16px 64px}
.demo-aviso{background:var(--amar);color:#3b2a00;text-align:center;font-weight:700;font-size:14px;padding:9px 12px}.demo-aviso a{color:#3b2a00}
.aviso{display:inline-block;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px;color:var(--mut)}.aviso b{color:var(--pri)}
.saludo{text-align:center;margin:10px 0 34px}.saludo h1{font-size:clamp(28px,4vw,38px);margin:12px 0 4px}.saludo p{color:var(--mut);margin:0}
.lanzador{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 18px;max-width:720px;margin:0 auto 48px}
.lanzador .app small{font-weight:600;color:var(--mut);font-size:12px;margin-top:-6px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}
.kpis div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--sombra)}.kpis small{display:block;color:var(--mut);font-weight:600}.kpis b{font:800 28px 'Nunito'}.kpis em{display:block;font-style:normal;color:var(--mut);font-size:13px}
.tabla{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sombra);overflow:auto}
.tabla h2{font-size:18px;margin:0;padding:16px 18px;border-bottom:1px solid var(--line)}
table{width:100%;border-collapse:collapse;font-size:14.5px}th,td{padding:11px 18px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--mut);font-weight:700;font-size:13px}tr:last-child td{border-bottom:0}.num{text-align:right}
.est{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:700;background:var(--suave);color:var(--pri)}.est.Paid,.est.Pagada{background:var(--tsuave);color:var(--tea)}.est.Overdue,.est.Vencida{background:var(--errbg);color:var(--err)}
.quien{font-weight:700;font-size:15px}.enlinea{margin:0}
.pie{border-top:1px solid var(--line);padding:24px 0;color:var(--mut);font-size:14px;background:var(--card)}
@media (max-width:900px){.apps{grid-template-columns:repeat(4,minmax(0,1fr))}.grid,.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pasos{grid-template-columns:minmax(0,1fr)}.pv-body{grid-template-columns:minmax(0,1fr)}.pv-prod{border-right:0;border-bottom:1px solid var(--line)}.hero{padding:44px 0 24px}}
@media (max-width:560px){nav a:not(.btn):not(.entrar):not(.demo-top){display:none}.grid{grid-template-columns:minmax(0,1fr)}.dos{grid-template-columns:minmax(0,1fr)}.caja{margin:20px 16px 48px}.quien{display:none}
.apps,.lanzador{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 8px}.ico{width:60px;height:60px;border-radius:15px}.ico svg{width:30px;height:30px}.app{font-size:12px}.pv-prod{grid-template-columns:repeat(2,minmax(0,1fr))}.bloque{padding:52px 0}}
.pc1{background:#F8D9A0}.pc2{background:#F6E7A8}.pc3{background:#D9B99B}.pc4{background:#DCE6F2}.pc5{background:#ECE6F5}.pc6{background:#F9E3C2}
.pie{margin-top:auto}
.pie .fila{flex-wrap:wrap}
.top.morada nav a.blanco{color:#fff}.mut{color:var(--mut)}.chip{display:inline-block;background:var(--suave);color:var(--pri);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;margin:2px}
.envuelve{white-space:normal;min-width:220px}.tabla{margin-bottom:22px}.tabla-tit{padding:12px 18px;border-bottom:1px solid var(--line)}.tabla-tit h2{padding:0;border:0}
.fila-form{display:flex;gap:6px;align-items:center}select.mini{width:auto;margin:0;padding:7px 9px;font-size:14px}
.caja.ancha{max-width:620px}fieldset.modulos{border:1.5px solid var(--line);border-radius:12px;padding:12px 14px 2px;margin:0 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:0 12px}fieldset.modulos legend{font-weight:700;font-size:14px;padding:0 6px}
.planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),320px));gap:18px;justify-content:center}
.plan{background:var(--bg);border:1.5px solid var(--line);border-radius:18px;padding:26px 22px;display:flex;flex-direction:column}
.plan.destacado{border-color:var(--pri);box-shadow:0 18px 40px rgba(108,75,140,.18);background:var(--card)}
.plan h3{font-size:22px;margin:0}.pdesc{color:var(--mut);margin:6px 0 14px;font-size:15px;min-height:44px}
.precio b{font:800 40px 'Nunito'}.precio span{color:var(--mut);margin-left:6px}
.plan ul{list-style:none;padding:0;margin:16px 0 22px;flex:1}.plan li{padding:5px 0 5px 26px;position:relative;font-size:15px}
.plan li::before{content:"";position:absolute;left:2px;top:11px;width:12px;height:7px;border-left:2.5px solid var(--tea);border-bottom:2.5px solid var(--tea);transform:rotate(-45deg)}
.app.bloqueada{opacity:.45;filter:grayscale(.7);cursor:not-allowed}
.barra-uso{max-width:720px;margin:0 auto 26px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 18px;box-shadow:var(--sombra)}
.barra-uso span{color:var(--mut);font-weight:700;font-size:14px}.riel{height:10px;background:var(--suave);border-radius:999px;margin-top:8px;overflow:hidden}.riel i{display:block;height:100%;background:var(--tea);border-radius:999px}
.u0{width:2%}.u1{width:10%}.u2{width:20%}.u3{width:30%}.u4{width:40%}.u5{width:50%}.u6{width:60%}.u7{width:70%}.u8{width:80%;background:var(--amar)!important}.u9{width:90%;background:var(--amar)!important}.u10{width:100%;background:var(--err)!important}
.banda-prueba{background:#F5A524;color:#2b1d00;text-align:center;font-weight:800;font-size:13px;padding:5px 10px;letter-spacing:.02em}
.banda-aviso{background:#2563EB;color:#fff;text-align:center;font-weight:700;font-size:13.5px;padding:7px 12px;line-height:1.35}
.vm-oculto{display:none!important}.vm-btn{display:block;width:calc(100% - 20px);margin:8px auto}.vm-btn[hidden]{display:none}

/* ---------- como app en el teléfono ---------- */
button,.btn,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.top{padding-top:env(safe-area-inset-top)}
.instalar-app{text-align:center;margin:-18px 0 26px}.instalar-app .nota{margin:8px auto 0;max-width:360px}
.offline{padding:70px 16px}.offline .ok{background:var(--errbg);color:var(--err)}
@media (max-width:560px){
 .top .fila{height:56px}.marca{font-size:18px}.btn.chico{padding:9px 14px}
 .app-home .pie{display:none}
 .panel{padding:18px max(14px,env(safe-area-inset-left)) calc(28px + env(safe-area-inset-bottom))}
 .saludo{margin:4px 0 24px}.saludo h1{font-size:26px}.saludo p{font-size:14px}
 .lanzador{margin-bottom:28px}
 .kpis{gap:10px}.kpis div{padding:13px 14px;border-radius:12px}.kpis b{font-size:22px}
 .tabla.tarjetas table,.tabla.tarjetas tbody{display:block}.tabla.tarjetas thead{display:none}
 .tabla.tarjetas tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:12px 16px;border-bottom:1px solid var(--line)}
 .tabla.tarjetas td{display:block;padding:0;border:0}
 .tabla.tarjetas td[data-l="Cliente"]{grid-column:1;grid-row:1;font-weight:700}
 .tabla.tarjetas td[data-l="Total"]{grid-column:2;grid-row:1;font-weight:800}
 .tabla.tarjetas td[data-l="Factura"],.tabla.tarjetas td[data-l="Fecha"]{grid-column:1;color:var(--mut);font-size:13px}
 .tabla.tarjetas td[data-l="Fecha"]{grid-row:3}
 .tabla.tarjetas td[data-l="Estado"]{grid-column:2;grid-row:2/4;align-self:center;text-align:right}
 .hero h1{font-size:34px}.acciones{flex-direction:column;align-items:stretch}.acciones .btn{width:100%}
}
@media (display-mode:standalone){.pie{display:none}}

/* Teléfono: arriba quedan "Ver demo" y "Entrar" como botones; "Empieza gratis" ya está en la portada. */
@media (max-width:560px){
 nav{gap:8px}
 nav a.demo-top,nav a.entrar{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:8px;padding:7px 12px;font-size:14px;font-weight:700}
 nav a.demo-top{border-color:var(--pri);color:var(--pri)}
 .registro-top{display:none}
 .top .fila{gap:8px}.marca{flex:none}nav{min-width:0}nav a{white-space:nowrap}
}
/* teléfonos angostos o con letra grande: queda el logo solo para que quepan el tema, Demo y Entrar */
@media (max-width:440px){
 .top .marca span{display:none}
 nav{gap:6px}nav .tema{width:36px;height:36px;font-size:16px}
 nav a.demo-top,nav a.entrar{padding:6px 11px}
}
/* modo claro / oscuro: barra morada fija (no aclara en oscuro), avisos amarillos con su par oscuro, botón del tema */
:root{--barra:#6C4B8C;--abg:#FDF0D5;--afg:#946200}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--barra:#3B2A50;--abg:#3A2E12;--afg:#F6C344;color-scheme:dark}}
:root[data-theme="dark"]{--barra:#3B2A50;--abg:#3A2E12;--afg:#F6C344;color-scheme:dark}
:root[data-theme="light"]{color-scheme:light}
.top.morada{background:var(--barra)}
.tema{flex:none;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1.5px solid var(--line);background:var(--card);color:var(--fg);font-size:18px;line-height:1;cursor:pointer;font-family:inherit;padding:0;touch-action:manipulation}
.tema:hover{border-color:var(--pri);color:var(--pri)}
.top.morada .tema,.pos-top .tema{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff}
nav .tema{margin-right:4px;vertical-align:middle}
/* multiempresa: menú de empresas en la barra */
.emp-menu{position:relative;min-width:0}
.emp-menu summary{list-style:none;cursor:pointer;min-width:0}.emp-menu summary::-webkit-details-marker{display:none}
.emp-menu summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:44vw}
.emp-menu summary i{font-style:normal;font-size:14px;opacity:.8}
.emp-lista{position:absolute;left:0;top:calc(100% + 8px);z-index:20;min-width:260px;max-width:calc(100vw - 32px);background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(20,16,30,.25);padding:8px}
.emp-lista small{display:block;padding:8px 10px 4px;color:var(--mut);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.emp-lista a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border-radius:10px;color:var(--fg);text-decoration:none;font-weight:700}
.emp-lista a:hover{background:var(--suave)}.emp-lista a.actual{background:var(--suave);color:var(--pri)}
.emp-lista a em{font-style:normal;font-size:12px;color:var(--mut);font-weight:600}
.emp-lista .todas{background:var(--tsuave);color:var(--tea);margin-bottom:4px}.emp-lista .nueva{color:var(--pri);border-top:1px solid var(--line);border-radius:0 0 10px 10px;margin-top:4px}
/* tablero de todas las empresas */
.filtro-emp{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin:0 0 22px}
.chip-emp{cursor:pointer}.chip-emp input{position:absolute;opacity:0;pointer-events:none}
.chip-emp span{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:8px 16px;font-weight:700;font-size:14.5px}
.chip-emp input:checked+span{background:var(--pri);border-color:var(--pri);color:var(--prifg)}.chip-emp input:checked+span::before{content:"✓"}
.chip-emp input:focus-visible+span{outline:2px solid var(--pri);outline-offset:2px}
.enlace-todas{font-weight:700;font-size:14px;color:var(--pri)}
.todas .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.emp-tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:16px;margin-top:8px}
.emp-tarjeta{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sombra);padding:18px}
.emp-tarjeta header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.emp-tarjeta h2{margin:0;font-size:19px}.emp-tarjeta header small{color:var(--mut);font-size:13px}.emp-tarjeta header .btn{margin:0;flex:none}
.emp-ventas span{display:block;color:var(--mut);font-weight:700;font-size:13px}.emp-ventas b{font:800 26px 'Nunito'}
.emp-ventas .riel{margin:8px 0 14px}
.emp-datos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.emp-datos div{background:var(--bg);border-radius:10px;padding:9px 12px}
.emp-datos dt{color:var(--mut);font-size:12.5px;font-weight:700}.emp-datos dd{margin:0;font-weight:800}.emp-datos small{color:var(--mut);font-weight:600}
@media (max-width:560px){.todas .kpis{grid-template-columns:minmax(0,1fr)}.emp-tarjetas{grid-template-columns:minmax(0,1fr)}.emp-lista{position:fixed;left:16px;right:16px;top:64px;min-width:0}}
.emp-ventas .riel i{background:var(--tea)!important}
.panel.todas{max-width:1140px}.todas .kpis{max-width:720px;margin-left:auto;margin-right:auto}
/* panel de la empresa (tablero) */
.c9{background:linear-gradient(135deg,#6EDB8F,#2FA866)}.c10{background:linear-gradient(135deg,#8C93A8,#59607A)}.c11{background:linear-gradient(135deg,#F59E7A,#D9534F)}.c12{background:linear-gradient(135deg,#F7B267,#E07A1F)}.c13{background:linear-gradient(135deg,#F472B6,#BE185D)}
.tablero{padding:28px 16px 64px;max-width:1180px}
.t-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.t-hola small{color:var(--mut);font-weight:700;text-transform:capitalize}.t-hola h1{margin:2px 0 4px;font-size:clamp(28px,4vw,38px)}.t-hola p{margin:0;color:var(--mut)}
.t-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.t-chips span{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 11px;font-size:13px;font-weight:600;color:var(--mut)}
.t-chips .t-plan{background:var(--suave);border-color:transparent;color:var(--pri);font-weight:800}
.t-acciones{display:flex;gap:10px;flex-wrap:wrap}.t-acciones .btn{margin:0}
.t-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.t-kpi{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--sombra);min-width:0}
.t-kpi>i{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:13px}
.t-kpi svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.t-kpi>div{min-width:0;flex:1}.t-kpi small{display:block;color:var(--mut);font-weight:700;font-size:13px}
.t-kpi b{display:block;font:800 25px/1.25 'Nunito';white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-kpi b span{color:var(--mut);font-size:17px}
.t-kpi em{display:block;font-style:normal;color:var(--mut);font-size:12.5px}.t-kpi .riel{margin-top:8px;height:8px}
.k-ventas>i{background:var(--tsuave);color:var(--tea)}.k-cobrar>i{background:var(--abg);color:var(--afg)}.k-facturas>i{background:var(--suave);color:var(--pri)}.k-base>i{background:#E3EEFB;color:#3A84D0}
.t-dos{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;margin-bottom:28px}
.t-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:var(--sombra);min-width:0}
.t-card header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.t-card h2{margin:0;font-size:17px}.t-card header small{color:var(--mut);font-size:13px}
.barras{width:100%;height:auto;display:block}.barras .fondo{fill:var(--bg)}.barras .barra{fill:var(--pri);opacity:.85}.barras g:hover .barra{opacity:1}
.barras .hoy .barra{fill:var(--tea)}.barras .eje{stroke:var(--line);stroke-width:1}.barras text{fill:var(--mut);font-size:13px;font-weight:700;text-anchor:middle;font-family:'Nunito Sans',sans-serif}
.barras .hoy text{fill:var(--tea)}
.t-ultimas ul{list-style:none;margin:0;padding:0}.t-ultimas li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.t-ultimas li:last-child{border-bottom:0}.t-cli{min-width:0}.t-cli b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14.5px}.t-cli small{color:var(--mut);font-size:12px}
.t-monto{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none}.t-monto b{font-size:14.5px}.t-monto .est{font-size:11.5px}
.t-apps h2{font-size:19px;margin:0 0 12px}
.t-apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:12px}
.t-app{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;text-decoration:none;color:var(--fg);box-shadow:var(--sombra);transition:transform .15s,border-color .15s;min-width:0}
a.t-app:hover{transform:translateY(-2px);border-color:var(--pri)}
.t-app .ico{flex:none;width:50px;height:50px;border-radius:14px}.t-app .ico svg{width:25px;height:25px}
.t-app>span:not(.ico){flex:1;min-width:0}.t-app b{display:block;font-size:15px}.t-app small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--mut);font-size:12.5px;line-height:1.4}
.t-app em{flex:none;font-style:normal;font-size:12px;font-weight:800;color:var(--mut);background:var(--bg);border-radius:999px;padding:3px 9px}.t-app em.abrir{color:var(--pri);background:var(--suave)}
.t-app.pronto{opacity:.8}.t-app.bloqueada{opacity:.45;filter:grayscale(.7)}
.tablero .instalar-app{margin:22px 0 0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .k-base>i{background:#16283D;color:#7DB5EE}}
:root[data-theme="dark"] .k-base>i{background:#16283D;color:#7DB5EE}
@media (max-width:980px){.t-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.t-dos{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){
 .tablero{padding:16px max(12px,env(safe-area-inset-left)) 40px}
 .t-hero{align-items:stretch}.t-acciones{width:100%}.t-acciones .btn{flex:1;padding-left:10px;padding-right:10px}
 .t-kpis{gap:8px}.t-kpi{flex-direction:column;gap:8px;padding:13px;border-radius:15px}.t-kpi>i{width:36px;height:36px;border-radius:10px}.t-kpi b{font-size:19px}
 .t-card{padding:14px}.t-apps-grid{grid-template-columns:minmax(0,1fr)}
}
/* ajustes de la empresa */
.ajustes-pag{max-width:860px;padding:26px 16px 64px}
.aj-cab h1{margin:6px 0 2px}.aj-cab p{margin:0;color:var(--mut)}.volver-link{font-weight:700;color:var(--pri);text-decoration:none}
.aj-menu{position:sticky;top:0;z-index:4;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:18px 0;padding:8px 0;background:var(--bg)}
.aj-menu a{flex:none;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:7px 14px;font-weight:700;font-size:14px;color:var(--fg);text-decoration:none}.aj-menu a:hover{border-color:var(--pri);color:var(--pri)}
.aj-sec{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px 22px;box-shadow:var(--sombra);margin-bottom:16px;scroll-margin-top:70px}
.aj-sec h2{margin:0 0 2px;font-size:19px}.aj-sec .sub.izq{margin:0 0 14px;color:var(--mut)}.aj-sec .btn{margin-top:6px}
.aj-sec input:disabled{opacity:.7}
.aviso-ok{background:var(--tsuave);color:var(--tea);font-weight:700;border-radius:12px;padding:10px 14px;margin:12px 0}
.aj-temas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.aj-temas input{position:absolute;opacity:0}.aj-temas span{display:flex;flex-direction:column;align-items:center;gap:8px;border:2px solid var(--line);border-radius:14px;padding:12px;font-weight:700;cursor:pointer}
.aj-temas input:checked+span{border-color:var(--pri);color:var(--pri)}.aj-temas input:focus-visible+span{outline:2px solid var(--pri);outline-offset:2px}
.aj-temas i{display:block;width:100%;height:54px;border-radius:9px;border:1px solid var(--line)}
.m-claro{background:linear-gradient(#6C4B8C 0 26%,#ECEEF3 26%)}.m-oscuro{background:linear-gradient(#3B2A50 0 26%,#13141B 26%)}.m-auto{background:linear-gradient(90deg,#ECEEF3 50%,#13141B 50%)}
.aj-plan{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}.aj-plan small{display:block;color:var(--mut);font-weight:700;font-size:13px}
.aj-plan b{font:800 24px 'Nunito'}.aj-plan .aj-prueba b{font:inherit;font-weight:800;color:inherit}.aj-plan p{margin:2px 0 0;color:var(--mut);font-size:14px}.aj-uso{min-width:220px}
.aj-datos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.aj-datos div{background:var(--bg);border-radius:12px;padding:10px 12px;min-width:0}
.aj-datos dt{color:var(--mut);font-size:12.5px;font-weight:700}.aj-datos dd{margin:0;font-weight:700;overflow-wrap:anywhere}
@media (max-width:560px){.aj-sec{padding:16px}.aj-datos{grid-template-columns:minmax(0,1fr)}.aj-temas span{padding:8px;font-size:13px}}
.emp-lista .ajustes-link{border-top:1px solid var(--line);border-radius:0 0 10px 10px;margin-top:4px}.emp-lista .nueva+.ajustes-link{border-top:0;margin-top:0}
.t-dos{align-items:start}.t-hola small{text-transform:none}
.aj-sec .sub.izq{text-align:left}
.t-acciones .btn{white-space:nowrap}
@media (max-width:560px){.t-acciones .btn{font-size:14.5px}}
.aj-botones{display:flex;gap:10px;flex-wrap:wrap}.aj-botones .btn{margin:0}
/* panel: columna izquierda con gráfico y más vendidos; recuadros tocables; tasa */
.t-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.t-chips a,.t-chips button{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 11px;font-size:13px;font-weight:600;color:var(--mut);text-decoration:none;font-family:inherit;cursor:pointer}
.t-chips a:hover,.t-chips button:hover{border-color:var(--pri);color:var(--pri)}
.t-chips a.t-plan{background:var(--suave);border-color:transparent;color:var(--pri);font-weight:800}
.t-chips .t-tasa{background:var(--tsuave);border-color:transparent;color:var(--tea)}.t-chips .t-tasa b{color:var(--tea)}
.t-top ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.t-top li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center}
.t-pos{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--suave);color:var(--pri);font-weight:800;font-size:14px}
.t-top li:first-child .t-pos{background:var(--amar);color:#4a3600}
.t-prod{min-width:0}.t-prod b{display:block;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-prod .riel{height:7px;margin-top:5px}
.t-prod .riel i{background:var(--pri)}
.t-cant{display:flex;flex-direction:column;align-items:flex-end}.t-cant b{font-size:14.5px}.t-cant small{color:var(--mut);font-size:12px}
.w1{width:10%}.w2{width:20%}.w3{width:30%}.w4{width:40%}.w5{width:50%}.w6{width:60%}.w7{width:70%}.w8{width:80%}.w9{width:90%}.w10{width:100%}
.modal-p{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(20,16,30,.5)}.modal-p[hidden]{display:none}
.hoja-p{width:100%;max-width:400px;background:var(--card);border-radius:18px;padding:20px 22px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.hoja-p h2{margin:0;font-size:21px}.hoja-p .sub.izq{text-align:left;margin:8px 0 12px;color:var(--mut)}
.x-p{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--bg);border:1px solid var(--line);color:var(--fg);font-size:26px;padding:0 0 3px;cursor:pointer}
/* inicio: las aplicaciones siempre parejas y centradas */
.apps{display:flex;flex-wrap:wrap;justify-content:center;gap:22px 14px;max-width:1080px}
.apps .app{width:104px}
@media (max-width:900px){.apps{gap:18px 6px}.apps .app{width:calc(33.3% - 6px);max-width:110px}}
.t-prod,.t-prod .riel{display:block}#funciones .grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){#funciones .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){#funciones .grid{grid-template-columns:minmax(0,1fr)}}
/* panel: aplicaciones a un lado (lateral) o arriba (dock) */
.tablero.vista-lateral{max-width:1440px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}
.t-contenido{min-width:0}
.t-lado{position:sticky;top:16px;display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--sombra)}
.t-lado-tit{color:var(--mut);font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:6px 8px 8px}
.t-lado .t-app,.t-dock .t-app{background:none;border:0;box-shadow:none;padding:8px;border-radius:12px;gap:11px}
.t-lado .t-app:hover{background:var(--suave);transform:none}
.t-lado .t-app .ico{width:36px;height:36px;border-radius:10px}.t-lado .t-app .ico svg{width:19px;height:19px}
.t-lado .t-app small{display:none}.t-lado .t-app b{font-size:14.5px}
.t-lado .t-app em{padding:2px 8px;font-size:11px}.t-lado .t-app em.abrir{background:none;font-size:18px;padding:0 4px}
.t-lado .t-app-aj{margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;padding-top:12px}
.t-dock{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--sombra);margin-bottom:16px}
.t-dock::-webkit-scrollbar{display:none}
.t-dock .t-app{flex:1 0 96px;flex-direction:column;text-align:center;gap:7px;padding:10px 6px}
.t-dock .t-app:hover{background:var(--suave);transform:none}
.t-dock .t-app .ico{width:46px;height:46px;border-radius:13px}.t-dock .t-app .ico svg{width:23px;height:23px}
.t-dock .t-app small{display:none}.t-dock .t-app b{font-size:13px;line-height:1.2}
.t-dock .t-app>span:not(.ico){flex:none}.t-dock .t-app em{font-size:10.5px;padding:1px 7px}.t-dock .t-app em.abrir{display:none}
@media (max-width:980px){
 .tablero.vista-lateral{grid-template-columns:minmax(0,1fr)}
 .t-lado{position:static;flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:6px}.t-lado-tit{display:none}
 .t-lado .t-app{flex:0 0 auto;flex-direction:column;gap:6px;text-align:center;width:84px}.t-lado .t-app b{font-size:12.5px}
 .t-lado .t-app em.abrir{display:none}.t-lado .t-app-aj{margin-top:0;border-top:0;padding-top:8px}
}
.t-dock .t-app{justify-content:flex-start}.t-lado .t-app{justify-content:flex-start}@media (max-width:980px){.t-lado .t-app em{font-size:10px}}
/* opción 3: lanzador (botón Aplicaciones → ventana con todas, agrupadas, con buscador) */
.t-apps-btn{display:inline-flex;align-items:center;gap:8px}.t-apps-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.t-lanz-hoja{width:100%;max-width:820px;max-height:86vh;overflow-y:auto;background:var(--card);border-radius:20px;padding:20px 22px;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.t-lanz-hoja h2{margin:0;font-size:21px}.t-lanz-hoja input[type=search]{margin:12px 0 4px}
.t-lanz-grupos{display:flex;flex-direction:column;gap:6px}
.t-lanzador .t-grupo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.t-lanzador .t-grupo[hidden]{display:none}
.t-grupo-tit{grid-column:1/-1;color:var(--mut);font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:12px 4px 2px}
.t-lanzador .t-app{flex-direction:column;text-align:center;gap:6px;padding:12px 6px;background:none;border:1px solid transparent;box-shadow:none;border-radius:14px}
.t-lanzador .t-app:hover{background:var(--suave);transform:none;border-color:transparent}.t-lanzador .t-app[hidden]{display:none}
.t-lanzador .t-app .ico{width:52px;height:52px}.t-lanzador .t-app small,.t-lanzador .t-app em.abrir{display:none}
.t-lanzador .t-app>span:not(.ico){flex:none}.t-lanzador .t-app b{font-size:13.5px}.t-lanzador .t-app em{font-size:10.5px;padding:1px 7px}
/* opción 4: barra angosta de íconos que se despliega */
.tablero.vista-riel{max-width:1440px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:22px;align-items:start}
.menu-abierto .tablero.vista-riel{grid-template-columns:240px minmax(0,1fr)}
.t-riel{position:sticky;top:16px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:var(--sombra);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;scrollbar-width:none}
.t-riel-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:38px;border:0;border-radius:10px;background:var(--bg);color:var(--fg);font-family:inherit;font-weight:800;cursor:pointer;margin-bottom:4px}
.t-riel-btn span{font-size:18px;transition:transform .15s}.t-riel-btn b{display:none;font-size:13px}
.menu-abierto .t-riel-btn{justify-content:flex-start;padding:0 12px}.menu-abierto .t-riel-btn span{transform:rotate(180deg)}.menu-abierto .t-riel-btn b{display:inline}
.t-riel .t-grupo{display:flex;flex-direction:column;gap:2px;padding:4px 0;border-top:1px solid var(--line)}
.t-riel .t-grupo-tit{display:none}.menu-abierto .t-riel .t-grupo-tit{display:block;padding:8px 8px 4px}
.t-riel .t-app{background:none;border:0;box-shadow:none;padding:6px;border-radius:12px;justify-content:center;gap:10px}
.t-riel .t-app:hover{background:var(--suave);transform:none}
.t-riel .t-app .ico{width:40px;height:40px;border-radius:11px}.t-riel .t-app .ico svg{width:20px;height:20px}
.t-riel .t-app>span:not(.ico),.t-riel .t-app em{display:none}
.menu-abierto .t-riel .t-app{justify-content:flex-start}.menu-abierto .t-riel .t-app>span:not(.ico){display:block}
.menu-abierto .t-riel .t-app small{display:none}.menu-abierto .t-riel .t-app b{font-size:14px}
.menu-abierto .t-riel .t-app em{display:inline;font-size:10.5px;padding:1px 7px}.menu-abierto .t-riel .t-app em.abrir{display:none}
@media (max-width:980px){
 .tablero.vista-riel,.menu-abierto .tablero.vista-riel{grid-template-columns:minmax(0,1fr)}
 .t-riel{position:static;flex-direction:row;max-height:none;overflow-x:auto}.t-riel-btn{display:none}
 .t-riel .t-grupo{flex-direction:row;border-top:0;border-left:1px solid var(--line);padding:0 4px}.t-riel .t-grupo:first-of-type{border-left:0}
 .menu-abierto .t-riel .t-grupo-tit{display:none}.menu-abierto .t-riel .t-app>span:not(.ico){display:none}
 .t-lanzador .t-grupo{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* menú lateral fijo al borde (barra de íconos que se despliega) — forma normal del panel */
.tablero.vista-riel{max-width:none;margin:0;padding:0;gap:0;grid-template-columns:76px minmax(0,1fr);transition:grid-template-columns .18s}
.menu-abierto .tablero.vista-riel{grid-template-columns:248px minmax(0,1fr)}
.vista-riel .t-riel{position:sticky;top:64px;height:calc(100vh - 64px);height:calc(100dvh - 64px);max-height:none;border-radius:0;border:0;border-right:1px solid var(--line);box-shadow:none;padding:10px 10px 16px;background:var(--card)}
.vista-riel .t-contenido{padding:28px 32px 64px;max-width:1240px;width:100%;box-sizing:border-box;margin:0 auto}
.vista-riel .t-riel .t-grupo:first-of-type{border-top:0}
.vista-riel~.instalar-app,.vista-riel .instalar-app{margin-top:0}
@media (max-width:980px){
 .tablero.vista-riel,.menu-abierto .tablero.vista-riel{grid-template-columns:minmax(0,1fr)}
 .vista-riel .t-riel{position:sticky;top:56px;z-index:4;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:6px 8px}
 .vista-riel .t-contenido{padding:16px max(12px,env(safe-area-inset-left)) 40px}
}
.app-home .top.morada .wrap{max-width:none;padding:0 22px}
@media (max-width:980px){.menu-abierto .t-riel .t-app em,.t-riel .t-app em{display:none!important}.t-riel .t-app.pronto{opacity:.6}}
/* menú lateral en todas las pantallas con sesión */
.c0{background:linear-gradient(135deg,#9B7BC0,#6C4B8C)}
button.t-app{width:100%;font:inherit;cursor:pointer;text-align:left}.t-cuenta form{margin:0}.t-cuenta{margin-top:auto}
.t-riel .t-app.activa{background:var(--suave)}.t-riel .t-app.activa b{color:var(--pri)}
.con-menu{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;transition:grid-template-columns .18s}
.menu-abierto .con-menu{grid-template-columns:248px minmax(0,1fr)}
.con-menu>.menu-lat{position:sticky;top:64px;height:calc(100vh - 64px);height:calc(100dvh - 64px);max-height:none;border-radius:0;border:0;border-right:1px solid var(--line);box-shadow:none;padding:10px 10px 16px;background:var(--card)}
.con-menu>main{min-width:0}
.en-base>main{margin:0 auto;width:100%;box-sizing:border-box}
.en-inv>.menu-lat{top:calc(56px + env(safe-area-inset-top));height:calc(100vh - 56px - env(safe-area-inset-top));height:calc(100dvh - 56px - env(safe-area-inset-top))}
.en-pos{flex:1;min-height:0;align-items:stretch;grid-template-rows:minmax(0,1fr)}
.en-pos>.menu-lat{position:static;height:auto}
.en-pos>.pos-main{min-height:0}
.app-home .pie,.inv .pie{display:none}
@media (max-width:980px){
 .con-menu,.menu-abierto .con-menu{grid-template-columns:minmax(0,1fr)}
 .con-menu>.menu-lat{position:sticky;top:56px;z-index:4;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:6px 8px}
 .en-inv>.menu-lat{top:calc(52px + env(safe-area-inset-top))}
}
@media (max-width:820px){.en-pos{order:2;display:flex;flex-direction:column}.en-pos>.pos-main{flex:1}}
/* teléfono: botón ☰ y menú que sale desde la izquierda */
.hamb{display:none;flex:none;place-items:center;width:40px;height:40px;border-radius:10px;border:1.5px solid rgba(255,255,255,.3);background:rgba(255,255,255,.14);color:#fff;cursor:pointer;padding:0}
.hamb svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.menu-cab{display:none}.menu-velo{display:none}
@media (max-width:980px){
 .hamb{display:grid}
 .top.morada .fila{justify-content:flex-start}.top.morada nav{margin-left:auto}
 .pos-top .volver{display:none}
 .con-menu>.menu-lat,.vista-riel .t-riel,.menu-lat{position:fixed!important;top:0!important;left:0;bottom:0;z-index:60;width:min(290px,84vw);height:100dvh!important;max-height:none;display:flex!important;flex-direction:column!important;overflow-y:auto;overflow-x:hidden;border:0!important;border-right:1px solid var(--line)!important;border-radius:0 18px 18px 0;padding:max(12px,env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));background:var(--card);box-shadow:0 0 50px rgba(0,0,0,.35);transform:translateX(-105%);transition:transform .22s ease;visibility:hidden}
 .menu-movil .menu-lat{transform:none;visibility:visible}
 .menu-movil .menu-velo{display:block;position:fixed;inset:0;z-index:55;background:rgba(10,8,18,.55)}
 .menu-movil body{overflow:hidden}
 .menu-cab{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 10px}.menu-cab b{font:800 18px 'Nunito'}
 .menu-lat .t-riel-btn{display:none!important}
 .menu-lat .t-grupo{flex-direction:column!important;border-left:0!important;border-top:1px solid var(--line)!important;padding:4px 0!important}
 .menu-lat .t-grupo-tit{display:block!important;padding:8px 8px 4px!important}
 .menu-lat .t-app{flex-direction:row!important;justify-content:flex-start!important;width:auto!important;text-align:left!important;gap:12px!important;padding:8px!important}
 .menu-lat .t-app>span:not(.ico){display:block!important}.menu-lat .t-app b{font-size:15px!important}
 .menu-lat .t-app em{display:inline!important;font-size:10.5px;padding:1px 7px;margin-left:auto}
 .tablero.vista-riel,.con-menu{display:block}
}
@media (max-width:820px){.en-pos{display:flex}}
/* tablets de 10" acostadas (821–980 px): el menú se vuelve ☰ pero la caja sigue ocupando justo el alto de la pantalla (si no, Cobrar queda abajo, fuera de vista) */
@media (min-width:821px) and (max-width:980px){.en-pos{display:flex;flex-direction:column}.en-pos>.pos-main{flex:1;min-height:0}}
@media (prefers-reduced-motion:reduce){.menu-lat{transition:none}}
.aj-temas label,.chip-emp{position:relative}.aj-temas input,.chip-emp input{width:1px;height:1px;left:0;top:0;margin:0}
.t-hist-tit{font-size:15px;margin:16px 0 6px}.t-hist{max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;font-size:13.5px;color:var(--mut)}
.t-hist table{width:100%;border-collapse:collapse}.t-hist td{padding:7px 10px;border-bottom:1px solid var(--line);color:var(--fg)}.t-hist .num{text-align:right;white-space:nowrap;font-weight:700}.t-hist .quien{color:var(--mut);font-size:12px;text-align:right}
/* usuarios */
.roles-ayuda{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-bottom:14px}.roles-ayuda span{background:var(--bg);border-radius:10px;padding:8px 10px;font-size:12.5px;color:var(--mut)}.roles-ayuda b{display:block;color:var(--fg);font-size:13.5px}
.u-lista{display:flex;flex-direction:column;margin-bottom:12px;border:1.5px solid var(--line);border-radius:14px;overflow:hidden}
.u-fila{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:9px 12px;border-top:1px solid var(--line)}.u-fila:first-child{border-top:0}.u-fila:nth-child(even){background:var(--bg)}.u-fila.inactivo{opacity:.6}
.u-quien{flex:1 1 200px;min-width:0}.u-quien b{display:block}.u-quien small{color:var(--mut);font-size:12.5px}
.u-acc{display:flex;gap:6px;align-items:center;margin:0}.u-acc select,.u-acc input{margin:0;width:auto;padding:7px 9px;font-size:14px}.u-acc input{width:130px}.u-acc .btn{margin:0}
.btn.peligro{color:var(--err);border-color:var(--errbg)}
.u-nuevo summary{cursor:pointer;font-weight:800;color:var(--pri);padding:6px 0}.u-nuevo form{margin-top:10px}
.quien small{opacity:.8;font-weight:600}
@media (max-width:560px){.roles-ayuda{grid-template-columns:minmax(0,1fr)}}
/* permisos */
.aj-zona{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.aj-zona label{flex:1 1 280px;margin:0}.aj-zona .btn{margin:0}
.perm-tabla{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
.perm-tabla table{width:100%;border-collapse:collapse;font-size:14px}.perm-tabla th,.perm-tabla td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left}
.perm-tabla th{background:var(--bg);font-size:12px;text-transform:uppercase;color:var(--mut)}.perm-tabla .c,.perm-tabla th:not(:first-child){text-align:center}
.perm-tabla input{width:18px;height:18px;margin:0;accent-color:var(--pri)}
.perm-grupo td{background:var(--suave);color:var(--pri);font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}
.u-finos{flex:1 1 100%}.u-finos summary{cursor:pointer;color:var(--pri);font-weight:700;font-size:13.5px}
.u-gr{display:block;margin:10px 0 4px;color:var(--mut);font-size:12px;text-transform:uppercase}
.u-perm{display:flex!important;justify-content:space-between;align-items:center;gap:10px;font-weight:600!important;padding:4px 0;border-bottom:1px solid var(--line)}
.u-perm select{margin:0;width:auto;padding:5px 8px;font-size:13.5px}
.perm-tabla td.neg{color:var(--err);font-weight:800}.perm-tabla td.pos{color:var(--tea);font-weight:800}
.caja-config{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--bg);border-radius:12px;padding:8px 12px;margin:6px 0 12px}.caja-config .check{margin:0}.caja-config .btn{margin:0}
/* ajustes en pestañas */
.aj-menu a.on{background:var(--pri);border-color:var(--pri);color:var(--prifg)}
.aj-pestanas .aj-sec{margin-bottom:0}
.aj-sec[hidden]{display:none}
.perm-tabla select{margin:0;width:auto;padding:6px 8px;font-size:13.5px}
.pago-nuevo{border:1px dashed var(--line);border-radius:12px;padding:12px 14px;margin:0 0 12px}.pago-nuevo>b{display:block;margin-bottom:6px}
.tres-campos-p{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:10px}.tres-campos-p input,.tres-campos-p select{margin-bottom:0}
@media (max-width:560px){.tres-campos-p{grid-template-columns:minmax(0,1fr)}}
/* planes y pagos */
.planes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:12px;margin-bottom:14px}
.plan-card{border:1.5px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px}.plan-card.actual{border-color:var(--pri);background:var(--suave)}
.plan-card>b{font-size:17px}.plan-card .precio{margin:0;font:800 24px 'Nunito'}.plan-card .precio small{font-size:13px;color:var(--mut)}
.plan-card ul{margin:0 0 6px;padding-left:18px;color:var(--mut);font-size:13.5px}.plan-card form{margin:0}.plan-card label{font-size:13px;margin-bottom:6px}
.plan-card select{margin-top:2px;padding:7px 9px;font-size:14px}.plan-card .btn{margin:2px 0 0}
.instrucciones{white-space:pre-line;background:var(--bg);border-radius:12px;padding:14px;margin:12px 0;line-height:1.6}
.cobro{border:1px solid var(--line);border-radius:12px;padding:10px 14px 4px;margin:0 0 12px}.cobro legend{padding:0 6px}.cobro legend .check{margin:0}.cobro textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);padding:10px;font:inherit;margin-top:6px}.cobro code{font-size:12.5px;background:var(--bg);padding:1px 5px;border-radius:5px}
.aviso-correo{margin:0;background:var(--abg);color:var(--afg);font-size:14px;padding:9px 16px;text-align:center}.aviso-correo .enlace{color:inherit;text-decoration:underline;padding:0 0 0 6px}
.legal{max-width:780px;padding:36px 16px 64px;line-height:1.7}.legal h1{margin-bottom:0}.legal h2{font-size:19px;margin:26px 0 6px}.legal ul{padding-left:20px}
.aviso-correo button.enlace{background:none;border:0;font:inherit;cursor:pointer}
/* con una ventana o ficha abierta, la página de atrás no se desplaza (una sola barra) */
html:has(.modal:not([hidden])),body:has(.modal:not([hidden])){overflow:hidden}
.modal .hoja{scrollbar-width:thin;scrollbar-color:var(--line) transparent;overscroll-behavior:contain}
.modal .hoja::-webkit-scrollbar{width:8px}.modal .hoja::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}.modal .hoja::-webkit-scrollbar-track{background:transparent}
.aj-docs{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.aj-docs h3{margin:0 0 10px;font-size:16px}.aj-docs textarea{width:100%;font:inherit;padding:10px 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg)}.aj-logo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}.aj-logo img,.aj-logo>span{width:120px;height:70px;object-fit:contain;border:1px dashed var(--line);border-radius:12px;background:#fff;display:grid;place-items:center;color:var(--mut);font-size:13px}.aj-logo label{flex:1;margin:0}


/* sucursal activa en el menú: cerrado, sus iniciales; abierto, el selector */
.t-suc{display:flex;justify-content:center;margin:2px 6px 10px}
.t-suc-ini{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--suave);color:var(--pri);font:800 12.5px 'Nunito';letter-spacing:.02em}
.t-suc-cuerpo{display:none;width:100%;padding:2px 4px 12px;border-bottom:1px solid var(--line)}
.menu-abierto .t-suc-ini,.menu-movil .t-suc-ini{display:none}.menu-abierto .t-suc-cuerpo,.menu-movil .t-suc-cuerpo{display:block}
.t-suc-cuerpo small{display:block;font-size:10.5px;font-weight:800;color:var(--mut);text-transform:uppercase;letter-spacing:.06em;padding-left:2px}
.t-suc-sel{position:relative;display:block;margin-top:5px}
.t-suc-sel::after{content:'';position:absolute;right:12px;top:50%;width:7px;height:7px;border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.t-suc-sel select{-webkit-appearance:none;appearance:none;width:100%;margin:0;padding:8px 32px 8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--fg);font:700 14px 'Nunito Sans',sans-serif;cursor:pointer;box-shadow:none}
.t-suc-sel select:hover{border-color:var(--pri)}
.t-suc-nom{display:block;margin:5px 0 1px;padding-left:2px;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-suc-cuerpo em{display:block;font-style:normal;font-size:11.5px;color:var(--mut);padding-left:2px}
.t-suc-sel optgroup{font-style:normal;font-weight:800;color:var(--mut)}.t-suc-sel option{font-weight:600;color:var(--fg)}
.t-suc-dep{font-style:normal;font-size:10.5px;font-weight:800;background:var(--suave);color:var(--pri);border-radius:99px;padding:1px 7px;margin-left:4px;vertical-align:2px}
.aj-dato{margin:0 0 12px}.aj-dato small{display:block;color:var(--mut);font-size:13px}
.aj-opciones{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:8px;margin:0 0 12px}
.aj-opciones .check{align-items:flex-start;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;margin:0}
.aj-opciones .check:has(input:checked){border-color:var(--pri);background:var(--suave)}
.aj-opciones .check small{display:block;color:var(--mut);font-weight:600;font-size:12.5px;margin-top:2px}
.aj-dos-mon[hidden]{display:none}.aj-et{margin:6px 0 6px;font-weight:800;color:var(--mut);font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.aj-tasa{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;background:var(--tsuave);border-radius:12px;padding:10px 12px;margin:0 0 12px}
.aj-tasa b{font:800 18px 'Nunito';color:var(--tea)}.aj-tasa span{color:var(--tea);font-weight:700;font-size:13px;flex:1}
.aj-tasa em{flex-basis:100%;font-style:normal;background:#FFF4E0;color:#B45309;border-radius:8px;padding:6px 8px;font-size:13px;font-weight:700}.aj-tasa .btn{margin:0}
/* Ajustes: menú de secciones a la izquierda (agrupado) y una sección a la vez a la derecha */
.ajustes-pag{max-width:1120px}
.aj-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start;margin-top:18px}
.aj-layout .aj-menu{position:sticky;top:14px;display:flex;flex-direction:column;gap:2px;overflow:visible;margin:0;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sombra)}
.aj-grupo{margin:10px 10px 4px;font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--mut)}.aj-grupo:first-child{margin-top:4px}
.aj-layout .aj-menu a{display:flex;align-items:center;gap:10px;border:0;background:none;border-radius:10px;padding:9px 10px;font-weight:700;font-size:14.5px;color:var(--fg)}
.aj-layout .aj-menu a svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.aj-layout .aj-menu a:hover{background:var(--bg)}
.aj-layout .aj-menu a.on{background:var(--suave);color:var(--pri);box-shadow:inset 3px 0 0 var(--pri)}
.aj-cont{min-width:0}.aj-cont .aj-sec{margin-bottom:0}
@media (max-width:820px){
 .aj-layout{grid-template-columns:minmax(0,1fr);gap:12px}
 .aj-layout .aj-menu{position:static;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,46%),1fr));gap:6px;padding:8px}
 .aj-grupo{display:none}
 .aj-layout .aj-menu a{padding:9px 10px;font-size:13.5px;background:var(--bg)}
 .aj-layout .aj-menu a.on{box-shadow:none;background:var(--pri);color:var(--prifg)}
}
.aj-simbolos{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:flex-end;margin-bottom:12px}.aj-simbolos label{width:120px;margin:0}.aj-simbolos input{text-align:center;font-weight:800}
.aj-ej{flex-basis:100%;margin:2px 0 0;color:var(--mut);font-size:13.5px}.aj-ej b{color:var(--fg)}
.aj-layout .aj-menu,.aj-layout .aj-menu a,.aj-grupo{text-align:left;justify-content:flex-start}
/* botón del plan en la barra de arriba (solo el dueño) */
.plan-btn{flex:none;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px;border-radius:10px;background:#fff;color:var(--pri);font-weight:800;font-size:14px;text-decoration:none;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.18);margin-left:auto;margin-right:6px;line-height:1}
.plan-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.plan-btn .pb-plan{font-size:11px;font-weight:700;padding:3px 7px;border-radius:99px;background:color-mix(in srgb,var(--pri) 12%,#fff);color:var(--pri)}
.plan-btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.plan-btn.vence{background:#f59e0b;color:#1f1300}.plan-btn.vence .pb-plan{background:rgba(255,255,255,.45);color:#1f1300}
.pos-top .tasa~.plan-btn,.inv .pos-top #ajBtn~.plan-btn{margin-left:0}
.top.morada nav .plan-btn{margin-left:0}
@media (max-width:900px){.plan-btn .pb-plan{display:none}}
@media (max-width:560px){.plan-btn{height:36px;padding:0 10px;font-size:13px}.plan-btn .pb-txt{display:none}.plan-btn svg{width:18px;height:18px}}
.plan-btn .pb-corto{display:none}
@media (max-width:560px){.plan-btn .pb-corto{display:inline}}
/* engranaje de ajustes arriba a la derecha */
.aj-top,.tema .ic-sl{text-decoration:none}
.aj-top svg,.tema .ic-sl{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pos-top .plan-btn~.tema,.pos-top .plan-btn~.aj-top{margin-left:0!important}
.top.morada nav a.plan-btn{display:inline-flex}.top.morada nav a.aj-top{display:inline-grid;margin-left:4px}
.pos-top .tema~.aj-top{margin-left:0!important}
/* Ajustes: el menú de secciones alineado a la izquierda (el estilo general de <nav> lo centraba) y la página pegada al menú lateral */
.aj-layout .aj-menu{align-items:stretch;text-align:left}
.aj-layout .aj-menu a{justify-content:flex-start;width:100%}
.en-base>main.ajustes-pag{max-width:1280px;margin:22px 0 48px;padding:0 32px}
.aj-layout .aj-menu a{display:flex!important}
.aj-layout{grid-template-columns:240px minmax(0,1fr);gap:26px}
@media (max-width:820px){.en-base>main.ajustes-pag{padding:0 16px;margin-top:16px}.aj-layout{grid-template-columns:minmax(0,1fr)}}
/* teléfono: en la caja no cabe todo arriba; el tema y los ajustes quedan en el menú (☰) y el plan solo con la flecha */
@media (max-width:600px){.en-pos-top .aj-top,.en-pos-top [data-tema]{display:none!important}.en-pos-top .plan-btn{padding:0 9px}.en-pos-top .plan-btn .pb-corto{display:none}}
/* ===== Teléfono estilo aplicación: barra de abajo ===== */
:root{--tabh:0px}
.tabbar{display:none}
@media (max-width:760px){
 html:has(.tabbar){--tabh:calc(62px + env(safe-area-inset-bottom))}
 .tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);position:fixed;left:0;right:0;bottom:0;z-index:15;height:var(--tabh);padding:0 6px env(safe-area-inset-bottom);background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(20,10,40,.07)}
 .tabbar .tab{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:none;color:var(--mut);font:700 11.5px/1 'Nunito Sans',sans-serif;text-decoration:none;cursor:pointer;padding:6px 0;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative}
 .tab svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
 .tab.on{color:var(--pri)}
 .tab.on::before{content:"";position:absolute;top:0;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--pri)}
 .tab.on svg{stroke-width:2.4}
 .tab:active svg{transform:scale(.88)}
 body:has(.tabbar){padding-bottom:var(--tabh)}
 html:has(.tabbar) .hamb{display:none}
 html:has(.tabbar) .pie{display:none}
 /* lo que flotaba abajo sube encima de la barra */
 .fab{bottom:calc(18px + var(--tabh))!important}
 .td-guardar{bottom:var(--tabh)}
 .toast{bottom:calc(20px + var(--tabh))!important}
 .col-menu{bottom:calc(12px + var(--tabh))!important}
 /* barra de arriba más delgada y con el título primero */
 .pos-top{min-height:52px}
 .pos-top .pos-tit{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
}
/* "Más": el menú sube desde abajo como hoja, con los módulos en cuadrícula */
@media (max-width:760px){
 html:has(.tabbar) .menu-lat{top:0!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;height:100dvh!important;max-height:none!important;border-radius:0!important;border:0!important;transform:translateY(105%)!important;padding:8px 14px calc(14px + var(--tabh))!important;z-index:14!important}
 html:has(.tabbar).menu-movil .menu-lat{transform:none!important}
 html:has(.tabbar) .menu-velo{z-index:13!important}
 html:has(.tabbar) .menu-cab::before{content:"";position:absolute;top:6px;left:50%;width:42px;height:5px;margin-left:-21px;border-radius:9px;background:var(--line)}
 html:has(.tabbar) .menu-cab{position:sticky;top:-8px;z-index:2;background:var(--card);margin:-8px -14px 4px;padding:calc(12px + env(safe-area-inset-top)) 18px 10px!important;border-bottom:1px solid var(--line)}
 html:has(.tabbar) .menu-cab::before{display:none}  /* pantalla completa: sin la rayita de arrastre */
 html:has(.tabbar) .menu-lat .t-grupo{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 2px;border-top:0!important;padding:2px 0 8px!important}
 html:has(.tabbar) .menu-lat .t-grupo-tit{grid-column:1/-1;padding:8px 4px 4px!important}
 html:has(.tabbar) .menu-lat .t-app{flex-direction:column!important;justify-content:flex-start!important;align-items:center!important;text-align:center!important;gap:6px!important;padding:8px 2px!important;border-radius:14px}
 html:has(.tabbar) .menu-lat .t-app b{font-size:12px!important;line-height:1.2;font-weight:700}
 html:has(.tabbar) .menu-lat .t-app .ico{width:48px;height:48px;border-radius:15px}
 html:has(.tabbar) .menu-lat .t-app em{position:absolute;top:2px;right:6px;margin:0!important}
 html:has(.tabbar) .menu-lat .t-app{position:relative}
 html:has(.tabbar) .t-suc{margin:0 0 6px}
 /* el botón del plan: una franja a lo ancho, no un cuadrito */
 html:has(.tabbar) .menu-lat .t-plan{grid-template-columns:minmax(0,1fr)!important;padding:4px 0 6px!important}
 html:has(.tabbar) .menu-lat .t-app.menu-plan{flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;text-align:left!important;gap:12px!important;padding:10px 14px!important;border-radius:16px}
 html:has(.tabbar) .menu-lat .t-app.menu-plan .ico{width:40px;height:40px;border-radius:12px;flex:none}
 html:has(.tabbar) .menu-lat .t-app.menu-plan>span:not(.ico){flex:1;min-width:0}
 html:has(.tabbar) .menu-lat .t-app.menu-plan b{font-size:15px!important;font-weight:800}
 html:has(.tabbar) .menu-lat .t-app.menu-plan i{font-size:12.5px}
}
/* Ajustes → Cajas: cierre ciego y métodos fijos */
.caja-config .check{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.caja-config .check input{margin-top:3px;flex:none}
.caja-config .aj-tope{display:flex;align-items:center;gap:8px;margin:0}.caja-config .aj-tope input{width:80px}.caja-config .nota{flex-basis:100%;margin:0}
.cierre-fijos{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:4px 0 12px}
.cierre-fijos legend{font-weight:800;padding:0 6px}.cierre-fijos .nota{margin:0 0 10px;font-size:13px;color:var(--mut)}
.cf-lista{display:flex;flex-wrap:wrap;gap:8px}
.cf-op{position:relative;display:inline-flex}.cf-op input{position:absolute;opacity:0;width:1px;height:1px}
.cf-op span{border:1.5px solid var(--line);border-radius:999px;padding:7px 13px;font-weight:700;font-size:14px;cursor:pointer;background:var(--card);filter:grayscale(1);opacity:.75}
.cf-op input:checked+span{border-color:var(--pri);background:var(--suave);color:var(--pri);filter:none;opacity:1}
.cf-op input:focus-visible+span{outline:2px solid var(--pri);outline-offset:2px}
/* barra de arriba: plan, tema, ajustes, nombre y salir juntos (sin huecos grandes) */
.top.morada nav{gap:8px}
.top.morada nav .plan-btn,.top.morada nav .tema,.top.morada nav .aj-top{margin:0}
.top.morada nav .quien{margin-left:6px}
.pos-top .plan-btn{margin-right:0}
.pos-top .plan-btn~.tema,.pos-top .plan-btn~.aj-top{margin-left:-6px!important}
/* botón del plan: colores fijos para que se lea igual en modo claro y oscuro */
.plan-btn{background:#fff;color:#5B3A8C}
.plan-btn .pb-plan{background:#EFE7FA;color:#5B3A8C}
.plan-btn.vence{background:#f59e0b;color:#1f1300}
nav a.plan-btn:not(.vence),.pos-top a.plan-btn:not(.vence){color:#5B3A8C}
nav a.plan-btn.vence,.pos-top a.plan-btn.vence{color:#1f1300}
/* Ajustes → Métodos de pago → Cobros en línea */
.cobros-linea{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.cobros-linea h3{margin:0 0 4px;font:800 18px 'Nunito'}
.pas-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:12px;margin-top:12px}
.pas{border:1.5px solid var(--line);border-radius:16px;padding:14px;background:var(--card);display:flex;flex-direction:column;gap:10px}
.pas.on{border-color:#1FA37F}
.pas header{display:flex;align-items:center;gap:12px}.pas header>div{flex:1;min-width:0}.pas header b{display:block;font-size:15.5px}.pas header small{color:var(--mut);font-size:12.5px;line-height:1.35;display:block}
.pas-logo{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#fff;font:900 20px 'Nunito'}
.pl-stripe{background:#635BFF}.pl-paypal{background:#003087}.pl-mercadopago{background:#00B1EA}
.pas-est{flex:none;font-size:12px;font-weight:800;color:#1FA37F}
.pas-cuenta{margin:0;font-size:13.5px;color:var(--mut)}.pas-cuenta b{color:var(--fg)}
.pas-acc{display:flex;gap:8px;flex-wrap:wrap}.pas-acc form{margin:0}.pas-acc .btn{margin:0}
.pas-con summary{list-style:none;display:inline-flex;cursor:pointer;margin:0}.pas-con summary::-webkit-details-marker{display:none}
.pas-con[open] summary{margin-bottom:10px}.pas-con form label{margin-bottom:8px}.pas-con .nota{font-size:12.5px;margin:4px 0 10px}
.pas-aviso{margin:0;font-size:12.5px;background:#FFF4D6;color:#7A5300;border-radius:9px;padding:7px 10px}.pas-aviso a{color:inherit;font-weight:800}
.pas-mon{display:flex;align-items:flex-end;gap:8px;margin:0}.pas-mon label{margin:0;flex:1;font-size:13px}.pas-mon select{margin:4px 0 0}.pas-mon .btn{margin:0}
/* Ajustes → Métodos de pago: una tarjeta por método */
.mp-scroll{border:1.5px solid var(--line);border-radius:14px;overflow:hidden;margin:10px 0 16px}
.mp-tabla{width:100%;border-collapse:collapse;font-size:14px}
.mp-tabla th{background:var(--bg);text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--mut);padding:9px 10px;font-weight:800}.mp-tabla th small{text-transform:none;letter-spacing:0;font-weight:600}
.mp-tabla td{padding:7px 10px;border-top:1px solid var(--line);vertical-align:middle}.mp-tabla .c{text-align:center;width:64px}
.mp-tabla td b{display:block}.mp-tabla td small{color:var(--mut);font-size:12px}
.mp-tabla tr.apagado td{opacity:.55}
.mp-tabla select,.mp-tabla input[type=text],.mp-tabla input:not([type]),.mp-tabla textarea{margin:0;padding:7px 9px;font:inherit;font-size:14px;border-radius:9px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);min-height:0;height:auto}
.mp-tabla select{width:auto;min-width:86px}
.mp-tabla textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;line-height:1.35;min-height:36px}
.mp-tabla input[type=checkbox]{width:18px;height:18px;accent-color:var(--pri);margin:0}
.mp-borrar{border:0;background:none;border-radius:9px;width:32px;height:32px;cursor:pointer;font-size:15px;opacity:.5}.mp-borrar:hover{opacity:1;background:#FDE8E8}
.mp-nuevo td{background:var(--bg)}.mp-nuevo-f{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mp-nuevo-f b{font-size:13.5px;color:var(--pri)}.mp-nuevo-f input{flex:1 1 220px;max-width:340px}
@media (max-width:700px){.mp-tabla thead{display:none}.mp-tabla,.mp-tabla tbody,.mp-tabla tr,.mp-tabla td{display:block;width:auto}
 .mp-tabla tr{border-top:1px solid var(--line);padding:8px 10px;display:grid;grid-template-columns:1fr auto auto auto;gap:6px 10px;align-items:center}.mp-tabla tr:first-child{border-top:0}
 .mp-tabla td{border:0;padding:0}.mp-tabla .c{width:auto}
 .mp-tabla td[data-t="Rápido"]::before,.mp-tabla td[data-t="Activo"]::before{content:attr(data-t);display:block;font-size:10.5px;color:var(--mut);font-weight:700}
 .mp-tabla td[data-t="Datos para pagarte"]{grid-column:1/-1}.mp-tabla td:last-child:empty,.mp-tabla .mp-vacio{display:none}
 .mp-nuevo{display:block!important}.mp-nuevo-f input{flex-basis:100%;max-width:none}}

/* ---------- entrar / registrarse con Google ---------- */
.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;height:48px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:#1F2433;font-weight:700;text-decoration:none;margin:4px 0 0}
.btn-google:hover{border-color:#B9B1C9}.btn-google svg{width:20px;height:20px}
.o-sep{display:flex;align-items:center;gap:10px;color:var(--mut);font-size:13px;margin:16px 0}
.o-sep::before,.o-sep::after{content:"";flex:1;height:1px;background:var(--line)}
.g-ok{background:#E3F6EE;color:#11694A;border-radius:12px;padding:12px 14px;margin:0 0 14px;font-size:14.5px}
/* Cada parte en su columna aunque el menú se esconda (p. ej. las extensiones que capturan la página completa ocultan lo fijo y lo pegajoso) */
@media (min-width:981px){.con-menu>.menu-lat{grid-column:1;grid-row:1/span 20}.con-menu>:not(.menu-lat){grid-column:2}}
@media (min-width:981px){.tablero.vista-riel>.t-riel{grid-column:1;grid-row:1/span 20}.tablero.vista-riel>:not(.t-riel){grid-column:2}}
/* ===== lista que se despliega (pedidos de la tienda, apartados…): una fila compacta; al tocarla, el detalle ===== */
.fx-lista{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sombra);overflow:hidden}
.fx{border-bottom:1px solid var(--line);--fx:#0369A1}.fx:last-child{border-bottom:0}
.fx-ok{--fx:var(--tea)}.fx-esp{--fx:#D97706}.fx-mal{--fx:var(--err)}.fx-gris{--fx:var(--mut)}
.fx>summary{position:relative;display:grid;grid-template-columns:minmax(110px,.9fr) minmax(0,2.4fr) minmax(90px,.8fr) minmax(100px,.9fr) minmax(130px,1.1fr) 18px;gap:14px;align-items:center;padding:12px 16px 12px 20px;cursor:pointer;list-style:none}
.fx>summary::-webkit-details-marker{display:none}
.fx>summary::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--fx)}
.fx>summary:hover{background:var(--bg)}.fx[open]>summary{background:var(--suave)}
.fx>summary:focus-visible{outline:2px solid var(--pri);outline-offset:-2px}
.fx-num,.fx-cli,.fx-mon{min-width:0;display:flex;flex-direction:column;line-height:1.3}
.fx-num b{font:800 14.5px 'Nunito'}.fx-num small,.fx-cli small,.fx-mon small{color:var(--mut);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fx-num small .ap-tipo{margin:2px 4px 0 0;display:inline-block}
.fx-cli b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fx-mon b{font:800 15px 'Nunito';white-space:nowrap}.fx-mon b.ok{color:var(--tea)}
.fx-prog{display:block;height:4px;border-radius:9px;background:var(--line);overflow:hidden;margin-top:3px;max-width:90px}.fx-prog i{display:block;height:100%;background:var(--tea)}
.fx-prog .w0{width:0}.fx-prog .w1{width:10%}.fx-prog .w2{width:20%}.fx-prog .w3{width:30%}.fx-prog .w4{width:40%}.fx-prog .w5{width:50%}.fx-prog .w6{width:60%}.fx-prog .w7{width:70%}.fx-prog .w8{width:80%}.fx-prog .w9{width:90%}.fx-prog .w10{width:100%}
.fx-est{justify-self:start;font-style:normal;font-size:12.5px;font-weight:800;padding:4px 10px;border-radius:99px;background:color-mix(in srgb,var(--fx) 14%,transparent);color:var(--fx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.fx-chev{font-style:normal;color:var(--mut);font-size:20px;transition:transform .15s;justify-self:end}.fx[open] .fx-chev{transform:rotate(90deg)}
.fx-det{padding:4px 20px 16px;display:flex;flex-direction:column;gap:8px;background:var(--suave)}
.fx-det p{margin:0}
.fx-items{list-style:none;margin:0;padding:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.fx-items li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:14px}.fx-items li+li{border-top:1px dashed var(--line)}
.fx-det footer{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding-top:4px}.fx-det footer .btn{margin:0}
@media (max-width:820px){
 .fx>summary{grid-template-columns:minmax(0,1fr) auto 14px;grid-template-areas:"cli tot ch" "num est ch";gap:4px 10px;padding:12px 12px 12px 16px}
 .fx-cli{grid-area:cli}.fx-num{grid-area:num;flex-direction:row;gap:8px;align-items:center}.fx-num small{display:inline}
 .fx-mon:nth-of-type(3){grid-area:tot;align-items:flex-end}.fx-mon:nth-of-type(3) small{display:none}
 .fx-mon:nth-of-type(4){display:none}.fx-est{grid-area:est;justify-self:end;font-size:11.5px;padding:3px 8px}.fx-chev{grid-area:ch}
 .fx-det{padding:4px 12px 14px}
}
.fx-mon b.fx-bien{color:var(--tea)}.fx-num b{white-space:nowrap}
@media (max-width:820px){.fx-num small{overflow:visible}.fx-num small .ap-tipo{margin-top:0}}
.captcha{margin:8px 0 12px;min-height:65px}
/* Inicio en tablet parada (iPad, 821–1199 px en vertical): cifras grandes en 2×2 y el gráfico a todo el ancho;
   abajo, lo más vendido y las últimas facturas lado a lado */
@media (min-width:821px) and (max-width:1199px) and (orientation:portrait){
 .t-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .t-kpi{padding:20px 22px;align-items:center}.t-kpi>i{width:52px;height:52px;border-radius:15px}.t-kpi svg{width:26px;height:26px}
 .t-kpi small{font-size:15px}.t-kpi b{font-size:34px}.t-kpi b span{font-size:22px}.t-kpi em{font-size:14px}
 .t-dos{grid-template-columns:repeat(2,minmax(0,1fr))}.t-dos>.t-col{display:contents}
 .t-dos .t-grafico{grid-column:1/-1}
 .t-card h2{font-size:19px}.t-cli b,.t-monto b{font-size:15.5px}.t-cli small{font-size:12.5px}
}
/* computadoras chicas con el menú abierto: las 4 cifras pasan a 2×2 antes de cortarse con "…" */
@media (min-width:981px) and (max-width:1366px){.menu-abierto .t-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-abierto .t-kpi b{font-size:30px}}
/* tablet parada: el menú con nombres sale encima del contenido en vez de empujarlo (así las tablas y cifras no se cortan) */
@media (min-width:821px) and (max-width:1199px) and (orientation:portrait){
 .menu-abierto .tablero.vista-riel,.menu-abierto .con-menu{grid-template-columns:76px minmax(0,1fr)}
 .menu-abierto #riel{width:248px;z-index:20;box-shadow:14px 0 40px rgba(20,16,30,.18)}
}
/* Sin el rebote del iPad: al tocar o arrastrar abajo la página ya no "sube" dejando un espacio vacío. */
html,body{overscroll-behavior-y:none}

/* Tablet/teléfono: sin zoom por doble toque (botones +, agregar) y sin zoom al escribir (el iPad acerca los campos de menos de 16px y la página queda movida de lado). */
html{touch-action:manipulation}
@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}}
/* Ventana de planes (botón "Plan" de arriba). */
.planes-modal{z-index:80;align-items:flex-start;overflow-y:auto;overscroll-behavior:contain}
.planes-hoja{max-width:900px;margin:auto 0;color:var(--fg)}
.planes-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.planes-cab small{color:var(--mut);font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.04em}.planes-cab h2{margin:2px 0 4px}.planes-cab p{margin:0;color:var(--mut);font-size:14px}
.planes-x{flex:none;width:38px;height:38px;border:0;border-radius:50%;background:var(--bg);color:var(--fg);font-size:24px;line-height:1;cursor:pointer}
.planes-hoja .nota{margin:0;text-align:center}
.planes-hoja .planes-grid{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
@media (min-width:821px){.hoja-p{max-width:520px}}
/* La de planes va más ancha que las demás ventanas: los planes uno al lado del otro */
.hoja-p.planes-hoja{max-width:min(1040px,calc(100vw - 32px))}
.planes-hoja .planes-grid{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}
.tag-caja{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:99px;background:var(--suave);color:var(--pri);font-size:11px;font-weight:800;vertical-align:middle}
/* Caja en tablet acostada / laptop chica: el menú con nombres sale encima (no le quita ancho a la orden) */
@media (min-width:821px) and (max-width:1240px){
 .menu-abierto body.pos .con-menu{grid-template-columns:76px minmax(0,1fr)}
 .menu-abierto body.pos #riel{width:248px;z-index:20;box-shadow:14px 0 40px rgba(20,16,30,.18)}
}
.md-atras{border:0;background:var(--suave,#eee);color:var(--fg);font:inherit;font-weight:700;font-size:14px;border-radius:999px;padding:7px 14px;margin-right:10px;cursor:pointer;flex:0 0 auto}.md-atras:hover{filter:brightness(.95)}.md-atras[hidden]{display:none}
.aj-guardar{margin-top:18px}
.doc-ver .hoja{width:min(520px,100%);height:min(92vh,980px);max-height:none;display:flex;flex-direction:column;padding:0;background:var(--card);border-radius:18px;overflow:hidden}
.doc-ver .cabeza{display:flex;align-items:center;gap:10px;padding:12px 14px;margin:0;border-bottom:1px solid var(--line)}.doc-ver .cabeza h2{flex:1;margin:0;font-size:17px}
.doc-ver iframe{flex:1;width:100%;border:0;background:#fff}
@media (max-width:600px){.doc-ver{padding:0}.doc-ver .hoja{width:100%;height:100%;border-radius:0}}
.num-tabla th:not(:first-child){text-align:left!important}.num-tabla td{padding:6px 12px}.num-tabla input{width:100%;max-width:150px;margin:0;padding:7px 10px;min-height:36px;font-family:ui-monospace,monospace}
.num-tabla .num-ej{font-weight:700;font-family:ui-monospace,monospace;color:var(--pri,#6C4B8C)}.num-ceros{max-width:260px}
.t-app.bloqueada[data-bloq]{cursor:pointer}
#mBloq{z-index:90}.bloq-hoja{max-width:420px}.bloq-hoja .fila{display:flex;align-items:center;justify-content:space-between;gap:12px}.bloq-hoja h2{margin:0;font-size:20px}
.bloq-txt{margin:12px 0 4px}.bloq-plan{font-weight:700;color:var(--pri,#6C4B8C);margin:0 0 16px}.bloq-acc{display:flex;gap:8px;flex-wrap:wrap}
.trampa{position:absolute!important;left:-5000px;width:1px;height:1px;overflow:hidden}
.contacto-f{max-width:620px;margin:20px auto 0;text-align:left}.contacto-f .btn{margin-top:8px}
.contacto-f label{display:block;margin-bottom:12px}.contacto-f textarea{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);font-size:16px;font-family:inherit;resize:vertical}.contacto-f textarea:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px var(--suave)}

/* aviso de "no tienes acceso" al volver a la pantalla de inicio del usuario: se ve unos segundos y se va solo */
.aviso-acceso{position:fixed;top:calc(12px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:90;max-width:min(520px,calc(100vw - 32px));background:var(--fg);color:var(--bg);border-radius:12px;padding:12px 16px;font-size:14px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.25);animation:aviso-va 7s ease forwards;pointer-events:none}
@keyframes aviso-va{0%,85%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}

/* casillas y chips del tamaño de un dedo en pantallas táctiles */
.check input[type=checkbox]{width:18px;height:18px;flex:none}
@media (pointer:coarse){.chips button{min-height:40px}}
/* selector de idioma (arriba y en el pie) */
.idioma-sel{position:relative;flex:none}.idioma-sel summary{list-style:none;display:inline-flex;align-items:center;gap:5px;height:38px;padding:0 10px;border-radius:10px;border:1.5px solid var(--line);background:var(--card);color:var(--fg);font:700 13px 'Nunito Sans',sans-serif;cursor:pointer;touch-action:manipulation}
.idioma-sel summary::-webkit-details-marker{display:none}.idioma-sel summary:hover,.idioma-sel[open] summary{border-color:var(--pri);color:var(--pri)}
.idioma-sel svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.idioma-lista{position:absolute;right:0;top:calc(100% + 6px);min-width:150px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sombra);padding:6px;z-index:20}
nav .idioma-lista a,nav .idioma-lista a:not(.btn){display:block!important;padding:10px 12px;border-radius:8px;font-size:15px;color:var(--fg)}
.idioma-lista a:hover{background:var(--suave)}.idioma-lista a[aria-current]{color:var(--pri);font-weight:800}
.pie-idiomas{flex-basis:100%;text-align:center;margin-top:6px}.pie-idiomas a{color:var(--mut)}.pie-idiomas b{color:var(--fg)}
@media (max-width:560px){.idioma-sel summary{height:36px;padding:0 8px}.idioma-sel summary span{display:none}}
/* idioma del usuario, en el menú lateral (grupo de la cuenta) */
.t-idioma>summary{list-style:none;cursor:pointer}.t-idioma>summary::-webkit-details-marker{display:none}
.t-idioma-lista{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.t-idioma-lista a{padding:8px 10px;border-radius:8px;color:var(--fg);text-decoration:none;font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-idioma-lista a:hover{background:var(--suave)}.t-idioma-lista a[aria-current]{color:var(--pri);font-weight:800}
/* menú de la cuenta (arriba a la derecha) */
.cuenta-menu{position:relative;flex:none}.cuenta-menu summary{list-style:none;display:inline-flex;align-items:center;gap:7px;cursor:pointer;height:38px;padding:0 8px 0 4px;border-radius:999px;border:1.5px solid rgba(255,255,255,.3);background:rgba(255,255,255,.14);color:#fff;font:700 14px 'Nunito Sans',sans-serif;touch-action:manipulation}
.cuenta-menu summary::-webkit-details-marker{display:none}.cuenta-menu summary i{font-style:normal;font-size:11px;opacity:.85}
.cuenta-menu .cm-av{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--barra,#6C4B8C);font:800 14px 'Nunito',sans-serif}
.cuenta-menu .cm-nom{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-lista{position:absolute;right:0;top:calc(100% + 8px);width:250px;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sombra);padding:6px;z-index:70}
.cm-cab{display:flex;flex-direction:column;gap:1px;padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.cm-cab b{font-size:15px}.cm-cab small{color:var(--mut);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-lista a,.cm-lista button{display:flex;align-items:center;gap:8px;width:100%;padding:11px 12px;border:0;border-radius:9px;background:none;color:var(--fg);font:600 15px 'Nunito Sans',sans-serif;text-decoration:none;text-align:left;cursor:pointer;margin:0}
.cm-lista .cm-salir{color:var(--err)}.cm-lista .cm-salir:hover{background:var(--errbg);color:var(--err)}
.cm-lista a:hover,.cm-lista button:hover{background:var(--suave);color:var(--pri)}.cm-lista em{margin-left:auto;font-style:normal;color:var(--mut);font-size:12.5px}
.cm-lista form{margin:4px 0 0;border-top:1px solid var(--line);padding-top:4px}
@media (max-width:900px){.cuenta-menu .cm-nom,.cuenta-menu summary i{display:none}.cuenta-menu summary{padding:0 4px;height:38px}}
.mi-cuenta{max-width:560px}.mi-cuenta h2{font-size:18px;margin:26px 0 4px}.mi-cuenta .izq{text-align:left}
.mc-datos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:14px 0 0}.mc-datos dt{color:var(--mut);font-size:12.5px;font-weight:700}.mc-datos dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.mc-idiomas{display:flex;flex-wrap:wrap;gap:8px}
nav .cm-lista a,nav .cm-lista a:not(.btn){display:flex!important}  /* en el teléfono la barra esconde sus enlaces; los del menú de la cuenta no */
@media (max-width:560px){.mc-datos{grid-template-columns:minmax(0,1fr)}}
.pie-legal{flex-basis:100%;text-align:center;font-size:12.5px;margin-top:4px}.pie-legal a{color:var(--mut)}
.nota.garantia{text-align:center;margin-top:14px}
/* Ajustes → Complementos */
.cp-uso{font-weight:700;margin:6px 0 12px}.cp-lista{display:grid;gap:10px}
.cp-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.cp-card.on{border-color:var(--pri);box-shadow:0 0 0 1px var(--pri) inset}.cp-card.pronto{opacity:.65}
.cp-card .ico{width:44px;height:44px}.cp-card h3{margin:0;font-size:16px}.cp-card p{margin:2px 0 0;color:var(--mut);font-size:13.5px}
.cp-est{font-style:normal;font-size:11.5px;font-weight:800;color:var(--tea);background:var(--tsuave);border-radius:999px;padding:1px 8px;margin-left:4px}.cp-est.pausa{color:var(--afg);background:var(--abg)}
.cp-nota{display:block;color:var(--afg);font-size:12.5px;margin-top:4px}.cp-card form{margin:0}
@media (max-width:560px){.cp-card{grid-template-columns:40px minmax(0,1fr)}.cp-card form,.cp-card>a{grid-column:1/-1}}
/* Barra de arriba de las pantallas (la caja tiene la suya, .pt2): a la izquierda ☰ y el título (se corta con … si no cabe);
   a la derecha las acciones de la pantalla, el plan, el tema, ajustes y la cuenta, todo del mismo alto y parejo. */
header.pos-top:not(.pt2){gap:8px;min-height:56px}
header.pos-top:not(.pt2) .pos-tit{display:block!important;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
header.pos-top:not(.pt2) .r-tit{flex:1 1 auto;min-width:0;overflow:hidden}
header.pos-top:not(.pt2) .r-tit .pos-tit{flex:none}
header.pos-top:not(.pt2)>:not(.pos-tit):not(.r-tit){flex-shrink:0}
header.pos-top:not(.pt2) .plan-btn,header.pos-top:not(.pt2) .tema,header.pos-top:not(.pt2) .aj-top,header.pos-top:not(.pt2) #ajBtn,header.pos-top:not(.pt2) .cuenta-menu{margin-left:0!important;margin-right:0!important}
header.pos-top:not(.pt2) .tema,header.pos-top:not(.pt2) .hamb{width:40px;height:40px}
header.pos-top:not(.pt2) .plan-btn,header.pos-top:not(.pt2) .cuenta-menu summary{height:40px}
.top.morada nav{display:flex;align-items:center;gap:8px}.top.morada nav .tema,.top.morada nav .aj-top{margin:0!important;width:40px;height:40px}
.top.morada nav .plan-btn{height:40px;margin:0!important}.top.morada nav .cuenta-menu summary{height:40px}
/* el tema dentro del menú de la cuenta: solo en el teléfono (en la computadora está el botón ☾) */
.cm-lista .cm-tema{display:none}
@media (max-width:760px){
 header.pos-top:not(.pt2){padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));min-height:calc(56px + env(safe-area-inset-top))}
 header.pos-top [data-tema]:not(.cm-tema),header.pos-top .aj-top,.top.morada nav [data-tema]:not(.cm-tema),.top.morada nav .aj-top{display:none!important}
 .plan-btn:not(.vence){display:none!important}
 .cm-lista .cm-tema{display:flex}
}
.pt2 .cm-tema{display:none!important}  /* la caja ya lo tiene en ⋯ */
/* panel y ajustes en el teléfono: el nombre de la empresa sí se ve (cortado con … si es largo) */
@media (max-width:760px){
 .top.morada .emp-menu{flex:1 1 auto;min-width:0}
 .top.morada .marca{min-width:0;max-width:100%;font-size:17px}
 .top.morada .marca span{display:block!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (min-width:1100px){header.pos-top:not(.pt2) .plan-btn .pb-plan{display:inline}}  /* el nombre del plan, igual que en el panel */
/* la barra no recorta el menú de la cuenta (se abre hacia abajo, por fuera de la barra) */
header.pos-top:not(.pt2){overflow:visible}
/* ☰ a la izquierda en todas las pantallas del teléfono (abre el mismo menú completo que "Más") */
@media (max-width:760px){html:has(.tabbar) header .hamb{display:grid!important;width:40px;height:40px}}
/* ☰ en el teléfono: cajón que sale de la izquierda con la lista de módulos (ícono y nombre); "Más" sigue en pantalla completa */
@media (max-width:760px){
 html.menu-cajon:has(.tabbar) .menu-lat{right:auto!important;width:min(84vw,320px)!important;border-right:1px solid var(--line)!important;transform:translateX(-105%)!important;padding:8px 10px calc(14px + env(safe-area-inset-bottom))!important;z-index:62!important;box-shadow:14px 0 40px rgba(20,16,30,.25)}
 html.menu-cajon.menu-movil:has(.tabbar) .menu-lat{transform:none!important}
 html.menu-cajon:has(.tabbar) .menu-velo{z-index:61!important}
 html.menu-cajon:has(.tabbar) .menu-cab{margin:-8px -10px 4px;padding:calc(12px + env(safe-area-inset-top)) 14px 10px!important}
 html.menu-cajon:has(.tabbar) .menu-lat .t-grupo{display:flex!important;flex-direction:column!important;gap:0;border-top:1px solid var(--line)!important;padding:4px 0!important}
 html.menu-cajon:has(.tabbar) .menu-lat .t-grupo-tit{padding:8px 8px 4px!important}
 html.menu-cajon:has(.tabbar) .menu-lat .t-app{flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;text-align:left!important;gap:12px!important;padding:8px!important}
 html.menu-cajon:has(.tabbar) .menu-lat .t-app b{font-size:15px!important}
 html.menu-cajon:has(.tabbar) .menu-lat .t-app .ico{width:40px;height:40px;border-radius:11px}
 html.menu-cajon:has(.tabbar) .menu-lat .t-app em{position:static;margin:0 0 0 auto!important}
}
/* cajón del ☰ en el teléfono: entra deslizándose de izquierda a derecha y el velo aparece suave */
@media (max-width:760px){
 html.menu-cajon:has(.tabbar) .menu-lat{transition:transform .28s cubic-bezier(.2,.8,.2,1)!important}
 html.menu-cajon.menu-movil .menu-velo{animation:velo-entra .28s ease}
}
@keyframes velo-entra{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){html.menu-cajon:has(.tabbar) .menu-lat{transition:none!important}html.menu-cajon.menu-movil .menu-velo{animation:none}}
/* complementos: Abrir y Desactivar juntos; en el demo Desactivar apagado con su nota */
.cp-acc{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:120px}.cp-acc form{margin:0}.cp-acc form .btn{width:100%}
.cp-acc .btn[disabled]{opacity:.5;cursor:not-allowed}.cp-acc .cp-nota{max-width:200px;font-size:12px;color:var(--mut)}
@media (max-width:600px){.cp-acc{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.cp-acc .btn,.cp-acc form{flex:1 1 0}.cp-acc .cp-nota{flex-basis:100%;max-width:none}}
.toast{z-index:400!important}  /* el aviso siempre encima de las ventanas, también las de pantalla completa */

/* Menú lateral: botón del plan arriba de todo (solo el dueño); abre los planes (static/planes.js) */
.t-riel .t-plan{border-top:0;padding:2px 0 8px}
.t-riel .t-app.menu-plan{background:linear-gradient(135deg,var(--pri),color-mix(in srgb,var(--pri) 70%,#c08bff));color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--pri) 35%,transparent)}
.t-riel .t-app.menu-plan:hover{background:linear-gradient(135deg,var(--pri),color-mix(in srgb,var(--pri) 70%,#c08bff));filter:brightness(1.08)}
.t-riel .t-app.menu-plan b{color:#fff}
.menu-plan .ico.c-plan{background:rgba(255,255,255,.2);box-shadow:none}.menu-plan .ico.c-plan svg{stroke-width:2.6}
.menu-plan i{display:block;font-style:normal;font-size:12px;font-weight:600;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-riel .t-app.menu-plan.vence{background:#f59e0b;color:#1f1300;box-shadow:none}.t-riel .t-app.menu-plan.vence b{color:#1f1300}
.menu-plan.vence .ico.c-plan svg{stroke:#1f1300}
/* entrada al demo: elegir el tipo de negocio */
.caja.dm-caja{max-width:560px}
.dm-lista{display:flex;flex-direction:column;gap:10px}
.dm-op{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1.5px solid var(--line);border-radius:16px;background:var(--card);color:var(--fg);text-decoration:none;transition:border-color .15s,box-shadow .15s}
a.dm-op:hover{border-color:var(--pri);box-shadow:0 0 0 1px var(--pri) inset}
.dm-op .ico{flex:none;width:48px;height:48px;border-radius:12px}.dm-op .ico svg{width:24px;height:24px}
.dm-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.dm-txt b{font:800 17px 'Nunito'}
.dm-txt b em{font:700 11.5px 'Nunito Sans';font-style:normal;background:var(--bg);color:var(--mut);border-radius:999px;padding:2px 8px;vertical-align:2px;margin-left:4px}
.dm-txt small{color:var(--mut);font-size:14px;line-height:1.4}
.dm-fl{flex:none;font-style:normal;font-size:26px;color:var(--pri)}
.dm-op.pronto{opacity:.6}
@media (max-width:560px){.caja.dm-caja{margin:20px 16px 40px;padding:22px 16px}}
/* soporte */
.sp-pag{max-width:680px;margin:20px auto 56px;padding:0 16px;display:flex;flex-direction:column;gap:16px}
.sp-volver{margin:0}.sp-volver a{color:var(--pri);font-weight:700;text-decoration:none}
.sp-hero{display:flex;align-items:center;gap:16px;padding:20px;border-radius:18px;background:linear-gradient(135deg,#6C4B8C,#8A63B0);color:#fff}
.sp-hero h1{margin:0 0 4px;font-size:24px;color:#fff}.sp-hero p{margin:0;line-height:1.5;opacity:.92}
.sp-ico{flex:none;width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.18);display:grid;place-items:center}
.sp-ico svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sp-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--sombra)}
.sp-card h1{font-size:22px;margin:0 0 6px}.sp-card h2{font-size:18px;margin:0 0 14px}.sp-card .sub{margin:0 0 6px;text-align:left}
.sp-form{display:flex;flex-direction:column;gap:14px}.sp-form label{display:flex;flex-direction:column;gap:2px;font-weight:700;font-size:14px}
.sp-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px 13px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);font:inherit;font-size:16px;line-height:1.5;resize:vertical;min-height:120px}
.sp-form input:focus,.sp-form textarea:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px var(--suave)}
.sp-tips{margin:14px 0 0;padding:12px 14px 12px 32px;border-radius:12px;background:var(--bg);color:var(--mut);font-size:13.5px;line-height:1.6}
.sp-lista{display:flex;flex-direction:column;gap:8px}
.sp-fila{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;color:var(--fg);text-decoration:none;background:var(--card)}
.sp-fila:hover{border-color:var(--pri)}.sp-fila-txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.sp-fila-txt b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-fila small{color:var(--mut)}
.sp-fila-ico{flex:none;width:10px;height:10px;border-radius:50%;background:var(--afg)}.sp-fila-ico.e-respondido{background:var(--tea)}.sp-fila-ico.e-cerrado{background:var(--line)}
.sp-est{font-style:normal;font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px;background:var(--bg);color:var(--mut);white-space:nowrap}
.sp-est.e-respondido{background:var(--tsuave);color:var(--tea)}.sp-est.e-abierto{background:var(--abg);color:var(--afg)}
.sp-nuevo{position:absolute;top:8px;right:8px;width:9px;height:9px;border-radius:50%;background:var(--err)}
.sp-vacio{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px;color:var(--mut);text-align:center}.sp-vacio p{margin:0}
.sp-vacio svg{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--tsuave);fill:none;stroke:var(--tea);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sp-hilo{display:flex;flex-direction:column;gap:10px;margin:18px 0}
.sp-msj{max-width:88%;padding:10px 14px;border-radius:14px;background:var(--bg)}.sp-msj p{margin:4px 0 0;white-space:pre-wrap;line-height:1.5}.sp-msj small{color:var(--mut);font-size:12px;font-weight:700}
.sp-msj.yo{align-self:flex-end;background:var(--suave)}.sp-msj.fp{align-self:flex-start;border:1px solid var(--line);background:var(--card)}
.sp-cerrar{margin-top:12px;text-align:center}
@media (max-width:560px){.sp-hero{padding:16px;gap:12px}.sp-hero h1{font-size:20px}.sp-ico{width:46px;height:46px}.sp-card{padding:16px}}
/* campanita de novedades (junto al menú de la cuenta) */
.campana{position:relative;flex:none}.campana summary{list-style:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:rgba(255,255,255,.14);color:#fff;cursor:pointer;position:relative;touch-action:manipulation}
.campana summary::-webkit-details-marker{display:none}.campana summary svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cp-n{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#E5484D;color:#fff;font:800 11px/18px 'Nunito Sans',sans-serif;text-align:center;box-shadow:0 0 0 2px var(--barra,#6C4B8C)}
.cp-lista{position:absolute;right:-50px;top:calc(100% + 8px);width:330px;max-height:70vh;overflow-y:auto;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sombra);padding:6px;z-index:71}
.cp-tit{margin:0;padding:8px 10px 6px;font:800 15px 'Nunito'}
.cp-item{display:flex;flex-direction:column;gap:3px;padding:10px;border-radius:10px;color:var(--fg);text-decoration:none;position:relative}
a.cp-item:hover{background:var(--suave)}.cp-item b{font-size:14.5px;line-height:1.3}.cp-item span{color:var(--mut);font-size:13.5px;line-height:1.45;white-space:pre-line}.cp-item small{color:var(--mut);font-size:12px}.cp-item u{color:var(--pri);font-weight:700}
.cp-item.nuevo{background:var(--suave)}.cp-item.nuevo b::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#E5484D;margin-right:6px;vertical-align:2px}
.cp-item.sop b{color:var(--tea)}
.cp-vacio{margin:0;padding:10px;color:var(--mut);font-size:14px}
.cp-pie{display:block;margin-top:4px;padding:10px;border-top:1px solid var(--line);color:var(--pri);font-weight:800;font-size:14px;text-decoration:none;text-align:center}
@media (max-width:600px){.cp-lista{position:fixed;left:12px;right:12px;top:64px;width:auto}}
nav .cp-lista a.cp-item,nav .cp-lista a.cp-item:not(.btn){display:flex!important}nav .cp-lista a.cp-pie{display:block!important}  /* igual que el menú de la cuenta: la barra del teléfono no los esconde */
nav .cp-lista a.cp-pie{color:var(--pri)!important}
/* novedades: la guía de cada una (pasos y capturas) */
.nv-pag{max-width:760px;margin:20px auto 56px;padding:0 16px;display:flex;flex-direction:column;gap:16px}
.nv-hero{padding:22px;border-radius:18px;background:linear-gradient(135deg,#6C4B8C,#8A63B0);color:#fff}
.nv-hero small{font-weight:800;opacity:.85;text-transform:uppercase;letter-spacing:.04em;font-size:12px}.nv-hero h1{margin:6px 0 8px;font-size:26px;color:#fff;line-height:1.2}.nv-hero p{margin:0;line-height:1.6;opacity:.95}
.nv-btn{margin-top:16px;background:#fff!important;color:var(--pri)!important;border-color:#fff!important}
.nv-guia p{margin:0 0 12px;line-height:1.65}.nv-pasos{margin:0 0 12px;padding-left:22px;line-height:1.65}.nv-pasos li{margin-bottom:6px}.nv-pasos li::marker{color:var(--pri);font-weight:800}
.nv-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.nv-foto{margin:0;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:8px}
.nv-foto img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:var(--bg)}
.nv-foto figcaption{font-size:14px;line-height:1.45;color:var(--fg);display:flex;gap:8px;align-items:flex-start}
.nv-foto figcaption b{flex:none;width:24px;height:24px;border-radius:50%;background:var(--pri);color:#fff;display:grid;place-items:center;font-size:13px}
.nv-fin{text-align:center;margin:8px 0 0}
.nv-tit{margin:0}.nv-lista{display:flex;flex-direction:column;gap:10px}
.nv-fila{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--fg);text-decoration:none}
.nv-fila:hover{border-color:var(--pri)}.nv-fila img{flex:none;width:84px;height:84px;object-fit:cover;object-position:top;border-radius:12px;border:1px solid var(--line)}
.nv-fila span{display:flex;flex-direction:column;gap:3px;min-width:0}.nv-fila small{color:var(--mut);font-size:12px}.nv-fila em{font-style:normal;color:var(--mut);font-size:14px;line-height:1.45}.nv-fila u{color:var(--pri);font-weight:800;font-size:14px;text-decoration:none}
@media (max-width:560px){.nv-hero h1{font-size:22px}.nv-fotos{grid-template-columns:minmax(0,1fr)}}
.cp-vacio b{display:block;color:var(--fg);font-size:15px;margin-bottom:2px}
/* Confirma tu correo (registro) */
.confirma .confirma-ico{color:var(--pri);margin:4px auto 6px;display:block}
.confirma .confirma-nota{font-size:14px;color:var(--mut);margin:10px 0}
.confirma form{margin:18px 0 6px}.confirma .aviso,.confirma .aviso-ok{margin:8px 0}
/* Registro: tipo de negocio (tienda o complemento) */
.negocio{border:0;padding:0;margin:0 0 14px;min-width:0}.negocio legend{font-weight:700;font-size:14px;margin-bottom:8px;padding:0}
.neg-op{display:flex!important;align-items:center;gap:12px;padding:10px 12px;margin:0 0 8px!important;border:1.5px solid var(--line);border-radius:14px;background:var(--card);cursor:pointer;font-weight:400}
.neg-op:has(input:checked){border-color:var(--pri);box-shadow:0 0 0 1px var(--pri) inset}
.neg-op input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--pri)}
.neg-op .ico{flex:none;width:40px;height:40px;border-radius:10px;box-shadow:none}.neg-op .ico svg{width:20px;height:20px}
.neg-txt{display:flex;flex-direction:column;gap:2px;min-width:0}.neg-txt b{font-size:15px}.neg-txt small{color:var(--mut);font-size:13px;line-height:1.35}
.neg-nota{display:block;color:var(--mut);font-size:13px}
/* Centro de ayuda (/ayuda) */
.ay{max-width:980px;padding:32px 16px 64px}.ay-cab{text-align:center;margin-bottom:26px}.ay-cab h1{margin:0 0 6px}.ay-cab p{color:var(--mut);margin:0 0 18px}
.ay-buscar{width:100%;max-width:620px;font:inherit;font-size:17px;padding:14px 18px;border:2px solid var(--line);border-radius:14px;background:var(--card,#fff);color:inherit}.ay-buscar:focus{outline:0;border-color:var(--pri)}
.ay-grupo{margin:28px 0 0}.ay-grupo h2{font-size:19px;margin:0 0 10px}
.ay-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}
.ay-tarj{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card,#fff);color:inherit;text-decoration:none}.ay-tarj:hover{border-color:var(--pri)}
.ay-tarj b{display:block;font-size:15.5px}.ay-tarj small{display:block;color:var(--mut);font-size:13.5px;margin-top:3px;line-height:1.45}
.ay-vacio{text-align:center;color:var(--mut)}
.ay-soporte{margin:40px auto 0;max-width:520px;text-align:center;padding:22px;border-radius:18px;background:var(--suave,#f3effa)}.ay-soporte b{font-size:17px}.ay-soporte p{margin:4px 0 14px;color:var(--mut)}
.ay-art{max-width:780px}.ay-migas{font-size:14px;color:var(--mut);margin-bottom:10px}.ay-migas a{color:var(--pri)}
.ay-art h1{margin:0 0 6px;line-height:1.2}.ay-resumen{color:var(--mut);font-size:17px;margin:0 0 18px}
.ay-texto{line-height:1.7;font-size:16px}.ay-texto h2{font-size:20px;margin:28px 0 6px}.ay-texto h3{font-size:17px;margin:20px 0 4px}.ay-texto ul,.ay-texto ol{padding-left:22px}.ay-texto li{margin:4px 0}
.ay-nota{margin:14px 0;padding:12px 14px;border-radius:12px;background:var(--suave,#f3effa);border-left:4px solid var(--pri)}
.ay-faq{border:1px solid var(--line);border-radius:12px;margin:8px 0;background:var(--card,#fff)}.ay-faq summary{cursor:pointer;padding:13px 16px;font-weight:700;list-style-position:inside}.ay-faq>div{padding:0 16px 8px}
.ay-mas{margin-top:34px;border-top:1px solid var(--line);padding-top:16px}.ay-mas h2{font-size:17px;margin:0 0 8px}.ay-mas a{display:block;padding:6px 0;color:var(--pri)}
.bloq-ayuda{margin:4px 0 0}.bloq-ayuda a{color:var(--pri);font-weight:700}.sp-ayuda{margin-top:8px}.sp-ayuda a{font-weight:700}
.ay-img{margin:18px 0}.ay-img img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);box-shadow:var(--sombra)}.ay-img figcaption{font-size:13px;color:var(--mut);margin-top:6px;text-align:center}
.ini-ayuda-f{margin:0 auto 18px;max-width:620px}.ini-ayuda{text-align:left;margin:0 auto 22px}
/* ventanas: el título y la ✕ quedan fijos arriba al bajar */
.modal:not(.cobro):not(.listo) .hoja>.fila:first-child:not(.cabeza){position:sticky;top:-20px;z-index:4;background:var(--card);margin:-20px -22px 12px;padding:18px 22px 10px}
@media (max-width:760px){.modal:not(.cobro):not(.listo) .hoja>.fila:first-child:not(.cabeza){top:-10px;margin:-6px -16px 10px;padding:6px 16px 8px;box-shadow:0 -12px 0 var(--card)}}
/* menú de empresas: casillas para verlas juntas y las que se están creando */
.emp-ayuda{margin:0 10px 4px;font-size:12.5px;color:var(--mut)}
.emp-fila{display:flex;align-items:center;gap:2px}.emp-fila a{flex:1;min-width:0}
.emp-check{display:grid;place-items:center;width:34px;height:34px;flex:none;cursor:pointer;border-radius:8px}.emp-check:hover{background:var(--suave)}
.emp-check input{width:18px;height:18px;margin:0;accent-color:var(--pri);cursor:pointer}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.emp-creando{display:flex;align-items:center;gap:8px;padding:10px;color:var(--mut);font-weight:700}.emp-creando em{margin-left:auto;font-style:normal;font-size:12px;font-weight:600}
.giro-chico{width:14px;height:14px;border-radius:50%;border:2.5px solid var(--suave);border-top-color:var(--pri);animation:g 1s linear infinite;flex:none}
.emp-lista #verJuntas{margin-top:6px;justify-content:flex-start;gap:8px}
/* todas tus empresas: gráfico, lo más vendido e inventario juntos */
.juntas-dos{margin-top:22px}
.inv-juntas{margin:0 0 28px}.inv-juntas header small{color:var(--mut)}
.inv-j-form{display:flex;gap:8px;margin:12px 0}.inv-j-form input{margin:0;flex:1}.inv-j-form .btn{flex:none}
.inv-j-tabla{overflow-x:auto}.inv-j-tabla table{width:100%;border-collapse:collapse;font-size:14.5px}
.inv-j-tabla th,.inv-j-tabla td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.inv-j-tabla th{font-size:12.5px;color:var(--mut)}
.inv-j-tabla .num{text-align:right}.inv-j-tabla td.cero{color:var(--err)}
/* listas por páginas (paginas.js) */
.paginas{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:14px 16px;border-top:1px solid var(--line);font-size:14px;color:var(--mut);grid-column:1/-1}
.paginas label{display:flex;align-items:center;gap:6px;margin:0;font-weight:600}.paginas select{width:auto;margin:0;padding:6px 28px 6px 10px;font-size:14px}
.paginas .pag-txt{font-weight:600}.pag-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.pag-nav button{min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);font:inherit;font-weight:700;cursor:pointer}
.pag-nav button.on{background:var(--pri);border-color:var(--pri);color:var(--prifg)}.pag-nav button:disabled{opacity:.4;cursor:default}.pag-nav button:not(:disabled):not(.on):hover{border-color:var(--pri);color:var(--pri)}
.pag-sep{padding:0 2px}
@media (max-width:600px){.pag-nav{margin-left:0;width:100%;justify-content:center}}
/* Menú lateral (opción B, computadora): riel oscuro con las áreas + columna blanca con las páginas del área */
.m-riel{display:none}.m-panel{display:contents}
@media (min-width:981px){
 .con-menu{grid-template-columns:76px minmax(0,1fr)}.menu-abierto .con-menu{grid-template-columns:286px minmax(0,1fr)}
 .tablero.vista-riel{grid-template-columns:76px minmax(0,1fr)}.menu-abierto .tablero.vista-riel{grid-template-columns:286px minmax(0,1fr)}
 .menu-lat.t-riel{flex-direction:row!important;padding:0!important;overflow:hidden!important;gap:0;background:var(--card)}
 .m-riel{display:flex;flex-direction:column;align-items:stretch;gap:2px;flex:0 0 76px;width:76px;box-sizing:border-box;background:#1F1830;padding:10px 6px;overflow-y:auto;scrollbar-width:none}
 .m-riel::-webkit-scrollbar{display:none}
 .m-area{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border:0;border-radius:11px;background:none;color:#D0C7E4;font:700 11.5px/1.15 'Nunito Sans',sans-serif;text-align:center;text-decoration:none;cursor:pointer;width:100%}
 .m-area svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .m-area:hover{background:rgba(255,255,255,.07);color:#fff}
 .m-area.on{background:rgba(166,139,224,.26);color:#fff;font-weight:800}
 .m-area:focus-visible{outline:2px solid #F6C344;outline-offset:-2px}
 .m-riel .m-sep{flex:none;height:1px;margin:6px 10px;background:rgba(255,255,255,.12)}
 .m-panel{display:none;flex:1 1 auto;min-width:0;flex-direction:column;padding:12px 10px 14px;overflow-y:auto;border-right:1px solid var(--line)}
 .menu-abierto .m-panel{display:flex}
 .m-panel .t-riel-btn{order:-2;align-self:flex-end;width:auto;height:28px;padding:0 10px;margin:0 0 4px;font-size:12px;background:none;color:var(--mut)}
 .m-panel .t-suc{order:-1}
 .m-panel .t-grupo[data-area]{display:none!important}
 .m-panel .t-grupo.m-ver{display:flex!important;border-top:0!important;padding:0!important;gap:1px!important}
 .m-panel .t-grupo.m-ver>.t-grupo-tit{display:block!important;font:800 16.5px/1.25 'Nunito';color:var(--fg);text-transform:none;letter-spacing:0;padding:2px 10px 10px!important}
 .m-panel .t-app{padding:7px 10px!important;border-radius:9px;gap:0!important}
 .m-panel .t-app .ico{display:none!important}
 .m-panel .t-app b{font-size:14px;font-weight:600;color:var(--fg)}
 .m-panel .t-app:hover{background:var(--suave)!important}
 .m-panel .t-app.activa{background:var(--suave)!important}.m-panel .t-app.activa b{color:var(--pri)!important;font-weight:800}
 .m-panel .t-plan{order:50;margin-top:14px;border-top:0!important}.m-panel .t-cuenta{order:60;margin-top:0}
 .m-panel .t-cuenta .t-grupo-tit{display:block!important}
 .m-panel .t-app.menu-plan{background:#FFF4D6!important;padding:8px 10px!important}.m-panel .t-app.menu-plan b{color:#7A4A00!important;font-size:13px;font-weight:800}.m-panel .t-app.menu-plan i{display:none}
 .m-panel .t-cuenta{border-top:1px solid var(--line)!important;padding-top:6px!important}
 a.m-area,button.m-area{color:#D0C7E4!important;opacity:1!important;filter:none!important;font-size:11.5px!important;font-weight:700}a.m-area.on{font-weight:800}
 .m-riel{padding-bottom:18px!important}.m-area{flex:none}a.m-area:hover,.m-area.on{color:#fff!important}
}
@media (min-width:981px) and (max-width:1199px) and (orientation:portrait){.menu-abierto .tablero.vista-riel,.menu-abierto .con-menu{grid-template-columns:76px minmax(0,1fr)}.menu-abierto #riel{width:286px}}
@media (min-width:981px) and (max-width:1240px){.menu-abierto body.pos #riel{width:286px}}
@media (min-width:981px){
 .aj-en-menu .aj-layout{grid-template-columns:minmax(0,1fr)!important}
 .m-panel .m-aj .aj-menu{position:static!important;display:flex!important;flex-direction:column;gap:1px;padding:0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;overflow:visible}
 .m-panel .m-aj .aj-menu{align-items:stretch!important;text-align:left}
 .m-panel .m-aj .aj-menu a{display:flex!important;justify-content:flex-start!important;width:100%;box-sizing:border-box;text-align:left;border:0!important;padding:7px 10px!important;border-radius:9px!important;font-size:14px;font-weight:600;color:var(--fg);background:none;box-shadow:none!important;gap:0}
 .m-panel .m-aj .aj-grupo{text-align:left!important}
 .m-panel .m-aj .aj-menu a svg{display:none}
 .m-panel .m-aj .aj-menu a:hover{background:var(--suave)}
 .m-panel .m-aj .aj-menu a.on{background:var(--suave)!important;color:var(--pri)!important;font-weight:800}
 .m-panel .m-aj .aj-grupo{margin:10px 0 2px;padding:0 10px;font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--mut)}
}
@media (min-width:981px){
 .m-panel{scrollbar-width:thin;scrollbar-color:transparent transparent}.m-panel:hover{scrollbar-color:var(--line) transparent}
 .m-panel .m-aj .aj-grupo{display:flex;align-items:center;gap:8px;margin:14px 0 4px!important;padding:12px 10px 0!important;border-top:1px solid var(--line);font-size:11.5px!important;font-weight:800!important;letter-spacing:.06em;color:var(--pri)!important}
 .m-panel .m-aj .aj-grupo:first-of-type{margin-top:4px!important;padding-top:0!important;border-top:0}
 .m-panel .m-aj .aj-grupo::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}
 .m-panel .m-aj .aj-menu a{padding-left:24px!important}
}
.caja-config:has(>label>input[name=modo_precio]){display:flex;flex-direction:column;align-items:flex-start;gap:8px}
/* ===== Menú por módulos (como Odoo): Inicio con cuadritos; dentro de un módulo, menú lateral solo de ese módulo ===== */
.mm-cab{display:flex;align-items:center;gap:10px;padding:2px 8px 12px;font:800 16px 'Nunito',sans-serif}
.mm-cab .ico{width:34px;height:34px;border-radius:10px;box-shadow:none}.mm-cab .ico svg{width:19px;height:19px}
.mm-pags{display:flex;flex-direction:column;gap:2px}
.mm-op{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;color:var(--fg);text-decoration:none;font-weight:600;font-size:14.5px}
.mm-op svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--mut);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.mm-op:hover{background:var(--suave)}
.mm-op.activa{background:var(--suave);color:var(--pri);font-weight:800}.mm-op.activa svg{stroke:var(--pri)}
.mm-adm{margin-top:auto;border-top:1px solid var(--line);padding-top:8px;display:flex;flex-direction:column;gap:2px}
.mm-adm small{margin:0 10px 4px;color:var(--mut);font-size:11.5px;font-weight:700}
.mm-apps{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;cursor:pointer;padding:0}
.mm-apps svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.mm-apps:hover,.mm-apps[aria-expanded=true]{background:rgba(255,255,255,.24)}
.mm-hamb{display:none}
.mm-lanz{position:fixed;left:max(12px,env(safe-area-inset-left));top:calc(70px + env(safe-area-inset-top));z-index:90;width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 90px);overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 44px rgba(20,14,35,.22);padding:12px}
.mm-lanz[hidden]{display:none}
.mm-cuadro{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 4px;border-radius:12px;text-decoration:none;color:var(--fg);text-align:center;min-width:0}
.mm-cuadro:hover,.mm-cuadro.on{background:var(--suave)}
.mm-cuadro .ico{width:52px;height:52px;border-radius:12px;box-shadow:0 2px 6px rgba(20,14,35,.16)}.mm-cuadro .ico svg{width:24px;height:24px}
.mm-cuadro b{font-weight:600;font-size:12.5px;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mm-cuadro:hover{transform:none}
/* Inicio: los cuadritos, chicos y sin tarjeta, como Odoo */
.app-home .t-hero.mm-hero{max-width:820px;width:100%;margin:0 auto;display:block}
.mm-cuadros{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:18px 8px;max-width:820px;width:100%;margin:6px auto 30px}
.mm-cuadros .mm-cuadro .ico{width:60px;height:60px;border-radius:13px}.mm-cuadros .mm-cuadro .ico svg{width:28px;height:28px}
.mm-cuadros .mm-cuadro b{font-size:13px}
.menu-lat.sin-modulo{display:none!important}
body:has(#riel.sin-modulo) .hamb,body:has(#riel.sin-modulo) .mm-hamb{display:none!important}
@media (min-width:981px){
 .con-menu,.menu-abierto .con-menu{grid-template-columns:240px minmax(0,1fr)}
 .tablero.vista-riel,.menu-abierto .tablero.vista-riel{grid-template-columns:240px minmax(0,1fr)}
 .con-menu:has(>#riel.sin-modulo),.tablero.vista-riel:has(>#riel.sin-modulo){grid-template-columns:minmax(0,1fr)!important}
 .menu-lat.menu-mod{align-items:stretch!important;text-align:left}
 .menu-mod .mm-op{justify-content:flex-start!important;width:100%;margin:0!important}
 .menu-lat.menu-mod{display:flex;flex-direction:column;gap:2px;background:var(--card);border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none;padding:16px 10px 18px;overflow-y:auto}
 .menu-mod .menu-cab{display:none}
 .menu-mod .t-suc{margin:0 4px 10px}
}
@media (max-width:980px){
 .mm-hamb{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;padding:0}
 .mm-hamb svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
 .menu-mod .mm-cab{padding-top:6px}
 .menu-mod .mm-op{padding:11px 10px;font-size:15.5px}
 .mm-apps{width:38px;height:38px}
}
@media (max-width:600px){
 .mm-cuadros{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 2px}
 .mm-cuadros .mm-cuadro .ico{width:52px;height:52px;border-radius:12px}.mm-cuadros .mm-cuadro .ico svg{width:24px;height:24px}
 .mm-cuadros .mm-cuadro b{font-size:11.5px}
 .mm-lanz{grid-template-columns:repeat(3,minmax(0,1fr));top:calc(60px + env(safe-area-inset-top))}
}
/* Ajustes: las secciones están en el menú lateral del módulo; la página queda solo con el contenido */
body:has(#riel.menu-mod:not(.sin-modulo)) .aj-layout{grid-template-columns:minmax(0,1fr)!important}
body:has(#riel.menu-mod:not(.sin-modulo)) .aj-layout>.aj-menu{display:none!important}
/* Inventario: las herramientas ya están en el menú del módulo */
body:has(#riel.menu-mod:not(.sin-modulo)) .inv-herr,body:has(#riel.menu-mod:not(.sin-modulo)) .movil-btns{display:none!important}
.mm-op{justify-content:flex-start}
@media (min-width:981px){.tablero.vista-riel>.menu-lat{grid-column:1;grid-row:1/span 20}.tablero.vista-riel>:not(.menu-lat){grid-column:2}
 .tablero.vista-riel:has(>#riel.sin-modulo)>*{grid-column:1!important}
 .app-home .tablero.vista-riel:has(>#riel.sin-modulo){max-width:1180px;margin:0 auto;padding:0 16px}}
@media (max-width:980px){.menu-mod .menu-cab b{visibility:hidden}}
/* botones de acción de un documento (factura, orden, cliente…): todos del mismo tamaño; en el celular, dos por fila parejos */
.c-botones>.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center;line-height:1.2}
@media (max-width:820px){
 .c-botones{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}
 .c-botones>.btn{width:100%;min-height:62px;height:100%;margin:0;padding:8px 10px}
 .c-botones>.enlace{grid-column:1/-1;margin:0}
}
/* menú de empresas: X para cerrar y fondo oscuro; tocar el fondo lo cierra (el fondo es parte del summary) */
.emp-cab{display:flex;align-items:center;justify-content:space-between;gap:8px}
.emp-x{width:34px;height:34px;border-radius:50%;border:0;background:var(--bg);color:var(--fg);font-size:21px;line-height:1;cursor:pointer;flex:none}
.emp-x:hover{background:var(--suave);color:var(--pri)}
details.emp-menu[open]>summary::before{content:"";position:fixed;inset:0;z-index:19;background:rgba(20,16,30,.3);cursor:default}
/* botón ✨ IA de la barra (FlexoPOS IA, solo ambiente de prueba por ahora) */
.ia-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:99px;background:linear-gradient(135deg,#F6C344,#FFB86B);color:#3b2a00!important;font-weight:800;font-size:.85rem;text-decoration:none;white-space:nowrap}
.ia-btn:hover{filter:brightness(1.05)}
@media (max-width:760px){.ia-btn .ia-btn-txt{display:none}}
input[data-clave]:not(.clave-ver){-webkit-text-security:disc}
