/*
 * BrightMind Hub — Register page
 * Independent page stylesheet.
 * Scoped to .register-page so app.css cannot distort the layout.
 */

.register-page,
.register-page * {
    box-sizing: border-box;
}

.register-page {
    width: min(1080px, 94%) !important;
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: 42px 0 58px !important;
    color: #17301f !important;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.register-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 420px !important;
    gap: 58px !important;
    align-items: start !important;
}

.register-intro {
    min-width: 0 !important;
    padding: 8px 0 !important;
}

.register-kicker {
    display: inline-block !important;
    margin: 0 0 16px !important;
    color: #166534 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
}

.register-intro h1 {
    margin: 0 !important;
    color: #123b25 !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

.register-lead {
    max-width: 610px !important;
    margin: 15px 0 30px !important;
    color: #52645a !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.register-benefits {
    display: grid !important;
    gap: 14px !important;
    max-width: 620px !important;
}

.register-benefit {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    column-gap: 10px !important;
    align-items: start !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    border: 1px solid #e0e9e3 !important;
    border-radius: 10px !important;
}

.register-check {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 21px !important;
    height: 21px !important;
    margin-top: 1px !important;
    border-radius: 50% !important;
    background: #eaf7ee !important;
    color: #15803d !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.register-benefit strong {
    display: block !important;
    margin: 0 0 3px !important;
    color: #173d27 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}

.register-benefit span:not(.register-check) {
    display: block !important;
    color: #65756b !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

.register-form {
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 !important;
    padding: 25px 26px 26px !important;
    background: #ffffff !important;
    border: 1px solid #dce7df !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 30px rgba(15, 50, 28, .07) !important;
}

.register-form-head {
    margin: 0 0 19px !important;
}

.register-form-kicker {
    display: block !important;
    margin: 0 0 6px !important;
    color: #15803d !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .1em !important;
}

.register-form h2 {
    margin: 0 !important;
    color: #173d27 !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

.register-form-head p {
    margin: 5px 0 0 !important;
    color: #718078 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.register-error {
    margin: 0 0 16px !important;
    padding: 10px 12px !important;
    background: #fff4f2 !important;
    border: 1px solid #fecaca !important;
    border-radius: 8px !important;
    color: #991b1b !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.register-field {
    margin: 0 0 14px !important;
}

.register-field label {
    display: block !important;
    margin: 0 0 6px !important;
    color: #274234 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.register-field input,
.register-field select {
    display: block !important;
    width: 100% !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    border: 1px solid #cbd9d0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #17301f !important;
    font: inherit !important;
    font-size: 12px !important;
    line-height: 40px !important;
    outline: none !important;
    box-shadow: none !important;
}

.register-field select {
    cursor: pointer !important;
}

.register-field input::placeholder {
    color: #98a59e !important;
    opacity: 1 !important;
}

.register-field input:focus,
.register-field select:focus {
    border-color: #15803d !important;
    box-shadow: 0 0 0 3px rgba(21, 128, 61, .10) !important;
}

.register-field small {
    display: block !important;
    margin: 5px 0 0 !important;
    color: #7a8880 !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
}

.register-actions {
    display: grid !important;
    gap: 8px !important;
    margin-top: 19px !important;
}

.register-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 40px !important;
    padding: 9px 13px !important;
    border-radius: 8px !important;
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background .15s ease, border-color .15s ease, transform .15s ease !important;
}

.register-btn:hover {
    transform: translateY(-1px) !important;
}

.register-btn-primary {
    border: 1px solid #15803d !important;
    background: #15803d !important;
    color: #ffffff !important;
}

.register-btn-primary:hover {
    border-color: #166534 !important;
    background: #166534 !important;
}

.register-btn-secondary {
    border: 1px solid #d4e0d8 !important;
    background: #ffffff !important;
    color: #245333 !important;
}

.register-btn-secondary:hover {
    border-color: #a9c4b2 !important;
    background: #f6faf7 !important;
}

@media (max-width: 820px) {
    .register-page {
        padding: 30px 0 45px !important;
    }

    .register-layout {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .register-form {
        max-width: 560px !important;
    }

    .register-intro {
        padding: 0 !important;
    }

    .register-benefits {
        max-width: 700px !important;
    }
}

@media (max-width: 520px) {
    .register-page {
        width: 94% !important;
        padding: 24px 0 36px !important;
    }

    .register-intro h1 {
        font-size: 24px !important;
    }

    .register-lead {
        margin-bottom: 22px !important;
        font-size: 13px !important;
    }

    .register-form {
        padding: 21px 18px 20px !important;
        border-radius: 12px !important;
    }

    .register-benefit {
        padding: 11px 12px !important;
    }
}
