/* PPDO MIS Professional Login Refresh — 2026-07-20
   Scoped to .ppdo-login-professional so authenticated MIS pages are unaffected. */

body:has(.ppdo-login-professional){
    margin:0!important;
    min-height:100vh!important;
    min-height:100dvh!important;
    overflow-x:hidden!important;
    background:
        radial-gradient(circle at 12% 12%,rgba(255,255,255,.16),transparent 26%),
        radial-gradient(circle at 88% 88%,rgba(7,43,72,.22),transparent 30%),
        linear-gradient(135deg,#087eb0 0%,#0c6d9d 48%,#07527d 100%)!important;
    color:#10243a!important;
}

body:has(.ppdo-login-professional)::before{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    pointer-events:none!important;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px)!important;
    background-size:46px 46px!important;
    opacity:.55!important;
    z-index:0!important;
}

body:has(.ppdo-login-professional)::after{
    display:none!important;
    content:none!important;
}

.ppdo-login-professional.login-wrap{
    position:relative!important;
    z-index:1!important;
    width:100%!important;
    min-height:100vh!important;
    min-height:100dvh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:38px!important;
    box-sizing:border-box!important;
    background:transparent!important;
}

.ppdo-login-professional .ppdo-login-card{
    width:min(1180px,calc(100vw - 56px))!important;
    min-height:680px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr)!important;
    align-items:stretch!important;
    overflow:hidden!important;
    position:relative!important;
    border-radius:26px!important;
    border:1px solid rgba(255,255,255,.58)!important;
    background:#fff!important;
    box-shadow:0 34px 90px rgba(2,28,48,.34),0 8px 24px rgba(2,28,48,.16)!important;
}

.ppdo-login-professional .ppdo-login-visual{
    position:relative!important;
    min-height:680px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    align-items:stretch!important;
    padding:34px 38px 38px!important;
    overflow:hidden!important;
    background-size:cover!important;
    background-position:center!important;
    isolation:isolate!important;
}

.ppdo-login-professional .ppdo-login-visual::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:-2!important;
    background:
        linear-gradient(180deg,rgba(4,27,48,.18) 0%,rgba(4,27,48,.12) 36%,rgba(4,27,48,.82) 100%),
        linear-gradient(90deg,rgba(4,57,91,.25),transparent 64%)!important;
}

.ppdo-login-professional .ppdo-login-visual::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:auto -110px -125px auto!important;
    width:350px!important;
    height:350px!important;
    border:1px solid rgba(255,255,255,.20)!important;
    border-radius:50%!important;
    box-shadow:0 0 0 45px rgba(255,255,255,.045),0 0 0 90px rgba(255,255,255,.025)!important;
    z-index:-1!important;
}

.ppdo-login-professional .ppdo-login-visual-top{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
}

.ppdo-login-professional .ppdo-login-kicker,
.ppdo-login-professional .ppdo-login-system-pill{
    display:inline-flex!important;
    align-items:center!important;
    min-height:34px!important;
    padding:8px 13px!important;
    border:1px solid rgba(255,255,255,.30)!important;
    border-radius:999px!important;
    color:#fff!important;
    background:rgba(6,33,56,.32)!important;
    backdrop-filter:blur(9px)!important;
    -webkit-backdrop-filter:blur(9px)!important;
    font-size:11px!important;
    font-weight:800!important;
    letter-spacing:.075em!important;
    text-transform:uppercase!important;
    text-shadow:0 2px 8px rgba(0,0,0,.26)!important;
}

.ppdo-login-professional .ppdo-login-system-pill::before{
    content:""!important;
    width:7px!important;
    height:7px!important;
    margin-right:8px!important;
    border-radius:50%!important;
    background:#61d994!important;
    box-shadow:0 0 0 4px rgba(97,217,148,.16)!important;
}

.ppdo-login-professional .ppdo-login-visual-copy.login-left-content{
    position:relative!important;
    z-index:2!important;
    width:min(590px,100%)!important;
    max-width:590px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    text-align:left!important;
    text-shadow:none!important;
}

