/* CONNECT AUTH SUITE V1 — Cadastro + Recuperação */

body.template-clientregister,
body.template-password-reset-container {
    background: #f4f7fb !important;
    color-scheme: light;
}

body.template-clientregister #main-body,
body.template-password-reset-container #main-body {
    background:
        radial-gradient(circle at 14% 0%, rgba(11,116,255,.07), transparent 30%),
        #f4f7fb !important;
}

/* =========================
   CADASTRO CONNECT
   ========================= */
body.template-clientregister #main-body {
    padding-top: 26px !important;
    padding-bottom: 34px !important;
}

body.template-clientregister #registration {
    max-width: none !important;
    margin: 0 !important;
}

body.template-clientregister .connect-register-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 24px;
    align-items: center;
    margin-bottom: 18px;
    padding: 26px 28px;
    border: 1px solid #123c6c;
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 10%, rgba(28,197,237,.17), transparent 30%),
        linear-gradient(135deg,#061326,#0a2c59);
    color: #fff;
    box-shadow: 0 16px 44px rgba(7,31,62,.12);
}

body.template-clientregister .connect-register-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .16;
    background-image:
        linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
    background-size: 38px 38px;
}

body.template-clientregister .connect-register-hero-copy,
body.template-clientregister .connect-register-hero-points {
    position: relative;
    z-index: 1;
}

body.template-clientregister .connect-register-eyebrow {
    display: block;
    margin-bottom: 6px;
    color: #56d8f4;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

body.template-clientregister .connect-register-hero h1 {
    margin: 0 0 7px;
    color: #fff;
    font-size: clamp(27px,3vw,37px);
    font-weight: 900;
    letter-spacing: -.03em;
}

body.template-clientregister .connect-register-hero p {
    max-width: 690px;
    margin: 0;
    color: #bfd1e5;
    font-size: 13.5px;
    line-height: 1.6;
}

body.template-clientregister .connect-register-hero-points {
    display: grid;
    gap: 7px;
    min-width: 220px;
}

body.template-clientregister .connect-register-hero-points span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #dceaff;
    font-size: 11px;
    font-weight: 750;
}

body.template-clientregister .connect-register-hero-points i {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(19,193,233,.11);
    color: #57d7f2;
}

/* Sidebar de cadastro */
body.template-clientregister #main-body > .container > .row > [class*="col-lg-4"] .card-sidebar {
    overflow: hidden;
    border: 1px solid #d8e4f0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 12px 34px rgba(7,31,62,.055) !important;
}

body.template-clientregister .card-sidebar .card-header {
    padding: 15px 16px !important;
    border-bottom: 1px solid #e4ebf3 !important;
    background: linear-gradient(135deg,#07182f,#0b2f61) !important;
}

body.template-clientregister .card-sidebar .card-header .card-title {
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 850 !important;
}

body.template-clientregister .card-sidebar .list-group-item {
    min-height: 48px;
    padding: 12px 14px !important;
    color: #36516d !important;
    font-size: 12px !important;
    line-height: 1.45;
}

body.template-clientregister .card-sidebar a.list-group-item:hover,
body.template-clientregister .card-sidebar a.list-group-item:focus-visible {
    background: #f3f8ff !important;
    color: #075fca !important;
}

@media (min-width: 992px) {
    body.template-clientregister #main-body > .container > .row > [class*="col-lg-4"] .sidebar {
        position: sticky;
        top: 108px;
    }
}

/* Cards do formulário */
body.template-clientregister #registration .card {
    overflow: hidden;
    margin-bottom: 16px !important;
    border: 1px solid #dce6f0 !important;
    border-top: 1px solid #dce6f0 !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(7,31,62,.045) !important;
}

body.template-clientregister #registration .card-body {
    padding: 24px 25px !important;
}

body.template-clientregister #registration .card-title {
    position: relative;
    margin: 0 0 20px !important;
    padding: 0 0 14px 16px;
    border-bottom: 1px solid #e7edf4;
    color: #092342 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: -.015em;
}

body.template-clientregister #registration .card-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 4px;
    height: 21px;
    border-radius: 4px;
    background: linear-gradient(#0b74ff,#17c8e8);
}

body.template-clientregister #registration .card-title small {
    color: #73879d !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

body.template-clientregister #registration .form-group {
    margin-bottom: 14px !important;
}

body.template-clientregister #registration input.field,
body.template-clientregister #registration input.form-control,
body.template-clientregister #registration select.field,
body.template-clientregister #registration select.form-control,
body.template-clientregister #registration textarea.form-control {
    min-height: 47px !important;
    border: 1px solid #cbd9e8 !important;
    border-radius: 9px !important;
    background: #fbfdff !important;
    color: #17324f !important;
    font-size: 13px !important;
    box-shadow: none !important;
}

body.template-clientregister #registration select.field,
body.template-clientregister #registration select.form-control {
    padding-left: 42px !important;
}

body.template-clientregister #registration .prepend-icon .field {
    padding-left: 43px !important;
}

body.template-clientregister #registration .field-icon {
    width: 42px !important;
    height: 47px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #6a8198 !important;
}

body.template-clientregister #registration input:focus,
body.template-clientregister #registration select:focus,
body.template-clientregister #registration textarea:focus {
    position: relative;
    z-index: 2;
    border-color: #68aaff !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(11,116,255,.11) !important;
    outline: 0 !important;
}

body.template-clientregister #registration label:not(.field-icon):not(.form-check) {
    color: #405a73;
    font-size: 12px;
    font-weight: 800;
}

body.template-clientregister #registration .field-help-text,
body.template-clientregister #registration .text-muted {
    color: #758a9f !important;
    font-size: 11px !important;
    line-height: 1.45;
}

/* Senha */
body.template-clientregister #registration .generate-password {
    min-height: 42px;
    width: 100%;
    border-radius: 9px !important;
}

