/* v2 dialogs: the SweetAlert popups that principal.js, extra.js and
   email-verification.js build for both designs, in the look of the Setări
   e-mail modal (setari-v2.css .st-modal). Loaded after ev2-sections.css, whose
   generic dialog rules (card, buttons, fields) still apply; ev2-dialogs.js adds
   the .ev2d-ic header tiles and the .ev2d--* kind classes.
   theme.css forces light text on every element in dark mode, hence the
   !important colours. */

/* ---------- Header tile ---------- */

.ev2-shell .ev2d-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 52px;
    height: 52px;
    margin: 0 auto 14px;
    border-radius: 16px;
    background: var(--ev2s-grad);
    box-shadow: 0 8px 18px rgba(236, 67, 32, .28);
}

.ev2-shell .ev2d-ic i {
    color: #fff !important;
    font-size: 21px;
}

.ev2-shell .ev2d-ic.is-ok {
    background: var(--ev2s-ok-bg);
    box-shadow: none;
}

.ev2-shell .ev2d-ic.is-ok i {
    color: var(--ev2s-ok-ic) !important;
}

.ev2-shell .ev2d-ic.is-exp {
    background: var(--ev2s-exp-bg);
    box-shadow: none;
}

.ev2-shell .ev2d-ic.is-exp i {
    color: var(--ev2s-exp-fg) !important;
}

.ev2-shell .swal2-popup.ev2d-head .swal2-icon {
    display: none !important;
}

.ev2-shell .swal2-popup.ev2d-head .swal2-title {
    margin-bottom: 4px !important;
}

.ev2-shell .swal2-popup.ev2d-head .swal2-title strong {
    font-weight: inherit;
}

/* ---------- Status icons: tiles instead of SweetAlert's drawn circles ---------- */

.ev2-shell .swal2-popup:not(.ps-popup, .bp-popup, .billing-popup-mobile, .payment-state-popup, .saved-cards-swal-popup, .payment-swal-popup) .swal2-icon {
    width: 52px !important;
    height: 52px !important;
    margin: 0 auto 14px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: var(--ev2s-soft) !important;
    font-size: 21px !important;
    animation: ev2d-pop .32s cubic-bezier(.2, .8, .2, 1) both !important;
}

/* index2.php hides every icon for visitors; the shown one carries an inline display */
.ev2-shell .swal2-popup:not(.ev2d-head, .ps-popup, .bp-popup, .billing-popup-mobile, .payment-state-popup, .saved-cards-swal-popup, .payment-swal-popup) .swal2-icon[style*="flex"] {
    display: flex !important;
}

.ev2-shell .swal2-popup:not(.ps-popup, .bp-popup, .billing-popup-mobile, .payment-state-popup, .saved-cards-swal-popup, .payment-swal-popup) .swal2-icon > * {
    display: none !important;
}

.ev2-shell .swal2-popup:not(.ps-popup, .bp-popup, .billing-popup-mobile, .payment-state-popup, .saved-cards-swal-popup, .payment-swal-popup) .swal2-icon::before {
    display: block;
    height: auto;
    margin: auto;
    font-family: "Font Awesome 7 Free";
    font-size: 1em;
    font-weight: 900;
    font-style: normal;
    line-height: 1;
}

.ev2-shell .swal2-popup .swal2-icon.swal2-success {
    background: var(--ev2s-ok-bg) !important;
    color: var(--ev2s-ok-ic) !important;
}

.ev2-shell .swal2-popup .swal2-icon.swal2-success::before {
    content: "\f00c";
}

.ev2-shell .swal2-popup .swal2-icon.swal2-error {
    background: var(--ev2s-exp-bg) !important;
    color: var(--ev2s-exp-fg) !important;
}

.ev2-shell .swal2-popup .swal2-icon.swal2-error::before {
    content: "\f00d";
}

.ev2-shell .swal2-popup .swal2-icon.swal2-warning {
    background: var(--ev2s-warn-bg) !important;
    color: var(--ev2s-warn-ic) !important;
}

.ev2-shell .swal2-popup .swal2-icon.swal2-warning::before {
    content: "\f071";
}

.ev2-shell .swal2-popup .swal2-icon.swal2-info,
.ev2-shell .swal2-popup .swal2-icon.swal2-question {
    background: var(--ev2s-blue-tint) !important;
    color: var(--ev2s-blue) !important;
}

.ev2-shell .swal2-popup .swal2-icon.swal2-info::before {
    content: "\f129";
}

.ev2-shell .swal2-popup .swal2-icon.swal2-question::before {
    content: "\3f";
}

