/**
 * Exact Front-End Replacement — byte-for-byte copy of the approved design
 * source's assets/login.css (127.0.0.1:4174/assets/login.css?v=20260823-1,
 * captured 2026-08-23). Used by the real login and registration pages.
 * No design changes; loaded after style.css/public-theme.css.
 */
.login-page{background:#f5f3ee;padding:34px 4.5vw 72px}
.login-shell{max-width:1240px;min-height:690px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(6,29,43,.12)}
.login-intro{position:relative;overflow:hidden;background:linear-gradient(145deg,#061d2b 0%,#0b2636 62%,#0c3440 100%);color:#fff;padding:76px 62px;isolation:isolate}
.login-kicker{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:700;color:#eac78a}
.login-kicker span{width:8px;height:8px;border-radius:50%;background:#9f2319}
.login-intro h1{max-width:520px;margin:72px 0 26px;font-size:clamp(3.6rem,5vw,5.8rem);font-weight:500;line-height:.93;letter-spacing:-.065em}
.login-intro h1 em{display:block;color:#eac78a;font-style:normal}
.login-summary{max-width:420px;color:#becbd0;font-size:.95rem;line-height:1.75}
.login-promise{position:absolute;left:62px;bottom:56px;z-index:3;display:flex;align-items:center;gap:16px;max-width:420px}
.login-promise>span{width:42px;height:42px;border:1px solid rgba(234,199,138,.55);border-radius:50%;display:grid;place-items:center;color:#eac78a;font-size:.68rem;flex:none}
.login-promise p{margin:0;color:#aebfc4;font-size:.72rem;line-height:1.55}
.login-promise strong{color:#fff;font-size:.78rem}
.login-shape{position:absolute;border-radius:50%;z-index:-1}
.shape-one{width:330px;height:330px;right:-115px;bottom:-105px;background:#eac78a}
.shape-two{width:180px;height:180px;right:115px;bottom:-105px;background:#9f2319;opacity:.96}
.login-panel{background:#fff;display:grid;place-items:center;padding:72px 58px}
.login-form-wrap{width:100%;max-width:460px}
.login-form-wrap .eyebrow{color:#9f2319;margin-bottom:24px}
.login-form-wrap h2{margin:0 0 12px;font-size:clamp(2.4rem,4vw,3.7rem);color:#061d2b}
.login-help{margin:0 0 38px;color:#6d7b7b;font-size:.9rem}
.login-form{display:grid;gap:20px}
.login-field{display:grid;gap:8px}
.login-field label{color:#061d2b;font-size:.72rem;font-weight:700}
.login-field input,.login-field select{width:100%;height:54px;border:1px solid #ccd3d4;border-radius:9px;padding:0 16px;font:inherit;color:#061d2b;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.login-field input:focus,.login-field select:focus{border-color:#0c3440;box-shadow:0 0 0 3px rgba(12,52,64,.12)}
.login-options{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:#52666c}
.login-options label{display:flex;align-items:center;gap:7px}
.login-options input{accent-color:#9f2319}
.login-options a,.login-register a{color:#9f2319;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.login-submit{border:0;border-radius:30px;background:#061d2b;color:#fff;min-height:54px;padding:0 26px;display:flex;align-items:center;justify-content:center;gap:20px;font:700 .78rem inherit;cursor:pointer;transition:background .2s,transform .2s}
.login-submit:hover{background:#0c3440;transform:translateY(-1px)}
.login-submit span{color:#eac78a;font-size:1.15rem}
.login-register{text-align:center;color:#62747a;font-size:.75rem;margin:20px 0 0}
.login-back{display:block;text-align:center;margin-top:34px;color:#62747a;font-size:.7rem}
.login-status{min-height:1em;margin:0;text-align:center;color:#9f2319;font-size:.7rem}
@media(max-width:860px){.login-page{padding:20px 4vw 50px}.login-shell{grid-template-columns:1fr}.login-intro{min-height:480px;padding:55px 38px}.login-intro h1{margin-top:45px}.login-promise{left:38px;bottom:38px}.login-panel{padding:58px 32px}}
@media(max-width:520px){.login-intro{min-height:450px;padding:45px 25px}.login-intro h1{font-size:3.35rem}.login-promise{left:25px;right:25px}.login-panel{padding:48px 22px}.login-options{align-items:flex-start;gap:15px}.shape-one{width:250px;height:250px}}

/* Functional-only addition (not present in the static mockup, which has no
   error states to design): inline validation feedback + alert banners for
   the real auth forms, and a two-column grid variant of .login-field used
   only on the registration page (no register.html reference exists — the
   approved login-page/login-shell/login-panel system is reused verbatim
   for it, per "no new design system", with the extra fields the real
   registration flow requires). Zero visual effect on the login page. */
.login-field.field-error input,.login-field.field-error select{border-color:#b3261e}
.login-field .field-error{color:#b3261e;font-size:11px;font-weight:600}
.login-alert{border-radius:9px;padding:14px 16px;font-size:.78rem;line-height:1.5}
.login-alert.error{background:#fdeceb;color:#8f241c;border:1px solid #f3c6c1}
.login-alert.success{background:#eef7ee;color:#2c6b2f;border:1px solid #c9e6ca}
.login-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.login-field-grid .login-field.full{grid-column:1/-1}
.login-field small{font-weight:400;color:#8b979b;text-transform:none;letter-spacing:0}