body.template-clientregister #registration .password-strength-meter {
    padding: 4px 0 0;
}

body.template-clientregister #registration .password-strength-meter .progress {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e7edf4;
}

body.template-clientregister #registration #passwordStrengthTextLabel {
    margin-top: 7px;
}

/* Marketing, TOS e submit */
body.template-clientregister #registration .form-check {
    display: inline-flex;
    align-items: flex-start;
    gap: 7px;
    color: #50677f;
    line-height: 1.45;
}

body.template-clientregister #registration .accepttos {
    margin-top: 3px;
}

body.template-clientregister #registration input[type="submit"].btn-primary {
    width: min(100%, 380px);
    min-height: 50px;
    border: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg,#117cff,#0759dc) !important;
    box-shadow: 0 12px 28px rgba(11,116,255,.20);
    font-size: 14px;
    font-weight: 900;
}

body.template-clientregister #registration input[type="submit"].btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(11,116,255,.27);
}

/* =========================
   RECUPERAÇÃO DE SENHA
   ========================= */
body.template-password-reset-container #main-body {
    padding-top: 34px !important;
    padding-bottom: 40px !important;
}

body.template-password-reset-container #main-body > .container {
    max-width: 1120px !important;
}

body.template-password-reset-container .primary-content {
    width: 100%;
    max-width: 100% !important;
}

body.template-password-reset-container .connect-reset-layout {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(390px,1.1fr);
    gap: 22px;
    align-items: stretch;
    width: 100%;
    margin: 8px 0 18px;
}

body.template-password-reset-container .connect-reset-hero {
    position: relative;
    overflow: hidden;
    min-height: 390px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 36px 34px;
    border: 1px solid #123d6e;
    border-radius: 20px;
    background:
        radial-gradient(circle at 92% 8%, rgba(25,199,237,.18), transparent 31%),
        linear-gradient(145deg,#020817,#082b58);
    color: #fff;
    box-shadow: 0 18px 48px rgba(7,31,62,.13);
}

body.template-password-reset-container .connect-reset-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    align-self: flex-start;
    margin-bottom: 16px;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: #5edcf5;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .09em;
}

body.template-password-reset-container .connect-reset-hero h1 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(29px,3vw,40px);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -.035em;
}

body.template-password-reset-container .connect-reset-hero > p {
    max-width: 470px;
    margin: 0 0 24px;
    color: #bdd0e5;
    font-size: 13.5px;
    line-height: 1.6;
}

body.template-password-reset-container .connect-reset-benefits {
    display: grid;
    gap: 10px;
}

body.template-password-reset-container .connect-reset-benefits span {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #d9e8f7;
    font-size: 11.5px;
    font-weight: 750;
}

body.template-password-reset-container .connect-reset-benefits i {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(28,195,233,.11);
    color: #5bdcf5;
}

body.template-password-reset-container .connect-reset-form-wrap {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body.template-password-reset-container .connect-reset-card {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid #d7e3ee !important;
    border-top: 3px solid #0b74ff !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 18px 48px rgba(7,31,62,.09) !important;
}

body.template-password-reset-container .connect-reset-card .card-body {
    padding: 31px 32px 28px !important;
}

body.template-password-reset-container .connect-reset-heading {
    margin-bottom: 22px;
}

body.template-password-reset-container .connect-reset-heading > span {
    display: block;
    margin-bottom: 5px;
    color: #0b74ff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
}

body.template-password-reset-container .connect-reset-heading h2 {
    margin: 0 0 7px;
    color: #0a2140;
    font-size: 27px;
    font-weight: 900;
    letter-spacing: -.025em;
}

body.template-password-reset-container .connect-reset-heading p {
    margin: 0;
    color: #6f8398;
    font-size: 13px;
    line-height: 1.55;
}

body.template-password-reset-container .connect-reset-form label {
    margin-bottom: 7px;
    color: #3d5872;
    font-size: 12px;
    font-weight: 800;
}

body.template-password-reset-container .connect-reset-form .input-group {
    display: grid !important;
    grid-template-columns: 46px minmax(0,1fr);
    width: 100%;
}

body.template-password-reset-container .connect-reset-form .input-group-prepend {
    width: 46px !important;
    margin: 0 !important;
}

body.template-password-reset-container .connect-reset-form .input-group-text {
    width: 46px;
    height: 49px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #cbd9e8;
    border-right: 0;
    border-radius: 9px 0 0 9px;
    background: #f5f9fd;
    color: #6a8198;
}

body.template-password-reset-container .connect-reset-form .form-control {
    height: 49px;
    min-width: 0;
    border: 1px solid #cbd9e8;
    border-radius: 0 9px 9px 0 !important;
    background: #fff;
    color: #17324f;
    font-size: 13px;
}

body.template-password-reset-container .connect-reset-form .form-control:focus {
    position: relative;
    z-index: 2;
    border-color: #6caeff;
    box-shadow: inset 0 0 0 1px #6caeff,0 0 0 3px rgba(11,116,255,.10);
}

body.template-password-reset-container .connect-reset-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 18px 0 0 !important;
}

