/*
 * Turbo Traffic School — shared public/course UI bridge
 * Loaded only by the enrollment, checkout, login and My Courses views
 * in this package. Existing global themes.css remains untouched.
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Oswald:wght@500;600;700&display=swap');

:root{
    --turbo-bg:#F4F5F8;
    --turbo-surface:#FFFFFF;
    --turbo-surface-2:#F8FAFD;
    --turbo-ink:#15161B;
    --turbo-muted:#5B5D68;
    --turbo-line:#DDE2EA;
    --turbo-red:#E4002B;
    --turbo-red-dark:#C1001F;
    --turbo-blue:#0B4FA3;
    --turbo-blue-bright:#1C6FEA;
    --turbo-blue-soft:#EAF2FF;
    --turbo-navy:#0E2448;
    --turbo-green:#147A55;
    --turbo-warning:#B96B00;
}

/* =========================================================
   Shared shell — marketing site -> registration -> checkout
   ========================================================= */

html{
    background:var(--turbo-bg);
    color-scheme:light !important;
}

body.turbo-flow-page{
    margin:0 !important;
    padding:0 0 48px !important;
    min-height:100vh;
    background:
        radial-gradient(circle at 85% 5%, rgba(28,111,234,.08), transparent 26rem),
        var(--turbo-bg) !important;
    color:var(--turbo-ink) !important;
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif !important;
    color-scheme:light !important;
}

