:root{
  --auth-blue:#4192ff;--auth-green:#46f484;--auth-yellow:#e1ff58;--auth-ink:#101822;--auth-muted:#647080;--auth-line:#e5eaf0;--auth-bg:#f6f8fb;
}
.auth3c{min-height:calc(100vh - 78px);background:radial-gradient(circle at 8% 8%,rgba(65,146,255,.09),transparent 27%),radial-gradient(circle at 94% 90%,rgba(70,244,132,.08),transparent 29%),#f7f9fc;padding:52px 24px 64px;font-family:Inter,sans-serif;color:var(--auth-ink)}
.auth3c *{box-sizing:border-box}.auth3c__shell{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);min-height:650px;background:#fff;border:1px solid rgba(16,24,34,.08);box-shadow:14px 24px 55px rgba(20,34,52,.11);overflow:hidden;border-radius:2px}.auth3c__visual{position:relative;min-height:650px;background-position:center;background-size:cover;isolation:isolate}.auth3c__visual--login{background-image:url('/assets/images/header/1-ma-pregatesc.webp')}.auth3c__visual--register{background-image:url('/assets/images/header/4-clarific.webp')}.auth3c__visual--recover{background-image:url('/assets/images/header/2-analizez.webp')}.auth3c__visual-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(7,18,30,.18),rgba(7,18,30,.84));z-index:-1}.auth3c__visual::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--auth-blue) 0 33.33%,var(--auth-green) 33.33% 66.66%,var(--auth-yellow) 66.66%)}.auth3c__visual-content{position:absolute;left:clamp(28px,5vw,58px);right:clamp(28px,5vw,58px);bottom:58px;color:#fff}.auth3c__eyebrow{font:700 .72rem/1 Manrope,sans-serif;letter-spacing:.16em}.auth3c__visual h1{font:800 clamp(2rem,4vw,3.45rem)/1.03 Manrope,sans-serif;margin:15px 0 17px;max-width:520px}.auth3c__visual p{font-size:.98rem;line-height:1.68;color:rgba(255,255,255,.86);max-width:480px}.auth3c__three{display:flex;flex-wrap:wrap;gap:15px 21px;margin-top:27px;font-size:.76rem;font-weight:700}.auth3c__three span{display:inline-flex;align-items:center;gap:7px}.auth3c__three i{width:9px;height:9px;border-radius:50%;background:var(--auth-blue)}.auth3c__three span:nth-child(2) i{background:var(--auth-green)}.auth3c__three span:nth-child(3) i{background:var(--auth-yellow)}
.auth3c__panel{display:flex;align-items:center;justify-content:center;padding:48px clamp(28px,5vw,68px);background:linear-gradient(180deg,#fff,#fbfcfe)}.auth3c__card{width:100%;max-width:460px}.auth3c__card--wide{max-width:680px}.auth3c__card-head{text-align:center;margin-bottom:27px}.auth3c__card-head img{width:56px;height:56px;object-fit:contain;margin-bottom:14px}.auth3c__card-head>span{display:block;font:800 .69rem/1 Manrope,sans-serif;letter-spacing:.16em;color:#667383;margin-bottom:9px}.auth3c__card-head h2{font:800 clamp(1.75rem,3vw,2.35rem)/1.12 Manrope,sans-serif;margin:0 0 9px;color:#121b26}.auth3c__card-head p{margin:0;color:var(--auth-muted);font-size:.89rem;line-height:1.6}.auth3c__alert{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;margin:0 0 19px;border:1px solid;font-size:.83rem;line-height:1.55;border-radius:2px}.auth3c__alert i{font-size:1.2rem;margin-top:1px}.auth3c__alert--error{background:#fff6f6;border-color:#ffd8d8;color:#9c2931}.auth3c__alert--success{background:#f0fff6;border-color:#c9f5d8;color:#176638}.auth3c__alert a{font-weight:700;text-decoration:underline}.auth3c__form{display:grid;gap:17px}.auth3c__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.auth3c__field{display:grid;gap:7px}.auth3c__field--full{grid-column:1/-1}.auth3c__field>span:first-child{font-size:.77rem;font-weight:700;color:#283442}.auth3c__field small{font-size:.69rem;color:#7b8795;line-height:1.4}.auth3c__input-wrap,.auth3c__select-wrap{position:relative;display:flex;align-items:center}.auth3c__input-wrap>i,.auth3c__select-wrap>i{position:absolute;left:13px;font-size:1.08rem;color:#7e8b9b;pointer-events:none}.auth3c__input-wrap input,.auth3c__select-wrap select{width:100%;height:48px;padding:0 42px 0 40px;border:1px solid #dbe2e9;background:#fff;color:#15202c;font:500 .88rem Inter,sans-serif;border-radius:10px;outline:none;transition:border-color .2s,box-shadow .2s}.auth3c__select-wrap select{appearance:none;padding-right:38px}.auth3c__input-wrap input:focus,.auth3c__select-wrap select:focus{border-color:var(--auth-blue);box-shadow:0 0 0 4px rgba(65,146,255,.10)}.auth3c__password-toggle{position:absolute;right:8px;width:34px;height:34px;border:0;background:transparent;color:#728090;cursor:pointer;display:grid;place-items:center;border-radius:8px}.auth3c__password-toggle:hover{background:#f2f5f8}.auth3c__password-toggle i{font-size:1.15rem}.auth3c__between{display:flex;justify-content:space-between;align-items:center;margin-top:-3px}.auth3c a{color:#276dcc;text-decoration:none}.auth3c a:hover{text-decoration:underline}.auth3c__between a{font-size:.77rem;font-weight:700}.auth3c__submit,.auth3c__secondary{min-height:49px;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:0 18px;border-radius:10px;font:800 .84rem Manrope,sans-serif;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}.auth3c__submit{border:0;background:var(--auth-blue);color:#fff;box-shadow:8px 12px 24px rgba(65,146,255,.18)}.auth3c__submit:hover{transform:translateY(-1px);box-shadow:10px 15px 26px rgba(65,146,255,.23)}.auth3c__secondary{border:1px solid #d8e0e8;background:#fff;color:#253140}.auth3c__secondary:hover{text-decoration:none;background:#f8fafc;transform:translateY(-1px)}.auth3c__divider{display:flex;align-items:center;gap:13px;color:#9aa4af;font-size:.7rem;margin:20px 0}.auth3c__divider::before,.auth3c__divider::after{content:"";height:1px;background:#e6ebf0;flex:1}.auth3c__fineprint,.auth3c__switch{text-align:center;color:#7a8694;font-size:.72rem;line-height:1.55;margin:16px 0 0}.auth3c__switch a{font-weight:800}.auth3c__check{display:flex;align-items:flex-start;gap:10px;font-size:.76rem;line-height:1.55;color:#5f6b79;cursor:pointer}.auth3c__check input{width:17px;height:17px;margin-top:2px;accent-color:var(--auth-blue);flex:0 0 auto}.auth3c__check a{font-weight:700}.auth3c--register .auth3c__shell{grid-template-columns:minmax(330px,.72fr) minmax(580px,1.28fr)}.auth3c--register .auth3c__panel{padding-left:clamp(28px,4vw,56px);padding-right:clamp(28px,4vw,56px)}
@media(max-width:960px){.auth3c{padding:30px 16px 45px}.auth3c__shell,.auth3c--register .auth3c__shell{grid-template-columns:1fr}.auth3c__visual{min-height:320px}.auth3c__visual-content{bottom:38px}.auth3c__visual h1{font-size:2.35rem}.auth3c__panel{padding:42px 24px}.auth3c--register .auth3c__panel{padding:42px 24px}}
@media(max-width:620px){.auth3c{padding:0;background:#fff}.auth3c__shell{border:0;box-shadow:none}.auth3c__visual{min-height:220px;background-image:url('/assets/images/header/1-ma-pregatesc---telefon.webp')}.auth3c__visual--register{background-image:url('/assets/images/header/4-clarific---telefon.webp')}.auth3c__visual--recover{background-image:url('/assets/images/header/2-analizez---telefon.webp')}.auth3c__visual-content{left:22px;right:22px;bottom:25px}.auth3c__visual h1{font-size:1.9rem;margin:10px 0}.auth3c__visual p{display:none}.auth3c__three{margin-top:14px;gap:10px 14px}.auth3c__panel{padding:34px 20px 46px}.auth3c__grid{grid-template-columns:1fr}.auth3c__field--full{grid-column:auto}.auth3c__card-head h2{font-size:1.8rem}}
/* =========================================================
   SELECT — SĂGEATĂ CENTRATĂ VERTICAL
========================================================= */

.auth3c select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7b8d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    /* dreapta + centrare verticală */
    background-position:
        right 16px center;

    background-size:
        14px 14px;

    padding-right:
        48px;
}

/* =========================================================
   VALIDARE PHP / LIVE — CULORI
========================================================= */

/* Valid */
.auth3c__php-success,
.auth3c__live-message--success {
    color: #067647 !important;
}

/* Invalid */
.auth3c__php-error,
.auth3c__live-message--error {
    color: #b42318 !important;
}

/* În curs de verificare */
.auth3c__live-message--checking {
    color: #667085 !important;
}

/* Câmp valid */
.auth3c__field--php-success .auth3c__input-wrap,
.auth3c__field--php-success .auth3c__select-wrap {
    border-color: rgba(6, 118, 71, .55) !important;
    box-shadow: 0 0 0 3px rgba(6, 118, 71, .07) !important;
}

/* Câmp invalid */
.auth3c__field--php-error .auth3c__input-wrap,
.auth3c__field--php-error .auth3c__select-wrap {
    border-color: rgba(180, 35, 24, .55) !important;
    box-shadow: 0 0 0 3px rgba(180, 35, 24, .07) !important;
}

/* =========================================================
   AUTH 3C — REVEAL FORM FIELDS
========================================================= */

.auth3c__field.auth3c__field--reveal {
    opacity: 0;
    transform: translateY(18px);
    filter: blur(1.5px);

    transition:
        opacity .55s ease,
        transform .55s cubic-bezier(.22, 1, .36, 1),
        filter .55s ease;
}

.auth3c__field.auth3c__field--reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}


/* Buton + checkbox-uri / partea de jos */
.auth3c__reveal-extra {
    opacity: 0;
    transform: translateY(16px);

    transition:
        opacity .55s ease,
        transform .55s cubic-bezier(.22, 1, .36, 1);
}

.auth3c__reveal-extra.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* Respectăm utilizatorii care au animațiile reduse */
@media (prefers-reduced-motion: reduce) {

    .auth3c__field.auth3c__field--reveal,
    .auth3c__reveal-extra {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }

}

/* =========================================================
   VALIDATOR PAROLĂ
   - apare doar la focus pe inputul de parolă
   - nu modifică înălțimea formularului
   - nu deplasează butoanele/linkurile de sub el
========================================================= */

/* Câmpul care conține parola devine reper pentru panoul absolut */
.auth3c__field:has([data-password-policy]) {
    position: relative;
    z-index: 30;
}


/* PANOU VALIDATOR — ASCUNS INIȚIAL */
.auth3c__validation-box {
    position: absolute;

    top: calc(100% + 8px);
    left: 0;
    right: 0;

    z-index: 60;

    display: grid;
    gap: 7px;

    margin: 0;
    padding: 11px 12px;

    border: 1px solid rgba(14, 31, 47, .10);
    border-radius: 10px;

    background: rgba(248, 251, 255, .98);

    box-shadow:
        0 14px 35px rgba(18, 35, 52, .10);

    opacity: 0;
    visibility: hidden;

    transform: translateY(-6px);

    pointer-events: none;

    transition:
        opacity .22s ease,
        transform .28s cubic-bezier(.22, 1, .36, 1),
        visibility 0s linear .28s;
}


/* PANOU VALIDATOR — VIZIBIL */
.auth3c__validation-box.is-visible {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);

    pointer-events: none;

    transition:
        opacity .22s ease,
        transform .28s cubic-bezier(.22, 1, .36, 1),
        visibility 0s;
}


/* TITLU */
.auth3c__validation-title {
    display: block;

    margin-bottom: 2px;

    color: #536273;

    font-size: .76rem;
    font-weight: 700;
    line-height: 1.35;
}


/* REGULĂ */
.auth3c__validation-item {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #7b8794;

    font-size: .75rem;
    line-height: 1.35;

    opacity: 1;
    transform: translateY(0);

    transition:
        color .18s ease,
        opacity .16s ease,
        transform .16s ease;
}


/* STARE NEUTRĂ */
.auth3c__validation-item::before {
    content: "○";

    flex: 0 0 auto;

    font-size: .92rem;
    line-height: 1;
}


/* VALID */
.auth3c__validation-item.is-valid {
    color: #18764a;
}


.auth3c__validation-item.is-valid::before {
    content: "✓";

    font-weight: 800;

    animation:
        auth3cValidationPop .18s ease;
}


/* INVALID */
.auth3c__validation-item.is-invalid {
    color: #b42318;
}


.auth3c__validation-item.is-invalid::before {
    content: "×";

    font-weight: 800;

    animation:
        auth3cValidationPop .18s ease;
}


/* MIC EFECT CÂND SE FACE VERIFICAREA */
.auth3c__validation-box.is-checking
.auth3c__validation-item {
    opacity: .52;
    transform: translateY(1px);
}


/* ANIMAȚIE BIFĂ / X */
@keyframes auth3cValidationPop {

    0% {
        opacity: .25;
        transform: scale(.72);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }

}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 767.98px) {

    .auth3c__validation-box {
        top: calc(100% + 6px);

        padding:
            10px
            11px;
    }

}


/* =========================================================
   REDUCERE ANIMAȚII
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .auth3c__validation-box,
    .auth3c__validation-item {
        transition: none;
    }

    .auth3c__validation-item.is-valid::before,
    .auth3c__validation-item.is-invalid::before {
        animation: none;
    }

}