/* Shared authentication UI polish for BriispGuard.
   Keeps the existing green palette and changes presentation only. */
:root {
    --auth-green-900: #0b1f13;
    --auth-green-800: #123822;
    --auth-green-700: #1B4332;
    --auth-green-600: #2D6A4F;
    --auth-green-500: #40916C;
    --auth-green-300: #74C69D;
    --auth-surface: #ffffff;
    --auth-surface-soft: #f8fcf8;
    --auth-page: #eef7ef;
    --auth-border: #dceadc;
    --auth-text: #15231a;
    --auth-muted: #69766d;
}

.reg-right,
.rg-r,
.lp-r,
.plp-r,
.alp-r {
    background:
        linear-gradient(180deg, rgba(255,255,255,.44), rgba(255,255,255,0) 42%),
        radial-gradient(circle at 78% 12%, rgba(116,198,157,.2), transparent 34%),
        var(--auth-page) !important;
}

.reg-card,
.rg-form-card,
.lp-card,
.plp-card,
.alp-card,
.login-form-ultimate,
.login-card {
    border: 1px solid rgba(27,67,50,.12) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow:
        0 24px 65px rgba(27,67,50,.14),
        0 2px 10px rgba(27,67,50,.06) !important;
}

.reg-card,
.rg-form-card,
.lp-card,
.plp-card,
.alp-card {
    padding: clamp(1.4rem, 2.6vw, 2.25rem) !important;
}

.reg-heading h1,
.rg-form-heading,
.lp-heading,
.plp-heading,
.alp-heading,
.login-title-epic,
.logo-title {
    color: var(--auth-green-700) !important;
    letter-spacing: -.02em !important;
}

.reg-heading p,
.rg-form-sub,
.lp-subtext,
.plp-subtext,
.alp-subtext,
.login-subtitle-epic,
.logo-sub {
    color: var(--auth-muted) !important;
}

.reg-section,
.rg-section-lbl {
    border-bottom-color: rgba(64,145,108,.2) !important;
    color: var(--auth-green-700) !important;
}

.reg-input,
.reg-select,
.reg-textarea,
.rg-input,
.rg-select,
.lp-field-wrap,
.plp-field-wrap,
.alp-field-wrap,
.form-group input,
.input-ultimate {
    border-color: #d8e4d8 !important;
    background: var(--auth-surface-soft) !important;
    color: var(--auth-text) !important;
}

.reg-input,
.reg-select,
.reg-textarea,
.rg-input,
.rg-select,
.form-group input,
.input-ultimate {
    min-height: 44px;
    border-radius: 10px !important;
}

.reg-input:focus,
.reg-select:focus,
.reg-textarea:focus,
.rg-input:focus,
.rg-select:focus,
.form-group input:focus,
.input-ultimate:focus,
.lp-field-wrap:focus-within,
.plp-field-wrap:focus-within,
.alp-field-wrap:focus-within {
    border-color: var(--auth-green-500) !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(64,145,108,.14) !important;
}

.reg-label,
.rg-label,
.lp-field-label,
.plp-field-label,
.alp-field-label,
.form-group label,
.form-group-ultimate label {
    color: #314238 !important;
}

.reg-submit,
.rg-submit,
.lp-submit,
.plp-submit,
.alp-submit,
.btn-login,
.btn-login-ultimate,
.reg-type-card-btn {
    background: linear-gradient(135deg, var(--auth-green-700), var(--auth-green-600)) !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 26px rgba(27,67,50,.22) !important;
    color: #fff !important;
}

.reg-submit:hover,
.rg-submit:hover,
.lp-submit:hover,
.plp-submit:hover,
.alp-submit:hover,
.btn-login:hover,
.btn-login-ultimate:hover,
.reg-type-card:hover .reg-type-card-btn {
    transform: translateY(-1px) !important;
    box-shadow: 0 16px 34px rgba(27,67,50,.28) !important;
}

.reg-type-card,
.action-card-ultimate,
.lp-portal,
.plp-portal,
.alp-portal {
    border-color: rgba(27,67,50,.12) !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 8px 24px rgba(27,67,50,.08) !important;
}

.reg-type-card:hover,
.action-card-ultimate:hover,
.lp-portal:hover,
.plp-portal:hover,
.alp-portal:hover {
    border-color: rgba(64,145,108,.45) !important;
    transform: translateY(-2px) !important;
}

.reg-left,
.rg-l,
.lp-l,
.plp-l,
.alp-l {
    background:
        linear-gradient(150deg, #07190f 0%, var(--auth-green-900) 42%, var(--auth-green-700) 100%) !important;
}

.reg-left-badge,
.portal-badge {
    background: rgba(116,198,157,.14) !important;
    border-color: rgba(116,198,157,.3) !important;
    color: var(--auth-green-300) !important;
}

.message,
.reg-alert,
.lp-err,
.plp-err,
.alp-err,
.error-msg,
.lp-ok,
.plp-ok,
.alp-ok {
    border-radius: 10px !important;
}

.toggle-ultimate::before {
    content: "Show";
    font-size: .72rem;
    font-weight: 700;
}

.toggle-ultimate.is-visible::before {
    content: "Hide";
}

.form-group-ultimate label::before {
    content: none !important;
}

.login-master-grid {
    background:
        linear-gradient(135deg, #081a0f 0%, #123822 48%, #1B4332 100%) !important;
}

.login-ultimate-section {
    background: var(--auth-page) !important;
}

.login-form-ultimate {
    color: var(--auth-text) !important;
}

.login-tips {
    background: rgba(255,255,255,.9) !important;
    border: 1px solid rgba(27,67,50,.12) !important;
    border-radius: 12px !important;
    color: var(--auth-muted) !important;
    box-shadow: 0 8px 24px rgba(27,67,50,.08) !important;
}

@media (max-width: 700px) {
    #lp-wrap,
    #plp-wrap,
    #alp-wrap {
        min-height: calc(100vh - 60px) !important;
    }

    .lp-l,
    .plp-l,
    .alp-l {
        display: none !important;
    }

    .lp-r,
    .plp-r,
    .alp-r {
        min-height: calc(100vh - 60px) !important;
        justify-content: center !important;
        padding: 1rem !important;
    }

    .reg-card,
    .rg-form-card,
    .lp-card,
    .plp-card,
    .alp-card,
    .login-form-ultimate,
    .login-card {
        border-radius: 14px !important;
        width: 100% !important;
        max-width: 430px !important;
        padding: 1.35rem 1rem !important;
    }

    .lp-mobile-logo {
        display: flex !important;
    }

    .lp-heading,
    .plp-heading,
    .alp-heading {
        font-size: 1.35rem !important;
    }

    .lp-subtext,
    .plp-subtext,
    .alp-subtext {
        margin-bottom: 1rem !important;
    }

    .lp-field,
    .plp-field,
    .alp-field {
        margin-bottom: .75rem !important;
    }

    .lp-submit,
    .plp-submit,
    .alp-submit {
        min-height: 46px !important;
        padding: .82rem 1rem !important;
        white-space: normal !important;
        line-height: 1.25 !important;
    }

    .reg-right,
    .rg-r,
    .lp-r,
    .plp-r,
    .alp-r {
        padding: 1.25rem !important;
    }
}