.turbo-flow-racebar{
    height:4px;
    background:linear-gradient(90deg,#0E2448 0 24%,#0B4FA3 24% 58%,#1C6FEA 58% 82%,#E4002B 82% 100%);
}

.turbo-flow-topbar{
    position:relative;
    z-index:100;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid rgba(14,36,72,.09);
    box-shadow:0 8px 26px rgba(14,36,72,.05);
}

.turbo-flow-topbar__inner{
    width:min(1120px,calc(100% - 32px));
    min-height:78px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.turbo-flow-brand{
    display:inline-flex;
    align-items:center;
    gap:11px;
    color:var(--turbo-ink) !important;
    text-decoration:none !important;
}

.turbo-flow-brand__mark{
    width:42px;
    height:42px;
    flex:0 0 42px;
    filter:drop-shadow(0 6px 12px rgba(228,0,43,.13));
}

.turbo-flow-brand__name{
    display:block;
    color:var(--turbo-ink) !important;
    font-family:'Oswald',sans-serif;
    font-size:18px;
    font-weight:700;
    line-height:1;
    letter-spacing:.025em;
}

.turbo-flow-brand__sub{
    display:block;
    margin-top:5px;
    color:var(--turbo-blue) !important;
    font-size:9px;
    font-weight:800;
    line-height:1;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.turbo-flow-secure{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:0 13px;
    border:1px solid #DCE4F0;
    border-radius:999px;
    background:#F8FAFD;
    color:var(--turbo-navy);
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}

.turbo-flow-secure svg{
    width:15px;
    height:15px;
    fill:var(--turbo-blue);
}

.turbo-flow-progress-wrap{
    background:#fff;
    border-bottom:1px solid #E8ECF2;
}

.turbo-flow-progress{
    width:min(760px,calc(100% - 32px));
    margin:0 auto;
    padding:13px 0 14px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:7px;
}

.turbo-flow-progress__item{
    position:relative;
    padding-top:8px;
    color:#9398A3;
    font-size:10px;
    font-weight:750;
    text-align:center;
}

.turbo-flow-progress__item::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:3px;
    border-radius:999px;
    background:#E4E8EE;
}

.turbo-flow-progress__item.is-done,
.turbo-flow-progress__item.is-current{
    color:var(--turbo-navy);
}

.turbo-flow-progress__item.is-done::before{
    background:var(--turbo-blue);
}

.turbo-flow-progress__item.is-current::before{
    background:var(--turbo-red);
}

/* =========================================================
   Existing registration + checkout markup overrides
   ========================================================= */

body.turbo-flow-page > .container{
    width:min(880px,calc(100% - 32px)) !important;
    max-width:880px !important;
    margin:0 auto !important;
    padding:42px 0 0 !important;
}

body.turbo-flow-page .header{
    margin:0 auto 22px !important;
    text-align:left !important;
}

body.turbo-flow-page .header h1{
    margin:0 !important;
    color:var(--turbo-navy) !important;
    font-family:'Oswald',sans-serif !important;
    font-size:clamp(30px,5vw,42px) !important;
    line-height:1.08 !important;
    font-weight:700 !important;
    letter-spacing:-.015em !important;
}

body.turbo-flow-page .header p{
    margin:8px 0 0 !important;
    color:var(--turbo-muted) !important;
    font-size:14px !important;
    line-height:1.55 !important;
}

body.turbo-flow-page .registration-form,
body.turbo-flow-page .payment-card,
body.turbo-flow-page .success-card{
    background:var(--turbo-surface) !important;
    color:var(--turbo-ink) !important;
    border:1px solid var(--turbo-line) !important;
    border-radius:16px !important;
    box-shadow:0 14px 38px rgba(14,36,72,.07) !important;
}

body.turbo-flow-page .registration-form{
    padding:34px !important;
}

body.turbo-flow-page .payment-card{
    padding:32px !important;
}

body.turbo-flow-page .course-info{
    border-bottom:1px solid var(--turbo-line) !important;
}

body.turbo-flow-page .course-title,
body.turbo-flow-page .payment-card h1,
body.turbo-flow-page .payment-card h2,
body.turbo-flow-page .payment-card h3,
body.turbo-flow-page .order-summary h3,
body.turbo-flow-page .addons-section h3{
    color:var(--turbo-navy) !important;
}

body.turbo-flow-page .course-price,
body.turbo-flow-page .addon-card-price,
body.turbo-flow-page .addon-summary-total{
    color:var(--turbo-blue) !important;
}

body.turbo-flow-page .form-group label,
body.turbo-flow-page label{
    color:var(--turbo-ink);
}

body.turbo-flow-page input:not([type="checkbox"]):not([type="radio"]),
body.turbo-flow-page select,
body.turbo-flow-page textarea,
body.turbo-flow-page .search-input,
body.turbo-flow-page .field-full,
body.turbo-flow-page .agreement-name-input,
body.turbo-flow-page .select2-container--default .select2-selection--single{
    background:#fff !important;
    color:var(--turbo-ink) !important;
    border-color:#C9D1DD !important;
}

body.turbo-flow-page input:not([type="checkbox"]):not([type="radio"]):focus,
body.turbo-flow-page select:focus,
body.turbo-flow-page textarea:focus,
body.turbo-flow-page .search-input:focus,
body.turbo-flow-page .field-full:focus,
body.turbo-flow-page .agreement-name-input:focus{
    outline:none !important;
    border-color:var(--turbo-blue-bright) !important;
    box-shadow:0 0 0 3px rgba(28,111,234,.13) !important;
}

body.turbo-flow-page input[type="checkbox"],
body.turbo-flow-page input[type="radio"]{
    accent-color:var(--turbo-blue-bright) !important;
}

body.turbo-flow-page .info-section,
body.turbo-flow-page .order-summary,
body.turbo-flow-page .addons-section,
body.turbo-flow-page .address-on-file,
body.turbo-flow-page .question-row,
body.turbo-flow-page .terms-section{
    background:var(--turbo-surface-2) !important;
    color:var(--turbo-ink) !important;
    border-color:#E2E7EF !important;
}

body.turbo-flow-page .info-section,
body.turbo-flow-page .terms-section{
    border-left-color:var(--turbo-blue-bright) !important;
}

body.turbo-flow-page .section-title,
body.turbo-flow-page .question-number{
    color:var(--turbo-blue) !important;
}

body.turbo-flow-page .payment-method{
    background:#fff !important;
    border-color:#D7DEE8 !important;
    box-shadow:none !important;
}

body.turbo-flow-page .payment-method:hover,
body.turbo-flow-page .payment-method.active{
    background:var(--turbo-blue-soft) !important;
    border-color:var(--turbo-blue-bright) !important;
    box-shadow:0 4px 14px rgba(28,111,234,.10) !important;
}

body.turbo-flow-page .addon-card{
    background:#fff !important;
    border-color:#D7DEE8 !important;
}

body.turbo-flow-page .addon-card:hover,
body.turbo-flow-page .addon-card.selected{
    background:var(--turbo-blue-soft) !important;
    border-color:var(--turbo-blue-bright) !important;
    box-shadow:0 4px 14px rgba(28,111,234,.10) !important;
}

body.turbo-flow-page .addon-summary{
    background:#EEF5FF !important;
    border-color:#BFD6FB !important;
}

body.turbo-flow-page .addon-summary-title,
body.turbo-flow-page .addon-summary-list{
    color:var(--turbo-navy) !important;
}

body.turbo-flow-page .mailing-address-panel{
    border-color:var(--turbo-blue-bright) !important;
}

body.turbo-flow-page .btn{
    border-radius:9px !important;
    font-family:'Inter',sans-serif !important;
    font-weight:800 !important;
    transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease !important;
}

body.turbo-flow-page .btn-next,
body.turbo-flow-page .btn-continue,
body.turbo-flow-page .btn-primary{
    background:var(--turbo-red) !important;
    border-color:var(--turbo-red) !important;
    color:#fff !important;
    box-shadow:0 7px 16px rgba(228,0,43,.14) !important;
}

body.turbo-flow-page .btn-next:hover,
body.turbo-flow-page .btn-next:focus,
body.turbo-flow-page .btn-continue:hover,
body.turbo-flow-page .btn-continue:focus,
body.turbo-flow-page .btn-primary:hover,
body.turbo-flow-page .btn-primary:focus{
    background:var(--turbo-red-dark) !important;
    border-color:var(--turbo-red-dark) !important;
    color:#fff !important;
    box-shadow:0 9px 20px rgba(228,0,43,.18) !important;
}

body.turbo-flow-page .btn-success{
    background:var(--turbo-blue) !important;
    border-color:var(--turbo-blue) !important;
    color:#fff !important;
}

body.turbo-flow-page .btn-success:hover,
body.turbo-flow-page .btn-success:focus{
    background:var(--turbo-navy) !important;
    border-color:var(--turbo-navy) !important;
    color:#fff !important;
}

body.turbo-flow-page .btn-back,
body.turbo-flow-page .btn-edit{
    background:#fff !important;
    color:var(--turbo-blue) !important;
    border-color:#B9C9DE !important;
}

body.turbo-flow-page .btn-back:hover,
body.turbo-flow-page .btn-edit:hover{
    background:var(--turbo-blue-soft) !important;
    color:var(--turbo-blue) !important;
    border-color:var(--turbo-blue) !important;
}

body.turbo-flow-page .footer{
    color:#7A7D87 !important;
}

body.turbo-flow-page .footer a,
body.turbo-flow-page a:not(.btn):not(.turbo-flow-brand){
    color:var(--turbo-blue);
}

body.turbo-flow-page .note-card.info{
    border-left-color:var(--turbo-blue-bright) !important;
}

body.turbo-flow-page .note-card.info .note-icon path{
    fill:var(--turbo-blue-bright) !important;
}

body.turbo-flow-page .warning-text,
body.turbo-flow-page .note-section{
    background:#FFF7E8 !important;
    color:#744300 !important;
    border-color:#F0C979 !important;
    border-left-color:#D98A13 !important;
}

body.turbo-flow-page .warning-text *,
body.turbo-flow-page .note-section *{
    color:inherit !important;
}

body.turbo-flow-page .payment-processing-dialog__panel{
    border-radius:16px !important;
    box-shadow:0 25px 60px rgba(14,36,72,.22) !important;
}

body.turbo-flow-page .payment-progress-bar__stripes{
    background-color:var(--turbo-blue-bright) !important;
}

body.turbo-flow-page #paymentSectionHint{
    background:#F8FAFD !important;
    border-color:#AFC1D9 !important;
    color:#4A5565 !important;
}

body.turbo-flow-page .text-dark-blue{
    color:var(--turbo-navy) !important;
}

/* Keep checkout readable instead of green/olive remnants */
body.turbo-flow-page [style*="#1a2a08"],
body.turbo-flow-page [style*="#4a6b1e"],
body.turbo-flow-page [style*="#2d5209"]{
    color:var(--turbo-navy) !important;
}

body.turbo-flow-page [style*="border:1px solid #1D4ED8"],
body.turbo-flow-page [style*="border: 1px solid #1D4ED8"]{
    border-color:var(--turbo-blue-bright) !important;
}

/* Success page */
.turbo-success-wrap{
    width:min(560px,calc(100% - 32px));
    margin:0 auto;
    padding:64px 0 0;
}

.turbo-success-card{
    padding:40px 34px;
    text-align:center;
    background:#fff;
    border:1px solid var(--turbo-line);
    border-radius:16px;
    box-shadow:0 14px 38px rgba(14,36,72,.07);
}

.turbo-success-icon{
    width:58px;
    height:58px;
    margin:0 auto 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#E8F5EF;
    color:var(--turbo-green);
    font-size:28px;
    font-weight:800;
}

.turbo-success-card h1{
    margin:0 0 10px;
    color:var(--turbo-navy);
    font-family:'Oswald',sans-serif;
    font-size:38px;
    line-height:1.08;
}

.turbo-success-card p{
    margin:0 auto 24px;
    max-width:440px;
    color:var(--turbo-muted);
    line-height:1.65;
}

.turbo-success-card .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 24px;
    background:var(--turbo-red);
    color:#fff !important;
    border:1px solid var(--turbo-red);
    border-radius:9px;
    text-decoration:none;
    font-weight:800;
}