body.template-password-reset-container .connect-reset-actions .btn-primary {
    width: 100%;
    min-height: 49px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(135deg,#117cff,#0759dc);
    box-shadow: 0 12px 27px rgba(11,116,255,.21);
    font-size: 13px;
    font-weight: 900;
}

body.template-password-reset-container .connect-reset-back {
    align-self: center;
    color: #49667f !important;
    font-size: 11.5px;
    font-weight: 800;
    text-decoration: none !important;
}

body.template-password-reset-container .connect-reset-back:hover {
    color: #0b68d5 !important;
}

body.template-password-reset-container .connect-reset-support {
    margin: 12px 0 0;
    color: #6f849a;
    font-size: 11.5px;
    text-align: center;
}

body.template-password-reset-container .connect-reset-support i {
    margin-right: 4px;
    color: #0b74ff;
}

body.template-password-reset-container .connect-reset-support a {
    color: #0b68d5 !important;
    font-weight: 850;
}

/* Estados internos do reset que continuam vindo do WHMCS */
body.template-password-reset-container .connect-reset-card .h3,
body.template-password-reset-container .connect-reset-card h3,
body.template-password-reset-container .connect-reset-card h6 {
    color: #0a2140 !important;
    font-weight: 900 !important;
}

body.template-password-reset-container .connect-reset-card .alert {
    border-radius: 10px;
    font-size: 12px;
    line-height: 1.5;
}

/* =========================
   ACESSIBILIDADE / HARDENING
   ========================= */
body.template-clientregister a:focus-visible,
body.template-clientregister button:focus-visible,
body.template-clientregister input:focus-visible,
body.template-clientregister select:focus-visible,
body.template-password-reset-container a:focus-visible,
body.template-password-reset-container button:focus-visible,
body.template-password-reset-container input:focus-visible,
body.template-password-reset-container select:focus-visible {
    outline: 3px solid rgba(11,116,255,.38) !important;
    outline-offset: 2px !important;
}

body.template-clientregister .connect-whatsapp-float,
body.template-password-reset-container .connect-whatsapp-float {
    z-index: 1030 !important;
}

body.template-clientregister #registration,
body.template-clientregister #registration *,
body.template-password-reset-container .connect-reset-layout,
body.template-password-reset-container .connect-reset-layout * {
    box-sizing: border-box;
}

body.template-clientregister #registration,
body.template-password-reset-container .connect-reset-layout,
body.template-password-reset-container .connect-reset-card {
    min-width: 0;
    max-width: 100%;
}

body.template-clientregister #registration *,
body.template-password-reset-container .connect-reset-layout * {
    overflow-wrap: anywhere;
}

@media (prefers-reduced-motion: reduce) {
    body.template-clientregister *,
    body.template-password-reset-container * {
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

@media (prefers-color-scheme: dark) {
    body.template-clientregister,
    body.template-clientregister input,
    body.template-clientregister select,
    body.template-password-reset-container,
    body.template-password-reset-container input,
    body.template-password-reset-container button {
        color-scheme: light !important;
    }
}

/* =========================
   RESPONSIVIDADE
   ========================= */
@media (max-width: 1199.98px) {
    body.template-clientregister .connect-register-hero {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    body.template-clientregister .connect-register-hero-points {
        grid-template-columns: repeat(3,minmax(0,1fr));
        min-width: 0;
    }
}

@media (max-width: 991.98px) {
    body.template-clientregister #main-body > .container > .row {
        display: flex;
        flex-direction: column;
    }

    body.template-clientregister #main-body > .container > .row > .primary-content {
        order: 1;
    }

    body.template-clientregister #main-body > .container > .row > [class*="col-lg-4"] {
        order: 2;
        margin-top: 18px;
    }

    body.template-clientregister .connect-register-hero {
        padding: 23px 24px;
    }

    body.template-password-reset-container .connect-reset-layout {
        grid-template-columns: 1fr;
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }

    body.template-password-reset-container .connect-reset-form-wrap {
        order: 1;
    }

    body.template-password-reset-container .connect-reset-hero {
        order: 2;
        min-height: auto;
        padding: 27px;
    }
}

@media (max-width: 767.98px) {
    body.template-clientregister #main-body,
    body.template-password-reset-container #main-body {
        padding-top: 18px !important;
        padding-bottom: 24px !important;
    }

    body.template-clientregister .connect-register-hero {
        padding: 21px 19px;
        border-radius: 15px;
    }

    body.template-clientregister .connect-register-hero h1 {
        font-size: 28px;
    }

    body.template-clientregister .connect-register-hero-points {
        grid-template-columns: 1fr;
    }

    body.template-clientregister #registration .card-body {
        padding: 20px 18px !important;
    }

    body.template-clientregister #registration .row > [class*="col-sm-"] {
        min-width: 0;
    }

    body.template-password-reset-container .connect-reset-card .card-body {
        padding: 24px 20px !important;
    }

    body.template-password-reset-container .connect-reset-hero {
        padding: 24px 21px;
    }
}

@media (max-width: 575.98px) {
    body.template-clientregister #main-body > .container,
    body.template-password-reset-container #main-body > .container {
        padding-left: 13px;
        padding-right: 13px;
    }

    body.template-clientregister .connect-register-hero h1 {
        font-size: 25px;
        line-height: 1.12;
    }

    body.template-clientregister #registration .card-title {
        font-size: 16px !important;
    }

    body.template-clientregister #registration input.field,
    body.template-clientregister #registration input.form-control,
    body.template-clientregister #registration select.field,
    body.template-clientregister #registration select.form-control {
        font-size: 16px !important; /* evita zoom automático em iOS */
    }

    body.template-password-reset-container .connect-reset-hero h1 {
        font-size: 27px;
    }

    body.template-password-reset-container .connect-reset-form .form-control {
        font-size: 16px !important;
    }

    body.template-clientregister .connect-whatsapp-float,
    body.template-password-reset-container .connect-whatsapp-float {
        width: 44px !important;
        height: 44px !important;
        right: 12px !important;
        bottom: 12px !important;
    }
}


/* ==========================================================
   CONNECT AUTH SUITE V1.2 — LOOP 002B MAXIMIZADO
   RECUPERAÇÃO DE SENHA PREMIUM + MOBILE + A11Y + MICROCOPY
   ========================================================== */

body.template-password-reset-container .connect-reset-shell {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
}

body.template-password-reset-container .connect-reset-layout {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
    gap: 22px;
    align-items: stretch;
    max-width: none;
}

