*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#07101f;color:#eef5ff}.hidden{display:none}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.brand{padding:70px;display:flex;gap:18px;background:linear-gradient(145deg,#07101f,#0e294d)}.mark{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#29b6d7,#2074d2);font-size:40px;font-weight:800}.brand h1{margin:4px 0 0;font-size:44px;letter-spacing:.08em}.brand p{color:#94a8c4}.login-card{margin:auto;width:min(460px,88%);padding:34px;background:#0e1d38;border:1px solid #233b62;border-radius:22px;box-shadow:0 18px 50px #0006}.login-card small,header small{color:#6bd3e8;letter-spacing:.12em}.login-card h2{font-size:36px;margin:10px 0}.login-card p,.login-card em{color:#94a8c4}.login-card label{display:block;margin:18px 0 7px}.login-card input{width:100%;padding:14px;border-radius:12px;border:1px solid #233b62;background:#09172d;color:white}.login-card button,#logout,.action{margin-top:22px;padding:12px 15px;border:0;border-radius:10px;background:#218bd2;color:white;font-weight:700;cursor:pointer}.login-card em{display:block;font-size:12px;margin-top:14px}.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.shell aside{background:#081429;border-right:1px solid #233b62;padding:20px 14px;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:10px;padding:4px 8px 24px}.mini{width:40px;height:40px;border-radius:12px;font-size:22px}.nav{width:100%;padding:12px;margin:4px 0;border:0;border-radius:11px;background:transparent;color:#afc0d5;text-align:left;cursor:pointer}.nav.active,.nav:hover{background:#10294b;color:white}.online{margin-top:auto;color:#39d98a;font-size:13px;padding:12px}.shell main{min-width:0}.shell header{padding:24px 30px;border-bottom:1px solid #233b62;display:flex;justify-content:space-between;align-items:center}.shell header h2{margin:5px 0 0}.shell header #logout{margin:0;background:#132847;border:1px solid #233b62}.content,#content{padding:30px}.hero,.card,.feature,.notice,table{background:#0e1d38;border:1px solid #233b62;border-radius:17px}.hero{padding:28px;display:grid;grid-template-columns:1.5fr .8fr;gap:24px}.hero h1{font-size:38px;margin:8px 0}.muted,.hero p,.card p,.feature p{color:#94a8c4}.status{border-left:1px solid #233b62;padding-left:22px}.line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #233b62}.ok{color:#39d98a}.warn{color:#ffcc66}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}.card,.feature{padding:20px}.kpi{font-size:30px;font-weight:800}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature .ico{font-size:28px}.notice{padding:14px 16px;margin-bottom:16px;color:#bed1e6;background:#0d2747}table{width:100%;border-collapse:collapse;overflow:hidden}th,td{padding:13px;border-bottom:1px solid #233b62;text-align:left}th{background:#10213e}.code{background:#06101f;border:1px solid #233b62;border-radius:12px;padding:16px;white-space:pre-wrap;color:#a7c5df;font-family:Consolas,monospace}.pill{padding:5px 8px;border-radius:999px;background:#11325a;color:#a4dbeb;font-size:12px}@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}.features{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr}}@media(max-width:700px){.login{grid-template-columns:1fr}.brand{display:none}.shell{grid-template-columns:76px 1fr}.nav span,.logo b,.online{display:none}.nav{text-align:center;font-size:20px}.grid,.features{grid-template-columns:1fr}.content,#content{padding:18px}}