.turbo-success-auto{
    margin-top:14px !important;
    font-size:12px;
    color:#8A8E98 !important;
}

@media(max-width:700px){
    .turbo-flow-topbar__inner{
        min-height:70px;
    }

    .turbo-flow-brand__mark{
        width:38px;
        height:38px;
        flex-basis:38px;
    }

    .turbo-flow-brand__name{
        font-size:16px;
    }

    .turbo-flow-brand__sub{
        display:none;
    }

    .turbo-flow-secure{
        font-size:11px;
        padding:0 10px;
    }

    .turbo-flow-progress{
        width:calc(100% - 24px);
        gap:4px;
    }

    .turbo-flow-progress__item{
        font-size:0;
    }

    .turbo-flow-progress__item::after{
        content:attr(data-short);
        font-size:9px;
    }

    body.turbo-flow-page > .container{
        width:calc(100% - 24px) !important;
        padding-top:30px !important;
    }

    body.turbo-flow-page .registration-form,
    body.turbo-flow-page .payment-card{
        padding:24px 18px !important;
        border-radius:13px !important;
    }
}


/* ===== Login + My Courses ===== */

:root{
    --turbo-bg:#F4F5F8;
    --turbo-surface:#FFFFFF;
    --turbo-surface-2:#F8FAFD;
    --turbo-ink:#15161B;
    --turbo-muted:#5B5D68;
    --turbo-line:#DDE2EA;
    --turbo-red:#E4002B;
    --turbo-red-dark:#C1001F;
    --turbo-blue:#0B4FA3;
    --turbo-blue-bright:#1C6FEA;
    --turbo-blue-soft:#EAF2FF;
    --turbo-navy:#0E2448;
    --turbo-green:#147A55;
}