@keyframes ev2d-pop {
    from {
        opacity: 0;
        transform: scale(.6);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ev2-shell .swal2-popup .swal2-icon {
        animation: none !important;
    }
}

/* ---------- Verification code boxes (ev2-dialogs.js codeBoxes) ----------
   The real input lies invisible over the boxes: it takes the taps, the SMS
   autofill and the paste; the boxes only draw its value. */

.ev2-shell .ev2-otp {
    position: relative;
    width: max-content;
    max-width: 100%;
    margin: 0 auto;
}

.ev2-shell .ev2-otp-slots {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.ev2-shell .ev2-otp-slot {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 66px;
    border: 1.5px solid var(--ev2s-border);
    border-radius: 16px;
    background: var(--ev2s-card);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
    color: var(--ev2s-text);
    font-family: var(--ev2s-font);
    font-size: 28px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
}

.ev2-shell .ev2-otp-slot b {
    color: inherit !important;
    font-weight: inherit;
    animation: ev2-otp-in .18s cubic-bezier(.2, .8, .2, 1);
}

.ev2-shell .ev2-otp-slot.is-filled {
    border-color: #cfd6e2;
}

.ev2-shell .ev2-otp.is-focus .ev2-otp-slot.is-active {
    border-color: var(--ev2s-accent);
    box-shadow: 0 0 0 4px rgba(236, 67, 32, .14);
}

.ev2-shell .ev2-otp-slot.is-caret::after {
    content: "";
    width: 2px;
    height: 28px;
    border-radius: 1px;
    background: var(--ev2s-accent);
    animation: ev2-otp-blink 1.1s step-end infinite;
}

.ev2-shell .ev2-otp.is-checking .ev2-otp-slot {
    border-color: rgba(236, 67, 32, .45);
    box-shadow: none;
    animation: ev2-otp-wait 1s ease-in-out infinite;
}

.ev2-shell .ev2-otp.is-checking .ev2-otp-slot:nth-child(2) { animation-delay: .12s; }
.ev2-shell .ev2-otp.is-checking .ev2-otp-slot:nth-child(3) { animation-delay: .24s; }
.ev2-shell .ev2-otp.is-checking .ev2-otp-slot:nth-child(4) { animation-delay: .36s; }

.ev2-shell .ev2-otp.is-ok .ev2-otp-slot {
    border-color: #22c55e;
    background: var(--ev2s-ok-bg);
    box-shadow: none;
    color: #166534;
}

.ev2-shell .ev2-otp.is-error .ev2-otp-slots {
    animation: ev2-otp-shake .38s ease;
}

.ev2-shell .ev2-otp.is-error .ev2-otp-slot {
    border-color: #ef4444;
}

.ev2-shell .ev2-otp.is-error.is-focus .ev2-otp-slot.is-active {
    border-color: #ef4444;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, .14);
}

.ev2-shell .ev2-otp.is-error .ev2-otp-slot.is-caret::after {
    background: #ef4444;
}

.ev2-shell .ev2-otp.is-disabled:not(.is-ok, .is-checking) .ev2-otp-slot {
    opacity: .6;
}

/* Specific enough to beat style.css, setari-v2.css and the theme's dark inputs */
.ev2-shell .swal2-popup .ev2-otp > input.ev2-otp-input {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 16px !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent;
    caret-color: transparent;
    font-size: 16px !important;
    letter-spacing: 0 !important;
    text-indent: -9999px;
    opacity: 1;
    cursor: text;
}

/* ev2-sections.css rings every focused .form-control (the dashboard #emailCode is one) */
.ev2-shell .swal2-popup .ev2-otp > input.ev2-otp-input.ev2-otp-input:focus {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ev2-shell .st-modal .ev2-otp {
    margin-top: 20px;
}

.ev2-shell .swal2-popup .ev2-otp > input.ev2-otp-input::selection {
    background: transparent;
}

[data-theme="dark"] .ev2-shell .ev2-otp-slot {
    box-shadow: none;
}

[data-theme="dark"] .ev2-shell .ev2-otp-slot.is-filled {
    border-color: #4b5466;
}

[data-theme="dark"] .ev2-shell .ev2-otp-slot,
[data-theme="dark"] .ev2-shell .ev2-otp-slot b {
    color: var(--ev2s-text) !important;
}

[data-theme="dark"] .ev2-shell .ev2-otp.is-ok .ev2-otp-slot,
[data-theme="dark"] .ev2-shell .ev2-otp.is-ok .ev2-otp-slot b {
    color: var(--ev2s-ok-ic) !important;
}

@media (max-width: 380px) {
    .ev2-shell .ev2-otp-slots {
        gap: 8px;
    }

    .ev2-shell .ev2-otp-slot {
        width: 52px;
        height: 60px;
        font-size: 26px;
    }
}

@keyframes ev2-otp-in {
    from {
        opacity: 0;
        transform: translateY(4px) scale(.9);
    }
}

@keyframes ev2-otp-blink {
    50% {
        opacity: 0;
    }
}

@keyframes ev2-otp-wait {
    50% {
        background: var(--ev2s-peach-tint);
    }
}

@keyframes ev2-otp-shake {
    20%, 60% {
        transform: translateX(-6px);
    }
    40%, 80% {
        transform: translateX(6px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ev2-shell .ev2-otp *,
    .ev2-shell .ev2-otp-slots {
        animation: none !important;
    }
}

/* ---------- Shared bits ---------- */

/* Footer links ("Ai uitat PIN-ul?", "Contactează-ne") */
.ev2-shell .swal2-popup:not(.ps-popup, .bp-popup, .billing-popup-mobile, .payment-state-popup, .saved-cards-swal-popup, .payment-swal-popup) .swal2-footer {
    margin: 18px 0 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid var(--ev2s-border) !important;
    font-size: 14px;
}

.ev2-shell .swal2-popup:not(.ps-popup, .bp-popup, .billing-popup-mobile, .payment-state-popup, .saved-cards-swal-popup, .payment-swal-popup) .swal2-footer a {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    padding: 6px 10px !important;
    border-radius: 10px;
    color: var(--ev2s-accent) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.ev2-shell .swal2-popup .swal2-footer a i {
    margin: 0 !important;
    color: inherit !important;
}

@media (hover: hover) {
    .ev2-shell .swal2-popup .swal2-footer a:hover {
        background: var(--ev2s-tint);
    }
}

[data-theme="dark"] .ev2-shell .swal2-popup .swal2-footer a {
    color: #f87171 !important;
}

/* Muted helper lines written with inline greys */
.ev2-shell .swal2-popup:not(.ps-popup, .bp-popup, .billing-popup-mobile, .payment-state-popup, .saved-cards-swal-popup, .payment-swal-popup) .swal2-html-container :is([style*="color: #666"], [style*="color:#666"], [style*="color: #6c757d"]) {
    color: var(--ev2s-muted) !important;
}

/* Bootstrap alerts inside dialogs (login errors, missing phone) */
.ev2-shell .swal2-popup .alert {
    margin: 0 0 16px !important;
    padding: 11px 14px !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.45;
    text-align: left;
}

.ev2-shell .swal2-popup .alert,
.ev2-shell .swal2-popup .alert * {
    font-size: 13.5px !important;
}

.ev2-shell .swal2-popup .alert-danger,
.ev2-shell .swal2-popup .alert-danger * {
    background: var(--ev2s-exp-bg) !important;
    color: var(--ev2s-exp-fg) !important;
}

.ev2-shell .swal2-popup .alert-warning,
.ev2-shell .swal2-popup .alert-warning * {
    background: var(--ev2s-warn-bg) !important;
    color: var(--ev2s-warn-fg) !important;
}

/* Status chips written with Bootstrap's inline greens and reds */
.ev2-shell .swal2-popup :is(#resend-messages, .pin-sent-popup) div[style*="background"] {
    margin: 10px 0 0 !important;
    padding: 10px 14px !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 13.5px;
    font-weight: 600;
}

.ev2-shell .swal2-popup div[style*="#d4edda"] {
    background: var(--ev2s-ok-bg) !important;
    color: #166534 !important;
}

.ev2-shell .swal2-popup div[style*="#f8d7da"] {
    background: var(--ev2s-exp-bg) !important;
    color: var(--ev2s-exp-fg) !important;
}

[data-theme="dark"] .ev2-shell .swal2-popup div[style*="#d4edda"] {
    color: var(--ev2s-ok-ic) !important;
}

.ev2-shell .swal2-popup .swal2-validation-message:has(div[style*="155724"]) {
    background: var(--ev2s-ok-bg) !important;
}

.ev2-shell .swal2-popup .swal2-validation-message:has(div[style*="155724"])::before {
    background-color: var(--ev2s-ok-ic);
}

.ev2-shell .swal2-popup .swal2-validation-message div[style*="155724"] {
    color: #166534 !important;
}

[data-theme="dark"] .ev2-shell .swal2-popup .swal2-validation-message div[style*="155724"] {
    color: var(--ev2s-ok-ic) !important;
}

.ev2-shell .swal2-popup .swal2-validation-message div[style*="721c24"],
.ev2-shell .swal2-popup .swal2-validation-message div[style*="dc3545"] {
    color: inherit !important;
}

/* "Fă RCA (Gratuit)": a free alternative, not a destructive action */
.ev2-shell .swal2-popup .swal2-styled.swal2-deny[style*="rgb(16, 185, 129)"] {
    background: var(--ev2s-ok-bg) !important;
    color: #166534 !important;
    box-shadow: none !important;
}

[data-theme="dark"] .ev2-shell .swal2-popup .swal2-styled.swal2-deny[style*="rgb(16, 185, 129)"] {
    color: var(--ev2s-ok-ic) !important;
}

/* Stacked actions (limit reached, deleted account) */
.ev2-shell .swal2-popup.swal-wide-actions .swal2-actions {
    padding: 0 !important;
    margin-top: 22px !important;
}

.ev2-shell .swal2-popup.swal-wide-actions .swal2-styled {
    display: inline-flex !important;
    height: 46px;
    padding: 0 18px !important;
    line-height: 1.2 !important;
}

/* Upgrade options sent by the API ("Opţiunea 1 / 2") */
.ev2-shell .swal2-popup .swal-info-box {
    padding: 14px 16px;
    border: 0;
    border-radius: 14px;
    background: var(--ev2s-soft) !important;
    color: var(--ev2s-text-2) !important;
    font-size: 14px;
    line-height: 1.55;
}

.ev2-shell .swal2-popup .swal-info-box b {
    color: var(--ev2s-text) !important;
}

.ev2-shell .swal2-popup .swal-info-box a {
    color: var(--ev2s-accent) !important;
    font-weight: 700;
    text-decoration: none !important;
}

[data-theme="dark"] .ev2-shell .swal2-popup .swal-info-box a {
    color: #f87171 !important;
}

/* ---------- Login and forgot PIN (principal.js) ---------- */

.ev2-shell .swal2-popup:is(.ev2d--login, .ev2d--forgot) {
    width: min(92vw, 410px) !important;
}

.ev2-shell .ev2d--login #replacex > p:first-child {
    margin: 0 0 20px !important;
    color: var(--ev2s-muted) !important;
    font-size: 14px !important;
    line-height: 1.5;
}

.ev2-shell :is(.ev2d--login, .ev2d--forgot) #replacex > div:has(> label) {
    margin-bottom: 14px !important;
}

.ev2-shell :is(.ev2d--login, .ev2d--forgot) #replacex > div:has(> label) + button {
    margin-top: 8px !important;
}

.ev2-shell :is(.ev2d--login, .ev2d--forgot) #replacex label {
    display: flex !important;
    align-items: center;
    gap: 8px;
    margin: 0 0 7px !important;
    color: var(--ev2s-text-2) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.ev2-shell :is(.ev2d--login, .ev2d--forgot) #replacex label i {
    width: 14px;
    margin: 0 !important;
    color: var(--ev2s-faint) !important;
    font-size: 13px;
}

.ev2-shell .swal2-popup:is(.ev2d--login, .ev2d--forgot) #replacex .swal2-input {
    height: 48px !important;
    padding: 0 14px !important;
    border: 1px solid var(--ev2s-border) !important;
    border-radius: 14px !important;
    background: var(--ev2s-soft) !important;
    color: var(--ev2s-text) !important;
    font-size: 16px !important;
    font-weight: 600;
}

.ev2-shell .swal2-popup:is(.ev2d--login, .ev2d--forgot) #replacex .swal2-input:focus {
    border-color: rgba(236, 67, 32, .5) !important;
    background: var(--ev2s-card) !important;
    box-shadow: 0 0 0 4px rgba(236, 67, 32, .12) !important;
}

