:root{--brand-navy:#182a3a;--brand-violet:#5964b4;--brand-lime:#e8e876;--ink:#182a3a;--muted:#657184;--line:#dde1eb;--surface:#f5f6fa;--error:#912234;--success:#176b42}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--surface)}
.elenqia-login{display:grid;grid-template-columns:minmax(430px,1.08fr) minmax(420px,1fr);min-height:100vh}.login-story{position:relative;min-height:100vh;padding:55px 64px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(180deg,rgba(24,42,58,.18),rgba(24,42,58,.86) 58%,#182a3a),url('./elenqia-portada.jpg') center 28%/cover no-repeat}
.brand-logo{display:block;width:230px;max-width:100%;height:auto;object-fit:contain}.brand-logo-light{filter:brightness(0) invert(1)}.story-copy{max-width:570px}.brand-kicker,.panel-kicker{font-size:11px;font-weight:750;letter-spacing:2px;margin:0 0 14px}.brand-kicker{color:var(--brand-lime)}.story-copy h1{font-size:clamp(42px,4.7vw,72px);letter-spacing:-2.4px;line-height:1.04;margin:0 0 25px;font-weight:650}.story-copy h1 em{font-style:normal;color:var(--brand-lime)}.story-copy>p:last-child{font-size:18px;line-height:1.7;margin:0;color:#edf2f6}.brand-values{font-size:10px;letter-spacing:2px;color:#e3e9ed}
.login-panel{display:grid;place-items:center;padding:45px 30px;background:radial-gradient(ellipse at top right,rgba(89,100,180,.12),transparent 62%),var(--surface)}.login-card{width:min(440px,100%);padding:42px 40px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.82);box-shadow:0 18px 60px rgba(24,42,58,.08);backdrop-filter:blur(8px)}.brand-logo-dark{width:155px;margin-bottom:30px;filter:brightness(0) saturate(100%) invert(14%) sepia(18%) saturate(1285%) hue-rotate(164deg) brightness(93%) contrast(96%)}.panel-kicker{color:var(--brand-violet);font-size:10px}.login-card h2{font-size:32px;letter-spacing:-.6px;margin:0 0 8px;font-weight:680}.panel-intro{color:var(--muted);margin:0 0 27px;line-height:1.55}.login-alert{border-radius:9px;padding:12px 14px;margin:0 0 18px;font-size:13px;line-height:1.45}.login-alert-error{color:var(--error);background:#fff0f2;border:1px solid #f3cbd2}.login-alert-success{color:var(--success);background:#eaf8ef;border:1px solid #c6ead3}
#loginform{display:grid;gap:9px}#loginform>label:not(.show-password){font-size:13px;font-weight:650;margin-top:7px}#loginform input[type=text],#loginform input[type=password]{width:100%;min-height:48px;border:1px solid #cdd3df;border-radius:8px;padding:11px 13px;background:#fff;color:var(--ink);font-size:15px;transition:border-color .18s,box-shadow .18s}#loginform input:focus{outline:0;border-color:var(--brand-violet);box-shadow:0 0 0 4px rgba(89,100,180,.12)}.password-field{position:relative}.password-field input{padding-right:48px!important}.password-field button{position:absolute;right:5px;top:5px;width:38px;height:38px;border:0;border-radius:7px;background:transparent;color:#7c85a0;cursor:pointer;font-size:17px}.password-field button:hover{background:#f0f1f8;color:var(--brand-violet)}.show-password{display:flex;align-items:center;gap:9px;margin:5px 0 11px;color:var(--muted);font-size:13px;cursor:pointer}.show-password input{width:17px;height:17px;accent-color:var(--brand-violet)}.login-submit{min-height:49px;border:0;border-radius:8px;background:linear-gradient(100deg,#505cac,#676fc1);color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 7px 18px rgba(80,92,172,.24);transition:transform .15s,box-shadow .15s}.login-submit:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(80,92,172,.3)}.login-submit:disabled{opacity:.7;cursor:wait;transform:none}.security-note{display:block;text-align:center;margin-top:20px;color:#7a8494;font-size:11px}
@media(max-width:820px){.elenqia-login{grid-template-columns:1fr}.login-story{min-height:auto;padding:30px}.brand-logo{width:165px}.story-copy{margin:55px 0 35px}.story-copy h1{font-size:40px;letter-spacing:-1px}.story-copy>p:last-child{font-size:14px}.brand-values{display:none}.login-panel{padding:24px 16px}.login-card{padding:30px 24px}.brand-logo-dark{width:145px;margin-bottom:24px}}@media(max-width:480px){.login-story{padding:24px}.story-copy{margin:38px 0 20px}.story-copy h1{font-size:34px}.login-card{border-radius:16px}.login-card h2{font-size:28px}}
