@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{--ink:#10162b;--muted:#66708a;--line:#e6e9f2;--primary:#1769e0;--primary-hover:#0f56bd;--navy:#0b1226}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{min-height:100svh;font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--navy);-webkit-font-smoothing:antialiased}
.login-page{min-height:100svh;display:grid;place-items:center;padding:28px;background:
  radial-gradient(900px 520px at 12% -10%,rgba(23,105,224,.28),transparent 60%),
  radial-gradient(760px 480px at 108% 15%,rgba(14,165,163,.18),transparent 55%),
  radial-gradient(circle at 50% 100%,#131c37 0%,#0b1226 60%)}
@keyframes cp-pop-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.login-card{width:min(420px,100%);padding:34px 34px 30px;border-radius:22px;background:#fff;box-shadow:0 30px 70px -18px rgba(3,6,20,.55);border:1px solid rgba(255,255,255,.15);text-align:center;animation:cp-pop-in .5s cubic-bezier(.22,1,.36,1) both}
@media(prefers-reduced-motion:reduce){.login-card{animation:none}}
.login-mark{width:52px;height:52px;margin:0 auto 18px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#818cf8 0%,#4f46e5 55%,#4338ca 100%);box-shadow:0 8px 18px rgba(79,70,229,.35);color:#fff;font-size:12px;font-weight:900}
.login-card h1{margin:0;color:#0f172a;font-size:25px;line-height:1.15;letter-spacing:-.04em;font-weight:800}
.login-subtitle{margin:9px 0 27px;color:var(--muted);font-size:12px;line-height:1.55}
.login-field{display:grid;gap:7px;margin-bottom:16px;text-align:left}
.login-field span{color:#34445a;font-size:11.5px;font-weight:750}
.login-field input{width:100%;height:46px;padding:0 13px;border:1px solid #ced8e5;border-radius:12px;background:#fff;color:#10162b;font:inherit;font-size:14px;outline:none;transition:border-color .18s,box-shadow .18s}
.login-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(23,105,224,.14)}
.login-field input::placeholder{color:#a2adba}
.login-button{width:100%;height:47px;margin-top:5px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px -4px rgba(23,105,224,.35);transition:transform .16s,box-shadow .16s,filter .16s}
.login-button:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 10px 22px -4px rgba(23,105,224,.42)}
.login-button:active{transform:scale(.98)}
.login-button .cp-icon{font-size:16px}
.login-error{margin:0 0 18px;padding:11px 12px;border:1px solid #f6cfd0;border-radius:11px;background:#fdedee;color:#e0393e;font-size:11.5px;line-height:1.45;text-align:left}
.login-version{display:block;margin-top:18px;color:#8a96a6;font-size:9.5px}
@media(max-width:520px){.login-page{padding:18px}.login-card{padding:28px 22px 25px;border-radius:20px}.login-card h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Identidad compartida de la suite */
.login-mark{width:62px;border-radius:8px;background:linear-gradient(145deg,#1769e0,#0f56bd);font-size:11px;letter-spacing:.06em;position:relative;overflow:hidden}
.login-mark:after{content:"";position:absolute;right:-9px;top:-12px;width:28px;height:42px;background:rgba(255,255,255,.16);transform:rotate(32deg)}
.login-card h1{max-width:330px;margin-left:auto;margin-right:auto;line-height:1.12}