.ev2-shell .ev2d--login #passx {
    letter-spacing: .3em;
}

/* style.css paints #triggerlogin blue on phones */
.ev2-shell .swal2-popup:is(.ev2d--login, .ev2d--forgot) #replacex .swal2-styled {
    flex: none !important;
    height: 48px;
    padding: 0 22px !important;
    border-radius: 13px !important;
    background: var(--ev2s-grad) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.ev2-shell .swal2-popup:is(.ev2d--login, .ev2d--forgot) #replacex .swal2-styled:disabled {
    background: var(--ev2s-soft-2) !important;
}

.ev2-shell .ev2d--forgot #replacex,
.ev2-shell .ev2d--login #replacex > :is(.alert, .login-error):first-child {
    margin-top: 14px !important;
}

/* Forgot PIN: WhatsApp as a calm secondary row, like the help section chip */
.ev2-shell .ev2d--forgot #replacex > a[href*="wa.me"] {
    height: 48px;
    margin-bottom: 18px !important;
    padding: 0 16px !important;
    border: 1px solid var(--ev2s-border);
    border-radius: 13px !important;
    background: var(--ev2s-card) !important;
    color: var(--ev2s-text) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    transition: background-color .2s ease, border-color .2s ease;
}

.ev2-shell .ev2d--forgot #replacex > a[href*="wa.me"] i {
    color: #22c55e !important;
    font-size: 20px !important;
}

@media (hover: hover) {
    .ev2-shell .ev2d--forgot #replacex > a[href*="wa.me"]:hover {
        border-color: rgba(34, 197, 94, .45);
        background: var(--ev2s-card) !important;
    }
}

.ev2-shell .ev2d--forgot #replacex hr {
    border-top-color: var(--ev2s-border) !important;
}

.ev2-shell .ev2d--forgot #replacex hr + span {
    color: var(--ev2s-faint) !important;
    font-size: 12.5px !important;
    font-weight: 600;
}

/* Too many attempts (.login-error) and deactivated account (api.php markup) */
.ev2-shell .ev2d--login .login-error {
    margin: 0 !important;
    padding: 18px 16px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--ev2s-exp-bg) !important;
}

.ev2-shell .ev2d--login .login-error .error-message,
.ev2-shell .ev2d--login .login-error div {
    color: var(--ev2s-exp-fg) !important;
    font-size: 14.5px !important;
    font-weight: 600;
}

.ev2-shell .ev2d--login .login-error div[style*="6c757d"] {
    color: var(--ev2s-muted) !important;
    font-size: 13px !important;
    font-weight: 500;
}

.ev2-shell .ev2d--login #replacex > div[style*="padding: 20px"] {
    padding: 0 !important;
}

.ev2-shell .ev2d--login #replacex p[style] {
    color: var(--ev2s-text-2) !important;
    font-size: 14.5px !important;
}

.ev2-shell .ev2d--login #replacex :is(.btn-success, .btn-danger) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 1 1 140px;
    height: 46px;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 13px !important;
    font-family: var(--ev2s-font);
    font-size: 15px !important;
    font-weight: 700;
}

.ev2-shell .ev2d--login #replacex .btn-success {
    background: var(--ev2s-grad) !important;
    color: #fff !important;
    box-shadow: 0 6px 16px rgba(236, 67, 32, .28);
}

.ev2-shell .ev2d--login #replacex .btn-danger {
    background: var(--ev2s-soft) !important;
    color: var(--ev2s-text-2) !important;
}

.ev2-shell .ev2d--login #replacex div[style*="gap: 15px"] {
    gap: 10px !important;
}

