/* Extracted from Views/PublicOnboarding/Register.cshtml. Keep view-specific rules isolated here. */

:root {
            --register-primary: #7d7a2b;
            --register-primary-dark: #5c5a1f;
            --register-accent: #c8102e;
            --register-accent-dark: #a30d25;
            --register-ink: #1f2937;
            --register-muted: #667085;
            --register-surface: #F5F6F8;
            --register-border: #dedfd3;
            --register-white: #ffffff;
        }

        .layout-main {
            padding-top: 0 !important;
            padding-bottom: 0 !important;
        }

        .public-register-page {
            position: relative;
            overflow: hidden;
            padding: 1rem 0 4.5rem;
        }

        .register-shell {
            position: relative;
            z-index: 1;
            max-width: 1180px;
            margin: 0 auto;
        }

        .register-page-heading {
            max-width: 720px;
            margin: 0 auto 2rem;
            text-align: center;
        }

        .register-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: .55rem;
            margin-bottom: .75rem;
            color: var(--register-accent);
            font-size: .77rem;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
        }

            .register-eyebrow::before,
            .register-eyebrow::after {
                content: "";
                width: 26px;
                height: 2px;
                background: var(--register-accent);
            }

        .register-page-heading h1 {
            margin-bottom: .7rem;
            color: var(--register-primary-dark);
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 800;
            line-height: 1.15;
        }

        .register-page-heading p {
            margin-bottom: 0;
            color: var(--register-muted);
            font-size: 1rem;
            line-height: 1.7;
        }

        .register-card {
            overflow: hidden;
            border: 1px solid #E5E7EB;
            border-radius: 24px;
            background: blue;
            box-shadow: 0 14px 40px rgba(15,23,42,.08);
        }

        .register-info-panel {
            position: relative;
            height: 100%;
            padding: 3rem;
            overflow: hidden;
            color: #fff;
            background: #0e0e0df7;
        }

            .register-info-panel::before {
                content: "";
                position: absolute;
                top: -140px;
                right: -130px;
                width: 310px;
                height: 310px;
                border-radius: 50%;
                background: rgba(255, 255, 255, .08);
            }

            .register-info-panel::after {
                content: "";
                position: absolute;
                bottom: -150px;
                left: -120px;
                width: 300px;
                height: 300px;
                border-radius: 50%;
                background: rgba(200, 16, 46, .18);
            }

        .register-info-content {
            position: relative;
            z-index: 1;
            display: flex;
            flex-direction: column;
            min-height: 100%;
        }

        .register-info-badge {
            display: inline-flex;
            align-items: center;
            align-self: flex-start;
            gap: .45rem;
            margin-bottom: 2rem;
            padding: .45rem .75rem;
            border: 1px solid rgba(255, 255, 255, .18);
            border-radius: 999px;
            background: rgba(255, 255, 255, .1);
            color: rgba(255, 255, 255, .94);
            font-size: .74rem;
            font-weight: 700;
            letter-spacing: .04em;
        }

        .register-info-panel h2 {
            margin-bottom: 1rem;
            font-size: clamp(1.8rem, 3vw, 2.5rem);
            font-weight: 800;
            line-height: 1.15;
        }

        .register-info-intro {
            margin-bottom: 2rem;
            color: rgba(255, 255, 255, .78);
            font-size: .97rem;
            line-height: 1.8;
        }

        .register-benefits {
            display: grid;
            gap: 1rem;
            margin-bottom: 2.2rem;
        }

        .register-benefit {
            display: flex;
            align-items: flex-start;
            gap: .85rem;
        }

        .register-benefit-icon {
            display: flex;
            flex: 0 0 42px;
            align-items: center;
            justify-content: center;
            width: 42px;
            height: 42px;
            border-radius: 12px;
            background: rgba(255, 255, 255, .12);
            color: #fff;
            font-size: 1rem;
        }

        .register-benefit h3 {
            margin: 0 0 .2rem;
            color: #fff;
            font-size: .93rem;
            font-weight: 700;
        }

        .register-benefit p {
            margin: 0;
            color: rgba(255, 255, 255, .66);
            font-size: .8rem;
            line-height: 1.55;
        }

        .register-security-note {
            display: flex;
            align-items: flex-start;
            gap: .75rem;
            margin-top: auto;
            padding-top: 1.4rem;
            border-top: 1px solid rgba(255, 255, 255, .15);
            color: rgba(255, 255, 255, .72);
            font-size: .8rem;
            line-height: 1.6;
        }

            .register-security-note i {
                margin-top: .12rem;
                color: #fff;
                font-size: 1rem;
            }

        .register-form-panel {
            padding: 3rem;
            background: #F5F6F8;
        }

        .register-form-header {
            margin-bottom: 1.5rem;
        }

            .register-form-header h2 {
                margin-bottom: .45rem;
                color: var(--register-ink);
                font-size: 1.7rem;
                font-weight: 800;
            }

            .register-form-header p {
                margin: 0;
                color: var(--register-muted);
                font-size: .93rem;
                line-height: 1.65;
            }

        .tenant-highlight {
            color: var(--register-primary-dark);
            font-weight: 700;
        }

        .registration-progress {
            display: flex;
            align-items: center;
            gap: .7rem;
            margin-bottom: 1.75rem;
            padding: .85rem 1rem;
            border: 1px solid rgba(125, 122, 43, .15);
            border-radius: 13px;
            background: rgba(125, 122, 43, .06);
        }

        .registration-progress-icon {
            display: flex;
            flex: 0 0 38px;
            align-items: center;
            justify-content: center;
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: #0E0E0DF7;
            color: #fff;
            font-weight: 800;
        }

        .registration-progress strong {
            display: block;
            color: #0E0E0DF7;
            font-size: .87rem;
        }

        .registration-progress span {
            color: var(--register-muted);
            font-size: .76rem;
        }

        .form-section {
            margin-bottom: 1.75rem;
        }

        .form-section-heading {
            display: flex;
            align-items: center;
            gap: .8rem;
            margin-bottom: 1.15rem;
        }

        .form-section-icon {
            display: flex;
            flex: 0 0 36px;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            border-radius: 10px;
            background: rgba(125, 122, 43, .11);
            color: var(--register-primary-dark);
        }

        .form-section-heading h3 {
            margin: 0;
            color: var(--register-ink);
            font-size: 1rem;
            font-weight: 800;
        }

        .form-section-heading p {
            margin: .1rem 0 0;
            color: var(--register-muted);
            font-size: .76rem;
        }

        .form-label {
            margin-bottom: .42rem;
            color: #344054;
            font-size: .86rem;
            font-weight: 700;
        }

        .required-marker {
            color: var(--register-accent);
        }

        .form-control,
        .form-select {
            min-height: 49px;
            padding: .72rem .9rem;
            border: 1px solid var(--register-border);
            border-radius: 11px;
            color: var(--register-ink);
            background-color: #fff;
            font-size: .92rem;
            transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
        }

            .form-control::placeholder {
                color: #98a2b3;
            }

            .form-control:hover,
            .form-select:hover {
                border-color: rgba(125, 122, 43, .55);
            }

            .form-control:focus,
            .form-select:focus {
                border-color: var(--register-primary);
                box-shadow: 0 0 0 .2rem rgba(125, 122, 43, .13);
            }

        .input-group .form-control {
            border-top-right-radius: 0;
            border-bottom-right-radius: 0;
        }

        .password-toggle {
            min-width: 48px;
            border-color: var(--register-border);
            border-left: 0;
            border-top-right-radius: 11px;
            border-bottom-right-radius: 11px;
            background: #fff;
            color: var(--register-muted);
        }

            .password-toggle:hover,
            .password-toggle:focus {
                border-color: var(--register-primary);
                background: rgba(125, 122, 43, .07);
                color: var(--register-primary-dark);
                box-shadow: none;
            }

        .field-help {
            display: block;
            margin-top: .35rem;
            color: var(--register-muted);
            font-size: .73rem;
            line-height: 1.45;
        }

        .field-validation-error {
            display: block;
            margin-top: .35rem;
            color: var(--register-accent);
            font-size: .76rem;
            font-weight: 600;
        }

        .validation-summary-valid {
            display: none;
        }

        .validation-summary-errors {
            margin-bottom: 1.5rem;
            padding: 1rem 1.1rem;
            border: 1px solid rgba(200, 16, 46, .22);
            border-radius: 12px;
            background: rgba(200, 16, 46, .06);
            color: #8f1024;
            font-size: .85rem;
        }

            .validation-summary-errors ul {
                margin: 0;
                padding-left: 1.1rem;
            }

        .register-divider {
            margin: 1.75rem 0;
            border-color: rgba(125, 122, 43, .13);
            opacity: 1;
        }

        .btn-register {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .5rem;
            min-height: 52px;
            border: 1px #545454;
            border-radius: 12px;
            background: #545454;
            color: #fff;
            font-weight: 800;
            box-shadow: 0 12px 24px rgba(200, 16, 46, .2);
            transition: transform .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
        }

            .btn-register:hover,
            .btn-register:focus {
                border-color: var(--register-accent-dark);
                background: White;
                color: #fff;
                transform: translateY(-1px);
                box-shadow: 0 15px 28px rgba(200, 16, 46, .25);
            }

        .register-note {
            display: flex;
            align-items: flex-start;
            justify-content: center;
            gap: .45rem;
            margin: 1rem auto 0;
            max-width: 560px;
            color: var(--register-muted);
            font-size: .76rem;
            line-height: 1.55;
            text-align: center;
        }

            .register-note i {
                margin-top: .08rem;
                color: var(--register-primary);
            }

        @media (max-width: 991.98px) {
            .public-register-page {
                padding: 2.5rem 0 3.5rem;
            }

            .register-info-panel,
            .register-form-panel {
                padding: 2.3rem;
            }

            .register-info-panel {
                min-height: auto;
            }

            .register-security-note {
                margin-top: 1.5rem;
            }
        }

        @media (max-width: 767.98px) {
            .public-register-page {
                padding: 2rem 0 3rem;
            }

            .register-page-heading {
                margin-bottom: 1.5rem;
            }

            .register-card {
                border-radius: 20px;
            }

            .register-info-panel,
            .register-form-panel {
                padding: 1.8rem;
            }
        }

        @media (max-width: 575.98px) {
            .public-register-page {
                padding: 1.5rem 0 2.5rem;
            }

            .register-page-heading h1 {
                font-size: 1.85rem;
            }

            .register-info-panel,
            .register-form-panel {
                padding: 1.4rem;
            }

                .register-info-panel h2 {
                    font-size: 1.65rem;
                }

            .register-form-header h2 {
                font-size: 1.45rem;
            }

            .registration-progress {
                align-items: flex-start;
            }
        }
        .onboarding-honeypot {
            position: absolute !important;
            width: 1px !important;
            height: 1px !important;
            overflow: hidden !important;
            clip: rect(0, 0, 0, 0) !important;
            white-space: nowrap !important;
        }
