body { min-height: 100vh; background: #eaf0f5; }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(420px, 1.12fr) minmax(430px, .88fr); }
.auth-scene { position: relative; min-height: 100vh; display: flex; align-items: flex-end; padding: clamp(38px, 6vw, 84px); color: #fff; background: #063a66 url('../../images/auth-construction.png') center/cover no-repeat; overflow: hidden; }
.auth-scene__shade { position: absolute; inset: 0; background: linear-gradient(105deg, rgba(2,34,59,.88) 0%, rgba(4,56,92,.68) 48%, rgba(3,38,64,.28) 100%); }
.auth-scene::after { content: ''; position: absolute; inset: auto 0 0; height: 42%; background: linear-gradient(transparent, rgba(2,25,43,.56)); }
.auth-scene__content { position: relative; z-index: 1; max-width: 620px; }
.auth-scene__logo { width: 104px; height: 128px; margin-bottom: 22px; object-fit: contain; filter: drop-shadow(0 8px 18px rgba(0,0,0,.2)); }
.auth-scene__eyebrow { margin-bottom: 10px; color: #88ddf0; font-size: 11px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.auth-scene h1 { margin-bottom: 17px; font-size: clamp(42px, 5.2vw, 70px); line-height: .98; letter-spacing: -.055em; }
.auth-scene__content > p:last-of-type { max-width: 580px; color: #d3e5ef; font-size: 16px; line-height: 1.65; }
.auth-capabilities { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px; }
.auth-capabilities span { padding: 6px 9px; color: #e9f8fd; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: var(--radius-sm); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; backdrop-filter: blur(8px); }
.auth-panel { display: flex; flex-direction: column; min-height: 100vh; padding: 32px clamp(28px, 5vw, 72px) 18px; background: rgba(255,255,255,.97); }
.auth-panel__inner { width: min(100%, 470px); margin: auto; }
.auth-mark { display: none; width: 72px; height: 88px; margin-bottom: 20px; object-fit: contain; }
.auth-kicker { margin-bottom: 7px; color: var(--brand); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.auth-panel h2 { margin-bottom: 9px; font-size: clamp(29px, 4vw, 39px); letter-spacing: -.04em; }
.auth-intro { margin-bottom: 25px; color: var(--muted); }
.auth-form { display: grid; gap: 15px; }
.auth-field label { display: block; margin-bottom: 6px; color: #304257; font-size: 12px; font-weight: 600; }
.auth-field input { width: 100%; min-height: 47px; padding: 10px 12px; color: var(--ink); background: #fff; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); outline: none; }
.auth-field input:focus { border-color: #438aba; box-shadow: 0 0 0 3px rgba(7,94,168,.1); }
.auth-field small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }
.auth-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.auth-row--right { justify-content: flex-end; }
.auth-check { display: flex; align-items: flex-start; gap: 8px; color: var(--ink-soft); font-size: 11px; }
.auth-check input { margin-top: 3px; }
.auth-link { color: var(--brand); font-size: 11px; font-weight: 600; text-decoration: none; }
.auth-submit { min-height: 47px; color: #fff; background: var(--brand); border: 1px solid var(--brand); border-radius: var(--radius-sm); cursor: pointer; font-weight: 600; }
.auth-submit:hover { background: var(--brand-dark); }
.auth-switch { margin: 22px 0 0; padding-top: 18px; color: var(--muted); border-top: 1px solid var(--line); font-size: 12px; text-align: center; }
.auth-switch a { font-weight: 600; text-decoration: none; }
.auth-alert { margin-bottom: 18px; padding: 11px 13px; border: 1px solid; border-radius: var(--radius-sm); font-size: 12px; }
.auth-alert--error { color: var(--danger); background: var(--danger-bg); border-color: #edc2c9; }
.auth-alert--success { color: var(--success); background: var(--success-bg); border-color: #c6e5d3; }
.password-meter { height: 3px; margin-top: 7px; background: #e6ebef; }
.password-meter span { display: block; width: 0; height: 100%; background: var(--danger); transition: width .15s, background .15s; }
.auth-footer { padding-top: 18px; color: #8a97a6; font-size: 10px; text-align: center; }

@media (max-width: 900px) {
    .auth-shell { display: block; }
    .auth-scene { display: none; }
    .auth-panel { min-height: 100vh; padding: 26px 20px 18px; }
    .auth-mark { display: block; }
}