/* ---------- Forgot PIN (ev2-dialogs.js forgotPin) ---------- */

.ev2-shell .swal2-popup.ev2-fp-popup {
    width: min(94vw, 420px) !important;
}

.ev2-shell .swal2-popup.ev2-fp-popup :is(.swal2-content, .swal2-html-container) {
    margin: 0 !important;
    padding: 0 !important;
}

.ev2-shell .swal2-popup.ev2-fp-popup .swal2-header {
    padding: 0 !important;
}

.ev2-shell .ev2-fp {
    font-family: var(--ev2s-font);
    text-align: left;
}

.ev2-shell .ev2-fp * {
    box-sizing: border-box;
}

.ev2-shell .ev2-fp-head {
    margin-bottom: 20px;
    text-align: center;
}

.ev2-shell .ev2-fp-title {
    margin: 0;
    color: var(--ev2s-text) !important;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.01em;
}

.ev2-shell .ev2-fp-sub {
    margin: 6px 0 0;
    color: var(--ev2s-muted) !important;
    font-size: 14px;
    line-height: 1.5;
}

.ev2-shell .ev2-fp-sub b {
    color: var(--ev2s-text) !important;
    white-space: nowrap;
}

.ev2-shell .ev2-fp-label {
    display: block;
    margin: 0 0 7px;
    color: var(--ev2s-text-2) !important;
    font-size: 13px;
    font-weight: 700;
}

.ev2-shell .swal2-popup .ev2-fp-input {
    display: block;
    width: 100%;
    height: 50px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid var(--ev2s-border) !important;
    border-radius: 14px;
    outline: none;
    background: var(--ev2s-soft) !important;
    box-shadow: none;
    color: var(--ev2s-text) !important;
    font-family: var(--ev2s-font);
    font-size: 17px;
    font-weight: 600;
    letter-spacing: .03em;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.ev2-shell .swal2-popup .ev2-fp-input::placeholder {
    color: var(--ev2s-faint);
    font-weight: 500;
}

.ev2-shell .swal2-popup .ev2-fp-input:focus {
    border-color: rgba(236, 67, 32, .5) !important;
    background: var(--ev2s-card) !important;
    box-shadow: 0 0 0 4px rgba(236, 67, 32, .12);
}

.ev2-shell .swal2-popup .ev2-fp-input.is-invalid {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, .12);
}

.ev2-shell .ev2-fp-err {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 8px 0 0;
    color: var(--ev2s-exp-fg) !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.ev2-shell .ev2-fp-err::before {
    content: "\f06a";
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
}

.ev2-shell .ev2-fp-err[hidden] {
    display: none;
}

.ev2-shell .ev2-fp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    height: 50px;
    margin: 14px 0 0;
    border: 0;
    border-radius: 14px;
    background: var(--ev2s-grad);
    box-shadow: 0 8px 18px rgba(236, 67, 32, .28);
    color: #fff !important;
    font-family: var(--ev2s-font);
    font-size: 15.5px;
    font-weight: 700;
    cursor: pointer;
    transition: filter .2s ease, box-shadow .2s ease;
}

.ev2-shell .ev2-fp-head + .ev2-fp-btn {
    margin-top: 0;
}

.ev2-shell .ev2-fp-btn:disabled {
    box-shadow: none;
    filter: saturate(.8);
    cursor: default;
}

.ev2-shell .ev2-fp-btn:focus-visible,
.ev2-shell .ev2-fp-row:focus-visible,
.ev2-shell .ev2-fp-back:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(236, 67, 32, .35);
}

@media (hover: hover) {
    .ev2-shell .ev2-fp-btn:not(:disabled):hover {
        filter: brightness(1.05);
    }
}

.ev2-shell .ev2-fp-spin {
    flex: none;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, .45);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ev2-fp-spin .7s linear infinite;
}

.ev2-shell .ev2-fp-row .ev2-fp-spin {
    border-color: var(--ev2s-soft-2);
    border-top-color: var(--ev2s-accent);
}

@keyframes ev2-fp-spin {
    to {
        transform: rotate(360deg);
    }
}

.ev2-shell .ev2-fp-or {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0;
    color: var(--ev2s-faint) !important;
    font-size: 12.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ev2-shell .ev2-fp-or::before,
.ev2-shell .ev2-fp-or::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--ev2s-border);
}

.ev2-shell .ev2-fp-or span {
    color: inherit !important;
}

.ev2-shell .ev2-fp-more {
    margin: 22px 0 8px;
    color: var(--ev2s-text-2) !important;
    font-size: 13px;
    font-weight: 700;
}

/* Option rows: WhatsApp, resend e-mail, SMS */
.ev2-shell .ev2-fp-list {
    overflow: hidden;
    border: 1px solid var(--ev2s-border);
    border-radius: 16px;
}

.ev2-shell .ev2-fp-row {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 60px;
    margin: 0;
    padding: 10px 14px;
    border: 0;
    border-radius: 0;
    background: var(--ev2s-card);
    color: var(--ev2s-text) !important;
    font-family: var(--ev2s-font);
    text-align: left;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color .15s ease;
}

.ev2-shell .ev2-fp-list .ev2-fp-row + .ev2-fp-row {
    border-top: 1px solid var(--ev2s-border);
}

.ev2-shell .ev2-fp > .ev2-fp-row.is-wa {
    border: 1px solid rgba(34, 197, 94, .35);
    border-radius: 16px;
}

.ev2-shell .ev2-fp-row.is-wa {
    background: rgba(34, 197, 94, .07);
}

@media (hover: hover) {
    .ev2-shell .ev2-fp-row:not(:disabled):hover {
        background: var(--ev2s-soft);
    }

    .ev2-shell .ev2-fp-row.is-wa:hover {
        background: rgba(34, 197, 94, .13);
    }
}

.ev2-shell .ev2-fp-row:disabled {
    cursor: default;
}

.ev2-shell .ev2-fp-row-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: var(--ev2s-soft);
}

.ev2-shell .ev2-fp-row-ic i {
    color: var(--ev2s-muted) !important;
    font-size: 16px;
}

.ev2-shell .ev2-fp-row.is-wa .ev2-fp-row-ic {
    background: #22c55e;
}

.ev2-shell .ev2-fp-row.is-wa .ev2-fp-row-ic i {
    color: #fff !important;
    font-size: 21px;
}