/* --------------------------------------------------------------------------
   Portal brand-variable bridge.
   This intentionally maps the existing course-app variables to Turbo colors.
   It does not remove any existing component behavior.
   -------------------------------------------------------------------------- */
body.turbo-login-page,
body.turbo-enrollments-page{
    --bg-primary:#F4F5F8;
    --bg-secondary:#F8FAFD;
    --bg-card:#FFFFFF;
    --text-primary:#15161B;
    --text-secondary:#4B4F58;
    --text-muted:#6B707A;
    --border:#DDE2EA;
    --hover:#EEF4FD;

    --accent:#E4002B;
    --accent-rgb:228,0,43;
    --accent-contrast:#FFFFFF;
    --accent-hover:#C1001F;
    --accent-active:#A9001B;

    --link-color:#0B4FA3;
    --link-color-hover:#084489;

    --sidebar-bg:#0E2448;
    --sidebar-text:#FFFFFF;
    --sidebar-hover:#153761;
    --sidebar-active:#E4002B;

    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif !important;
    background:#F4F5F8 !important;
    color:#15161B !important;
}

/* --------------------------------------------------------------------------
   Login
   -------------------------------------------------------------------------- */
body.turbo-login-page{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    min-height:100vh !important;
    background:
        radial-gradient(circle at 82% 14%, rgba(28,111,234,.10), transparent 28rem),
        #F4F5F8 !important;
}

