*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#0f2038;color:#101828}body{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}a{text-decoration:none}.mobile-shell{width:min(100%,430px);margin:0 auto;min-height:100vh;background:linear-gradient(180deg,#0f2038 0,#142944 34%,#f6f2e9 34%,#f6f2e9 100%);padding:18px 14px 96px}.mobile-top{display:flex;align-items:center;justify-content:space-between;color:#fff;margin-bottom:18px}.mobile-top img{width:58px;height:58px;object-fit:contain;background:#000;border-radius:18px;padding:6px;border:1px solid rgba(198,154,68,.45)}.mobile-top small{display:block;opacity:.74;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}.mobile-top h1{margin:4px 0 0;font-size:1.55rem;line-height:1.05}.m-card{background:rgba(255,255,255,.98);border:1px solid rgba(232,226,208,.95);border-radius:26px;padding:18px;box-shadow:0 18px 42px rgba(15,32,56,.16);margin-bottom:14px}.m-card h2{margin:0 0 8px;color:#0f2038;font-size:1.2rem}.m-muted{color:#667085;font-size:.92rem;line-height:1.45}.m-label{display:block;font-weight:900;color:#102033;font-size:.84rem;margin:12px 0 7px}.m-input,.m-select,.m-textarea{width:100%;border:1px solid #e4dcc8;background:#fff;color:#111827;border-radius:16px;padding:13px 14px;font-size:16px;outline:0}.m-input:focus,.m-select:focus,.m-textarea:focus{border-color:#c69a44;box-shadow:0 0 0 4px rgba(198,154,68,.15)}.m-btn{width:100%;border:0;border-radius:18px;padding:14px 16px;font-weight:900;font-size:.98rem;display:flex;align-items:center;justify-content:center;gap:8px;color:#111827;background:linear-gradient(135deg,#d6ad56,#b98b33);box-shadow:0 12px 25px rgba(198,154,68,.25)}.m-btn.secondary{background:#0f2038;color:#fff;box-shadow:none}.m-link{color:#9a6d22;font-weight:900}.m-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:16px;padding:12px;margin:12px 0}.m-ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;border-radius:16px;padding:12px;margin:12px 0}.m-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.m-stat{background:#fff;border:1px solid #e8e2d0;border-radius:22px;padding:16px;text-align:center}.m-stat strong{display:block;color:#b98b33;font-size:1.7rem}.m-stat span{display:block;color:#667085;font-weight:800;font-size:.78rem;margin-top:3px}.m-actions{display:grid;gap:10px}.m-action{background:#fff;border:1px solid #e8e2d0;border-radius:20px;padding:14px;display:grid;grid-template-columns:42px 1fr 16px;align-items:center;gap:12px;color:#0f2038}.m-action i:first-child{width:42px;height:42px;border-radius:15px;background:#f4ecd8;color:#a77b2f;display:flex;align-items:center;justify-content:center}.m-action strong{display:block}.m-action span{display:block;color:#667085;font-size:.84rem;margin-top:3px;line-height:1.35}.m-bottom{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);width:min(430px,calc(100% - 20px));display:grid;grid-template-columns:repeat(5,1fr);gap:4px;background:rgba(15,32,56,.96);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:8px;box-shadow:0 18px 40px rgba(0,0,0,.25);z-index:50}.m-bottom a{color:#cbd5e1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.68rem;font-weight:800}.m-bottom i{font-size:1rem}.m-bottom a.active{color:#f4d27c}.m-logo-login{width:82px;height:82px;object-fit:contain;background:#000;border-radius:24px;padding:8px;border:1px solid rgba(198,154,68,.5);display:block;margin:0 auto 12px}.m-login-shell{width:min(100%,430px);margin:0 auto;min-height:100vh;background:#f6f2e9;padding:20px 14px;display:flex;align-items:center}.m-login-stack{width:100%}.m-passkey{margin-top:12px}.m-small-row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.m-top-button{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 12px;font-weight:900}.m-pre{white-space:pre-wrap;background:#0f2038;color:#fff;border-radius:18px;padding:13px;overflow:auto;max-height:170px;font-size:.82rem}@media(max-width:360px){.mobile-shell,.m-login-shell{padding-left:10px;padding-right:10px}.m-bottom span{display:none}.m-actions .m-action{grid-template-columns:38px 1fr 12px}.m-action i:first-child{width:38px;height:38px}.m-card{border-radius:22px;padding:16px}}.m-bottom{grid-template-columns:repeat(auto-fit,minmax(54px,1fr))!important;}

