/* PD Group unified authentication design */
:root {
    --pd-green: #006b39;
    --pd-green-dark: #004b31;
    --pd-green-light: #4bc11b;
    --pd-gold: #f4aa17;
    --pd-ink: #14253a;
    --pd-muted: #63758b;
    --pd-line: #d6e3de;
}

body {
    background:
      radial-gradient(ellipse at 8% 95%,#d1eecf 0%,transparent 37%),
      radial-gradient(ellipse at 95% 8%,#e0f5df 0%,transparent 39%),
      repeating-radial-gradient(
        ellipse at 95% -10%,
        transparent 0 20px,
        rgba(0,107,57,.035) 21px 22px
      ),
      #f6faf8 !important;
    color:var(--pd-ink);
}

.pd-auth-logo {
    display:block;
    width:min(100%,265px);
    height:auto;
    margin:0 0 22px;
    object-fit:contain;
    object-position:left center;
}

.pd-login-v3 .pd-input,
.pd-auth-register input {
    border:1px solid var(--pd-line) !important;
    border-radius:10px !important;
    background:#fff !important;
    color:var(--pd-ink) !important;
    box-shadow:none !important;
}

.pd-login-v3 .pd-input:focus,
.pd-auth-register input:focus {
    border-color:var(--pd-green) !important;
    outline:3px solid rgba(0,107,57,.12) !important;
    outline-offset:0 !important;
}

.pd-login-v3 .pd-submit,
.pd-auth-register button[type=submit] {
    border:0 !important;
    border-radius:10px !important;
    background:linear-gradient(
        115deg,#004b31 0%,#00783e 73%,#269b34 100%
    ) !important;
    color:white !important;
    font-weight:750 !important;
    box-shadow:0 5px 12px rgba(0,80,40,.11) !important;
}

.pd-login-v3 .pd-submit:hover,
.pd-auth-register button[type=submit]:hover {
    filter:brightness(1.06);
}

.pd-login-v3 .pd-forgot,
.pd-login-v3 .pd-auth-signup a,
.pd-auth-register a {
    color:var(--pd-green) !important;
    font-weight:700;
}

.pd-login-v3 .pd-auth-signup {
    text-align:center;
    margin:18px 0 8px;
    color:var(--pd-muted);
    font-size:14px;
}

.pd-login-v3 .pd-auth-logo {
    margin:0 auto 18px;
}

.pd-auth-register {
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:25px 16px;
    font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,
         "Segoe UI",sans-serif;
}

.pd-auth-register *,
.pd-auth-register *::before,
.pd-auth-register *::after {
    box-sizing:border-box;
}

.pd-auth-register .pd-register-card {
    width:min(100%,460px);
    padding:32px;
    border-radius:18px;
    background:
       radial-gradient(ellipse at top right,#eff9ec 0%,transparent 42%),
       #fff;
    border:1px solid #e1eae5;
    box-shadow:0 18px 55px rgba(9,47,34,.08);
    position:relative;
    overflow:hidden;
}

.pd-auth-register .pd-register-card::before {
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:4px;
    background:linear-gradient(
        90deg,#005a34,#55c626 78%,#efae27
    );
}

.pd-auth-register h1 {
    margin:0 0 6px;
    font-size:27px;
    letter-spacing:-.8px;
    line-height:1.18;
    color:var(--pd-ink);
}

.pd-auth-register .pd-subtitle {
    margin:0 0 22px;
    color:var(--pd-muted);
}

.pd-auth-register .pd-names {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.pd-auth-register label {
    display:block;
    font-weight:650;
    font-size:13px;
    margin:14px 0 6px;
    color:#203448;
}

.pd-auth-register input {
    width:100%;
    min-width:0;
    padding:12px 13px;
    min-height:46px;
    font:inherit;
}

.pd-auth-register .pd-help {
    font-size:12px;
    color:var(--pd-muted);
    margin-top:6px;
}

.pd-auth-register .pd-error {
    color:#b42318;
    font-size:12px;
    margin-top:5px;
}

.pd-auth-register button[type=submit] {
    display:block;
    width:100%;
    min-height:47px;
    margin-top:22px;
    padding:12px;
    font:inherit;
    cursor:pointer;
}

.pd-auth-register .pd-register-footer {
    text-align:center;
    margin-top:19px;
    color:var(--pd-muted);
}

.pd-auth-register .pd-register-logo {
    width:min(100%,250px);
    height:auto;
    display:block;
    margin:0 0 23px;
}

@media(max-width:420px) {
    .pd-auth-register .pd-register-card {padding:24px 19px}
    .pd-auth-register .pd-names {grid-template-columns:1fr;gap:0}
    .pd-auth-register h1 {font-size:24px}
}


/* PD_GROUP_HORIZONTAL_LOGO_FIX */
img[src*="pd-group-logo.png"] {
    max-width: 320px;
    width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
}


/* PD_GROUP_AUTH_FINAL_POLISH */

/* Unified clean form proportions */
.pd-login-v3 .pd-auth-logo {
    display:block;
    width:min(100%,275px);
    max-height:130px;
    height:auto;
    margin:0 auto 20px;
    object-fit:contain;
}

.pd-auth-register .pd-register-logo {
    width:min(100%,275px);
    max-height:130px;
    height:auto;
    object-fit:contain;
    object-position:left center;
    margin:0 0 18px;
}

.pd-auth-register .pd-register-card {
    padding:27px 30px;
}

.pd-auth-register .pd-subtitle {
    margin-bottom:15px;
}

.pd-auth-register label {
    margin-top:11px;
    margin-bottom:5px;
}

.pd-auth-register input {
    min-height:43px;
    padding:10px 12px;
}

.pd-auth-register button[type=submit] {
    margin-top:18px;
    min-height:45px;
}

.pd-auth-register .pd-register-footer {
    margin-top:14px;
}

.pd-login-v3 .pd-auth-signup {
    margin:14px 0 6px;
}

@media(max-width:420px) {
    .pd-auth-register .pd-register-card {
        padding:23px 19px;
    }
    .pd-auth-register .pd-register-logo {
        width:min(100%,230px);
    }
}

/* Remove redundant legacy login branding only */
.pd-login-v3 .pd-brand-description {
    display:none !important;
}

/* PD_GROUP_REMOVE_DUPLICATE_HEADER */

/*
 * Hide the legacy brand-only container above the login form.
 * The :not(:has(form)) guard protects the actual login card.
 */
.pd-login-v3 :is(header, div)
    :has(.pd-brand-description):not(:has(form)) {
    display: none !important;
}

/* Keep the correct horizontal logo inside the card. */
.pd-login-v3 .pd-auth-logo {
    display: block !important;
    width: min(100%, 265px);
    max-height: 115px;
    height: auto;
    margin: 0 auto 12px !important;
    object-fit: contain;
}

/* Keep the sign-in content compact and readable. */
.pd-login-v3 .pd-auth-signup {
    margin-top: 12px;
    margin-bottom: 4px;
}

