
/* ==========================================================================
   Parkify Auth Enterprise v2
   Login + Register
   ========================================================================== */

:root{
    --ae-bg:#06111f;
    --ae-panel:#0b1828;
    --ae-panel-2:#102138;
    --ae-line:rgba(148,163,184,.16);
    --ae-line-strong:rgba(148,163,184,.28);
    --ae-text:#f8fafc;
    --ae-soft:#dce7f3;
    --ae-muted:#91a3b8;
    --ae-faint:#60738a;
    --ae-green:#22d3a6;
    --ae-blue:#4d8dff;
    --ae-danger:#fb7185;
    --ae-warning:#fbbf24;
    --ae-shadow:0 28px 90px rgba(0,0,0,.34);
}

body.pf-auth-enterprise-page{
    min-height:100dvh;
    background:
        radial-gradient(circle at 8% 0%,rgba(34,211,166,.11),transparent 30rem),
        radial-gradient(circle at 92% 0%,rgba(77,141,255,.14),transparent 36rem),
        linear-gradient(180deg,#050d18,var(--ae-bg) 58%,#081523);
}

body.pf-auth-enterprise-page .pf-page-main{
    min-height:calc(100dvh - 72px);
    display:flex;
    flex-direction:column;
}

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

.ae-page{
    width:min(calc(100% - clamp(20px,4vw,64px)),1480px);
    margin-inline:auto;
    display:grid;
    grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);
    gap:18px;
    align-items:stretch;
    padding:clamp(26px,4vw,54px) 0 clamp(34px,5vw,70px);
    color:var(--ae-text);
    flex:1 0 auto;
}

.ae-visual,
.ae-shell{
    border:1px solid var(--ae-line);
    border-radius:24px;
    box-shadow:var(--ae-shadow);
}

.ae-visual{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    min-height:620px;
    padding:clamp(28px,4vw,54px);
    background:
        radial-gradient(circle at 10% 0%,rgba(34,211,166,.25),transparent 26rem),
        radial-gradient(circle at 100% 100%,rgba(77,141,255,.22),transparent 28rem),
        linear-gradient(145deg,#12334b,#0a1b2f 72%);
}

.ae-visual::before,
.ae-visual::after{
    content:"";
    position:absolute;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.08);
}

.ae-visual::before{
    width:340px;
    height:340px;
    right:-100px;
    top:-80px;
}

.ae-visual::after{
    width:220px;
    height:220px;
    left:-70px;
    bottom:-70px;
}

.ae-visual-content{
    position:relative;
    z-index:1;
    max-width:620px;
}

.ae-visual-kicker{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    color:#8cf2d4;
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.ae-visual-kicker::before{
    content:"";
    width:.46rem;
    height:.46rem;
    border-radius:50%;
    background:var(--ae-green);
    box-shadow:0 0 0 7px rgba(34,211,166,.1);
}

.ae-visual h2{
    max-width:720px;
    margin:18px 0 14px;
    font-size:clamp(38px,4.8vw,72px);
    line-height:.98;
    letter-spacing:-.06em;
}

.ae-visual p{
    max-width:600px;
    margin:0;
    color:#bfd0e2;
    font-size:clamp(.98rem,1.1vw,1.08rem);
    line-height:1.72;
}

.ae-visual-points{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:26px;
}

.ae-visual-points span{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:999px;
    background:rgba(255,255,255,.05);
    color:#e7f1fb;
    font-size:.76rem;
    font-weight:800;
}

.ae-shell{
    width:100%;
    display:grid;
    place-items:center;
    padding:clamp(22px,3vw,42px);
    background:
        linear-gradient(180deg,rgba(255,255,255,.018),transparent 24%),
        rgba(11,24,40,.94);
}

.ae-shell--login{
    align-self:stretch;
}

.ae-card{
    width:min(100%,760px);
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}

.ae-card--login{
    width:min(100%,520px);
}

.ae-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1.5rem;
}

.ae-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    color:#7ce8cb;
    font-size:.69rem;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.ae-eyebrow::before{
    content:"";
    width:.4rem;
    height:.4rem;
    border-radius:50%;
    background:var(--ae-green);
}