.ev2-shell .ev2-fp-row-txt {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ev2-shell .ev2-fp-row-txt b {
    color: var(--ev2s-text) !important;
    font-size: 14.5px;
    font-weight: 700;
}

.ev2-shell .ev2-fp-row-txt small {
    color: var(--ev2s-muted) !important;
    font-size: 12.5px;
}

.ev2-shell .ev2-fp-row:disabled .ev2-fp-row-txt b,
.ev2-shell .ev2-fp-row:disabled .ev2-fp-row-ic i {
    color: var(--ev2s-faint) !important;
}

.ev2-shell .ev2-fp-row-end {
    display: inline-flex;
    align-items: center;
    flex: none;
}

.ev2-shell .ev2-fp-row-end i {
    color: var(--ev2s-faint) !important;
    font-size: 12px;
}

.ev2-shell .ev2-fp-cool {
    color: var(--ev2s-faint) !important;
    font-size: 13px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ev2-shell .ev2-fp-status {
    margin: 0;
    color: var(--ev2s-muted) !important;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
}

.ev2-shell .ev2-fp-status:not(:empty) {
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 12px;
}

.ev2-shell .ev2-fp-status.is-ok {
    background: var(--ev2s-ok-bg);
    color: #166534 !important;
}

.ev2-shell .ev2-fp-status.is-error {
    background: var(--ev2s-exp-bg);
    color: var(--ev2s-exp-fg) !important;
}

[data-theme="dark"] .ev2-shell .ev2-fp-status.is-ok {
    color: var(--ev2s-ok-ic) !important;
}

/* Footer: back to the login dialog */
.ev2-shell .ev2-fp-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: 0;
    border-radius: 10px;
    background: none;
    color: var(--ev2s-muted) !important;
    font-family: var(--ev2s-font);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.ev2-shell .ev2-fp-back i {
    color: inherit !important;
    font-size: 12px;
}

@media (hover: hover) {
    .ev2-shell .ev2-fp-back:hover {
        background: var(--ev2s-soft);
        color: var(--ev2s-text) !important;
    }
}

/* ---------- PIN sent (principal.js) ---------- */

.ev2-shell .swal2-popup.pin-sent-popup {
    width: min(92vw, 410px) !important;
}

.ev2-shell .pin-sent-popup .swal2-title {
    display: none !important;
}

.ev2-shell .pin-sent-popup .swal2-html-container h3 {
    margin: 0 0 6px !important;
    color: var(--ev2s-text) !important;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.01em;
}

.ev2-shell .pin-sent-popup .swal2-html-container h3 + p {
    margin: 0 !important;
    color: var(--ev2s-muted) !important;
    font-size: 14px;
    line-height: 1.5;
}

.ev2-shell .pin-sent-popup .swal2-html-container div[style*="margin: 20px 0"] {
    margin: 20px 0 0 !important;
    padding-top: 16px;
    border-top: 1px solid var(--ev2s-border);
}

.ev2-shell .pin-sent-popup .swal2-html-container div[style*="margin: 20px 0"] > p {
    margin: 0 0 4px !important;
    color: var(--ev2s-text-2) !important;
    font-size: 13.5px;
    font-weight: 700;
}

.ev2-shell .pin-sent-popup #resend-messages {
    margin: 0 !important;
    min-height: 0 !important;
}

.ev2-shell .pin-sent-popup .btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 46px;
    margin: 8px 0 0 !important;
    padding: 0 16px !important;
    border: 1px solid var(--ev2s-border) !important;
    border-radius: 13px !important;
    background: var(--ev2s-card) !important;
    color: var(--ev2s-text-2) !important;
    font-family: var(--ev2s-font);
    font-size: 15px !important;
    font-weight: 700;
    box-shadow: none !important;
}

.ev2-shell .pin-sent-popup #fallback-sms {
    border-color: transparent !important;
    background: var(--ev2s-tint) !important;
    color: var(--ev2s-accent) !important;
}

[data-theme="dark"] .ev2-shell .pin-sent-popup #fallback-sms {
    color: #f87171 !important;
}

.ev2-shell .pin-sent-popup .btn:disabled {
    border-color: transparent !important;
    background: var(--ev2s-soft) !important;
    color: var(--ev2s-faint) !important;
    opacity: 1;
}

@media (hover: hover) {
    .ev2-shell .pin-sent-popup .btn:not(:disabled):hover {
        background: var(--ev2s-soft) !important;
    }

    .ev2-shell .pin-sent-popup #fallback-sms:not(:disabled):hover {
        background: var(--ev2s-tint) !important;
        filter: brightness(.98);
    }
}

/* ---------- SMS confirmation after sign-up (extra.js) ---------- */

.ev2-shell .swal2-popup.sms-verification-popup {
    width: min(92vw, 410px) !important;
    overflow: visible !important;
}

.ev2-shell .sms-verification-popup .sms-header {
    padding: 0 0 4px;
    background: none;
}

.ev2-shell .sms-verification-popup .sms-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 14px;
    border-radius: 16px;
    background: var(--ev2s-grad);
    box-shadow: 0 8px 18px rgba(236, 67, 32, .28);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.ev2-shell .sms-verification-popup .sms-icon i {
    color: #fff !important;
    font-size: 21px;
}

.ev2-shell .sms-verification-popup .sms-title {
    margin: 0;
    color: var(--ev2s-text) !important;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.01em;
}

.ev2-shell .sms-verification-popup .sms-subtitle {
    margin: 5px 0 0;
    color: var(--ev2s-muted) !important;
    font-size: 14px;
}

.ev2-shell .sms-verification-popup .loading-section {
    padding: 28px 0 18px;
    background: none !important;
}

.ev2-shell .sms-verification-popup .loading-section .spinner {
    width: 40px;
    height: 40px;
    margin-bottom: 16px;
    border: 3px solid var(--ev2s-soft-2);
    border-top-color: var(--ev2s-accent);
}

.ev2-shell .sms-verification-popup .loading-section p {
    color: var(--ev2s-muted) !important;
    font-size: 14px;
}

.ev2-shell .sms-verification-popup .progress-bar {
    width: 100%;
    height: 6px;
    margin: 0 0 6px;
    background: var(--ev2s-soft) !important;
}

.ev2-shell .sms-verification-popup .progress-bar #myBar {
    background: var(--ev2s-grad);
}

/* Once the code is sent: "Introdu ... pe numărul de telefon", the number, the boxes, the links */
.ev2-shell .sms-verification-popup .sms-input-section {
    padding: 18px 0 0;
    background: none !important;
}

.ev2-shell .sms-verification-popup .sms-input-section:not([style*="none"]) {
    display: flex !important;
    flex-direction: column;
    align-items: center;
}

.ev2-shell .sms-verification-popup:has(.sms-input-section:not([style*="none"])) .sms-subtitle {
    display: none;
}

.ev2-shell .sms-verification-popup .sms-input-section > * {
    order: 5;
    width: 100%;
}

.ev2-shell .sms-verification-popup .instruction-text {
    order: 1;
    margin: -6px 0 0;
    color: var(--ev2s-muted) !important;
    font-size: 14px;
    line-height: 1.5;
}

.ev2-shell .sms-verification-popup .phone-display {
    order: 2;
    gap: 6px;
    width: auto;
    margin: 2px 0 0;
    padding: 0;
    border: 0;
    background: none !important;
    color: var(--ev2s-text) !important;
    font-size: 15px;
}

.ev2-shell .sms-verification-popup .phone-display i {
    display: none;
}

.ev2-shell .sms-verification-popup .phone-display strong {
    color: inherit !important;
    font-weight: 800;
    letter-spacing: .01em;
}