.ppdo-login-professional .ppdo-login-eyebrow{
    display:inline-flex!important;
    align-items:center!important;
    gap:10px!important;
    margin:0 0 16px!important;
    color:#eaf7ff!important;
    font-size:12px!important;
    font-weight:850!important;
    letter-spacing:.14em!important;
    line-height:1.35!important;
    text-transform:uppercase!important;
}

.ppdo-login-professional .ppdo-login-eyebrow::before{
    content:""!important;
    width:32px!important;
    height:3px!important;
    border-radius:999px!important;
    background:#f3c54b!important;
    box-shadow:0 1px 8px rgba(243,197,75,.45)!important;
}

.ppdo-login-professional .login-system-title,
.ppdo-login-professional .ppdo-login-visual-copy h1{
    display:block!important;
    margin:0 0 16px!important;
    color:#fff!important;
    font-family:Inter,"Segoe UI",Arial,sans-serif!important;
    font-size:clamp(38px,4vw,58px)!important;
    font-weight:800!important;
    line-height:1.03!important;
    letter-spacing:-.035em!important;
    text-transform:none!important;
    text-shadow:0 5px 24px rgba(0,0,0,.28)!important;
}

.ppdo-login-professional .login-system-title span{
    display:inline-block!important;
    white-space:nowrap!important;
    color:#fff!important;
}

.ppdo-login-professional .ppdo-login-visual-copy p{
    max-width:520px!important;
    margin:0!important;
    color:rgba(255,255,255,.88)!important;
    font-family:Inter,"Segoe UI",Arial,sans-serif!important;
    font-size:17px!important;
    font-weight:500!important;
    line-height:1.65!important;
    text-shadow:0 2px 14px rgba(0,0,0,.26)!important;
}

.ppdo-login-professional .ppdo-login-capabilities{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin-top:22px!important;
}

.ppdo-login-professional .ppdo-login-capabilities span{
    display:inline-flex!important;
    align-items:center!important;
    min-height:32px!important;
    padding:7px 11px!important;
    border-radius:9px!important;
    border:1px solid rgba(255,255,255,.20)!important;
    background:rgba(4,27,48,.28)!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:750!important;
    letter-spacing:.025em!important;
    backdrop-filter:blur(6px)!important;
    -webkit-backdrop-filter:blur(6px)!important;
}

