/* APMT login, 2026-10-16. Generado desde app/globals.css. */
.login-layout { min-height:100svh; display:grid; grid-template-columns:minmax(0,56%) minmax(0,44%); background:#f7f8f9; }
.login-scene { position:relative; overflow:hidden; min-height:100svh; background:#173744; color:#fff; }
.login-photo { object-fit:cover; object-position:46% center; }
.login-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,27,37,.47) 0%,rgba(10,27,37,.02) 33%,rgba(9,26,36,.84) 100%); }
.login-brand { position:absolute; top:clamp(28px,3vw,48px); left:clamp(30px,3vw,56px); width:clamp(190px,14vw,240px); height:auto; }
.login-story { position:absolute; bottom:96px; left:clamp(30px,3vw,56px); right:40px; }
.login-eyebrow { font-size:12px; font-weight:700; letter-spacing:2px; color:#fff; }
.login-story h1 { font-size:clamp(32px,3.1vw,54px); font-weight:650; line-height:1.15; letter-spacing:-1.5px; margin:18px 0; }
.login-story p { font-size:16px; line-height:1.7; color:rgba(255,255,255,.86); }
.login-rule { width:54px; height:3px; background:#f15a22; margin-top:28px; }
.login-source { position:absolute; bottom:34px; left:clamp(30px,3vw,56px); display:flex; align-items:center; gap:12px; color:#ffffffd1; font-size:12px; }
.login-source:hover { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.login-panel { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; min-width:0; padding:clamp(24px,4vw,64px); background:radial-gradient(circle at 90% 8%,#fff0e9 0,transparent 33%),#f7f8f9; }
.login-panel-inner { width:100%; max-width:510px; margin-block:auto; padding:clamp(28px,3vw,48px); background:#fff; border:1px solid #e7e9eb; border-radius:22px; box-shadow:0 24px 70px rgba(28,43,54,.08); }
.login-security { display:inline-flex; align-items:center; gap:8px; border:1px solid #f7d8ca; background:#fff7f3; color:#a74019; border-radius:999px; padding:8px 12px; font-size:12px; font-weight:600; margin-bottom:28px; }
.login-security svg { color:#f15a22; }
.login-kicker { font-size:11px; letter-spacing:1.6px; font-weight:700; color:#7d858b; }
.login-panel h2 { margin:12px 0; font-size:clamp(30px,2.5vw,38px); line-height:1.15; letter-spacing:-1.1px; font-weight:700; color:#242a2f; }
.login-description { font-size:15px; line-height:1.6; color:#66717a; margin-bottom:30px; }
.login-panel label { display:block; font-weight:650; font-size:14px; color:#303940; margin:20px 0 9px; }
.login-field { display:flex; align-items:center; gap:12px; border:1px solid #ccd3d8; border-radius:10px; min-height:54px; padding:0 15px; color:#687681; transition:border-color .2s,box-shadow .2s; }
.login-field:focus-within { border-color:#e35521; box-shadow:0 0 0 4px #f15a221c; }
.login-field input { width:100%; min-width:0; min-height:52px; outline:none; color:#242a2f; background:transparent; font-size:15px; }
.login-field input::placeholder { color:#8d969e; }
.login-field button { flex-shrink:0; padding:7px; border-radius:6px; color:#56616a; }
.login-field button:hover,.login-field button:focus-visible { color:#e35521; background:#fff0e9; outline:none; }
.login-submit { width:100%; min-height:54px; display:flex; align-items:center; justify-content:center; gap:12px; margin-top:28px; background:#eb5520; color:white; font-size:15px; font-weight:700; padding:14px; border-radius:10px; box-shadow:0 9px 20px #f15a222e; transition:background .2s,transform .2s; }
.login-submit:hover { background:#d94918; transform:translateY(-1px); }
.login-submit:focus-visible { outline:3px solid #242a2f; outline-offset:3px; }
.login-submit:disabled { opacity:.65; cursor:wait; transform:none; }
.login-help { font-size:12px; color:#68747d; line-height:1.6; text-align:center; margin-top:22px; }
.login-encryption { display:flex; justify-content:center; gap:7px; align-items:center; border-top:1px solid #e8ecef; padding-top:20px; margin-top:28px; font-size:11px; color:#77828a; text-align:center; }
.login-error { color:#a6231b; background:#fff1f0; border:1px solid #f2c9c5; padding:12px 14px; border-radius:8px; font-size:13px; margin-top:16px; }
.login-panel footer { color:#77828a; font-size:11px; text-align:center; }
@media(max-width:1100px) { .login-layout { grid-template-columns:minmax(0,48%) minmax(0,52%); } .login-panel { padding:24px; } .login-panel-inner { padding:32px; } .login-story h1 { font-size:clamp(28px,3vw,40px); } }
@media(max-width:760px) { .login-layout { display:block; } .login-scene { min-height:245px; } .login-photo { object-position:center 55%; } .login-brand { top:22px; left:24px; width:180px; } .login-story { bottom:24px; left:24px; right:20px; } .login-story h1 { font-size:27px; margin:10px 0 0; } .login-story p,.login-rule,.login-source { display:none; } .login-eyebrow { font-size:10px; letter-spacing:1.2px; } .login-panel { min-height:calc(100svh - 245px); padding:30px 18px 20px; } .login-panel-inner { max-width:510px; padding:28px; } .login-security { margin-bottom:24px; } }
@media(max-width:440px) { .login-panel { padding:0 0 18px; background:#fff; } .login-panel-inner { border:0; border-radius:0; box-shadow:none; padding:30px 24px; } .login-panel h2 { font-size:30px; } .login-panel footer { padding:0 20px; } }
@media(prefers-reduced-motion:reduce) { .login-submit { transition:none; } .login-submit:hover { transform:none; } }