.ev2-shell .sms-verification-popup .code-input-container {
    order: 3;
    margin: 22px 0 6px;
}

.ev2-shell .sms-verification-popup .code-hint {
    display: none;
}

.ev2-shell .sms-verification-popup .action-buttons {
    order: 4;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2px 6px;
    margin: 6px 0 0;
}

.ev2-shell .sms-verification-popup .phone-change-section {
    order: 4;
}

.ev2-shell .sms-verification-popup .message-area {
    order: 3;
}

.ev2-shell .sms-verification-popup .message-area:empty {
    margin: 0 !important;
}

.ev2-shell .sms-verification-popup .action-buttons .btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 38px;
    margin: 0;
    padding: 0 10px;
    border: 0 !important;
    border-radius: 10px;
    background: none !important;
    box-shadow: none !important;
    color: var(--ev2s-accent) !important;
    font-family: var(--ev2s-font);
    font-size: 14px;
    font-weight: 700;
    transform: none !important;
}

.ev2-shell .sms-verification-popup .action-buttons .btn i {
    color: inherit !important;
    font-size: 12.5px;
}

.ev2-shell .sms-verification-popup .action-buttons #nrtelschimb {
    color: var(--ev2s-muted) !important;
}

.ev2-shell .sms-verification-popup .action-buttons .btn:disabled {
    color: var(--ev2s-faint) !important;
    opacity: 1;
    cursor: default;
}

.ev2-shell .sms-verification-popup .ev2-cool {
    color: inherit !important;
    font-variant-numeric: tabular-nums;
}

@media (hover: hover) {
    .ev2-shell .sms-verification-popup .action-buttons .btn:not(:disabled):hover {
        background: var(--ev2s-soft) !important;
    }
}

[data-theme="dark"] .ev2-shell .sms-verification-popup .action-buttons #resend:not(:disabled) {
    color: #f87171 !important;
}

.ev2-shell .sms-verification-popup .change-phone-actions .btn {
    flex: 1 1 0;
    justify-content: center;
    min-width: 0;
    height: 46px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid var(--ev2s-border) !important;
    border-radius: 13px;
    background: var(--ev2s-card) !important;
    color: var(--ev2s-text-2) !important;
    font-family: var(--ev2s-font);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    box-shadow: none;
    transform: none;
}

.ev2-shell .sms-verification-popup .change-phone-actions .btn i {
    color: var(--ev2s-faint) !important;
    font-size: 13px;
}

@media (hover: hover) {
    .ev2-shell .sms-verification-popup .change-phone-actions .btn:not(:disabled):hover {
        border-color: var(--ev2s-border);
        background: var(--ev2s-soft) !important;
        color: var(--ev2s-text) !important;
        box-shadow: none;
        transform: none;
    }
}

.ev2-shell .sms-verification-popup .btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(236, 67, 32, .35);
}

.ev2-shell .sms-verification-popup .phone-change-section {
    margin: 0;
    padding: 16px;
    border: 0 !important;
    border-radius: 16px;
    background: var(--ev2s-soft) !important;
}

.ev2-shell .sms-verification-popup .change-phone-label {
    margin: 0 0 10px;
    color: var(--ev2s-text-2) !important;
    font-size: 13.5px;
    font-weight: 700;
}

.ev2-shell .swal2-popup.sms-verification-popup .phone-input {
    width: 100% !important;
    height: 48px !important;
    padding: 0 14px !important;
    border: 1px solid var(--ev2s-border) !important;
    border-radius: 14px !important;
    background: var(--ev2s-card) !important;
    color: var(--ev2s-text) !important;
    font-size: 16px !important;
    font-weight: 600;
}

.ev2-shell .swal2-popup.sms-verification-popup .phone-input:focus {
    border-color: rgba(236, 67, 32, .5) !important;
    box-shadow: 0 0 0 4px rgba(236, 67, 32, .12) !important;
}

.ev2-shell .sms-verification-popup .change-phone-actions {
    gap: 8px;
    margin-top: 12px;
}

.ev2-shell .sms-verification-popup .change-phone-actions .btn-success {
    border-color: transparent !important;
    background: var(--ev2s-grad) !important;
    color: #fff !important;
    box-shadow: 0 6px 16px rgba(236, 67, 32, .28);
}

.ev2-shell .sms-verification-popup .change-phone-actions .btn-success i {
    color: #fff !important;
}

@media (hover: hover) {
    .ev2-shell .sms-verification-popup .change-phone-actions .btn-success:not(:disabled):hover {
        border-color: transparent;
        background: var(--ev2s-grad) !important;
        color: #fff !important;
        box-shadow: 0 6px 16px rgba(236, 67, 32, .28);
        filter: brightness(1.05);
    }
}

.ev2-shell .sms-verification-popup .message-area {
    margin: 12px 0 0;
    min-height: 0;
}

.ev2-shell .sms-verification-popup .message-area :is(.error, .success) {
    padding: 10px 14px;
    border: 0 !important;
    border-radius: 12px;
    font-size: 13.5px;
}

.ev2-shell .sms-verification-popup .message-area .error,
.ev2-shell .sms-verification-popup .message-area .error i {
    background: var(--ev2s-exp-bg) !important;
    color: var(--ev2s-exp-fg) !important;
}

.ev2-shell .sms-verification-popup .message-area .success,
.ev2-shell .sms-verification-popup .message-area .success i {
    background: var(--ev2s-ok-bg) !important;
    color: #166534 !important;
}

[data-theme="dark"] .ev2-shell .sms-verification-popup .message-area .success,
[data-theme="dark"] .ev2-shell .sms-verification-popup .message-area .success i {
    color: var(--ev2s-ok-ic) !important;
}

/* Account removed before the SMS was confirmed */
.ev2-shell .sms-expired-popup .sms-expired-dialog {
    padding: 0;
    background: none !important;
}

.ev2-shell .sms-expired-popup .expired-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 14px;
    border-radius: 16px;
    background: var(--ev2s-warn-bg);
}

.ev2-shell .sms-expired-popup .expired-icon i {
    color: var(--ev2s-warn-ic) !important;
    font-size: 21px;
}

.ev2-shell .sms-expired-popup .sms-expired-dialog h3 {
    margin: 0 0 6px;
    color: var(--ev2s-text) !important;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.01em;
}

.ev2-shell .sms-expired-popup .expired-description {
    margin: 0 0 18px;
    color: var(--ev2s-muted) !important;
    font-size: 14px;
}

.ev2-shell .sms-expired-popup .expired-cta {
    margin: 0 0 10px;
    color: var(--ev2s-text-2) !important;
    font-size: 13.5px;
    font-weight: 700;
}

.ev2-shell .sms-expired-popup .btn-create-account {
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0 18px;
    border-radius: 13px;
    background: var(--ev2s-grad);
    box-shadow: 0 8px 18px rgba(236, 67, 32, .28);
    font-family: var(--ev2s-font);
    font-weight: 700;
    transform: none;
}