body.template-password-reset-container .connect-reset-side {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: 500px;
    padding: 34px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 95% 4%, rgba(29,202,239,.18), transparent 30%),
        linear-gradient(145deg,#020817 0%,#071a36 55%,#08366f 100%);
    color: #fff;
    box-shadow: 0 22px 58px rgba(4,27,58,.16);
}

body.template-password-reset-container .connect-reset-side::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .20;
    background-image:
        linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.07) 1px, transparent 1px);
    background-size: 42px 42px;
}

body.template-password-reset-container .connect-auth-suite-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 17px;
    padding: 8px 11px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: #d8e9fb;
    font-size: 10.5px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
}

body.template-password-reset-container .connect-auth-suite-kicker i {
    color: #4ddcf4;
}

body.template-password-reset-container .connect-reset-side h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(29px,3vw,40px);
    line-height: 1.06;
    font-weight: 900;
    letter-spacing: -.035em;
}

body.template-password-reset-container .connect-reset-side > .connect-reset-side-inner > p {
    margin: 0 0 22px;
    color: #bfd1e6;
    font-size: 14px;
    line-height: 1.6;
}

body.template-password-reset-container .connect-reset-steps {
    display: grid;
    gap: 10px;
    margin-bottom: 20px;
}

body.template-password-reset-container .connect-reset-step {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    gap: 11px;
    align-items: start;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 12px;
    background: rgba(255,255,255,.045);
}

body.template-password-reset-container .connect-reset-step > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(26,201,235,.12);
    color: #62def5;
    font-size: 12px;
    font-weight: 900;
}

body.template-password-reset-container .connect-reset-step strong {
    display: block;
    margin: 1px 0 2px;
    color: #fff;
    font-size: 12.5px;
}

body.template-password-reset-container .connect-reset-step small {
    display: block;
    color: #a8bdd4;
    font-size: 10.5px;
    line-height: 1.4;
}

body.template-password-reset-container .connect-reset-security-note {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    padding: 13px 14px;
    border: 1px solid rgba(34,215,163,.18);
    border-radius: 11px;
    background: rgba(34,215,163,.07);
    color: #ccecdf;
    font-size: 10.5px;
    line-height: 1.45;
}

body.template-password-reset-container .connect-reset-security-note i {
    margin-top: 2px;
    color: #30d9a7;
}

body.template-password-reset-container .connect-reset-side-links {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 18px;
}

body.template-password-reset-container .connect-reset-side-links a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #dceaff !important;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none !important;
}

body.template-password-reset-container .connect-reset-side-links a:hover,
body.template-password-reset-container .connect-reset-side-links a:focus-visible {
    color: #62def5 !important;
}

body.template-password-reset-container .connect-reset-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 8px 0;
}

body.template-password-reset-container .connect-reset-main-head {
    margin: 0 0 13px;
    padding: 0 3px;
}

body.template-password-reset-container .connect-reset-main-head > span {
    display: block;
    margin-bottom: 4px;
    color: #0b74ff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .09em;
}

body.template-password-reset-container .connect-reset-main-head > strong {
    display: block;
    color: #0b213d;
    font-size: 25px;
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: -.025em;
}

body.template-password-reset-container .connect-reset-main-head > p {
    margin: 5px 0 0;
    color: #718299;
    font-size: 13px;
    line-height: 1.5;
}

body.template-password-reset-container .connect-reset-card {
    overflow: hidden;
    border: 1px solid #d5e1ee !important;
    border-top: 3px solid #0b74ff !important;
    border-radius: 17px !important;
    box-shadow: 0 18px 48px rgba(7,31,62,.10) !important;
}

body.template-password-reset-container .connect-reset-card .card-body {
    padding: 27px 30px 23px !important;
}

body.template-password-reset-container .connect-reset-form-intro {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    gap: 12px;
    align-items: start;
    margin-bottom: 20px;
}

body.template-password-reset-container .connect-reset-form-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #eaf4ff;
    color: #0b74ff;
    font-size: 16px;
}

body.template-password-reset-container .connect-reset-form-intro h3 {
    margin: 1px 0 4px;
    color: #0a2140;
    font-size: 19px;
    font-weight: 900;
}

body.template-password-reset-container .connect-reset-form-intro p {
    margin: 0;
    color: #73879e;
    font-size: 12px;
    line-height: 1.45;
}

body.template-password-reset-container .connect-reset-form .form-group {
    margin-bottom: 17px;
}

body.template-password-reset-container .connect-reset-form label {
    display: block;
    margin-bottom: 6px;
    color: #29445f;
    font-size: 11.5px;
    font-weight: 850;
}

body.template-password-reset-container .connect-reset-input .input-group-text,
body.template-password-reset-container .connect-reset-input .form-control {
    min-height: 49px;
    height: 49px;
}

body.template-password-reset-container .connect-reset-input .input-group-text {
    width: 46px;
    justify-content: center;
    border-color: #cbd9e8;
    background: #f4f8fc;
    color: #63809d;
}

body.template-password-reset-container .connect-reset-input .form-control {
    border-color: #cbd9e8;
    color: #17324e;
    font-size: 14px;
}

body.template-password-reset-container .connect-reset-input:focus-within .input-group-text,
body.template-password-reset-container .connect-reset-input:focus-within .form-control {
    border-color: #0b74ff !important;
}

body.template-password-reset-container .connect-reset-input:focus-within {
    border-radius: 8px;
    box-shadow: 0 0 0 3px rgba(11,116,255,.12);
}

body.template-password-reset-container .connect-reset-field-help {
    display: block;
    margin-top: 6px;
    color: #7c8fa4;
    font-size: 10.5px;
    line-height: 1.4;
}

body.template-password-reset-container .connect-reset-actions {
    margin-top: 19px;
}

