:root{color-scheme:dark;--bg:#06152a;--panel:#0c213a;--panel2:#0f2947;--border:#274462;--line:#244461;--blue:#2c99fd;--sky:#8ad0ff;--text:#eef6ff;--muted:#9eb4ce;--green:#29ca9b;--gold:#f2c563;--red:#ff7088}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}body{min-width:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
[hidden]{display:none!important}.muted{color:var(--muted)}.eyebrow{color:#68baff;font-weight:800;font-size:10px;letter-spacing:2px}.btn{min-height:42px;border-radius:11px;padding:11px 16px;font-weight:750;font-size:13px;border:1px solid #4d8abe;color:var(--text);background:#122f53}.btn.primary{background:linear-gradient(115deg,#1070d0,#168df0);color:white;border-color:#64b7ff;box-shadow:inset 0 1px #ffffff55}.btn.ghost{background:#122c4a;border-color:#3b678a}.btn:disabled{opacity:.55;cursor:not-allowed}
.auth-screen{min-height:100dvh;background:radial-gradient(ellipse at 60% 0%,#143d69 0%,#081c36 44%,#051126 100%);display:grid;place-content:center;justify-items:center;padding:24px}.auth-card{width:min(440px,100%);padding:32px;border:1px solid #5a8bbe55;border-radius:24px;box-shadow:0 25px 90px #0006,inset 0 1px #ffffff18;background:linear-gradient(145deg,#153555,#081a32)}.auth-logo{width:63px;height:63px;object-fit:contain;border-radius:16px}.auth-card h1{font-size:28px;letter-spacing:-.7px;margin:8px 0 12px}.auth-card>.muted{line-height:1.55;font-size:13px;margin:0 0 24px}.auth-card form{display:grid;gap:13px}.auth-card label,.modal-card label{display:grid;gap:6px;color:#cce1f8;font-size:12px;font-weight:700}.auth-card input,.modal-card input,.modal-card select,.modal-card textarea,.search-input{background:#06182c;border:1px solid #426583;border-radius:10px;color:#eef7ff;width:100%;padding:12px;min-height:43px}.auth-card .btn{width:100%}.auth-notice{font-size:12px;line-height:1.5;color:#ffb4bb;min-height:0}.auth-divider{display:flex;align-items:center;gap:12px;color:#8aa9c6;font-size:12px;margin:16px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#55728b55}.auth-foot,.auth-bottom{color:#86a4c0;font-size:11px;text-align:center;line-height:1.5}.auth-foot{margin:12px 0 0}.auth-bottom{margin:18px 0 0}
.shell{min-height:100dvh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{height:100dvh;position:sticky;top:0;background:linear-gradient(180deg,#091e39,#07152b 66%,#081c34);border-right:1px solid #31577b5c;padding:25px 14px 16px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 22px}.brand img{width:42px;height:42px;object-fit:contain}.brand b{font-size:20px;letter-spacing:-.6px;white-space:nowrap}.brand em{font-size:12px;color:#4db8ff;font-style:normal}.brand small{display:block;color:#87a9cb;font-size:10px;margin-top:3px}.workspace-pill{border:1px solid #3a719d6b;background:#173c64a3;border-radius:12px;padding:11px;font-size:10px;letter-spacing:.5px;font-weight:800;margin:0 5px 22px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#48d9b2;margin-right:7px;box-shadow:0 0 12px #25cb94aa}.nav-label{color:#7699be;letter-spacing:2px;font-size:9px;font-weight:800;padding:0 15px;margin:10px 0}.section-gap{margin-top:27px}.sidebar nav{flex:1;overflow-y:auto}.nav-link{display:flex;gap:12px;align-items:center;width:100%;min-height:45px;padding:10px 14px;margin:3px 0;border:1px solid transparent;border-radius:11px;background:none;color:#bbd1ea;text-align:left;font-size:12px;font-weight:680}.nav-link>span{width:24px;font-size:19px;text-align:center;color:#a7c6e5}.nav-link:hover{background:#ffffff0a}.nav-link.active{background:linear-gradient(100deg,#125aad,#117cca);border-color:#40aaff88;color:white;box-shadow:0 5px 20px #096cc63d}.nav-link.active>span{color:#fff}.nav-link i{font-style:normal;background:#df4b6977;border-radius:99px;padding:1px 7px;font-size:10px;margin-left:auto}.sidebar-bottom{border-top:1px solid #264869;display:grid;gap:14px;padding-top:17px}.security-note{display:flex;gap:8px;padding:9px;color:#c8dcee;font-size:12px;line-height:1.4}.security-note span{color:#4fd1ad;font-size:24px}.security-note small{display:block;color:#8ca9c6;font-size:10px;margin-top:5px}.nav-logout{background:transparent;border:1px solid #375570;border-radius:11px;color:#bfd5ea;text-align:left;padding:12px 14px;font-size:12px;font-weight:700}.nav-logout span{float:right}
.main-area{min-width:0}.topbar{height:73px;border-bottom:1px solid #213b59;display:flex;align-items:center;padding:0 30px;justify-content:space-between;background:#091a31}.crumb{display:flex;gap:11px;align-items:center;font-size:12px;color:#94b1ce}.crumb strong{color:#e6f2ff}.crumb-sep{opacity:.35}.top-actions{display:flex;align-items:center;gap:12px}.mode-badge{padding:8px 11px;border:1px solid #2a9c91aa;border-radius:99px;background:#17575656;font-size:10px;letter-spacing:1px;font-weight:800;color:#6cddba}.mode-badge.demo{border-color:#c18e405e;background:#704b1959;color:#ffd48e}.icon-btn{width:38px;height:38px;border:1px solid #365f87;background:#102d4d;border-radius:11px;color:#d9edff;font-size:22px}.avatar{border:1px solid #4baeff66;background:#185a9b;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900}.menu-button{display:none}.page{padding:28px clamp(14px,3vw,40px)}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-head h1{font-size:clamp(26px,3vw,34px);letter-spacing:-1px;margin:7px 0 8px}.page-head p{font-size:13px;margin:0}.flash{background:#1d4268;border:1px solid #418dd0;border-radius:12px;padding:12px 15px;margin-bottom:16px;font-size:12px}.footer{font-size:10px;color:#7796b3;border-top:1px solid #284362;margin-top:34px;padding:20px 0}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.metric{background:linear-gradient(135deg,#102e4b,#0b203a);border:1px solid #365575;border-radius:17px;min-width:0;padding:18px}.metric .metric-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid #4182bc66;background:#1b54845d;border-radius:11px;color:#83cfff;font-size:19px}.metric strong{font-size:29px;letter-spacing:-.5px;display:block;margin:12px 0 2px}.metric span{font-size:11px;color:#a7bfd9;font-weight:600}
.section-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:17px;margin-top:20px}.panel{background:linear-gradient(142deg,#0d2744,#0a1e36);border:1px solid #355777;border-radius:18px;padding:20px;min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 15px}.panel-title h2{font-size:15px;margin:0}.panel-title button{color:#76c8ff;border:none;background:transparent;font-size:11px;font-weight:800}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.data-table th{color:#82a4c4;text-transform:uppercase;letter-spacing:.7px;font-size:9px;padding:11px 9px;border-bottom:1px solid #2c4a65;white-space:nowrap}.data-table td{padding:13px 9px;border-bottom:1px solid #21405c;vertical-align:middle;color:#d4e8fb}.data-table tr:last-child td{border-bottom:0}.cell-title{font-weight:800;color:#edf8ff}.cell-note{color:#94b2cd;font-size:10px;display:block;margin-top:3px}.chip{display:inline-flex;align-items:center;font-size:10px;padding:5px 8px;border-radius:99px;border:1px solid #5a8bb2;background:#1c466d;font-weight:700;white-space:nowrap}.chip.good{color:#6eddb6;border-color:#289b7e6b;background:#15564b55}.chip.warn{color:#ffc974;border-color:#af803c77;background:#5f42185a}.chip.danger{color:#ff9dac;border-color:#bb446274;background:#632e465c}
.empty{display:grid;gap:8px;place-content:center;min-height:145px;text-align:center;color:#9db8d1;font-size:12px}.empty strong{color:#d4e9fa;font-size:14px}.activity-item{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid #264463}.activity-item:last-child{border:0}.activity-icon{border:1px solid #426990;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#79bdff;flex:none}.activity-item strong{display:block;font-size:12px}.activity-item small{display:block;color:#8cacc9;margin-top:5px;font-size:10px}.quick-row{display:grid;gap:10px;margin-top:18px}.quick-tile{border:1px solid #42688a;background:#112c4a;border-radius:12px;text-align:left;color:#d5eaff;padding:14px;font-weight:800;font-size:12px}.quick-tile span{float:right;color:#81cbff}
.searchbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.search-input{max-width:370px;font-size:12px}.hint{color:#94afcb;font-size:12px;line-height:1.65}.disclaimer{border:1px solid #466487;background:#13365665;padding:14px 16px;border-radius:12px;font-size:12px;line-height:1.65;color:#d8eafe;margin:0 0 18px}.detail-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.detail-card{border:1px solid #426284;background:#0d2a49;padding:16px;border-radius:13px}.detail-card h3{font-size:13px;margin:0 0 8px}.detail-card p{font-size:11px;color:#9ebcd6;line-height:1.6;margin:0}.status-select{color:#eaf4ff;background:#123657;border:1px solid #547899;border-radius:9px;padding:8px;max-width:150px;font-size:11px}.modal-backdrop{position:fixed;z-index:100;inset:0;background:#010a17d9;display:grid;place-items:center;padding:15px}.modal-card{width:min(530px,100%);max-height:90dvh;overflow:auto;background:linear-gradient(145deg,#113454,#071a33);border:1px solid #548ac0;border-radius:20px;padding:25px;box-shadow:0 15px 50px #000a}.modal-card h2{margin:0 0 7px}.modal-card p{line-height:1.5;font-size:12px;color:#a7c2dd}.modal-card form{display:grid;gap:14px}.modal-card textarea{min-height:100px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.modal-card label small{font-size:10px;color:#86a7c7;font-weight:400}.drawer-backdrop{display:none}
@media(max-width:1250px){.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-grid{grid-template-columns:1fr}}
@media(max-width:900px){.shell{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(285px,84vw);height:100dvh;transform:translateX(-105%);visibility:hidden;transition:transform .2s;box-shadow:14px 0 35px #0008}.drawer-open .sidebar{transform:translateX(0);visibility:visible}.drawer-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#010a1ebb;z-index:20}.menu-button{display:block}.topbar{padding:0 15px;height:66px}.page{padding:21px 14px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:13px}.metric strong{font-size:25px}.detail-cards{grid-template-columns:1fr}.page-head{align-items:start;flex-direction:column}.auth-card{padding:25px}.brand b{font-size:18px}}
@media(max-width:480px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-badge{font-size:8px;padding:7px}.crumb{font-size:10px}.top-actions{gap:7px}.panel{padding:14px}.search-input{max-width:none}.metric span{font-size:10px}.footer{line-height:1.55}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Admin: acceso proporcionado en móviles, incluido modo horizontal y Chrome sitio de escritorio. */
.auth-screen{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);}
.auth-card{max-width:100%;min-width:0;justify-self:center;}
.auth-logo{background:#146bb8;object-fit:cover;}
.install-area{margin-top:18px;padding-top:17px;border-top:1px solid #53759855;display:grid;gap:10px}
.install-admin{width:100%;background:linear-gradient(105deg,#164b78,#0a78c8);border-color:#62adff;min-height:49px}
.install-admin span{font-size:19px;vertical-align:-1px;margin-right:7px}
.install-help{margin:0;color:#aec8e5;font-size:11px;line-height:1.55}
.mini-install{font-size:11px;min-height:35px;padding:8px 11px;white-space:nowrap;background:#105fa2;border-color:#5baaf1}
.nav-link i:empty{display:none}
.autopilot-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border:1px solid #35739e;background:linear-gradient(120deg,#12436b,#0b2744);border-radius:18px;padding:20px;margin-bottom:18px}
.autopilot-hero strong{font-size:18px;display:block}
.autopilot-hero p{font-size:12px;line-height:1.6;color:#b5d2e8;margin:8px 0 0}
.autopilot-hero .btn{white-space:nowrap}
.autopilot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.autopilot-check{border:1px solid #3b6286;background:#0f2946;border-radius:13px;padding:15px;min-width:0}
.autopilot-check-head{display:flex;gap:10px;align-items:center;justify-content:space-between}
.autopilot-check strong{font-size:13px}
.autopilot-check p{font-size:11px;line-height:1.5;color:#aec4dc;margin:9px 0 0}
.autopilot-check .chip{flex-shrink:0}
.autopilot-subtle{font-size:11px;color:#9ebcdb;line-height:1.6}
@media (max-width:700px), (hover:none) and (pointer:coarse) and (max-width:1100px){
 .auth-screen{display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:clamp(12px,3vw,30px);padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom))}
 .auth-card{width:min(100%,620px);margin:auto;padding:clamp(19px,4vw,32px);border-radius:20px}
 .auth-logo{width:64px;height:64px}
 .auth-card h1{font-size:clamp(24px,4.3vw,32px);line-height:1.16}
 .auth-card>.muted{font-size:13px;margin-bottom:17px}
 .auth-card form{gap:11px}
 .auth-card label{font-size:13px}
 .auth-card input{font-size:16px;min-height:49px}
 .auth-card .btn{font-size:14px;min-height:49px}
 .auth-bottom{max-width:620px;margin:14px auto 0}
 .autopilot-grid{grid-template-columns:1fr}
}
@media (max-height:610px) and (hover:none) and (pointer:coarse){
 .auth-screen{justify-content:flex-start}
 .auth-card{margin:0 auto}
}
@media (max-width:420px){
 .mini-install{font-size:10px;padding:7px;min-height:32px}
 .top-actions{gap:5px}
 .autopilot-hero{flex-direction:column}
}


/* Independiente del modo "Sitio para ordenadores" de Chrome Android:
   Chrome puede usar un viewport CSS de ~980px y no declarar pointer:coarse. */
@media (max-width:1100px){
 .auth-screen{
   display:flex;
   flex-direction:column;
   justify-content:flex-start;
   align-items:stretch;
   min-height:100dvh;
   padding:clamp(16px,3vw,34px);
   padding-top:max(22px,env(safe-area-inset-top));
   padding-bottom:max(16px,env(safe-area-inset-bottom));
 }
 .auth-card{
   width:min(100%,940px);
   max-width:none;
   flex:none;
   margin:clamp(26px,5dvh,76px) auto 0;
   padding:clamp(25px,3.4vw,42px);
   box-shadow:0 16px 48px #0004,inset 0 1px #ffffff18;
 }
 .auth-logo{width:clamp(66px,9vw,88px);height:clamp(66px,9vw,88px)}
 .auth-card h1{font-size:clamp(27px,3.5vw,38px);margin:9px 0 12px}
 .auth-card>.muted{font-size:clamp(13px,1.6vw,17px);line-height:1.5;margin-bottom:22px}
 .auth-card label{font-size:clamp(13px,1.5vw,16px)}
 .auth-card input{min-height:53px;font-size:16px;padding:13px 15px}
 .auth-card .btn{min-height:52px;font-size:clamp(14px,1.6vw,17px)}
 .auth-card form{gap:15px}
 .auth-foot,.install-help{font-size:clamp(11px,1.3vw,14px)}
 .auth-bottom{margin:17px auto 0;max-width:940px}
}
@media (max-width:560px){
 .auth-card{width:100%;margin:clamp(18px,4dvh,45px) auto 0;padding:clamp(20px,5vw,30px)}
 .auth-card h1{font-size:clamp(25px,6.4vw,32px)}
 .auth-card>.muted{font-size:13px}
 .auth-card .btn{min-height:50px}
 .auth-logo{width:68px;height:68px}
 .auth-card form{gap:12px}
}