.ev2-shell .sms-expired-popup .btn-create-account,
.ev2-shell .sms-expired-popup .btn-create-account i {
    color: #fff !important;
}

@media (hover: hover) {
    .ev2-shell .sms-expired-popup .btn-create-account:hover {
        box-shadow: 0 8px 18px rgba(236, 67, 32, .28);
        filter: brightness(1.05);
        transform: none;
    }
}

.ev2-shell .sms-expired-popup .countdown-text {
    margin-top: 14px;
    color: var(--ev2s-faint) !important;
    font-size: 12.5px;
}

.ev2-shell .sms-expired-popup .countdown-text span {
    color: var(--ev2s-accent) !important;
}

/* ---------- PRO or free, after sign-up (extra.js) ---------- */

.ev2-shell .notification-preference-popup #notification-options {
    gap: 14px;
    padding: 14px 0 0;
}

.ev2-shell .notification-preference-popup .notification-box {
    padding: 26px 22px 22px;
    border: 1px solid var(--ev2s-border) !important;
    border-radius: 18px;
    background: var(--ev2s-card) !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.ev2-shell .notification-preference-popup .notification-box.pro-box {
    border: 2px solid rgba(236, 67, 32, .55) !important;
    background: linear-gradient(180deg, var(--ev2s-peach-tint) 0%, var(--ev2s-card) 55%) !important;
}

@media (hover: hover) {
    .ev2-shell .notification-preference-popup .notification-box:hover {
        border-color: #dde3ee !important;
        box-shadow: var(--ev2s-shadow-hover) !important;
    }

    .ev2-shell .notification-preference-popup .notification-box.pro-box:hover {
        border-color: rgba(236, 67, 32, .75) !important;
    }
}

.ev2-shell .notification-preference-popup .pro-badge {
    padding: 4px 12px;
    background: var(--ev2s-grad);
    box-shadow: 0 4px 12px rgba(236, 67, 32, .28);
    color: #fff !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
}

.ev2-shell .notification-preference-popup .notification-box h3 {
    color: var(--ev2s-text) !important;
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -.01em;
}

.ev2-shell .notification-preference-popup .pro-box h3 {
    color: var(--ev2s-accent) !important;
}

.ev2-shell .notification-preference-popup .plan-price {
    margin-bottom: 18px;
    color: var(--ev2s-muted) !important;
    font-size: 13.5px;
}

.ev2-shell .notification-preference-popup .advantages li {
    color: var(--ev2s-text-2) !important;
    font-size: 14px;
}

.ev2-shell .notification-preference-popup .pro-box .advantages li i {
    color: var(--ev2s-accent) !important;
}

.ev2-shell .notification-preference-popup .free-box .advantages li i {
    color: var(--ev2s-ok-ic) !important;
}

.ev2-shell .notification-preference-popup .advantages li.caveat,
.ev2-shell .notification-preference-popup .advantages li.caveat i {
    color: var(--ev2s-faint) !important;
}

.ev2-shell .notification-preference-popup :is(#select-sms, #select-email) {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    padding: 0 16px;
    border-radius: 13px;
    font-family: var(--ev2s-font);
    font-size: 15px;
    font-weight: 700;
    opacity: 1;
}

.ev2-shell .notification-preference-popup #select-sms {
    background: var(--ev2s-grad) !important;
    box-shadow: 0 6px 16px rgba(236, 67, 32, .28);
    color: #fff !important;
}

.ev2-shell .notification-preference-popup #select-email {
    background: var(--ev2s-soft) !important;
    color: var(--ev2s-text-2) !important;
}

@media (hover: hover) {
    .ev2-shell .notification-preference-popup #select-sms:hover {
        filter: brightness(1.05);
    }

    .ev2-shell .notification-preference-popup #select-email:hover {
        background: var(--ev2s-soft-2) !important;
    }
}

[data-theme="dark"] .ev2-shell .notification-preference-popup {
    background: var(--ev2s-card) !important;
}

[data-theme="dark"] .ev2-shell .notification-preference-popup .notification-box.pro-box {
    border-color: rgba(248, 113, 113, .5) !important;
}

[data-theme="dark"] .ev2-shell .notification-preference-popup .pro-box h3,
[data-theme="dark"] .ev2-shell .notification-preference-popup .pro-box .advantages li i {
    color: #f87171 !important;
}

@media (max-width: 640px) {
    .ev2-shell .notification-preference-popup #notification-options {
        gap: 18px;
    }

    .ev2-shell .notification-preference-popup .notification-box {
        padding: 22px 16px 16px;
    }
}

/* ---------- E-mail for free alerts (email-verification.js) ---------- */

.ev2-shell .swal2-popup:is(.ev2d--email, .ev2d--email-code) {
    width: min(92vw, 410px) !important;
}

.ev2-shell .swal2-popup.ev2d--email .swal2-input {
    height: 48px !important;
    margin: 18px 0 0 !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    background: var(--ev2s-soft) !important;
    font-size: 16px !important;
}

.ev2-shell .swal2-popup.ev2d--email .swal2-input:focus {
    border-color: rgba(236, 67, 32, .5) !important;
    background: var(--ev2s-card) !important;
    box-shadow: 0 0 0 4px rgba(236, 67, 32, .12) !important;
}

.ev2-shell .swal2-popup.ev2d--email .swal2-actions {
    width: 100%;
}

.ev2-shell .swal2-popup.ev2d--email .swal2-styled.swal2-confirm {
    flex: 1 1 auto;
    height: 48px;
    border-radius: 13px !important;
}

.ev2-shell .ev2d--email-code .swal2-html-container {
    color: var(--ev2s-muted) !important;
    font-size: 14px !important;
}

.ev2-shell .ev2d--email-code .swal2-html-container > br:first-child {
    display: none;
}

.ev2-shell .ev2d--email-code .ev2-otp {
    margin: 18px auto 6px;
}

.ev2-shell .ev2d--email-code .ev2-otp + br {
    display: none;
}

.ev2-shell .ev2d--email-code #resendEmail {
    display: inline-block;
    margin: 4px auto 0;
    padding: 6px 10px;
    border: 0;
    background: none;
    box-shadow: none;
    color: var(--ev2s-accent) !important;
    font-size: 14px;
    font-weight: 700;
}

[data-theme="dark"] .ev2-shell .ev2d--email-code #resendEmail {
    color: #f87171 !important;
}

.ev2-shell .ev2d--email-code #ajaxmsg {
    display: block;
    margin-top: 6px;
    color: var(--ev2s-muted) !important;
    font-size: 13px;
}

/* ---------- Trial account adds a second car (extra.js) ---------- */

.ev2-shell .trial-add-car-popup .swal2-html-container > div {
    padding: 0 !important;
}

.ev2-shell .trial-add-car-popup .swal2-html-container > div > div:first-child i.fa-info-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: var(--ev2s-warn-bg);
    color: var(--ev2s-warn-ic) !important;
    font-size: 20px !important;
}