.ppdo-login-professional .ppdo-login-panel.auth-panel{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:44px 46px!important;
    background:linear-gradient(180deg,#ffffff 0%,#f7fafd 100%)!important;
    color:#10243a!important;
    position:relative!important;
    z-index:3!important;
}

.ppdo-login-professional .ppdo-login-panel::before{
    content:""!important;
    position:absolute!important;
    inset:0 auto 0 0!important;
    width:1px!important;
    background:linear-gradient(180deg,transparent,rgba(22,76,115,.16),transparent)!important;
}

.ppdo-login-professional .ppdo-login-form-shell{
    width:100%!important;
    max-width:430px!important;
    margin:0 auto!important;
}

.ppdo-login-professional .ppdo-login-brand{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:15px!important;
    align-items:center!important;
    margin-bottom:25px!important;
}

.ppdo-login-professional .ppdo-login-brand-logo,
.ppdo-login-professional .ppdo-login-brand-fallback{
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border-radius:18px!important;
    border:1px solid #dbe7f1!important;
    background:#fff!important;
    box-shadow:0 10px 25px rgba(18,58,111,.10)!important;
}

.ppdo-login-professional .ppdo-login-brand-logo img{
    display:block!important;
    width:54px!important;
    height:54px!important;
    max-width:54px!important;
    max-height:54px!important;
    object-fit:contain!important;
}

.ppdo-login-professional .ppdo-login-brand-fallback{
    background:linear-gradient(135deg,#0b4e7c,#0b83b6)!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:900!important;
    letter-spacing:.05em!important;
}

.ppdo-login-professional .ppdo-login-brand-copy{
    min-width:0!important;
}

.ppdo-login-professional .ppdo-login-brand-copy .ppdo-login-portal-label{
    display:block!important;
    margin:0 0 3px!important;
    color:#0b6fa5!important;
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
}

.ppdo-login-professional .login-form-title,
.ppdo-login-professional .ppdo-login-brand-copy h2{
    margin:0 0 4px!important;
    color:#103f66!important;
    font-family:Inter,"Segoe UI",Arial,sans-serif!important;
    font-size:27px!important;
    font-weight:800!important;
    line-height:1.13!important;
    letter-spacing:-.025em!important;
}

.ppdo-login-professional .ppdo-login-brand-copy p,
.ppdo-login-professional .auth-panel .muted{
    margin:0!important;
    color:#687c8f!important;
    font-size:13px!important;
    font-weight:500!important;
    line-height:1.45!important;
}

.ppdo-login-professional .flash{
    position:relative!important;
    margin:0 0 18px!important;
    padding:12px 14px 12px 42px!important;
    border-radius:12px!important;
    border:1px solid #c9dceb!important;
    background:#eef7fd!important;
    color:#244661!important;
    box-shadow:none!important;
    font-size:12px!important;
    font-weight:650!important;
    line-height:1.45!important;
}

.ppdo-login-professional .flash::before{
    content:"i"!important;
    position:absolute!important;
    left:14px!important;
    top:50%!important;
    width:18px!important;
    height:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:translateY(-50%)!important;
    border-radius:50%!important;
    background:#1679ad!important;
    color:#fff!important;
    font-family:Georgia,serif!important;
    font-size:12px!important;
    font-weight:900!important;
}

.ppdo-login-professional .flash-error,
.ppdo-login-professional .flash-danger{
    border-color:#f0c8c8!important;
    background:#fff3f3!important;
    color:#7c2d2d!important;
}

.ppdo-login-professional .flash-error::before,
.ppdo-login-professional .flash-danger::before{
    content:"!"!important;
    background:#ba3c3c!important;
}

.ppdo-login-professional .ppdo-login-form .field{
    margin:0 0 15px!important;
}

.ppdo-login-professional .ppdo-login-form .field label{
    display:block!important;
    margin:0 0 7px!important;
    color:#284b68!important;
    font-size:11px!important;
    font-weight:850!important;
    letter-spacing:.055em!important;
    line-height:1.2!important;
    text-transform:uppercase!important;
    text-shadow:none!important;
}

.ppdo-login-professional .ppdo-input-wrap{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
}

.ppdo-login-professional .ppdo-input-icon{
    position:absolute!important;
    left:14px!important;
    top:50%!important;
    width:18px!important;
    height:18px!important;
    transform:translateY(-50%)!important;
    color:#7891a6!important;
    pointer-events:none!important;
    z-index:2!important;
}

.ppdo-login-professional .ppdo-input-icon svg{
    display:block!important;
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
}

.ppdo-login-professional .ppdo-login-form input{
    width:100%!important;
    height:50px!important;
    margin:0!important;
    padding:0 46px 0 44px!important;
    border:1px solid #ccdbe7!important;
    border-radius:12px!important;
    outline:none!important;
    background:#fff!important;
    color:#10243a!important;
    font-family:Inter,"Segoe UI",Arial,sans-serif!important;
    font-size:14px!important;
    font-weight:550!important;
    box-shadow:0 1px 2px rgba(16,36,58,.025),inset 0 1px 2px rgba(16,36,58,.025)!important;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}

.ppdo-login-professional .ppdo-login-form input::placeholder{
    color:#9aabba!important;
    opacity:1!important;
}

.ppdo-login-professional .ppdo-login-form input:focus{
    border-color:#1683b7!important;
    background:#fff!important;
    box-shadow:0 0 0 4px rgba(22,131,183,.12)!important;
}

.ppdo-login-professional .ppdo-password-toggle{
    position:absolute!important;
    right:8px!important;
    top:50%!important;
    width:34px!important;
    height:34px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:translateY(-50%)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#70889c!important;
    box-shadow:none!important;
    cursor:pointer!important;
    z-index:3!important;
}

.ppdo-login-professional .ppdo-password-toggle:hover,
.ppdo-login-professional .ppdo-password-toggle:focus-visible{
    background:#edf5fa!important;
    color:#0b6fa5!important;
    outline:none!important;
}

.ppdo-login-professional .ppdo-password-toggle svg{
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
}

.ppdo-login-professional .ppdo-password-toggle .ppdo-eye-off{
    display:none!important;
}

.ppdo-login-professional .ppdo-password-toggle[aria-pressed="true"] .ppdo-eye-on{
    display:none!important;
}

.ppdo-login-professional .ppdo-password-toggle[aria-pressed="true"] .ppdo-eye-off{
    display:block!important;
}

.ppdo-login-professional .ppdo-login-submit.btn-primary{
    width:100%!important;
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    margin:5px 0 0!important;
    padding:12px 18px!important;
    border:0!important;
    border-radius:12px!important;
    background:linear-gradient(135deg,#0b4e7c 0%,#087fac 100%)!important;
    color:#fff!important;
    font-family:Inter,"Segoe UI",Arial,sans-serif!important;
    font-size:14px!important;
    font-weight:850!important;
    letter-spacing:.01em!important;
    box-shadow:0 12px 25px rgba(9,93,137,.22)!important;
    cursor:pointer!important;
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}

.ppdo-login-professional .ppdo-login-submit:hover{
    transform:translateY(-1px)!important;
    filter:brightness(1.035)!important;
    box-shadow:0 15px 30px rgba(9,93,137,.27)!important;
}

.ppdo-login-professional .ppdo-login-submit:active{
    transform:translateY(0)!important;
}

.ppdo-login-professional .ppdo-login-submit svg{
    width:17px!important;
    height:17px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
}

.ppdo-login-professional .ppdo-login-account-help{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:12px 0 0!important;
    color:#7b8c9c!important;
    font-size:11px!important;
    font-weight:550!important;
    line-height:1.45!important;
    text-align:center!important;
}

.ppdo-login-professional .ppdo-login-divider{
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
    margin:21px 0 13px!important;
    color:#8a9bab!important;
    font-size:10px!important;
    font-weight:850!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
}

.ppdo-login-professional .ppdo-login-divider::before,
.ppdo-login-professional .ppdo-login-divider::after{
    content:""!important;
    flex:1!important;
    height:1px!important;
    background:#dce6ee!important;
}

.ppdo-login-professional .employee-register-open{
    width:100%!important;
    min-height:46px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:0!important;
    padding:11px 16px!important;
    border:1px solid #cbdce8!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#14577f!important;
    font-family:Inter,"Segoe UI",Arial,sans-serif!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.3!important;
    text-align:center!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:background .18s ease,border-color .18s ease,transform .18s ease!important;
}

.ppdo-login-professional .employee-register-open:hover{
    transform:translateY(-1px)!important;
    border-color:#96bdd5!important;
    background:#f4f9fc!important;
}

.ppdo-login-professional .employee-register-open svg{
    width:17px!important;
    height:17px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.9!important;
}

.ppdo-login-professional .ppdo-login-reminder{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:11px!important;
    align-items:start!important;
    margin-top:16px!important;
    padding:12px 13px!important;
    border:1px solid #d8e6ef!important;
    border-radius:12px!important;
    background:#f4f9fc!important;
    color:#49657a!important;
}

.ppdo-login-professional .ppdo-login-reminder-icon{
    width:34px!important;
    height:34px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#0b78ad!important;
    box-shadow:0 4px 12px rgba(18,58,111,.07)!important;
}

.ppdo-login-professional .ppdo-login-reminder-icon svg{
    width:17px!important;
    height:17px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.9!important;
}

.ppdo-login-professional .ppdo-login-reminder strong{
    display:block!important;
    margin:0 0 2px!important;
    color:#284b68!important;
    font-size:11px!important;
    font-weight:850!important;
    letter-spacing:.025em!important;
}

.ppdo-login-professional .ppdo-login-reminder span{
    display:block!important;
    color:#60798c!important;
    font-size:11px!important;
    font-weight:500!important;
    line-height:1.45!important;
}

.ppdo-login-professional .employee-reg-modal{
    font-family:Inter,"Segoe UI",Arial,sans-serif!important;
}

@media (max-width:1040px){
    .ppdo-login-professional.login-wrap{
        padding:24px!important;
    }
    .ppdo-login-professional .ppdo-login-card{
        width:min(820px,calc(100vw - 34px))!important;
        min-height:0!important;
        grid-template-columns:1fr!important;
    }
    .ppdo-login-professional .ppdo-login-visual{
        min-height:310px!important;
        padding:26px 30px 30px!important;
        background-position:center 58%!important;
    }
    .ppdo-login-professional .ppdo-login-visual-copy.login-left-content{
        width:min(600px,100%)!important;
    }
    .ppdo-login-professional .login-system-title,
    .ppdo-login-professional .ppdo-login-visual-copy h1{
        font-size:38px!important;
        margin-bottom:10px!important;
    }
    .ppdo-login-professional .ppdo-login-visual-copy p{
        font-size:14px!important;
        line-height:1.5!important;
    }
    .ppdo-login-professional .ppdo-login-capabilities{
        margin-top:14px!important;
    }
    .ppdo-login-professional .ppdo-login-panel.auth-panel{
        padding:38px 44px!important;
    }
    .ppdo-login-professional .ppdo-login-panel::before{
        inset:0 0 auto 0!important;
        width:auto!important;
        height:1px!important;
    }
}

@media (max-width:640px){
    body:has(.ppdo-login-professional){
        background:linear-gradient(155deg,#087eb0,#07527d)!important;
    }
    .ppdo-login-professional.login-wrap{
        min-height:100dvh!important;
        padding:10px!important;
        align-items:flex-start!important;
    }
    .ppdo-login-professional .ppdo-login-card{
        width:100%!important;
        max-width:100%!important;
        min-height:calc(100dvh - 20px)!important;
        display:flex!important;
        flex-direction:column!important;
        border-radius:19px!important;
    }
    .ppdo-login-professional .ppdo-login-visual{
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        height:auto!important;
        min-height:205px!important;
        padding:18px 18px 20px!important;
        display:flex!important;
        opacity:1!important;
        background-position:center 56%!important;
    }
    .ppdo-login-professional .ppdo-login-visual-top{
        gap:8px!important;
    }
    .ppdo-login-professional .ppdo-login-kicker,
    .ppdo-login-professional .ppdo-login-system-pill{
        min-height:28px!important;
        padding:6px 9px!important;
        font-size:8px!important;
        letter-spacing:.055em!important;
    }
    .ppdo-login-professional .ppdo-login-visual-copy.login-left-content{
        position:relative!important;
        inset:auto!important;
        margin-top:32px!important;
        padding:0!important;
        background:transparent!important;
        border:0!important;
        backdrop-filter:none!important;
    }
    .ppdo-login-professional .ppdo-login-eyebrow{
        margin-bottom:7px!important;
        font-size:8px!important;
        letter-spacing:.08em!important;
    }
    .ppdo-login-professional .ppdo-login-eyebrow::before{
        width:20px!important;
        height:2px!important;
    }
    .ppdo-login-professional .login-system-title,
    .ppdo-login-professional .ppdo-login-visual-copy h1{
        margin:0 0 6px!important;
        font-size:25px!important;
        line-height:1.02!important;
    }
    .ppdo-login-professional .ppdo-login-visual-copy p{
        max-width:330px!important;
        max-height:none!important;
        overflow:visible!important;
        font-size:11px!important;
        line-height:1.35!important;
    }
    .ppdo-login-professional .ppdo-login-capabilities{
        display:none!important;
    }
    .ppdo-login-professional .ppdo-login-panel.auth-panel{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:25px 20px 22px!important;
        border:0!important;
        border-radius:0!important;
        background:#fff!important;
        box-shadow:none!important;
        backdrop-filter:none!important;
        -webkit-backdrop-filter:none!important;
    }
    .ppdo-login-professional .ppdo-login-form-shell{
        max-width:430px!important;
    }
    .ppdo-login-professional .ppdo-login-brand{
        grid-template-columns:52px minmax(0,1fr)!important;
        gap:12px!important;
        margin-bottom:20px!important;
    }
    .ppdo-login-professional .ppdo-login-brand-logo,
    .ppdo-login-professional .ppdo-login-brand-fallback{
        width:52px!important;
        height:52px!important;
        min-width:52px!important;
        border-radius:15px!important;
    }
    .ppdo-login-professional .ppdo-login-brand-logo img{
        width:44px!important;
        height:44px!important;
        max-width:44px!important;
        max-height:44px!important;
    }
    .ppdo-login-professional .login-form-title,
    .ppdo-login-professional .ppdo-login-brand-copy h2{
        font-size:23px!important;
    }
    .ppdo-login-professional .ppdo-login-brand-copy p{
        font-size:11px!important;
    }
    .ppdo-login-professional .ppdo-login-form input{
        height:48px!important;
    }
    .ppdo-login-professional .ppdo-login-reminder{
        margin-top:13px!important;
    }
    .ppdo-login-professional .employee-reg-modal{
        padding:10px!important;
    }
}

@media (max-height:760px) and (min-width:1041px){
    .ppdo-login-professional.login-wrap{
        padding:20px!important;
    }
    .ppdo-login-professional .ppdo-login-card,
    .ppdo-login-professional .ppdo-login-visual{
        min-height:620px!important;
    }
    .ppdo-login-professional .ppdo-login-panel.auth-panel{
        padding-top:30px!important;
        padding-bottom:30px!important;
    }
}

@media (prefers-reduced-motion:reduce){
    .ppdo-login-professional *,
    .ppdo-login-professional *::before,
    .ppdo-login-professional *::after{
        scroll-behavior:auto!important;
        transition:none!important;
        animation:none!important;
    }
}

/* Employee registration modal viewport fix — 2026-07-20
   The modal is moved to <body> by JS so it cannot be clipped by the login card's
   backdrop-filter/overflow context. These selectors intentionally are not nested. */
body.ppdo-employee-reg-open{
    overflow:hidden!important;
}

.employee-reg-modal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
    overflow:auto!important;
    box-sizing:border-box!important;
    background:rgba(4,24,42,.72)!important;
    backdrop-filter:blur(5px)!important;
    -webkit-backdrop-filter:blur(5px)!important;
    z-index:2147483600!important;
}

.employee-reg-modal.show{
    display:flex!important;
}

.employee-reg-modal .employee-reg-box{
    position:relative!important;
    width:min(920px,calc(100vw - 48px))!important;
    max-width:920px!important;
    max-height:calc(100vh - 48px)!important;
    max-height:calc(100dvh - 48px)!important;
    margin:auto!important;
    padding:28px!important;
    overflow:auto!important;
    box-sizing:border-box!important;
    border:1px solid #d8e4ee!important;
    border-radius:20px!important;
    background:#fff!important;
    color:#10243a!important;
    box-shadow:0 30px 90px rgba(2,28,48,.42)!important;
    font-family:Inter,"Segoe UI",Arial,sans-serif!important;
}

.employee-reg-modal .employee-reg-head{
    position:sticky!important;
    top:-28px!important;
    z-index:4!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:20px!important;
    margin:0 0 20px!important;
    padding:26px 0 17px!important;
    border-bottom:1px solid #dbe6ef!important;
    background:#fff!important;
}

.employee-reg-modal .employee-reg-head h3{
    margin:0 0 5px!important;
    color:#174d7a!important;
    font-size:26px!important;
    line-height:1.15!important;
    font-weight:850!important;
}

.employee-reg-modal .employee-reg-head p{
    max-width:720px!important;
    margin:0!important;
    color:#607286!important;
    font-size:14px!important;
    line-height:1.5!important;
}

.employee-reg-modal .employee-reg-close{
    flex:0 0 40px!important;
    width:40px!important;
    height:40px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    border:1px solid #cfdeea!important;
    border-radius:50%!important;
    background:#f4f8fb!important;
    color:#174d7a!important;
    font-size:25px!important;
    line-height:1!important;
    font-weight:700!important;
    cursor:pointer!important;
}

.employee-reg-modal .employee-reg-close:hover{
    background:#e7f2fa!important;
}

.employee-reg-modal form,
.employee-reg-modal .form-grid,
.employee-reg-modal .field{
    min-width:0!important;
    box-sizing:border-box!important;
}

.employee-reg-modal .form-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:15px 18px!important;
}

.employee-reg-modal .field.full{
    grid-column:1 / -1!important;
}

.employee-reg-modal .field label{
    display:block!important;
    margin:0 0 7px!important;
    color:#36536d!important;
    font-size:12px!important;
    font-weight:800!important;
}

.employee-reg-modal input,
.employee-reg-modal select,
.employee-reg-modal textarea{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    padding:10px 13px!important;
    box-sizing:border-box!important;
    border:1px solid #cbd8e3!important;
    border-radius:10px!important;
    outline:none!important;
    background:#fff!important;
    color:#10243a!important;
    font:500 14px/1.35 Inter,"Segoe UI",Arial,sans-serif!important;
}

.employee-reg-modal input:focus,
.employee-reg-modal select:focus,
.employee-reg-modal textarea:focus{
    border-color:#1683bc!important;
    box-shadow:0 0 0 3px rgba(22,131,188,.14)!important;
}

.employee-reg-modal .toolbar{
    display:flex!important;
    justify-content:flex-end!important;
    margin-top:20px!important;
    padding-top:18px!important;
    border-top:1px solid #e3ebf2!important;
}

.employee-reg-modal .toolbar .btn{
    min-height:44px!important;
    padding:11px 20px!important;
    border:0!important;
    border-radius:10px!important;
    background:#087f58!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:850!important;
    cursor:pointer!important;
    box-shadow:0 8px 18px rgba(8,127,88,.18)!important;
}

@media (max-width:720px){
    .employee-reg-modal{
        align-items:flex-start!important;
        padding:10px!important;
    }
    .employee-reg-modal .employee-reg-box{
        width:100%!important;
        max-width:none!important;
        max-height:calc(100dvh - 20px)!important;
        padding:19px!important;
        border-radius:16px!important;
    }
    .employee-reg-modal .employee-reg-head{
        top:-19px!important;
        padding:18px 0 14px!important;
    }
    .employee-reg-modal .employee-reg-head h3{
        font-size:22px!important;
    }
    .employee-reg-modal .employee-reg-head p{
        font-size:12px!important;
    }
    .employee-reg-modal .form-grid{
        grid-template-columns:1fr!important;
        gap:13px!important;
    }
    .employee-reg-modal .field.full{
        grid-column:auto!important;
    }
    .employee-reg-modal .toolbar .btn{
        width:100%!important;
    }
}

@media (max-height:700px) and (min-width:721px){
    .employee-reg-modal{
        align-items:flex-start!important;
        padding:12px!important;
    }
    .employee-reg-modal .employee-reg-box{
        max-height:calc(100dvh - 24px)!important;
    }
}


/* Registration modal must remain closed until the user explicitly opens it. */
.employee-reg-modal[hidden],
.employee-reg-modal:not(.show){
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}
.employee-reg-modal.show:not([hidden]){
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
}