body.template-password-reset-container .connect-reset-submit {
    min-height: 49px;
    border-radius: 10px !important;
    background: linear-gradient(135deg,#117cff,#0759dc) !important;
    border-color: #0b6ff1 !important;
    box-shadow: 0 11px 24px rgba(11,116,255,.20);
    font-size: 13px;
    font-weight: 850;
}

body.template-password-reset-container .connect-reset-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 15px 30px rgba(11,116,255,.27);
}

body.template-password-reset-container .connect-reset-privacy-note {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 14px 0 0;
    color: #7b8ea3;
    font-size: 10.5px;
    line-height: 1.45;
}

body.template-password-reset-container .connect-reset-privacy-note i {
    margin-top: 2px;
    color: #0b74ff;
}

body.template-password-reset-container .connect-reset-captcha {
    margin: 16px 0;
    text-align: center;
}

body.template-password-reset-container .connect-reset-card-footer {
    min-height: 45px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 18px;
    padding: 10px 16px;
    border-top: 1px solid #e5edf6;
    background: #f8fbff;
    color: #60758c;
    font-size: 10.5px;
}

body.template-password-reset-container .connect-reset-card-footer span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

body.template-password-reset-container .connect-reset-card-footer i {
    color: #0b74ff;
}

body.template-password-reset-container .connect-reset-help {
    margin-top: 11px;
    color: #6f8399;
    font-size: 11px;
    text-align: center;
}

body.template-password-reset-container .connect-reset-help a {
    color: #0b74ff !important;
    font-weight: 850;
}

body.template-password-reset-container .connect-reset-alert-wrap {
    margin-bottom: 16px;
}

body.template-password-reset-container .connect-reset-question {
    margin-bottom: 17px;
    padding: 13px 14px;
    border: 1px solid #dce7f2;
    border-radius: 11px;
    background: #f7faff;
}

body.template-password-reset-container .connect-reset-question > span {
    display: block;
    margin-bottom: 4px;
    color: #0b74ff;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
}

body.template-password-reset-container .connect-reset-question > strong {
    color: #193754;
    font-size: 13px;
    line-height: 1.45;
}

body.template-password-reset-container .connect-reset-strength {
    margin: 4px 0 17px;
    padding: 13px;
    border: 1px solid #e1e9f2;
    border-radius: 11px;
    background: #f9fbfd;
}

body.template-password-reset-container .connect-reset-strength-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 9px;
}

body.template-password-reset-container .connect-reset-strength-head > span {
    color: #29445f;
    font-size: 11px;
    font-weight: 850;
}

body.template-password-reset-container .connect-reset-strength-head > small {
    color: #8295a9;
    font-size: 10px;
}

body.template-password-reset-container .connect-reset-password-tips {
    display: grid;
    gap: 7px;
    margin-bottom: 18px;
    padding: 12px 13px;
    border: 1px solid #dfe8f1;
    border-radius: 10px;
    color: #61778d;
    font-size: 10.5px;
    background: #fff;
}

body.template-password-reset-container .connect-reset-password-tips span {
    display: flex;
    gap: 7px;
    align-items: flex-start;
}

body.template-password-reset-container .connect-reset-password-tips i {
    margin-top: 2px;
    color: #16a873;
}

body.template-password-reset-container .connect-reset-actions-split {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px;
}

body.template-password-reset-container .connect-reset-cancel {
    min-height: 49px;
    min-width: 112px;
    border-radius: 10px !important;
}

body.template-password-reset-container .connect-reset-state {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    gap: 13px;
    align-items: start;
    padding: 16px;
    border-radius: 12px;
}

body.template-password-reset-container .connect-reset-state-success {
    border: 1px solid #bce9d4;
    background: #f0fbf6;
}

body.template-password-reset-container .connect-reset-state-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #daf6e8;
    color: #12865b;
}

body.template-password-reset-container .connect-reset-state strong {
    display: block;
    margin: 2px 0 5px;
    color: #183c32;
    font-size: 15px;
}

body.template-password-reset-container .connect-reset-state p {
    margin: 0;
    color: #55756b;
    font-size: 12px;
    line-height: 1.5;
}

/* Acessibilidade: foco nítido, sem depender apenas de cor */
body.template-password-reset-container a:focus-visible,
body.template-password-reset-container button:focus-visible,
body.template-password-reset-container input:focus-visible {
    outline: 3px solid rgba(11,116,255,.38) !important;
    outline-offset: 2px !important;
}

/* Tablet: formulário primeiro */
@media (max-width: 991.98px) {
    body.template-password-reset-container .connect-reset-layout {
        grid-template-columns: 1fr;
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }

    body.template-password-reset-container .connect-reset-main {
        order: 1;
    }

    body.template-password-reset-container .connect-reset-side {
        order: 2;
        min-height: auto;
        padding: 27px;
    }
}

@media (max-width: 575.98px) {
    body.template-password-reset-container .connect-reset-shell {
        padding: 0;
    }

    body.template-password-reset-container .connect-reset-main-head > strong {
        font-size: 22px;
    }

    body.template-password-reset-container .connect-reset-card .card-body {
        padding: 21px 17px 18px !important;
    }

    body.template-password-reset-container .connect-reset-form-intro {
        grid-template-columns: 38px minmax(0,1fr);
        gap: 10px;
    }

    body.template-password-reset-container .connect-reset-form-icon {
        width: 38px;
        height: 38px;
    }

    body.template-password-reset-container .connect-reset-input .form-control {
        font-size: 16px !important; /* evita zoom automático no iOS */
    }

    body.template-password-reset-container .connect-reset-side {
        padding: 22px 17px;
        border-radius: 17px;
    }

    body.template-password-reset-container .connect-reset-side h2 {
        font-size: 27px;
    }

    body.template-password-reset-container .connect-reset-actions-split {
        grid-template-columns: 1fr;
    }

    body.template-password-reset-container .connect-reset-cancel {
        width: 100%;
    }

    body.template-password-reset-container .connect-reset-card-footer {
        justify-content: flex-start;
    }
}