.ev2-shell .trial-add-car-popup .swal2-html-container > div > div:first-child > div > div:first-child {
    color: var(--ev2s-text) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

.ev2-shell .trial-add-car-popup .swal2-html-container > div > div:first-child > div > div + div {
    color: var(--ev2s-muted) !important;
}

.ev2-shell .trial-add-car-popup .swal2-html-container > div > div:nth-child(2) {
    padding: 14px 16px !important;
    border-radius: 14px !important;
    background: var(--ev2s-soft) !important;
}

.ev2-shell .trial-add-car-popup .swal2-html-container > div > div:nth-child(2) div,
.ev2-shell .trial-add-car-popup .swal2-html-container > div > div:nth-child(2) span,
.ev2-shell .trial-add-car-popup .swal2-html-container > div > div:nth-child(2) i {
    color: var(--ev2s-text-2) !important;
}

.ev2-shell .trial-add-car-popup .swal2-html-container > div > div:nth-child(2) > div:first-child {
    color: var(--ev2s-text) !important;
}

.ev2-shell .trial-add-car-popup .swal2-html-container > div > div:nth-child(2) > div:last-child {
    border-top-color: var(--ev2s-soft-2) !important;
}

.ev2-shell .trial-add-car-popup .swal2-html-container > div > div:nth-child(2) > div:last-child span:last-child {
    color: var(--ev2s-accent) !important;
}

[data-theme="dark"] .ev2-shell .trial-add-car-popup .swal2-html-container > div > div:nth-child(2) > div:last-child span:last-child {
    color: #f87171 !important;
}

.ev2-shell .trial-add-car-popup #trialPayNewCar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 48px;
    padding: 0 18px !important;
    border-radius: 13px !important;
    background: var(--ev2s-grad) !important;
    box-shadow: 0 8px 18px rgba(236, 67, 32, .28) !important;
    color: #fff !important;
    font-family: var(--ev2s-font);
    font-weight: 700 !important;
}

.ev2-shell .trial-add-car-popup #trialPayNewCar i {
    margin: 0 !important;
    color: #fff !important;
}

.ev2-shell .trial-add-car-popup .swal2-html-container > div > div:last-child {
    color: var(--ev2s-muted) !important;
    font-size: 13px !important;
}

.ev2-shell .trial-add-car-popup #trialPayProOnly {
    color: var(--ev2s-accent) !important;
    font-weight: 700;
    text-decoration: none !important;
}

[data-theme="dark"] .ev2-shell .trial-add-car-popup #trialPayProOnly {
    color: #f87171 !important;
}

/* ---------- Inactive cars on login (extra.js) ---------- */

.ev2-shell .ev2d--inactive .swal2-title > span {
    color: inherit !important;
}

.ev2-shell .ev2d--inactive .swal2-title > span > i {
    display: none;
}

.ev2-shell .ev2d--inactive .swal2-html-container > div {
    padding: 0 !important;
}

.ev2-shell .ev2d--inactive .swal2-html-container > div > div:first-child {
    color: var(--ev2s-muted) !important;
    text-align: center;
}

.ev2-shell .ev2d--inactive .swal2-html-container > div > div:first-child > i {
    display: none;
}

.ev2-shell .ev2d--inactive .inactive-cars-list {
    padding: 4px 16px;
    border: 0 !important;
    border-radius: 14px;
    background: var(--ev2s-soft) !important;
}

.ev2-shell .ev2d--inactive .inactive-car-item {
    padding: 12px 0;
}

.ev2-shell .ev2d--inactive .inactive-car-item-border {
    margin: 0;
    border-top: 1px solid var(--ev2s-soft-2) !important;
}

.ev2-shell .ev2d--inactive .inactive-car-icon {
    color: var(--ev2s-faint) !important;
    font-size: 15px;
}

.ev2-shell .ev2d--inactive .inactive-car-plate {
    color: var(--ev2s-text) !important;
    font-weight: 800;
    letter-spacing: .02em;
}

.ev2-shell .ev2d--inactive .inactive-car-details {
    color: var(--ev2s-muted) !important;
    font-size: 13.5px;
}

.ev2-shell .ev2d--inactive .inactive-car-date {
    color: var(--ev2s-text) !important;
}

.ev2-shell .ev2d--inactive .inactive-cars-info-box {
    margin: 0;
    padding: 12px 14px;
    border: 0 !important;
    border-radius: 14px;
    background: var(--ev2s-blue-tint) !important;
    color: var(--ev2s-text-2) !important;
    font-size: 13.5px;
    line-height: 1.55;
}

.ev2-shell .ev2d--inactive .inactive-cars-info-box i.fa-info-circle {
    color: var(--ev2s-blue) !important;
}

.ev2-shell .ev2d--inactive .inactive-cars-info-box .CresteLimita {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 10px !important;
    border: 0;
    border-radius: 999px;
    background: var(--ev2s-grad) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700;
    animation: none;
}

.ev2-shell .ev2d--inactive .inactive-cars-info-box .CresteLimita i {
    color: #fff !important;
}

/* ---------- Transport licences (principal.js, ARR column) ---------- */

.ev2-shell .arr-licenses-popup .swal2-title > span {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

.ev2-shell .arr-licenses-popup table {
    margin-top: 10px;
    font-size: 14px !important;
}

.ev2-shell .arr-licenses-popup thead tr {
    border-bottom: 1px solid var(--ev2s-border) !important;
}

.ev2-shell .arr-licenses-popup th {
    color: var(--ev2s-muted) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ev2-shell .arr-licenses-popup tbody tr {
    border-bottom: 1px solid var(--ev2s-border) !important;
}

.ev2-shell .arr-licenses-popup tbody tr:last-child {
    border-bottom: 0 !important;
}

.ev2-shell .arr-licenses-popup td {
    padding: 11px 6px !important;
    color: var(--ev2s-text-2) !important;
}

.ev2-shell .arr-licenses-popup td span[style*="background"] {
    display: inline-block;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.ev2-shell .arr-licenses-popup td span[style*="#28a745"] {
    background: var(--ev2s-ok-bg) !important;
    color: #166534 !important;
}

.ev2-shell .arr-licenses-popup td span[style*="#fd7e14"] {
    background: var(--ev2s-warn-bg) !important;
    color: var(--ev2s-warn-fg) !important;
}

.ev2-shell .arr-licenses-popup td span[style*="#dc3545"] {
    background: var(--ev2s-exp-bg) !important;
    color: var(--ev2s-exp-fg) !important;
}

[data-theme="dark"] .ev2-shell .arr-licenses-popup td span[style*="#28a745"] {
    color: var(--ev2s-ok-ic) !important;
}

/* ---------- Dark: popups that set their own light backgrounds ---------- */

[data-theme="dark"] .ev2-shell .swal2-popup:is(.sms-verification-popup, .notification-preference-popup, .trial-add-car-popup, .pin-sent-popup, .ev2d-head) {
    background: var(--ev2s-card) !important;
}