.ae-header h1{
    margin:.42rem 0 0;
    color:var(--ae-text);
    font-size:clamp(2rem,3.4vw,3rem);
    font-weight:850;
    line-height:1.02;
    letter-spacing:-.055em;
}

.ae-header p{
    margin:.55rem 0 0;
    color:var(--ae-muted);
    font-size:.9rem;
    line-height:1.55;
}

.ae-header-link{
    flex:0 0 auto;
    color:#7ee7ff;
    font-size:.77rem;
    font-weight:900;
    text-decoration:none;
}

.ae-header-link:hover{
    color:#fff;
}

.ae-alert{
    margin-bottom:1rem;
    padding:.9rem 1rem;
    border-radius:12px;
    font-size:.82rem;
    line-height:1.5;
}

.ae-alert--error{
    border:1px solid rgba(251,113,133,.3);
    background:rgba(251,113,133,.08);
    color:#fecdd3;
}

.ae-alert--success{
    border:1px solid rgba(34,211,166,.3);
    background:rgba(34,211,166,.08);
    color:#bbf7d0;
}

.ae-form{
    display:grid;
    gap:1rem;
}

.ae-grid{
    display:grid;
    gap:.9rem;
}

.ae-grid--2{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.ae-field{
    display:grid;
    gap:.42rem;
    min-width:0;
}

.ae-field>label,
.ae-label-row label{
    color:var(--ae-soft);
    font-size:.76rem;
    font-weight:800;
}

.ae-field label b,
.ae-label-row label b{
    color:#fda4af;
}

.ae-input,
.ae-phone{
    width:100%;
    min-height:52px;
    border:1px solid var(--ae-line);
    border-radius:12px;
    background:var(--ae-panel-2);
    color:var(--ae-text);
    outline:none;
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}

.ae-input{
    padding:.8rem .95rem;
    font:inherit;
    font-size:.9rem;
}

.ae-input::placeholder{
    color:var(--ae-faint);
}

.ae-input:hover,
.ae-phone:hover{
    border-color:var(--ae-line-strong);
}

.ae-input:focus,
.ae-phone:focus-within{
    border-color:rgba(34,211,166,.58);
    background:#12243c;
    box-shadow:0 0 0 3px rgba(34,211,166,.1);
}

.ae-input.is-invalid,
.ae-phone.is-invalid{
    border-color:rgba(251,113,133,.7);
}

.ae-phone{
    display:grid;
    grid-template-columns:190px minmax(0,1fr);
    align-items:stretch;
    overflow:visible;
}

.ae-phone-code{
    min-width:0;
    border-right:1px solid var(--ae-line);
}

.ae-phone>input{
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:var(--ae-text);
    padding:0 .9rem;
    font:inherit;
    font-size:.88rem;
}

.ae-phone .pf-custom-select,
.ae-phone .pf-custom-select__trigger{
    height:100%;
}

.ae-phone .pf-custom-select__trigger{
    min-height:50px;
    padding:0 .82rem;
    border:0;
    border-radius:11px 0 0 11px;
    background:transparent;
    box-shadow:none;
}

.ae-phone .pf-custom-select__panel{
    min-width:18rem;
}

.ae-password{
    position:relative;
}

.ae-password .ae-input{
    padding-right:3.2rem;
}

.ae-password button{
    position:absolute;
    top:50%;
    right:.55rem;
    transform:translateY(-50%);
    display:grid;
    place-items:center;
    width:2.25rem;
    height:2.25rem;
    border:0;
    border-radius:9px;
    background:transparent;
    color:var(--ae-muted);
    cursor:pointer;
}

.ae-password button:hover{
    color:#fff;
    background:rgba(255,255,255,.06);
}

.ae-strength{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:.3rem;
}

.ae-strength span{
    height:3px;
    border-radius:999px;
    background:rgba(148,163,184,.15);
}

.ae-strength[data-level="1"] span:nth-child(-n+1){background:#ef4444}
.ae-strength[data-level="2"] span:nth-child(-n+2){background:#f59e0b}
.ae-strength[data-level="3"] span:nth-child(-n+3){background:#06b6d4}
.ae-strength[data-level="4"] span:nth-child(-n+4){background:#10b981}

.ae-match{
    min-height:1rem;
    color:var(--ae-muted);
    font-size:.7rem;
    font-weight:700;
}

.ae-match.is-valid{color:#6ee7b7}
.ae-match.is-invalid{color:#fca5a5}

.ae-error{
    color:#fca5a5;
    font-size:.71rem;
    font-weight:700;
    line-height:1.4;
}

.ae-check{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:.6rem;
    align-items:start;
    color:var(--ae-muted);
    font-size:.77rem;
    line-height:1.5;
    cursor:pointer;
}

.ae-check input{
    width:1rem;
    height:1rem;
    margin-top:.12rem;
    accent-color:var(--ae-green);
}

.ae-check a{
    color:#7ee7ff;
    font-weight:800;
    text-decoration:none;
}

.ae-label-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
}

.ae-label-row a{
    color:#7ee7ff;
    font-size:.72rem;
    font-weight:800;
    text-decoration:none;
}

.ae-submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:52px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    background:linear-gradient(135deg,var(--ae-green),var(--ae-blue));
    color:#fff;
    box-shadow:0 14px 32px rgba(34,211,166,.18);
    font:inherit;
    font-size:.9rem;
    font-weight:900;
    cursor:pointer;
    transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}

.ae-submit:hover{
    transform:translateY(-1px);
    filter:brightness(1.05);
    box-shadow:0 18px 38px rgba(34,211,166,.24);
}

.ae-submit:disabled{
    opacity:.65;
    cursor:not-allowed;
    transform:none;
}

@media(max-width:1100px){
    .ae-page{
        grid-template-columns:1fr;
    }

    .ae-visual{
        min-height:330px;
    }

    .ae-visual h2{
        max-width:850px;
        font-size:clamp(34px,6vw,58px);
    }
}

@media(max-width:700px){
    body.pf-auth-enterprise-page .pf-page-main{
        min-height:calc(100dvh - 64px);
    }

    .ae-page{
        width:calc(100% - 12px);
        padding:12px 0 28px;
        gap:10px;
    }

    .ae-visual{
        min-height:260px;
        padding:24px;
        border-radius:18px;
    }

    .ae-visual p{
        font-size:.9rem;
    }

    .ae-shell{
        padding:22px 18px;
        border-radius:18px;
    }

    .ae-header{
        display:grid;
        gap:.7rem;
    }

    .ae-header-link{
        width:max-content;
    }

    .ae-grid--2{
        grid-template-columns:1fr;
    }

    .ae-phone{
        grid-template-columns:155px minmax(0,1fr);
    }
}

@media(max-width:420px){
    .ae-visual{
        min-height:230px;
        padding:20px;
    }

    .ae-visual h2{
        font-size:32px;
    }

    .ae-visual-points{
        display:none;
    }

    .ae-shell{
        padding:18px 14px;
    }

    .ae-phone{
        grid-template-columns:135px minmax(0,1fr);
    }
}


/* ==========================================================================
   Password recovery and auth result pages
   ========================================================================== */

.ae-page--compact{
    grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr);
}

.ae-page--compact .ae-visual{
    min-height:560px;
}

.ae-shell--compact{
    min-height:560px;
}

.ae-card--compact{
    width:min(100%,540px);
}

.ae-result{
    display:grid;
    justify-items:start;
    gap:14px;
}

.ae-result-icon{
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    border:1px solid rgba(34,211,166,.25);
    border-radius:20px;
    background:
        radial-gradient(circle at 30% 20%,rgba(34,211,166,.22),transparent 70%),
        rgba(34,211,166,.08);
    color:#baf7e6;
    font-size:1.4rem;
    font-weight:950;
}

.ae-result-icon--danger{
    border-color:rgba(251,113,133,.3);
    background:rgba(251,113,133,.08);
    color:#fecdd3;
}

.ae-result h1{
    margin:4px 0 0;
    font-size:clamp(2rem,3.5vw,3.2rem);
    line-height:1.02;
    letter-spacing:-.055em;
}

.ae-result p{
    margin:0;
    color:var(--ae-muted);
    line-height:1.7;
}

.ae-result-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:8px;
}

.ae-secondary-button{
    min-height:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 16px;
    border:1px solid var(--ae-line);
    border-radius:12px;
    background:rgba(255,255,255,.045);
    color:#fff;
    text-decoration:none;
    font-size:.84rem;
    font-weight:900;
}

.ae-secondary-button:hover{
    border-color:var(--ae-line-strong);
    background:rgba(255,255,255,.07);
}

.ae-security-note{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:10px;
    margin-top:18px;
    padding:13px;
    border:1px solid var(--ae-line);
    border-radius:12px;
    background:rgba(255,255,255,.025);
    color:var(--ae-muted);
    font-size:.74rem;
    line-height:1.55;
}

.ae-security-note b{
    color:#baf7e6;
}

.ae-token-status{
    margin-bottom:16px;
    padding:12px 14px;
    border:1px solid var(--ae-line);
    border-radius:12px;
    background:rgba(255,255,255,.025);
    color:var(--ae-muted);
    font-size:.78rem;
    line-height:1.55;
}

@media(max-width:1100px){
    .ae-page--compact{
        grid-template-columns:1fr;
    }

    .ae-page--compact .ae-visual,
    .ae-shell--compact{
        min-height:320px;
    }
}

@media(max-width:700px){
    .ae-page--compact .ae-visual{
        min-height:240px;
    }

    .ae-shell--compact{
        min-height:0;
    }
}


/* ==========================================================================
   Verify Email Enterprise
   ========================================================================== */

.ae-page--verify{
    grid-template-columns:minmax(340px,.85fr) minmax(440px,1.15fr);
}

.ae-page--verify .ae-visual{
    min-height:560px;
}

.ae-verify-card{
    width:min(100%,560px);
}

.ae-verify-status{
    display:grid;
    justify-items:start;
    gap:14px;
}

.ae-verify-icon{
    position:relative;
    width:72px;
    height:72px;
    display:grid;
    place-items:center;
    border:1px solid rgba(34,211,166,.28);
    border-radius:22px;
    background:
        radial-gradient(circle at 30% 20%,rgba(34,211,166,.25),transparent 70%),
        rgba(34,211,166,.08);
    color:#c8fff0;
    box-shadow:0 16px 42px rgba(34,211,166,.12);
}

.ae-verify-icon::after{
    content:"";
    position:absolute;
    inset:-8px;
    border:1px solid rgba(34,211,166,.12);
    border-radius:28px;
}

.ae-verify-icon svg{
    width:34px;
    height:34px;
}

.ae-verify-icon--error{
    border-color:rgba(251,113,133,.3);
    background:rgba(251,113,133,.08);
    color:#fecdd3;
    box-shadow:0 16px 42px rgba(251,113,133,.08);
}

.ae-verify-icon--error::after{
    border-color:rgba(251,113,133,.12);
}

.ae-verify-status h1{
    margin:2px 0 0;
    font-size:clamp(2.2rem,4vw,3.5rem);
    line-height:1;
    letter-spacing:-.06em;
}

.ae-verify-status p{
    margin:0;
    color:var(--ae-muted);
    line-height:1.72;
}

.ae-verify-list{
    width:100%;
    display:grid;
    gap:10px;
    margin-top:4px;
}

.ae-verify-list article{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:11px;
    align-items:center;
    min-height:52px;
    padding:0 14px;
    border:1px solid var(--ae-line);
    border-radius:13px;
    background:rgba(255,255,255,.026);
}

.ae-verify-list i{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:rgba(34,211,166,.1);
    color:#8cf2d4;
    font-style:normal;
    font-size:.74rem;
    font-weight:950;
}

.ae-verify-list strong{
    display:block;
    font-size:.82rem;
}

.ae-verify-list span{
    display:block;
    margin-top:2px;
    color:var(--ae-muted);
    font-size:.72rem;
}

.ae-verify-actions{
    width:100%;
    display:grid;
    gap:10px;
    margin-top:8px;
}

@media(max-width:1100px){
    .ae-page--verify{
        grid-template-columns:1fr;
    }

    .ae-page--verify .ae-visual{
        min-height:300px;
    }
}

@media(max-width:700px){
    .ae-page--verify .ae-visual{
        min-height:230px;
    }

    .ae-verify-icon{
        width:62px;
        height:62px;
        border-radius:18px;
    }

    .ae-verify-status h1{
        font-size:2.2rem;
    }
}
