/* Listas desplegables propias (ver vanta-ui.js). */
.vs{position:relative;display:inline-flex;vertical-align:middle}
.vs-native{display:none!important}
.vs-button{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-width:150px;min-height:38px;padding:8px 12px;background:#19231a;border:1px solid #334130;border-radius:8px;color:#e2eadf;font-size:13px;text-align:left}
.vs-button:hover{border-color:#4d6a3a}
.vs-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.vs-caret{width:8px;height:8px;flex-shrink:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:.7;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.vs.is-open .vs-caret{transform:translateY(2px) rotate(-135deg)}
.vs-menu{position:absolute;z-index:60;top:calc(100% + 6px);right:0;min-width:100%;max-height:min(320px,60vh);overflow:auto;display:flex;flex-direction:column;gap:2px;padding:6px;background:#111a12;border:1px solid #334130;border-radius:10px;box-shadow:0 18px 50px #000c}
.vs.vs-up .vs-menu{top:auto;bottom:calc(100% + 6px)}
.vs-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border-radius:7px;color:#dfe8dc;font-size:13px;text-align:left;white-space:nowrap}
.vs-option::before{content:"";width:14px;flex-shrink:0}
.vs-option.is-selected{color:var(--accent);font-weight:650}
.vs-option.is-selected::before{content:"✓"}
.vs-option:hover,.vs-option:focus{background:#233516;color:#fff;outline:none}
.vs-option:disabled{opacity:.45}
/* Campo con error (validación propia) */
.field input.is-invalid{border-color:#ff8a73;box-shadow:0 0 0 2px #ff8a7333}
/* Modo TV */
html.tv .vs-button{min-width:240px;min-height:56px;padding:12px 20px;border-radius:12px;font-size:19px}
html.tv .vs-button:focus{outline:none;box-shadow:0 0 0 4px var(--accent)}
html.tv .vs-caret{width:11px;height:11px}
html.tv .vs-menu{max-height:min(520px,60vh);padding:8px;border-radius:14px}
html.tv .vs-option{padding:14px 20px;font-size:20px;border-radius:10px}
html.tv .vs-menu .vs-option:focus{background:var(--accent);color:#102006;outline:none}
html.tv .vs .vs-button:focus{outline:none}
/* Tarjeta "Instala AZTK" (install.js) */
.install-sheet{position:fixed;z-index:90;right:20px;bottom:24px;width:min(400px,calc(100vw - 32px));padding:20px 20px 18px;background:#101812;border:1px solid #2f4128;border-radius:18px;box-shadow:0 24px 70px #000d;color:var(--text);opacity:0;transform:translateY(16px);transition:opacity .22s,transform .22s}
.install-sheet.visible{opacity:1;transform:none}
dialog .install-sheet{position:fixed}
.install-close{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;background:#ffffff10;color:#b9c6b5;font-size:22px;line-height:1}
.install-head{display:flex;gap:14px;align-items:center;padding-right:28px}
.install-head img{width:56px;height:56px;border-radius:14px;flex-shrink:0;box-shadow:0 6px 18px #0008}
.install-head h2{font-size:18px;letter-spacing:-.3px}
.install-head p{margin-top:4px;font-size:13px;line-height:1.5;color:#aebbaa}
.install-steps{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.install-steps li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;color:#dfe8dc}
.install-steps b{color:#fff}
.install-steps svg{display:inline-block;width:20px;height:20px;margin:0 2px;vertical-align:-4px;stroke:var(--accent);stroke-width:1.8;fill:none}
.install-steps svg circle[r="1.6"]{fill:var(--accent);stroke:none}
.install-n{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;margin-top:1px;border-radius:50%;background:#203416;color:var(--accent);font-size:12px;font-weight:700}
.install-actions{display:flex;gap:10px;margin-top:18px}
.install-actions .button{flex:1;min-height:44px}
@media(max-width:600px){.install-sheet{left:12px;right:12px;width:auto;bottom:calc(74px + env(safe-area-inset-bottom))}}
