/* ===== Configura tu PC · estilos v4: un solo color de marca sobre superficies neutras ===== */
/* tokens */
:root{--grad:linear-gradient(120deg,#1f6bff,#ff1fd1);--bg:#f4f6f9;--card:#fff;--sub:#eff2f6;--ink:#0f172a;--mute:#566173;--line:#dfe4ec;--line2:#c3ccd8;--acc:#1d4ed8;--ok:#eaf0ff;--btn:#1d4ed8;--btnh:#1a43ba;
--hot:#b93a0e;--hotb:#fdeee7;--bad:#b42318;--badb:#fdecea;--good:#1b5e20;--goodb:#e6f4ea;--rec:#d98a2b;--odoo:#714b67;--recb:#b45309;
--sh1:0 1px 2px rgba(15,23,42,.06);--sh2:0 8px 20px -6px rgba(15,23,42,.14);--pop:0 16px 40px -8px rgba(15,23,42,.22),0 0 0 1px var(--line);
--i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.4l3 3 6-6.8'/%3E%3C/svg%3E");
--i-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
--i-chip:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Crect x='7' y='7' width='10' height='10' rx='1.5'/%3E%3Cpath d='M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4'/%3E%3C/svg%3E");
color-scheme:light;accent-color:var(--btn);scrollbar-color:var(--line2) transparent;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#0c1016;--card:#151a22;--sub:#1c222c;--ink:#e7ecf3;--mute:#96a2b4;--line:#262e3a;--line2:#3a4555;--acc:#8ab0ff;--ok:#172440;--btn:#2f62e0;--btnh:#3d70ee;
--hot:#ff8a5c;--hotb:#3a1f15;--bad:#ffb4b4;--badb:#3a1a1a;--good:#b9f0cf;--goodb:#17352a;--rec:#c98a3a;--odoo:#d4a8c9;
--sh1:0 1px 2px rgba(0,0,0,.4);--sh2:0 8px 20px -6px rgba(0,0,0,.55);--pop:0 16px 40px -8px rgba(0,0,0,.6),0 0 0 1px var(--line2)}}
:root[data-theme="dark"]{color-scheme:dark;--bg:#0c1016;--card:#151a22;--sub:#1c222c;--ink:#e7ecf3;--mute:#96a2b4;--line:#262e3a;--line2:#3a4555;--acc:#8ab0ff;--ok:#172440;--btn:#2f62e0;--btnh:#3d70ee;
--hot:#ff8a5c;--hotb:#3a1f15;--bad:#ffb4b4;--badb:#3a1a1a;--good:#b9f0cf;--goodb:#17352a;--rec:#c98a3a;--odoo:#d4a8c9;
--sh1:0 1px 2px rgba(0,0,0,.4);--sh2:0 8px 20px -6px rgba(0,0,0,.55);--pop:0 16px 40px -8px rgba(0,0,0,.6),0 0 0 1px var(--line2)}
/* base */
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.5;overflow-x:clip;caret-color:var(--acc);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.neb{background:radial-gradient(60vw 55vh at 10% 0%,color-mix(in srgb,#2563eb 34%,transparent),transparent 70%),radial-gradient(55vw 55vh at 95% 15%,color-mix(in srgb,#d946ef 28%,transparent),transparent 70%),radial-gradient(70vw 60vh at 65% 100%,color-mix(in srgb,#7c3aed 30%,transparent),transparent 70%),radial-gradient(50vw 45vh at 0% 90%,color-mix(in srgb,#db2777 22%,transparent),transparent 70%),var(--bg) fixed}
::selection{background:var(--btn);color:#fff}
h1,h2,h3{text-wrap:balance}
button,input,select,textarea{font:inherit}
ul,ol{list-style:none;padding:0;margin:0}
:where(button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--acc);outline-offset:2px}
::placeholder{color:var(--mute);opacity:1}
/* encabezado */
header{position:relative;max-width:1120px;margin:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding:14px 20px}
header::before{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--card);border-bottom:1px solid var(--line)}
h1{display:flex;align-items:center;gap:10px;margin:0;font-size:1.125rem;font-weight:700;letter-spacing:-.015em;line-height:1.25}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.logo{flex:none;height:40px;width:auto;overflow:visible}.logo text{fill:var(--ink);font-size:60px;font-weight:500;letter-spacing:-2px}
.logo .lr{transform-box:fill-box;transform-origin:50% 50%;animation:lgr 5s calc(var(--k,0)*.2s) ease-in-out infinite}@keyframes lgr{0%,100%{transform:none;filter:none}10%{transform:translateY(-8px) rotate(-8deg);filter:drop-shadow(0 0 6px var(--gc)) drop-shadow(0 0 16px var(--gc))}26%{transform:none;filter:none}}
.logo .lt text{animation:lgl 5s ease-in-out infinite}.logo .lt text+text{animation-delay:.25s}@keyframes lgl{0%,42%,100%{fill:var(--ink)}12%{fill:#1f6bff}26%{fill:#ff1fd1}}
.brand h1{padding-left:14px;border-left:1px solid var(--line)}
header p{order:3;flex-basis:100%;margin:0;color:var(--mute);font-size:.875rem}
/* pestañas */
.tabs{display:flex;flex-wrap:wrap;gap:4px;margin-top:14px}
header .tabs{order:1;margin:0 0 0 auto}
.ux{order:2;display:flex;gap:6px}.ux button{--f:var(--card);display:grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border:1.5px solid transparent;border-radius:8px;background:linear-gradient(var(--f),var(--f)) padding-box,var(--grad) border-box;color:var(--ink);font-size:.8125rem;font-weight:700;cursor:pointer}.ux button:hover{--f:var(--sub)}.ux svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tabs button{font-weight:600;font-size:.875rem;line-height:1.25rem;padding:8px 14px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--mute);cursor:pointer;white-space:nowrap;transition:background-color .15s,color .15s}
.tabs button:hover{color:var(--ink);background:var(--sub)}
.tabs .on,.tabs .on:hover{--f:var(--ok);background:linear-gradient(var(--f),var(--f)) padding-box,var(--grad) border-box;color:var(--acc)}
/* título de página */
.adm{max-width:1120px;margin:auto;padding:28px 20px 64px}
.rh{margin-bottom:4px}
.rh h2{margin:0 0 6px;font-size:clamp(1.5rem,1.1rem + 1.6vw,2rem);font-weight:700;letter-spacing:-.025em;line-height:1.15}
.rh p{margin:0;max-width:62ch;color:var(--mute)}.rh p b{color:var(--ink);font-weight:600}
#shh .rh h2{font-size:clamp(1.3125rem,1rem + 1.3vw,1.75rem)}#shh .rh p{font-size:.9375rem}
.gh{margin:0 0 16px;font-size:1.25rem;font-weight:700;letter-spacing:-.015em;line-height:1.25}
.note{margin:8px 0 0;font-size:.8125rem;line-height:1.5;color:var(--mute)}.note b{color:var(--ink)}
/* pasos */
.ft{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;max-width:1120px;margin:0 auto;padding:0 20px 14px;font-size:.75rem;color:var(--mute)}
.stp{max-width:1120px;margin:auto;padding:24px 20px 4px;overflow-x:auto;scrollbar-width:none}
#steps{display:flex;min-width:max-content}
#steps li{flex:1;min-width:88px;position:relative}
#steps li:not(:last-child)::after{content:'';position:absolute;top:14px;left:calc(50% + 21px);right:calc(-50% + 21px);height:2px;border-radius:1px;background:var(--line);transition:background-color .3s}
#steps li.dn::after{background:var(--grad)}
#steps button{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:0 4px 6px;background:none;border:0;border-radius:8px;font-size:.75rem;font-weight:500;line-height:1.3;color:var(--mute);cursor:pointer}
#steps button:disabled{cursor:not-allowed}
#steps button:not(:disabled):hover{color:var(--ink)}
#steps i{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;--f:var(--card);border:1.5px solid transparent;background:linear-gradient(var(--f),var(--f)) padding-box,var(--grad) border-box;color:var(--mute);font-style:normal;font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;overflow:hidden;transition:background-color .2s,border-color .2s,color .2s;animation:stb 5s calc(var(--k,0)*.18s) ease-in-out infinite}
#steps i::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(115deg,transparent 35%,rgb(255 255 255/.35) 50%,transparent 65%);transform:translateX(-110%);pointer-events:none;animation:sts 5s calc(var(--k,0)*.18s) cubic-bezier(.45,0,.55,1) infinite}
@keyframes stb{0%,100%{transform:none}10%{transform:translateY(-3px)}22%{transform:none}}@keyframes sts{0%,10%{transform:translateX(-110%)}40%,100%{transform:translateX(110%)}}
#steps button:disabled i{--f:var(--bg)}
#steps .cur{color:var(--ink);font-weight:600}#steps .cur i{--f:var(--btn);color:#fff}
#steps .done i{--f:var(--ok);color:var(--acc);font-size:0}
#steps .done i::before{content:'';position:absolute;inset:0;margin:auto;width:14px;height:14px;background:currentColor;-webkit-mask:var(--i-check) center/contain no-repeat;mask:var(--i-check) center/contain no-repeat}
/* tienda: columnas */
.wrap{max-width:1120px;margin:auto;padding:20px 20px 48px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
/* categorías */
section.cat{margin-bottom:28px}
section.cat h2{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;font-size:1.25rem;font-weight:700;letter-spacing:-.015em;line-height:1.25}
.gh~section.cat h2{font-size:1rem;font-weight:600;letter-spacing:-.005em}
.hn{display:flex;align-items:center;gap:10px}.sn{display:none}
section.cat h2 span{flex:none;padding:1px 10px;border-radius:99px;background:var(--sub);color:var(--mute);font-size:.75rem;font-weight:600;letter-spacing:0;line-height:1.25rem;white-space:nowrap}
section.cat h2 span:empty{display:none}
section.cat[data-c=ens] h2{flex-direction:column;align-items:flex-start;gap:8px}
section.cat:has([aria-pressed=true]) h2 span{background:var(--ok);color:var(--acc)}
/* categorías plegables (Adicionales) */
section.cat:has(>.tg2){margin:0;border-top:1px solid var(--line)}
section.cat:has(>.tg2):last-of-type{margin-bottom:24px;border-bottom:1px solid var(--line)}
section.cat h2.tg2{margin:0;padding:16px 2px;border-radius:8px;cursor:pointer;user-select:none}
.tg2:hover .hn{color:var(--acc)}.tg2 span{margin-left:auto}
.chev{flex:none;width:20px;height:20px;font-size:0;background:var(--mute);-webkit-mask:var(--i-chev) center/16px no-repeat;mask:var(--i-chev) center/16px no-repeat;transition:transform .2s}
.col .chev{transform:rotate(-90deg)}.col .opts,.col>.note{display:none}
section.cat:has(>.tg2) .opts{padding:2px 0 20px}
/* opciones */
.cpf{position:relative;display:inline-block;margin:-4px 0 12px;font-size:.8125rem}.cpf summary{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 8px 4px 12px;border:1px solid var(--line2);border-radius:8px;background:var(--card);color:var(--ink);font-weight:500;list-style:none;cursor:pointer;user-select:none;transition:border-color .15s}.cpf summary::-webkit-details-marker{display:none}.cpf summary:hover,.cpf[open] summary{border-color:var(--mute)}.cpf summary b{min-width:20px;padding:0 6px;border-radius:99px;background:var(--ok);color:var(--acc);font-size:.75rem;line-height:1.25rem;text-align:center}.cpf summary i{width:16px;height:16px;background:var(--mute);-webkit-mask:var(--i-chev) center/14px no-repeat;mask:var(--i-chev) center/14px no-repeat;transition:transform .2s}.cpf[open] summary i{transform:rotate(180deg)}
.cpm{position:absolute;z-index:5;top:calc(100% + 4px);left:0;min-width:100%;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--card);box-shadow:0 8px 24px rgb(0 0 0/.14)}.cpm label{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border-radius:6px;color:var(--ink);white-space:nowrap;cursor:pointer}.cpm label:hover{background:var(--sub)}.cpm input{width:16px;height:16px;margin:0;accent-color:var(--acc);cursor:pointer}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.opt{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 12px 14px;text-align:left;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s}
.opt:hover:not([disabled]){border-color:var(--line2);box-shadow:var(--sh2)}
.opt:active:not([disabled]){box-shadow:var(--sh1)}
.im{display:flex;align-items:center;justify-content:center;height:92px;margin-bottom:10px;padding:8px;border-radius:8px;background:var(--sub);overflow:hidden}
.im svg{height:100%;width:auto}.im img{height:100%;width:auto;max-width:100%;object-fit:contain}
.opt b{font-weight:600;font-size:.9375rem;line-height:1.3}
.opt small{font-size:.8125rem;line-height:1.4;color:var(--mute)}
.opt .p{margin-top:auto;padding-top:10px;font-weight:700;font-size:1rem;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.opt .p small{font-weight:500;letter-spacing:0}
section.cat[data-c=tech] .opts{display:flex;flex-wrap:wrap;justify-content:center}section.cat[data-c=tech] .opt{flex:1 1 200px;max-width:300px}section.cat[data-c=tech] .im{width:100%;max-width:none;height:auto;aspect-ratio:2/1;margin:0;padding:0;background:none;border-radius:8px}
.opt.ctr{align-items:center;justify-content:center;padding:6px;text-align:center}
.opt[aria-pressed=true]{background:var(--ok);border-color:var(--btn);box-shadow:inset 0 0 0 1px var(--btn)}
.opt[aria-pressed=true] .im{background:var(--card)}.im:has(img),.opt:not(.ctr)[aria-pressed=true] .im:has(img){background:#fff}
.opt.fx{cursor:default}
section.cat:not([data-c=tech]):not([data-c=ens]) .opt[aria-pressed=true]{overflow:hidden;animation:stb 5s ease-in-out infinite}section.cat:not([data-c=tech]):not([data-c=ens]) .opt[aria-pressed=true]::before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,rgb(255 255 255/.22) 50%,transparent 65%);transform:translateX(-110%);pointer-events:none;animation:sts 5s cubic-bezier(.45,0,.55,1) infinite}
.lgo .lg-a{transform-box:fill-box;animation:lga 4s cubic-bezier(.16,1,.3,1) infinite}@keyframes lga{0%{transform:translate(-45%,45%);opacity:0}22%,100%{transform:none;opacity:1}}
.lgo .lg-s{animation:lgs 4s ease-in-out infinite}@keyframes lgs{0%,30%{transform:translateX(-10px)}70%,100%{transform:translateX(150px)}}
.lgo .lg-d{transform-box:fill-box;animation:lgd 4s infinite}@keyframes lgd{0%{transform:translateY(-18px);opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.45)}14%{transform:none;opacity:1;animation-timing-function:ease-out}20%{transform:translateY(-5px)}26%,100%{transform:none;opacity:1}}
.lgo .lg-t{animation:lgt 4s ease-out infinite}@keyframes lgt{0%,8%{opacity:.35}24%,100%{opacity:1}}
.opt[aria-pressed=true]::after{content:'';position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--i-check) center/12px no-repeat,var(--btn)}
.opt[disabled]{background:var(--sub);border-style:dashed;cursor:not-allowed}
.opt[disabled] .im,.opt[disabled] b,.opt[disabled] .p{opacity:.45}.opt[disabled] small{color:var(--hot)}
.opt.rec{border-color:var(--rec)}.opt.rec:hover:not([disabled]){border-color:var(--recb)}.opt.rec[aria-pressed=true]{border-color:var(--btn)}
.opt.ago{border-style:solid;opacity:.7}.opt.ago .im{filter:grayscale(1)}.opt.ago small{color:var(--mute)}.opt.ago .rb{background:var(--hotb);color:var(--hot)}
.rb{position:absolute;top:8px;left:8px;z-index:1;padding:1px 8px;border-radius:6px;background:var(--recb);color:#fff;font-size:.6875rem;font-weight:600;letter-spacing:.01em;line-height:1.125rem}
.lgd{display:inline-block;width:12px;height:12px;margin-right:7px;border:2px solid var(--rec);border-radius:3px;vertical-align:-2px}
.qs{display:flex;align-items:center;gap:4px;margin-top:10px}
.qs button{width:36px;height:36px;border:1px solid var(--line2);border-radius:8px;background:var(--card);color:var(--ink);font-weight:600;line-height:1;cursor:pointer;transition:border-color .15s,background-color .15s}
.qs button:not(:disabled):hover{border-color:var(--mute);background:var(--sub)}.qs button:disabled{opacity:.4;cursor:not-allowed}
.qs span{min-width:32px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
/* botones */
.buy,.sec{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:8px 16px;border-radius:10px;font-weight:600;font-size:.9375rem;line-height:1.25;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.buy{--f:var(--btn);border:1.5px solid transparent;background:linear-gradient(var(--f),var(--f)) padding-box,var(--grad) border-box;color:#fff}
.buy:not(:disabled):hover{--f:var(--btnh)}a.buy{text-decoration:none}
.buy:disabled{background:var(--sub);border-color:var(--line);color:var(--mute);cursor:not-allowed}
.sec{--f:var(--card);margin-top:12px;border:1.5px solid transparent;background:linear-gradient(var(--f),var(--f)) padding-box,var(--grad) border-box;color:var(--ink)}
.sec:not(:disabled):hover{--f:var(--sub)}
.sec:disabled{background:transparent;border-color:var(--line);color:var(--mute);cursor:not-allowed}
.lk{padding:0;background:none;border:0;border-radius:4px;font-weight:600;color:var(--ink);text-align:inherit;cursor:pointer}.lk small{display:block;font-weight:400;color:var(--mute)}
.nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}
.nav.top{margin:0 0 24px}
.nav .sec,.nav .buy{width:auto;margin:0;padding-inline:20px}.nav .buy{flex:1;max-width:260px}
/* tu equipo */
aside{padding:20px;background:var(--card);border:1px solid var(--line);border-radius:16px}
@media(min-width:901px) and (min-height:900px){aside,.tw{position:sticky;top:16px}.tw aside{position:static}}
aside h3{margin:0 0 8px;font-size:1rem;font-weight:700;letter-spacing:-.01em}.tw{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.tw aside{align-self:stretch}
.cl{min-height:30px;padding:4px 12px;background:none;border:1px solid var(--line);border-radius:8px;font-size:.8125rem;font-weight:500;color:var(--mute);cursor:pointer;transition:border-color .15s,color .15s}.cl:hover{border-color:var(--line2);color:var(--ink)}
#list li,#plist li,.pc li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.875rem}
li em{font-style:normal;color:var(--mute);font-variant-numeric:tabular-nums;white-space:nowrap}
#list li:not(.empty) em,#plist em{color:var(--ink);font-weight:500}#plist small{color:var(--mute)}li.empty span{color:var(--mute)}
.bar{height:4px;margin:16px 0 0;border-radius:2px;background:var(--line);overflow:hidden}
.bar i{display:block;width:0;height:100%;border-radius:2px;background:var(--btn);transition:width .4s cubic-bezier(.16,1,.3,1)}
.tot{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 2px;font-size:1.75rem;font-weight:700;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.tot span:first-child{font-size:.9375rem;font-weight:600;letter-spacing:0;color:var(--mute)}
#addk{margin-top:16px}#addc{margin-top:8px}
/* carrito */
#cartp{padding-top:0}
.ctw{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:12px}
#cartp.flash .ctw{animation:cflash 1.2s ease-out}@keyframes cflash{from{border-color:var(--btn);background:var(--ok)}}
.ct{width:100%;min-width:520px;border-collapse:collapse;font-size:.875rem;font-variant-numeric:tabular-nums}
.ct th,.ct td{padding:10px 16px;border-bottom:1px solid var(--line);text-align:left}
.ct thead th{font-size:.75rem;font-weight:600;color:var(--mute)}
.ct th:first-child,.ct td:first-child{width:110px;text-align:center}.ct th:last-child,.ct td:last-child{width:170px;text-align:right}
.ct .eq th,.ct .eq td{background:var(--sub);font-weight:600}.ct .eq th{text-align:left}.ct .eq .lk{vertical-align:middle;margin-left:12px;color:var(--hot);font-size:.8125rem;font-weight:500}
.ct .eq .xt{display:inline-flex;align-items:center;gap:6px;margin-left:0;color:var(--ink);font-size:inherit;font-weight:600}.ct .eq .xt small{display:inline;margin-left:6px;font-size:.8125rem}.xt[aria-expanded=false] .chev{transform:rotate(-90deg)}
.ct tbody tr:not(.eq) td{padding-top:7px;padding-bottom:7px;font-size:.8125rem}
.ct tfoot td{padding-top:5px;padding-bottom:5px;border-bottom:0;font-weight:500}.ct tfoot td:first-child{width:auto;text-align:right;color:var(--mute)}
.ct tfoot tr:first-child td{padding-top:14px}
.ct tfoot .tt td{padding-bottom:16px;font-size:1.125rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
/* diálogo */
dialog{width:calc(100% - 32px);max-width:460px;max-height:85dvh;overflow:auto;padding:24px;border:0;border-radius:16px;background:var(--card);color:var(--ink);font-family:inherit;box-shadow:var(--pop)}
dialog[open]{animation:din .22s cubic-bezier(.16,1,.3,1)}@keyframes din{from{opacity:0;transform:translateY(8px)}}
dialog::backdrop{background:rgba(8,12,20,.6)}
dialog .buy{margin-top:16px}
dialog h2{margin:0 0 16px;font-size:1.25rem;font-weight:700;letter-spacing:-.015em}
.dh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.dh h2{margin:0}.dx{flex:none;display:grid;place-items:center;width:32px;height:32px;margin:-4px -6px -4px 0;padding:0;background:none;border:0;border-radius:8px;color:var(--mute);cursor:pointer;transition:background-color .15s,color .15s}.dx:hover{background:var(--sub);color:var(--ink)}
.row{display:flex;justify-content:space-between;gap:16px;padding:4px 0;font-size:.875rem;font-variant-numeric:tabular-nums}.row>:last-child{flex:none;text-align:right}
.ce{margin-bottom:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.ce .lk{color:var(--hot);font-size:.8125rem;font-weight:500}
.final{margin-top:10px;padding-top:14px;border-top:1px solid var(--line);font-size:1.25rem;font-weight:700;letter-spacing:-.015em}
/* modelos prediseñados */
.pcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:16px;margin-top:24px}
.pc{display:flex;flex-direction:column;gap:14px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:16px;transition:border-color .15s,box-shadow .15s}
.pc:hover{border-color:var(--line2);box-shadow:var(--sh2)}
.pt-top{display:flex;align-items:center;gap:12px}
.pt-top h2{margin:0;font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;line-height:1.25}
.pt-top .ic{flex:none;width:40px;height:40px;padding:9px;border-radius:10px;background:var(--ok);stroke:var(--acc);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tg{display:block;margin-top:2px;font-size:.75rem;font-weight:500;color:var(--mute)}
.pc p{margin:0;font-size:.875rem;color:var(--mute)}
.tl{display:flex;gap:8px}.tile{flex:1;min-width:0;text-align:center}.tile .im{height:56px;margin:0 0 4px;padding:6px}
.tile small{display:block;overflow:hidden;font-size:.6875rem;color:var(--mute);white-space:nowrap;text-overflow:ellipsis}
.pc .ch{display:flex;flex-wrap:wrap;gap:6px}.pc .ch span{padding:1px 8px;border-radius:6px;background:var(--sub);font-size:.75rem;font-weight:500;line-height:1.25rem}
.pc ul{flex:1}.pc li{padding:6px 0;font-size:.8125rem}.pc li:last-child{border-bottom:0}.pc li span{flex:none;color:var(--mute)}.pc li b{min-width:0;font-weight:500;text-align:right}
.pt2{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:14px;border-top:1px solid var(--line);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pt2 b{white-space:nowrap}.pt2 span{font-size:.8125rem;font-weight:500;letter-spacing:0;color:var(--mute)}
/* pago y pedido */
#pay .wrap{max-width:none;padding:20px 0 0}#pay .gh{margin-top:28px}#pay main>.gh:first-child{margin-top:0}#pay .nav{flex-wrap:wrap;margin-top:20px}#pay .nav #pb{margin-right:auto}
.pms{display:grid;gap:10px}
.pm{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,background-color .15s}
.pm:hover{border-color:var(--line2)}.pm:has(:checked){background:var(--ok);border-color:var(--btn);box-shadow:inset 0 0 0 1px var(--btn)}
.pm input{flex:none;width:18px;height:18px;margin:2px 0 0}.pm b{display:block;font-size:.9375rem;font-weight:600}.pm small{display:block;font-size:.8125rem;line-height:1.45;color:var(--mute)}
.ord{margin-bottom:8px;padding:6px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.ord .row{align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.ord .row:last-child{border-bottom:0}.ord .row>span:first-child{color:var(--mute)}.ord b{font-weight:600}.cp{user-select:all}
.od{min-width:280px;margin-top:8px;font-size:.8125rem;white-space:normal}.od p{margin:0 0 8px}.od small{color:var(--mute)}
.od.lgx{min-width:200px;max-width:280px;max-height:240px;overflow:auto;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--sub)}.od.lgx p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.pt td.ds details{margin:6px 0}.pt td.ds .eb{margin-top:2px}.rau{display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:300px}.rau small{flex:1 1 100%;color:var(--mute)}.rau input{flex:1;min-width:0}.rau .rae{color:var(--bad)}.rau .rae:empty{display:none}.pw{position:relative;display:flex}.pw input{flex:1;min-width:0;padding-right:44px}.eye{position:absolute;top:50%;right:4px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:none;color:var(--mute);cursor:pointer;transform:translateY(-50%);transition:color .15s,background-color .15s}.eye:hover{background:var(--sub);color:var(--ink)}.eye svg{width:18px;height:18px}
/* backoffice: navegación */
.who{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:.875rem;color:var(--mute)}.who b{color:var(--ink)}.who .lk{color:var(--acc);font-weight:500}
#sx{align-items:center;width:fit-content;max-width:100%;margin:0;padding:4px;background:var(--card);border:1px solid var(--line);border-radius:12px}
#sx button.on,#sx button.on:hover{background:var(--btn);color:#fff}
.dd{position:relative}
.ddm{position:absolute;top:calc(100% + 8px);left:0;z-index:40;display:flex;flex-direction:column;gap:2px;min-width:230px;padding:6px;border-radius:12px;background:var(--card);box-shadow:var(--pop)}
.ddm button{width:100%;text-align:left}#sx .ddm button.on,#sx .ddm button.on:hover{background:var(--ok);color:var(--acc)}
#sb{gap:4px 20px;margin:20px 0 0;border-bottom:1px solid var(--line)}
#sb button{margin-bottom:-1px;padding:10px 2px;border:0;border-bottom:2px solid transparent;border-radius:0}
#sb button:hover{background:none}#sb .on,#sb .on:hover{background:none;border-bottom-color:var(--btn);color:var(--ink)}
#adm .gh{margin:24px 0 8px}#adm .gh+.lg{margin-top:16px}#adm:not(:has(#sx)){max-width:440px}#adm .note{max-width:86ch}#us{margin-top:32px}
/* backoffice: tablas */
.mx{overflow-x:auto;margin:16px 0;background:var(--card);border:1px solid var(--line);border-radius:12px}
.mx table{width:100%;min-width:560px;border-collapse:collapse}
.mx th,.mx td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:center;font-size:.875rem;font-variant-numeric:tabular-nums}
.mx tbody tr:last-child>*{border-bottom:0}
.mx thead th{background:var(--sub);font-size:.75rem;font-weight:600;color:var(--mute)}.mx thead .lk{color:var(--ink)}
.mx thead th.oo,b.oo{color:var(--odoo)}
.mx tbody th{text-align:left;font-weight:600}
.mx tbody tr:hover>*{background:var(--sub)}
.mx input[type=checkbox]{width:18px;height:18px;cursor:pointer}
.pt{min-width:780px}.pt td,.pt th{text-align:left}.pt td:nth-last-child(-n+2){white-space:nowrap}
.pt .ds small{display:block;font-weight:400;color:var(--mute)}
.otgs{min-width:140px}.otg{display:inline-flex;align-items:center;gap:6px;margin:2px 4px 2px 0;padding:2px 10px;border:1px solid var(--line);border-radius:99px;background:var(--sub);font-size:.75rem;font-weight:600;white-space:nowrap}.otg::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tc,var(--mute))}
.pt tr.er td{color:var(--hot)}.pt .nw td,.pt .nw:hover td{background:var(--ok)}
.pt code{font-size:.8125rem}.pt summary{color:var(--acc);font-weight:600;cursor:pointer}
.pt .eb{min-height:32px;padding:4px 12px;border:1px solid var(--line2);border-radius:8px;background:var(--card);color:var(--ink);font-size:.8125rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s}
.pt .eb:hover{background:var(--sub);border-color:var(--mute)}.pt .eb svg{margin-right:6px;vertical-align:-3px}
.th .im{padding:4px}.th img{width:64px;height:44px;border-radius:6px;background:var(--sub);object-fit:contain}
.bg{padding:2px 10px;border-radius:99px;font-size:.75rem;font-weight:600;white-space:nowrap}.bgc{background:var(--ok);color:var(--acc)}.bgd{background:var(--hotb);color:var(--hot)}
.jv{max-height:260px;margin:6px 0 0;padding:10px;overflow:auto;border-radius:8px;background:var(--sub);font:.75rem/1.5 ui-monospace,Menlo,Consolas,monospace;text-align:left;white-space:pre-wrap}.jvb{max-height:480px;margin:0}
/* backoffice: formularios */
.lg input,.row2 input,.tb input,.fm input,.fm select,.fl select,.fl input,.pt input:not([type=checkbox]),.pt select,.bt{min-height:38px;padding:7px 10px;border:1px solid var(--line2);border-radius:8px;background:var(--card);color:var(--ink);font-size:.875rem;font-weight:400;transition:border-color .15s}
.lg input:focus,.row2 input:focus,.tb input:focus,.fm input:focus,.fm select:focus,.fl select:focus,.fl input:focus,.pt input:focus,.pt select:focus,.bt:focus{outline:2px solid var(--acc);outline-offset:-1px;border-color:var(--acc)}
.pt input[type=number]{width:110px}.pt input.dt{width:130px}.pt input[data-k]{width:70px}.pt select{max-width:100%}.pt .bad{border-color:var(--hot)}
.fm input,.fm select,.lg:not(.row2) input{width:100%;min-width:0}
::file-selector-button{margin-right:10px;padding:4px 10px;border:1px solid var(--line2);border-radius:6px;background:var(--sub);color:var(--ink);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer}
.lg{display:grid;gap:14px;max-width:400px}.lg label{display:grid;gap:6px;font-size:.875rem;font-weight:600}
.lg .lk{justify-self:start;color:var(--acc);font-size:.875rem;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.note.clp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.lk.mas{display:block;margin:2px 0 4px;color:var(--acc);font-size:.875rem;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.row2{display:flex;flex-wrap:wrap;align-items:center;max-width:none}.row2 .sec{width:auto;margin:0}
.fl{display:inline-flex;align-items:center;gap:8px;margin:6px 0;font-size:.875rem;font-weight:600}
.tb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0}.tb .sec{width:auto;min-height:38px;margin:0}.tb .note{margin:0}.tb input{flex:1 1 240px;max-width:360px}.rc .tb{justify-content:space-between;margin:0 0 10px}
.bt{display:block;width:100%;min-height:150px;margin:8px 0;padding:10px;font:.75rem/1.5 ui-monospace,Menlo,Consolas,monospace}
.fm{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:12px 0;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.fm label{display:grid;align-content:start;gap:6px;font-size:.875rem;font-weight:600}
.fm label.w{grid-column:1/-1}.fm label.fl{display:flex;align-items:center;gap:10px;margin:0}.fm input[type=checkbox]{flex:none;width:18px;height:18px;min-height:0;padding:0}
.pvw{display:flex;align-items:center;min-height:70px;font-size:.8125rem;color:var(--mute)}.pvw img{max-height:80px;border-radius:6px}
.rc{margin-top:16px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:12px}.olc{display:grid;gap:2px;max-height:280px;overflow:auto;padding:4px 10px;border:1px solid var(--line);border-radius:8px;background:var(--sub)}.olc .fl{margin:4px 0;font-weight:500}.olc small{color:var(--mute)}.rc .fm{margin:0 0 10px;padding:0;border:0;background:transparent}
.osr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0}.osr>span{min-width:110px;font-size:.875rem;font-weight:600}.osr>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.osr .fl{margin:0;font-weight:500}.osr .sec{width:auto;min-height:34px;margin:0}
.osr input[type=time],.osr input[type=datetime-local]{min-height:34px;padding:5px 8px;border:1px solid var(--line2);border-radius:8px;background:var(--card);color:var(--ink);font:inherit;font-size:.875rem}
.osx{margin-left:2px;padding:0 2px;border:0;background:none;color:var(--mute);font-size:1rem;line-height:1;cursor:pointer}.osx:hover{color:var(--hot)}.osh{margin:12px 0}.osh summary{color:var(--acc);font-size:.875rem;font-weight:600;cursor:pointer}
/* avisos */
.warn{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;padding:10px 14px;border:1px solid var(--hot);border-radius:10px;background:var(--card);font-size:.875rem;font-weight:600}
.warn span{margin-right:auto}
.warn button{min-height:34px;padding:4px 12px;border:1px solid var(--line2);border-radius:8px;background:var(--card);color:var(--ink);font-weight:600;cursor:pointer}.warn .dg{border-color:var(--hot);color:var(--hot)}
.alert,.okm{margin:12px 0 0;padding:10px 14px;border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:10px;font-size:.875rem;font-weight:600}
.alert{background:var(--badb);color:var(--bad)}.okm{background:var(--goodb);color:var(--good)}
/* calendario */
#cal{position:absolute;z-index:50;width:256px;padding:10px;border-radius:12px;background:var(--card);color:var(--ink);font-size:.875rem;box-shadow:var(--pop)}
#cal button{background:none;border:0;border-radius:8px;color:inherit;cursor:pointer}
#cal .ch{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;text-transform:capitalize}#cal .ch button{width:32px;height:32px;font-size:1.2rem}
#cal .cg{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}#cal .wd{padding:4px 0;font-size:.75rem;color:var(--mute)}
#cal .cg button{height:32px;font-variant-numeric:tabular-nums}#cal .cg button:hover,#cal .cf button:hover{background:var(--sub)}
#cal .td{box-shadow:inset 0 0 0 1.5px var(--acc)}#cal .cg .sl,#cal .cg .sl:hover{background:var(--btn);color:#fff}
#cal .cf{display:flex;justify-content:space-between;margin-top:6px}#cal .cf button{padding:6px 10px;color:var(--acc);font-weight:600}
/* pantallas angostas */
@media(max-width:900px){.wrap{grid-template-columns:minmax(0,1fr);gap:24px}}
@media(max-width:560px){header{gap:10px;padding:12px 16px}.brand{gap:10px}.logo{height:34px}.brand h1{padding-left:10px;font-size:1rem}.ux{margin-left:auto}header .tabs{order:3;flex-basis:100%;margin:0;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}
.adm{padding:20px 16px 48px}.stp{padding:20px 16px 4px}.wrap{padding:16px 16px 40px}#cartp{padding-top:0}
.opts{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}.im{height:80px}.nav .buy{max-width:none}dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
