.auth-shell {
    min-height: 100vh;
    background: #eef3f8;
}
.auth-shell .app-main { min-height: 100vh; }
.auth-shell .content-wrap { display: block; min-height: 100vh; }
.auth-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(440px, .94fr) minmax(480px, 1.06fr); }
.auth-showcase {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 15%, rgba(45, 164, 223, .18), transparent 22rem),
        radial-gradient(circle at 8% 82%, rgba(49, 114, 173, .24), transparent 25rem),
        linear-gradient(145deg, #07172b 0%, #0d2b4d 56%, #0d416c 100%);
    color: #fff;
}
.auth-showcase::before,
.auth-showcase::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; }
.auth-showcase::before { width: 420px; height: 420px; right: -180px; top: -140px; }
.auth-showcase::after { width: 320px; height: 320px; left: -180px; bottom: -160px; }
.auth-showcase-inner { position: relative; z-index: 1; width: min(100%, 670px); min-height: 100%; margin-left: auto; padding: clamp(38px, 6vw, 76px); display: flex; flex-direction: column; }
.auth-company { display: flex; align-items: center; gap: 12px; }
.auth-company-logo { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; background: #fff; box-shadow: 0 10px 28px rgba(0,0,0,.22); }
.auth-company-logo img { width: 40px; height: 40px; object-fit: contain; }
.auth-company span:last-child { min-width: 0; }
.auth-company strong, .auth-company small { display: block; }
.auth-company strong { font-size: 14px; letter-spacing: -.01em; }
.auth-company small { margin-top: 3px; color: #87aac5; font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.auth-copy { margin: auto 0; padding-block: 54px; }
.auth-eyebrow { display: inline-flex; padding: 6px 9px; border: 1px solid rgba(144,211,245,.22); border-radius: 999px; background: rgba(59,167,220,.1); color: #9ddaf6; font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.auth-copy h1 { max-width: 620px; margin: 20px 0 16px; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; letter-spacing: -.045em; }
.auth-copy p { max-width: 560px; margin: 0; color: #a9bed0; font-size: 15px; line-height: 1.75; }
.auth-features { display: grid; gap: 10px; }
.auth-features > div { display: flex; align-items: center; gap: 12px; padding: 12px 13px; border: 1px solid rgba(255,255,255,.08); border-radius: 11px; background: rgba(255,255,255,.035); backdrop-filter: blur(8px); }
.auth-features i { flex: 0 0 36px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; background: rgba(53,171,225,.12); color: #6bc6ef; }
.auth-features span { min-width: 0; }
.auth-features strong, .auth-features small { display: block; }
.auth-features strong { font-size: 12.5px; }
.auth-features small { margin-top: 2px; color: #8fa9bd; font-size: 10.5px; }
.auth-showcase-footer { margin-top: 28px; color: #6f8ca4; font-size: 10.5px; }
.auth-form-panel { display: grid; place-items: center; padding: clamp(28px, 5vw, 72px); background: linear-gradient(180deg, #f8fafc, #eef3f8); }
.auth-card { width: min(100%, 440px); margin: 0; padding: 30px; border-radius: 16px; box-shadow: 0 24px 70px rgba(16, 40, 68, .12); }
.auth-mobile-brand { display: none; align-items: center; gap: 10px; margin-bottom: 24px; }
.auth-mobile-brand img { width: 44px; height: 44px; object-fit: contain; border: 1px solid var(--border); border-radius: 11px; background: #fff; padding: 3px; }
.auth-mobile-brand strong, .auth-mobile-brand small { display: block; }
.auth-mobile-brand strong { font-size: 13px; }
.auth-mobile-brand small { margin-top: 2px; color: var(--muted); font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; }
.auth-form-heading { margin-bottom: 24px; }
.auth-kicker { color: var(--primary); font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.auth-form-heading h2 { margin: 7px 0 7px; font-size: 25px; letter-spacing: -.035em; }
.auth-form-heading p { margin: 0; color: var(--muted); font-size: 12.5px; }
.auth-input-wrap { position: relative; }
.auth-input-wrap > i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #8292a5; pointer-events: none; }
.auth-input-wrap .input { min-height: 46px; padding-left: 38px; }
.auth-submit { width: 100%; min-height: 46px; margin-top: 18px; justify-content: space-between; padding-inline: 16px; }
.auth-security-note { display: flex; align-items: flex-start; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); color: var(--muted); font-size: 10.5px; }
.auth-security-note i { color: var(--success); }
.auth-support { margin: 18px 0 0; color: var(--muted); font-size: 10.5px; text-align: center; }
.auth-shell .app-footer { display: none; }
@media (max-width: 980px) {
    .auth-layout { grid-template-columns: 1fr; }
    .auth-showcase { display: none; }
    .auth-form-panel { min-height: 100vh; }
    .auth-mobile-brand { display: flex; }
}
@media (max-width: 520px) {
    .auth-form-panel { padding: 16px 12px; align-items: center; }
    .auth-card { padding: 22px 17px; border-radius: 14px; }
    .auth-form-heading h2 { font-size: 22px; }
}