/* Hardening contra dark mode automático */
@media (prefers-color-scheme: dark) {
    body.template-password-reset-container,
    body.template-password-reset-container input,
    body.template-password-reset-container button,
    body.template-password-reset-container .connect-reset-card {
        color-scheme: light !important;
    }
}

/* Redução de movimento */
@media (prefers-reduced-motion: reduce) {
    body.template-password-reset-container *,
    body.template-password-reset-container *::before,
    body.template-password-reset-container *::after {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }
}

/* Hardening contra overflow e zoom */
body.template-password-reset-container .connect-reset-shell,
body.template-password-reset-container .connect-reset-layout,
body.template-password-reset-container .connect-reset-main,
body.template-password-reset-container .connect-reset-side,
body.template-password-reset-container .connect-reset-card,
body.template-password-reset-container .connect-reset-card * {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}


/* ==========================================================
   CONNECT AUTH SUITE V1.3 — LOOP 002C MAXIMIZADO
   RESPONSIVIDADE + MOBILE QA + A11Y + HARDENING
   Cadastro + Recuperação
   ========================================================== */

body.template-clientregister,
body.template-password-reset-container {
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body.template-clientregister #main-body,
body.template-password-reset-container #main-body,
body.template-clientregister #registration,
body.template-password-reset-container .connect-reset-shell {
    min-width: 0 !important;
    max-width: 100% !important;
}

body.template-clientregister #main-body > .container,
body.template-password-reset-container #main-body > .container {
    padding-left: max(15px, env(safe-area-inset-left)) !important;
    padding-right: max(15px, env(safe-area-inset-right)) !important;
}

body.template-clientregister input,
body.template-clientregister select,
body.template-clientregister textarea,
body.template-clientregister button,
body.template-clientregister a,
body.template-password-reset-container input,
body.template-password-reset-container button,
body.template-password-reset-container a {
    scroll-margin-top: 96px;
    touch-action: manipulation;
}

body.template-clientregister .btn,
body.template-password-reset-container .btn,
body.template-clientregister input[type="checkbox"],
body.template-password-reset-container input[type="checkbox"] {
    min-height: 44px;
}

body.template-clientregister input:-webkit-autofill,
body.template-clientregister input:-webkit-autofill:hover,
body.template-clientregister input:-webkit-autofill:focus,
body.template-password-reset-container input:-webkit-autofill,
body.template-password-reset-container input:-webkit-autofill:hover,
body.template-password-reset-container input:-webkit-autofill:focus {
    -webkit-text-fill-color: #17324e !important;
    -webkit-box-shadow: 0 0 0 1000px #f8fbff inset !important;
    transition: background-color 9999s ease-out 0s;
}

body.template-clientregister .form-control:focus,
body.template-clientregister .field:focus,
body.template-password-reset-container .form-control:focus {
    outline: 0 !important;
    border-color: #0b74ff !important;
    box-shadow: 0 0 0 3px rgba(11,116,255,.12) !important;
}

/* 1440+ */
@media (min-width: 1440px) {
    body.template-clientregister #main-body > .container,
    body.template-password-reset-container #main-body > .container {
        max-width: 1280px !important;
    }

    body.template-clientregister #registration {
        max-width: 980px;
    }

    body.template-password-reset-container .connect-reset-shell {
        max-width: 1160px;
    }
}

/* 1366 / notebooks largos */
@media (min-width: 1200px) and (max-width: 1439.98px) {
    body.template-clientregister #main-body > .container,
    body.template-password-reset-container #main-body > .container {
        max-width: 1210px !important;
    }

    body.template-password-reset-container .connect-reset-layout {
        grid-template-columns: minmax(0,.92fr) minmax(400px,1.08fr);
        gap: 20px;
    }
}

/* 1024–1199 */
@media (min-width: 992px) and (max-width: 1199.98px) {
    body.template-clientregister #registration {
        max-width: 880px;
    }

    body.template-clientregister .connect-register-hero {
        padding: 23px 24px;
    }

    body.template-password-reset-container .connect-reset-layout {
        grid-template-columns: minmax(0,.90fr) minmax(390px,1.10fr);
        gap: 18px;
    }

    body.template-password-reset-container .connect-reset-side {
        padding: 27px 25px;
    }

    body.template-password-reset-container .connect-reset-card .card-body {
        padding: 24px 25px 21px !important;
    }
}

/* Tablet 768–991: conteúdo principal primeiro */
@media (min-width: 768px) and (max-width: 991.98px) {
    body.template-clientregister #registration {
        width: min(100%,760px);
        margin-left: auto;
        margin-right: auto;
    }

    body.template-clientregister #main-body > .container > .row > .primary-content {
        width: 100%;
        max-width: 100%;
    }

    body.template-clientregister #main-body > .container > .row > [class*="col-lg-4"] {
        width: min(100%,760px);
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    body.template-password-reset-container .connect-reset-main,
    body.template-password-reset-container .connect-reset-side {
        width: min(100%,720px);
        margin-left: auto;
        margin-right: auto;
    }
}

/* Mobile largo 431–767 */
@media (min-width: 431px) and (max-width: 767.98px) {
    body.template-clientregister #registration,
    body.template-password-reset-container .connect-reset-shell {
        width: 100%;
    }

    body.template-clientregister #registration .card,
    body.template-password-reset-container .connect-reset-card {
        border-radius: 13px !important;
    }

    body.template-password-reset-container .connect-reset-side {
        border-radius: 16px;
    }
}

