:root{font:15px/1.4 system-ui,-apple-system,'Segoe UI',sans-serif;color:#241b1b;background:#fff8f4;--red:#d20c2b;--gold:#de9226;--line:#efd9c9;--text:#211d20;--muted:#776d6c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0;background:linear-gradient(125deg,#f6dac5,#fffdf9 12%,#fff 85%,#f8dcc6)}.app{max-width:515px;margin:0 auto;min-height:100vh;padding:16px 16px 95px;background:#fffdfa;box-shadow:0 0 70px #ad564b22}.hidden{display:none!important}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.46;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e2a55888;outline-offset:2px}.brand{height:130px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;position:relative;isolation:isolate}.brand-left{flex:1;z-index:2}.brand-word{font-size:clamp(29px,8.1vw,41px);font-weight:1000;letter-spacing:-1.8px;line-height:1}.brand-word span{color:#11151e}.brand-word em{font-style:normal;color:#c30b28}.brand-sub{font-size:17px;letter-spacing:1px;color:#14151c;margin-top:3px}.brand-optic{font-size:18px;font-weight:550;font-style:italic;color:#29333b;margin:11px 0 0 11px}.brand-optic i{font-size:10px;color:#cb1122;letter-spacing:-2px}.brand-right{position:absolute;right:-15px;top:0;width:51%;height:126px;overflow:hidden;background:radial-gradient(ellipse at 70% 35%,#ffcb6f44,transparent 62%),repeating-conic-gradient(from 12deg at 30% 50%,transparent 0 12deg,#f59d1c25 13deg 17deg,transparent 18deg 28deg);z-index:1}.brand-right:after{content:'';position:absolute;width:110%;height:65px;right:-30px;bottom:-10px;border-bottom:5px solid #c71127;border-radius:50%;transform:rotate(-6deg);box-shadow:0 5px 4px #ffae196b,0 -6px 1px #f2c35b4d}.orb{position:absolute;right:72px;top:7px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f9ddac,#db5218 52%,#b71d19 90%);opacity:.85;mask-image:radial-gradient(circle,black 56%,transparent 70%);box-shadow:0 5px 20px #ba2f2f70}.orb:before{content:'';position:absolute;inset:0;border-radius:50%;background:repeating-linear-gradient(58deg,transparent 0 10px,#ffffffaa 11px 12px,transparent 13px 22px),repeating-linear-gradient(-53deg,transparent 0 12px,#ffffffc0 13px 14px,transparent 15px 24px);opacity:.67}.spark{position:absolute;color:#faac2d;text-shadow:0 0 5px #fff8bd,0 0 12px #ffaa11;animation:glimmer 2.2s ease-in-out infinite}.s1{right:17px;top:21px;font-size:18px}.s2{right:115px;top:6px;font-size:23px;animation-delay:.7s}.s3{right:150px;top:93px;font-size:21px;animation-delay:1.2s}.s4{right:37px;bottom:12px;font-size:15px;animation-delay:1.6s}@keyframes glimmer{0%,100%{opacity:.2;transform:scale(.65)}50%{opacity:1;transform:scale(1.25)}}
.assistant-promo{position:relative;display:flex;align-items:center;min-height:174px;margin:4px 0 18px;overflow:hidden;border:1px solid #ebceab;border-radius:19px;background:radial-gradient(circle at 2% 3%,#fff8e9,#ffefea 52%,#fff 89%);box-shadow:0 8px 22px #ac6d5430;padding:12px 10px 12px 2px}.assistant-promo:after{content:'';position:absolute;left:-30px;bottom:-42px;right:0;height:60px;border-top:5px solid #e4922c;border-radius:50%;transform:rotate(-4deg);box-shadow:0 -3px 1px #e6402275,0 5px 3px #b7082b44;pointer-events:none}.bot-wrap{position:relative;width:40%;min-width:110px;flex:0 0 40%;align-self:stretch;min-height:156px}.robot{width:132%;height:100%;position:absolute;left:-25%;bottom:-12px;overflow:visible;filter:drop-shadow(1px 5px 3px #aa715a44);animation:bot-bob 3s ease-in-out infinite}.wave-arm{transform-box:fill-box;transform-origin:10% 80%;animation:wave 1.6s ease-in-out infinite}.wave-hand{transform-box:fill-box;transform-origin:35% 85%;animation:wave-hand 1.6s ease-in-out infinite}.bot-eyes{transform-box:fill-box;transform-origin:center;animation:blink 5s ease-in-out infinite}.hello{position:absolute;top:2px;right:0;color:#fff;font-weight:950;font-size:13px;transform:rotate(-9deg);background:linear-gradient(140deg,#f2c25d,#e5971c);border-radius:12px 12px 12px 2px;padding:5px 8px;box-shadow:0 3px 8px #d99a3080;z-index:4}.robo-star{right:3px;top:52px;font-size:22px;z-index:4}@keyframes wave{0%,100%{transform:rotate(-12deg)}35%{transform:rotate(8deg)}65%{transform:rotate(-2deg)}}@keyframes wave-hand{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(17deg)}}@keyframes bot-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes blink{0%,92%,97%,100%{transform:scaleY(1)}94%{transform:scaleY(.1)}}.assistant-copy{flex:1;position:relative;z-index:3;min-width:0}.assistant-title{font-size:clamp(16px,4.25vw,20px);font-weight:880;line-height:1.14;letter-spacing:-.3px;color:#191818}.assistant-title strong{color:#bf1327}.assistant-copy p{font-size:clamp(11px,2.85vw,14px);color:#343030;line-height:1.36;margin:9px 0 12px}.askbar{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid #f2d7c4;background:linear-gradient(95deg,#fff,#fffaf8);padding:12px 10px;border-radius:25px;font-size:clamp(9px,2.8vw,13px);text-align:left;color:#343038;white-space:nowrap}.askbar span{color:var(--red)}.section-title{display:flex;justify-content:space-between;align-items:center;margin:15px 0 9px;gap:8px}.section-title h2{font-size:20px;font-weight:880;letter-spacing:-.65px;margin:0}.section-title .link{color:#cd0a25;font-size:12px;font-weight:700}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.feature{position:relative;border:1px solid #ead5ca;min-height:117px;border-radius:17px;background:linear-gradient(148deg,#fff,#fff6f0 78%,#fff0e8);box-shadow:0 5px 12px #7d4c4c20;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:11px 4px 8px;text-align:center;color:#18191c}.feature b{font-size:clamp(10px,2.75vw,13px);line-height:1.1;white-space:normal}.feature-symbol{font-size:29px;font-weight:850;line-height:1.2;display:block;height:40px}.red{color:#de0a24}.gold{color:#df8c1c}.round-arrow{align-self:flex-start;font-size:19px;line-height:1.1;color:#c41125;border:1px solid #e51329;border-radius:99px;width:22px;height:22px;margin:7px 0 0 5px;display:grid;place-items:center;background:#fff}.tv-carousel{position:relative;overflow:hidden;margin-top:14px;padding:0!important;min-height:158px;border:1px solid #f2ad47!important;background:linear-gradient(120deg,#fff7ed,#fff 58%,#ffeedb);isolation:isolate}.tv-carousel:after{content:'';position:absolute;width:85%;height:52px;right:-10px;bottom:-29px;border-top:5px solid #ffac2c;border-radius:50%;transform:rotate(-10deg);box-shadow:0 -6px 2px #d5092399;z-index:-1;pointer-events:none}.tv-track{width:200%;display:flex;transition:transform .85s cubic-bezier(.2,.68,.2,1)}.tv-slide{display:flex;align-items:center;width:50%;min-height:158px;position:relative;padding:12px 12px 24px 14px;gap:6px}.tv-copy{flex:1 1 52%;min-width:0;position:relative;z-index:2}.tv-title{font-size:clamp(17px,4.75vw,24px);line-height:1.06;white-space:normal;font-weight:950;letter-spacing:-.5px}.tv-title span{color:#bd091f}.tv-tag{display:inline-block;color:#fff;background:linear-gradient(110deg,#ca1128,#f35146);padding:4px 10px;margin-top:9px;font-size:11px;font-weight:700;border-radius:25px;box-shadow:0 4px 9px #c31b2e30}.tv-copy p{font-size:clamp(10px,2.65vw,12px);line-height:1.35;color:#2e2a2b;margin:10px 0 0}.tv-visual{flex:0 0 47%;background:#131521;border:5px solid #26252d;border-radius:10px;padding:5px;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;box-shadow:0 4px 9px #332e3666;min-height:97px;transform:perspective(240px) rotateY(-7deg)}.tv-visual>span{border-radius:3px;padding:3px 1px;display:grid;place-items:center;color:white;font-size:clamp(6px,1.8vw,9px);font-weight:820;text-align:center;background:linear-gradient(140deg,#c32525,#451640)}.channel-grid>span:nth-child(2){background:#173999}.channel-grid>span:nth-child(3){background:#009369}.channel-grid>span:nth-child(4){background:#7415a5}.channel-grid>span:nth-child(5){background:#b46c15}.channel-grid>span:nth-child(6){background:#167caf}.movie-grid>span:nth-child(1){background:linear-gradient(110deg,#46161b,#b24024)}.movie-grid>span:nth-child(2){background:linear-gradient(110deg,#091542,#2968d2)}.movie-grid>span:nth-child(3){background:linear-gradient(110deg,#540942,#bb18bc)}.movie-grid>span:nth-child(4){background:linear-gradient(110deg,#05695b,#1cb98e)}.tv-next{position:absolute;bottom:8px;right:8px;z-index:4;border:1px solid white;background:#a9251ecf;color:white;width:31px;height:31px;border-radius:50%;font-size:27px;display:grid;place-items:center;line-height:.9}.tv-dots{position:absolute;bottom:9px;left:45%;display:flex;gap:5px}.tv-dots i{display:block;width:5px;height:5px;border-radius:50%;background:#bbb1a5}.tv-dots .on{background:#d6102c}.service-up{color:#08a953;font-weight:750;font-size:11px;white-space:nowrap}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.service-card{text-align:left;border:1px solid #eddcd0;border-radius:17px;background:linear-gradient(135deg,#fff,#fff5ee);box-shadow:0 5px 15px #8b727a20;min-height:144px;padding:9px 6px 6px;overflow:hidden;color:#15151a;position:relative}.sc-title{font-size:clamp(10px,2.5vw,13px);font-weight:850;line-height:1.24;min-height:34px}.service-card p{font-size:clamp(9px,2.4vw,12px);margin:7px 0;color:#3d3632;line-height:1.35}.service-card:nth-child(2) p{color:#0a9852;font-weight:750}.family-scene{height:75px;margin:8px -6px -6px;position:relative;overflow:hidden;background:linear-gradient(#fbe7cf,#f7d5ae);border-radius:4px}.family-screen{width:83px;height:42px;margin:5px auto 0;background:#1a2941;border:4px solid #3a2627;border-radius:5px;display:flex;align-items:center;justify-content:space-between;padding:4px;color:white;font-weight:800;font-size:9px}.family-screen span:nth-child(2){background:#b5072a;border-radius:50%;padding:3px}.family-people{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);font-size:37px;white-space:nowrap;filter:drop-shadow(0 2px 2px #52462e66)}.router-art{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);background:linear-gradient(120deg,#fff,#e9d7cd);box-shadow:0 4px 6px #6d4f4733;border:1px solid #ddd0cc;border-radius:8px;width:75%;height:38px;color:#aa142b;font-size:33px;line-height:1;text-align:center}.router-art:before,.router-art:after{content:'';position:absolute;bottom:31px;width:3px;height:27px;background:#8e9398}.router-art:before{left:12px}.router-art:after{right:12px}.router-art i{position:absolute;bottom:7px;width:4px;height:4px;border-radius:50%;background:#07a967;right:14px}.router-art i:last-child{right:23px}.support-pill{position:absolute;bottom:10px;left:6px;right:6px;text-align:center;color:white;background:linear-gradient(120deg,#ef1e3c,#a7082a);border-radius:20px;padding:7px 1px;font-size:clamp(10px,2.5vw,12px);font-weight:750}.card{background:linear-gradient(140deg,#fff,#fff8f3);border:1px solid var(--line);border-radius:19px;padding:19px;margin:15px 0;box-shadow:0 7px 16px #8b6b5c1c}label{display:block;color:#4a3730;font-weight:700;font-size:13px;margin:15px 0 7px}input,select{background:#fff;color:#1c2229;width:100%;border:1px solid #dab9aa;border-radius:12px;padding:13px 12px;min-width:0}input::placeholder{color:#a79b96}.primary,.secondary{display:block;width:100%;padding:14px 12px;border-radius:12px;font-weight:800;border:0;margin:20px 0 6px}.primary{background:linear-gradient(112deg,#d60d28,#f2523f);color:white;box-shadow:0 8px 14px #bd153423}.secondary{background:#fff0e3;color:#ac1c2d;border:1px solid #f3cead}.login-panel h1,h1{font-size:26px;line-height:1.13;margin:8px 0;color:#222}.login-panel .login-card{padding:24px 20px}.muted,.sub{color:#7e6f69;font-size:13px;line-height:1.55}.login-caption,footer{text-align:center;color:#8c7773;font-size:10px;padding:15px 0}.login-welcome{margin-top:30px}.account{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6b5752;padding-bottom:5px}.link{border:0;background:transparent;color:#bd1127;text-decoration:none;font-weight:700;padding:4px}.eyebrow{color:#be122a;font-size:11px;letter-spacing:1.7px;font-weight:900}.vista>h1{margin:8px 0 13px}.vista h1 em{font-style:normal;color:#c3172a}.top{display:flex;align-items:center;justify-content:space-between;gap:10px}.chip{font-size:11px;border:1px solid #e2b9a1;border-radius:40px;padding:5px 8px;background:#fff6ee;white-space:nowrap;color:#986a45}.chip.ok{color:#008c50;border-color:#71c697}.chip.no{color:#bc6b20;border-color:#e9bb76}.detail{font-size:12px;color:#816961;line-height:1.6;padding:13px 0}.alert{font-size:12px;line-height:1.5;color:#794e40;border:1px solid #eed1bd;border-radius:12px;padding:13px;margin-top:12px;background:#fff6ec;overflow-wrap:anywhere}.alert.good{color:#09794e;border-color:#a2d9b9}.alert.bad{color:#ac1735;border-color:#f0c5c0}.alert.busy{color:#a96617}.consent{display:flex;align-items:flex-start;gap:9px;line-height:1.45}.consent input{width:18px;height:18px;margin:2px 0;flex:0 0 auto;accent-color:#db182f}.history{font-size:12px;color:#766964;margin-top:10px}.history>div{padding:9px 0;border-bottom:1px solid #eddbcd}.feature-detail{text-align:center;padding:24px 20px}.feature-detail p{color:#635652;line-height:1.6}.detail-icon{display:grid;place-items:center;margin:0 auto;width:59px;height:59px;font-size:32px;color:#b7142d;border-radius:15px;background:#fff0df}.soon{display:inline-block;border-radius:20px;background:#fff0dc;border:1px solid #efc397;color:#bc6d16;padding:6px 13px;font-size:12px;font-weight:800}.assistant-head{display:flex;gap:12px;align-items:center;margin:15px 0}.assistant-face{font-size:32px;color:#c7152d}.assistant-head small{display:block;font-size:11px;color:#876e66}.chat-respuestas{display:flex;flex-direction:column;gap:8px;background:#fff5f0;border-radius:17px;border:1px solid #ead2c4;min-height:140px;padding:15px}.bubble{padding:11px;font-size:12px;border-radius:13px;max-width:90%}.bubble.bot{align-self:flex-start;background:#ffebd9}.bubble.user{align-self:flex-end;background:#f2d8d2}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.suggestions button{padding:11px 9px;background:#fff;border:1px solid #e3b6a7;border-radius:12px;color:#a72737;text-align:left;font-size:12px}.tv-cover{background:linear-gradient(130deg,#c9132b,#f0a82e);color:white;padding:45px 15px;border-radius:16px;text-align:center;font-weight:800;font-size:18px}.separator{margin:21px 0;border-top:1px solid #eadbd4}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:100;display:grid;grid-template-columns:repeat(5,1fr);width:min(515px,100%);border-top:1px solid #eadbd8;background:#fffcfafa;backdrop-filter:blur(9px);padding:8px 5px max(7px,env(safe-area-inset-bottom));box-shadow:0 -7px 22px #5a3c3417}.nav-item{border:0;background:transparent;display:flex;gap:1px;flex-direction:column;align-items:center;justify-content:center;color:#625b59;font-size:10px;padding:2px}.nav-item span{font-size:26px;line-height:1.3}.nav-item.active{color:#bd112d;font-weight:850}.nav-item.active:after{content:'';margin-top:4px;width:38px;height:3px;border-radius:5px;background:#d20a2d}@media(max-width:365px){.brand{height:114px}.brand-word{font-size:28px}.brand-sub{font-size:12px}.brand-optic{font-size:13px}.assistant-promo{min-height:156px}.assistant-title{font-size:16px}.feature{min-height:109px}.tv-slide{min-height:145px}.service-card{min-height:135px}}@media(prefers-reduced-motion:reduce){.wave-arm,.wave-hand,.robot,.spark,.bot-eyes{animation:none!important}.tv-track{transition:none}}
/* Ajuste: el robot saluda sin tapar el texto. */
.robot{width:112%;left:-29%}

/* FibraZiel V11 — pantalla exacta basada en el diseño aprobado; sin brillo intermitente */
.spark,.robo-star,.s1,.s2,.s3,.s4{animation:none!important}
body:has(#panel:not(.hidden)) .brand{display:none!important}
body:has(#panel:not(.hidden)) .account{display:none!important}
body:has(#panel:not(.hidden)) .app{max-width:480px;padding:0 0 85px;background:#fffdf8;overflow:hidden}
.imagen-aprobada{margin:0!important;padding:0!important;overflow:visible!important}
.home-canvas{position:relative;width:100%;aspect-ratio:809 / 1397;background:white}
.home-art{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;pointer-events:none}
.zona{display:block;position:absolute;z-index:4;border:0!important;padding:0!important;margin:0!important;background:transparent!important;box-shadow:none!important;opacity:1;cursor:pointer;touch-action:manipulation}
.zona:focus-visible,.tv-next:focus-visible{outline:3px solid #c5092e!important;border-radius:14px}
.z-perfil{top:0;right:0;width:16%;height:13%}
.z-ia{left:2%;top:14.5%;width:96%;height:22.5%}
.z-wifi{left:2%;top:41%;width:23%;height:16%}
.z-fact{left:26.5%;top:41%;width:23%;height:16%}
.z-venc{left:51%;top:41%;width:23%;height:16%}
.z-pago{left:75.5%;top:41%;width:23%;height:16%}
.z-cable{left:2%;top:81%;width:31%;height:18%}
.z-router{left:34%;top:81%;width:32%;height:18%}
.z-soporte{left:67%;top:81%;width:31%;height:18%}
.robot-hand{position:absolute;left:32.2%;top:15.3%;width:15.45%;height:8.95%;object-fit:fill;transform-origin:48% 90%;animation:saludo-real 1.55s ease-in-out infinite alternate;z-index:3;pointer-events:none;will-change:transform}
@keyframes saludo-real{0%{transform:rotate(-13deg)}100%{transform:rotate(12deg)}}
.tv-rotador{position:absolute;left:1.6%;top:58%;width:96%;height:18.7%;overflow:hidden;border-radius:14px;z-index:3}
.tv-pista{height:100%;width:200%;display:flex;transform:translateX(0);transition:transform .65s cubic-bezier(.22,.69,.18,1)}
.tv-pista>img{width:50%;height:100%;object-fit:fill;flex:0 0 50%;display:block;pointer-events:none}
.tv-next{position:absolute;right:0;top:0;width:17%;height:100%;border:0;background:transparent!important;box-shadow:none!important;z-index:5}
.cuenta-menu{position:absolute;z-index:10;right:3%;top:8%;width:55%;background:#fffdf9;padding:13px;display:grid;gap:8px;border-radius:14px;border:1px solid #eebf85;box-shadow:0 8px 30px #4a1b1b40;font-size:14px}
.cuenta-menu button{border:0;border-radius:10px;padding:12px;background:#bd092b;color:white;font-weight:700}
.bottom-nav .nav-ilustracion{display:none}
body:has(#vista-inicio:not(.hidden)) .bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);height:auto;aspect-ratio:809/124;width:min(480px,100%);padding:0!important;margin:0;display:flex;background:white;border-radius:16px 16px 0 0;overflow:hidden;z-index:30;box-shadow:0 -4px 16px #704a3b26}
body:has(#vista-inicio:not(.hidden)) .bottom-nav .nav-ilustracion{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
body:has(#vista-inicio:not(.hidden)) .bottom-nav .nav-item{position:relative;flex:1;min-width:0;min-height:100%;opacity:0!important;z-index:1;padding:0!important}
body:has(#vista-inicio:not(.hidden)) .bottom-nav .nav-item.active::after{display:none!important}
@media(prefers-reduced-motion:reduce){.robot-hand{animation:none}.tv-pista{transition:none}}

/* Pantalla de sesión negra-roja aprobada: imagen auténtica y campos editables. */
.brand{display:none!important}
body:has(#login:not(.hidden)){background:radial-gradient(ellipse at top,#431212 2%,#1b070a 80%)}
body:has(#login:not(.hidden)) .app{width:min(100%,483px);max-width:483px;min-height:0;padding:0;background:transparent;box-shadow:0 0 50px #18030666;overflow:hidden}
.login-foto{position:relative;aspect-ratio:483 / 1024;overflow:hidden;width:100%;margin:auto;border-radius:24px}
.fondo-login{display:block;width:100%;height:100%;object-fit:fill;user-select:none;pointer-events:none}
.form-foto{position:absolute;inset:0;margin:0}
.only-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.form-foto input{position:absolute;left:22.5%;width:62.5%;height:3.6%;border:0;border-radius:4px;background:linear-gradient(90deg,#554042 0%,#594344 100%);color:#fff;font-size:clamp(12px,3.4vw,15px);font-weight:450;padding:4px 2px;box-shadow:none;outline:none;min-width:0;caret-color:#fff}
.form-foto input::placeholder{color:#e2d7d6;opacity:.9}
.form-foto input:focus{outline:2px solid #ffad64;outline-offset:2px}
#usuario{top:51.1%}
#login-clave{top:59.3%;width:60%;}
#login-foto-boton{position:absolute;left:8.6%;top:64.9%;height:5.7%;width:82.8%;border:0;background:transparent;cursor:pointer;border-radius:15px}
#login-foto-boton:focus-visible{outline:3px solid #fff;outline-offset:2px}
#login-msg{position:absolute;left:8.5%;bottom:17.5%;width:83%;font-size:12px;max-height:75px;overflow:auto}
.app>footer{display:none!important}
@media(max-width:520px){.login-foto{border-radius:0}}

/* Correccion exclusiva de la SEGUNDA pantalla de FibraZiel.
   Rellena el alto visible hasta la barra de navegacion sin crear la zona blanca vacia.
   No altera la pantalla de acceso ni las animaciones del robot/carrusel. */
body:has(#panel:not(.hidden)):has(#vista-inicio:not(.hidden)) .app {
  min-height:0!important;
  padding:0!important;
}
body:has(#panel:not(.hidden)):has(#vista-inicio:not(.hidden)) .home-canvas {
  min-height:calc(100dvh - min(480px, 100vw) * 124 / 809);
  background:#fffaf6;
}
body:has(#panel:not(.hidden)):has(#vista-inicio:not(.hidden)) .home-art {
  object-fit:fill;
}

#fibraziel-live-mode{display:none}

/* FZ_ADMIN_SOLO_GESTION_CSS_20261030
 * SOLO cuando la sesión del servidor devuelve rol=admin.
 * Las vistas del cliente permanecen intactas para las cuentas normales.
 */
body.fz-solo-admin:has(#panel:not(.hidden)) {
  background: #f7f3ef !important;
}
body.fz-solo-admin:has(#panel:not(.hidden)) .app {
  max-width: 860px !important;
  width: 100% !important;
  min-height: 100vh !important;
  padding: 22px 20px 38px !important;
  background: #fffdfa !important;
  overflow: visible !important;
}
body.fz-solo-admin #panel > .vista,
body.fz-solo-admin #panel > .bottom-nav {
  display: none !important;
}
body.fz-solo-admin #panel > .account {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  border-bottom: 1px solid #eedbd0;
  padding: 6px 2px 16px !important;
  margin-bottom: 18px !important;
  font-size: 14px !important;
}
body.fz-solo-admin #panel > #admin {
  display: block !important;
  margin: 0 !important;
  max-width: none !important;
  padding: clamp(18px, 3vw, 30px) !important;
  border-radius: 18px !important;
  background: white !important;
  border: 1px solid #ead5c9 !important;
  box-shadow: 0 6px 24px #5b272015 !important;
}
body.fz-solo-admin #panel > #admin::before {
  content: 'Panel de administración FibraZiel';
  display: block;
  color: #ab1029;
  font-size: clamp(21px, 3.2vw, 28px);
  font-weight: 850;
  margin: 0 0 14px;
  line-height: 1.2;
}
body.fz-solo-admin #panel > #admin form { max-width: 680px; }
body.fz-solo-admin #panel > #admin .card { max-width: 100%; }
body.fz-solo-admin #panel > #admin input,
body.fz-solo-admin #panel > #admin select { max-width: 100%; }
@media(max-width:520px){
  body.fz-solo-admin:has(#panel:not(.hidden)) .app {padding: 12px 10px 28px !important;}
  body.fz-solo-admin #panel > #admin {padding: 16px !important;}
}


/* FibraZiel V12: SOLO vista Mi Wi-Fi; inicio de sesión, inicio y demás vistas intactos. */
#vista-wifi.fz-wifi-v12{background:#fffdfc;padding:0 0 24px!important;font-size:15px;color:#151a22}
#vista-wifi .fz-wifi-head{background:linear-gradient(115deg,#c70736,#f34a43);color:#fff;text-align:center;border-radius:0 0 23px 23px;padding:26px 18px 30px;margin:0 0 -8px}
#vista-wifi .fz-wifi-head h1{font-size:31px;color:white;margin:0 0 4px;font-weight:850}
#vista-wifi .fz-wifi-head p{font-size:13px;margin:5px 0 0;color:#fff8f8}
#vista-wifi .fz-wifi-cliente,#vista-wifi .fz-banda,#vista-wifi .fz-wifi-historial{margin:13px 14px 18px;border-radius:21px;border:1px solid #ecd7d0;box-shadow:0 4px 14px #aa67651a;position:relative}
#vista-wifi .fz-wifi-cliente{background:#fff;padding:15px 15px 10px}
#vista-wifi .fz-wifi-cliente-fila{display:flex;align-items:center;gap:10px}
#vista-wifi .fz-avatar{font-size:30px;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;background:#ffe4e9;color:#c71334}
#vista-wifi .fz-cliente-nombre{flex:1;min-width:0}
#vista-wifi .fz-cliente-nombre strong{display:block;font-size:16px;line-height:1.2;overflow-wrap:anywhere}
#vista-wifi .fz-cliente-nombre small{display:block;color:#687078;margin-top:4px;font-size:12px}
#vista-wifi .fz-tag{font-size:10px;border:1px solid #80dcb5;background:#dcf9e8;color:#087d45;border-radius:20px;padding:4px 8px;white-space:nowrap}
#vista-wifi .fz-router-fila{border-top:1px solid #f0e8e6;margin-top:13px;padding-top:11px;font-size:12px}
#vista-wifi .fz-icon-router{height:29px;width:42px;flex-shrink:0;color:#132239}
#vista-wifi .fz-router-label{flex:1;color:#454b54;min-width:0;overflow-wrap:anywhere}
#vista-wifi .fz-online{color:#8b674b;font-weight:700;font-size:11px;white-space:nowrap}
#vista-wifi .fz-online.ok{color:#099957}
#vista-wifi .fz-equipo-selector{margin-top:8px}
#vista-wifi .fz-equipo-selector label{margin:6px 0 5px;font-size:12px}
#vista-wifi .fz-equipo-selector select{font-size:13px;padding:7px}
#vista-wifi .fz-estado-texto{font-size:12px;color:#836252;margin-top:9px}
#vista-wifi .fz-actualizar{margin:7px 0 0;color:#ad193d;border:0;background:transparent;font-size:12px;font-weight:750;padding:5px 0}
#vista-wifi .fz-wifi-form{display:block}
#vista-wifi .fz-banda{padding:17px 15px 16px;overflow:hidden}
#vista-wifi .fz-banda24{background:linear-gradient(130deg,#f4faff,#d9eeff 85%);border-color:#b9e1ff}
#vista-wifi .fz-banda5{background:linear-gradient(130deg,#fff8fa,#ffe0e7 85%);border-color:#ffd1dc}
#vista-wifi .fz-banda-cabecera{display:flex;gap:10px;align-items:center}
#vista-wifi .fz-banda-icon{flex:none;width:44px;height:44px;border-radius:50%;background:#bde1ff;color:#0076e4;display:grid;place-items:center;font-size:32px;font-weight:900}
#vista-wifi .fz-banda5 .fz-banda-icon{background:#ffb7c7;color:#c9003d}
#vista-wifi .fz-banda-cabecera>div{flex:1;min-width:0}
#vista-wifi .fz-banda-cabecera h2{font-size:17px;margin:0;font-weight:850}
#vista-wifi .fz-banda-cabecera h2 em{font-style:normal;color:#0861d8}
#vista-wifi .fz-banda5 .fz-banda-cabecera h2 em{color:#d00637}
#vista-wifi .fz-banda-cabecera p{color:#69747d;font-size:11px;margin:4px 0 0}
#vista-wifi .fz-switch-estado{display:inline-block;position:relative;width:48px;height:27px;background:#b7b9bc;border-radius:20px;flex-shrink:0}
#vista-wifi .fz-switch-estado:after{content:'';position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:.2s}
#vista-wifi .fz-switch-estado.on{background:#00b96e}
#vista-wifi .fz-switch-estado.on:after{left:24px}
#vista-wifi .fz-banda-contenido{display:flex;align-items:center;gap:6px;margin-top:9px}
#vista-wifi .fz-campos{min-width:0;flex:1}
#vista-wifi .fz-campos label{font-size:12px;margin:11px 0 5px;color:#1a2634}
#vista-wifi .fz-campos label small{font-size:10px;font-weight:500;color:#677687}
#vista-wifi .fz-campos input{font-size:14px;padding:11px 12px;border-radius:11px;border:1px solid #bed3e4;box-shadow:0 1px 3px #0001;width:100%;background:#fff;color:#151923}
#vista-wifi .fz-banda5 .fz-campos input{border-color:#edc3cc}
#vista-wifi .fz-secret{position:relative}
#vista-wifi .fz-secret input{padding-right:41px}
#vista-wifi .fz-eye{position:absolute;right:2px;top:0;width:38px;height:100%;border:0;background:transparent;font-size:23px;color:#59687b}
#vista-wifi .fz-banda-dibujo{width:30%;max-width:120px;min-width:74px;align-self:center;filter:drop-shadow(0 3px 7px #4a7eae1a)}
#vista-wifi .fz-banda-badge{display:table;margin:3px 3px 0 auto;border-radius:18px;background:#0789e8;color:white;padding:3px 12px;font-weight:800;font-size:12px}
#vista-wifi .fz-banda5 .fz-banda-badge{background:#dc134b}
#vista-wifi .fz-wifi-aceptar{margin:8px 17px 14px;display:flex;align-items:flex-start;gap:9px;color:#3f424a;font-size:12px;line-height:1.45}
#vista-wifi .fz-wifi-aceptar input{width:18px;height:18px;flex:none;margin:0;accent-color:#df123e}
#vista-wifi .fz-wifi-guardar{display:block;margin:0 14px 9px;width:calc(100% - 28px);border:0;border-radius:14px;padding:15px;color:white;background:linear-gradient(105deg,#cb0635,#f33e45);font-weight:800;font-size:17px;box-shadow:0 5px 10px #d5153428}
#vista-wifi .fz-wifi-guardar:disabled{opacity:.45}
#vista-wifi .fz-wifi-aviso{background:#fff8e9;border:1px solid #ffd19b;border-radius:13px;font-size:12px;color:#91532c;padding:12px;line-height:1.5;margin:0 14px}
#vista-wifi #trabajo-msg{margin:12px 14px}
#vista-wifi .fz-wifi-historial{padding:15px;background:#fff}
#vista-wifi .fz-wifi-historial>strong{font-size:15px}
#vista-wifi .fz-wifi-historial .history{font-size:12px}
@media(max-width:370px){#vista-wifi .fz-wifi-cliente{padding:12px 11px}#vista-wifi .fz-banda{padding:13px 10px}#vista-wifi .fz-banda-cabecera h2{font-size:15px}#vista-wifi .fz-banda-dibujo{min-width:65px}#vista-wifi .fz-router-fila{font-size:10px}}


/* FZ_WIFI_ESPERA_VISUAL_V12_20261031 — SOLO MI WIFI */
#vista-wifi .fz-wifi-historial{display:none!important}
body.fz-espera-activa{overflow:hidden!important}
#fz-espera-v12{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:20px 13px;background:rgba(255,255,255,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow-y:auto;overscroll-behavior:contain}
#fz-espera-v12.fz-espera-visible{display:flex}
#fz-espera-v12 .fz-espera-tarjeta{position:relative;flex:none;width:min(100%,400px);max-height:calc(100dvh - 26px);overflow-y:auto;text-align:center;border-radius:31px;padding:26px 23px 29px;border:1px solid #fff;background:radial-gradient(ellipse at 0% 5%,#ffd6e3 0,transparent 30%),radial-gradient(ellipse at 99% 100%,#ffead3 0,transparent 28%),linear-gradient(150deg,#fff,#fffafd 60%,#fff);box-shadow:0 18px 56px #8e3c6d2c,0 2px 14px #bd709422;color:#121b2c}
#fz-espera-v12 .fz-espera-contador{position:relative;margin:0 auto 15px;width:144px;height:144px;border-radius:50%;background:conic-gradient(#ed124e 0 108deg,#f48ba9 108deg 189deg,#ffe0e8 189deg 360deg);display:grid;place-items:center;animation:fzRingTurn 2.3s linear infinite}
#fz-espera-v12 .fz-espera-contador::before{content:'';position:absolute;inset:12px;border-radius:50%;background:#fff}
#fz-espera-v12 #fz-espera-segundos{position:relative;z-index:1;color:#cd0d3c;font-size:33px;font-weight:900;font-variant-numeric:tabular-nums;animation:fzRingReverse 2.3s linear infinite}
#fz-espera-v12 .fz-espera-titulo{font-size:clamp(23px,6vw,29px);font-weight:900;line-height:1.15;letter-spacing:-.6px;margin:0 0 10px;color:#121a29}
#fz-espera-v12 .fz-espera-sub{font-size:14px;line-height:1.45;color:#627084;margin:0 auto;max-width:310px}
#fz-espera-v12 .fz-espera-grafico{height:184px;position:relative;margin:10px 0 -2px;display:flex;align-items:center;justify-content:center}
#fz-espera-v12 .fz-espera-router{position:absolute;inset:auto auto 6px;width:200px;max-width:75%;filter:drop-shadow(0 12px 12px #dd638835)}
#fz-espera-v12 .fz-espera-router svg{display:block;width:100%;height:170px}
#fz-espera-v12 .fz-espera-burbuja{position:absolute;top:19px;border-radius:34px;display:flex;gap:4px;align-items:center;padding:8px 9px;font-weight:850;font-size:13px;box-shadow:0 3px 16px #ce7f9c20}
#fz-espera-v12 .fz-espera-burbuja svg{height:21px;width:22px}
#fz-espera-v12 .fz-espera-b24{left:0;background:#dcefff;color:#0968ce}
#fz-espera-v12 .fz-espera-b5{right:0;background:#ffe0ee;color:#d21052}
#fz-espera-v12 .fz-espera-paso{color:#526078;font-size:13px;min-height:20px;margin:3px 0 12px}
#fz-espera-v12 .fz-espera-barra{height:11px;border-radius:999px;background:#ffdce7;overflow:hidden;position:relative}
#fz-espera-v12 .fz-espera-barra>div{width:37%;height:100%;border-radius:999px;background:linear-gradient(90deg,#d2003d,#ff4164);animation:fzBarMoving 2s ease-in-out infinite alternate}
#fz-espera-v12 .fz-espera-pie{font-size:12px;color:#7d6773;margin:14px auto 0;line-height:1.4}
#fz-espera-v12 .fz-espera-salir{width:100%;border:1px solid #ecb3c3;border-radius:13px;padding:12px;margin-top:12px;background:#fff;color:#b91242;font-weight:800}
#fz-espera-v12 .fz-espera-salir[hidden]{display:none}
#fz-espera-v12.fz-espera-final .fz-espera-contador{animation:none;background:conic-gradient(#11b56e 0 360deg)}
#fz-espera-v12.fz-espera-final #fz-espera-segundos{animation:none}
#fz-espera-v12.fz-espera-final .fz-espera-barra>div{animation:none;width:100%;background:#11b56e}
#fz-espera-v12.fz-espera-final:has(.fz-espera-salir:not([hidden])) .fz-espera-contador{background:conic-gradient(#e3a037 0 360deg)}
@keyframes fzRingTurn{to{transform:rotate(360deg)}}
@keyframes fzRingReverse{to{transform:rotate(-360deg)}}
@keyframes fzBarMoving{0%{transform:translateX(-10%)}100%{transform:translateX(210%)}}
@media(max-height:600px){#fz-espera-v12 .fz-espera-tarjeta{padding:14px}#fz-espera-v12 .fz-espera-contador{width:100px;height:100px}#fz-espera-v12 .fz-espera-grafico{height:110px}#fz-espera-v12 .fz-espera-router svg{height:105px}#fz-espera-v12 .fz-espera-burbuja{top:0}}
@media(prefers-reduced-motion:reduce){#fz-espera-v12 .fz-espera-contador,#fz-espera-v12 #fz-espera-segundos,#fz-espera-v12 .fz-espera-barra>div{animation:none}}