.turbo-login-racebar{
    height:4px;
    flex:0 0 4px;
    background:linear-gradient(90deg,#0E2448 0 24%,#0B4FA3 24% 58%,#1C6FEA 58% 82%,#E4002B 82% 100%);
}

.turbo-login-topbar{
    min-height:76px;
    display:flex;
    align-items:center;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid rgba(14,36,72,.09);
    box-shadow:0 8px 26px rgba(14,36,72,.05);
}

.turbo-login-topbar__inner{
    width:min(1120px,calc(100% - 32px));
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.turbo-login-brand{
    display:inline-flex;
    align-items:center;
    gap:11px;
    color:#15161B !important;
    text-decoration:none !important;
}

.turbo-login-brand__mark{
    width:42px;
    height:42px;
    flex:0 0 42px;
}

.turbo-login-brand__name{
    display:block;
    font-family:'Oswald',sans-serif;
    font-size:18px;
    font-weight:700;
    line-height:1;
    letter-spacing:.025em;
    color:#15161B !important;
}

.turbo-login-brand__sub{
    display:block;
    margin-top:5px;
    font-size:9px;
    font-weight:800;
    line-height:1;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#0B4FA3 !important;
}

.turbo-login-back{
    color:#0B4FA3 !important;
    text-decoration:none !important;
    font-size:13px;
    font-weight:750;
}

body.turbo-login-page > .container{
    width:min(100%, 560px) !important;
    max-width:560px !important;
    margin:0 auto !important;
    padding:54px 20px 64px !important;
    position:relative;
    z-index:1;
}

body.turbo-login-page .row{
    margin:0 !important;
}

body.turbo-login-page .col-md-6{
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
}

body.turbo-login-page .card{
    overflow:hidden;
    border:1px solid #DDE2EA !important;
    border-radius:16px !important;
    background:#FFFFFF !important;
    box-shadow:0 16px 42px rgba(14,36,72,.08) !important;
}

body.turbo-login-page .card:hover{
    box-shadow:0 16px 42px rgba(14,36,72,.08) !important;
}

body.turbo-login-page .card-header{
    padding:27px 30px 18px !important;
    border:0 !important;
    background:#FFFFFF !important;
}

body.turbo-login-page .card-header h4{
    margin:0 !important;
    color:#0E2448 !important;
    font-family:'Oswald',sans-serif;
    font-size:32px;
    font-weight:700;
}

body.turbo-login-page .card-header::after{
    content:"Access your course, progress, and certificates.";
    display:block;
    margin-top:7px;
    color:#6B707A;
    font-family:'Inter',sans-serif;
    font-size:13px;
    line-height:1.5;
}

html[lang="es"] body.turbo-login-page .card-header::after{
    content:"Accede a tu curso, progreso y certificados.";
}

body.turbo-login-page .card-body{
    padding:8px 30px 30px !important;
    background:#FFFFFF !important;
}

body.turbo-login-page .form-label{
    color:#15161B !important;
    font-size:13px;
    font-weight:750 !important;
}

body.turbo-login-page .form-control,
body.turbo-login-page .form-select{
    min-height:48px;
    border:1px solid #C9D1DD !important;
    border-radius:9px !important;
    background:#FFFFFF !important;
    color:#15161B !important;
    box-shadow:none !important;
}

body.turbo-login-page .form-control:focus,
body.turbo-login-page .form-select:focus{
    border-color:#1C6FEA !important;
    box-shadow:0 0 0 3px rgba(28,111,234,.13) !important;
}

body.turbo-login-page .password-toggle{
    color:#6B707A !important;
}

body.turbo-login-page .password-toggle:hover{
    color:#0B4FA3 !important;
}

body.turbo-login-page .btn-primary{
    min-height:48px;
    border-radius:9px !important;
    border-color:#E4002B !important;
    background:#E4002B !important;
    color:#FFFFFF !important;
    font-weight:800 !important;
    box-shadow:0 8px 18px rgba(228,0,43,.14);
}

body.turbo-login-page .btn-primary:hover,
body.turbo-login-page .btn-primary:focus{
    border-color:#C1001F !important;
    background:#C1001F !important;
    color:#FFFFFF !important;
}

body.turbo-login-page .card-body a{
    color:#0B4FA3 !important;
}

body.turbo-login-page .alert{
    border-radius:9px !important;
}

/* Theme switcher remains functional; just prevent it from becoming page chrome. */
body.turbo-login-page .theme-switcher,
body.turbo-login-page [class*="theme-switcher"]{
    z-index:1100;
}

/* --------------------------------------------------------------------------
   My Enrollments / post-payment landing
   -------------------------------------------------------------------------- */
body.turbo-enrollments-page{
    background:#F4F5F8 !important;
}

body.turbo-enrollments-page .container-fluid{
    position:relative;
}

body.turbo-enrollments-page h1,
body.turbo-enrollments-page h2,
body.turbo-enrollments-page h3{
    color:#0E2448 !important;
}

body.turbo-enrollments-page h2{
    font-family:'Oswald',sans-serif;
    font-size:34px;
    font-weight:700;
}

body.turbo-enrollments-page .enrollment-card{
    border:1px solid #DDE2EA !important;
    background:#FFFFFF !important;
    box-shadow:0 8px 24px rgba(14,36,72,.055);
}

body.turbo-enrollments-page .enrollment-card:hover{
    border-color:#B9CAE1 !important;
    box-shadow:0 14px 34px rgba(14,36,72,.09) !important;
    transform:translateY(-2px) !important;
}

body.turbo-enrollments-page .course-header{
    background:
        radial-gradient(circle at 90% 20%,rgba(28,111,234,.25),transparent 7rem),
        linear-gradient(135deg,#0E2448 0%,#123567 65%,#0B4FA3 100%) !important;
    border-bottom:3px solid #E4002B !important;
}

body.turbo-enrollments-page .progress-fill{
    background:linear-gradient(90deg,#0B4FA3,#1C6FEA) !important;
}

body.turbo-enrollments-page .btn-continue,
body.turbo-enrollments-page .btn-primary{
    border-color:#E4002B !important;
    background:#E4002B !important;
    color:#FFFFFF !important;
}

body.turbo-enrollments-page .btn-continue:hover,
body.turbo-enrollments-page .btn-primary:hover{
    border-color:#C1001F !important;
    background:#C1001F !important;
    color:#FFFFFF !important;
}

body.turbo-enrollments-page .btn-pay-now{
    border-color:#0B4FA3 !important;
    background:#0B4FA3 !important;
    color:#FFFFFF !important;
}

body.turbo-enrollments-page .btn-pay-now:hover{
    border-color:#0E2448 !important;
    background:#0E2448 !important;
    color:#FFFFFF !important;
    box-shadow:0 4px 12px rgba(14,36,72,.18) !important;
}

body.turbo-enrollments-page .btn-outline-primary{
    color:#0B4FA3 !important;
    border-color:#0B4FA3 !important;
}

body.turbo-enrollments-page .btn-outline-primary:hover{
    color:#FFFFFF !important;
    background:#0B4FA3 !important;
}

body.turbo-enrollments-page .status-active{
    background:#147A55 !important;
    color:#FFFFFF !important;
}

body.turbo-enrollments-page .status-completed,
body.turbo-enrollments-page .payment-paid{
    color:#147A55 !important;
    border-color:#147A55 !important;
}

body.turbo-enrollments-page .empty-state-cta{
    background:#E4002B !important;
    border-color:#E4002B !important;
    color:#FFFFFF !important;
    box-shadow:0 8px 18px rgba(228,0,43,.14) !important;
}

body.turbo-enrollments-page .empty-state-cta:hover{
    background:#C1001F !important;
}

.turbo-flash-wrap{
    margin-bottom:20px;
}

.turbo-flash{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:14px 16px;
    border-radius:10px;
    font-size:14px;
    line-height:1.55;
    box-shadow:0 5px 14px rgba(14,36,72,.05);
}

.turbo-flash--success{
    border:1px solid #B9DDCE;
    border-left:4px solid #147A55;
    background:#ECF8F3;
    color:#115E43;
}

.turbo-flash--error{
    border:1px solid #F2BEC8;
    border-left:4px solid #E4002B;
    background:#FFF1F4;
    color:#8F102A;
}

.turbo-flash i{
    margin-top:3px;
    flex:0 0 auto;
}

@media(max-width:768px){
    .turbo-login-topbar__inner{
        min-height:68px;
    }

    .turbo-login-brand__mark{
        width:38px;
        height:38px;
        flex-basis:38px;
    }

    .turbo-login-brand__name{
        font-size:16px;
    }

    .turbo-login-brand__sub{
        display:none;
    }

    .turbo-login-back{
        font-size:12px;
    }

    body.turbo-login-page > .container{
        padding-top:34px !important;
    }

    body.turbo-login-page .card-header{
        padding:23px 22px 15px !important;
    }

    body.turbo-login-page .card-body{
        padding:8px 22px 24px !important;
    }
}


/* =========================================================
   V2 — consolidated 2-page registration
   ========================================================= */

/* Old 5-segment progress rail is intentionally retired. */
.turbo-flow-progress-wrap,
.turbo-flow-progress{
    display:none !important;
}

.turbo-flow-topbar__right{
    display:flex;
    align-items:center;
    gap:10px;
}

.turbo-flow-stage{
    color:#66707E;
    font-size:12px;
    font-weight:750;
    white-space:nowrap;
}

body.turbo-flow-page{
    padding-bottom:44px !important;
}

body.turbo-flow-page > .container{
    width:min(980px,calc(100% - 32px)) !important;
    max-width:980px !important;
    padding-top:34px !important;
}

body.turbo-flow-page .header{
    max-width:760px;
    margin:0 0 18px !important;
}

body.turbo-flow-page .header h1{
    font-size:clamp(30px,4vw,40px) !important;
}

body.turbo-flow-page .header p{
    max-width:680px;
}

.turbo-reg-card{
    background:#fff;
    border:1px solid #DDE2EA;
    border-radius:16px;
    box-shadow:0 12px 32px rgba(14,36,72,.06);
    overflow:hidden;
}

.turbo-reg-section{
    padding:28px 30px;
}

.turbo-reg-section + .turbo-reg-section{
    border-top:1px solid #E7EBF1;
}

.turbo-reg-section__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}

.turbo-reg-section__head h2{
    margin:0;
    color:#0E2448;
    font-family:'Oswald',sans-serif;
    font-size:24px;
    line-height:1.1;
}

.turbo-reg-section__head p{
    margin:5px 0 0;
    color:#6A6F79;
    font-size:13px;
    line-height:1.5;
}

.turbo-reg-section__tag{
    flex:0 0 auto;
    padding:5px 9px;
    border-radius:999px;
    background:#EAF2FF;
    color:#0B4FA3;
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.turbo-reg-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:22px 30px 28px;
    border-top:1px solid #E7EBF1;
    background:#FBFCFE;
}

.turbo-reg-actions .btn{
    min-height:48px;
}

.turbo-reg-actions .btn-next,
.turbo-reg-actions .btn-continue{
    min-width:240px;
}

.turbo-inline-note{
    margin:16px 0 0;
    padding:12px 14px;
    border:1px solid #DCE5F2;
    border-radius:9px;
    background:#F8FAFD;
    color:#59616D;
    font-size:12px;
    line-height:1.55;
}

.turbo-review-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 20px;
    padding:18px;
    border:1px solid #E2E7EF;
    border-radius:11px;
    background:#F8FAFD;
}

.turbo-review-item{
    min-width:0;
}

.turbo-review-label{
    color:#7A808A;
    font-size:10px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.turbo-review-value{
    margin-top:3px;
    color:#20232A;
    font-size:13px;
    font-weight:650;
    overflow-wrap:anywhere;
}

.turbo-security-wrap .info-text{
    margin-bottom:10px;
}

.turbo-security-wrap .warning-text{
    margin:14px 0 18px;
}

body.turbo-flow-page #questions-container{
    margin-top:10px;
}

body.turbo-flow-page .terms-section{
    margin-top:0 !important;
}

body.turbo-flow-page .footer{
    margin-top:18px !important;
}

@media(max-width:760px){
    .turbo-flow-stage{
        display:none;
    }

    body.turbo-flow-page > .container{
        width:calc(100% - 24px) !important;
        padding-top:24px !important;
    }

    .turbo-reg-section{
        padding:22px 18px;
    }

    .turbo-reg-actions{
        padding:18px;
        flex-direction:column-reverse;
    }

    .turbo-reg-actions .btn{
        width:100%;
        min-width:0;
    }

    .turbo-review-summary{
        grid-template-columns:1fr;
    }
}