/* 430px */
@media (max-width: 430px) {
    body.template-clientregister #main-body,
    body.template-password-reset-container #main-body {
        padding-top: 12px !important;
        padding-bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }

    body.template-clientregister #main-body > .container,
    body.template-password-reset-container #main-body > .container {
        padding-left: max(11px, env(safe-area-inset-left)) !important;
        padding-right: max(11px, env(safe-area-inset-right)) !important;
    }

    body.template-clientregister .connect-register-hero {
        padding: 18px 15px !important;
    }

    body.template-clientregister .connect-register-hero h1 {
        font-size: 24px !important;
    }

    body.template-clientregister #registration .card-body {
        padding: 18px 15px !important;
    }

    body.template-clientregister #registration .row {
        margin-left: -6px;
        margin-right: -6px;
    }

    body.template-clientregister #registration .row > [class*="col-"] {
        padding-left: 6px;
        padding-right: 6px;
    }

    body.template-clientregister #registration input.field,
    body.template-clientregister #registration input.form-control,
    body.template-clientregister #registration select.field,
    body.template-clientregister #registration select.form-control,
    body.template-clientregister #registration textarea,
    body.template-password-reset-container .connect-reset-input .form-control {
        font-size: 16px !important;
    }

    body.template-password-reset-container .connect-reset-main-head {
        padding-left: 1px;
        padding-right: 1px;
    }

    body.template-password-reset-container .connect-reset-card .card-body {
        padding: 19px 15px 17px !important;
    }

    body.template-password-reset-container .connect-reset-side {
        padding: 20px 15px !important;
    }

    body.template-password-reset-container .connect-reset-side h2 {
        font-size: 26px !important;
    }

    body.template-password-reset-container .connect-reset-step {
        grid-template-columns: 32px minmax(0,1fr);
        padding: 10px;
    }

    body.template-password-reset-container .connect-reset-step > span {
        width: 32px;
        height: 32px;
    }
}

/* 390px */
@media (max-width: 390px) {
    body.template-clientregister .connect-register-hero-points {
        grid-template-columns: 1fr !important;
    }

    body.template-clientregister #registration .card-title {
        font-size: 15.5px !important;
        line-height: 1.3;
    }

    body.template-clientregister #registration .btn-lg,
    body.template-clientregister #registration input[type="submit"] {
        width: 100%;
        min-width: 0 !important;
    }

    body.template-password-reset-container .connect-reset-actions-split {
        grid-template-columns: 1fr !important;
    }

    body.template-password-reset-container .connect-reset-submit,
    body.template-password-reset-container .connect-reset-cancel {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.template-password-reset-container .connect-reset-card-footer {
        justify-content: flex-start;
    }
}

/* 360px */
@media (max-width: 360px) {
    body.template-clientregister #main-body > .container,
    body.template-password-reset-container #main-body > .container {
        padding-left: 9px !important;
        padding-right: 9px !important;
    }

    body.template-clientregister #registration .card-body,
    body.template-password-reset-container .connect-reset-card .card-body {
        padding-left: 13px !important;
        padding-right: 13px !important;
    }

    body.template-password-reset-container .connect-reset-form-intro {
        grid-template-columns: 36px minmax(0,1fr);
    }

    body.template-password-reset-container .connect-reset-form-icon {
        width: 36px;
        height: 36px;
    }
}

/* Paisagem em telas baixas */
@media (orientation: landscape) and (max-height: 560px) and (max-width: 991.98px) {
    body.template-clientregister #main-body,
    body.template-password-reset-container #main-body {
        padding-top: 8px !important;
        padding-bottom: 12px !important;
    }

    body.template-password-reset-container .connect-reset-side {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }
}