/* ARKOS Enterprise Web V1.1 - Access feedback + session identity */
.access-transition{
  position:fixed; inset:0; z-index:1000; display:grid; place-items:center;
  min-height:100vh; background:#061123;
}
.access-transition.hidden{display:none}
.transition-box{
  width:min(560px,88vw); text-align:center; padding:54px 42px;
  border:1px solid #24466f; border-radius:26px; background:#102342;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.transition-mark{
  width:78px;height:78px;margin:0 auto 18px;display:grid;place-items:center;
  border-radius:22px;background:linear-gradient(145deg,#2db7e8,#2379d4);
  font-size:42px;font-weight:900;color:white;
}
.transition-check{font-size:30px;color:#43e39b;margin-bottom:12px}
.transition-box small{color:#63daf6;letter-spacing:2px}
.transition-box h2{font-size:34px;margin:12px 0;color:#fff}
.transition-box p{color:#9ebde7}
.progress{height:7px;margin-top:28px;background:#173357;border-radius:99px;overflow:hidden}
.progress span{display:block;height:100%;width:35%;background:#35b9e9;border-radius:99px;animation:arkosProgress 1.3s ease-in-out forwards}
@keyframes arkosProgress{from{width:8%}to{width:100%}}
.session-actions{display:flex;align-items:center;gap:14px}
.session-chip{display:flex;align-items:center;gap:10px;padding:8px 13px;border:1px solid #23466e;border-radius:13px;background:#0d203c}
.session-chip b,.session-chip small{display:block}
.session-chip b{font-size:13px;color:#fff}
.session-chip small{font-size:11px;color:#8eb2df}
.session-dot{width:9px;height:9px;border-radius:50%;background:#39dc95;box-shadow:0 0 0 4px rgba(57,220,149,.10)}
@media(max-width:720px){
  .session-chip{display:none}
  .transition-box{padding:40px 24px}
  .transition-box h2{font-size:27px}
}

/* V1.1.1 Transition Fix */
#enter:disabled{opacity:.72;cursor:wait}
.access-transition{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#061123}
.access-transition.hidden{display:none!important}
.transition-box{width:min(560px,88vw);text-align:center;padding:54px 42px;border:1px solid #24466f;border-radius:26px;background:#102342;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.transition-mark{width:78px;height:78px;margin:0 auto 18px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#2db7e8,#2379d4);font-size:42px;font-weight:900;color:white}
.transition-check{font-size:30px;color:#43e39b;margin-bottom:12px}
.transition-box small{color:#63daf6;letter-spacing:2px}
.transition-box h2{font-size:34px;margin:12px 0;color:#fff}
.transition-box p{color:#9ebde7}
.progress{height:7px;margin-top:28px;background:#173357;border-radius:99px;overflow:hidden}
.progress span{display:block;height:100%;width:8%;background:#35b9e9;border-radius:99px;animation:arkosProgress111 1.7s ease-in-out forwards}
@keyframes arkosProgress111{to{width:100%}}
.session-actions{display:flex;align-items:center;gap:14px}
.session-chip{display:flex;align-items:center;gap:10px;padding:8px 13px;border:1px solid #23466e;border-radius:13px;background:#0d203c}
.session-chip b,.session-chip small{display:block}
.session-chip b{font-size:13px;color:#fff}
.session-chip small{font-size:11px;color:#8eb2df}
.session-dot{width:9px;height:9px;border-radius:50%;background:#39dc95;box-shadow:0 0 0 4px rgba(57,220,149,.10)}


/* V1.1.2 — DISPLAY FIX
   Regla global autoritativa: cualquier vista marcada hidden DEBE desaparecer,
   incluso si .login o .shell declaran display:grid posteriormente. */
.hidden { display: none !important; }

/* La transición ocupa realmente toda la pantalla. */
.access-transition:not(.hidden) {
  display: grid !important;
}

/* El dashboard solo aparece cuando deja de estar hidden. */
.shell:not(.hidden) {
  display: grid !important;
}

/* Login solo aparece cuando no está hidden. */
.login:not(.hidden) {
  display: grid !important;
}

/* V1.1.3 HARD SWITCH FIX */
#login, #accessTransition, #shell { min-height:100vh; width:100%; }
#login.hidden, #accessTransition.hidden, #shell.hidden { display:none !important; }
#accessTransition { position:fixed; inset:0; z-index:99999; }
