/* Registration-only layout. Existing names, validation and submission are retained. */
body.register-clean {
    --ink: #10213f;
    --muted: #58647a;
    --line: #d9dde5;
    --blue: #1556a0;
    background: #fafafa;
    color: var(--ink);
    font-family: 'Poppins', 'Avenir Next', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.55;
}
.register-clean .auth-scene,
.register-clean .auth-header,
.register-clean .auth-footer { display: none; }
.register-clean .auth-page {
    max-width: 1240px;
    min-height: 100svh;
    padding: 38px 28px;
    display: flex;
    align-items: center;
}
.register-clean .auth-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    align-items: stretch;
    width: 100%;
    max-width: none;
    margin: 0;
    gap: 8px;
}
.register-clean .register-home {
    position: absolute;
    z-index: 3;
    top: -8px;
    left: calc(54.545% - 26px);
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border: 1px solid #e7e9ed;
    border-radius: 17px;
    background: #fff;
    color: #14294c;
    box-shadow: 0 5px 10px #15243c20;
}
.register-clean .register-home svg { width: 25px; height: 25px; }
.register-clean .register-home:hover { background: #fff6ef; }
.register-clean .journey {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 730px;
    padding: 35px 24px 55px;
    align-items: center;
    border: 1px solid #e9edf1;
    border-radius: 24px;
    background: linear-gradient(180deg,#ffffffba 0%,#ffffff80 40%,#ffffff15 100%), url('/assets/auth-landscape-v1.png') center / cover;
    box-shadow: 0 8px 24px #1b2c4512;
}
.register-clean .journey::after {
    content: '';
    position: absolute;
    z-index: -1;
    bottom: -75px;
    left: -15%;
    width: 130%;
    height: 125px;
    border-radius: 50% 50% 0 0;
    background: #142e55;
    box-shadow: 0 -9px 0 #fff, 0 -22px 0 #ef7717, 0 -28px 0 #fff;
    transform: rotate(-3deg);
}
.register-clean .cooperative-mark {
    order: -1;
    display: block;
    width: min(86%, 350px);
    max-width: 100%;
    height: auto;
    margin: 0 auto 30px;
}
.register-clean .journey-copy { text-align: center; }
.register-clean .journey h1 {
    margin: 0 0 15px;
    font-size: clamp(27px, 2.7vw, 37px);
    line-height: 1.22;
    font-weight: 600;
    letter-spacing: -.04em;
}
.register-clean .journey-copy p {
    margin: 0 auto 19px;
    max-width: 390px;
    color: var(--ink);
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0;
}
.register-clean .desktop-break { display: none; }
.register-clean .route-pill {
    flex-wrap: wrap;
    gap: 9px;
    padding: 10px 16px;
    border: 1px solid #ffffffd9;
    background: #ffffffdb;
    color: #10213f;
    font-size: 11px;
    font-weight: 500;
    white-space: normal;
    backdrop-filter: none;
}
.register-clean .route-arrow { color: #d45c08; font-size: 22px; }
.register-clean .pin { background: #dc640c; width: 11px; height: 14px; }
.register-clean .pin::after { width: 4px; height: 4px; top: 3px; left: 3px; }
.register-clean .journey-bus {
    width: 115%;
    max-width: none;
    height: auto;
    margin: auto -7.5% -18px;
    object-fit: contain;
    filter: drop-shadow(0 13px 8px #152b4526);
}
.register-clean .cooperative-caption { display: none; }
.register-clean .glass-card {
    min-width: 0;
    padding: 58px 40px 28px;
    border: 1px solid #e8e8eb;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 8px 24px #1b2c4512;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.register-clean .glass-card h2 {
    margin: 0 0 8px;
    font-size: clamp(22px, 2vw, 27px);
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: -.035em;
}
.register-clean .form-intro {
    margin: 0 0 27px;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: 0;
}
.register-clean .field { margin-bottom: 17px; }
.register-clean .field label { margin-bottom: 6px; font-size: 13px; font-weight: 500; }
.register-clean .field > input,
.register-clean .input-shell {
    min-height: 46px;
    border: 1px solid #bcc3ce;
    border-radius: 6px;
    background: #fff;
}
.register-clean .field > input { padding: 11px 13px; font-size: 14px; }
.register-clean .input-shell { padding-left: 12px; gap: 8px; }
.register-clean .input-shell input { height: 44px; font-size: 14px; }
.register-clean .input-shell > svg { width: 17px; height: 19px; }
.register-clean .password-toggle { width: 42px; border-radius: 5px; }
.register-clean .password-toggle svg { width: 20px; height: 20px; }
.register-clean .password-help { margin: -7px 0 16px; font-size: 11px; line-height: 1.5; }
.register-clean .submit-button {
    min-height: 49px;
    margin-top: 7px;
    border-radius: 9px;
    background: linear-gradient(110deg,#f47e16,#db5800);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    box-shadow: 0 5px 14px #e86d1420;
}
.register-clean .submit-button > span:last-child { font-size: 23px; }
.register-clean .account-prompt { margin: 25px 0 0; padding: 19px 0 13px; font-size: 12px; }
.register-clean .account-prompt a { color: #b84b00; font-weight: 500; }
.register-clean .browse-link { border: 0; margin: 0; padding: 10px 0 0; font-size: 12px; color: #b84b00; }
.register-clean .browse-link .calendar-icon { width: 18px; height: 18px; }
.register-clean .form-notice { font-size: 12px; }
.register-clean .field > input:focus,
.register-clean .input-shell:focus-within { border-color: #1d67b6; box-shadow: 0 0 0 3px #1d67b61a; }
.register-clean .field > input[aria-invalid='true'],
.register-clean .input-shell:has([aria-invalid='true']) { border-color: #b42424; }
@media (max-width: 900px) and (min-width: 761px) {
    .register-clean .auth-page { padding: 28px 20px; }
    .register-clean .glass-card { padding: 54px 25px 25px; }
    .register-clean .journey { padding-inline: 18px; }
    .register-clean .route-pill { font-size: 10px; padding-inline: 9px; gap: 7px; }
}
/* Mobile reference: one full-width form card and the Home tile at top left. */
@media (max-width: 760px) {
    .register-clean .auth-page {
        display: block;
        max-width: 560px;
        min-height: 100svh;
        padding: 12px 10px 22px;
    }
    .register-clean .auth-grid { display: block; margin: 0; }
    .register-clean .journey { display: none; }
    .register-clean .register-home {
        top: 0;
        left: 0;
        width: 65px;
        height: 65px;
        border-radius: 19px;
        box-shadow: 0 6px 10px #00000024, 0 0 0 5px #fafafa;
    }
    .register-clean .register-home svg { width: 29px; height: 29px; }
    .register-clean .glass-card {
        width: 100%;
        min-height: calc(100svh - 34px);
        padding: 116px 26px 38px;
        border-radius: 23px;
    }
    .register-clean .glass-card h2 { font-size: 23px; font-weight: 600; margin-bottom: 12px; }
    .register-clean .form-intro { font-size: 14px; margin-bottom: 25px; }
    .register-clean .field { margin-bottom: 18px; }
    .register-clean .field label { font-size: 13px; }
    .register-clean .field > input,
    .register-clean .input-shell { min-height: 49px; }
    .register-clean .field > input,
    .register-clean .input-shell input { font-size: 16px; }
    .register-clean .input-shell input { height: 47px; }
    .register-clean .submit-button { min-height: 51px; font-size: 15px; margin-top: 13px; }
    .register-clean .account-prompt { margin-top: 28px; padding-top: 23px; font-size: 12px; }
}
@media (max-width: 360px) {
    .register-clean .glass-card { padding: 105px 19px 30px; }
    .register-clean .glass-card h2 { font-size: 21px; }
}