/* Reflow/zoom: não criar scroll horizontal */
@media (max-width: 700px) {
    body.template-clientregister #registration,
    body.template-clientregister #registration *,
    body.template-password-reset-container .connect-reset-shell,
    body.template-password-reset-container .connect-reset-shell * {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    body.template-clientregister table,
    body.template-password-reset-container table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* Teclado virtual / viewport dinâmico */
@supports (height: 100dvh) {
    body.template-clientregister #main-body,
    body.template-password-reset-container #main-body {
        min-height: calc(100dvh - 72px);
    }
}

/* WhatsApp não pode cobrir CTA/campos */
@media (max-width: 575.98px) {
    body.template-clientregister .connect-whatsapp-float,
    body.template-password-reset-container .connect-whatsapp-float {
        width: 44px !important;
        height: 44px !important;
        right: max(10px, env(safe-area-inset-right)) !important;
        bottom: max(10px, env(safe-area-inset-bottom)) !important;
        z-index: 1030 !important;
    }
}

/* Foco global da suíte de autenticação */
body.template-clientregister a:focus-visible,
body.template-clientregister button:focus-visible,
body.template-clientregister input:focus-visible,
body.template-clientregister select:focus-visible,
body.template-clientregister textarea:focus-visible,
body.template-password-reset-container a:focus-visible,
body.template-password-reset-container button:focus-visible,
body.template-password-reset-container input:focus-visible {
    outline: 3px solid rgba(11,116,255,.38) !important;
    outline-offset: 2px !important;
}

/* Dark mode do dispositivo não deve inverter a identidade */
@media (prefers-color-scheme: dark) {
    body.template-clientregister,
    body.template-clientregister input,
    body.template-clientregister select,
    body.template-clientregister textarea,
    body.template-password-reset-container,
    body.template-password-reset-container input,
    body.template-password-reset-container button {
        color-scheme: light !important;
    }
}

/* Usuário que prefere menos movimento */
@media (prefers-reduced-motion: reduce) {
    body.template-clientregister *,
    body.template-clientregister *::before,
    body.template-clientregister *::after,
    body.template-password-reset-container *,
    body.template-password-reset-container *::before,
    body.template-password-reset-container *::after {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }
}

/* ==========================================================
   CONNECT AUTH SUITE V1.4 — LOOP 002D MAXIMIZADO
   ACESSIBILIDADE + MICROCOPY + UX
   Cadastro + Recuperacao de senha
   ========================================================== */

body.template-clientregister input::placeholder,
body.template-password-reset-container input::placeholder,
body.template-clientregister textarea::placeholder {
    color: #70849a !important;
    opacity: 1 !important;
}

body.template-clientregister #registration .field-icon i,
body.template-password-reset-container .connect-reset-input .input-group-text i {
    pointer-events: none;
}

body.template-clientregister #registration .form-check,
body.template-clientregister #registration label,
body.template-password-reset-container label {
    line-height: 1.45;
}

body.template-clientregister #registration .form-check,
body.template-clientregister #registration .toggle-switch-success,
body.template-password-reset-container .connect-reset-submit,
body.template-password-reset-container .connect-reset-cancel {
    touch-action: manipulation;
}

body.template-clientregister #registration .field-help-text,
body.template-clientregister #registration .text-muted,
body.template-password-reset-container .connect-reset-field-help,
body.template-password-reset-container .connect-reset-privacy-note,
body.template-password-reset-container .connect-reset-help {
    line-height: 1.5;
}

body.template-clientregister #registration a,
body.template-password-reset-container .connect-reset-help a,
body.template-password-reset-container .connect-reset-side-links a {
    text-underline-offset: 3px;
}

body.template-clientregister #registration a:hover,
body.template-clientregister #registration a:focus-visible,
body.template-password-reset-container .connect-reset-help a:hover,
body.template-password-reset-container .connect-reset-help a:focus-visible,
body.template-password-reset-container .connect-reset-side-links a:hover,
body.template-password-reset-container .connect-reset-side-links a:focus-visible {
    text-decoration: underline !important;
}

body.template-clientregister #registration .alert,
body.template-password-reset-container .alert,
body.template-password-reset-container .connect-reset-state {
    line-height: 1.5;
}

body.template-clientregister #registration button:disabled,
body.template-clientregister #registration input[type="submit"]:disabled,
body.template-password-reset-container button:disabled,
body.template-password-reset-container input[type="submit"]:disabled {
    cursor: not-allowed !important;
    opacity: .70 !important;
    transform: none !important;
    box-shadow: none !important;
}

body.template-clientregister #registration input[type="checkbox"] {
    accent-color: #0b74ff;
}

body.template-clientregister #registration select,
body.template-clientregister #registration input,
body.template-clientregister #registration textarea,
body.template-password-reset-container input {
    caret-color: #0b74ff;
}

/* Mensagens dinamicas devem permanecer perceptiveis */
body.template-clientregister #passwdFeedback,
body.template-clientregister #passwordStrengthTextLabel,
body.template-password-reset-container #inputNewPassword2Msg {
    scroll-margin-top: 110px;
}

/* Contraste aumentado solicitado pelo sistema operacional */
@media (prefers-contrast: more) {
    body.template-clientregister #registration .card,
    body.template-clientregister #registration .field,
    body.template-clientregister #registration .form-control,
    body.template-password-reset-container .connect-reset-card,
    body.template-password-reset-container .connect-reset-input .form-control,
    body.template-password-reset-container .connect-reset-input .input-group-text,
    body.template-password-reset-container .connect-reset-step {
        border-width: 2px !important;
    }

    body.template-clientregister #registration .field-help-text,
    body.template-clientregister #registration .text-muted,
    body.template-password-reset-container .connect-reset-field-help,
    body.template-password-reset-container .connect-reset-privacy-note,
    body.template-password-reset-container .connect-reset-help {
        color: #405a74 !important;
    }

    body.template-password-reset-container .connect-reset-side p,
    body.template-password-reset-container .connect-reset-step small {
        color: #e1edf9 !important;
    }
}

/* Windows High Contrast / Forced Colors */
@media (forced-colors: active) {
    body.template-clientregister #registration .card,
    body.template-clientregister #registration .field,
    body.template-clientregister #registration .form-control,
    body.template-password-reset-container .connect-reset-side,
    body.template-password-reset-container .connect-reset-card,
    body.template-password-reset-container .connect-reset-input .form-control,
    body.template-password-reset-container .connect-reset-input .input-group-text,
    body.template-password-reset-container .connect-reset-submit,
    body.template-password-reset-container .connect-reset-step {
        forced-color-adjust: auto;
        border: 1px solid CanvasText !important;
        box-shadow: none !important;
    }

    body.template-password-reset-container .connect-reset-submit {
        background: ButtonFace !important;
        color: ButtonText !important;
    }
}

/* Reflow equivalente a zoom alto: evitar colunas espremidas */
@media (max-width: 640px) {
    body.template-clientregister #registration .row > [class*="col-sm-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    body.template-password-reset-container .connect-reset-main {
        order: 1 !important;
    }

    body.template-password-reset-container .connect-reset-side {
        order: 2 !important;
    }
}

/* LOOP 002D — contraste AA para microcopy em fundo claro */
body.template-clientregister #registration .field-help-text,
body.template-clientregister #registration .text-muted,
body.template-password-reset-container .connect-reset-field-help,
body.template-password-reset-container .connect-reset-privacy-note,
body.template-password-reset-container .connect-reset-help,
body.template-password-reset-container .connect-reset-form-intro p,
body.template-password-reset-container .connect-reset-main-head > p,
body.template-password-reset-container input::placeholder,
body.template-clientregister input::placeholder,
body.template-clientregister textarea::placeholder {
    color: #60758c !important;
}

/* LOOP 002D — azul textual com contraste AA em fundo claro */
body.template-clientregister #registration a,
body.template-password-reset-container .connect-reset-main-head > span,
body.template-password-reset-container .connect-reset-help a,
body.template-password-reset-container .connect-reset-question > span {
    color: #0868e6 !important;
}