/* ===== 2026-05-23: interfaz móvil real tipo app SLV ===== */
.slv-mobile-app-body{
  margin:0;
  min-height:100vh;
  background:#eef0ee;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:#fff;
  overflow-x:hidden;
}
.slv-mobile-frame{
  width:min(100%,430px);
  min-height:100vh;
  margin:0 auto;
  padding:34px 32px 110px;
  background:linear-gradient(180deg,#0b1627 0%,#0f1f36 100%);
  box-shadow:0 24px 60px rgba(15,32,56,.22);
}
.slv-mobile-header{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:20px;
}
.slv-mobile-header img{
  width:64px;
  height:64px;
  object-fit:contain;
  background:#030303;
  border:1px solid rgba(198,154,68,.48);
  border-radius:18px;
  padding:6px;
  flex:0 0 64px;
}
.slv-mobile-header small{
  display:block;
  color:#fff;
  font-size:.9rem;
  line-height:1;
}
.slv-mobile-header h1{
  margin:3px 0 0;
  color:#fff;
  font-size:1.65rem;
  line-height:1;
  letter-spacing:-.03em;
  text-shadow:0 2px 0 rgba(0,0,0,.45);
}
.slv-api-status-card{
  background:linear-gradient(135deg,#c9a044,#a77b2e);
  color:#111827;
  border-radius:28px;
  padding:22px;
  margin:0 0 20px;
  min-height:150px;
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.slv-api-status-card small{
  display:block;
  font-size:1.02rem;
  font-weight:950;
  opacity:.82;
  margin-bottom:5px;
}
.slv-api-status-card strong{
  display:block;
  font-size:1.65rem;
  line-height:1.08;
  letter-spacing:-.03em;
  margin-bottom:18px;
}
.slv-api-status-card p{margin:0;color:#111827;font-weight:800;line-height:1.35}
.slv-api-test-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  border-radius:999px;
  background:#0b1627;
  color:#fff;
  padding:12px 18px;
  font-weight:950;
  font-size:1rem;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.slv-api-output{
  margin:16px 0 0;
  white-space:pre-wrap;
  background:#0b1627;
  color:#e5e7eb;
  border-radius:16px;
  padding:12px;
  max-height:150px;
  overflow:auto;
  font-size:.8rem;
}
.slv-mobile-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:18px;
}
.slv-mobile-grid a{
  min-height:106px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.085);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 22px rgba(0,0,0,.12);
  color:#fff;
  padding:16px 12px;
}
.slv-mobile-grid a i{
  color:#f6d27a;
  font-size:1.65rem;
  margin-bottom:9px;
}
.slv-mobile-grid a span{
  font-size:1.22rem;
  font-weight:950;
  line-height:1;
  text-shadow:0 2px 0 rgba(0,0,0,.35);
}
.slv-mobile-grid a em{
  display:block;
  margin-top:6px;
  font-size:.72rem;
  font-style:normal;
  color:#cbd5e1;
  font-weight:800;
}
.slv-mobile-admin-list{
  display:grid;
  gap:9px;
  margin-top:8px;
}
.slv-mobile-admin-list h2{
  margin:4px 0 4px;
  font-size:1rem;
  color:#f6d27a;
}
.slv-mobile-admin-list a{
  display:grid;
  grid-template-columns:36px 1fr 16px;
  align-items:center;
  gap:10px;
  padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  color:#fff;
  font-weight:850;
}
.slv-mobile-admin-list a i:first-child{
  width:36px;
  height:36px;
  border-radius:13px;
  background:rgba(246,210,122,.16);
  color:#f6d27a;
  display:flex;
  align-items:center;
  justify-content:center;
}
.slv-mobile-admin-list a i:last-child{color:#94a3b8;font-size:.85rem}
.slv-mobile-bottom{
  position:fixed;
  left:50%;
  bottom:max(12px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  width:min(386px,calc(100% - 36px));
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:4px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.13);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-radius:28px;
  padding:9px 10px;
  z-index:50;
  box-shadow:0 18px 40px rgba(0,0,0,.25);
}
.slv-mobile-bottom a{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:#cbd5e1;
  font-size:.68rem;
  font-weight:900;
  min-width:0;
}
.slv-mobile-bottom a i{font-size:1rem}.slv-mobile-bottom a.active{color:#f6d27a}
@media (min-width:520px){
  .slv-mobile-app-body{display:flex;align-items:center;justify-content:center;padding:28px 0;}
  .slv-mobile-frame{min-height:760px;border:6px solid #111827;border-radius:44px;overflow:hidden;padding-top:26px;}
}
@media (max-width:380px){
  .slv-mobile-frame{padding-left:20px;padding-right:20px;}
  .slv-mobile-header h1{font-size:1.45rem;}
  .slv-mobile-grid a span{font-size:1.05rem;}
  .slv-mobile-bottom span{display:none;}
}


/* ===== 2026-05-23 FINAL: login móvil e inicio con saludo, sin tarjeta técnica inicial ===== */
.slv-login-body{
  margin:0;
  min-height:100vh;
  background:#eef0ee;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:#fff;
}
.slv-login-phone{
  width:min(100%,430px);
  min-height:100vh;
  margin:0 auto;
  padding:40px 24px 38px;
  background:radial-gradient(circle at 50% 0%,#10233c 0,#071321 62%,#030b14 100%);
  box-shadow:0 24px 60px rgba(15,32,56,.24);
}

.slv-login-form{width:100%;max-width:360px;margin:0 auto;text-align:center}
.slv-login-logo{width:136px;height:136px;object-fit:contain;margin:0 auto 10px;display:block}
.slv-login-brand{margin:0;color:#d6dce7;font-size:.98rem}.slv-login-form h1{margin:4px 0 22px;color:#fff;font-size:1.55rem;line-height:1.05}
.slv-login-field{height:52px;display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.18);background:rgba(7,19,33,.72);border-radius:14px;margin-bottom:14px;padding:0 14px;color:#cdd6e5}
.slv-login-field i{font-size:1rem;color:#cbd5e1}.slv-login-field input{flex:1;min-width:0;border:0;background:transparent;color:#fff;font-size:16px;outline:0}.slv-login-field input::placeholder{color:#738094}.slv-eye{border:0;background:transparent;color:#cbd5e1;padding:4px;display:flex;align-items:center;justify-content:center}
.slv-login-options{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 18px;font-size:.82rem}.slv-login-options label{display:flex;align-items:center;gap:7px;color:#cbd5e1}.slv-login-options input{accent-color:#c9a044}.slv-login-options a{color:#f0c15a;font-weight:800}.slv-login-submit{width:100%;height:52px;border:0;border-radius:13px;background:linear-gradient(135deg,#d3a84d,#bd8f35);color:#06101e;font-weight:950;font-size:1rem;box-shadow:0 10px 24px rgba(0,0,0,.24)}
.slv-login-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:28px 0 14px;color:#a9b4c6;font-size:.82rem}.slv-login-divider span{height:1px;background:rgba(255,255,255,.13)}.slv-login-divider em{font-style:normal}.slv-biometric-btn{width:70px;height:70px;border-radius:18px;border:1px solid rgba(255,255,255,.18);background:rgba(7,19,33,.72);color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center;margin:0 auto}.slv-biometric-label{margin:10px 0 0;color:#a9b4c6;font-size:.82rem}.slv-passkey-msg{margin-top:12px;color:#f0c15a;font-size:.82rem;min-height:18px}.slv-login-error{background:rgba(127,29,29,.92);border:1px solid rgba(248,113,113,.7);color:#fff;border-radius:14px;padding:10px 12px;margin:0 0 14px;text-align:left;font-size:.88rem}
.slv-mobile-header-centered{justify-content:flex-start;margin-bottom:22px}.slv-user-welcome-card{display:grid;grid-template-columns:86px 1fr;gap:18px;align-items:center;border:1px solid rgba(255,255,255,.13);background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.045));border-radius:28px;padding:18px;margin:0 0 20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 28px rgba(0,0,0,.16)}.slv-user-avatar{width:86px;height:86px;border-radius:50%;object-fit:cover;border:3px solid #f4d27c;background:#101827}.slv-user-welcome-card span{display:block;color:#f4d27c;font-weight:850;font-size:.84rem;margin-bottom:3px}.slv-user-welcome-card h2{margin:0;color:#fff;font-size:1.35rem;line-height:1.15;letter-spacing:-.02em}.slv-user-welcome-card h2 strong{color:#f4d27c}.slv-user-welcome-card p{margin:5px 0 2px;color:#cbd5e1;font-weight:750}.slv-user-welcome-card small{color:#94a3b8;font-weight:700}.slv-mobile-frame{background:radial-gradient(circle at 50% 0%,#10233c 0,#071321 62%,#030b14 100%)}
@media(max-width:360px){.slv-user-welcome-card{grid-template-columns:72px 1fr;padding:15px;gap:14px}.slv-user-avatar{width:72px;height:72px}.slv-user-welcome-card h2{font-size:1.15rem}.slv-login-phone{padding-left:18px;padding-right:18px}.slv-login-logo{width:116px;height:116px}}

/* Sesiones expiradas */
.slv-login-info{background:rgba(30,64,175,.92);border:1px solid rgba(147,197,253,.7);color:#fff;border-radius:14px;padding:10px 12px;margin:0 0 14px;text-align:left;font-size:.88rem}


/* ===== Notificaciones de chat móvil ===== */
.mobile-chat-card,.mobile-chat-nav{position:relative;}
.mobile-notify-badge,.mobile-bottom-badge{position:absolute;right:10px;top:9px;min-width:23px;height:23px;padding:0 7px;border-radius:999px;background:#dc2626;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:950;line-height:1;box-shadow:0 0 0 3px rgba(220,38,38,.22);z-index:2}.mobile-bottom-badge{right:12px;top:3px;min-width:19px;height:19px;font-size:.64rem;padding:0 5px}
