:root {
    --aba-blue: #d81b60;
    --aba-red: #d81b60;
    --nk-blue: #d81b60;
    --nk-yellow: #fb76a4;
    --nk-dark: #ac2153;
    --aba-bg: #f5ebdd;
    --aba-text: #ac2153;
    --aba-muted: #ac2153;
    --aba-border: #f5ebdd;
    --aba-gold: #f5ebdd;
    --aba-white: #ffffff;
    --aba-shell-width: 1320px;
    --aba-shell-gutter: 56px;
}
.aba-welcome-stars{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit}.aba-welcome-stars i{position:absolute;width:7px;height:7px;background:#f5ebdd;clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);filter:drop-shadow(0 0 7px #f5ebdd);animation:welcome-star 2.4s ease-in-out infinite}.aba-welcome-stars i:nth-child(1){left:9%;top:17%}.aba-welcome-stars i:nth-child(2){right:11%;top:20%;animation-delay:.4s}.aba-welcome-stars i:nth-child(3){left:16%;bottom:20%;animation-delay:.8s}.aba-welcome-stars i:nth-child(4){right:17%;bottom:15%;animation-delay:1.2s}.aba-welcome-stars i:nth-child(5){left:7%;top:52%;animation-delay:1.6s}.aba-welcome-stars i:nth-child(6){right:7%;top:50%;animation-delay:2s}@keyframes welcome-star{0%,100%{opacity:.25;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.7) rotate(90deg)}}
@keyframes welcome-pop{from{opacity:0;transform:scale(.72) rotate(-3deg)}to{opacity:1;transform:scale(1) rotate(0)}}

/* Final mobile-app overrides: compact library shelf and scrollable ranking card. */
@media (max-width: 760px) {
 body.aba-mobile-app-view.aba-mobile-book-library-body .aba-book-grid {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
 }
 body.aba-mobile-app-view.aba-mobile-book-library-body .aba-book-card {
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:10px!important;
 }
 html:has(body.aba-mobile-ranking-body),
 body.aba-mobile-app-view.aba-mobile-ranking-body,
 body.aba-mobile-app-view.aba-mobile-ranking-body .aba-leaderboard-page {
  position:static!important;
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
 }
 body.aba-mobile-app-view.aba-mobile-ranking-body .aba-leaderboard-page>.aba-admin-shell {display:none!important}
 body.aba-mobile-app-view.aba-mobile-ranking-body .aba-mobile-ranking-card-page {
  display:block!important;
  width:100%!important;
  max-width:430px!important;
  margin:0 auto!important;
  overflow:visible!important;
 }
 body.aba-mobile-app-view.aba-mobile-ranking-body .aba-leaderboard-page {
  position:fixed!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  padding:14px 12px 120px!important;
  overflow-x:hidden!important;
  overflow-y:scroll!important;
  overscroll-behavior-y:contain!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
 }
 body.aba-mobile-app-view.aba-mobile-ranking-body .aba-leaderboard-page::-webkit-scrollbar{display:none!important}
 body.aba-mobile-app-view.aba-mobile-ranking-body .aba-mobile-ranking-card-page,
 body.aba-mobile-app-view.aba-mobile-ranking-body .aba-ranking-share-card{touch-action:pan-y!important}
 body.aba-mobile-app-view.aba-mobile-ranking-body .aba-mobile-ranking-card-page .aba-ranking-share-card {
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  padding-bottom:28px!important;
  overflow:hidden!important;
 }
 body.aba-mobile-app-view.aba-mobile-ranking-body .aba-mobile-ranking-card-page .aba-ranking-share-card>small {
  position:relative!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  display:block!important;
  width:100%!important;
  margin:22px auto 0!important;
  padding:0 8px!important;
  text-align:center!important;
 }
 body.aba-mobile-app-view>.nh-footer-orgs,
 body.aba-mobile-app-view>.neuro-footer{display:none!important}
}

/* Mobile app badge shelves: web and desktop keep the existing token board. */
body.aba-badges-mobile-app-body {
    min-height: 100%;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    touch-action: pan-x pan-y;
}

body.aba-badges-mobile-app-body .aba-badges-embed {
    width: 100%;
    max-width: none;
    padding: 12px 12px 34px;
    overflow: visible;
}

body.aba-badges-mobile-app-body .aba-token-family {
    min-width: 0;
    margin: 0 0 25px;
    overflow: visible;
}

body.aba-badges-mobile-app-body .aba-mobile-badge-family-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin: 0 0 10px;
    padding: 0 3px;
}

body.aba-badges-mobile-app-body .aba-mobile-badge-family-heading h2 {
    min-width: 0;
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(20px, 5.5vw, 28px);
    line-height: 1.08;
}

body.aba-badges-mobile-app-body .aba-mobile-badge-family-heading span {
    flex: 0 0 auto;
    padding: 5px 10px;
    border: 1px solid var(--aba-border);
    border-radius: 9px;
    background: #ffffff;
    color: var(--aba-blue);
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 3px 10px rgba(172,33,83,.06);
}

body.aba-badges-mobile-app-body .aba-badges-grid.aba-token-board {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 3px 15px 13px 2px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scroll-padding-left: 2px;
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

body.aba-badges-mobile-app-body .aba-badges-grid.aba-token-board::-webkit-scrollbar {
    display: none;
}

body.aba-badges-mobile-app-body .aba-badge-card.aba-token-slot {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    flex: 0 0 136px !important;
    width: 136px !important;
    min-width: 136px !important;
    min-height: 180px !important;
    align-content: start !important;
    align-items: start !important;
    justify-items: center !important;
    gap: 6px !important;
    padding: 10px 8px 12px !important;
    scroll-snap-align: start;
    text-align: center !important;
}

body.aba-badges-mobile-app-body .aba-badge-card.aba-token-slot img {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 108px !important;
    height: 108px !important;
    margin: 0 auto !important;
    object-fit: contain;
}

body.aba-badges-mobile-app-body .aba-badge-card.aba-token-slot h2 {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100%;
    margin: 0 !important;
    color: var(--aba-blue);
    font-size: 14px !important;
    line-height: 1.15 !important;
    text-align: center !important;
}

body.aba-badges-mobile-app-body .aba-badge-card.aba-token-slot .aba-earned-pill {
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 1px auto 0 !important;
}

/* The app home renders the complete web profile in one mobile scrolling flow. */
html:has(body.aba-mobile-full-profile-body),
body.aba-mobile-full-profile-body {
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
}

body.aba-mobile-full-profile-body .aba-profile-page {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 14px 12px 112px !important;
    overflow: visible !important;
}

body.aba-mobile-full-profile-body .aba-profile-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
}

body.aba-mobile-full-profile-body .aba-profile-card-right,
body.aba-mobile-full-profile-body .aba-profile-feed {
    position: static !important;
    grid-column: auto !important;
    grid-row: auto !important;
    order: initial !important;
    box-sizing: border-box !important;
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
}

body.aba-mobile-full-profile-body .aba-profile-card-right {
    order: 0 !important;
    grid-template-columns: 68px minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto !important;
    align-items: center !important;
    gap: 2px 14px !important;
    padding: 18px 14px !important;
    text-align: left !important;
}

body.aba-mobile-full-profile-body .aba-profile-avatar.large {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    width: 68px !important;
    height: 68px !important;
    min-width: 68px !important;
    margin: 0 !important;
}

body.aba-mobile-full-profile-body .aba-profile-card-right > h1,
body.aba-mobile-full-profile-body .aba-profile-card-right > .aba-handle,
body.aba-mobile-full-profile-body .aba-profile-card-right > .aba-profile-title {
    grid-column: 2 !important;
    margin: 0 !important;
    text-align: left !important;
}

body.aba-mobile-full-profile-body .aba-profile-card-right > h1 {
    grid-row: 1 !important;
    font-size: 22px !important;
    line-height: 1.1 !important;
}

body.aba-mobile-full-profile-body .aba-profile-card-right > .aba-handle { grid-row: 2 !important; }
body.aba-mobile-full-profile-body .aba-profile-card-right > .aba-profile-title { grid-row: 3 !important; }
body.aba-mobile-full-profile-body .aba-profile-bio,
body.aba-mobile-full-profile-body .aba-profile-lines,
body.aba-mobile-full-profile-body .aba-edit-button { display: none !important; }

body.aba-mobile-full-profile-body .aba-profile-stats {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 14px 0 16px !important;
    border-top: 1px solid #f5ebdd !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html:has(body.aba-mobile-book-library-body),
body.aba-mobile-book-library-body,
html:has(body.aba-mobile-ranking-body),
body.aba-mobile-ranking-body {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
}

body.aba-mobile-book-library-body .aba-book-library-page,
body.aba-mobile-book-library-body .aba-book-library-shell,
body.aba-mobile-ranking-body .aba-leaderboard-page,
body.aba-mobile-ranking-body .aba-admin-shell {
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    touch-action: pan-y !important;
}

body.aba-mobile-book-library-body .aba-book-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
}

body.aba-mobile-book-library-body .aba-book-card {
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 auto !important;
}

body.aba-mobile-book-library-body .aba-book-card > img,
body.aba-mobile-book-library-body .aba-book-cover-placeholder {
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    padding: 4px !important;
}

body.aba-mobile-book-library-body .aba-book-card { padding: 10px !important; }
body.aba-mobile-book-library-body .aba-book-card h2 { font-size: 16px !important; }
body.aba-mobile-book-library-body .aba-book-card .aba-book-meta {
    font-size: 11px !important;
    white-space: normal !important;
}

body.aba-mobile-ranking-body .aba-leaderboard-page > .aba-admin-shell { display: none !important; }
body.aba-mobile-ranking-body .aba-mobile-ranking-card-page {
    display: block !important;
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 auto !important;
    padding: 4px 0 24px !important;
    overflow: visible !important;
}
body.aba-mobile-ranking-body .aba-mobile-ranking-card-page .aba-ranking-share-card {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 9 / 16 !important;
    margin: 0 !important;
}

body.aba-mobile-app-view > .nh-footer-orgs,
body.aba-mobile-app-view > .neuro-footer { display: none !important; }

html:has(body.aba-mobile-ranking-body),
body.aba-mobile-ranking-body {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    touch-action: pan-y !important;
    overscroll-behavior-y: contain !important;
}

body.aba-mobile-ranking-body .aba-leaderboard-page {
    min-height: 100vh !important;
    padding: 18px 12px 118px !important;
    background: radial-gradient(circle at 50% 12%, #ac2153 0, #ac2153 32%, #ac2153 100%) !important;
}

body.aba-mobile-ranking-body .aba-admin-shell { padding: 0 !important; }
body.aba-mobile-ranking-body .aba-ranking-title { text-align: center !important; }
body.aba-mobile-ranking-body .aba-ranking-title h1 { color: #ffffff !important; font-size: 34px !important; }
body.aba-mobile-ranking-body .aba-ranking-title .aba-kicker { color: #f5ebdd !important; }
body.aba-mobile-ranking-body .aba-ranking-title > i { margin: 12px auto 0 !important; }
body.aba-mobile-ranking-body .aba-ranking-card-open { margin: 18px auto 0 !important; }
body.aba-mobile-ranking-body .aba-leaderboard-hero,
body.aba-mobile-ranking-body .aba-ranking-podium,
body.aba-mobile-ranking-body .aba-ranking-rest {
    border: 1px solid rgba(255,255,255,.18) !important;
    background-color: rgba(172,33,83,.76) !important;
    box-shadow: 0 18px 38px rgba(172,33,83,.24) !important;
}
body.aba-mobile-ranking-body .aba-leaderboard-hero { color: #ffffff !important; }
body.aba-mobile-ranking-body .aba-leaderboard-hero span { color: #f5ebdd !important; }
body.aba-mobile-ranking-body .aba-ranking-podium { background-image: linear-gradient(180deg,rgba(172,33,83,.08),rgba(172,33,83,.88)),url('../images/weekly-ranking-hero-3d.png') !important; }
body.aba-mobile-ranking-body .aba-ranking-rest { padding: 16px 10px !important; }
body.aba-mobile-ranking-body .aba-ranking-rest > h2 { color: #ffffff !important; text-align: center !important; }
body.aba-mobile-ranking-body .aba-ranking-row { background: linear-gradient(90deg,rgba(172,33,83,.92),rgba(172,33,83,.92)) !important; border-color: rgba(255,255,255,.12) !important; }
body.aba-mobile-ranking-body .aba-ranking-row strong,
body.aba-mobile-ranking-body .aba-ranking-row b { color: #ffffff !important; }
body.aba-mobile-ranking-body .aba-ranking-row em { color: #f5ebdd !important; }

body.aba-mobile-full-profile-body .aba-profile-feed {
    order: 1 !important;
    gap: 14px !important;
}

body.aba-mobile-full-profile-body .aba-profile-feed > *,
body.aba-mobile-full-profile-body .aba-profile-feed > .aba-panel {
    box-sizing: border-box !important;
    grid-column: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
}

body.aba-mobile-full-profile-body .aba-profile-feed > .aba-panel {
    padding: 18px 14px !important;
}

body.aba-mobile-full-profile-body .aba-profile-overview,
body.aba-mobile-full-profile-body .aba-profile-exam-card,
body.aba-mobile-full-profile-body .aba-profile-evolution {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
}

body.aba-mobile-full-profile-body .aba-profile-readiness {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

body.aba-mobile-full-profile-body .aba-profile-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.aba-mobile-full-profile-body .aba-profile-countdown {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
}

body.aba-mobile-full-profile-body .aba-profile-countdown span {
    min-width: 0 !important;
    padding: 8px 3px !important;
}

body.aba-mobile-full-profile-body .aba-profile-attempt-grid,
body.aba-mobile-full-profile-body .aba-profile-library-grid,
body.aba-mobile-full-profile-body .aba-profile-course-list {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

body.aba-mobile-full-profile-body .aba-profile-attempt-grid,
body.aba-mobile-full-profile-body .aba-profile-library-grid {
    grid-template-columns: minmax(0, 1fr) !important;
}

body.aba-mobile-full-profile-body .aba-profile-domain-columns {
    gap: 7px !important;
    overflow: hidden !important;
}

body.aba-mobile-full-profile-body .aba-panel-heading-row {
    align-items: flex-start !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

body.aba-mobile-full-profile-body .aba-panel-heading-row > .aba-btn {
    width: 100% !important;
    justify-content: center !important;
}

/* Standard web/desktop heading for achievements; the mobile app keeps its own header. */
.aba-badges-page:not(.aba-badges-embed) > .aba-page-heading h1 {
    color: var(--aba-blue);
    font-weight: 900;
}

.aba-badges-page:not(.aba-badges-embed) > .aba-page-heading h1::after {
    content: "";
    display: block;
    width: 76px;
    height: 5px;
    margin-top: 14px;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-badges-page:not(.aba-badges-embed) > .aba-page-heading .aba-kicker {
    color: var(--aba-red);
}

/* Metrics v200: persistent recommendations and productive-time header */
.aba-study-forecast>header{align-items:center}
.aba-study-forecast>header h2 span{color:#ac2153;text-transform:uppercase}
.aba-productive-icon{width:54px;height:54px;object-fit:contain;flex:0 0 auto;margin-left:auto}
.aba-metric-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border-radius:9px;background:#ac2153!important;color:#ffffff!important;text-decoration:none!important;font-weight:700;transition:.18s ease}
.aba-metric-action:hover{background:#ac2153!important;transform:translateY(-1px)}
.aba-metric-action.is-complete{background:#ac2153!important;color:#ffffff!important}
.aba-error-pattern-list nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.aba-error-pattern-list nav .aba-metric-action{min-width:104px}
@media(max-width:700px){.aba-productive-icon{width:44px;height:44px}.aba-study-forecast>header{gap:12px}.aba-error-pattern-list nav{width:100%}}

/* Metrics: time-of-day and weekday productivity forecast. */
.aba-study-forecast .aba-hourly-track{grid-template-columns:repeat(4,minmax(0,1fr))}
.aba-weekday-card{display:flex;min-width:0;flex-direction:column;justify-content:center}
.aba-weekday-card>strong{font-size:15px;color:#ac2153}
.aba-weekday-card>em{margin-top:9px!important;color:#ac2153;font-size:20px!important;font-style:normal!important;font-weight:900}
.aba-weekday-bars{height:112px;display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end;margin-top:12px}
.aba-weekday-bars span{position:static!important;display:grid!important;height:100%!important;grid-template-rows:1fr auto;align-items:end;background:none!important}
.aba-weekday-bars i{width:100%;min-height:4px;display:block;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#fb76a4,#ac2153);transition:height .45s ease}
.aba-weekday-bars b{padding-top:6px;color:#fb76a4;font-size:9px!important;text-align:center}
@media(max-width:1050px){.aba-study-forecast .aba-hourly-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.aba-study-forecast .aba-hourly-track{grid-template-columns:1fr}}

/* Final precedence: flush domain navigation for Learning Route and Mastering ABA. */
@media (min-width: 761px) {
    .aba-my-dashboard.aba-my-dashboard-flush-course {
        padding-right: 0 !important;
    }

    .aba-my-shell.aba-my-shell-flush-course {
        gap: 0 !important;
    }

    .aba-my-main-panel.aba-my-main-panel-flush-course {
        gap: 0 !important;
        padding-top: 0 !important;
    }

    #classroom-workspace.aba-flush-domain-course.aba-lesson-page {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 0 48px !important;
        grid-template-columns: 332px minmax(0, 1fr) !important;
        gap: 0 !important;
    }

    #classroom-workspace.aba-classroom-embed.aba-flush-domain-course .aba-lesson-sidebar {
        top: 0 !important;
        min-height: 100vh !important;
        max-height: 100vh !important;
        margin: 0 !important;
        border-width: 0 1px 0 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    #classroom-workspace.aba-flush-domain-course .aba-lesson-content {
        padding: 0 24px 40px !important;
    }

    #classroom-workspace.aba-flush-domain-course .aba-lesson-domain-heading {
        min-height: 0 !important;
        margin: 0 !important;
    }
}

/* Recorded classes: keep the embedded viewport aligned with the visible My area. */
body.aba-my-private-body .aba-my-videoteca-frame-wrap {
    height: calc(100vh - var(--aba-personal-header-height) - var(--aba-personal-footer-height)) !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

body.aba-my-private-body .aba-my-videoteca-frame {
    height: 100% !important;
    min-height: 0 !important;
}

/* Recorded classes modal: open at the visible top instead of the iframe midpoint. */
body.aba-library-embed-body .aba-library-player-modal.is-open,
body.aba-library-embed-body .aba-library-form-modal.is-open {
    place-items: start center !important;
    align-content: start !important;
    padding: 12px 18px 18px !important;
    overflow-y: auto !important;
}

body.aba-library-embed-body .aba-library-player-panel,
body.aba-library-embed-body .aba-library-form-panel {
    width: min(1320px, 100%) !important;
    max-height: calc(100vh - 30px) !important;
}

body.aba-library-embed-body .aba-library-player,
body.aba-library-embed-body .aba-library-player .aba-player-media {
    min-height: 0 !important;
}

body.aba-library-embed-body .aba-library-player {
    height: clamp(320px, calc(100vh - 190px), 720px) !important;
    aspect-ratio: 16 / 9;
}

body.aba-library-embed-body .aba-library-player .aba-player-media {
    height: 100% !important;
}

body.aba-library-embed-body .aba-library-modal-actions {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    justify-self: end;
    align-items: center;
    gap: 9px;
}

body.aba-library-embed-body .aba-library-modal-actions .aba-library-modal-close {
    position: static !important;
}

body.aba-library-embed-body .aba-library-modal-fullscreen {
    display: grid;
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    place-items: center;
    border: 1px solid #f5ebdd;
    border-radius: 7px;
    background: #ffffff;
    color: var(--aba-blue);
    font-size: 17px;
    cursor: pointer;
    box-shadow: 0 5px 16px rgba(172,33,83,.14);
}

body.aba-library-embed-body .aba-library-modal-fullscreen:hover,
body.aba-library-embed-body .aba-library-modal-fullscreen:focus-visible {
    border-color: var(--aba-blue);
    background: var(--aba-blue);
    color: #ffffff;
}

.aba-rich-editor {
    align-content: start;
}

.aba-activity-editor-modal .aba-modal-card.wide {
    width: min(1420px, calc(100vw - 56px));
}

.aba-rich-visual {
    min-height: 260px;
    max-height: 520px;
    overflow: auto;
    padding: 14px 16px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    outline: none;
    color: var(--aba-text);
    background: #ffffff;
    font: inherit;
    line-height: 1.55;
}

.aba-rich-visual:focus {
    border-color: var(--aba-blue);
    box-shadow: 0 0 0 3px rgba(172,33,83,.10);
}

.aba-rich-visual p,
.aba-rich-visual div,
.aba-rich-visual li,
.aba-rich-visual td,
.aba-rich-visual th,
.aba-rich-visual span {
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.aba-rich-visual table {
    width: 100%;
    margin: 14px 0;
    border-collapse: collapse;
}

.aba-rich-visual th,
.aba-rich-visual td {
    padding: 8px 10px;
    border: 1px solid #f5ebdd;
    text-align: left;
    vertical-align: top;
}

.aba-rich-visual th { background: #f5ebdd; }
.aba-rich-visual img { display: block; max-width: 100%; height: auto; margin: 14px auto; border-radius: 7px; }
.aba-rich-visual img.is-selected { outline: 3px solid var(--aba-red); outline-offset: 3px; }
.aba-rich-visual img[data-size="small"], .aba-rich-content img[data-size="small"] { width: 33%; }
.aba-rich-visual img[data-size="medium"], .aba-rich-content img[data-size="medium"] { width: 66%; }
.aba-rich-visual img[data-size="full"], .aba-rich-content img[data-size="full"] { width: 100%; }
.aba-rich-visual p:first-child { margin-top: 0; }
.aba-rich-visual p:last-child { margin-bottom: 0; }

.aba-rich-image-tools {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 8px;
    padding: 8px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-rich-image-tools span { margin-right: auto; color: var(--aba-blue); font-size: 12px; font-weight: 800; }
.aba-rich-image-tools button {
    min-height: 30px;
    padding: 4px 9px;
    border: 1px solid #f5ebdd;
    border-radius: 6px;
    color: var(--aba-blue);
    background: #ffffff;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.aba-rich-image-tools button:hover { border-color: var(--aba-red); color: var(--aba-red); }
.aba-rich-image-tools button[data-image-action="delete"] { color: #ac2153; }
.aba-rich-image-tools button:disabled { opacity: .45; cursor: not-allowed; }

@media (max-width: 760px) {
    .aba-activity-editor-modal { padding: 10px; }
    .aba-activity-editor-modal .aba-modal-card.wide { width: 100%; padding: 18px; }
    .aba-rich-image-tools { flex-wrap: wrap; }
}

/* Admin rail visual: retain the original Admin Center design, attached and collapsible. */
body.aba-adminsite-body .aba-adminsite-shell,
body.aba-adminsite-body .aba-adminsite-shell.aba-my-shell {
    grid-template-columns: 270px minmax(0, 1fr) !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar,
body.aba-adminsite-body .aba-adminsite-sidebar.aba-my-service-rail {
    position: sticky !important;
    width: 270px !important;
    padding: 0 10px 12px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-right: 1px solid #f5ebdd !important;
    border-radius: 0 !important;
    color: #ac2153 !important;
    background: #ffffff !important;
    box-shadow: 7px 0 20px rgba(172,33,83,.09) !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar-head {
    min-height: 76px;
    display: flex !important;
    margin: 0 -10px 12px;
    padding: 15px 54px 15px 16px;
    border-radius: 0;
    background: linear-gradient(135deg, #ac2153, #ac2153) !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar .aba-my-rail-toggle {
    position: absolute;
    z-index: 3;
    top: 18px;
    right: 11px;
    width: 38px;
    height: 38px;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,.28);
    color: #ffffff;
    background: rgba(255,255,255,.1);
}

body.aba-adminsite-body .aba-adminsite-sidebar .aba-my-rail-toggle:hover {
    background: var(--aba-red);
}

body.aba-adminsite-body .aba-adminsite-sidebar nav {
    padding: 0 2px !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar nav a,
body.aba-adminsite-body .aba-adminsite-public-profile {
    display: flex !important;
    grid-template-columns: none !important;
    min-height: 44px !important;
    gap: 10px !important;
    padding: 7px 10px !important;
    border: 1px solid transparent !important;
    border-radius: 11px !important;
    color: #ac2153 !important;
    background: #ffffff !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar nav a i,
body.aba-adminsite-body .aba-adminsite-public-profile i {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px;
    border-radius: 9px !important;
    color: #ac2153 !important;
    background: #f5ebdd !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar nav a:hover,
body.aba-adminsite-body .aba-adminsite-sidebar nav a.active,
body.aba-adminsite-body .aba-adminsite-public-profile:hover {
    border-color: var(--aba-blue) !important;
    color: #ffffff !important;
    background: var(--aba-blue) !important;
    box-shadow: 0 8px 18px rgba(172,33,83,.16) !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar nav a.active i,
body.aba-adminsite-body .aba-adminsite-sidebar nav a:hover i,
body.aba-adminsite-body .aba-adminsite-public-profile:hover i {
    color: #ffffff !important;
    background: var(--aba-red) !important;
}

body.aba-adminsite-body .aba-my-shell.is-rail-collapsed,
body.aba-adminsite-body .aba-adminsite-shell.is-rail-collapsed {
    grid-template-columns: 62px minmax(0, 1fr) !important;
}

body.aba-adminsite-body .aba-my-shell.is-rail-collapsed .aba-adminsite-sidebar {
    width: 62px !important;
    padding: 58px 7px 10px !important;
}

body.aba-adminsite-body .aba-my-shell.is-rail-collapsed .aba-adminsite-sidebar-head {
    display: none !important;
}

body.aba-adminsite-body .aba-my-shell.is-rail-collapsed .aba-adminsite-sidebar .aba-my-rail-toggle {
    top: 10px;
    right: 11px;
    color: #ffffff;
    border-color: transparent;
    background: var(--aba-blue);
}

body.aba-adminsite-body .aba-my-shell.is-rail-collapsed .aba-adminsite-sidebar nav a,
body.aba-adminsite-body .aba-my-shell.is-rail-collapsed .aba-adminsite-public-profile {
    justify-content: center;
    padding: 6px !important;
}

@media (max-width: 760px) {
    body.aba-adminsite-body .aba-adminsite-shell,
    body.aba-adminsite-body .aba-adminsite-shell.aba-my-shell {
        grid-template-columns: 62px minmax(0, 1fr) !important;
    }
    body.aba-adminsite-body .aba-adminsite-sidebar,
    body.aba-adminsite-body .aba-adminsite-sidebar.aba-my-service-rail {
        width: 62px !important;
        padding: 58px 7px 10px !important;
    }
    body.aba-adminsite-body .aba-adminsite-sidebar-head {
        display: none !important;
    }
    body.aba-adminsite-body .aba-adminsite-sidebar .aba-my-rail-toggle {
        top: 10px;
        right: 11px;
        color: #ffffff;
        background: var(--aba-blue);
    }
}

.aba-rich-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 6px 0 8px;
}

.aba-rich-toolbar button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 6px 11px;
    border: 1px solid #f5ebdd;
    border-radius: 7px;
    background: #f5ebdd;
    color: var(--aba-blue);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.aba-rich-toolbar button:hover,
.aba-rich-toolbar button:focus-visible {
    border-color: var(--aba-red);
    background: #f5ebdd;
    color: var(--aba-red);
}

.aba-rich-content table {
    width: 100%;
    margin: 22px 0;
    border-collapse: collapse;
    background: #ffffff;
}

.aba-rich-content th,
.aba-rich-content td {
    padding: 11px 13px;
    border: 1px solid #f5ebdd;
    text-align: left;
    vertical-align: top;
}

.aba-rich-content th {
    background: #f5ebdd;
    color: var(--aba-blue);
}

.aba-rich-content figure.aba-rich-media {
    margin: 24px auto;
    text-align: center;
}

.aba-rich-uploaded-media {
    margin: 24px auto;
    text-align: center;
}

.aba-rich-content figure.aba-rich-media img,
.aba-rich-content > img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 720px;
    margin: 0 auto;
    object-fit: contain;
    border-radius: 8px;
}

.aba-rich-uploaded-media img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 720px;
    margin: 0 auto;
    object-fit: contain;
    border-radius: 8px;
}

.aba-rich-content figcaption {
    margin-top: 8px;
    color: var(--aba-muted);
    font-size: .9em;
}

/* Exclusive ABA Lessons-style outline for Mastering ABA and Learning Route. */
@media (min-width: 901px) {
    #classroom-workspace.aba-private-experience-course.aba-flush-domain-course.aba-lesson-page {
        grid-template-columns: 278px minmax(0, 1fr) !important;
        transition: grid-template-columns .24s ease;
    }

    #classroom-workspace.aba-private-experience-course.aba-flush-domain-course.is-outline-collapsed {
        grid-template-columns: 0 minmax(0, 1fr) !important;
    }

    #classroom-workspace.aba-private-experience-course.is-outline-collapsed .aba-lesson-sidebar {
        opacity: 0;
        pointer-events: none;
        overflow: hidden;
    }
}

#classroom-workspace.aba-private-experience-course .aba-lesson-sidebar {
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    color: #ac2153;
    background: #f5ebdd !important;
    border-right: 1px solid #f5ebdd !important;
    transition: opacity .18s ease, transform .24s ease;
}

#classroom-workspace.aba-private-experience-course {
    position: relative;
}

#classroom-workspace.aba-private-experience-course .aba-domain-drawer-head {
    min-height: 48px;
    padding: 10px 13px;
    border-bottom: 1px solid #f5ebdd;
}

#classroom-workspace.aba-private-experience-course .aba-module-progress {
    margin: 10px 13px 8px;
}

#classroom-workspace.aba-private-experience-course .aba-outline-search {
    margin: 8px 10px 9px;
    border-color: #f5ebdd;
    background: #ffffff;
}

#classroom-workspace.aba-private-experience-course .aba-course-outline {
    padding: 3px 8px 16px;
    scrollbar-color: #fb76a4 transparent;
}

#classroom-workspace.aba-private-experience-course .aba-outline-group {
    border-bottom: 1px solid #f5ebdd;
}

#classroom-workspace.aba-private-experience-course .aba-outline-group > summary {
    min-height: 46px;
    padding: 7px 6px;
    color: #ac2153;
    background: transparent;
    border: 0;
    border-radius: 0;
}

#classroom-workspace.aba-private-experience-course .aba-outline-group > summary > i:first-child {
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #fb76a4;
}

#classroom-workspace.aba-private-experience-course .aba-outline-group[open] > summary > i:first-child,
#classroom-workspace.aba-private-experience-course .aba-outline-group.active > summary > i:first-child {
    background: var(--aba-red);
}

#classroom-workspace.aba-private-experience-course .aba-lesson-list {
    gap: 3px;
    padding: 0 0 9px 7px;
}

#classroom-workspace.aba-private-experience-course .aba-lesson-list > a {
    min-height: 42px;
    padding: 6px 7px;
    border: 0;
    border-radius: 7px;
    color: #ac2153;
    background: transparent;
    box-shadow: none;
    grid-template-columns: minmax(0, 1fr) 16px;
}

#classroom-workspace.aba-private-experience-course .aba-lesson-list > a:hover,
#classroom-workspace.aba-private-experience-course .aba-lesson-list > a.active {
    color: #ac2153;
    background: #f5ebdd;
    box-shadow: inset 3px 0 var(--aba-red);
}

#classroom-workspace.aba-private-experience-course .aba-lesson-favicon {
    display: none;
}

#classroom-workspace.aba-private-experience-course .aba-lesson-done {
    width: 14px;
    height: 14px;
    border: 1px solid #fb76a4;
    border-radius: 4px;
    background: #f5ebdd;
    color: transparent;
}

#classroom-workspace.aba-private-experience-course .aba-lesson-list > a.is-completed .aba-lesson-done {
    border-color: #fb76a4;
    background: #f5ebdd;
}

.aba-private-outline-toggle {
    position: absolute;
    z-index: 80;
    top: 10px;
    left: 262px;
    width: 34px;
    height: 34px;
    display: grid;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(172,33,83,.18);
    border-radius: 8px;
    background: #fb76a4;
    color: #ffffff;
    box-shadow: 0 5px 14px rgba(172,33,83,.16);
    cursor: pointer;
    transition: left .24s ease, background .18s ease;
}

.aba-private-outline-toggle:hover { background: var(--aba-red); }
.aba-private-outline-toggle span { position: relative; width: 15px; height: 11px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
.aba-private-outline-toggle span::after { content: ""; position: absolute; inset: 3px 0 auto; border-top: 2px solid currentColor; }
.aba-private-experience-course.is-outline-collapsed .aba-private-outline-toggle { left: 10px; }

@media (max-width: 900px) {
    .aba-private-outline-toggle,
    .aba-private-experience-course.is-outline-collapsed .aba-private-outline-toggle {
        position: fixed;
        top: 8px;
        left: 8px;
    }
    .aba-private-experience-course.is-domain-drawer-open .aba-private-outline-toggle {
        left: min(calc(88vw - 18px), 302px);
    }
}

.aba-board-info-card { overflow: hidden; }
.aba-board-info-card > summary { display: grid; cursor: pointer; list-style: none; }
.aba-board-info-card > summary::-webkit-details-marker { display: none; }
.aba-board-info-detail { padding: 0 16px 18px; border-top: 1px solid #f5ebdd; }
.aba-board-info-detail p { margin: 14px 0; color: #ac2153; line-height: 1.55; }
.aba-board-info-detail .aba-btn { width: 100%; justify-content: center; }

@media (max-height: 560px) {
    body.aba-library-embed-body .aba-library-player {
        height: calc(100vh - 150px) !important;
        min-height: 220px !important;
    }
}

/* Uniform near-white page canvas requested across the website and apps. */
:root {
    --aba-bg: #ffffff;
    --aba-page-canvas: #ffffff;
}

html body,
html body[class] {
    background-color: var(--aba-page-canvas) !important;
}

html body:not(.aba-home-landing) > main,
html body:not(.aba-home-landing) > main[class] {
    background-color: var(--aba-page-canvas) !important;
}

/* Definitive Recorded Classes alignment; intentionally placed after legacy overrides. */
html body.aba-library-embed-body .aba-library-page .aba-library-shell {
    box-sizing: border-box !important;
    width: min(100%, 1500px) !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 32px 24px 38px !important;
}

html body.aba-library-embed-body .aba-library-page .aba-library-heading {
    width: 100% !important;
    margin: 0 0 26px !important;
    padding: 0 !important;
}

html body.aba-library-embed-body .aba-library-page .aba-library-heading h1 {
    margin: 0 !important;
    color: var(--aba-blue) !important;
    font-size: clamp(2.35rem, 4vw, 4.1rem) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

/* Final precedence: flush domain navigation for Learning Route and Mastering ABA. */
@media (min-width: 761px) {
    .aba-my-dashboard.aba-my-dashboard-flush-course { padding-right: 0 !important; }
    .aba-my-shell.aba-my-shell-flush-course { gap: 0 !important; }
    .aba-my-main-panel.aba-my-main-panel-flush-course { gap: 0 !important; padding-top: 0 !important; }
    #classroom-workspace.aba-flush-domain-course.aba-lesson-page {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 0 48px !important;
        grid-template-columns: 332px minmax(0, 1fr) !important;
        gap: 0 !important;
    }
    #classroom-workspace.aba-classroom-embed.aba-flush-domain-course .aba-lesson-sidebar {
        top: 0 !important;
        min-height: 100vh !important;
        max-height: 100vh !important;
        margin: 0 !important;
        border-width: 0 1px 0 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    #classroom-workspace.aba-flush-domain-course .aba-lesson-content { padding: 0 24px 40px !important; }
    #classroom-workspace.aba-flush-domain-course .aba-lesson-domain-heading { min-height: 0 !important; margin: 0 !important; }
    #classroom-workspace.aba-flush-domain-course .aba-lesson-card,
    #classroom-workspace.aba-flush-domain-course .aba-lesson-domain-heading {
        width: 100% !important;
        max-width: none !important;
    }
    #classroom-workspace.aba-flush-domain-course .aba-rich-content {
        font-size: 20px !important;
        line-height: 1.68 !important;
    }
    #classroom-workspace.aba-flush-domain-course .aba-rich-content p,
    #classroom-workspace.aba-flush-domain-course .aba-rich-content li,
    #classroom-workspace.aba-flush-domain-course .aba-rich-content blockquote {
        text-align: justify !important;
        hyphens: none !important;
        -webkit-hyphens: none !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        text-wrap: pretty;
    }
}

/* Absolute final precedence: unify full and Mini Mock presentation. */
.aba-mock-embed.aba-board-focus-mode .aba-board-question-card,
.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-question-card {
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.aba-mock-embed .aba-board-question h2,
.aba-mock-embed .aba-board-choice span,
.aba-mock-embed .aba-domain-question-feedback p,
.aba-full-mock-review .aba-domain-final-question-title h2,
.aba-full-mock-review .aba-domain-final-answers > div span,
.aba-full-mock-review .aba-domain-final-explanation p,
.aba-domain-practice-embed .aba-board-question h2,
.aba-domain-practice-embed .aba-board-choice span,
.aba-domain-practice-embed .aba-domain-question-feedback p,
.aba-domain-final-review .aba-domain-final-question-title h2,
.aba-domain-final-review .aba-domain-final-answers > div span,
.aba-domain-final-review .aba-domain-final-explanation p {
    text-align: justify !important;
    text-align-last: left !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.aba-full-mock-review.aba-domain-final-review {
    width: min(1180px, calc(100% - 48px)) !important;
    margin: 0 auto !important;
    padding: 38px 0 58px !important;
}

.aba-full-mock-review > .aba-domain-final-review-head {
    display: block !important;
    margin-bottom: 28px !important;
    padding-bottom: 20px !important;
    border-bottom: 4px solid #ac2153 !important;
}

.aba-full-mock-review > .aba-domain-final-review-head h1 {
    margin: 5px 0 8px !important;
    font-size: clamp(34px, 4vw, 54px) !important;
    line-height: 1 !important;
}

.aba-full-mock-review > .aba-domain-final-review-head p {
    margin: 0 !important;
    color: var(--aba-muted) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}

@media (max-width: 640px) {
    .aba-full-mock-review.aba-domain-final-review {
        width: calc(100% - 28px) !important;
        padding-top: 25px !important;
    }
}

/* Final precedence: Timed and Untimed Mock Exams use the Mini Mock format. */
.aba-mock-embed.aba-board-focus-mode .aba-board-question-card,
.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-question-card {
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.aba-mock-embed .aba-board-question h2,
.aba-mock-embed .aba-board-choice span,
.aba-mock-embed .aba-domain-question-feedback p,
.aba-full-mock-review .aba-domain-final-question-title h2,
.aba-full-mock-review .aba-domain-final-answers > div span,
.aba-full-mock-review .aba-domain-final-explanation p,
.aba-domain-practice-embed .aba-board-question h2,
.aba-domain-practice-embed .aba-board-choice span,
.aba-domain-practice-embed .aba-domain-question-feedback p,
.aba-domain-final-review .aba-domain-final-question-title h2,
.aba-domain-final-review .aba-domain-final-answers > div span,
.aba-domain-final-review .aba-domain-final-explanation p {
    text-align: justify !important;
    text-align-last: left !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.aba-full-mock-review.aba-domain-final-review {
    width: min(1180px, calc(100% - 48px)) !important;
    margin: 0 auto !important;
    padding: 38px 0 58px !important;
}

.aba-full-mock-review > .aba-domain-final-review-head {
    display: block !important;
    margin-bottom: 28px !important;
    padding-bottom: 20px !important;
    border-bottom: 4px solid #ac2153 !important;
}

.aba-full-mock-review > .aba-domain-final-review-head h1 {
    margin: 5px 0 8px !important;
    font-size: clamp(34px, 4vw, 54px) !important;
    line-height: 1 !important;
}

.aba-full-mock-review > .aba-domain-final-review-head p {
    margin: 0 !important;
    color: var(--aba-muted) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}

@media (max-width: 640px) {
    .aba-full-mock-review.aba-domain-final-review {
        width: calc(100% - 28px) !important;
        padding-top: 25px !important;
    }
}

/* Final precedence: align Recorded Class Library with Glossary and Flashcards. */
html body.aba-library-embed-body .aba-library-page .aba-library-shell {
    box-sizing: border-box !important;
    width: min(100%, 1500px) !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 32px 24px 38px !important;
}

html body.aba-library-embed-body .aba-library-page .aba-library-heading {
    width: 100% !important;
    margin: 0 0 26px !important;
    padding: 0 !important;
}

html body.aba-library-embed-body .aba-library-page .aba-library-heading h1 {
    margin: 0 !important;
    color: var(--aba-blue) !important;
    font-size: clamp(2.35rem, 4vw, 4.1rem) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

/* Right-side profile drawer. */
.profile-side-backdrop {
    position: fixed;
    z-index: 1090;
    inset: 0;
    border: 0;
    background: rgba(172,33,83,.38);
    backdrop-filter: blur(2px);
}
.profile-side-drawer {
    position: fixed;
    z-index: 1100;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(88vw, 380px);
    padding: 22px 18px;
    overflow-y: auto;
    color: var(--aba-blue);
    background: #f5ebdd;
    box-shadow: -20px 0 55px rgba(172,33,83,.24);
    transform: translateX(105%);
    visibility: hidden;
    transition: transform .24s ease, visibility .24s ease;
}
.profile-drawer-open { overflow: hidden; }
.profile-drawer-open .profile-side-drawer { transform: translateX(0); visibility: visible; }
.profile-side-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 4px 4px 18px; border-bottom: 1px solid #f5ebdd; }
.profile-side-drawer-head strong { font-size: 22px; }
.profile-side-drawer-head button { width: 42px; height: 42px; border: 0; border-radius: 50%; color: #ffffff; background: var(--aba-blue); cursor: pointer; }
.profile-side-drawer nav { display: grid; gap: 7px; padding-top: 18px; }
.profile-side-drawer nav a { min-height: 50px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 12px; padding: 7px 12px; border-radius: 10px; color: var(--aba-blue); font-weight: 700; text-decoration: none; }
.profile-side-drawer nav a i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: #ffffff; background: var(--aba-blue); }
.profile-side-drawer nav a:hover,
.profile-side-drawer nav a:focus { color: #ffffff; background: #ac2153; }
.profile-side-drawer nav a:hover i,
.profile-side-drawer nav a:focus i { color: #ac2153; background: #ffffff; }

/* Personal Area navigation colors and collapsible rail. */
.aba-my-service-rail {
    color: var(--aba-blue) !important;
    background: #f5ebdd !important;
    box-shadow: 0 16px 36px rgba(172,33,83,.12) !important;
}
.aba-my-student-mini { border-bottom-color: #f5ebdd !important; }
.aba-my-student-avatar { grid-row: span 3 !important; }
.aba-my-greeting {
    display: block;
    overflow: hidden;
    color: #ac2153;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1.1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}
.aba-my-student-mini span { color: #ac2153 !important; }
.aba-my-service-rail nav { gap: 7px !important; }
.aba-my-service-rail nav a {
    min-height: 50px !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 7px 12px !important;
    border-radius: 10px !important;
    color: var(--aba-blue) !important;
    font-weight: 700 !important;
}
.aba-my-service-rail nav a i {
    width: 34px !important;
    height: 34px !important;
    border-radius: 9px !important;
    color: #ffffff !important;
    background: var(--aba-blue) !important;
}
.aba-my-service-rail nav a:hover,
.aba-my-service-rail nav a:focus,
.aba-my-service-rail nav a.active { color: #ffffff !important; border-color: #ac2153 !important; background: #ac2153 !important; }
.aba-my-service-rail nav a:hover i,
.aba-my-service-rail nav a:focus i,
.aba-my-service-rail nav a.active i { color: #ac2153 !important; background: #ffffff !important; }
.aba-my-service-divider { background: #f5ebdd !important; }
.aba-my-dashboard { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.aba-my-rail-toggle { width: 42px; height: 38px; display: grid; place-items: center; margin: 0 0 10px auto; border: 0; border-radius: 9px; color: #ffffff; background: var(--aba-blue); cursor: pointer; }
.aba-my-shell { transition: grid-template-columns .22s ease; }
.aba-my-shell.is-rail-collapsed { grid-template-columns: 76px minmax(0, 1fr) !important; }
.aba-my-shell.is-rail-collapsed .aba-my-service-rail { padding-inline: 10px; overflow: hidden; }
.aba-my-shell.is-rail-collapsed .aba-my-student-mini { grid-template-columns: 48px; justify-content: center; }
.aba-my-shell.is-rail-collapsed .aba-my-student-mini > strong,
.aba-my-shell.is-rail-collapsed .aba-my-greeting,
.aba-my-shell.is-rail-collapsed .aba-my-student-mini > span,
.aba-my-shell.is-rail-collapsed .aba-my-service-rail nav a span { display: none; }
.aba-my-shell.is-rail-collapsed .aba-my-student-avatar,
.aba-my-shell.is-rail-collapsed .aba-my-student-avatar span,
.aba-my-shell.is-rail-collapsed .aba-my-student-avatar img { visibility: visible !important; }
.aba-my-shell.is-rail-collapsed .aba-my-service-rail nav a { grid-template-columns: 1fr !important; padding-inline: 8px !important; }
.aba-my-shell.is-rail-collapsed .aba-my-service-rail nav a i { margin: 0 auto; }
@media (max-width: 760px) {
    .aba-my-shell.is-rail-collapsed { grid-template-columns: 64px minmax(0, 1fr) !important; }
}

/* Final 1 on 1 parity override: original page and Personal Area embed. */
body.aba-one-on-one-embed-body,
.aba-simple-page.aba-one-on-one-page,
.aba-one-on-one-page,
.aba-my-one-on-one-frame-wrap,
.aba-my-one-on-one-frame {
    background: #f5ebdd !important;
}

.aba-simple-page.aba-one-on-one-page,
.aba-one-on-one-page {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 64px 24px 86px !important;
    color: var(--aba-ink, #ac2153) !important;
    font-family: var(--aba-font, "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed,
.aba-one-on-one-page.aba-one-on-one-embed {
    padding: 64px 24px 86px !important;
}

.aba-one-on-one-topbar,
.aba-one-on-one-calendar-panel,
.aba-one-on-one-legend,
.aba-one-on-one-admin {
    box-sizing: border-box !important;
    width: min(100%, 1500px) !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.aba-one-on-one-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 24px !important;
    margin-bottom: 34px !important;
}

.aba-one-on-one-topbar h1 {
    margin: 0 !important;
    color: var(--aba-blue, #ac2153) !important;
    font-size: clamp(42px, 4.8vw, 64px) !important;
    line-height: .98 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.aba-one-on-one-topbar h1::after {
    content: "" !important;
    display: block !important;
    width: 78px !important;
    height: 4px !important;
    margin-top: 16px !important;
    border-radius: 999px !important;
    background: var(--aba-red, #ac2153) !important;
}

.aba-one-on-one-topbar p {
    margin: 18px 0 0 !important;
    color: #ac2153 !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
}

.aba-one-on-one-topbar .aba-btn {
    align-self: start !important;
    min-width: 148px !important;
    min-height: 48px !important;
    margin-top: 4px !important;
    border-radius: 8px !important;
}

.aba-one-on-one-calendar-panel {
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 48px rgba(172,33,83,.08) !important;
}

.aba-one-on-one-month {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
    padding: 18px 20px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
}

.aba-one-on-one-month strong {
    color: var(--aba-blue, #ac2153) !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-month span {
    color: #ac2153 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-align: right !important;
}

.aba-one-on-one-calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
}

.aba-one-on-one-day-head {
    min-height: 32px !important;
    display: grid !important;
    place-items: center !important;
    color: var(--aba-blue, #ac2153) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

button.aba-one-on-one-day,
.aba-one-on-one-day.empty {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 116px !important;
    padding: 14px !important;
    border-radius: 8px !important;
}

button.aba-one-on-one-day {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    border: 1px solid #f5ebdd !important;
    background: #ffffff !important;
    color: var(--aba-blue, #ac2153) !important;
    text-align: left !important;
    cursor: pointer !important;
    font-family: inherit !important;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease !important;
}

button.aba-one-on-one-day strong {
    margin: 0 !important;
    color: inherit !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

button.aba-one-on-one-day span {
    margin: 0 !important;
    color: inherit !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

button.aba-one-on-one-day.available {
    border-color: #f5ebdd !important;
    background: #ffffff !important;
}

button.aba-one-on-one-day.available:hover {
    transform: translateY(-2px) !important;
    border-color: var(--aba-blue, #ac2153) !important;
    background: var(--aba-blue, #ac2153) !important;
    color: #ffffff !important;
}

button.aba-one-on-one-day.scheduled {
    border-color: var(--aba-blue, #ac2153) !important;
    background: var(--aba-blue, #ac2153) !important;
    color: #ffffff !important;
}

button.aba-one-on-one-day.full,
button.aba-one-on-one-day.unavailable {
    border-color: #f5ebdd !important;
    background: #f5ebdd !important;
    color: var(--aba-red, #ac2153) !important;
    cursor: default !important;
}

button.aba-one-on-one-day:disabled {
    pointer-events: none !important;
}

.aba-one-on-one-day.empty {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.aba-one-on-one-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin-top: 16px !important;
    color: #ac2153 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.aba-one-on-one-legend span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.aba-one-on-one-legend i {
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
}

.aba-one-on-one-legend i.available {
    background: #fb76a4 !important;
}

.aba-one-on-one-legend i.scheduled {
    background: var(--aba-blue, #ac2153) !important;
}

.aba-one-on-one-legend i.unavailable {
    background: var(--aba-red, #ac2153) !important;
}

.aba-one-modal[hidden],
.aba-one-day-panel[hidden],
.aba-one-payment-modal[hidden] {
    display: none !important;
}

.aba-one-modal:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    background: rgba(172,33,83,.58) !important;
}

.aba-one-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
}

.aba-one-modal-card {
    position: relative !important;
    width: min(980px, 100%) !important;
    max-height: calc(100vh - 48px) !important;
    overflow: auto !important;
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 30px 80px rgba(172,33,83,.25) !important;
}

.aba-one-modal-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    display: grid !important;
    place-items: center !important;
    width: 40px !important;
    height: 40px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--aba-blue, #ac2153) !important;
    font-size: 22px !important;
    cursor: pointer !important;
}

.aba-one-day-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 52px 20px 0 !important;
}

.aba-one-day-head span {
    color: var(--aba-red, #ac2153) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.aba-one-day-head h2 {
    margin: 4px 0 0 !important;
    color: var(--aba-blue, #ac2153) !important;
    font-size: 34px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
}

.aba-one-day-head h2::after {
    content: "" !important;
    display: block !important;
    width: 68px !important;
    height: 4px !important;
    margin-top: 12px !important;
    border-radius: 999px !important;
    background: var(--aba-red, #ac2153) !important;
}

.aba-one-day-head > strong,
.aba-one-book-form h3,
.aba-one-admin-mini summary {
    color: var(--aba-blue, #ac2153) !important;
    font-weight: 900 !important;
}

.aba-one-duration-toggle,
.aba-one-slot-grid,
.aba-one-domain-grid,
.aba-one-domain-mode {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 12px 0 20px !important;
}

.aba-one-duration-toggle button,
.aba-one-slot-pill,
.aba-one-domain-grid label,
.aba-one-domain-mode label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
    color: var(--aba-blue, #ac2153) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.aba-one-duration-toggle button.is-active,
.aba-one-slot-pill:has(input:checked) {
    border-color: var(--aba-blue, #ac2153) !important;
    background: var(--aba-blue, #ac2153) !important;
    color: #ffffff !important;
}

.aba-one-domain-grid label span {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    background: var(--aba-blue, #ac2153) !important;
    color: #ffffff !important;
    font-weight: 900 !important;
}

.aba-one-book-form > .aba-btn,
.aba-one-admin-inline .aba-btn {
    min-height: 48px !important;
    border-radius: 8px !important;
}

.aba-one-payment-card {
    width: min(1120px, 100%) !important;
    height: min(760px, calc(100vh - 48px)) !important;
    padding: 56px 18px 18px !important;
}

.aba-one-payment-frame {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.aba-my-one-on-one-frame-wrap {
    width: 100% !important;
    min-height: 1120px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f5ebdd !important;
    box-shadow: none !important;
}

.aba-my-one-on-one-frame {
    display: block !important;
    width: 100% !important;
    min-height: 1120px !important;
    border: 0 !important;
    background: #f5ebdd !important;
}

@media (max-width: 900px) {
    .aba-simple-page.aba-one-on-one-page,
    .aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
        padding: 40px 16px 64px !important;
    }

    .aba-one-on-one-topbar {
        grid-template-columns: 1fr !important;
    }

    .aba-one-on-one-topbar h1 {
        font-size: clamp(36px, 12vw, 48px) !important;
    }

    .aba-one-on-one-calendar-panel {
        overflow-x: auto !important;
        padding: 18px !important;
    }

    .aba-one-on-one-calendar-grid,
    .aba-one-on-one-month {
        min-width: 760px !important;
    }

    .aba-one-on-one-month {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    button.aba-one-on-one-day,
    .aba-one-on-one-day.empty {
        min-height: 92px !important;
    }

    .aba-one-duration-toggle,
    .aba-one-slot-grid,
    .aba-one-domain-grid,
    .aba-one-domain-mode {
        grid-template-columns: 1fr !important;
    }
}

* {
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    margin: 0;
    padding-top: 74px;
    display: flex;
    flex-direction: column;
    background: var(--aba-bg);
    color: var(--aba-text);
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
}

body.aba-strategies-embed-body,
body.aba-study-route-embed-body,
body.aba-classroom-embed-body,
body.aba-lab-embed-body,
body.aba-domain-embed-body,
body.aba-mock-embed-body,
body.aba-flashcards-embed-body,
body.aba-glossary-embed-body,
body.aba-chat-embed-body,
body.aba-mentoring-embed-body,
body.aba-one-on-one-embed-body,
body.aba-abalive-embed-body,
body.aba-library-embed-body,
body.aba-board-focus-body,
body.aba-study-route-modal-body,
body.aba-abalive-tv-mode {
    padding-top: 0;
}

.aba-admin-page,
.aba-my-dashboard,
.aba-community-body,
.aba-board-focus-body {
    background: #f5ebdd;
}

a {
    color: inherit;
}

[hidden] {
    display: none !important;
}

.aba-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}

.aba-small-card {
    min-height: 160px;
    padding: 20px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: var(--aba-white);
    box-shadow: 0 14px 36px rgba(172,33,83,.06);
}

.aba-small-card h3 {
    margin: 0 0 8px;
    color: var(--aba-text);
    font-size: 22px;
    line-height: 1.15;
}

.aba-small-card p {
    margin: 0 0 14px;
    color: var(--aba-muted);
    line-height: 1.45;
}

.aba-card-meta {
    margin: 0 0 10px;
    color: var(--aba-red);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.aba-header {
    height: 74px;
    padding: 0 32px;
    display: flex;
    align-items: center;
    gap: 28px;
    background: var(--aba-blue);
    color: var(--aba-white);
    box-shadow: 0 8px 24px rgba(172,33,83,.16);
}

.aba-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--aba-white);
    font-size: 22px;
    font-weight: 900;
    text-decoration: none;
}

.aba-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    min-height: 34px;
    border-radius: 7px;
    background: var(--aba-red);
    letter-spacing: .5px;
}

.aba-nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.aba-nav a,
.aba-login-link,
.aba-lang {
    min-height: 40px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    border-radius: 7px;
    color: var(--aba-white);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.aba-nav a.active,
.aba-nav a:hover,
.aba-login-link:hover,
.aba-lang:hover {
    background: rgba(255,255,255,.12);
}

.aba-header-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

.aba-lang {
    border: 1px solid rgba(255,255,255,.35);
}

.aba-home,
.aba-auth-page {
    width: min(var(--aba-shell-width), calc(100% - var(--aba-shell-gutter)));
    margin: 0 auto;
    flex: 1;
}

.aba-home {
    width: 100%;
    max-width: none;
}

.aba-hero {
    min-height: calc(100vh - 150px);
    height: calc(100vh - 150px);
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 44px;
    align-items: center;
    padding: 72px 0 72px max(calc((100vw - var(--aba-shell-width)) / 2), calc(var(--aba-shell-gutter) / 2));
    overflow: hidden;
}

.aba-hero > :not(.aba-hero-bull) {
    position: relative;
    z-index: 1;
}

.aba-kicker {
    display: block;
    margin-bottom: 12px;
    color: var(--aba-red);
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
}

.aba-hero h1,
.aba-auth-card h1 {
    max-width: 680px;
    margin: 0;
    color: var(--aba-text);
    font-size: clamp(42px, 6vw, 76px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: .98;
}

.aba-hero h1 {
    color: var(--aba-red);
    max-width: none;
    white-space: nowrap;
    font-size: clamp(64px, 8vw, 132px);
    line-height: .92;
    animation: aba-slide-in-left .7s ease both;
}

.aba-home-hero-rule {
    width: 112px;
    height: 5px;
    display: block;
    margin-top: 18px;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-home .aba-hero p {
    max-width: none;
    color: var(--aba-blue);
    font-size: clamp(36px, 4vw, 58px);
    font-weight: 900;
    line-height: 1.04;
    animation: aba-slide-in-left .8s ease .08s both;
}

.aba-home .aba-hero p span {
    display: block;
    white-space: nowrap;
}

.aba-home .aba-actions .aba-btn {
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
    animation: aba-pop-in .42s cubic-bezier(.17, .84, .44, 1.35) both;
}

.aba-home .aba-actions {
    margin-top: 40px;
}

.aba-home .aba-actions .aba-btn:hover,
.aba-home .aba-actions .aba-btn:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(172,33,83,.16);
}

.aba-home .aba-actions .aba-btn.primary:hover,
.aba-home .aba-actions .aba-btn.primary:focus-visible {
    background: var(--aba-red);
    border-color: var(--aba-red);
    color: #ffffff;
}

.aba-home .aba-actions .aba-btn.ghost:hover,
.aba-home .aba-actions .aba-btn.ghost:focus-visible {
    background: var(--aba-blue);
    border-color: var(--aba-blue);
    color: #ffffff;
}

.aba-home .aba-actions .aba-btn:active {
    transform: translateY(0);
    box-shadow: 0 6px 14px rgba(172,33,83,.12);
}

.aba-home .aba-actions .aba-btn:nth-child(1) {
    animation-delay: .18s;
}

.aba-home .aba-actions .aba-btn:nth-child(2) {
    animation-delay: .3s;
}

.aba-home .aba-actions .aba-btn:nth-child(3) {
    animation-delay: .42s;
}

.aba-home .aba-actions .aba-btn:nth-child(4) {
    animation-delay: .54s;
}

.aba-home .aba-actions .aba-btn:nth-child(5) {
    animation-delay: .66s;
}

.aba-strategies-embed-body {
    min-height: 100vh;
    margin: 0;
    background: var(--aba-bg);
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
}

.aba-board-strategies-page {
    min-height: 70vh;
    padding: 74px 18px 96px;
    background: var(--aba-bg);
}

.aba-board-strategies-embed {
    padding: 0;
}

.aba-board-strategies-shell {
    width: min(1380px, 100%);
    margin: 0 auto;
    display: grid;
    gap: 24px;
}

.aba-board-strategies-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.aba-board-strategies-heading h1 {
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(42px, 5.5vw, 72px);
    line-height: .96;
}

.aba-board-strategies-heading p {
    max-width: 760px;
    margin: 18px 0 0;
    color: var(--aba-muted);
    font-size: 20px;
    line-height: 1.45;
}

.aba-strategy-scoreboard {
    display: grid;
    grid-template-columns: 1.15fr 1fr .8fr .78fr;
    gap: 14px;
}

.aba-strategy-scoreboard article {
    min-height: 176px;
    padding: 24px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(172,33,83,.06);
}

.aba-strategy-scoreboard article > span {
    display: block;
    color: var(--aba-red);
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
}

.aba-strategy-scoreboard article > strong {
    display: block;
    margin-top: 8px;
    color: var(--aba-blue);
    font-size: clamp(42px, 6vw, 72px);
    line-height: .9;
}

.aba-strategy-scoreboard p {
    margin: 12px 0 0;
    color: var(--aba-muted);
    font-size: 17px;
    line-height: 1.35;
}

.aba-strategy-readiness-card {
    background: linear-gradient(135deg, #ffffff 0%, #f5ebdd 100%) !important;
}

.aba-strategy-meter {
    height: 12px;
    margin: 18px 0 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #f5ebdd;
}

.aba-strategy-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--aba-red), var(--aba-blue));
}

.aba-strategy-system-strip {
    padding: 22px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(172,33,83,.06);
}

.aba-strategy-system-strip h2 {
    margin: 0 0 14px;
    color: var(--aba-blue);
    font-size: 26px;
    text-transform: uppercase;
}

.aba-strategy-system-strip div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.aba-strategy-system-strip span {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    color: var(--aba-blue);
    background: #f5ebdd;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
}

.aba-strategy-system-strip i {
    color: var(--aba-red);
}

.aba-strategy-top-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.aba-strategy-pill-card {
    min-height: 150px;
    padding: 22px;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(172,33,83,.06);
}

.aba-strategy-pill-card > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #ffffff;
    background: var(--aba-red);
    font-size: 20px;
}

.aba-strategy-pill-card strong {
    color: var(--aba-blue);
    font-size: 22px;
    line-height: 1.1;
}

.aba-strategy-pill-card p {
    margin: 8px 0 0;
    color: var(--aba-text);
    font-size: 17px;
    line-height: 1.42;
}

.aba-strategy-study-layout {
    display: grid;
    grid-template-columns: 350px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.aba-strategy-sidebar,
.aba-strategy-content {
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(172,33,83,.06);
}

.aba-strategy-sidebar {
    max-height: calc(100vh - 34px);
    padding: 20px;
    position: sticky;
    top: 18px;
    overflow: auto;
}

.aba-strategy-sidebar h2,
.aba-strategy-sidebar h3 {
    margin: 0 0 14px;
    color: var(--aba-blue);
    font-size: 22px;
    line-height: 1.1;
}

.aba-strategy-sidebar h3 {
    margin-top: 20px;
    font-size: 18px;
    text-transform: uppercase;
}

.aba-strategy-domain-list,
.aba-strategy-task-list {
    display: grid;
    gap: 8px;
}

.aba-strategy-domain-list a,
.aba-strategy-task-list a {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    color: var(--aba-text);
    background: #f5ebdd;
    text-decoration: none;
}

.aba-strategy-domain-list a {
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
}

.aba-strategy-domain-list a > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #ffffff;
    background: var(--aba-blue);
    font-weight: 900;
}

.aba-strategy-domain-list a strong,
.aba-strategy-task-list a strong {
    color: var(--aba-blue);
    font-size: 16px;
}

.aba-strategy-domain-list a em {
    color: var(--aba-muted);
    font-size: 14px;
    font-style: normal;
    font-weight: 800;
}

.aba-strategy-task-list a span {
    color: var(--aba-muted);
    font-size: 14px;
    line-height: 1.2;
}

.aba-strategy-domain-list a.active,
.aba-strategy-task-list a.active {
    border-color: var(--aba-blue);
    background: var(--aba-blue);
}

.aba-strategy-domain-list a.active *,
.aba-strategy-task-list a.active * {
    color: #ffffff;
}

.aba-strategy-domain-list a.active > span {
    color: var(--aba-blue);
    background: #ffffff;
}

.aba-strategy-content {
    padding: 34px;
}

.aba-strategy-content h2 {
    max-width: 940px;
    margin: 8px 0 10px;
    color: var(--aba-blue);
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1;
    text-transform: uppercase;
}

.aba-strategy-content h3 {
    margin: 0 0 12px;
    color: var(--aba-blue);
    font-size: 22px;
    text-transform: uppercase;
}

.aba-strategy-domain-note {
    margin-top: 28px;
    padding: 22px;
    border-left: 4px solid var(--aba-red);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-strategy-personal-card {
    margin-top: 24px;
    padding: 22px;
    border: 1px solid #f5ebdd;
    border-left: 4px solid var(--aba-red);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-strategy-personal-card > div:first-child strong {
    display: block;
    color: var(--aba-blue);
    font-size: 22px;
    text-transform: uppercase;
}

.aba-strategy-personal-card p {
    margin: 8px 0 0;
    color: var(--aba-text);
    font-size: 18px;
    line-height: 1.45;
}

.aba-strategy-personal-stats {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.aba-strategy-personal-stats span {
    padding: 12px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-muted);
    font-size: 14px;
    text-transform: uppercase;
}

.aba-strategy-personal-stats b {
    display: block;
    color: var(--aba-blue);
    font-size: 28px;
    line-height: 1;
}

.aba-strategy-weak-list {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.aba-strategy-weak-list span {
    padding: 8px 10px;
    border-radius: 999px;
    color: var(--aba-red);
    background: #f5ebdd;
    font-size: 14px;
    font-weight: 800;
}

.aba-strategy-domain-note p,
.aba-strategy-board-map li,
.aba-strategy-timing-strip p {
    color: var(--aba-text);
    font-size: 18px;
    line-height: 1.55;
}

.aba-strategy-domain-note p {
    margin: 10px 0 0;
}

.aba-strategy-domain-note strong,
.aba-strategy-board-map strong,
.aba-strategy-timing-strip strong {
    font-weight: 900;
}

.aba-strategy-board-map {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.aba-strategy-board-map section {
    padding: 22px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
}

.aba-strategy-board-map ol,
.aba-strategy-board-map ul {
    margin: 0;
    padding-left: 22px;
}

.aba-strategy-board-map li + li {
    margin-top: 10px;
}

.aba-strategy-timing-strip {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.aba-strategy-timing-strip > div {
    padding: 22px;
    border-radius: 8px;
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-strategy-timing-strip > div:nth-child(2) {
    background: var(--aba-red);
}

.aba-strategy-timing-strip > div > strong {
    display: block;
    color: #ffffff;
    font-size: 22px;
    text-transform: uppercase;
}

.aba-strategy-timing-strip p {
    margin: 8px 0 0;
    color: #ffffff;
}

.aba-my-board-strategies-frame-wrap {
    min-height: 980px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.aba-my-board-strategies-frame {
    width: 100%;
    height: min(1680px, calc(100vh + 940px));
    display: block;
    border: 0;
    background: transparent;
}

.aba-study-route-embed-body {
    min-height: 100vh;
    margin: 0;
    background: transparent;
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
}

.aba-study-route-page {
    min-height: 70vh;
    padding: 74px 18px 96px;
    background: var(--aba-bg);
}

.aba-study-route-embed {
    padding: 0;
    background: transparent;
}

.aba-study-route-shell {
    width: min(1380px, 100%);
    margin: 0 auto;
    display: grid;
    gap: 22px;
}

.aba-study-route-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
}

.aba-study-route-heading h1 {
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(42px, 5.5vw, 72px);
    line-height: .96;
}

.aba-study-route-heading p {
    max-width: 760px;
    margin: 18px 0 0;
    color: var(--aba-muted);
    font-size: 20px;
    line-height: 1.45;
}

.aba-study-time-form {
    min-width: 380px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.aba-study-time-form label {
    cursor: pointer;
}

.aba-study-time-form input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.aba-study-time-form span {
    min-width: 76px;
    min-height: 44px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    color: var(--aba-blue);
    background: #ffffff;
    font-size: 16px;
    font-weight: 800;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.aba-study-time-form input:checked + span,
.aba-study-time-form span:hover {
    border-color: var(--aba-blue);
    color: #ffffff;
    background: var(--aba-blue);
    transform: translateY(-1px);
}

.aba-study-journey,
.aba-study-active-card,
.aba-study-correction-card,
.aba-study-weeks article {
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(172,33,83,.06);
}

.aba-study-journey {
    padding: 26px;
}

.aba-study-map-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--aba-blue);
    font-size: 17px;
    font-weight: 800;
    text-transform: uppercase;
}

.aba-study-map-header strong {
    color: var(--aba-red);
}

.aba-study-map {
    min-height: 230px;
    margin-top: 26px;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background:
        radial-gradient(circle at 12% 76%, rgba(172,33,83,.1), transparent 24%),
        radial-gradient(circle at 84% 25%, rgba(172,33,83,.12), transparent 28%),
        linear-gradient(135deg, #f5ebdd 0%, #f5ebdd 100%);
}

.aba-study-map-path {
    position: absolute;
    left: 44px;
    right: 44px;
    top: 52%;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--aba-blue), var(--aba-red));
    opacity: .16;
}

.aba-study-avatar-runner {
    position: absolute;
    left: var(--student-step);
    top: calc(52% - 64px);
    z-index: 4;
    width: 58px;
    height: 58px;
    transform: translateX(-50%);
}

.aba-study-avatar-runner::after {
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 2px solid rgba(172,33,83,.26);
    animation: aba-study-pulse 1.8s ease-in-out infinite;
}

.aba-study-avatar-runner .aba-profile-avatar {
    width: 58px;
    height: 58px;
    position: relative;
    z-index: 1;
    border: 3px solid #ffffff;
    box-shadow: 0 10px 24px rgba(172,33,83,.2);
}

.aba-study-node {
    position: absolute;
    left: var(--node-left);
    top: 52%;
    z-index: 2;
    width: 64px;
    min-height: 72px;
    display: grid;
    justify-items: center;
    gap: 5px;
    transform: translate(-50%, -50%);
}

.aba-study-node span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 3px solid #ffffff;
    border-radius: 50%;
    color: #ffffff;
    background: #f5ebdd;
    box-shadow: 0 9px 20px rgba(172,33,83,.12);
    font-size: 16px;
    font-weight: 900;
}

.aba-study-node strong {
    padding: 3px 8px;
    border-radius: 999px;
    color: var(--aba-blue);
    background: rgba(255,255,255,.9);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.aba-study-node.is-mastered span {
    background: var(--aba-blue);
}

.aba-study-node.is-repeat span {
    background: var(--aba-red);
}

.aba-study-node.is-available span {
    background: #ffffff;
    color: var(--aba-red);
    border-color: var(--aba-red);
}

.aba-study-legend {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.aba-study-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--aba-muted);
    font-size: 15px;
    font-weight: 700;
}

.aba-study-legend b {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #f5ebdd;
}

.aba-study-legend b.is-mastered {
    background: var(--aba-blue);
}

.aba-study-legend b.is-repeat {
    background: var(--aba-red);
}

.aba-study-active-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
    gap: 18px;
}

.aba-study-active-card,
.aba-study-correction-card {
    padding: 28px;
}

.aba-study-active-card h2,
.aba-study-correction-card h2 {
    margin: 0 0 12px;
    color: var(--aba-blue);
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1;
    text-transform: uppercase;
}

.aba-study-active-card p,
.aba-study-correction-card p {
    margin: 0;
    color: var(--aba-text);
    font-size: 18px;
    line-height: 1.5;
}

.aba-study-active-card .aba-study-mastery-note {
    margin-top: 12px;
    padding: 12px 14px;
    border-left: 4px solid var(--aba-red);
    border-radius: 8px;
    color: var(--aba-blue);
    background: #f5ebdd;
    font-weight: 700;
}

.aba-study-domain-status {
    margin-top: 22px;
    padding: 18px;
    border-left: 4px solid var(--aba-red);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-study-domain-status > strong {
    display: block;
    margin-bottom: 10px;
    color: var(--aba-blue);
    font-size: 20px;
    text-transform: uppercase;
}

.aba-study-actions {
    margin-top: 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.aba-study-correction-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0;
}

.aba-study-correction-steps span {
    min-height: 58px;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    color: var(--aba-blue);
    background: #f5ebdd;
    font-size: 16px;
    font-weight: 800;
}

.aba-study-correction-steps i {
    color: var(--aba-red);
}

.aba-study-weeks {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.aba-study-weeks article {
    padding: 20px;
}

.aba-study-weeks strong {
    display: block;
    color: var(--aba-red);
    font-size: 18px;
    text-transform: uppercase;
}

.aba-study-weeks p {
    margin: 8px 0 0;
    color: var(--aba-text);
    font-size: 16px;
    line-height: 1.35;
}

.aba-my-study-route-frame-wrap {
    min-height: 3900px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.aba-my-study-route-frame {
    width: 100%;
    height: min(4100px, calc(100vh + 3300px));
    display: block;
    border: 0;
    background: transparent;
}

@keyframes aba-study-pulse {
    0%,
    100% {
        opacity: .45;
        transform: scale(.92);
    }
    50% {
        opacity: .08;
        transform: scale(1.2);
    }
}

@media (max-width: 980px) {
    .aba-strategy-scoreboard,
    .aba-strategy-system-strip div,
    .aba-strategy-personal-stats,
    .aba-strategy-top-grid,
    .aba-strategy-study-layout,
    .aba-strategy-board-map,
    .aba-strategy-timing-strip,
    .aba-study-active-grid,
    .aba-study-weeks {
        grid-template-columns: 1fr;
    }

    .aba-strategy-sidebar {
        position: static;
        max-height: none;
    }

    .aba-study-route-heading {
        display: grid;
    }

    .aba-study-time-form {
        min-width: 0;
        justify-content: flex-start;
    }

    .aba-study-map {
        min-height: 420px;
    }

    .aba-study-map-path {
        top: 28px;
        bottom: 28px;
        left: 50%;
        right: auto;
        width: 8px;
        height: auto;
    }

    .aba-study-node {
        left: 50%;
        top: var(--node-left);
    }

    .aba-study-avatar-runner {
        left: 50%;
        top: var(--student-step);
    }
}

@keyframes aba-slide-in-left {
    from {
        opacity: 0;
        transform: translateX(-34px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes aba-pop-in {
    from {
        opacity: 0;
        transform: translateY(14px) scale(.92);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.aba-starter-quiz-page {
    min-height: 70vh;
    padding: 88px 0 96px;
    background: var(--aba-bg);
}

.aba-starter-quiz-shell {
    display: grid;
    gap: 28px;
}

.aba-starter-quiz-shell .aba-admin-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}

.aba-starter-home-btn {
    margin-left: auto;
    background: var(--aba-red);
    border-color: var(--aba-red);
    color: #ffffff;
}

.aba-starter-home-btn:hover,
.aba-starter-home-btn:focus-visible {
    background: var(--aba-blue);
    border-color: var(--aba-blue);
    color: #ffffff;
}

.aba-starter-empty,
.aba-starter-result-card,
.aba-starter-plans,
.aba-starter-question {
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(172,33,83,.06);
}

.aba-starter-empty {
    padding: 28px;
    color: var(--aba-muted);
    font-size: 18px;
}

.aba-starter-quiz-form {
    display: grid;
    gap: 18px;
}

.aba-starter-question {
    padding: 26px;
}

.aba-starter-question-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.aba-starter-question-top span {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--aba-blue);
    color: #ffffff;
    font-weight: 900;
}

.aba-starter-question-top small {
    color: var(--aba-red);
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
}

.aba-starter-question h2 {
    margin: 0 0 18px;
    color: var(--aba-text);
    font-size: 23px;
    line-height: 1.32;
}

.aba-starter-options {
    display: grid;
    gap: 12px;
}

.aba-starter-options label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-height: 58px;
    padding: 16px 18px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #f5ebdd;
    color: var(--aba-text);
    font-size: 18px;
    line-height: 1.38;
    cursor: pointer;
}

.aba-starter-options input {
    margin-top: 4px;
}

.aba-starter-submit {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.aba-starter-result-card {
    padding: 30px;
}

.aba-starter-result-card h2 {
    margin: 4px 0 6px;
    color: var(--aba-blue);
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1;
}

.aba-starter-result-card h3 {
    margin: 0 0 12px;
    color: var(--aba-text);
    font-size: 26px;
}

.aba-starter-result-card p {
    max-width: 840px;
    margin: 0;
    color: var(--aba-muted);
    font-size: 18px;
    line-height: 1.55;
}

.aba-starter-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.aba-starter-domain-results {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}

.aba-starter-domain-results article {
    padding: 14px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-starter-domain-results strong,
.aba-starter-domain-results span {
    display: block;
}

.aba-starter-domain-results strong {
    color: var(--aba-blue);
    font-size: 15px;
    font-weight: 900;
}

.aba-starter-domain-results span {
    margin-top: 6px;
    color: var(--aba-red);
    font-size: 22px;
    font-weight: 900;
}

.aba-starter-domain-results div {
    height: 8px;
    margin-top: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #f5ebdd;
}

.aba-starter-domain-results i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--aba-blue);
}

.aba-starter-plans {
    padding: 28px;
}

.aba-starter-plans h2 {
    margin: 0 0 18px;
    color: var(--aba-blue);
    font-size: 28px;
}

.aba-starter-plan-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.aba-starter-plan-card {
    min-height: 150px;
    padding: 18px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #f5ebdd;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
}

.aba-starter-plan-card strong,
.aba-starter-plan-card span {
    display: block;
    color: var(--aba-blue);
    font-weight: 900;
}

.aba-starter-plan-card strong {
    font-size: 20px;
}

.aba-starter-plan-card span {
    margin-top: 8px;
    color: var(--aba-red);
    font-size: 28px;
}

.aba-starter-plan-card p {
    margin: 10px 0 0;
    color: var(--aba-muted);
    font-size: 15px;
    line-height: 1.35;
}

.aba-starter-plan-card .aba-btn {
    width: 100%;
}

.aba-plans-page {
    background: #f5ebdd;
    padding: 86px 0 96px;
}

.aba-plans-shell {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.aba-membership-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 42px;
}

.aba-membership-plan-card {
    position: relative;
    min-height: 260px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    border: 1px solid var(--aba-border);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(172,33,83,.08);
}

.aba-membership-plan-card strong,
.aba-membership-plan-card span {
    display: block;
    font-weight: 900;
}

.aba-membership-plan-card strong {
    color: var(--aba-blue);
    font-size: 24px;
}

.aba-membership-plan-card span {
    margin-top: 10px;
    color: var(--aba-red);
    font-size: 40px;
    line-height: 1;
}

.aba-membership-plan-card p {
    min-height: 64px;
    margin: 16px 0 0;
    color: var(--aba-muted);
    font-size: 16px;
    line-height: 1.45;
}

.aba-membership-plan-card .aba-btn {
    width: 100%;
}

.aba-membership-plan-card ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:9px;color:#ac2153}
.aba-membership-plan-card li{position:relative;padding-left:17px;font-size:15px;line-height:1.4}.aba-membership-plan-card li>span{position:absolute;left:0;top:.02em;margin:0;color:#ac2153;font-size:20px;line-height:1}.aba-membership-plan-card span small{font-size:14px;color:#ac2153}
.aba-membership-plan-card.is-featured{transform:translateY(-10px);border:2px solid #ac2153;background:linear-gradient(180deg,#f5ebdd,#ffffff 42%);box-shadow:0 24px 55px rgba(172,33,83,.2)}
.aba-membership-plan-card.is-featured:before{content:"MÁS ELEGIDO";position:absolute;top:-15px;left:50%;transform:translateX(-50%);padding:7px 17px;border-radius:999px;background:#ac2153;color:#ffffff;font-size:11px;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.aba-plans-shell>.aba-admin-heading p{max-width:700px;margin:14px 0 0;color:#ac2153;font-size:17px;line-height:1.55}
.aba-plan-upgrade-note{display:grid;gap:5px;margin:18px 0 0;padding:13px;border:1px solid #f5ebdd;border-radius:12px;background:#f5ebdd}.aba-plan-upgrade-note b{color:#ac2153}.aba-plan-upgrade-note span{margin:0;color:#ac2153;font-size:20px}.aba-plan-upgrade-note small{color:#ac2153;line-height:1.4}
.aba-membership-payment-modal{position:fixed;inset:0;z-index:10020;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(172,33,83,.72);backdrop-filter:blur(3px)}
.aba-membership-payment-modal[aria-hidden="false"]{display:flex}.aba-membership-payment-panel{position:relative;width:min(680px,100%);height:min(780px,calc(100vh - 36px));overflow:hidden;background:#f5ebdd;border-radius:20px;box-shadow:0 28px 80px rgba(172,33,83,.38)}
.aba-membership-payment-panel iframe{width:100%;height:100%;border:0}.aba-membership-payment-close{position:absolute;z-index:2;right:10px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:#ac2153;color:#ffffff;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 5px 15px rgba(172,33,83,.2)}
body.membership-payment-open{overflow:hidden}
@media(max-width:640px){.aba-membership-payment-modal{padding:0}.aba-membership-payment-panel{width:100%;height:100%;border-radius:0}.aba-membership-plan-grid{grid-template-columns:1fr}}

@media (max-width: 1100px) {
    .aba-starter-plan-grid,
    .aba-membership-plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .aba-starter-quiz-page {
        padding: 44px 0 64px;
    }

    .aba-starter-question,
    .aba-starter-result-card,
    .aba-starter-plans {
        padding: 18px;
    }

    .aba-starter-question h2 {
        font-size: 20px;
    }

    .aba-starter-options label {
        font-size: 16px;
    }

    .aba-starter-plan-grid,
    .aba-membership-plan-grid {
        grid-template-columns: 1fr;
    }

    .aba-plans-page {
        padding: 44px 0 64px;
    }

    .aba-starter-domain-results {
        grid-template-columns: 1fr;
    }

    .aba-home .aba-hero p span,
    .aba-hero h1 {
        white-space: normal;
    }
}

.aba-hero p,
.aba-auth-card p {
    max-width: 590px;
    margin: 20px 0 0;
    color: var(--aba-muted);
    font-size: 18px;
    line-height: 1.55;
}

.aba-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.aba-btn,
.aba-auth-form button {
    min-height: 46px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--aba-blue);
    border-radius: 8px;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.aba-btn.primary,
.aba-auth-form button {
    background: var(--aba-blue);
    color: var(--aba-white);
}

.aba-btn.ghost {
    background: var(--aba-white);
    color: var(--aba-blue);
}

.aba-preview-card,
.aba-auth-card {
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: var(--aba-white);
    box-shadow: 0 12px 30px rgba(172,33,83,.08);
}

.aba-preview-card {
    padding: 26px;
}

.aba-hero-bull {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(46vw, 690px);
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    pointer-events: none;
    overflow: hidden;
}

.aba-hero-bull img {
    width: auto;
    max-width: none;
    height: 100%;
    max-height: none;
    display: block;
    object-fit: contain;
    object-position: right center;
    filter: drop-shadow(0 24px 30px rgba(172,33,83,.16));
    animation: abaBullSlideIn 1.35s cubic-bezier(.18, .82, .24, 1) both;
    will-change: transform, opacity;
}

@keyframes abaBullSlideIn {
    from {
        opacity: 0;
        transform: translateX(160px) scale(1.02);
    }
    to {
        opacity: 1;
        transform: translateX(0) scale(1.02);
    }
}

.aba-preview-avatar {
    width: 128px;
    height: 128px;
    margin: 0 auto 22px;
    border-radius: 50%;
    background:
        linear-gradient(135deg, rgba(172,33,83,.92), rgba(172,33,83,.88)),
        var(--aba-blue);
}

.aba-preview-card h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
}

.aba-preview-card p {
    margin: 12px 0 18px;
    color: var(--aba-muted);
    line-height: 1.45;
}

.aba-preview-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--aba-border);
    padding-top: 14px;
    text-align: center;
}

.aba-preview-stats span + span {
    border-left: 1px solid var(--aba-border);
}

.aba-preview-stats strong {
    display: block;
    font-size: 18px;
}

.aba-preview-stats span {
    color: var(--aba-muted);
    font-size: 12px;
}

.aba-auth-page {
    display: grid;
    place-items: center;
    padding: 70px 0;
}

.aba-auth-card {
    width: min(860px, 100%);
    padding: 38px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 34px;
}

.aba-auth-card.single {
    grid-template-columns: 1fr;
    max-width: 620px;
}

.aba-auth-card h1 {
    font-size: clamp(36px, 5vw, 56px);
}

.aba-auth-form {
    display: grid;
    gap: 16px;
}

.aba-auth-form label {
    display: grid;
    gap: 7px;
}

.aba-auth-form span {
    color: #ac2153;
    font-size: 13px;
    font-weight: 800;
}

.aba-auth-form input,
.aba-auth-form select {
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    padding: 0 12px;
    font: inherit;
}

.aba-alert {
    margin-bottom: 14px;
    padding: 12px 14px;
    border-radius: 8px;
    font-weight: 700;
}

.aba-alert.error {
    color: #ac2153;
    background: #f5ebdd;
}

.aba-alert.success {
    color: #ac2153;
    background: #f5ebdd;
}

.aba-alert.warning {
    color: #ac2153;
    background: #f5ebdd;
    border: 1px solid #f5ebdd;
}

.aba-section-heading-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
}

.aba-price-pill {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0 18px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-blue);
    font-size: 22px;
    box-shadow: 0 10px 24px rgba(172,33,83,.08);
}

.aba-form-links {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.aba-form-link,
.aba-form-links a {
    color: var(--aba-blue);
    font-weight: 800;
    text-decoration: none;
}

.aba-profile-page {
    width: min(var(--aba-shell-width), calc(100% - var(--aba-shell-gutter)));
    margin: 0 auto;
    flex: 1;
    padding: 46px 0;
}

.aba-profile-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
    align-items: start;
}

.aba-profile-card,
.aba-panel,
.aba-admin-hero {
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(172,33,83,.08);
}

.aba-profile-card {
    grid-column: 2;
    grid-row: 1;
    padding: 26px;
    text-align: center;
}

.aba-profile-feed {
    grid-column: 1;
    grid-row: 1;
    display: grid;
    gap: 18px;
    width: min(100%, 860px);
    justify-self: center;
}

.aba-profile-avatar {
    width: 150px;
    height: 150px;
    margin: 0 auto 18px;
    display: grid;
    place-items: center;
    position: relative;
    overflow: visible;
    border-radius: 50%;
    color: #ffffff;
    background: linear-gradient(135deg, var(--aba-blue), var(--aba-red));
    font-size: 48px;
    font-weight: 900;
}

.aba-profile-avatar.large {
    width: 210px;
    height: 210px;
    font-size: 64px;
}

.aba-my-dashboard {
    width: 100%;
    margin: 0;
    flex: 1;
    padding: 0 12px 0 0;
}

.aba-my-shell {
    min-height: 0;
    display: grid;
    grid-template-columns: 304px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.aba-my-service-rail {
    position: sticky;
    top: 0;
    align-self: start;
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 28px 14px 22px;
    overflow: auto;
    border-radius: 0;
    color: #ffffff;
    background: var(--aba-blue);
    box-shadow: 0 18px 40px rgba(172,33,83,.18);
}

.aba-my-student-mini {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 2px 12px;
    align-items: center;
    padding: 10px 4px 16px;
    margin-bottom: 14px;
    border-bottom: 1px solid rgba(255,255,255,.2);
}

.aba-my-student-avatar {
    position: relative;
    grid-row: span 2;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 2px solid rgba(255,255,255,.55);
    border-radius: 50%;
    background: #ffffff;
}

.aba-my-student-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aba-my-student-avatar .aba-avatar-core,
.aba-my-student-avatar .aba-avatar-photo,
.aba-my-student-avatar .aba-avatar-initials {
    width: 100%;
    height: 100%;
}

.aba-my-student-avatar .aba-avatar-frame {
    inset: -10%;
    width: 120%;
    height: 120%;
}

.aba-my-student-mini strong,
.aba-my-student-mini span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aba-my-student-mini strong {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.05;
    text-transform: uppercase;
}

.aba-my-student-mini span {
    color: rgba(255,255,255,.75);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.05;
}

.aba-my-service-rail nav {
    display: grid;
    gap: 7px;
}

.aba-my-service-rail nav a {
    min-height: 48px;
    padding: 8px 9px;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: rgba(255,255,255,.86);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.15;
}

.aba-my-service-rail nav a i {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--aba-blue);
    background: #ffffff;
}

.aba-my-service-rail nav a i svg {
    stroke-width: 1.8;
}

.aba-my-service-rail nav a:hover,
.aba-my-service-rail nav a:focus,
.aba-my-service-rail nav a.active {
    color: #ffffff;
    border-color: rgba(255,255,255,.26);
    background: rgba(255,255,255,.13);
}

.aba-my-service-rail nav a.active i {
    color: #ffffff;
    background: var(--aba-red);
}

.aba-my-service-divider {
    display: block;
    height: 1px;
    margin: 5px 2px 7px;
    background: rgba(255,255,255,.18);
}

.aba-my-main-panel {
    min-width: 0;
    display: grid;
    gap: 20px;
    padding-top: 14px;
}

.aba-my-hero {
    min-height: 160px;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border: 1px solid var(--aba-border);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(172,33,83,.1);
}

.aba-my-hero h1 {
    max-width: 760px;
    margin: 6px 0 8px;
    color: var(--aba-blue);
    font-size: clamp(34px, 4vw, 54px);
    line-height: .98;
}

.aba-my-hero p {
    max-width: 680px;
    margin: 0;
    color: var(--aba-muted);
    font-size: 17px;
    line-height: 1.55;
}

.aba-my-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    gap: 20px;
    align-items: start;
}

.aba-my-focus-card {
    min-height: 260px;
    padding: 28px;
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.aba-my-focus-icon {
    width: 74px;
    height: 74px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #ffffff;
    background: var(--aba-red);
    font-size: 30px;
}

.aba-my-focus-card h2,
.aba-my-progress-card h2,
.aba-my-course-card h2,
.aba-my-board-card h2 {
    margin: 0 0 10px;
    color: var(--aba-blue);
}

.aba-my-focus-card p {
    max-width: 620px;
    color: var(--aba-muted);
    font-size: 17px;
    line-height: 1.6;
}

.aba-my-stat-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0;
}

.aba-my-stat-row span {
    min-height: 82px;
    padding: 14px;
    display: grid;
    align-content: center;
    gap: 4px;
    border-radius: 10px;
    color: var(--aba-muted);
    background: #f5ebdd;
    font-size: 12px;
    font-weight: 800;
}

.aba-my-stat-row strong {
    color: var(--aba-blue);
    font-size: 24px;
    line-height: 1;
}

.aba-my-course-card,
.aba-my-board-card,
.aba-my-progress-card {
    padding: 24px;
}

.aba-my-dominando-frame-wrap {
    min-height: 900px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.aba-my-dominando-frame {
    width: 100%;
    height: min(1320px, calc(100vh + 560px));
    display: block;
    border: 0;
    background: transparent;
}

.aba-classroom-embed-body {
    min-height: 100vh;
    margin: 0;
    background: transparent;
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
}

.aba-classroom-embed {
    width: 100%;
    margin: 0;
    padding: 0 0 18px;
}

.aba-classroom-embed.aba-lesson-page {
    width: 100%;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 30px;
}

.aba-classroom-embed .aba-lesson-sidebar {
    position: sticky;
    top: 0;
    border-radius: 12px;
}

.aba-classroom-embed .aba-back-link {
    display: none !important;
}

.aba-classroom-embed .aba-lesson-card {
    padding: 34px;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(172,33,83,.08);
}

.aba-classroom-embed .aba-rich-content {
    font-size: inherit;
}

.aba-my-lab-frame-wrap {
    min-height: 900px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.aba-my-abalive-frame-wrap {
    min-height: 900px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.aba-my-mentoring-frame-wrap,
.aba-my-one-on-one-frame-wrap {
    min-height: 900px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.aba-my-abalive-frame {
    width: 100%;
    height: min(1180px, calc(100vh + 430px));
    display: block;
    border: 0;
    background: transparent;
}

.aba-my-mentoring-frame,
.aba-my-one-on-one-frame {
    width: 100%;
    height: min(1320px, calc(100vh + 560px));
    display: block;
    border: 0;
    background: transparent;
}

.aba-my-lab-frame {
    width: 100%;
    height: min(1280px, calc(100vh + 520px));
    display: block;
    border: 0;
    background: transparent;
}

.aba-lab-embed-body {
    min-height: 100vh;
    margin: 0;
    background: transparent;
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
}

.aba-learning-lab-embed .aba-board-shell {
    width: 100%;
    margin: 0;
    padding: 0;
}

.aba-learning-lab-embed .aba-board-card {
    border-radius: 8px;
}

.aba-my-domain-frame-wrap,
.aba-my-mock-frame-wrap,
.aba-my-flashcards-frame-wrap,
.aba-my-glossary-frame-wrap,
.aba-my-videoteca-frame-wrap,
.aba-my-community-frame-wrap {
    min-height: 900px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.aba-my-domain-frame,
.aba-my-mock-frame,
.aba-my-flashcards-frame,
.aba-my-glossary-frame,
.aba-my-videoteca-frame,
.aba-my-community-frame {
    width: 100%;
    height: min(1280px, calc(100vh + 520px));
    display: block;
    border: 0;
    background: transparent;
}

[data-my-embed-frame] {
    transition: opacity .16s ease;
}

[data-my-embed-frame].is-language-switching {
    opacity: .72;
    pointer-events: none;
}

.aba-my-community-frame-wrap {
    width: 100%;
    max-width: 100%;
    min-height: 760px;
    overflow-x: hidden;
}

.aba-my-community-frame {
    max-width: 100%;
    height: min(780px, calc(100vh - 110px));
    min-height: 700px;
    overflow: hidden;
}

.aba-domain-embed-body,
.aba-mock-embed-body,
.aba-flashcards-embed-body,
.aba-glossary-embed-body,
.aba-chat-embed-body {
    min-height: 100vh;
    width: 100%;
    max-width: 100vw;
    margin: 0;
    background: transparent;
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 400;
    overflow-x: hidden;
}

.aba-domain-practice-embed .aba-board-shell,
.aba-mock-embed .aba-board-shell {
    width: 100%;
    margin: 0;
    padding: 0;
}

.aba-domain-practice-embed .aba-board-card,
.aba-mock-embed .aba-board-card {
    border-radius: 8px;
}

.aba-flashcards-embed {
    margin: 0;
    padding: 0;
}

.aba-flashcards-embed .aba-admin-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.aba-flashcards-embed .aba-flashcard-study-layout {
    gap: 28px;
    grid-template-columns: 300px minmax(0, 1fr);
}

.aba-flashcards-embed .aba-flashcard-viewer-panel {
    min-height: 720px;
}

.aba-flashcards-embed .aba-flashcard-stage {
    min-height: 620px;
}

.aba-flashcards-embed .aba-flashcard-deck {
    min-height: 590px;
}

.aba-glossary-embed {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 28px;
}

.aba-glossary-embed .aba-glossary-heading {
    max-width: none;
    margin: 0 0 24px;
    padding: 0;
    display: grid;
    justify-content: start;
}

.aba-glossary-embed .aba-glossary-heading .aba-kicker {
    display: none;
}

.aba-glossary-embed .aba-glossary-heading h1 {
    position: relative;
    margin: 0 0 28px;
    color: var(--aba-blue);
    font-size: clamp(48px, 5.8vw, 76px);
    font-weight: 800;
    line-height: .95;
}

.aba-glossary-embed .aba-glossary-heading h1::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -16px;
    width: 76px;
    height: 5px;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-glossary-embed .aba-glossary-heading p {
    margin: 0;
    color: #ac2153;
    font-size: 17px;
}

.aba-glossary-embed .aba-glossary-tools {
    padding: 24px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(172,33,83,.08);
}

.aba-glossary-embed .aba-glossary-search input {
    min-width: min(420px, 100%);
    min-height: 48px;
}

.aba-glossary-embed .aba-glossary-list {
    gap: 22px;
}

.aba-glossary-embed .aba-glossary-term {
    padding: 28px;
    border-radius: 10px;
}

.aba-profile-avatar.large:has(.aba-avatar-frame) {
    width: 178px;
    height: 178px;
    margin-top: 18px;
    margin-bottom: 30px;
}

.aba-profile-avatar.small {
    width: 58px;
    height: 58px;
    margin: 0;
    font-size: 20px;
}

.aba-avatar-core {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 999px;
    background: inherit;
}

.aba-profile-avatar .aba-avatar-core-framed {
    position: absolute;
    inset: -10%;
    z-index: 1;
    width: auto;
    height: auto;
}

.aba-profile-avatar .aba-avatar-photo,
.aba-profile-avatar .aba-avatar-initials {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    border-radius: 50%;
    object-fit: cover;
    overflow: hidden;
}

.aba-profile-avatar .aba-avatar-photo-default,
.aba-chat-avatar .aba-avatar-photo-default,
.aba-community-avatar .aba-avatar-photo-default {
    object-fit: cover;
    object-position: center;
    background: #ffffff;
}

.aba-profile-avatar.large .aba-avatar-photo-default {
    width: 78%;
    height: 78%;
    object-fit: contain;
}

.aba-avatar-frame {
    position: absolute;
    inset: -10%;
    z-index: 2;
    width: 120%;
    height: 120%;
    object-fit: contain;
    border-radius: 999px;
    clip-path: circle(50% at 50% 50%);
    overflow: hidden;
    pointer-events: none;
}

.aba-profile-card h1,
.aba-admin-hero h1 {
    margin: 0;
    font-size: 30px;
    font-weight: 900;
}

.aba-handle {
    margin: 4px 0 12px;
    color: var(--aba-muted);
    font-weight: 700;
}

.aba-profile-meta {
    display: grid;
    gap: 8px;
    margin: 18px 0;
    color: var(--aba-muted);
    font-weight: 700;
}

.aba-profile-card-right {
    border-radius: 8px;
}

.aba-profile-title,
.aba-location {
    margin: 6px 0;
    color: var(--aba-text);
    font-size: 18px;
}

.aba-profile-bio {
    margin: 8px 0 0;
    color: var(--aba-text);
    font-size: 16px;
    line-height: 1.35;
}

.aba-profile-lines {
    margin: 20px 0 0;
    padding: 18px 0;
    display: grid;
    gap: 12px;
    border-top: 1px solid var(--aba-border);
    border-bottom: 1px solid var(--aba-border);
    text-align: left;
}

.aba-profile-lines div {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
}

.aba-profile-lines i {
    width: 18px;
    color: #ac2153;
    text-align: center;
}

.online-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #ac2153;
}

.online-dot.active {
    background: #fb76a4;
}

.aba-profile-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 0 18px;
    padding: 12px 0;
    border-bottom: 1px solid var(--aba-border);
    text-align: center;
}

.aba-profile-stats span + span {
    border-left: 1px solid var(--aba-border);
}

.aba-profile-stats strong {
    display: block;
    color: var(--aba-text);
    font-size: 20px;
}

.aba-profile-stats span {
    color: var(--aba-muted);
    font-size: 13px;
}

.aba-profile-xp-panel {
    display: grid;
    gap: 14px;
}

.aba-profile-xp-panel h2 {
    margin: 0 0 4px;
}

.aba-profile-level-progress {
    height: 18px;
    margin-top: 0;
}

.aba-rank-pill {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-blue);
    white-space: nowrap;
}

.aba-profile-gamification-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.aba-profile-gamification-stats span {
    padding: 12px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    color: var(--aba-muted);
    background: #f5ebdd;
    text-align: center;
}

.aba-profile-gamification-stats strong {
    display: block;
    color: var(--aba-blue);
    font-size: 22px;
}

.aba-profile-xp-events {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.aba-profile-xp-events article {
    display: grid;
    grid-template-columns: 34px 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-profile-xp-events i,
.aba-profile-xp-events img {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-blue);
    object-fit: cover;
}

.aba-profile-xp-events strong,
.aba-profile-xp-events span,
.aba-profile-xp-events small {
    display: block;
}

.aba-profile-xp-events span,
.aba-profile-xp-events small {
    color: var(--aba-muted);
}

.aba-profile-xp-events small {
    text-align: right;
}

.aba-profile-course-list {
    display: grid;
    gap: 12px;
}

.aba-profile-course-list a {
    display: grid;
    gap: 4px;
    padding: 14px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    color: inherit;
    background: #f5ebdd;
    text-decoration: none;
}

.aba-profile-course-list a > span {
    color: var(--aba-muted);
}

.aba-edit-button {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--aba-border);
    border-radius: 6px;
    color: #ac2153;
    background: #ffffff;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
}

.aba-settings-page {
    width: min(var(--aba-shell-width), calc(100% - var(--aba-shell-gutter)));
    margin: 0 auto;
    flex: 1;
    padding: 36px 0 70px;
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.aba-settings-nav {
    display: grid;
    gap: 4px;
    padding-top: 10px;
}

.aba-settings-nav a {
    padding: 14px 16px;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid var(--aba-blue);
    color: var(--aba-text);
    background: #ffffff;
    font-weight: 400;
    text-decoration: none;
}

.aba-settings-nav a.active,
.aba-settings-nav a:hover {
    border-color: #ac2153;
    color: #ffffff;
    background: #ac2153;
}

.aba-settings-card {
    padding: 34px;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(172,33,83,.08);
}

.aba-settings-card h1 {
    margin: 0 0 28px;
    font-size: 30px;
}

.aba-settings-section-title {
    margin: 8px 0 0;
    font-size: 20px;
    color: var(--aba-text);
}

.aba-settings-form {
    display: grid;
    gap: 22px;
}

.aba-settings-card > .aba-settings-tab {
    display: none !important;
}

.aba-settings-card > .aba-settings-tab.active {
    display: grid !important;
    gap: 22px;
}

.aba-photo-row {
    display: flex;
    align-items: center;
    gap: 18px;
}

.aba-photo-actions {
    display: grid;
    gap: 8px;
}

.aba-admin-avatar-editor{display:grid;gap:14px;padding:20px;border:1px solid #f5ebdd;border-radius:14px;background:#f5ebdd}.aba-admin-avatar-editor p{margin:4px 0 0;color:#fb76a4}.aba-admin-avatar-upload{display:grid;gap:7px;max-width:520px}.aba-admin-avatar-upload input{padding:11px;border:1px solid #f5ebdd;border-radius:9px;background:#ffffff}.aba-admin-avatar-upload small{color:#ac2153}.aba-admin-avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px;max-height:310px;overflow:auto;padding:4px}.aba-admin-avatar-option{position:relative;display:grid!important;justify-items:center;gap:5px;padding:8px!important;border:2px solid transparent;border-radius:12px;background:#ffffff;cursor:pointer}.aba-admin-avatar-option input{position:absolute;opacity:0;pointer-events:none}.aba-admin-avatar-option:has(input:checked){border-color:#ac2153;box-shadow:0 0 0 3px rgba(172,33,83,.1)}.aba-admin-avatar-thumb{width:54px;height:54px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#ac2153,#ac2153);color:#ffffff;font-weight:900}.aba-admin-avatar-thumb img{width:100%;height:100%;object-fit:cover}.aba-admin-avatar-option small{font-size:11px;color:#ac2153}

.aba-upload-link {
    color: #ac2153;
    font-weight: 900;
    cursor: pointer;
}

.aba-upload-link input {
    display: none;
}

.aba-remove-photo {
    display: inline-flex !important;
    align-items: center;
    gap: 8px !important;
    color: var(--aba-muted);
    font-weight: 800;
}

.aba-remove-photo input {
    width: auto !important;
    min-height: auto !important;
}

.aba-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.aba-settings-form label {
    display: grid;
    gap: 6px;
}

.aba-settings-form span {
    color: #ac2153;
    font-size: 13px;
    font-weight: 700;
}

.aba-settings-form input,
.aba-settings-form select,
.aba-settings-form textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #f5ebdd;
    border-radius: 6px;
    background: #ffffff;
    color: var(--aba-text);
    font: inherit;
}

.aba-phone-row {
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 8px;
}

.aba-phone-code {
    color: var(--aba-muted) !important;
    background: #f5ebdd !important;
    text-align: center;
}

.aba-check-row {
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 52px;
}

.aba-check-row input {
    width: auto !important;
    min-height: auto !important;
}

.aba-check-row span {
    color: var(--aba-text) !important;
    font-size: 14px !important;
}

.aba-settings-form textarea {
    min-height: 100px;
    resize: vertical;
}

.aba-settings-form button {
    width: fit-content;
    min-height: 48px;
    padding: 0 28px;
    border: 0;
    border-radius: 6px;
    color: #ffffff;
    background: var(--aba-blue);
    font: inherit;
    font-weight: 400;
    cursor: pointer;
}

.aba-payment-card {
    margin-bottom: 16px;
    padding: 22px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
}

.aba-settings-block-head {
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.aba-settings-block-head h1 {
    margin: 0;
}

.aba-secondary-button {
    min-height: 46px;
    padding: 0 22px;
    border: 0;
    border-radius: 6px;
    color: #ffffff;
    background: var(--aba-red);
    font: inherit;
    font-weight: 400;
    cursor: pointer;
}

.aba-payment-card strong {
    display: block;
    font-size: 18px;
    text-transform: uppercase;
}

.aba-payment-card p,
.aba-secure-note {
    margin: 6px 0 0;
    color: var(--aba-muted);
}

.aba-payment-card button {
    width: 48px;
    height: 48px;
    border: 1px solid var(--aba-border);
    border-radius: 6px;
    color: var(--aba-muted);
    background: #ffffff;
    font-weight: 900;
}

.aba-card-menu {
    position: relative;
}

.aba-card-menu-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 5;
    min-width: 170px;
    padding: 8px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(172,33,83,.14);
}

.aba-card-menu-panel button {
    width: 100%;
    height: auto;
    min-height: 40px;
    padding: 0 12px;
    border: 0;
    color: var(--aba-red);
    background: transparent;
    text-align: left;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.aba-card-menu-panel button:hover {
    background: #f5ebdd;
}

.aba-empty-payment {
    margin: 0 0 16px;
    padding: 22px 24px;
    border: 1px dashed var(--aba-border);
    border-radius: 8px;
    color: var(--aba-muted);
    background: #ffffff;
    font-weight: 800;
}

.aba-payment-form {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--aba-border);
}

.aba-payment-form[hidden] {
    display: none !important;
}

.aba-payment-form h2 {
    margin: 0;
}

.aba-payment-history {
    display: grid;
    gap: 12px;
}

.aba-payment-history article {
    padding: 16px 18px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 18px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
}

.aba-payment-history small {
    grid-column: 1 / -1;
    color: var(--aba-muted);
}

.aba-panel {
    padding: 24px;
}

.aba-panel h2 {
    margin: 0 0 14px;
    font-size: 22px;
}

.aba-panel p {
    margin: 0;
    color: var(--aba-muted);
}

.aba-activity-grid {
    display: grid;
    grid-template-columns: repeat(24, 1fr);
    gap: 5px;
}

.aba-activity-grid span {
    aspect-ratio: 1;
    border-radius: 3px;
    background: #fb76a4;
}

.aba-activity-calendar {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 12px;
    overflow-x: auto;
    padding: 6px 0 12px;
}

.aba-activity-axis,
.aba-activity-week {
    display: grid;
    gap: 5px;
}

.aba-activity-axis {
    grid-template-rows: 18px 14px repeat(7, 18px);
}

.aba-activity-week {
    grid-template-rows: repeat(7, 18px);
}

.aba-activity-axis span {
    display: grid;
    place-items: center;
    color: var(--aba-muted);
    font-size: 12px;
    font-weight: 400;
}

.aba-activity-months {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    min-width: max-content;
}

.aba-activity-month-block {
    padding-left: 12px;
    border-left: 1px solid rgba(172,33,83,.22);
}

.aba-activity-month-block strong {
    display: block;
    margin: 0 0 4px;
    color: var(--aba-muted);
    font-size: 12px;
    font-weight: 400;
}

.aba-activity-week-numbers {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 18px;
    gap: 5px;
    margin-bottom: 5px;
}

.aba-activity-week-numbers span {
    color: #ac2153;
    font-size: 10px;
    line-height: 14px;
    text-align: center;
}

.aba-activity-weeks {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 18px;
    gap: 5px;
    width: max-content;
}

.aba-activity-week span {
    width: 18px;
    height: 18px;
    display: block;
    border: 1px solid rgba(172,33,83,.08);
    border-radius: 3px;
}

.aba-activity-week span.is-empty {
    opacity: 1;
}

.aba-activity-month-table {
    display: grid;
    grid-template-columns: 86px repeat(7, minmax(58px, 1fr));
    gap: 7px;
    align-items: center;
}

.aba-activity-month-table strong,
.aba-activity-month-table b {
    color: var(--aba-muted);
    font-size: 13px;
    font-weight: 400;
}

.aba-activity-month-table strong {
    text-align: center;
}

.aba-activity-month-table .aba-activity-week-head {
    text-align: left;
}

.aba-activity-month-picker {
    position: relative;
    margin: 0;
}

.aba-activity-month-picker button {
    width: 100%;
    min-height: 34px;
    padding: 0 8px;
    border: 1px solid var(--aba-border);
    border-radius: 6px;
    color: var(--aba-blue);
    background: #ffffff;
    font: inherit;
    font-size: 13px;
    font-weight: 400;
    cursor: pointer;
}

.aba-activity-month-picker button i {
    margin-left: 4px;
}

.aba-activity-month-picker input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.aba-activity-month-table b {
    padding-right: 8px;
    border-right: 1px solid rgba(172,33,83,.18);
}

.aba-activity-month-table span {
    min-height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(172,33,83,.08);
    border-radius: 6px;
    color: rgba(255,255,255,.88);
    font-size: 12px;
    font-weight: 400;
}

.aba-activity-month-table span.is-empty,
.aba-activity-month-table span.outside-month {
    color: #ac2153;
}

.aba-activity-month-table span.outside-month {
    opacity: .45;
}

.aba-activity-legend {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    color: var(--aba-muted);
    font-size: 13px;
}

.aba-activity-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.aba-activity-legend i {
    width: 13px;
    height: 13px;
    display: inline-block;
    border-radius: 3px;
}

.aba-admin-hero {
    margin-bottom: 22px;
    padding: 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.aba-admin-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.aba-admin-grid.compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aba-admin-grid.compact.aba-user-stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.aba-admin-welcome h2 {
    margin: 0 0 8px;
    font-size: 34px;
}

.aba-admin-welcome p {
    color: var(--aba-muted);
    font-weight: 800;
}

.aba-admin-page {
    min-height: 70vh;
    padding: 48px 18px;
    background: #f5ebdd;
}

.aba-admin-shell {
    width: min(var(--aba-shell-width), 100%);
    margin: 0 auto;
    display: grid;
    gap: 22px;
}

.aba-admin-heading h1 {
    margin: 4px 0 8px;
    color: var(--aba-blue);
    font-size: clamp(34px, 5vw, 52px);
    line-height: 1;
}

.aba-admin-heading p {
    margin: 0;
    color: var(--aba-muted);
}

.aba-notice {
    padding: 14px 16px;
    border-radius: 8px;
    font-weight: 800;
}

.aba-notice.success {
    color: #ac2153;
    background: #f5ebdd;
}

.aba-notice.error {
    color: #ac2153;
    background: #f5ebdd;
}

.aba-question-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 16px 0;
}

.aba-question-option {
    position: relative;
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(172,33,83,.28);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-question-option.is-correct {
    border-color: var(--aba-blue);
    background: #f5ebdd;
    box-shadow: 0 0 0 2px rgba(172,33,83,.12);
}

.aba-question-option strong {
    color: var(--aba-red);
    font-size: 18px;
}

.aba-correct-option {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(172,33,83,.35);
    border-radius: 999px;
    color: var(--aba-red);
    background: #f5ebdd;
    cursor: pointer;
}

.aba-question-option.is-correct .aba-correct-option,
.aba-correct-pill.is-correct {
    border-color: var(--aba-blue);
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-correct-option i {
    font-size: 18px;
}

.aba-truefalse-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 16px 0;
}

.aba-correct-pill {
    min-height: 46px;
    padding: 10px 18px;
    border: 1px solid rgba(172,33,83,.35);
    border-radius: 999px;
    color: var(--aba-red);
    background: #f5ebdd;
    font-weight: 400;
    cursor: pointer;
}

.aba-settings-form button[type="submit"] {
    font-weight: 400;
}

.aba-toggle-line {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-blue);
    font-weight: 900;
}

.aba-toggle-line input {
    width: 18px;
    height: 18px;
    accent-color: var(--aba-blue);
}

.aba-access-builder {
    margin: 18px 0;
    display: grid;
    gap: 12px;
}

.aba-access-options {
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
    border: 1px dashed #f5ebdd;
    border-radius: 10px;
    background: #f5ebdd;
}

.aba-access-options > label,
.aba-access-options > .aba-inline-fields,
.aba-access-rule {
    min-height: 76px;
    padding: 14px;
    border: 1px solid #f5ebdd;
    border-radius: 10px;
    background: #ffffff;
}

.aba-access-options > .aba-checkbox-line {
    min-height: 76px;
}

.aba-access-options[data-access-options="activity"] > :nth-child(1) {
    grid-column: 1 / -1;
}

.aba-access-options[data-access-options="activity"] > :nth-child(2) {
    grid-column: 1;
}

.aba-access-options[data-access-options="activity"] > :nth-child(3) {
    grid-column: 2;
}

.aba-access-options[data-access-options="activity"] > :nth-child(4) {
    grid-column: 1;
}

.aba-access-options[data-access-options="activity"] > :nth-child(5) {
    grid-column: 2;
}

.aba-access-options[data-access-options="activity"] > :nth-child(6) {
    grid-column: 1;
}

.aba-access-options[data-access-options="activity"] > :nth-child(7) {
    grid-column: 2;
}

.aba-access-options[data-access-options="section"] > :nth-child(1),
.aba-access-options[data-access-options="section"] > :nth-child(3),
.aba-access-options[data-access-options="section"] > :nth-child(5),
.aba-access-options[data-access-options="section"] > :nth-child(7) {
    grid-column: 1;
}

.aba-access-options[data-access-options="section"] > :nth-child(2),
.aba-access-options[data-access-options="section"] > :nth-child(4),
.aba-access-options[data-access-options="section"] > :nth-child(6),
.aba-access-options[data-access-options="section"] > :nth-child(8) {
    grid-column: 2;
}

.aba-inline-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
}

.aba-competency-picker {
    display: grid;
    gap: 10px;
}

.aba-competency-search {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #f5ebdd;
    border-radius: 6px;
    background: #ffffff;
    color: var(--aba-text);
    font: inherit;
}

.aba-competency-options {
    max-height: 210px;
    overflow-y: auto;
    display: grid;
    gap: 6px;
    padding: 8px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
}

.aba-competency-option {
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: #f5ebdd;
    color: var(--aba-blue);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.aba-competency-option.is-selected {
    border-color: var(--aba-blue);
    background: #f5ebdd;
}

.aba-competency-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.aba-competency-pill {
    min-height: 34px;
    padding: 6px 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--aba-blue);
    border-radius: 999px;
    background: #ffffff;
    color: var(--aba-blue);
    font: inherit;
    cursor: pointer;
}

.aba-competency-pill b {
    color: var(--aba-red);
    font-size: 18px;
    line-height: 1;
}

.aba-inline-field {
    width: min(360px, 100%);
    display: grid;
    gap: 8px;
    margin: 12px 0 18px;
    color: var(--aba-muted);
    font-weight: 900;
}

.aba-panel-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.aba-panel-heading-row.tight {
    margin-bottom: 8px;
}

.aba-panel-heading-row h2 {
    margin: 0;
}

.aba-table-wrap {
    overflow-x: auto;
}

.aba-enrollment-add-form {
    grid-template-columns: minmax(260px, 1fr) auto;
    align-items: end;
}

.aba-inline-status-form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.aba-inline-status-form select {
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid var(--aba-border);
    border-radius: 6px;
    background: #ffffff;
    font: inherit;
}

.aba-inline-status-form button {
    min-height: 38px;
}

.aba-admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}

.aba-admin-table th,
.aba-admin-table td {
    padding: 12px 10px;
    border-bottom: 1px solid var(--aba-border);
    text-align: left;
    vertical-align: top;
}

.aba-admin-table th {
    color: var(--aba-muted);
    font-size: 12px;
    text-transform: uppercase;
}

.aba-admin-table a,
.inline-delete button {
    color: var(--aba-blue);
    font: inherit;
    font-weight: 900;
    text-decoration: none;
}

.inline-delete {
    display: inline;
    margin-left: 10px;
}

.inline-delete button {
    border: 0;
    background: transparent;
    cursor: pointer;
}

.aba-badge-preview-row {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--aba-muted);
}

.aba-badge-preview-row img,
.aba-badge-thumb {
    width: 54px;
    height: 54px;
    object-fit: cover;
    border: 1px solid var(--aba-border);
    border-radius: 999px;
    background: #ffffff;
}

.aba-badge-empty {
    color: var(--aba-muted);
}

.aba-profile-badges {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.aba-profile-badges article {
    min-height: 150px;
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 14px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #ffffff;
}

.aba-profile-badges img {
    width: 58px;
    height: 58px;
    object-fit: cover;
    border-radius: 999px;
}

.aba-profile-badges strong {
    color: var(--aba-blue);
}

.aba-profile-badges span {
    color: var(--aba-muted);
    font-size: 14px;
}

.aba-badge-toast,
.aba-xp-toast {
    position: fixed;
    right: 22px;
    bottom: 24px;
    z-index: 1000;
    width: min(390px, calc(100vw - 32px));
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid rgba(172,33,83,.18);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 20px 45px rgba(172,33,83,.22);
}

.aba-xp-toast {
    bottom: 124px;
    grid-template-columns: 48px minmax(0, 1fr);
}

.aba-xp-toast > i {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-badge-toast[hidden],
.aba-xp-toast[hidden] {
    display: none;
}

.aba-badge-toast img {
    width: 68px;
    height: 68px;
    object-fit: cover;
    border-radius: 999px;
    background: #f5ebdd;
}

.aba-badge-toast span,
.aba-xp-toast span {
    display: block;
    margin-bottom: 4px;
    color: var(--aba-red);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.aba-badge-toast strong,
.aba-xp-toast strong {
    display: block;
    color: var(--aba-blue);
    font-size: 21px;
    line-height: 1.05;
}

.aba-badge-toast p,
.aba-xp-toast p {
    margin: 6px 0 0;
    color: var(--aba-muted);
}

/* Earned badges: compact profile preview and shareable achievement card. */
.aba-earned-badges .aba-profile-badges {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.aba-profile-badge-card {
    min-width: 0;
    display: grid;
    place-items: center;
    gap: 9px;
    padding: 14px 10px;
    border: 1px solid var(--aba-border);
    border-radius: 14px;
    color: var(--aba-blue);
    background: #f5ebdd;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.aba-profile-badge-card:hover,
.aba-profile-badge-card:focus-visible {
    transform: translateY(-4px);
    border-color: #fb76a4;
    box-shadow: 0 14px 30px rgba(172,33,83,.13);
}

.aba-profile-badge-card img {
    width: min(128px, 100%);
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    border-radius: 0;
}

.aba-profile-badge-card strong {
    text-align: center;
    line-height: 1.15;
}

.aba-profile-badge-card span {
    color: #fb76a4;
    font-size: 12px;
}

.aba-achievement-modal[hidden] { display: none !important; }
.aba-achievement-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: grid;
    place-items: center;
    overflow-y: auto;
    padding: 34px 18px;
    background: rgba(172,33,83,.76);
    backdrop-filter: blur(5px);
}

.aba-achievement-dialog {
    position: relative;
    width: min(560px, 100%);
    padding: 26px;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 28px 80px rgba(172,33,83,.32);
}

.aba-achievement-close {
    position: absolute;
    z-index: 2;
    top: 12px;
    right: 14px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    color: var(--aba-blue);
    background: #f5ebdd;
    font-size: 25px;
    cursor: pointer;
}

.aba-achievement-card {
    position: relative;
    min-height: 610px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    padding: 52px 38px 42px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 17px;
    background: radial-gradient(circle at 50% 42%, #ac2153 0%, #ac2153 48%, #ac2153 100%);
    text-align: center;
}

.aba-achievement-card::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 118px;
    left: 50%;
    width: 16px;
    height: 16px;
    background: #f5ebdd;
    clip-path: polygon(50% 0,61% 37%,100% 50%,61% 63%,50% 100%,39% 63%,0 50%,39% 37%);
    filter: drop-shadow(0 0 8px rgba(245,235,221,.9));
    box-shadow: -178px 38px 0 -2px #f5ebdd, 158px 16px 0 -3px #f5ebdd, -164px 226px 0 -4px #f5ebdd, 166px 234px 0 1px #f5ebdd, -76px -36px 0 -5px #f5ebdd, 92px 288px 0 -2px #f5ebdd;
    animation: achievementCardSparkle 1.15s ease-in-out infinite alternate;
}
.aba-achievement-card-stars {
    position: absolute;
    z-index: 2;
    top: 84px;
    left: 50%;
    width: 390px;
    height: 330px;
    max-width: 94%;
    transform: translateX(-50%);
    pointer-events: none;
}
.aba-achievement-card-stars i {
    position: absolute;
    width: 15px;
    height: 15px;
    background: linear-gradient(145deg,#f5ebdd,#f5ebdd 55%,#fb76a4);
    clip-path: polygon(50% 0,61% 37%,100% 50%,61% 63%,50% 100%,39% 63%,0 50%,39% 37%);
    filter: drop-shadow(0 0 7px rgba(245,235,221,.9));
    animation: badgeLocalSparkle 1.1s ease-in-out infinite alternate;
}
.aba-achievement-card-stars i:nth-child(1){left:4%;top:17%;animation-delay:.1s}.aba-achievement-card-stars i:nth-child(2){right:5%;top:12%;width:11px;height:11px;animation-delay:.4s}.aba-achievement-card-stars i:nth-child(3){left:0;top:55%;width:10px;height:10px;animation-delay:.7s}.aba-achievement-card-stars i:nth-child(4){right:0;top:58%;width:19px;height:19px;animation-delay:.2s}.aba-achievement-card-stars i:nth-child(5){left:13%;bottom:6%;width:13px;height:13px;animation-delay:.8s}.aba-achievement-card-stars i:nth-child(6){right:14%;bottom:3%;width:10px;height:10px;animation-delay:.5s}.aba-achievement-card-stars i:nth-child(7){left:34%;top:0;width:9px;height:9px;animation-delay:.9s}.aba-achievement-card-stars i:nth-child(8){right:33%;bottom:0;width:14px;height:14px;animation-delay:.3s}

.aba-achievement-logo {
    position: absolute;
    top: 48px;
    right: 50px;
    width: 112px;
    height: auto;
    z-index: 4;
}

.aba-achievement-badge {
    position: relative;
    z-index: 3;
    width: min(265px, 78%);
    height: auto;
    margin: 46px auto 24px;
    object-fit: contain;
    animation: achievementBadgeFloat 2.4s ease-in-out infinite;
}

.aba-achievement-badge.is-loading {
    visibility: hidden;
    animation: none;
}

.aba-achievement-badge.is-revealing {
    animation: achievementBadgeReveal 1.45s cubic-bezier(.2,.85,.25,1.15) both,
        achievementBadgeFloat 2.4s ease-in-out 1.45s infinite;
}

.aba-achievement-card h2 {
    margin: 0;
    position: relative;
    z-index: 3;
    color: #ffffff;
    font-size: clamp(31px, 6vw, 46px);
    line-height: 1;
    text-transform: uppercase;
}

.aba-achievement-card > i {
    position: relative;
    z-index: 3;
    width: 150px;
    height: 4px;
    margin: 24px auto;
    border-radius: 99px;
    background: var(--aba-red);
}

.aba-achievement-card p {
    position: relative;
    z-index: 3;
    margin: 0;
    color: #f5ebdd;
    font-size: 18px;
    line-height: 1.55;
    white-space: pre-line;
}

@keyframes achievementBadgeFloat {
    0%,100% { transform: translateY(0) rotate(-1.5deg); }
    50% { transform: translateY(-10px) rotate(1.5deg); }
}
@keyframes achievementBadgeReveal {
    0% { opacity:0; transform:scale(.08) rotate(-720deg); filter:blur(8px) drop-shadow(0 0 0 rgba(245,235,221,0)); }
    72% { opacity:1; transform:scale(1.13) rotate(18deg); filter:blur(0) drop-shadow(0 0 28px rgba(245,235,221,.95)); }
    100% { opacity:1; transform:scale(1) rotate(0); filter:blur(0) drop-shadow(0 10px 18px rgba(172,33,83,.18)); }
}
@keyframes achievementCardSparkle {
    from { opacity: .28; transform: translateX(-50%) scale(.65) rotate(0); }
    to { opacity: 1; transform: translateX(-50%) scale(1.35) rotate(90deg); }
}

.aba-achievement-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 16px;
}

.aba-achievement-actions button {
    min-height: 44px;
    border: 1px solid #f5ebdd;
    border-radius: 9px;
    color: var(--aba-blue);
    background: #ffffff;
    font: inherit;
    cursor: pointer;
}

.aba-achievement-actions button:disabled,
[data-badge-toast-share]:disabled {
    cursor: wait;
    opacity: .55;
}

.aba-achievement-actions button:last-child {
    color: #ffffff;
    border-color: var(--aba-blue);
    background: var(--aba-blue);
}

.aba-achievement-actions [data-achievement-share]:not([data-achievement-share="download"]) {
    display: none;
}

@media (max-width: 640px) {
    .aba-achievement-modal {
        place-items: start center;
        padding: 0;
    }

    .aba-achievement-dialog {
        width: 100%;
        padding: 12px;
        border-radius: 0;
    }

    .aba-achievement-card {
        min-height: calc(100dvh - 100px);
        border-radius: 14px;
    }
}

body.aba-achievement-open { overflow: hidden; }

/* First-earned reveal overrides the former corner toast. */
.aba-badge-toast {
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 10100 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    display: grid !important;
    place-items: center;
    grid-template-columns: 1fr !important;
    padding: 28px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: radial-gradient(circle at center, rgba(172,33,83,.42), rgba(172,33,83,.9)) !important;
    box-shadow: none !important;
    backdrop-filter: blur(6px);
}

.aba-badge-toast.is-leaving {
    animation: badgeBackdropLeave .68s ease-in both;
    pointer-events: none;
}
.aba-badge-toast.is-leaving .aba-badge-celebration-card {
    animation: badgeCardLeave .68s cubic-bezier(.55,.05,.82,.35) both;
}
.aba-badge-toast.is-leaving .aba-badge-celebration-card > [data-badge-toast-image] {
    animation: badgeMagicSpinLeave .68s cubic-bezier(.55,.05,.82,.35) both;
}

.aba-badge-toast[hidden] { display: none !important; }
.aba-badge-toast > [data-badge-toast-close]:first-child {
    position: fixed;
    z-index: 4;
    top: 24px;
    right: 28px;
    color: #ffffff;
    font-size: 36px;
}

.aba-badge-celebration-card {
    position: relative;
    z-index: 2;
    width: min(480px, 100%);
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: center;
    animation: badgeCardArrive .75s cubic-bezier(.18,.9,.28,1.25) both;
}

.aba-badge-celebration-logo {
    position: absolute;
    top: 24px;
    right: 28px;
    width: 105px !important;
    height: auto !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.aba-badge-celebration-card > [data-badge-toast-image] {
    width: 260px !important;
    height: 260px !important;
    margin: 0 auto 18px;
    object-fit: contain !important;
    border-radius: 0 !important;
    background: transparent !important;
    animation: badgeMagicSpin 1.15s cubic-bezier(.22,.78,.25,1.08) both;
}

.aba-badge-celebration-card > span { margin: 0 0 7px; color: #ffffff; font-size: 15px; font-weight: 800; letter-spacing: .12em; text-shadow: 0 2px 12px rgba(172,33,83,.35); }
.aba-badge-celebration-card > strong { color: #ffffff; font-size: 38px; text-transform: uppercase; text-shadow: 0 3px 18px rgba(172,33,83,.4); }
.aba-badge-celebration-card > p { display: none; }
.aba-badge-celebration-card > div { display: flex; gap: 10px; margin-top: 22px; }
.aba-badge-celebration-card > div button {
    position: static;
    min-width: 130px;
    padding: 12px 20px;
    border: 1px solid rgba(255,255,255,.88);
    border-radius: 9px;
    color: #ffffff;
    background: rgba(255,255,255,.12);
    font-size: 15px;
}
.aba-badge-celebration-card > div button:first-child { color: var(--aba-blue); background: #ffffff; }

.aba-badge-sparkles { position: fixed; inset: 0; overflow: hidden; pointer-events: none; }
.aba-badge-sparkles i {
    position: absolute;
    width: 14px;
    height: 14px;
    background: #f5ebdd;
    clip-path: polygon(50% 0,61% 37%,100% 50%,61% 63%,50% 100%,39% 63%,0 50%,39% 37%);
    animation: badgeSparkle 1.4s ease-in-out infinite alternate;
}
.aba-badge-sparkles i:nth-child(1){left:18%;top:22%;animation-delay:.1s}.aba-badge-sparkles i:nth-child(2){left:76%;top:18%;animation-delay:.35s}.aba-badge-sparkles i:nth-child(3){left:12%;top:68%;animation-delay:.6s}.aba-badge-sparkles i:nth-child(4){left:84%;top:65%;animation-delay:.8s}.aba-badge-sparkles i:nth-child(5){left:30%;top:82%;animation-delay:.45s}.aba-badge-sparkles i:nth-child(6){left:68%;top:78%;animation-delay:.2s}

.aba-badge-local-sparkles {
    position: absolute;
    z-index: 3;
    top: -15px;
    left: 50%;
    width: 350px;
    height: 300px;
    max-width: 92vw;
    transform: translateX(-50%);
    pointer-events: none;
}
.aba-badge-local-sparkles i {
    position: absolute;
    width: 17px;
    height: 17px;
    background: linear-gradient(145deg,#f5ebdd 0%,#f5ebdd 42%,#fb76a4 100%);
    clip-path: polygon(50% 0,61% 37%,100% 50%,61% 63%,50% 100%,39% 63%,0 50%,39% 37%);
    filter: drop-shadow(0 0 7px rgba(245,235,221,.9));
    animation: badgeLocalSparkle 1.05s ease-in-out infinite alternate;
}
.aba-badge-local-sparkles i:nth-child(1){left:7%;top:18%;animation-delay:.05s}
.aba-badge-local-sparkles i:nth-child(2){right:8%;top:15%;width:12px;height:12px;animation-delay:.32s}
.aba-badge-local-sparkles i:nth-child(3){left:1%;top:49%;width:11px;height:11px;animation-delay:.58s}
.aba-badge-local-sparkles i:nth-child(4){right:1%;top:51%;animation-delay:.18s}
.aba-badge-local-sparkles i:nth-child(5){left:13%;bottom:11%;width:13px;height:13px;animation-delay:.74s}
.aba-badge-local-sparkles i:nth-child(6){right:15%;bottom:8%;width:10px;height:10px;animation-delay:.42s}
.aba-badge-local-sparkles i:nth-child(7){left:34%;top:1%;width:9px;height:9px;animation-delay:.86s}
.aba-badge-local-sparkles i:nth-child(8){right:34%;bottom:0;width:14px;height:14px;animation-delay:.26s}

@keyframes badgeCardArrive { from { opacity:0; transform:scale(.72) translateY(35px) } to { opacity:1; transform:none } }
@keyframes badgeMagicSpin { 0% { opacity:0; transform:scale(.25) rotate(-320deg) } 72% { opacity:1; transform:scale(1.12) rotate(12deg) } 100% { transform:none } }
@keyframes badgeSparkle { from { opacity:.25; transform:scale(.5) rotate(0) } to { opacity:1; transform:scale(1.8) rotate(90deg) } }
@keyframes badgeLocalSparkle { from { opacity:.25; transform:scale(.45) rotate(0) } to { opacity:1; transform:scale(1.55) rotate(100deg) } }
@keyframes badgeBackdropLeave { from { opacity:1 } to { opacity:0 } }
@keyframes badgeCardLeave { from { opacity:1; transform:none } to { opacity:0; transform:scale(.72) translateY(35px) } }
@keyframes badgeMagicSpinLeave { from { opacity:1; transform:none } to { opacity:0; transform:scale(.25) rotate(320deg) } }

@media (max-width: 900px) {
    .aba-earned-badges .aba-profile-badges { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .aba-earned-badges .aba-profile-badges { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .aba-achievement-dialog { padding: 14px; }
    .aba-achievement-card { min-height: 520px; padding: 64px 20px 28px; }
    .aba-achievement-logo { top: 34px; right: 34px; width: 88px; }
    .aba-achievement-actions { grid-template-columns: 1fr; }
    .aba-badge-toast { padding: 14px !important; }
    .aba-badge-celebration-card { padding: 20px 12px; }
    .aba-badge-celebration-card > [data-badge-toast-image] { width: 220px !important; height: 220px !important; }
}

.aba-badge-toast button,
.aba-xp-toast button {
    position: absolute;
    top: 8px;
    right: 10px;
    border: 0;
    color: var(--aba-muted);
    background: transparent;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.aba-badges-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.aba-btn.ghost {
    font-weight: 400;
}

.aba-badge-card {
    min-height: 240px;
    display: grid;
    align-content: start;
    gap: 10px;
    padding: 20px;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
}

.aba-badge-card img {
    width: 82px;
    height: 82px;
    object-fit: cover;
    border-radius: 999px;
}

.aba-badge-card h2 {
    margin: 0;
    color: var(--aba-blue);
    font-size: 22px;
}

.aba-badge-card p {
    color: var(--aba-muted);
}

.aba-badge-card.earned {
    border-color: rgba(172,33,83,.38);
    box-shadow: 0 10px 25px rgba(172,33,83,.08);
}

.aba-earned-pill {
    width: fit-content;
    padding: 5px 10px;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-blue);
    font-size: 13px;
}

.aba-locked-pill {
    width: fit-content;
    padding: 5px 10px;
    border-radius: 999px;
    color: var(--aba-muted);
    background: #f5ebdd;
    font-size: 13px;
}

.aba-badge-card small {
    color: var(--aba-muted);
    line-height: 1.4;
}

/* Student token board: lightweight SVG badges, revealed as achievements are earned. */
.aba-token-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
    padding: 20px 24px;
    border: 1px solid #f5ebdd;
    border-radius: 16px;
    background: linear-gradient(110deg, #f5ebdd, #ffffff);
}
.aba-token-summary div { display: flex; align-items: baseline; gap: 8px; color: #ac2153; }
.aba-token-summary strong { font-size: 38px; line-height: 1; }
.aba-token-summary span { font-weight: 700; }
.aba-token-summary p { margin: 0; color: #ac2153; }
.aba-token-family { margin: 0 0 34px; }
.aba-token-family > h2 {
    margin: 0 0 15px;
    color: #ac2153;
    font-size: 23px;
}
.aba-badges-grid.aba-token-board {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}
.aba-token-slot {
    min-height: 0;
    place-items: center;
    align-content: start;
    gap: 9px;
    padding: 16px 12px 14px;
    text-align: center;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease;
}
.aba-token-slot:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(172,33,83,.11); }
.aba-token-slot img {
    width: min(100%, 148px);
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    border-radius: 0;
}
.aba-token-slot h2 { font-size: 17px; line-height: 1.15; }
.aba-token-slot.locked {
    border-style: solid;
    border-color: #f5ebdd;
    background: linear-gradient(145deg, #ffffff, #f5ebdd);
}
.aba-token-slot.locked img {
    opacity: .24;
    filter: saturate(.72) contrast(.92);
}
.aba-token-slot.locked h2 { color: #ac2153; }
.aba-token-slot .aba-earned-pill { font-size: 11px; padding: 4px 9px; }
@media (max-width: 1100px) { .aba-badges-grid.aba-token-board { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 760px) {
    .aba-token-summary { align-items: flex-start; flex-direction: column; }
    .aba-badges-grid.aba-token-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.aba-user-badges-admin {
    display: grid;
    gap: 18px;
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid var(--aba-border);
}

.aba-user-badges-admin h2 {
    margin: 0;
}

.aba-inline-award-form {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.aba-inline-award-form select {
    min-width: min(320px, 100%);
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid #f5ebdd;
    border-radius: 6px;
    background: #ffffff;
    font: inherit;
}

.aba-inline-award-form button {
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid var(--aba-blue);
    border-radius: 6px;
    color: #ffffff;
    background: var(--aba-blue);
    font: inherit;
    cursor: pointer;
}

.aba-select-search {
    margin-bottom: 8px;
}

select[data-badge-competency-select] {
    min-height: 160px;
}

.aba-selected-pill {
    width: fit-content;
    max-width: 100%;
    margin: 0 0 8px;
    padding: 8px 10px 8px 12px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(172,33,83,.28);
    border-radius: 999px;
    color: var(--aba-blue);
    background: #f5ebdd;
    font-size: 14px;
}

.aba-selected-pill span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aba-selected-pill button {
    width: 24px;
    height: 24px;
    min-height: 24px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-red);
    font: inherit;
    line-height: 1;
    cursor: pointer;
}

.aba-chat-page {
    min-height: 72vh;
    padding: 34px 18px 54px;
    background: #f5ebdd;
}

.aba-chat-embed {
    min-height: 0;
    padding: 0;
    background: transparent;
    overflow-x: hidden;
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
    font-size: 16px;
}

.aba-chat-embed input,
.aba-chat-embed textarea,
.aba-chat-embed button,
.aba-chat-embed select {
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.aba-chat-shell {
    position: relative;
    width: min(var(--aba-shell-width), 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}

.aba-chat-embed .aba-chat-shell {
    width: calc(100% - 2px);
    height: min(760px, calc(100vh - 2px));
    min-height: 680px;
    margin: 0;
    grid-template-columns: minmax(270px, 300px) minmax(0, 1fr);
    gap: 16px;
    overflow: visible;
}

.aba-chat-embed .aba-chat-message p,
.aba-chat-embed .aba-chat-panel header p,
.aba-chat-embed .aba-chat-empty,
.aba-chat-embed .aba-chat-thread-list p {
    font-size: 16px;
}

.aba-chat-sidebar,
.aba-chat-panel {
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 16px 40px rgba(172,33,83,.08);
}

.aba-chat-sidebar {
    padding: 18px;
    height: 680px;
    overflow: auto;
}

.aba-chat-embed .aba-chat-sidebar {
    height: 100%;
    min-height: 680px;
    min-width: 0;
}

.aba-chat-sidebar h1 {
    margin: 0 0 16px;
    font-size: 30px;
}

.aba-chat-tabs,
.aba-chat-thread-list {
    display: grid;
    gap: 8px;
}

.aba-chat-tabs a,
.aba-chat-thread-list a {
    position: relative;
    padding: 12px 48px 12px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--aba-text);
    text-decoration: none;
    font-weight: 400;
    font-size: 16px;
}

.aba-chat-tabs a.has-unread .aba-chat-dot {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 9px;
    height: 9px;
    border: 2px solid #ffffff;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-chat-unread {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-red);
    font-size: 12px;
    line-height: 1;
    box-shadow: 0 0 0 2px #ffffff;
}

.aba-chat-room-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    border: 0;
    background: var(--aba-blue);
    line-height: 1;
    box-shadow: none;
    overflow: hidden;
}

.aba-chat-room-icon img {
    width: 20px;
    height: 20px;
    display: block;
}

.aba-chat-room-icon.bcba {
    background: var(--aba-blue);
}

.aba-chat-room-icon.bull {
    background: var(--aba-red);
}

.aba-chat-status-dot {
    width: 9px;
    height: 9px;
    margin-left: auto;
    border-radius: 999px;
    background: #ac2153;
}

.aba-chat-status-dot.online {
    background: #fb76a4;
}

.aba-chat-presence-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    display: inline-block;
    border-radius: 999px;
    background: #ac2153;
    margin-right: 7px;
    vertical-align: middle;
}

.aba-chat-presence-dot.online {
    background: #fb76a4;
}

.aba-chat-tabs a.active,
.aba-chat-thread-list a.active {
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-chat-thread-list {
    margin-top: 22px;
}

.aba-chat-divider {
    height: 1px;
    margin: 16px 0;
    background: var(--aba-border);
}

.aba-chat-search {
    margin: 0 0 16px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 8px;
}

.aba-chat-search input {
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    font: inherit;
}

.aba-chat-search button {
    border: 1px solid var(--aba-blue);
    border-radius: 8px;
    color: var(--aba-blue);
    background: #ffffff;
    font: inherit;
    cursor: pointer;
}

.aba-chat-thread-list strong {
    color: var(--aba-muted);
}

.aba-chat-thread-list a {
    display: grid;
    gap: 3px;
    grid-template-columns: minmax(0, 1fr);
}

.aba-chat-thread-list a > span {
    display: flex;
    align-items: center;
    gap: 8px;
}

.aba-chat-thread-list small {
    overflow: hidden;
    color: inherit;
    opacity: .72;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aba-chat-panel {
    height: 680px;
    min-height: 680px;
    max-height: 680px;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    min-width: 0;
}

.aba-chat-embed .aba-chat-panel {
    height: 100%;
    min-height: 680px;
    max-height: none;
    min-width: 0;
}

.aba-chat-panel header {
    padding: 22px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--aba-border);
}

.aba-chat-panel header h2 {
    margin: 0 0 4px;
    font-size: 30px;
}

.aba-chat-panel header p {
    margin: 0;
    color: var(--aba-muted);
}

.aba-chat-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.aba-btn.danger {
    border-color: var(--aba-red);
    color: #ffffff;
    background: var(--aba-red);
}

.aba-chat-messages {
    padding: 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    overflow: auto;
    background: linear-gradient(180deg, #ffffff 0%, #f5ebdd 100%);
}

.aba-chat-message {
    max-width: 76%;
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.aba-chat-message.mine {
    margin-left: auto;
    flex-direction: row-reverse;
}

.aba-chat-message.is-pinned { order: -1; }
.aba-chat-message.is-pinned .aba-chat-bubble { box-shadow: 0 0 0 2px #fb76a4, 0 5px 18px rgba(172,33,83,.12); }
.aba-chat-message.is-pinned .aba-chat-bubble::before { content: "\f08d"; float: right; margin-left: 8px; color: #ac2153; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.aba-chat-selection-bar { padding: 10px 16px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; border-bottom: 1px solid #f5ebdd; background: #f5ebdd; color: #ac2153; }
.aba-chat-selection-bar[hidden] { display: none !important; }
.aba-chat-selection-bar button { min-height: 34px; padding: 7px 11px; border: 1px solid #f5ebdd; border-radius: 999px; background: #ffffff; color: #ac2153; font-weight: 800; }
.aba-chat-panel.is-selecting .aba-chat-message::before { content: ""; width: 22px; height: 22px; flex: 0 0 22px; border: 2px solid #fb76a4; border-radius: 50%; background: #ffffff; }
.aba-chat-panel.is-selecting .aba-chat-message.is-selected::before { content: "✓"; display: grid; place-items: center; border-color: #ac2153; background: #ac2153; color: #ffffff; font-size: 13px; font-weight: 900; }

.aba-chat-avatar {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    position: relative;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-blue);
    font-size: 13px;
    overflow: visible;
}

.aba-chat-avatar .aba-avatar-photo,
.aba-chat-avatar .aba-avatar-initials {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    object-fit: cover;
    border-radius: 999px;
    overflow: hidden;
}

.aba-chat-avatar:has(.aba-drbull-chat-photo) {
    background: transparent;
    overflow: visible;
}

.aba-chat-avatar .aba-drbull-chat-photo {
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 0;
    overflow: visible;
    transform: translateY(4px);
}

.aba-chat-avatar .aba-avatar-core-framed {
    position: absolute;
    inset: -16%;
    z-index: 1;
    width: auto;
    height: auto;
}

.aba-chat-avatar .aba-avatar-frame {
    inset: -16%;
    width: 132%;
    height: 132%;
}

.aba-chat-bubble {
    padding: 10px 12px;
    border: 1px solid var(--aba-border);
    border-radius: 12px 12px 12px 4px;
    background: #ffffff;
}

.aba-chat-message.mine .aba-chat-bubble {
    border-color: rgba(172,33,83,.18);
    border-radius: 12px 12px 4px 12px;
    color: #ac2153;
    background: var(--aba-blue);
}

.aba-chat-message.mine .aba-chat-bubble p,
.aba-chat-message.mine .aba-chat-bubble span,
.aba-chat-message.mine .aba-chat-bubble strong,
.aba-chat-message.mine .aba-chat-bubble small,
.aba-chat-message.mine .aba-chat-bubble time {
    color: #ac2153 !important;
}

.aba-chat-message.theirs .aba-chat-bubble {
    border-color: rgba(172,33,83,.18);
    background: #f5ebdd;
}

.aba-chat-message.bot .aba-chat-bubble {
    border-color: rgba(172,33,83,.18);
    background: #f5ebdd;
}

.aba-chat-message strong {
    display: block;
    margin-bottom: 3px;
    font-size: 13px;
}

.aba-chat-message p {
    margin: 0;
    line-height: 1.35;
}

.aba-chat-message time {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    opacity: .72;
}

.aba-chat-reply-preview,
.aba-chat-reply-box {
    margin-bottom: 8px;
    padding: 8px 10px;
    display: grid;
    gap: 2px;
    border-left: 3px solid var(--aba-red);
    border-radius: 8px;
    color: inherit;
    background: rgba(255,255,255,.22);
    text-decoration: none;
}

.aba-chat-message.theirs .aba-chat-reply-preview {
    background: rgba(172,33,83,.06);
}

.aba-chat-reply-preview span,
.aba-chat-reply-box span {
    overflow: hidden;
    font-size: 12px;
    opacity: .75;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aba-chat-message-actions {
    margin-top: 8px;
    display: none;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.aba-chat-message:hover .aba-chat-message-actions,
.aba-chat-message:focus-within .aba-chat-message-actions {
    display: flex;
}

.aba-chat-message-actions form {
    margin: 0;
}

.aba-chat-message-actions button {
    border: 0;
    padding: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    font-size: 12px;
    text-decoration: underline;
    cursor: pointer;
    opacity: .82;
}

.aba-chat-attachment-image {
    width: min(260px, 100%);
    display: block;
    margin: 7px 0;
    border-radius: 8px;
    user-select: none;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
    pointer-events: none;
}

.aba-chat-attachment-audio {
    width: min(260px, 100%);
    display: block;
    margin: 7px 0;
}

.aba-chat-empty {
    margin: auto;
    color: var(--aba-muted);
}

.aba-drbull-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 14px 0;
    border-top: 1px solid var(--aba-border);
    background: #ffffff;
}

.aba-drbull-quick-actions form {
    margin: 0;
}

.aba-drbull-quick-actions button {
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--aba-blue);
    border-radius: 999px;
    color: var(--aba-blue);
    background: #ffffff;
    font: inherit;
    cursor: pointer;
}

.aba-drbull-quick-actions button:hover {
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-chat-compose {
    padding: 14px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px 44px 44px 52px;
    gap: 10px;
    border-top: 1px solid var(--aba-border);
    background: #ffffff;
}

.aba-chat-compose .aba-chat-reply-box {
    grid-column: 1 / -1;
    margin: 0;
    border: 1px solid var(--aba-border);
    border-left: 3px solid var(--aba-red);
    background: #f5ebdd;
}

.aba-chat-reply-box button {
    position: absolute;
    width: 22px;
    height: 22px;
    justify-self: end;
    align-self: center;
    color: var(--aba-text);
    background: transparent;
}

.aba-chat-compose textarea {
    min-height: 52px;
    max-height: 140px;
    padding: 14px;
    border: 1px solid #f5ebdd;
    border-radius: 10px;
    font: inherit;
    resize: vertical;
}

.aba-chat-compose button {
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-red);
    font: inherit;
    cursor: pointer;
}

.aba-chat-compose .aba-chat-tool {
    width: 44px;
    height: 52px;
    display: grid;
    place-items: center;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    color: var(--aba-blue);
    background: #ffffff;
    cursor: pointer;
}

.aba-chat-compose .aba-chat-tool input {
    display: none;
}

.aba-chat-compose .aba-chat-tool.is-recording {
    color: #ffffff;
    border-color: var(--aba-red);
    background: var(--aba-red);
}

.aba-chat-audio-status {
    grid-column: 1 / -1;
    padding: 9px 10px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid rgba(172,33,83,.22);
    border-radius: 10px;
    color: var(--aba-text);
    background: #f5ebdd;
}

.aba-chat-attachment-status {
    grid-column: 1 / -1;
    padding: 9px 10px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid rgba(172,33,83,.18);
    border-radius: 10px;
    background: #f5ebdd;
}

.aba-chat-attachment-status[hidden] {
    display: none;
}

.aba-chat-attachment-status span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aba-chat-attachment-status button {
    width: auto;
    height: auto;
    margin-left: auto;
    padding: 7px 12px;
    border: 1px solid var(--aba-blue);
    border-radius: 8px;
    color: var(--aba-blue);
    background: #ffffff;
}

.aba-chat-attachment-status button + button {
    margin-left: 0;
    color: #ffffff;
    border-color: var(--aba-red);
    background: var(--aba-red);
}

.aba-chat-audio-status[hidden] {
    display: none;
}

.aba-chat-audio-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 999px;
    background: var(--aba-red);
    animation: abaAudioPulse 1s infinite;
}

.aba-chat-audio-status.is-ready {
    border-color: rgba(172,33,83,.18);
    background: #f5ebdd;
}

.aba-chat-audio-status.is-ready .aba-chat-audio-dot {
    background: var(--aba-blue);
    animation: none;
}

.aba-chat-audio-status strong {
    min-width: 38px;
}

.aba-chat-audio-status button {
    width: auto;
    height: auto;
    margin-left: auto;
    padding: 7px 12px;
    border: 1px solid var(--aba-blue);
    border-radius: 8px;
    color: var(--aba-blue);
    background: #ffffff;
}

.aba-chat-audio-status button + button {
    margin-left: 0;
}

.aba-chat-audio-status button[type="submit"] {
    color: #ffffff;
    border-color: var(--aba-red);
    background: var(--aba-red);
}

@keyframes abaAudioPulse {
    0%, 100% {
        opacity: .45;
        transform: scale(.82);
    }
    50% {
        opacity: 1;
        transform: scale(1);
    }
}

.aba-chat-camera-modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    padding: 18px;
    display: grid;
    place-items: center;
    background: rgba(172,33,83,.62);
}

.aba-chat-camera-modal[hidden] {
    display: none;
}

.aba-chat-camera-card {
    width: min(520px, 100%);
    padding: 14px;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 22px 70px rgba(172,33,83,.28);
}

.aba-chat-camera-card video {
    width: 100%;
    display: block;
    aspect-ratio: 4 / 3;
    border-radius: 10px;
    background: #ac2153;
    object-fit: cover;
}

.aba-chat-camera-actions {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.aba-chat-camera-actions button {
    padding: 10px 16px;
    border: 1px solid var(--aba-blue);
    border-radius: 8px;
    color: var(--aba-blue);
    background: #ffffff;
    font: inherit;
    cursor: pointer;
}

.aba-chat-camera-actions button:last-child {
    color: #ffffff;
    background: var(--aba-red);
    border-color: var(--aba-red);
}

.aba-chat-sound-toggle {
    position: absolute;
    top: 34px;
    right: -58px;
    z-index: 3;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(172,33,83,.18);
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-blue);
    font: inherit;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(172,33,83,.12);
}

.aba-chat-online-form {
    position: absolute;
    top: 34px;
    right: -108px;
    z-index: 3;
    margin: 0;
}

.aba-chat-online-toggle {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(172,33,83,.18);
    border-radius: 999px;
    color: #ac2153;
    background: #f5ebdd;
    font: inherit;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(172,33,83,.12);
}

.aba-chat-online-toggle.online {
    color: #ffffff;
    border-color: var(--aba-blue) !important;
    background: var(--aba-blue) !important;
}

.aba-chat-online-toggle span {
    position: absolute;
    right: 48px;
    width: max-content;
    padding: 8px 10px;
    border-radius: 8px;
    color: #ffffff;
    background: rgba(172,33,83,.92);
    font-size: 13px;
    opacity: 0;
    pointer-events: none;
    transform: translateX(8px);
    transition: opacity .18s ease, transform .18s ease;
}

.aba-chat-online-toggle:hover span {
    opacity: 1;
    transform: translateX(0);
}

.aba-chat-sound-toggle:not(.sound-off) {
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-chat-sound-toggle.sound-off {
    color: #ac2153;
    background: #f5ebdd;
}

.aba-chat-sound-toggle span {
    position: absolute;
    right: 48px;
    width: max-content;
    max-width: 190px;
    padding: 8px 10px;
    border-radius: 8px;
    color: #ffffff;
    background: rgba(172,33,83,.92);
    font-size: 13px;
    opacity: 0;
    pointer-events: none;
    transform: translateX(8px);
    transition: opacity .18s ease, transform .18s ease;
}

.aba-chat-sound-toggle.is-speaking span {
    opacity: 1;
    transform: translateX(0);
}

.aba-chat-embed .aba-chat-sound-toggle {
    right: 12px;
}

.aba-chat-embed .aba-chat-online-form {
    top: 34px;
    right: 62px;
}

.aba-chat-embed .aba-chat-sound-toggle span,
.aba-chat-embed .aba-chat-online-toggle span {
    right: 48px;
}

.aba-community-page {
    min-height: 72vh;
    padding: 34px calc(var(--aba-shell-gutter) / 2) 54px;
    background: #f5ebdd;
}

.aba-community-shell {
    width: min(var(--aba-shell-width), calc(100vw - var(--aba-shell-gutter)));
    margin: 0 auto;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.aba-community-sidebar,
.aba-community-composer,
.aba-community-post,
.aba-community-empty {
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 14px 36px rgba(172,33,83,.07);
}

.aba-community-sidebar {
    position: sticky;
    top: 92px;
    padding: 18px;
}

.aba-community-sidebar h1 {
    margin: 0 0 16px;
    font-size: 30px;
}

.aba-community-sidebar nav {
    display: grid;
    gap: 8px;
}

.aba-community-sidebar nav a,
.aba-community-chat-link {
    padding: 12px 14px;
    border-radius: 8px;
    color: var(--aba-text);
    text-decoration: none;
    font-weight: 400;
}

.aba-community-sidebar nav a.active {
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-community-chat-link {
    margin-top: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--aba-border);
}

.aba-community-xp-card,
.aba-community-side-card {
    margin-top: 14px;
    border: 1px solid rgba(172,33,83,0.12);
    border-radius: 10px;
    padding: 14px;
    background: #ffffff;
}

.aba-community-xp-card strong,
.aba-community-side-card h2 {
    display: block;
    margin: 0 0 8px;
    font-size: 18px;
    color: #ac2153;
    font-weight: 500;
}

.aba-community-xp-card span,
.aba-community-xp-card small,
.aba-community-side-card p,
.aba-community-event-link span,
.aba-community-rank em {
    color: #ac2153;
    font-style: normal;
}

.aba-community-xp-bar {
    height: 10px;
    margin: 10px 0 8px;
    border-radius: 99px;
    background: #f5ebdd;
    overflow: hidden;
}

.aba-community-xp-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--aba-blue);
}

.aba-community-event-link,
.aba-community-course-link,
.aba-community-rank {
    display: grid;
    gap: 3px;
    padding: 10px 0;
    border-top: 1px solid rgba(172,33,83,0.08);
    color: #ac2153;
    text-decoration: none;
}

.aba-community-course-link strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aba-community-course-link span {
    color: #ac2153;
}

.aba-mini-progress {
    height: 7px;
    margin-top: 4px;
    overflow: hidden;
    border-radius: 999px;
    background: #f5ebdd;
}

.aba-mini-progress b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--aba-blue);
}

.aba-community-rank {
    grid-template-columns: 26px 1fr auto;
    align-items: center;
}

.aba-community-rank span {
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(172,33,83,0.1);
    color: var(--aba-red);
}

.aba-community-achievement {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 10px;
    align-items: center;
    padding: 10px 0;
    border-top: 1px solid rgba(172,33,83,0.08);
    overflow: hidden;
}

.aba-community-achievement > div,
.aba-achievement-list article > div {
    min-width: 0;
}

.aba-community-achievement strong,
.aba-community-achievement small,
.aba-achievement-list strong,
.aba-achievement-list p,
.aba-achievement-list small {
    overflow-wrap: anywhere;
}

.aba-community-achievement .aba-community-avatar,
.aba-achievement-list .aba-community-avatar {
    overflow: hidden;
}

.aba-community-achievement .aba-community-avatar img,
.aba-achievement-list .aba-community-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 999px;
}

.aba-community-achievement strong,
.aba-community-achievement small {
    display: block;
}

.aba-community-achievement small {
    color: var(--aba-muted);
}

.aba-side-card-link {
    display: inline-flex;
    margin: 0 0 8px;
    color: var(--aba-blue);
    text-decoration: none;
}

.aba-community-feed {
    display: grid;
    gap: 16px;
    width: min(100%, 860px);
    justify-self: center;
}

.aba-community-daily {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid rgba(172,33,83,.16);
    border-radius: 12px;
    padding: 18px;
    background:
        linear-gradient(135deg, rgba(172,33,83,.08), rgba(172,33,83,.04)),
        #ffffff;
}

.aba-community-daily span {
    color: var(--aba-red);
    font-size: 13px;
    text-transform: uppercase;
}

.aba-community-daily h2 {
    margin: 4px 0 6px;
    color: #ac2153;
    font-size: 24px;
    font-weight: 600;
}

.aba-community-daily p {
    max-width: 720px;
    margin: 0;
    color: #ac2153;
    line-height: 1.5;
}

.aba-community-quick-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.aba-community-quick-actions a {
    min-height: 74px;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(172,33,83,.12);
    border-radius: 12px;
    color: var(--aba-blue);
    background: #ffffff;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(172,33,83,.04);
}

.aba-community-quick-actions i {
    width: 36px;
    height: 36px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-community-quick-actions span {
    color: #ac2153;
}

.aba-community-composer {
    padding: 16px;
}

.aba-community-composer form {
    display: grid;
    gap: 12px;
}

.aba-community-composer-head {
    display: grid;
    grid-template-columns: 44px minmax(0, 220px);
    gap: 10px;
    align-items: center;
}

.aba-community-avatar {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    position: relative;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-blue);
    font-size: 14px;
    overflow: visible;
}

.aba-community-avatar .aba-avatar-photo,
.aba-community-avatar .aba-avatar-initials {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    object-fit: cover;
    border-radius: 999px;
    overflow: hidden;
}

.aba-community-avatar .aba-avatar-core-framed {
    position: absolute;
    inset: -14%;
    z-index: 1;
    width: auto;
    height: auto;
}

.aba-community-avatar .aba-avatar-frame {
    inset: -14%;
    width: 128%;
    height: 128%;
}

.aba-community-avatar.small {
    width: 32px;
    height: 32px;
    font-size: 12px;
}

.aba-community-composer select,
.aba-community-composer textarea,
.aba-community-comments input {
    width: 100%;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    font: inherit;
}

.aba-community-composer select {
    min-height: 42px;
    padding: 0 12px;
    background: #ffffff;
}

.aba-community-composer textarea {
    min-height: 110px;
    padding: 12px;
    resize: vertical;
}

.aba-community-composer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.aba-community-composer-actions span {
    color: var(--aba-muted);
}

.aba-community-post {
    padding: 0;
    overflow: hidden;
}

.aba-community-post.is-pinned {
    border-color: rgba(172,33,83,.35);
}

.aba-community-post header {
    padding: 16px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.aba-community-post header strong {
    display: block;
}

.aba-community-post header span,
.aba-community-post header em {
    color: var(--aba-muted);
    font-size: 13px;
    font-style: normal;
}

.aba-community-post header em {
    padding: 5px 9px;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-red);
}

.aba-community-body {
    padding: 0 16px 16px;
    line-height: 1.5;
}

.aba-community-actions {
    padding: 10px 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    border-top: 1px solid var(--aba-border);
    border-bottom: 1px solid var(--aba-border);
    background: #ffffff;
}

.aba-community-actions form {
    margin: 0;
}

.aba-community-actions button,
.aba-community-actions span {
    min-height: 34px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid var(--aba-border);
    border-radius: 999px;
    color: var(--aba-muted);
    background: #ffffff;
    font: inherit;
    cursor: pointer;
}

.aba-community-actions button.active {
    color: #ffffff;
    border-color: var(--aba-blue);
    background: var(--aba-blue);
}

.aba-community-comments {
    padding: 14px 16px 16px;
    display: grid;
    gap: 10px;
}

.aba-community-comments article {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.aba-community-comments article > div:last-child {
    padding: 9px 11px;
    border-radius: 10px;
    background: #f5ebdd;
}

.aba-community-comments strong {
    display: block;
    margin-bottom: 3px;
    font-size: 13px;
}

.aba-community-comments p {
    margin: 0;
}

.aba-community-comments form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 8px;
}

.aba-community-comments input {
    min-height: 42px;
    padding: 0 12px;
}

.aba-community-comments button {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-red);
    font: inherit;
}

.aba-community-empty {
    padding: 22px;
    color: var(--aba-muted);
    text-align: center;
}

.aba-rule-box {
    padding: 18px;
    border: 1px dashed rgba(172,33,83,.28);
    border-radius: 10px;
    background: #f5ebdd;
}

.aba-rule-box h3 {
    margin: 0 0 12px;
    color: var(--aba-blue);
    font-size: 18px;
}

.aba-rule-box p {
    margin: 10px 0 0;
    color: var(--aba-muted);
}

.aba-course-page,
.aba-classroom-page {
    width: min(var(--aba-shell-width), calc(100% - var(--aba-shell-gutter)));
    margin: 0 auto;
    flex: 1;
    padding: 48px 0 70px;
}

.aba-page-heading {
    margin-bottom: 28px;
}

.aba-page-heading h1 {
    margin: 0;
    font-size: clamp(38px, 6vw, 64px);
    line-height: 1;
}

.aba-page-heading p {
    max-width: 720px;
    margin: 14px 0 0;
    color: var(--aba-muted);
    font-size: 18px;
    line-height: 1.45;
}

.aba-back-link {
    display: inline-flex;
    margin-bottom: 18px;
    color: var(--aba-blue);
    font-weight: 900;
    text-decoration: none;
}

.aba-area-grid,
.aba-program-grid,
.aba-admin-split {
    display: grid;
    gap: 18px;
}

.aba-area-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 36px;
}

.aba-area-card,
.aba-program-card,
.aba-table-card {
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(172,33,83,.08);
}

.aba-area-card {
    min-height: 140px;
    padding: 24px;
    color: var(--aba-text);
    text-decoration: none;
}

.aba-area-card strong {
    display: block;
    margin-bottom: 8px;
    font-size: 28px;
    font-weight: 900;
}

.aba-area-card span {
    color: var(--aba-muted);
    font-size: 16px;
    line-height: 1.4;
}

.aba-course-section {
    margin-top: 28px;
}

.aba-continue-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.aba-continue-card {
    display: grid;
    gap: 7px;
    padding: 16px;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    color: inherit;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(172,33,83,.08);
    text-decoration: none;
}

.aba-continue-card span {
    color: var(--aba-muted);
}

/* My courses follows the same blue-title/red-rule visual system as the rest of the platform. */
.aba-my-courses-page{width:min(1180px,calc(100% - 40px));padding-top:42px}
.aba-my-courses-page .aba-page-heading{margin-bottom:30px}
.aba-my-courses-page .aba-page-heading h1{color:#ac2153;font-size:clamp(40px,5vw,58px);font-weight:900;letter-spacing:-.025em}
.aba-my-courses-page .aba-heading-rule{display:block;width:76px;height:5px;margin-top:14px;border-radius:99px;background:#ac2153}
.aba-my-courses-page .aba-page-heading p{max-width:780px;color:#ac2153}
.aba-my-courses-page .aba-course-section{margin:0}
.aba-my-courses-page .aba-continue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.aba-my-courses-page .aba-continue-card{position:relative;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:8px 16px;min-height:190px;padding:24px;border:1px solid #f5ebdd;border-radius:20px;box-shadow:0 14px 36px rgba(172,33,83,.09);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.aba-my-courses-page .aba-continue-card:hover{transform:translateY(-3px);border-color:#f5ebdd;box-shadow:0 18px 42px rgba(172,33,83,.14)}
.aba-my-course-icon{width:62px;height:62px;display:grid!important;place-items:center;border-radius:18px!important;color:#ffffff!important;background:#ac2153;font-size:25px}
.aba-my-course-copy{min-width:0;display:grid;gap:5px}
.aba-my-course-copy strong{color:#ac2153;font-size:23px;line-height:1.12}
.aba-my-course-copy span{font-size:15px;line-height:1.35}
.aba-my-courses-page .aba-card-progress{grid-column:1/-1;width:100%;height:16px;margin:10px 0 0;background:#f5ebdd}
.aba-my-courses-page .aba-card-progress span{background:linear-gradient(90deg,#ac2153,#fb76a4)}
.aba-my-courses-page .aba-card-progress em{font-size:11px;font-weight:800;text-shadow:0 1px 2px rgba(172,33,83,.2)}
.aba-my-course-action{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding-top:14px;border-top:1px solid #f5ebdd;color:#ac2153;font-size:15px}
.aba-my-courses-page .aba-empty-payment{padding:28px;border:1px dashed #f5ebdd;border-radius:18px;background:#f5ebdd;color:#ac2153;text-align:center}
@media(max-width:720px){.aba-my-courses-page{width:calc(100% - 28px);padding:28px 0 46px}.aba-my-courses-page .aba-page-heading h1{font-size:42px}.aba-my-courses-page .aba-page-heading p{font-size:16px}.aba-my-courses-page .aba-continue-grid{grid-template-columns:1fr}.aba-my-courses-page .aba-continue-card{grid-template-columns:54px minmax(0,1fr);min-height:174px;padding:18px;border-radius:17px}.aba-my-course-icon{width:54px;height:54px;border-radius:15px!important;font-size:22px}.aba-my-course-copy strong{font-size:20px}}

.aba-section-head {
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.aba-section-head h2 {
    margin: 0;
    font-size: 28px;
}

.aba-program-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aba-program-card {
    overflow: hidden;
}

.aba-program-cover {
    min-height: 170px;
    display: flex;
    align-items: flex-end;
    padding: 16px;
    color: #ffffff;
    background:
        linear-gradient(rgba(172,33,83,.62), rgba(172,33,83,.72)),
        linear-gradient(135deg, var(--aba-blue), var(--aba-red));
    background-position: center;
    background-size: cover;
    text-decoration: none;
}

.aba-program-cover span,
.aba-program-tag {
    width: fit-content;
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 4px;
    color: var(--aba-blue);
    background: #ffffff;
    font-size: 13px;
    font-weight: 900;
}

.aba-program-card-body {
    padding: 18px;
}

.aba-program-card h3 {
    margin: 12px 0 8px;
    font-size: 22px;
    line-height: 1.1;
}

.aba-program-card h3 a {
    text-decoration: none;
}

.aba-program-card p {
    margin: 0;
    color: var(--aba-muted);
    font-weight: 800;
}

.aba-program-status-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 0 14px;
}

.aba-program-status-row.compact {
    margin: 0 0 8px;
}

.aba-program-access-pill {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 26px;
    padding: 4px 10px;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-blue);
    font-size: 12px;
    line-height: 1;
}

.aba-program-access-pill.is-available {
    background: #ac2153;
}

.aba-program-access-pill.is-blocked,
.aba-program-access-pill.is-not_enrolled,
.aba-program-access-pill.is-paused {
    background: var(--aba-red);
}

.aba-program-access-pill.is-enrolled {
    background: var(--aba-blue);
}

.aba-program-access-pill.is-paid {
    background: #ac2153;
}

.aba-program-access-pill.is-pending {
    background: #ac2153;
}

.aba-drbull-widget {
    position: fixed;
    right: 0;
    bottom: 92px;
    z-index: 1200;
    font-family: inherit;
}

.aba-drbull-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(210px, 300px) auto;
    align-items: end;
    gap: 6px;
    animation: abaBullFloatIn .55s ease both;
}

.aba-drbull-main,
.aba-drbull-tab {
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 0;
    pointer-events: auto;
    touch-action: manipulation;
}

.aba-drbull-main img {
    display: block;
    width: 142px;
    height: 142px;
    object-fit: contain;
    filter: drop-shadow(0 18px 26px rgba(172,33,83,.24));
    animation: abaBullWave 2.2s ease-in-out infinite;
    pointer-events: none;
}

.aba-drbull-bubble {
    position: relative;
    margin-bottom: 12px;
    padding: 14px 16px;
    border: 1px solid var(--aba-border);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 18px 34px rgba(172,33,83,.16);
}

.aba-drbull-bubble::before {
    content: "";
    position: absolute;
    right: -8px;
    bottom: 20px;
    width: 14px;
    height: 14px;
    transform: rotate(45deg);
    border-right: 1px solid var(--aba-border);
    border-top: 1px solid var(--aba-border);
    background: #ffffff;
}

.aba-drbull-bubble strong {
    display: block;
    color: var(--aba-blue);
    font-size: 15px;
}

.aba-drbull-bubble p {
    margin: 4px 0 10px;
    color: #ac2153;
    font-size: 14px;
    line-height: 1.35;
}

.aba-drbull-bubble a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-red);
    text-decoration: none;
    font-size: 13px;
    font-weight: 400;
}

.aba-drbull-close {
    position: absolute;
    right: 124px;
    top: -16px;
    z-index: 3;
    width: 30px;
    height: 30px;
    border: 1px solid var(--aba-border);
    border-radius: 999px;
    color: var(--aba-blue);
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(172,33,83,.12);
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}

.aba-drbull-tab {
    width: 54px;
    height: 54px;
    border-radius: 18px 0 0 18px;
    background: var(--aba-blue);
    box-shadow: 0 16px 28px rgba(172,33,83,.22);
    transform: translateX(0);
}

.aba-drbull-tab img {
    width: 68px;
    height: 68px;
    object-fit: contain;
    transform: translate(-18px, -9px);
}

.aba-drbull-widget.is-collapsed .aba-drbull-card {
    display: none;
}

.aba-drbull-widget.is-collapsed .aba-drbull-tab {
    display: block;
}

@keyframes abaBullFloatIn {
    from {
        opacity: 0;
        transform: translateX(80px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes abaBullWave {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }
    50% {
        transform: translateY(-4px) rotate(-1.5deg);
    }
}

.aba-program-card-actions {
    display: flex;
    gap: 10px;
    margin-top: 14px;
}

.aba-program-card-actions a {
    flex: 1;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--aba-blue);
    border-radius: 7px;
    color: var(--aba-blue);
    text-decoration: none;
}

.aba-program-card-actions a.primary {
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-card-progress {
    position: relative;
    height: 13px;
    margin-top: 14px;
    overflow: hidden;
    border-radius: 999px;
    background: #f5ebdd;
}

.aba-card-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--aba-blue);
}

.aba-card-progress em {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #ffffff;
    font-size: 10px;
    font-style: normal;
    line-height: 1;
}

.aba-card-progress-meta {
    display: block;
    margin-top: 7px;
    color: var(--aba-muted);
    font-size: 13px;
}

.aba-program-detail {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 28px;
    align-items: start;
}

.aba-program-main {
    display: grid;
    gap: 18px;
}

.aba-program-hero {
    min-height: 260px;
    padding: 28px;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    border-radius: 12px;
    color: #ffffff;
    background:
        linear-gradient(rgba(172,33,83,.70), rgba(172,33,83,.78)),
        linear-gradient(135deg, var(--aba-blue), var(--aba-red));
    background-position: center;
    background-size: cover;
    box-shadow: 0 12px 30px rgba(172,33,83,.12);
}

.aba-program-hero span {
    width: fit-content;
    margin-bottom: 10px;
    padding: 5px 9px;
    border-radius: 4px;
    color: var(--aba-blue);
    background: #ffffff;
    font-weight: 900;
}

.aba-program-hero h1 {
    margin: 0;
    max-width: 780px;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1;
}

.aba-program-sidebar-card {
    position: sticky;
    top: 98px;
    overflow: hidden;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(172,33,83,.08);
}

.aba-program-sidebar-card img {
    width: 100%;
    height: 180px;
    display: block;
    object-fit: cover;
}

.aba-program-sidebar-card h2 {
    margin: 22px 22px 14px;
    font-size: 36px;
}

.aba-program-sidebar-card .aba-btn {
    width: calc(100% - 44px);
    margin: 0 22px 20px;
}

.aba-program-sidebar-card form {
    margin: 0;
}

.aba-program-sidebar-card dl {
    margin: 0;
    padding: 0 22px 22px;
    display: grid;
    gap: 12px;
}

.aba-program-sidebar-card dl div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    color: var(--aba-muted);
    font-weight: 800;
}

.aba-section-list {
    display: grid;
    gap: 12px;
}

.aba-section-list article {
    padding: 16px 18px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
}

.aba-section-list article strong {
    font-size: 18px;
}

.aba-section-list article p {
    margin: 8px 0 0;
    color: var(--aba-muted);
}

.aba-public-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.aba-public-section-card {
    overflow: hidden;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #ffffff;
}

.aba-public-section-cover {
    min-height: 150px;
    padding: 14px;
    display: flex;
    align-items: flex-end;
    text-decoration: none;
    color: #ffffff;
    background:
        linear-gradient(rgba(172,33,83,.22), rgba(172,33,83,.70)),
        linear-gradient(135deg, var(--aba-blue), #ac2153);
    background-position: center;
    background-size: cover;
}

.aba-public-section-cover span {
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(172,33,83,.84);
    font-size: 12px;
}

.aba-public-section-body {
    padding: 16px;
    display: grid;
    gap: 14px;
}

.aba-public-section-body strong {
    font-size: 18px;
    line-height: 1.18;
}

.aba-public-section-body a {
    color: var(--aba-ink);
    text-decoration: none;
}

.aba-public-section-progress,
.aba-public-course-progress {
    display: grid;
    gap: 7px;
}

.aba-public-section-progress span,
.aba-public-course-progress span {
    overflow: hidden;
    height: 12px;
    border-radius: 999px;
    background: #f5ebdd;
}

.aba-public-section-progress i,
.aba-public-course-progress i {
    height: 100%;
    display: block;
    border-radius: inherit;
    background: var(--aba-blue);
}

.aba-public-section-progress em,
.aba-public-course-progress em {
    color: var(--aba-muted);
    font-size: 12px;
    font-style: normal;
}

.aba-public-course-progress {
    margin: 0 22px 18px;
}

.aba-checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(360px, 1fr);
    gap: 22px;
    align-items: start;
}

.aba-checkout-card {
    padding: 28px;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 14px 35px rgba(172,33,83,.08);
}

.aba-checkout-card h1 {
    margin: 10px 0 12px;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1;
}

.aba-checkout-price {
    margin: 18px 0;
    display: block;
    font-size: 30px;
    color: var(--aba-blue);
}

#ac2153-payment-element {
    margin-bottom: 22px;
}

.aba-checkout-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 18px;
}

.aba-checkout-fields label {
    display: grid;
    gap: 7px;
    color: var(--aba-muted);
    font-size: 13px;
}

.aba-checkout-fields label:first-child {
    grid-column: 1 / -1;
}

.aba-checkout-fields input {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    color: var(--aba-text);
    background: #ffffff;
    font: inherit;
    outline: none;
}

.aba-checkout-fields input:focus {
    border-color: var(--aba-blue);
    box-shadow: 0 0 0 3px rgba(172,33,83,.1);
}

.aba-checkout-save {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: -4px 0 22px;
    padding: 14px 16px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    color: var(--aba-text);
    background: #f5ebdd;
}

.aba-checkout-save input {
    width: 16px;
    height: 16px;
    accent-color: var(--aba-blue);
}

.aba-stripe-element-shell {
    position: relative;
    min-height: 190px;
    margin-bottom: 22px;
    padding: 16px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #ffffff;
}

.aba-stripe-element-shell.is-ready {
    min-height: 0;
    padding: 0;
    border-color: transparent;
}

.aba-stripe-loading {
    margin: 0;
    padding: 22px;
    border: 1px dashed #f5ebdd;
    border-radius: 8px;
    color: var(--aba-muted);
    background: #f5ebdd;
}

.aba-secure-note.error {
    color: var(--aba-red);
}

.aba-payment-action {
    margin-top: 8px;
    display: inline-flex;
    color: var(--aba-red);
    text-decoration: none;
}

.aba-classroom-page {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 28px;
}

.aba-classroom-cards-page,
.aba-lesson-page {
    width: min(var(--aba-shell-width), calc(100% - var(--aba-shell-gutter)));
    margin: 0 auto;
    flex: 1;
    padding: 42px 0 70px;
}

.aba-classroom-top {
    margin-bottom: 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.aba-classroom-top h1 {
    margin: 0;
    font-size: clamp(34px, 5vw, 54px);
    line-height: 1;
}

.aba-lesson-domain-heading {
    margin: 0 0 18px;
}

.aba-lesson-domain-heading h1 {
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(28px, 3.2vw, 42px);
    line-height: 1;
    text-transform: uppercase;
}

.aba-lesson-domain-heading h1::after {
    content: "";
    display: block;
    width: 88px;
    height: 4px;
    margin-top: 10px;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-module-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.aba-module-card {
    overflow: hidden;
    display: block;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    color: var(--aba-text);
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(172,33,83,.08);
    text-decoration: none;
}

.aba-module-card.is-locked {
    opacity: .82;
}

button.aba-module-card {
    min-height: 300px;
    cursor: pointer;
    font: inherit;
}

.aba-add-module-card {
    display: grid;
    place-items: center;
    gap: 8px;
    color: var(--aba-blue);
    background: #ffffff;
}

.aba-add-module-card strong {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ffffff;
    background: var(--aba-blue);
    font-size: 34px;
}

.aba-add-module-card span {
    font-weight: 900;
}

.aba-module-cover {
    min-height: 178px;
    display: flex;
    align-items: flex-end;
    padding: 14px;
    background:
        linear-gradient(rgba(172,33,83,.18), rgba(172,33,83,.18)),
        linear-gradient(135deg, #f5ebdd, #f5ebdd);
    background-position: center;
    background-size: cover;
}

.aba-module-cover span {
    width: fit-content;
    padding: 5px 9px;
    border-radius: 4px;
    color: var(--aba-blue);
    background: #ffffff;
    font-size: 12px;
    font-weight: 900;
}

.aba-module-cover .aba-lock-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #ffffff;
    background: rgba(172,33,83,.92);
}

.aba-module-body {
    padding: 16px;
    display: block;
}

.aba-module-body h3,
.aba-module-body strong {
    display: block;
    margin: 0 0 8px;
    font-size: 22px;
    line-height: 1.12;
}

.aba-module-body strong a {
    color: inherit;
    text-decoration: none;
}

.aba-module-body p,
.aba-module-body em {
    display: block;
    margin: 0 0 14px;
    color: var(--aba-muted);
    font-style: normal;
    font-weight: 800;
}

.aba-lock-reason {
    display: block;
    margin: -4px 0 12px;
    color: var(--aba-red);
    font-size: 13px;
    line-height: 1.35;
}

.aba-module-progress {
    position: relative;
    height: 14px;
    overflow: hidden;
    border-radius: 999px;
    background: #f5ebdd;
}

.aba-module-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--aba-blue);
}

.aba-module-progress em {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.88);
    font-size: 10px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
}

.aba-module-actions {
    margin-top: 14px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.aba-module-actions a,
.aba-module-actions button {
    border: 0;
    color: var(--aba-blue);
    background: transparent;
    font: inherit;
    font-weight: 400;
    text-decoration: none;
    cursor: pointer;
}

.aba-inline-sort-form {
    display: inline-flex;
    margin: 0;
}

.aba-inline-sort-form button {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-blue);
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
}

.aba-inline-sort-form button:hover {
    border-color: var(--aba-blue);
    background: rgba(172,33,83,.06);
}

.aba-builder-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.aba-builder-panel {
    position: sticky;
    top: 98px;
    padding: 24px;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(172,33,83,.08);
}

.aba-builder-panel h2 {
    margin: 0 0 18px;
}

.aba-builder-preview-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 8px;
}

.aba-form-grid.single-row {
    grid-template-columns: 110px minmax(0, 1fr);
}

.aba-lesson-page {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.aba-lesson-sidebar {
    position: sticky;
    top: 98px;
    max-height: calc(100vh - 112px);
    overflow: auto;
    padding: 14px;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #f5ebdd;
}

.aba-lesson-sidebar h2 {
    margin: 0 0 10px;
    font-size: 24px;
}

.aba-lesson-list {
    position: relative;
    margin: 18px 0;
    display: grid;
    gap: 2px;
}

.aba-lesson-list::before {
    content: "";
    position: absolute;
    top: 16px;
    bottom: 16px;
    left: 18px;
    width: 2px;
    background: #f5ebdd;
}

.aba-lesson-list a {
    position: relative;
    min-height: 54px;
    padding: 9px 10px 9px 0;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 0;
    color: var(--aba-text);
    text-decoration: none;
    font-weight: 400;
    background: transparent;
}

.aba-lesson-list a span {
    min-width: 0;
    flex: 1;
    display: grid;
    gap: 2px;
    overflow: hidden;
}

.aba-lesson-list a span strong {
    display: block;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    font-weight: 600;
}

.aba-lesson-list a span small {
    color: #ac2153;
    font-size: 10px;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.aba-lesson-list a.active,
.aba-lesson-list a:hover {
    background: #f5ebdd;
}

.aba-lesson-favicon {
    position: relative;
    z-index: 1;
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #f5ebdd;
    background: #f5ebdd;
}

.aba-lesson-done {
    width: 22px;
    height: 22px;
    display: none;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 50%;
    color: #ffffff;
    background: var(--aba-red);
    font-size: 12px;
}

.aba-lesson-list a.is-completed .aba-lesson-done,
.aba-lesson-list a.is-failed .aba-lesson-done,
.aba-lesson-list a.is-locked .aba-lesson-done {
    display: inline-flex;
}

.aba-lesson-list a.is-completed .aba-lesson-done {
    background: var(--aba-blue);
}

.aba-lesson-list a.is-failed .aba-lesson-done {
    background: var(--aba-red);
}

.aba-lesson-list a.is-locked {
    color: #ac2153;
}

.aba-lesson-list a.is-locked .aba-lesson-done {
    background: #ac2153;
}

.aba-lesson-sort-actions {
    display: flex;
    gap: 6px;
    margin: -2px 0 8px 34px;
}

.aba-lesson-card {
    padding: 34px;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(172,33,83,.08);
}

.aba-lesson-card.is-locked {
    border-style: dashed;
}

.aba-lock-list {
    margin: 18px 0 0;
    padding-left: 20px;
    color: var(--aba-muted);
    line-height: 1.5;
}

.aba-lesson-card header span {
    color: var(--aba-red);
    font-weight: 900;
    text-transform: uppercase;
}

.aba-lesson-card header {
    position: relative;
    margin: 0;
}

.aba-lesson-card header h1 {
    margin-left: 0;
    margin-right: 0;
    padding-right: 0;
}

.aba-lesson-card-actions {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.aba-lesson-card-actions form {
    margin: 0;
}

.aba-activity-meta {
    margin: -6px 0 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.aba-activity-meta span {
    min-height: 30px;
    padding: 6px 10px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #f5ebdd;
    border-radius: 999px;
    color: #ac2153;
    background: #f5ebdd;
    font-size: 13px;
    line-height: 1;
}

.aba-activity-meta span.is-active {
    border-color: rgba(172,33,83,.35);
    color: var(--aba-blue);
    background: rgba(172,33,83,.08);
}

.aba-inline-edit {
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--aba-border);
    border-radius: 6px;
    color: var(--aba-blue);
    background: #ffffff;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.aba-inline-delete {
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--aba-red);
    border-radius: 6px;
    color: var(--aba-red);
    background: #ffffff;
    font: inherit;
    cursor: pointer;
}

.aba-lesson-card h1 {
    margin: 8px 0 18px;
    color: var(--aba-blue);
    font-size: clamp(24px, 2.4vw, 28px);
    line-height: 1.16;
    text-transform: uppercase;
}

.aba-lesson-page .aba-lesson-card header h1::after {
    content: "";
    display: block;
    width: 84px;
    height: 3px;
    margin-top: 8px;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-outline-search {
    min-height: 46px;
    margin: 14px 0 12px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    color: #ac2153;
}

.aba-outline-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    font: inherit;
}

.aba-outline-section-stack {
    display: grid;
    gap: 6px;
}

.aba-outline-section-stack a {
    min-height: 48px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #f5ebdd;
    color: var(--aba-text);
    text-decoration: none;
}

.aba-outline-section-stack a.active {
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-outline-section-stack a i {
    width: 18px;
    height: 18px;
    border: 2px solid #ac2153;
    border-radius: 50%;
    background: #ffffff;
}

.aba-outline-section-stack a.active i,
.aba-outline-section-stack a:hover i {
    border-color: var(--aba-blue);
    background: var(--aba-blue);
    box-shadow: inset 0 0 0 4px #ffffff;
}

.aba-outline-section-stack a span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.aba-outline-section-stack a em {
    color: #ac2153;
    font-style: normal;
    font-size: 13px;
}

.aba-course-outline {
    display: grid;
    gap: 8px;
    margin: 12px 0 18px;
}

.aba-outline-group {
    border-bottom: 1px solid #f5ebdd;
}

.aba-outline-group summary {
    min-height: 48px;
    padding: 10px 10px;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    border-radius: 8px;
    color: var(--aba-text);
    cursor: pointer;
    list-style: none;
}

.aba-outline-group summary::-webkit-details-marker {
    display: none;
}

.aba-outline-group summary > i {
    width: 18px;
    height: 18px;
    border: 2px solid #ac2153;
    border-radius: 50%;
    background: #ffffff;
}

.aba-outline-group.active summary,
.aba-outline-group summary:hover {
    background: #f5ebdd;
}

.aba-outline-group.active summary > i,
.aba-outline-group summary:hover > i {
    border-color: var(--aba-blue);
    background: var(--aba-blue);
    box-shadow: inset 0 0 0 4px #ffffff;
}

.aba-outline-group summary span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.aba-outline-group summary em {
    color: #ac2153;
    font-style: normal;
    font-size: 13px;
}

.aba-outline-group summary b {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #ffffff;
    background: #ac2153;
    font-size: 11px;
}

.aba-outline-group .aba-lesson-list {
    margin: 4px 0 10px;
}

.aba-outline-group .aba-lesson-list::before {
    left: 18px;
}

.aba-selected-lesson-list[hidden] {
    display: none !important;
}

.aba-lesson-nav-actions {
    margin-top: 30px;
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid var(--aba-border);
}

.aba-lesson-nav-actions .aba-btn {
    border-color: var(--aba-red);
    color: #ffffff;
    background: var(--aba-red);
}

.aba-lesson-nav-actions .aba-btn:hover,
.aba-lesson-nav-actions .aba-btn:focus,
.aba-lesson-nav-actions .aba-btn:active {
    border-color: var(--aba-blue);
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-btn.disabled,
.aba-btn[aria-disabled="true"] {
    opacity: .55;
    pointer-events: none;
    cursor: not-allowed;
}

.aba-board-hub-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 28px;
}

.aba-board-hub-card {
    min-height: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    color: var(--aba-text);
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(172,33,83,.08);
    text-decoration: none;
}

.aba-board-hub-card figure {
    margin: 0;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f5ebdd;
}

.aba-board-hub-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.aba-board-hub-card div {
    min-height: 118px;
    padding: 14px 16px 16px;
    display: grid;
    align-content: start;
    gap: 8px;
    background: #ffffff;
    transition: background .18s ease, color .18s ease;
}

.aba-board-hub-card strong {
    color: var(--aba-blue);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.16;
    letter-spacing: 0;
    text-transform: uppercase;
    transition: color .18s ease;
}

.aba-board-hub-card em {
    color: var(--aba-muted);
    font-size: 14px;
    font-style: normal;
    line-height: 1.35;
    transition: color .18s ease;
}

.aba-board-hub-card:hover {
    border-color: rgba(172,33,83,.42);
    transform: translateY(-2px);
}

.aba-board-hub-card:hover div {
    background: #ac2153;
}

.aba-board-hub-card:hover strong,
.aba-board-hub-card:hover em {
    color: #ffffff;
}

.aba-simple-page {
    width: min(100% - 48px, var(--aba-wide));
    margin: 0 auto;
    padding: 34px 0 76px;
}

.aba-card-panel {
    margin-top: 22px;
    padding: 28px;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(172,33,83,.08);
}

.aba-card-panel h2 {
    margin: 0 0 8px;
}

.aba-card-panel p {
    margin: 0;
    color: var(--aba-muted);
}

.aba-mentoring-page .aba-admin-shell {
    gap: 22px;
}

.aba-mentoring-embed-body,
.aba-one-on-one-embed-body {
    margin: 0;
    overflow-x: hidden;
    background: #f5ebdd;
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
}

.aba-mentoring-embed,
.aba-one-on-one-embed {
    background: #f5ebdd;
    min-height: 0;
}

.aba-one-on-one-embed {
    width: 100%;
    max-width: none;
    padding: 0;
}

.aba-mentoring-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin: 0 0 26px;
    padding: 10px 0 0;
}

.aba-mentoring-heading h1 {
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(2.35rem, 4vw, 4.1rem);
    line-height: 1;
}

.aba-mentoring-heading-rule {
    display: block;
    width: 82px;
    height: 5px;
    margin-top: 15px;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-mentoring-heading-actions {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    flex-wrap: wrap;
}

.aba-mentoring-next {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    align-items: center;
    gap: 28px;
    margin: -8px 0 24px;
    padding: 22px 26px;
    border: 1px solid rgba(172,33,83,.12);
    border-radius: 10px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 16px 34px rgba(172,33,83,.06);
}

.aba-mentoring-next-main {
    display: grid;
    justify-items: start;
    gap: 8px;
}

.aba-mentoring-next-kicker {
    margin: 0;
    color: var(--aba-red);
    font-size: .9rem;
    font-weight: 800;
    text-transform: uppercase;
}

.aba-mentoring-next h2 {
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(1.35rem, 2.2vw, 1.95rem);
    line-height: 1;
}

.aba-mentoring-next-rule {
    display: block;
    width: 42px;
    height: 3px;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-mentoring-next-meta {
    margin: 0;
    color: var(--aba-blue);
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
}

.aba-mentoring-next-spots {
    margin: 0;
    color: var(--aba-blue);
    font-size: 1rem;
    font-weight: 700;
}

.aba-mentoring-countdown {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(172,33,83,.16);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(172,33,83,.08);
}

.aba-mentoring-countdown > div {
    display: grid;
    justify-items: center;
    gap: 2px;
    min-height: 76px;
    padding: 12px 10px;
    border-left: 1px solid rgba(172,33,83,.14);
}

.aba-mentoring-countdown > div:first-child {
    border-left: 0;
}

.aba-mentoring-countdown strong {
    color: var(--aba-blue);
    font-size: 2rem;
    line-height: 1;
}

.aba-mentoring-countdown span {
    color: var(--aba-red);
    font-size: .95rem;
    font-weight: 700;
    line-height: 1;
}

.aba-mentoring-next-action {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    align-content: center;
    gap: 10px;
    min-width: 0;
}

.aba-mentoring-next-action span:not(.aba-mentoring-badge) {
    color: var(--aba-blue);
    font-size: .92rem;
    font-weight: 700;
}

.aba-mentoring-next-action form {
    margin: 0;
}

.aba-mentoring-next-action .aba-btn.primary {
    min-height: 46px;
    padding: 0 24px;
    border-color: var(--aba-blue);
    background: var(--aba-blue);
}

.aba-mentoring-next-action .aba-btn.primary:hover,
.aba-mentoring-next-action .aba-btn.primary:focus-visible {
    border-color: var(--aba-red);
    background: var(--aba-red);
}

.aba-mentoring-create .aba-panel-heading-row p {
    margin: 6px 0 0;
}

.aba-mentoring-form .aba-form-grid {
    align-items: start;
}

.aba-mentoring-form small {
    color: var(--aba-muted);
    font-weight: 700;
}

.aba-mentoring-form .aba-abalive-domain-picker {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
    background: #f5ebdd;
}

.aba-mentoring-form .aba-abalive-domain-picker label {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(172,33,83,.12);
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-blue);
    font-size: .86rem;
    font-weight: 600;
    line-height: 1.15;
}

.aba-mentoring-form .aba-abalive-domain-picker input[type="checkbox"] {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    margin: 0;
    accent-color: var(--aba-blue);
}

.aba-mentoring-zoom-field[hidden] {
    display: none;
}

.aba-mentoring-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(300px, 1fr));
    gap: 20px;
}

.aba-mentoring-card {
    display: grid;
    align-content: start;
    gap: 0;
    overflow: hidden;
    padding: 0;
    background: #ffffff;
    border: 1px solid rgba(172,33,83,.14);
    border-radius: 8px;
    box-shadow: 0 16px 34px rgba(172,33,83,.08);
}

.aba-mentoring-event-banner {
    min-height: 128px;
    background-image: url("../../uploads/abacollege/bannerevents.png");
    background-position: center;
    background-size: cover;
    border-bottom: 1px solid #f5ebdd;
}

.aba-mentoring-card-body {
    display: grid;
    gap: 10px;
    padding: 16px 18px 4px;
}

.aba-mentoring-card.is-full {
    background: #f5ebdd;
    border-color: #f5ebdd;
}

.aba-mentoring-card h3,
.aba-mentoring-card p {
    margin: 0;
}

.aba-mentoring-card h3 {
    color: var(--aba-blue);
    font-size: 1rem;
    line-height: 1.05;
    text-transform: uppercase;
}

.aba-mentoring-title-rule {
    width: 82px;
    height: 3px;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-mentoring-domain {
    color: var(--aba-muted);
    font-weight: 700;
}

.aba-mentoring-domain-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.aba-mentoring-domain-pills span {
    max-width: calc(50% - 3px);
    overflow: hidden;
    padding: 4px 6px;
    border-radius: 999px;
    color: var(--aba-blue);
    background: #f5ebdd;
    font-size: .64rem;
    font-weight: 700;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aba-mentoring-event-facts {
    display: grid;
    gap: 6px;
    color: var(--aba-blue);
    font-size: .84rem;
    font-weight: 500;
}

.aba-mentoring-event-facts div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.aba-mentoring-event-facts i {
    display: inline-grid;
    place-items: center;
    width: 21px;
    height: 21px;
    flex: 0 0 auto;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-red);
    font-size: .66rem;
}

.aba-mentoring-event-facts strong {
    font-weight: 700;
}

.aba-mentoring-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 12px 18px 18px;
}

.aba-mentoring-actions .aba-btn,
.aba-mentoring-actions .inline-delete button {
    min-height: 36px;
    padding: 0 13px;
    font-size: .86rem;
}

.aba-mentoring-actions form {
    margin: 0;
}

.aba-mentoring-badge {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 999px;
    font-weight: 800;
}

.aba-mentoring-badge.is-registered {
    color: #ac2153;
    background: #f5ebdd;
}

.aba-mentoring-badge.is-full {
    color: #ac2153;
    background: #f5ebdd;
}

.aba-translations-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}

.aba-translation-price {
    display: grid;
    gap: 2px;
    min-width: 220px;
    padding: 16px;
    background: #f5ebdd;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
}

.aba-translation-price strong {
    color: var(--aba-blue);
    font-size: 2rem;
    line-height: 1;
}

.aba-translation-price span {
    color: var(--aba-muted);
    font-weight: 700;
}

.aba-translation-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: 18px;
    align-items: start;
}

.aba-translation-payment-panel {
    position: sticky;
    top: 92px;
}

.aba-translation-request-form input[type="file"] {
    padding: 10px;
    background: #ffffff;
}

.aba-translation-order-list {
    display: grid;
    gap: 12px;
}

.aba-translation-order-card {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) auto auto;
    align-items: center;
    gap: 14px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
}

.aba-translation-order-card div {
    display: grid;
    gap: 4px;
}

.aba-translation-order-card span,
.aba-translation-order-card small {
    color: var(--aba-muted);
}

.aba-translation-status {
    justify-self: start;
    padding: 7px 10px;
    border-radius: 999px;
    font-weight: 800;
    color: var(--aba-blue);
    background: #f5ebdd;
}

.aba-translation-status.submitted,
.aba-translation-status.in_progress {
    color: #ac2153;
    background: #f5ebdd;
}

.aba-translation-status.delivered {
    color: #ac2153;
    background: #f5ebdd;
}

.aba-translation-status.payment_failed {
    color: #ac2153;
    background: #f5ebdd;
}

.aba-translation-order-actions {
    display: flex !important;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.aba-abalive-page {
    min-height: 100vh;
    color: #f5ebdd;
    background: #ac2153;
}

.aba-abalive-embed-body {
    margin: 0;
    overflow-x: hidden;
    background: #f5ebdd;
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
}

.aba-abalive-embed {
    min-height: 0;
    color: var(--aba-text);
    background: transparent;
}

.aba-abalive-classes-page {
    color: var(--aba-text);
    background: #f5ebdd;
}

.aba-abalive-page.aba-abalive-classes-page,
.aba-abalive-embed.aba-abalive-classes-page {
    min-height: 0;
    color: var(--aba-text);
    background: #f5ebdd !important;
}

.aba-abalive-shell {
    width: min(100% - 36px, 1440px);
    margin: 0 auto;
    padding: 24px 0 42px;
}

.aba-abalive-embed .aba-abalive-shell,
.aba-abalive-classes-page .aba-abalive-shell {
    width: 100%;
    padding: 0;
}

.aba-abalive-class-hero,
.aba-abalive-create-card,
.aba-abalive-class-card {
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 46px rgba(172,33,83,.08);
}

.aba-abalive-class-hero {
    margin-bottom: 18px;
    padding: 28px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.aba-abalive-classes-page .aba-kicker {
    color: var(--aba-red);
}

.aba-abalive-class-hero h1 {
    margin: 4px 0 8px;
    color: var(--aba-blue);
    font-size: clamp(42px, 5vw, 68px);
    line-height: .95;
}

.aba-abalive-class-hero p {
    margin: 0;
    color: var(--aba-muted);
    font-size: 18px;
}

.aba-abalive-timezone {
    min-width: 220px;
    padding: 16px;
    display: grid;
    gap: 3px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-abalive-timezone strong,
.aba-abalive-timezone span {
    color: var(--aba-blue);
}

.aba-abalive-timezone span {
    font-size: 22px;
    font-weight: 700;
}

.aba-abalive-timezone small {
    color: var(--aba-muted);
}

.aba-abalive-create-card {
    margin-bottom: 18px;
    padding: 22px;
}

.aba-abalive-domain-picker {
    margin: 0;
    padding: 14px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
}

.aba-abalive-domain-picker legend {
    padding: 0 6px;
    color: var(--aba-blue);
    font-weight: 700;
}

.aba-abalive-class-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    gap: 18px;
}

.aba-abalive-classes-page .aba-abalive-class-grid {
    grid-template-columns: repeat(3, minmax(300px, 1fr));
    gap: 20px;
}

.aba-abalive-class-card {
    overflow: hidden;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    min-height: 280px;
    color: var(--aba-ink);
}

.aba-abalive-classes-page .aba-abalive-class-card {
    grid-template-columns: 1fr;
    min-height: 0;
    align-content: start;
    border-radius: 8px;
    box-shadow: 0 16px 34px rgba(172,33,83,.08);
}

.aba-abalive-class-image {
    position: relative;
    min-height: 100%;
    background: linear-gradient(135deg, #f5ebdd 0%, #ffffff 100%);
    border-right: 1px solid var(--aba-border);
}

.aba-abalive-classes-page .aba-abalive-class-image {
    min-height: 128px;
    height: 128px;
    background-image: url("../../uploads/abacollege/bannerevents.png");
    background-position: center;
    background-size: cover;
    border-right: 0;
    border-bottom: 1px solid #f5ebdd;
}

.aba-abalive-class-image img {
    width: 100%;
    height: 100%;
    min-height: 240px;
    display: block;
    object-fit: cover;
    opacity: .96;
}

.aba-abalive-classes-page .aba-abalive-class-image img,
.aba-abalive-classes-page .aba-abalive-class-placeholder {
    display: none;
}

.aba-abalive-class-placeholder,
.aba-mentoring-card-placeholder {
    min-height: 100%;
    display: grid;
    place-items: center;
    color: var(--aba-blue);
    background:
        radial-gradient(circle at 35% 30%, rgba(172,33,83,.11), transparent 32%),
        linear-gradient(135deg, #f5ebdd 0%, #f5ebdd 100%);
}

.aba-abalive-class-placeholder i,
.aba-mentoring-card-placeholder i {
    width: 74px;
    height: 74px;
    display: grid;
    place-items: center;
    color: #ffffff;
    background: var(--aba-red);
    border-radius: 999px;
    font-size: 30px;
    box-shadow: 0 16px 34px rgba(172,33,83,.2);
}

.aba-abalive-class-image span {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 7px 11px;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-red);
    font-weight: 700;
}

.aba-abalive-class-body {
    padding: 22px;
    display: grid;
    gap: 14px;
    background: #ffffff;
}

.aba-abalive-classes-page .aba-abalive-class-body {
    gap: 10px;
    padding: 16px 18px 18px;
}

.aba-abalive-class-meta,
.aba-abalive-class-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.aba-abalive-class-meta span {
    color: var(--aba-red);
    font-weight: 700;
    text-transform: uppercase;
}

.aba-abalive-class-meta strong {
    padding: 8px 12px;
    border-radius: 999px;
    color: var(--aba-blue);
    background: #f5ebdd;
}

.aba-abalive-class-body h2 {
    margin: 0;
    color: var(--aba-blue);
    font-size: 30px;
    line-height: 1.05;
}

.aba-abalive-classes-page .aba-abalive-class-body h2 {
    font-size: 1rem;
    line-height: 1.05;
    text-transform: uppercase;
}

.aba-abalive-class-body p {
    margin: 0;
    color: #ac2153;
    font-size: 17px;
    line-height: 1.45;
}

.aba-abalive-classes-page .aba-abalive-class-body p {
    display: none;
}

.aba-abalive-class-domains {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.aba-abalive-class-domains span {
    padding: 7px 10px;
    border-radius: 999px;
    color: var(--aba-blue);
    background: #f5ebdd;
    font-weight: 600;
}

.aba-abalive-classes-page .aba-abalive-class-domains {
    gap: 5px;
}

.aba-abalive-classes-page .aba-abalive-class-domains span {
    max-width: calc(50% - 3px);
    overflow: hidden;
    padding: 4px 6px;
    background: #f5ebdd;
    font-size: .64rem;
    font-weight: 700;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aba-abalive-class-body dl {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.aba-abalive-classes-page .aba-abalive-class-body dl {
    grid-template-columns: 1fr;
    gap: 6px;
    color: var(--aba-blue);
    font-size: .84rem;
}

.aba-abalive-class-body dt {
    color: var(--aba-muted);
    font-weight: 600;
}

.aba-abalive-class-body dd {
    margin: 0;
    color: var(--aba-text);
    font-weight: 700;
}

.aba-abalive-class-actions form {
    margin: 0;
}

.aba-abalive-class-actions .inline-delete,
.aba-mentoring-actions .inline-delete {
    margin: 0;
}

.aba-abalive-class-actions .inline-delete button,
.aba-mentoring-actions .inline-delete button {
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    color: var(--aba-red);
    background: #f5ebdd;
    font-weight: 600;
}

.aba-abalive-class-actions .inline-delete button:hover,
.aba-mentoring-actions .inline-delete button:hover {
    color: #ffffff;
    background: var(--aba-red);
}

.aba-abalive-topbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}

.aba-abalive-topbar h1 {
    margin: 4px 0 6px;
    color: #ffffff;
    font-size: clamp(2rem, 4vw, 3.8rem);
}

.aba-abalive-topbar p {
    margin: 0;
    max-width: 740px;
    color: #fb76a4;
}

.aba-abalive-status,
.aba-abalive-access-card {
    border: 1px solid rgba(172,33,83,.22);
    background: rgba(172,33,83,.86);
    box-shadow: 0 24px 60px rgba(172,33,83,.32);
}

.aba-abalive-status {
    display: grid;
    gap: 4px;
    min-width: 190px;
    padding: 14px 16px;
    border-radius: 8px;
}

.aba-abalive-status span {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #ac2153;
    box-shadow: 0 0 0 6px rgba(172,33,83,.18);
}

.aba-abalive-status span.is-live {
    background: #fb76a4;
    box-shadow: 0 0 0 6px rgba(251,118,164,.18);
}

.aba-abalive-status strong {
    color: #ffffff;
}

.aba-abalive-status small {
    color: #fb76a4;
}

.aba-abalive-access-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 24px;
    border-radius: 8px;
}

.aba-abalive-access-card h2 {
    margin: 0 0 8px;
    color: #ffffff;
}

.aba-abalive-access-card p {
    margin: 0;
    color: #fb76a4;
}

.aba-abalive-access-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.aba-abalive-room {
    display: grid;
    gap: 14px;
}

.aba-abalive-stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 14px;
}

.aba-abalive-presentation,
.aba-abalive-instructor,
.aba-abalive-controlbar,
.aba-abalive-participants,
.aba-abalive-queue,
.aba-abalive-chat {
    border: 1px solid rgba(172,33,83,.18);
    background: rgba(172,33,83,.82);
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(172,33,83,.28);
}

.aba-abalive-presentation {
    overflow: hidden;
    min-height: 560px;
}

.aba-abalive-slide {
    position: relative;
    min-height: 560px;
    background:
        linear-gradient(135deg, rgba(172,33,83,.92), rgba(172,33,83,.75)),
        #ac2153;
}

.aba-abalive-slide img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .18;
}

.aba-abalive-slide-overlay {
    position: absolute;
    left: clamp(24px, 6vw, 72px);
    right: clamp(24px, 6vw, 72px);
    bottom: clamp(28px, 7vw, 86px);
    display: grid;
    gap: 10px;
    max-width: 760px;
}

.aba-abalive-slide-overlay span {
    color: #f5ebdd;
    font-weight: 800;
    text-transform: uppercase;
}

.aba-abalive-slide-overlay h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.4rem, 6vw, 5.8rem);
    line-height: .95;
}

.aba-abalive-slide-overlay p {
    margin: 0;
    color: #f5ebdd;
    font-size: 1.1rem;
}

.aba-abalive-instructor {
    display: grid;
    gap: 14px;
    padding: 14px;
}

.aba-abalive-video-card {
    display: grid;
    gap: 8px;
}

.aba-abalive-camera {
    position: relative;
    display: grid;
    place-items: center;
    gap: 10px;
    min-height: 220px;
    color: #f5ebdd;
    background: radial-gradient(circle at 35% 20%, rgba(251,118,164,.32), transparent 34%), #ac2153;
    border: 1px solid rgba(172,33,83,.18);
    border-radius: 8px;
}

.aba-abalive-camera video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #ac2153;
    opacity: 0;
    pointer-events: none;
}

.aba-abalive-camera.has-video video {
    opacity: 1;
    pointer-events: auto;
}

.aba-abalive-camera.has-video i,
.aba-abalive-camera.has-video span {
    display: none;
}

.aba-abalive-camera i {
    font-size: 2.4rem;
}

.aba-abalive-video-card strong {
    color: #ffffff;
    font-size: 1.25rem;
}

.aba-abalive-video-card small {
    color: #fb76a4;
}

.aba-abalive-class-tools {
    display: grid;
    gap: 8px;
}

.aba-abalive-class-tools .aba-btn {
    justify-content: flex-start;
}

.aba-abalive-tv-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    color: #f5ebdd;
    background: #ac2153;
    border: 1px solid rgba(172,33,83,.18);
    border-radius: 8px;
}

.aba-abalive-tv-banner span {
    margin-right: auto;
    font-weight: 900;
}

.aba-abalive-class-tools .is-active,
.aba-abalive-controlbar .is-active {
    color: #ffffff;
    background: #ac2153;
    border-color: #ac2153;
}

.aba-abalive-controlbar {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 12px;
}

.aba-abalive-controlbar button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 14px;
    color: #f5ebdd;
    background: #ac2153;
    border: 1px solid rgba(172,33,83,.24);
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
}

.aba-abalive-controlbar button.danger {
    color: #ffffff;
    background: #ac2153;
    border-color: #ac2153;
}

.aba-abalive-cast-panel {
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 1200;
    width: min(92vw, 860px);
    max-height: 86vh;
    overflow: auto;
    transform: translate(-50%, -50%);
    display: grid;
    gap: 16px;
    padding: 18px;
    color: #f5ebdd;
    background: #ac2153;
    border: 1px solid rgba(172,33,83,.24);
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(172,33,83,.28);
}

body.aba-abalive-cast-open::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1190;
    background: rgba(172,33,83,.72);
    backdrop-filter: blur(3px);
}

.aba-abalive-cast-panel[hidden] {
    display: none !important;
}

.aba-abalive-cast-panel h2 {
    margin: 0 0 6px;
    color: #ffffff;
}

.aba-abalive-cast-panel p {
    margin: 0;
    color: #fb76a4;
}

.aba-abalive-cast-actions,
.aba-abalive-cast-steps {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.aba-abalive-cast-steps article {
    display: grid;
    gap: 6px;
    flex: 1 1 220px;
    min-height: 110px;
    padding: 14px;
    background: #ac2153;
    border: 1px solid rgba(172,33,83,.18);
    border-radius: 8px;
}

.aba-abalive-cast-steps strong {
    color: #ffffff;
}

.aba-abalive-cast-steps span {
    color: #fb76a4;
}

.aba-abalive-lower {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px 320px;
    gap: 14px;
}

.aba-abalive-participants,
.aba-abalive-queue,
.aba-abalive-chat {
    padding: 16px;
}

.aba-abalive-participants .aba-panel-heading-row h2,
.aba-abalive-queue h2,
.aba-abalive-chat h2 {
    color: #ffffff;
}

.aba-abalive-participants .aba-panel-heading-row p,
.aba-abalive-queue p,
.aba-abalive-queue span,
.aba-abalive-queue small,
.aba-abalive-chat p {
    color: #fb76a4;
}

.aba-abalive-people-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.aba-abalive-people-row article {
    display: grid;
    justify-items: center;
    gap: 8px;
    min-height: 132px;
    padding: 12px;
    text-align: center;
    background: #ac2153;
    border: 1px solid rgba(172,33,83,.18);
    border-radius: 8px;
}

.aba-abalive-people-row article.is-speaking {
    border-color: #fb76a4;
    box-shadow: 0 0 0 3px rgba(251,118,164,.18);
}

.aba-abalive-people-row strong {
    color: #ffffff;
    line-height: 1.1;
}

.aba-abalive-people-row span {
    color: #fb76a4;
    font-size: .86rem;
}

.aba-abalive-queue {
    display: grid;
    gap: 12px;
    align-content: start;
}

.aba-abalive-queue [data-abalive-request] {
    display: grid;
    gap: 8px;
    padding: 12px;
    background: #ac2153;
    border: 1px solid rgba(172,33,83,.18);
    border-radius: 8px;
}

.aba-abalive-queue [hidden] {
    display: none !important;
}

.aba-abalive-chat {
    display: grid;
    gap: 12px;
    align-content: start;
}

.aba-abalive-chat-log {
    display: grid;
    gap: 8px;
    max-height: 260px;
    overflow: auto;
    padding-right: 4px;
}

.aba-abalive-chat-log article,
.aba-abalive-chat-log p {
    margin: 0;
    padding: 10px;
    color: #f5ebdd;
    background: #ac2153;
    border: 1px solid rgba(172,33,83,.18);
    border-radius: 8px;
}

.aba-abalive-chat-log article {
    display: grid;
    gap: 4px;
}

.aba-abalive-chat-log strong {
    color: #ffffff;
}

.aba-abalive-chat-log span {
    color: #f5ebdd;
}

.aba-abalive-chat-log article.is-reaction {
    border-color: rgba(251,118,164,.42);
    background: #ac2153;
}

.aba-abalive-chat-form {
    display: flex;
    gap: 8px;
}

.aba-abalive-chat-form input {
    min-width: 0;
    flex: 1;
    padding: 10px 12px;
    color: #f5ebdd;
    background: #ac2153;
    border: 1px solid rgba(172,33,83,.24);
    border-radius: 8px;
}

.aba-abalive-tv-mode {
    background: #ac2153;
}

.aba-abalive-tv-mode .sticky-header,
.aba-abalive-tv-mode .neuro-footer,
.aba-abalive-tv-mode .aba-chat-launcher {
    display: none !important;
}

.aba-abalive-tv-mode .aba-abalive-page {
    min-height: 100vh;
}

.aba-abalive-tv-mode .aba-abalive-shell {
    width: min(100% - 24px, 1800px);
    padding: 12px 0;
}

.aba-abalive-tv-mode .aba-abalive-topbar,
.aba-abalive-tv-mode .aba-abalive-controlbar,
.aba-abalive-tv-mode .aba-abalive-lower {
    display: none;
}

.aba-abalive-tv-mode .aba-abalive-stage {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 18vw);
}

.aba-abalive-tv-mode .aba-abalive-presentation,
.aba-abalive-tv-mode .aba-abalive-slide {
    min-height: calc(100vh - 110px);
}

.aba-abalive-tv-mode .aba-abalive-instructor {
    align-content: start;
}

.aba-abalive-tv-mode .aba-abalive-class-tools {
    display: none;
}

.aba-abalive-tv-mode .aba-abalive-camera {
    min-height: 280px;
}

.aba-abalive-tv-presenter .aba-abalive-shell {
    width: 100%;
    padding: 0;
}

.aba-abalive-tv-presenter .aba-abalive-room {
    gap: 0;
}

.aba-abalive-tv-presenter .aba-abalive-stage {
    min-height: 100vh;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 20vw);
    gap: 0;
}

.aba-abalive-tv-presenter .aba-abalive-presentation,
.aba-abalive-tv-presenter .aba-abalive-instructor {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.aba-abalive-tv-presenter .aba-abalive-presentation,
.aba-abalive-tv-presenter .aba-abalive-slide {
    min-height: 100vh;
}

.aba-abalive-tv-presenter .aba-abalive-instructor {
    background: #ac2153;
    border-left: 1px solid rgba(172,33,83,.18);
}

.aba-abalive-tv-presenter .aba-abalive-video-card {
    min-height: 100%;
}

.aba-abalive-tv-presenter .aba-abalive-camera {
    min-height: calc(100vh - 96px);
}

.aba-abalive-embed .aba-abalive-class-grid,
.aba-mentoring-embed .aba-mentoring-grid {
    align-items: stretch;
}

.aba-abalive-embed .aba-abalive-class-card,
.aba-mentoring-embed .aba-mentoring-card,
.aba-one-on-one-embed .aba-card-panel,
.aba-one-on-one-embed .aba-one-on-one-hero,
.aba-one-on-one-embed .aba-one-on-one-admin {
    background: #ffffff;
    color: var(--aba-ink);
}

.aba-abalive-embed .aba-abalive-create-card,
.aba-mentoring-embed .aba-mentoring-create {
    background: #ffffff;
}

.aba-abalive-embed .aba-abalive-class-body,
.aba-mentoring-embed .aba-mentoring-card {
    min-width: 0;
}

@media (max-width: 1380px) {
    .aba-board-hub-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .aba-board-hub-grid,
    .aba-mentoring-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aba-mentoring-next {
        grid-template-columns: 1fr;
    }

    .aba-mentoring-next-action {
        justify-items: start;
    }

    .aba-abalive-class-grid {
        grid-template-columns: 1fr;
    }

    .aba-abalive-classes-page .aba-abalive-class-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .aba-board-hub-grid,
    .aba-mentoring-grid,
    .aba-translation-layout,
    .aba-lesson-page {
        grid-template-columns: 1fr;
    }

    .aba-translation-payment-panel {
        position: static;
    }

    .aba-translation-order-card {
        grid-template-columns: 1fr;
    }

    .aba-abalive-classes-page .aba-abalive-class-grid {
        grid-template-columns: 1fr;
    }

    .aba-mentoring-next {
        padding: 18px;
    }

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

    .aba-mentoring-countdown > div:nth-child(3) {
        border-left: 0;
    }

    .aba-abalive-topbar,
    .aba-abalive-class-hero,
    .aba-abalive-access-card,
    .aba-abalive-stage,
    .aba-abalive-lower {
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .aba-abalive-class-card,
    .aba-abalive-domain-picker,
    .aba-abalive-class-body dl {
        grid-template-columns: 1fr;
    }

    .aba-abalive-timezone {
        width: 100%;
    }

    .aba-abalive-presentation,
    .aba-abalive-slide {
        min-height: 420px;
    }

    .aba-abalive-camera {
        min-height: 260px;
    }

    .aba-abalive-controlbar {
        justify-content: stretch;
        overflow-x: auto;
    }

    .aba-abalive-controlbar button {
        flex: 0 0 auto;
    }

    .aba-abalive-people-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aba-abalive-chat-form {
        flex-direction: column;
    }

    .aba-mentoring-actions .aba-btn,
    .aba-mentoring-actions form {
        width: 100%;
    }

    .aba-mentoring-card dl div {
        grid-template-columns: 1fr;
    }

    .aba-lesson-sidebar {
        position: static;
        max-height: none;
    }
}

.aba-video-frame,
.aba-file-frame,
.aba-canva-frame {
    margin-bottom: 22px;
}

.aba-video-frame {
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    background: #ac2153;
}

.aba-canva-frame {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #ffffff;
}

.aba-canva-frame iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}


.aba-file-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.aba-player {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    color: #ffffff;
    background: #ac2153;
}

.aba-player:fullscreen,
.aba-player:-webkit-full-screen {
    width: 100vw;
    height: 100vh;
    background: #ac2153;
}

.aba-player-media,
.aba-player-media iframe,
.aba-player-media video,
.aba-player video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.aba-player-media {
    overflow: hidden;
}

.aba-player-media iframe {
    pointer-events: none;
}

.aba-youtube-stage {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
}

.aba-youtube-stage iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
}

.aba-player[data-provider="youtube"] .aba-player-media iframe {
    transform: none;
    transform-origin: center center;
}

.aba-player[data-provider="youtube"]::before {
    content: none;
}

.aba-player[data-provider="youtube"]::after {
    content: none;
}

.aba-player-shield {
    position: absolute;
    inset: 0;
    z-index: 3;
    background: transparent;
    pointer-events: none;
}

.aba-player-shield::before,
.aba-player-shield::after {
    content: none;
}

.aba-player-shield::before {
    content: none;
}

.aba-player-shield::after {
    content: none;
}

.aba-player-poster {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .2s ease;
}

.aba-player::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: 4;
    height: 28%;
    background: linear-gradient(180deg, rgba(172,33,83,0), rgba(172,33,83,.34));
    pointer-events: none;
    opacity: 1;
    transition: opacity .18s ease;
}

.aba-player.is-playing:not(.controls-visible)::after {
    opacity: 0;
}

.aba-player-custom-brand {
    position: absolute;
    right: 42px;
    bottom: 18px;
    z-index: 5;
    width: 96px;
    max-height: 34px;
    object-fit: contain;
    pointer-events: none;
    opacity: 0;
    padding: 2px 4px;
    border-radius: 4px;
    background: rgba(172,33,83,.18);
    filter: drop-shadow(0 1px 4px rgba(172,33,83,.26));
    transition: opacity .18s ease;
}

.aba-player.is-playing.controls-visible .aba-player-custom-brand {
    opacity: 1;
}

.aba-player-youtube-actions {
    display: none;
}

.aba-player-youtube-actions span {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #ffffff;
    background: rgba(172,33,83,.28);
    font-size: 12px;
}

.aba-player.is-playing:not(.controls-visible) .aba-player-youtube-actions {
    opacity: 0;
}

.aba-player-youtube-brand {
    display: none;
}

.aba-player-youtube-brand i {
    font-size: 14px;
}

.aba-player.is-playing:not(.controls-visible) .aba-player-youtube-brand {
    opacity: 0;
}

.aba-player-bigplay {
    position: absolute;
    inset: 50% auto auto 50%;
    z-index: 5;
    width: 78px;
    height: 78px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%);
    border: 0;
    border-radius: 50%;
    color: #ffffff;
    background: rgba(172,33,83,.28);
    box-shadow: none;
    font-size: 30px;
    cursor: pointer;
}

.aba-player-bigplay i {
    margin-left: 4px;
}

.aba-player-complete {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 7;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    color: #ffffff;
    background: #fb76a4;
    box-shadow: 0 10px 22px rgba(251,118,164,.34);
}

.aba-player-complete[hidden] {
    display: none;
}

.aba-player-controls {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 12px;
    z-index: 6;
    display: grid;
    grid-template-columns: 28px auto 1fr 28px 28px;
    align-items: center;
    gap: 9px;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(172,33,83,.58);
    box-shadow: 0 8px 18px rgba(172,33,83,.14);
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}

.aba-player[data-provider="youtube"] .aba-player-controls {
    bottom: 10px;
    left: 48px;
    right: 116px;
}

.aba-player.is-playing.controls-visible .aba-player-controls {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.aba-player-controls button {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    background: transparent;
    font-size: 14px;
    cursor: pointer;
}

.aba-player-controls span {
    min-width: 78px;
    font-size: 13px;
    font-weight: 900;
    text-shadow: 0 1px 8px rgba(172,33,83,.6);
}

.aba-player-controls input[type="range"] {
    width: 100%;
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ffffff 0 var(--video-progress, 0%), rgba(255,255,255,.42) var(--video-progress, 0%) 100%);
    accent-color: #ffffff;
    cursor: pointer;
    appearance: none;
}

.aba-player-controls input[type="range"]::-webkit-slider-thumb {
    width: 13px;
    height: 13px;
    appearance: none;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 1px 4px rgba(172,33,83,.22);
}

.aba-player-controls input[type="range"]::-moz-range-thumb {
    width: 13px;
    height: 13px;
    border: 0;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 1px 4px rgba(172,33,83,.22);
}

.aba-player:fullscreen .aba-player-custom-brand,
.aba-player:-webkit-full-screen .aba-player-custom-brand {
    width: 110px;
    max-height: 38px;
    right: 54px;
    bottom: 22px;
}

.aba-player:fullscreen .aba-player-controls,
.aba-player:-webkit-full-screen .aba-player-controls {
    left: 72px;
    right: 134px;
}

.aba-player.hide-progress .aba-player-controls input[type="range"] {
    visibility: hidden;
}

.aba-player.is-playing .aba-player-poster,
.aba-player.is-playing .aba-player-bigplay {
    opacity: 0;
    pointer-events: none;
}

.aba-file-frame iframe {
    min-height: 520px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
}

.aba-rich-content {
    color: #ac2153;
    font-size: 18px;
    line-height: 1.6;
}

.aba-lesson-card header,
.aba-rich-content,
.aba-rich-content h1,
.aba-rich-content h2,
.aba-rich-content h3,
.aba-rich-content h4,
.aba-rich-content h5,
.aba-rich-content h6,
.aba-rich-content p,
.aba-rich-content ul,
.aba-rich-content ol,
.aba-rich-content blockquote,
.aba-rich-content hr {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.aba-rich-content > *:first-child {
    margin-top: 0;
}

.aba-rich-content > *:last-child {
    margin-bottom: 0;
}

.aba-rich-content h2,
.aba-rich-content h3,
.aba-rich-content h4,
.aba-rich-content h5 {
    margin: 22px 0 10px;
    font-weight: 700;
    line-height: 1.24;
}

.aba-rich-content h2 {
    color: var(--aba-blue);
    font-size: 20px;
}

.aba-rich-content h3,
.aba-rich-content h4,
.aba-rich-content h5 {
    color: var(--aba-blue);
    font-size: 18px;
    font-weight: 650;
    text-transform: uppercase;
}

.aba-rich-content p {
    margin: 0 0 16px;
}

.aba-rich-content ul,
.aba-rich-content ol {
    margin: 0 0 18px;
    padding-left: 24px;
}

.aba-rich-content li {
    margin: 5px 0;
    padding-left: 2px;
}

.aba-rich-content strong {
    color: inherit;
    font-weight: 650;
}

.aba-rich-content blockquote {
    margin: 18px 0;
    padding: 14px 18px;
    color: #ac2153;
    background: #f5ebdd;
    border-left: 3px solid #fb76a4;
    border-radius: 8px;
}

.aba-rich-content code {
    padding: 2px 6px;
    color: inherit;
    background: #f5ebdd;
    border-radius: 6px;
    font-size: .92em;
}

.aba-rich-content hr {
    margin: 26px 0;
    border: 0;
    border-top: 1px solid var(--aba-border);
}

.aba-quiz-placeholder {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.aba-quiz-placeholder h2 {
    margin: 0;
    color: var(--aba-blue);
    font-size: 26px;
}

.aba-quiz-placeholder dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.aba-quiz-placeholder dl div {
    padding: 14px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-quiz-placeholder dt {
    color: var(--aba-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.aba-quiz-placeholder dd {
    margin: 6px 0 0;
    color: var(--aba-blue);
    font-size: 20px;
    font-weight: 900;
}

.aba-lesson-card footer {
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid var(--aba-border);
}

.aba-lesson-card footer a {
    color: var(--aba-blue);
    font-weight: 900;
    text-decoration: none;
}

.aba-edit-tools {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.aba-edit-tools.vertical {
    align-items: stretch;
    flex-direction: column;
}

.aba-edit-tools button {
    font-family: inherit;
}

.aba-modal {
    position: fixed;
    inset: 0;
    z-index: 50;
    padding: 28px;
    display: grid;
    place-items: center;
    background: rgba(172,33,83,.50);
}

.aba-modal[hidden] {
    display: none !important;
}

.aba-modal-card {
    position: relative;
    width: min(620px, 100%);
    max-height: calc(100vh - 56px);
    overflow: auto;
    padding: 28px;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(172,33,83,.22);
}

.aba-modal-card.wide {
    width: min(920px, 100%);
}

.aba-modal-card h2 {
    margin: 0 0 18px;
    font-size: 28px;
}

.aba-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    border: 1px solid var(--aba-border);
    border-radius: 50%;
    color: var(--aba-muted);
    background: #ffffff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.modal-open body {
    overflow: hidden;
}

.aba-classroom-sidebar {
    position: sticky;
    top: 98px;
    display: grid;
    gap: 8px;
    align-self: start;
}

.aba-classroom-sidebar strong,
.aba-classroom-sidebar a {
    padding: 12px 14px;
    border-radius: 8px;
    background: #ffffff;
    text-decoration: none;
    font-weight: 900;
}

.aba-classroom-main {
    display: grid;
    gap: 18px;
}

.aba-progress-bar {
    width: min(360px, 100%);
    height: 8px;
    margin-top: 22px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.55);
}

.aba-progress-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #ffffff;
}

.aba-classroom-tabs {
    display: flex;
    gap: 18px;
    border-bottom: 1px solid var(--aba-border);
}

.aba-classroom-tabs a {
    padding: 0 0 10px;
    color: var(--aba-muted);
    font-weight: 900;
    text-decoration: none;
}

.aba-classroom-tabs a.active {
    color: var(--aba-blue);
    border-bottom: 3px solid var(--aba-blue);
}

.aba-classroom-sections {
    display: grid;
    gap: 16px;
}

.aba-classroom-section {
    padding: 24px;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(172,33,83,.06);
}

.aba-classroom-section h2 {
    margin: 0 0 10px;
}

.aba-lesson-placeholder {
    margin-top: 18px;
    padding: 18px;
    border: 1px dashed #f5ebdd;
    border-radius: 8px;
    color: var(--aba-muted);
    font-weight: 800;
    text-align: center;
}

.aba-lesson-placeholder.small {
    padding: 12px;
}

.aba-activity-list {
    margin-top: 18px;
    display: grid;
    gap: 10px;
}

.aba-activity-item {
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-activity-item i {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--aba-blue);
    background: #f5ebdd;
    font-size: 18px;
}

.aba-activity-item strong,
.aba-activity-item span {
    display: block;
}

.aba-activity-item span {
    margin-top: 2px;
    color: var(--aba-muted);
    font-weight: 800;
}

.aba-subsection-block {
    margin-top: 18px;
    padding: 18px;
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-subsection-block h3 {
    margin: 0;
    font-size: 20px;
}

.aba-table-card {
    padding: 8px;
    overflow-x: auto;
}

.aba-admin-table {
    width: 100%;
    border-collapse: collapse;
}

.aba-admin-table th,
.aba-admin-table td {
    padding: 14px 12px;
    border-bottom: 1px solid var(--aba-border);
    text-align: left;
    vertical-align: middle;
}

.aba-admin-table th {
    color: var(--aba-muted);
    font-size: 13px;
    text-transform: uppercase;
}

.aba-admin-form-card {
    width: 100%;
    max-width: none;
    margin: 0;
}

.aba-checkbox-line {
    min-height: 46px;
    display: inline-flex !important;
    align-items: center;
    gap: 10px !important;
    font-weight: 900;
}

.aba-checkbox-line input {
    width: auto !important;
    min-height: auto !important;
}

.aba-admin-split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
}

.aba-section-list.admin article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.aba-section-list.admin article.child {
    margin-left: 24px;
}

.aba-section-list.admin article.activity {
    margin-left: 24px;
    background: #f5ebdd;
}

.aba-section-list.admin article.child-activity {
    margin-left: 48px;
}

.aba-section-list.admin span,
.aba-section-list.admin span form {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.aba-section-list.admin button {
    border: 0;
    color: var(--aba-red);
    background: transparent;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.aba-community-admin-split {
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, .7fr);
}

.aba-admin-community-list {
    display: grid;
    gap: 14px;
}

.aba-admin-community-post {
    padding: 16px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #ffffff;
}

.aba-admin-community-post header,
.aba-admin-community-comment {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.aba-admin-community-post header strong,
.aba-admin-rank-list strong {
    display: block;
    font-weight: 500;
}

.aba-admin-community-post header span,
.aba-admin-community-post small,
.aba-admin-rank-list em {
    color: var(--aba-muted);
    font-style: normal;
}

.aba-admin-community-post p {
    margin: 14px 0;
    line-height: 1.55;
}

.aba-inline-actions,
.aba-inline-actions form {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.aba-inline-actions button,
.aba-admin-community-comment button {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--aba-border);
    border-radius: 6px;
    color: var(--aba-blue);
    background: #ffffff;
    font: inherit;
    cursor: pointer;
}

.aba-inline-actions button.danger,
.aba-admin-community-comment button.danger {
    border-color: rgba(172,33,83,.45);
    color: var(--aba-red);
}

.aba-admin-community-comment {
    margin-top: 10px;
    padding: 10px;
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-admin-rank-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.aba-admin-rank-list div,
.aba-admin-rank-list li {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(172,33,83,.08);
    list-style: none;
}

.aba-admin-rank-list span {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-mini-settings {
    padding-top: 20px;
    border-top: 1px solid var(--aba-border);
}

.aba-gamification-split {
    grid-template-columns: minmax(0, 1.55fr) minmax(340px, .85fr);
}

.aba-admin-table tr.is-selected-row td {
    background: #f5ebdd;
}

.aba-gamification-user {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.aba-gamification-user h2 {
    margin: 0 0 4px;
}

.aba-gamification-user p {
    margin: 0;
    color: var(--aba-muted);
}

.aba-level-meter {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

.aba-level-meter > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.aba-level-meter strong,
.aba-level-meter span {
    color: var(--aba-blue);
}

.aba-gamification-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0;
}

.aba-admin-mini-form {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-admin-mini-form h3,
.aba-gamification-badges h3,
.aba-gamification-history h3 {
    margin: 0;
}

.aba-gamification-badges,
.aba-gamification-history {
    display: grid;
    gap: 10px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--aba-border);
}

.aba-gamification-badges article,
.aba-gamification-history article {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border: 1px solid rgba(172,33,83,.1);
    border-radius: 8px;
    background: #ffffff;
}

.aba-gamification-badges img {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    object-fit: cover;
}

.aba-gamification-badges strong,
.aba-gamification-badges span,
.aba-gamification-history span,
.aba-gamification-history em,
.aba-gamification-history small {
    display: block;
}

.aba-gamification-history strong {
    color: var(--aba-blue);
}

.aba-gamification-history strong.is-negative {
    color: var(--aba-red);
}

.aba-gamification-history em,
.aba-gamification-history small {
    color: var(--aba-muted);
    font-style: normal;
}

.aba-leaderboard-hero {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
}

.aba-leaderboard-hero div {
    padding: 14px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-leaderboard-hero span,
.aba-leaderboard-list small,
.aba-achievement-list small {
    display: block;
    color: var(--aba-muted);
}

.aba-leaderboard-hero strong {
    color: var(--aba-blue);
    font-size: 34px;
}

.aba-leaderboard-tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.aba-leaderboard-tabs a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    padding: 0 18px;
    border: 1px solid var(--aba-border);
    border-radius: 999px;
    color: var(--aba-blue);
    background: #ffffff;
    text-decoration: none;
}

.aba-leaderboard-tabs a.active {
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-leaderboard-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, .7fr);
}

.aba-leaderboard-list,
.aba-achievement-list {
    display: grid;
    gap: 10px;
}

.aba-leaderboard-list a {
    display: grid;
    grid-template-columns: 36px 46px minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    color: inherit;
    background: #ffffff;
    text-decoration: none;
}

.aba-leaderboard-list a.is-me {
    border-color: rgba(172,33,83,.35);
    background: #f5ebdd;
}

.aba-leaderboard-position {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-leaderboard-list em {
    color: var(--aba-blue);
    font-style: normal;
}

.aba-leaderboard-list b {
    font-weight: 400;
    color: var(--aba-muted);
}

.aba-achievement-list article {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(172,33,83,.08);
    overflow: hidden;
}

.aba-achievement-list p {
    margin: 2px 0;
}

.aba-mini-settings h2 {
    margin: 0 0 14px;
    font-size: 22px;
}

.aba-check-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.aba-check-grid label {
    padding: 12px;
    display: flex !important;
    align-items: center;
    gap: 10px !important;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    font-weight: 900;
}

.aba-check-grid input {
    width: auto !important;
    min-height: auto !important;
}

.aba-settings-form textarea.large {
    min-height: 170px;
}

.aba-delete-form {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--aba-border);
}

.aba-delete-form button {
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid var(--aba-red);
    border-radius: 6px;
    color: var(--aba-red);
    background: #ffffff;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.aba-footer {
    margin-top: auto;
    padding: 18px 32px;
    background: var(--aba-red);
    color: var(--aba-white);
    font-size: 14px;
}

.aba-footer p {
    width: min(var(--aba-shell-width), 100%);
    margin: 0 auto;
}

@media (max-width: 820px) {
    :root {
        --aba-shell-gutter: 28px;
    }

    .aba-header {
        height: auto;
        padding: 14px 18px;
        flex-wrap: wrap;
    }

    .aba-nav {
        order: 3;
        width: 100%;
        overflow-x: auto;
    }

    .aba-header-actions {
        margin-left: auto;
    }

    .aba-hero,
    .aba-continue-grid,
    .aba-leaderboard-hero,
    .aba-leaderboard-layout,
    .aba-auth-card,
    .aba-profile-layout,
    .aba-admin-grid,
    .aba-profile-gamification-stats,
    .aba-settings-page,
    .aba-form-grid,
    .aba-area-grid,
    .aba-program-grid,
    .aba-public-section-grid,
    .aba-program-detail,
    .aba-checkout-layout,
    .aba-classroom-page,
    .aba-admin-split,
    .aba-gamification-actions,
    .aba-check-grid,
    .aba-module-grid,
    .aba-builder-layout,
    .aba-lesson-page,
    .aba-access-options,
    .aba-inline-fields {
        grid-template-columns: 1fr;
    }

    .aba-my-shell,
    .aba-my-content-grid {
        grid-template-columns: 1fr;
    }

    .aba-my-shell {
        min-height: 0;
    }

    .aba-my-service-rail {
        position: static;
        height: auto;
        max-height: none;
        min-height: 0;
        border-radius: 0;
    }

    .aba-my-service-rail nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aba-my-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .aba-access-options[data-access-options="activity"] > *,
    .aba-access-options[data-access-options="section"] > * {
        grid-column: 1 / -1;
    }

    .aba-checkout-fields {
        grid-template-columns: 1fr;
    }

    .aba-enrollment-add-form {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .aba-inline-status-form {
        align-items: stretch;
        flex-direction: column;
    }

    .aba-drbull-widget {
        right: 0;
        bottom: 78px;
    }

    .aba-drbull-card {
        grid-template-columns: minmax(160px, 220px) auto;
    }

    .aba-drbull-main img {
        width: 82px;
        height: 82px;
    }

    .aba-drbull-bubble {
        padding: 12px 13px;
    }

    .aba-classroom-sidebar,
    .aba-program-sidebar-card,
    .aba-builder-panel,
    .aba-lesson-sidebar {
        position: static;
    }

    .aba-profile-card,
    .aba-profile-feed {
        grid-column: auto;
        grid-row: auto;
    }

    .aba-leaderboard-list a {
        grid-template-columns: 32px 42px minmax(0, 1fr);
    }

    .aba-leaderboard-list em,
    .aba-leaderboard-list b {
        grid-column: 3;
    }

    .aba-profile-card {
        order: -1;
    }

    .aba-profile-badges {
        grid-template-columns: 1fr;
    }

    .aba-badges-grid {
        grid-template-columns: 1fr;
    }

    .aba-admin-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .aba-hero-bull {
        position: relative;
        right: auto;
        top: auto;
        bottom: auto;
        width: 100%;
        min-height: 440px;
        justify-content: flex-end;
    }

    .aba-hero-bull img {
        width: auto;
        height: 440px;
        max-height: none;
    }

    .aba-hero {
        min-height: 0;
        padding: 42px 0;
    }
}

.sticky-header {
    min-height: 74px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 0 35px 0 390px;
    background: var(--aba-blue);
    color: #ffffff;
    box-shadow: 0 4px 16px rgba(172,33,83,.18);
    overflow: visible;
    z-index: 1000;
}

.logo,
.logo a {
    display: flex;
    align-items: center;
}

.logo {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    flex: 0 0 auto;
    min-height: 0;
    width: 390px;
    padding: 0;
    display: flex;
    align-items: center;
    align-self: flex-start;
    margin: 0;
    pointer-events: auto;
}

.logo a {
    min-height: 0;
}

.logo img,
.sticky-header .logo img {
    display: block !important;
    width: auto !important;
    height: 96px !important;
    max-width: 390px !important;
    max-height: none !important;
    object-fit: contain !important;
}

.mainnav {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    min-width: 0;
}

.mainnav ul {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mainnav li,
.header-action-menu {
    position: relative;
}

.mainnav .top-link {
    min-height: 42px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    border-radius: 4px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.mainnav .top-link:hover,
.mainnav .top-link:focus,
.mainnav .top-link.nav-active {
    color: #ffffff;
    background: rgba(255,255,255,.12);
    outline: none;
}

.header-dropdown {
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    z-index: 2000;
    min-width: 230px;
    display: none;
    padding: 8px;
    border: 1px solid rgba(172,33,83,.14);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 22px 46px rgba(172,33,83,.24);
}

.header-dropdown.right {
    left: auto;
    right: 0;
}

.mainnav li:hover > .header-dropdown,
.mainnav li:focus-within > .header-dropdown,
.header-action-menu:hover > .header-dropdown,
.header-action-menu:focus-within > .header-dropdown {
    display: grid;
    gap: 4px;
}

.header-dropdown a,
.header-empty-item {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 9px 10px;
    border-radius: 8px;
    color: var(--aba-text);
    font-size: 15px;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

.header-dropdown a:hover,
.header-dropdown a:focus {
    color: var(--aba-blue);
    background: #f5ebdd;
    outline: none;
}

.header-dropdown a strong {
    font-weight: 400;
}

.header-dropdown a em {
    min-width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-red);
    font-size: 12px;
    font-style: normal;
}

.header-empty-item {
    color: var(--aba-muted);
}

.header-tools {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

.header-icon-button,
.header-avatar-button {
    position: relative;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(255,255,255,.06);
    cursor: pointer;
}

.header-icon-button i {
    font-size: 17px;
}
.header-icon-button{ text-decoration:none!important; }
.header-message-glyph{position:relative!important;inset:auto!important;width:19px!important;min-width:19px!important;height:17px!important;padding:0!important;border:1.8px solid currentColor!important;border-radius:5px!important;background:transparent!important;display:block!important}
.header-message-glyph::after{content:none!important}
.header-message-glyph b{position:absolute;left:4px;width:9px;height:1.5px;border:0!important;background:currentColor!important}.header-message-glyph b:first-child{top:5px}.header-message-glyph b:last-child{top:9px;width:6px}

.header-icon-button span {
    position: absolute;
    right: -3px;
    top: -5px;
    min-width: 19px;
    height: 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--aba-blue);
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-red);
    font-size: 10px;
    line-height: 1;
}

.header-avatar-button {
    padding: 0;
    overflow: visible;
}

.header-avatar-shell {
    position: relative;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 999px;
}

.header-avatar-button .aba-avatar-core {
    position: relative;
    z-index: 1;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255,255,255,.12);
}

.header-avatar-button .aba-avatar-photo,
.header-avatar-button .aba-avatar-initials {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    border-radius: 999px;
    object-fit: cover;
    overflow: hidden;
}

.header-avatar-button .aba-avatar-core-framed {
    position: absolute;
    inset: -7%;
    width: auto;
    height: auto;
}

.header-avatar-button .aba-avatar-frame {
    position: absolute;
    inset: -8%;
    z-index: 2;
    width: 116%;
    height: 116%;
    object-fit: contain;
    border-radius: 999px;
    pointer-events: none;
}

.profile-menu {
    min-width: 220px;
}

.language-switch {
    display: inline-flex;
    gap: 4px;
    margin: 0;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
}

.language-switch a {
    min-width: 34px;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.language-switch a.active {
    color: var(--aba-blue);
    background: #ffffff;
}

.menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    margin-left: auto;
    padding: 9px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 4px;
    background: transparent;
}

.menu-toggle span {
    display: block;
    height: 2px;
    margin: 5px 0;
    background: #ffffff;
}

.header-profile-link {
    min-height: 34px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.header-profile-link:hover {
    background: rgba(255,255,255,.12);
}

.neuro-footer {
    display: block;
    flex-shrink: 0;
    margin-top: auto;
    padding: 0;
    color: #ffffff;
    background: var(--aba-blue);
    border-top: 0;
}

.nh-footer-orgs {
    flex-shrink: 0;
    width: 100%;
    padding: 60px 0 40px;
    border-top: 1px solid #f5ebdd;
    background: #ffffff;
    box-shadow: 0 -4px 18px rgba(172,33,83,.07);
}

.nh-footer-orgs-inner {
    width: 95%;
    max-width: 1800px;
    margin: 0 auto;
    text-align: center;
}

.nh-footer-orgs-title {
    margin: 0 0 26px;
    color: var(--aba-blue);
    font-size: 32px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.nh-footer-orgs-empty {
    margin: 0;
    color: var(--aba-text);
    font-weight: 600;
    opacity: .75;
}

.nh-orgs-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
}

.nh-orgs-slider.is-dragging {
    cursor: grabbing;
}

.nh-orgs-track {
    display: flex;
    align-items: center;
    width: max-content;
    padding: 10px 0;
    will-change: transform;
}

.nh-orgs-track a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    text-decoration: none;
}

.nh-orgs-track img {
    flex: 0 0 auto;
    height: 70px;
    width: auto;
    max-width: 220px;
    margin: 0 40px;
    filter: grayscale(100%);
    opacity: .9;
    pointer-events: auto;
    transition: all .3s ease;
    user-select: none;
    -webkit-user-drag: none;
}

.nh-orgs-track img:hover {
    filter: none;
    opacity: 1;
    transform: scale(1.05);
}

.aba-institution-preview {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 12px 0;
    padding: 12px 14px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #f5ebdd;
}

.aba-institution-preview img,
.aba-institution-table-logo {
    width: auto;
    max-width: 130px;
    height: 44px;
    object-fit: contain;
}

.aba-institution-preview span {
    color: var(--aba-muted);
    font-size: 13px;
}

.nh-footer-main {
    width: 95%;
    max-width: 1800px;
    margin: 0 auto;
    padding: 50px 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
}

.nh-footer-logo {
    flex: 1;
    min-width: 240px;
    margin-bottom: 20px;
    text-align: center;
}

.nh-footer-logo img {
    display: block;
    width: auto;
    height: 190px;
    max-width: 260px;
    margin: 0 auto;
    object-fit: contain !important;
}

.nh-footer-col {
    flex: 1;
    min-width: 200px;
    margin-bottom: 20px;
}

.nh-footer-col h3 {
    margin: 0 0 10px;
    color: #ac2153;
    font-size: 17px;
    font-weight: 700;
}

.nh-footer-divider {
    display: block;
    width: 48px;
    height: 4px;
    margin: -4px 0 12px;
    overflow: hidden;
    border-radius: 999px;
    color: transparent;
    background: #ac2153;
    font-size: 0;
}

.nh-footer-col p {
    margin: 0;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.5;
}

.nh-footer-col ul {
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 1.8;
}

.neuro-footer a,
.nh-footer-col a {
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
    transition: color .3s, background .3s, transform .3s;
}

.neuro-footer a:hover,
.nh-footer-col a:hover {
    color: #ac2153;
}

.contact-btn {
    display: inline-block;
    margin-top: 15px;
    padding: 12px 30px;
    border-radius: 25px;
    color: #ffffff !important;
    background: #ac2153;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
}

.contact-btn:hover {
    color: #ac2153 !important;
    background: #ffffff;
    transform: translateY(-2px);
}

.nh-footer-bottom-wrap {
    width: 100%;
    margin-top: 0;
    background: #ac2153;
}

.nh-footer-bottom {
    width: 95%;
    max-width: 1800px;
    margin: 0 auto;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    color: #ffffff;
    font-size: 14px;
}

.nh-footer-copy {
    order: 1;
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
    font-weight: 400;
}

.nh-footer-socials {
    order: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: nowrap;
}

.social-circle-footer {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin: 0;
    border-radius: 50%;
    color: var(--aba-red) !important;
    background: #ffffff;
    font-size: 22px;
    box-shadow: 0 2px 6px rgba(172,33,83,.25);
}

.social-circle-footer:hover {
    color: #ffffff !important;
    background: var(--aba-blue);
    transform: translateY(-2px);
}

.aba-quiz-panel {
    margin-top: 24px;
}

.aba-quiz-summary {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 18px;
    margin-bottom: 18px;
}

.aba-quiz-score {
    min-width: 112px;
    padding: 12px 14px;
    border: 1px solid #f5ebdd;
    border-radius: 10px;
    text-align: center;
}

.aba-quiz-score strong {
    display: block;
    color: var(--aba-blue);
    font-size: 24px;
    line-height: 1;
}

.aba-quiz-score span,
.aba-quiz-note {
    color: #ac2153;
    font-size: 13px;
}

.aba-quiz-form,
.aba-quiz-results {
    display: grid;
    gap: 16px;
}

.aba-quiz-question {
    margin: 0;
    padding: 18px;
    border: 1px solid #f5ebdd;
    border-radius: 12px;
    background: #ffffff;
}

.aba-quiz-question h3 {
    margin: 0 0 14px;
    color: #ac2153;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.35;
}

.aba-quiz-question h3 strong {
    font-weight: 900;
}

.aba-quiz-question h3 span {
    font-weight: 400;
}

.aba-quiz-choice,
.aba-quiz-answer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
    padding: 12px 14px;
    border: 1px solid #f5ebdd;
    border-radius: 10px;
    background: #f5ebdd;
}

.aba-quiz-choice {
    justify-content: flex-start;
    cursor: pointer;
}

.aba-quiz-choice input {
    width: 18px;
    height: 18px;
}

.aba-quiz-answer.correct {
    border-color: var(--aba-blue);
    background: #f5ebdd;
}

.aba-quiz-choice.correct {
    border-color: var(--aba-blue);
    background: #f5ebdd;
}

.aba-quiz-answer.selected:not(.correct),
.aba-quiz-choice.selected:not(.correct),
.aba-quiz-question.is-wrong {
    border-color: #f5ebdd;
}

.aba-quiz-answer.selected:not(.correct),
.aba-quiz-choice.selected:not(.correct) {
    background: #f5ebdd;
}

.aba-quiz-answer em {
    color: #ac2153;
    font-size: 12px;
    font-style: normal;
}

.aba-quiz-question.needs-answer {
    border-color: var(--aba-red);
    box-shadow: 0 0 0 2px rgba(172,33,83,.1);
}

.aba-quiz-pager {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 4px;
}

.aba-quiz-pager span {
    color: #ac2153;
    font-size: 13px;
}

.aba-quiz-explanation {
    margin: 14px 0 0;
    padding: 12px 14px;
    border-left: 4px solid var(--aba-red);
    background: #f5ebdd;
}

.aba-quiz-feedback {
    margin-top: 14px;
    padding: 12px 14px;
    border-left: 4px solid var(--aba-blue);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-quiz-question.is-wrong .aba-quiz-feedback {
    border-left-color: var(--aba-red);
}

.aba-quiz-feedback strong {
    display: block;
    margin-bottom: 6px;
    color: var(--aba-blue);
}

.aba-quiz-question.is-wrong .aba-quiz-feedback strong {
    color: var(--aba-red);
}

.aba-quiz-feedback p {
    margin: 0;
}

.aba-quiz-actions {
    margin-top: 18px;
}

.aba-quiz-complete-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.aba-stat-panel span {
    display: block;
    color: #ac2153;
    font-size: 13px;
}

.aba-stat-panel strong {
    display: block;
    margin-top: 8px;
    color: var(--aba-blue);
    font-size: 34px;
    line-height: 1;
}

.aba-status-pill {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    color: #ffffff;
    background: var(--aba-red);
    font-size: 12px;
}

.aba-status-pill.is-passed {
    background: var(--aba-blue);
}

.aba-status-pill.is-pending {
    background: #f5ebdd;
    color: #ac2153;
    border-color: #f5ebdd;
}

.aba-admin-user-editor .aba-settings-section-title {
    margin-top: 28px;
}

.aba-admin-user-editor .aba-settings-section-title:first-of-type {
    margin-top: 8px;
}

.aba-admin-welcome-action {
    margin: 22px 0 8px;
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid #f5ebdd;
    border-radius: 14px;
    background: #f5ebdd;
}

.aba-admin-welcome-action div {
    display: grid;
    gap: 5px;
}

.aba-admin-welcome-action small {
    color: #ac2153;
}

@media (max-width: 720px) {
    .aba-admin-welcome-action {
        align-items: stretch;
        flex-direction: column;
    }
}

.aba-inline-search {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.aba-inline-search input {
    min-height: 40px;
    min-width: 220px;
    padding: 0 12px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
}

.aba-table-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.aba-table-actions form {
    margin: 0;
}

.aba-mini-link {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--aba-blue);
    font: inherit;
    font-weight: 800;
    line-height: 1.2;
    padding: 0;
    text-decoration: none;
    cursor: pointer;
}

.aba-mini-link:hover {
    text-decoration: underline;
}

.aba-mini-link.danger {
    color: var(--aba-red);
}

.aba-action-separator {
    color: var(--aba-muted);
}

.aba-muted-text {
    color: var(--aba-muted);
    font-size: 13px;
}

.aba-glossary-page {
    width: min(100%, 1500px);
    padding: 56px 24px 70px;
}

.aba-glossary-heading {
    width: 100%;
    max-width: 1500px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin: 0 0 26px;
    padding: 0;
}

.aba-glossary-heading .aba-kicker,
.aba-glossary-heading p {
    display: none !important;
}

.aba-glossary-heading h1 {
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(2.35rem, 4vw, 4.1rem);
    font-weight: 800;
    line-height: 1;
}

.aba-glossary-page.aba-glossary-embed .aba-glossary-heading h1 {
    position: static;
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(2.35rem, 4vw, 4.1rem);
    font-weight: 800;
    line-height: 1;
}

.aba-glossary-page.aba-glossary-embed .aba-glossary-heading h1::after {
    content: none;
    display: none;
}

.aba-glossary-tools {
    display: grid;
    gap: 18px;
    margin-bottom: 22px;
}

.aba-glossary-editor {
    margin-bottom: 22px;
}

.aba-glossary-search,
.aba-admin-search {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.aba-glossary-search input,
.aba-admin-search input {
    min-width: min(420px, 100%);
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    color: var(--aba-text);
    background: #ffffff;
    font: inherit;
}

.aba-glossary-letters {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.aba-glossary-letters a {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    color: var(--aba-blue);
    background: #ffffff;
    text-decoration: none;
}

.aba-glossary-letters a.active,
.aba-glossary-letters a:hover {
    color: #ffffff;
    background: var(--aba-blue);
}

.aba-glossary-list {
    display: grid;
    gap: 14px;
}

.aba-glossary-term {
    display: grid;
    gap: 12px;
}

.aba-glossary-term h2 {
    margin: 0 0 4px;
    font-size: 28px;
}

.aba-glossary-term span {
    color: var(--aba-muted);
}

.aba-glossary-term p {
    margin: 0;
    color: #ac2153;
    font-size: 18px;
    line-height: 1.55;
}

.aba-library-embed-body {
    min-height: 100vh;
    margin: 0;
    background: #f5ebdd;
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
    color: var(--aba-text);
}

.aba-library-page {
    background: #f5ebdd;
}

.aba-library-shell {
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 44px 24px 72px;
}

.aba-page-title-row.aba-library-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 28px;
}

.aba-page-title-row.aba-library-heading h1 {
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(2.35rem, 4vw, 4.1rem);
    font-weight: 800;
    line-height: 1;
}

.aba-page-title-row.aba-library-heading span {
    width: 82px;
    height: 5px;
    display: block;
    margin-top: 14px;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-library-filters {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(150px, 1fr)) auto;
    align-items: end;
    gap: 12px;
    margin: 0 0 28px;
    padding: 18px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 32px rgba(172,33,83,.06);
}

.aba-library-filters label,
.aba-library-form label {
    display: grid;
    gap: 7px;
    color: var(--aba-muted);
    font-size: .82rem;
    font-weight: 700;
}

.aba-library-filters input,
.aba-library-filters select,
.aba-library-form input,
.aba-library-form select,
.aba-library-form textarea {
    min-height: 44px;
    width: 100%;
    padding: 0 12px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-text);
    font: inherit;
}

.aba-library-empty {
    padding: 28px;
}

.aba-library-month-section {
    display: grid;
    gap: 14px;
    margin: 0 0 34px;
}

.aba-library-month-section h2 {
    margin: 0;
    color: var(--aba-blue);
    font-size: 1.35rem;
    font-weight: 800;
    text-transform: uppercase;
}

.aba-library-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.aba-library-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(172,33,83,.07);
}

.aba-library-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    display: block;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: var(--aba-blue);
    cursor: pointer;
}

.aba-library-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: saturate(.92);
    transition: transform .2s ease, filter .2s ease;
}

.aba-library-thumb i {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(172,33,83,.95);
    color: #ffffff;
    transform: translate(-50%, -50%);
    box-shadow: 0 12px 26px rgba(172,33,83,.28);
}

.aba-library-card:hover .aba-library-thumb img {
    transform: scale(1.035);
    filter: saturate(1.05);
}

.aba-library-card-body {
    display: grid;
    gap: 8px;
    padding: 13px 14px 15px;
}

.aba-library-card-body strong {
    min-height: 38px;
    color: var(--aba-blue);
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.1;
}

.aba-library-card-body > span {
    color: var(--aba-muted);
    font-size: .78rem;
    font-weight: 600;
}

.aba-library-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.aba-library-chips em {
    padding: 4px 7px;
    border-radius: 999px;
    background: #f5ebdd;
    color: var(--aba-blue);
    font-size: .68rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

.aba-library-progress {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #f5ebdd;
}

.aba-library-progress span {
    height: 100%;
    display: block;
    border-radius: inherit;
    background: var(--aba-red);
}

.aba-library-card-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px 14px;
}

.aba-library-delete {
    margin: 0;
}

.aba-library-edit,
.aba-library-delete button {
    min-height: 32px;
    padding: 0 12px;
    border-radius: 7px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.aba-library-edit {
    border: 1px solid #ac2153;
    background: #ffffff;
    color: var(--aba-blue);
}

.aba-library-edit:hover,
.aba-library-edit:focus-visible {
    border-color: var(--aba-blue);
    background: var(--aba-blue);
    color: #ffffff;
}

.aba-library-delete button {
    border: 1px solid #f5ebdd;
    background: #f5ebdd;
    color: var(--aba-red);
}

.aba-library-delete button:hover,
.aba-library-delete button:focus-visible {
    border-color: var(--aba-red);
    background: var(--aba-red);
    color: #ffffff;
}

.aba-library-player-modal,
.aba-library-form-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
    padding: 28px;
    background: rgba(172,33,83,.72);
}

.aba-library-player-modal.is-open,
.aba-library-form-modal.is-open {
    display: grid;
    place-items: center;
}

.aba-library-player-panel,
.aba-library-form-panel {
    width: min(100%, 1320px);
    max-height: calc(100vh - 56px);
    overflow: auto;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(172,33,83,.28);
}

.aba-library-player-panel {
    display: grid;
    gap: 14px;
    padding: 22px;
}

.aba-library-player-panel h2 {
    margin: 0;
    padding-right: 150px;
    color: var(--aba-blue);
    font-size: clamp(1.5rem, 2.5vw, 2.2rem);
    font-weight: 800;
    line-height: 1.05;
}

.aba-library-modal-close {
    position: sticky;
    top: 0;
    justify-self: end;
    min-height: 40px;
    padding: 0 18px;
    border: 1px solid var(--aba-blue);
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-blue);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    z-index: 2;
}

.aba-library-player {
    width: 100%;
    min-height: min(70vh, 720px);
}

.aba-library-player .aba-player-media {
    min-height: min(70vh, 720px);
}

.aba-library-form-panel {
    padding: 24px;
}

.aba-library-form-panel > header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.aba-library-form-panel h2 {
    margin: 0;
    color: var(--aba-blue);
    font-size: 1.8rem;
    font-weight: 800;
}

.aba-library-form-panel header button {
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid var(--aba-blue);
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-blue);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.aba-library-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.aba-library-form-wide {
    grid-column: 1 / -1;
}

.aba-library-form fieldset {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
}

.aba-library-form legend {
    padding: 0 8px;
    color: var(--aba-blue);
    font-weight: 800;
}

.aba-library-form fieldset label,
.aba-library-form-visible {
    display: flex;
    align-items: center;
    gap: 8px;
}

.aba-library-form fieldset input,
.aba-library-form-visible input {
    width: auto;
    min-height: 0;
}

.aba-library-domain-checks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

body.aba-modal-open {
    overflow: hidden;
}

@media (max-width: 1280px) {
    .aba-library-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

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

@media (max-width: 860px) {
    .aba-library-shell {
        padding: 32px 16px 56px;
    }

    .aba-page-title-row.aba-library-heading,
    .aba-library-form-panel > header {
        align-items: flex-start;
        flex-direction: column;
    }

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

    .aba-library-form,
    .aba-library-filters,
    .aba-library-domain-checks {
        grid-template-columns: 1fr;
    }

    .aba-library-player-modal,
    .aba-library-form-modal {
        padding: 12px;
    }
}

.aba-form-grid .span-2 {
    grid-column: 1 / -1;
}

.aba-error-page {
    min-height: calc(100vh - 74px);
    padding: 72px 20px;
    display: grid;
    place-items: center;
}

.aba-error-card {
    width: min(680px, 100%);
    padding: 44px 32px;
    display: grid;
    justify-items: center;
    gap: 14px;
    text-align: center;
    background: #ffffff;
    border: 1px solid var(--aba-border);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(172,33,83,.12);
}

.aba-error-logo {
    width: min(320px, 84vw);
    max-height: 190px;
    object-fit: contain;
    margin-bottom: 8px;
}

.aba-error-card h1 {
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(34px, 5vw, 54px);
    line-height: 1;
}

.aba-error-card p {
    max-width: 460px;
    margin: 0 0 8px;
    color: var(--aba-muted);
    font-size: 18px;
    line-height: 1.45;
}

.aba-error-button {
    min-height: 48px;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--aba-red);
    color: #ffffff;
    font-weight: 900;
    text-decoration: none;
}

button,
.aba-btn,
.aba-edit-button,
.aba-secondary-button,
.aba-error-button,
.aba-mini-link.as-button {
    font-weight: 400 !important;
}

@media (max-width: 820px) {
    .aba-community-shell {
        grid-template-columns: 1fr;
    }

    .aba-community-sidebar {
        position: static;
    }

    .aba-community-daily {
        align-items: stretch;
        flex-direction: column;
    }

    .aba-community-quick-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aba-chat-shell {
        grid-template-columns: 1fr;
    }

    .aba-chat-sidebar {
        height: auto;
        max-height: none;
    }

    .aba-chat-panel {
        height: 620px;
        min-height: 620px;
    }

    .aba-chat-message {
        max-width: 92%;
    }

    .aba-chat-sound-toggle,
    .aba-chat-online-form {
        position: static;
        margin-top: 10px;
        display: inline-grid;
    }

    .aba-chat-online-form {
        margin-left: 8px;
    }

    .aba-chat-embed .aba-chat-shell {
        width: 100%;
        height: auto;
        min-height: 0;
        grid-template-columns: 1fr;
        overflow: hidden;
    }

    .aba-chat-embed .aba-chat-sidebar {
        min-height: 0;
        height: auto;
    }

    .aba-chat-embed .aba-chat-panel {
        min-height: 620px;
    }

    .aba-chat-embed .aba-chat-sound-toggle,
    .aba-chat-embed .aba-chat-online-form {
        position: static;
        margin-top: 10px;
    }

    .sticky-header {
        padding-right: 16px;
        padding-left: 265px;
    }

    .logo {
        width: 265px;
        padding: 0;
        min-height: 62px;
        margin: 0;
    }

    .aba-lesson-card header h1 {
        padding-right: 0;
    }

    .aba-lesson-card-actions {
        position: static;
        margin-bottom: 14px;
        flex-wrap: wrap;
    }

    .sticky-header {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 12px;
        padding: 10px 16px 10px 265px;
    }

    .logo img,
    .sticky-header .logo img {
        height: 72px !important;
        max-height: none !important;
        max-width: 265px !important;
    }

    .menu-toggle {
        display: block;
    }

    .mainnav {
        display: none;
        order: 4;
        width: 100%;
        flex-basis: 100%;
    }

    .mainnav.active {
        display: block;
    }

    .mainnav ul {
        align-items: stretch;
        flex-direction: column;
        gap: 4px;
        padding-top: 8px;
    }

    .mainnav .top-link {
        width: 100%;
        justify-content: flex-start;
    }

    .nh-footer-orgs {
        padding: 38px 0 26px;
    }

    .nh-footer-orgs-title {
        margin-bottom: 18px;
        font-size: 22px;
    }

    .nh-orgs-track img {
        height: 52px;
        margin: 0 22px;
    }

    .nh-footer-main {
        width: 100%;
        padding: 38px 22px 30px;
        align-items: flex-start;
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }

    .nh-footer-col,
    .nh-footer-logo {
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    .nh-footer-logo img {
        width: 164px;
        height: 164px;
        max-width: 52vw;
    }

    .nh-footer-col h3 {
        margin-bottom: 11px;
        font-size: 18px;
        text-align: center;
    }

    .nh-footer-divider {
        width: 58px;
        height: 4px;
        margin: 0 auto 16px;
        color: transparent!important;
        font-size: 0!important;
    }

    .nh-footer-col p,
    .nh-footer-col ul {
        max-width: 560px;
        margin-right: auto;
        margin-left: auto;
        font-size: 15px;
        line-height: 1.7;
        text-align: center;
    }

    .nh-footer-bottom {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        gap: 14px;
    }

    .nh-footer-socials {
        order: 1;
        width: 100%;
        justify-content: center;
        gap: 6px;
    }

    .nh-footer-copy {
        order: 2;
        width: 100%;
        text-align: center;
    }

    .social-circle-footer {
        width: 34px;
        height: 34px;
        font-size: 17px;
    }
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
[role="button"],
a[class*="btn"],
a[class*="button"],
button[class*="btn"],
button[class*="button"],
.aba-btn,
.aba-auth-form button,
.aba-edit-button,
.aba-secondary-button,
.aba-error-button,
.aba-mini-link.as-button,
.aba-settings-form button,
.aba-payment-card button,
.aba-card-menu-panel button,
.inline-delete button,
.aba-module-actions a,
.aba-module-actions button,
.aba-inline-sort-form button,
.aba-player-controls button,
.aba-edit-tools button,
.aba-section-list.admin button,
.aba-delete-form button,
.aba-login-link,
.aba-lang,
.aba-settings-nav a,
.aba-profile-card a,
.aba-admin-card a {
    font-weight: 400 !important;
}

.aba-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 22px 0;
}

.aba-stat-grid article {
    min-height: 104px;
    padding: 22px;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(172,33,83,.08);
}

.aba-stat-grid span {
    display: block;
    color: #ac2153;
    font-size: 14px;
    margin-bottom: 8px;
}

.aba-stat-grid strong {
    color: var(--aba-blue);
    font-size: 34px;
    line-height: 1;
}

.aba-muted {
    color: var(--aba-muted);
    font-size: .9rem;
}

.aba-inline-admin-form {
    display: grid;
    gap: 10px;
    min-width: 260px;
}

.aba-inline-admin-form label {
    display: grid;
    gap: 5px;
    font-size: .84rem;
    color: var(--aba-muted);
}

.aba-inline-admin-form input,
.aba-inline-admin-form select {
    width: 100%;
    min-height: 40px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    padding: 8px 10px;
    background: #ffffff;
    color: var(--aba-ink);
    font: inherit;
}

.aba-admin-module-page .aba-admin-shell {
    width: 100%;
}

.aba-admin-module-hero {
    margin-bottom: 22px;
}

.aba-admin-module-hero span {
    display: inline-flex;
    margin-bottom: 8px;
    color: var(--aba-red);
    font-size: 13px;
    text-transform: uppercase;
}

.aba-admin-module-hero h1 {
    margin: 0 0 8px;
    color: var(--aba-ink);
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1;
}

.aba-admin-module-hero p {
    max-width: 760px;
    margin: 0;
    color: var(--aba-muted);
    font-size: 16px;
    line-height: 1.45;
}

.aba-admin-module-card {
    padding: 26px;
    margin-bottom: 22px;
}

.aba-admin-module-card h2 {
    margin: 0 0 18px;
    color: var(--aba-ink);
    font-size: 26px;
}

.aba-admin-module-card p {
    margin: 0 0 18px;
    color: var(--aba-muted);
}

.aba-admin-module-card .aba-form-grid label {
    display: grid;
    gap: 7px;
}

.aba-admin-module-card .aba-form-grid label span {
    color: #ac2153;
    font-size: 13px;
}

.aba-admin-module-card .aba-form-grid input,
.aba-admin-module-card .aba-form-grid select,
.aba-admin-module-card .aba-form-grid textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #f5ebdd;
    border-radius: 6px;
    background: #ffffff;
    color: var(--aba-text);
    font: inherit;
}

.aba-admin-module-card .aba-form-grid textarea {
    min-height: 118px;
    resize: vertical;
}

.aba-admin-module-card .aba-form-grid .full {
    grid-column: 1 / -1;
}

.aba-admin-module-card .aba-toggle-line {
    min-height: 46px;
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 10px !important;
    padding: 10px 12px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
}

.aba-admin-module-card .aba-toggle-line input {
    width: auto;
    min-height: auto;
}

.aba-finance-dashboard {
    display: grid;
    gap: 24px;
}

.aba-finance-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.aba-finance-header h2,
.aba-finance-box h3,
.aba-finance-suggestions h3 {
    margin: 0;
    color: var(--aba-ink);
}

.aba-finance-header p {
    margin: 8px 0 0;
}

.aba-finance-filter {
    display: flex;
    align-items: end;
    gap: 10px;
}

.aba-finance-filter label {
    display: grid;
    gap: 7px;
    color: var(--aba-muted);
    font-size: 13px;
}

.aba-finance-filter input {
    min-height: 44px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    padding: 8px 12px;
    background: #ffffff;
    color: var(--aba-text);
    font: inherit;
}

.aba-finance-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.aba-finance-cards article,
.aba-finance-box,
.aba-finance-suggestions {
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
}

.aba-finance-cards article {
    padding: 20px;
    box-shadow: 0 16px 36px rgba(172,33,83,.06);
}

.aba-finance-cards span {
    display: block;
    margin-bottom: 8px;
    color: var(--aba-muted);
    font-size: 13px;
}

.aba-finance-cards strong {
    color: var(--aba-blue);
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1;
}

.aba-finance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.aba-finance-box,
.aba-finance-suggestions {
    padding: 20px;
}

.aba-finance-bars,
.aba-finance-list {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.aba-finance-bar-row {
    display: grid;
    gap: 7px;
}

.aba-finance-bar-label {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--aba-text);
}

.aba-finance-bar-label strong {
    color: var(--aba-blue);
}

.aba-finance-bar-track {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #f5ebdd;
}

.aba-finance-bar-track i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--aba-blue), #ac2153);
}

.aba-finance-bar-row small,
.aba-finance-list span {
    color: var(--aba-muted);
}

.aba-finance-list article {
    padding: 12px 0;
    border-bottom: 1px solid var(--aba-border);
}

.aba-finance-list article:last-child {
    border-bottom: 0;
}

.aba-finance-list strong,
.aba-finance-list span {
    display: block;
}

.aba-finance-chart {
    min-height: 170px;
    display: flex;
    align-items: end;
    gap: 8px;
    margin-top: 18px;
    padding: 14px;
    border-radius: 12px;
    background: #f5ebdd;
}

.aba-finance-chart div {
    width: 100%;
    min-width: 12px;
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    border-radius: 8px 8px 3px 3px;
    background: linear-gradient(180deg, var(--aba-red), var(--aba-blue));
}

.aba-finance-chart span {
    position: absolute;
    bottom: -22px;
    color: var(--aba-muted);
    font-size: 11px;
}

.aba-finance-suggestions {
    border-left: 4px solid var(--aba-red);
}

.aba-finance-suggestions p {
    margin: 12px 0 0;
}

/* Finance dashboard: visual reporting layer, powered by the existing finance data. */
.aba-finance-dashboard {
    position: relative;
    overflow: hidden;
    gap: 20px;
    padding: clamp(20px, 2.5vw, 34px) !important;
    border-color: #f5ebdd !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 94% 3%, rgba(251,118,164,.12), transparent 24%),
        linear-gradient(180deg, #f5ebdd 0, #ffffff 280px) !important;
    box-shadow: 0 24px 70px rgba(172,33,83,.1) !important;
}

.aba-finance-dashboard::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, var(--aba-red) 0 18%, #fb76a4 18% 58%, var(--aba-blue) 58%);
}

.aba-finance-kicker,
.aba-finance-box-head span {
    display: block;
    margin-bottom: 7px;
    color: var(--aba-red);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.aba-finance-header {
    align-items: center;
    padding: 4px 2px 2px;
}

.aba-finance-header h2 {
    font-size: clamp(28px, 3vw, 43px);
    line-height: 1;
}

.aba-finance-header p {
    max-width: 720px;
    color: #fb76a4;
}

.aba-finance-filter {
    padding: 10px;
    border: 1px solid #f5ebdd;
    border-radius: 14px;
    background: rgba(255,255,255,.86);
    box-shadow: 0 10px 30px rgba(172,33,83,.07);
}

.aba-finance-cards {
    gap: 16px;
}

.aba-finance-cards article {
    position: relative;
    min-height: 158px;
    overflow: hidden;
    padding: 23px 22px 19px;
    border-color: #f5ebdd;
    border-radius: 17px;
    box-shadow: 0 13px 34px rgba(172,33,83,.08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.aba-finance-cards article:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(172,33,83,.13);
}

.aba-finance-cards article::after {
    content: "";
    position: absolute;
    right: -28px;
    bottom: -44px;
    width: 118px;
    height: 118px;
    border-radius: 50%;
    background: currentColor;
    opacity: .055;
}

.aba-finance-card-icon {
    position: absolute;
    top: 17px;
    right: 17px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #f5ebdd;
    color: var(--aba-blue);
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
}

.aba-finance-cards article.is-income { color: #ac2153; }
.aba-finance-cards article.is-payments { color: #fb76a4; }
.aba-finance-cards article.is-average { color: #ac2153; }
.aba-finance-cards article.is-total { color: #ac2153; }
.aba-finance-cards article.is-payments .aba-finance-card-icon { background: #f5ebdd; color: #fb76a4; }
.aba-finance-cards article.is-average .aba-finance-card-icon { background: #f5ebdd; color: #ac2153; }
.aba-finance-cards article.is-total .aba-finance-card-icon { background: #f5ebdd; color: #ac2153; }

.aba-finance-cards span {
    max-width: calc(100% - 40px);
    color: #fb76a4;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.aba-finance-cards strong {
    display: block;
    margin-top: 22px;
    color: var(--aba-blue);
    font-size: clamp(27px, 2.5vw, 38px);
}

.aba-finance-cards small {
    display: block;
    margin-top: 10px;
    color: #ac2153;
    font-size: 12px;
}

.aba-finance-grid {
    gap: 20px;
}

.aba-finance-box,
.aba-finance-suggestions {
    border-color: #f5ebdd;
    border-radius: 17px;
    box-shadow: 0 14px 36px rgba(172,33,83,.065);
}

.aba-finance-box {
    min-width: 0;
    padding: 23px;
}

.aba-finance-box-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.aba-finance-box-head h3 {
    font-size: 21px;
}

.aba-finance-box-head > i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 13px;
    background: #f5ebdd;
    color: #ac2153;
    font-size: 22px;
    font-style: normal;
    font-weight: 800;
}

.aba-finance-bar-track {
    height: 12px;
    box-shadow: inset 0 1px 2px rgba(172,33,83,.08);
}

.aba-finance-bar-track i {
    background: linear-gradient(90deg, #fb76a4, #ac2153 68%, #ac2153);
    box-shadow: 0 3px 10px rgba(251,118,164,.2);
}

.aba-finance-list article {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: #f5ebdd;
}

.aba-finance-list article b {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--aba-blue);
    color: #ffffff;
}

.aba-finance-list article:first-child b {
    background: linear-gradient(145deg, #f5ebdd, #fb76a4);
    color: #ac2153;
}

.aba-finance-chart {
    min-height: 215px;
    align-items: end;
    gap: clamp(5px, 1vw, 10px);
    padding: 34px 18px 30px;
    border: 1px solid #f5ebdd;
    border-radius: 15px;
    background-color: #f5ebdd;
    background-image: repeating-linear-gradient(to bottom, transparent 0 42px, #f5ebdd 43px);
}

.aba-finance-chart div {
    max-width: 38px;
    min-width: 8px;
    border-radius: 9px 9px 3px 3px;
    background: linear-gradient(180deg, #fb76a4 0, #ac2153 58%, #ac2153 100%);
    box-shadow: 0 6px 13px rgba(172,33,83,.18);
    transition: filter .2s ease, transform .2s ease;
}

.aba-finance-chart div:nth-child(3n) {
    background: linear-gradient(180deg, #ac2153, #ac2153);
}

.aba-finance-chart div:hover {
    filter: brightness(1.08);
    transform: scaleY(1.03);
    transform-origin: bottom;
}

.aba-finance-chart .aba-empty {
    align-self: center;
    width: 100%;
    max-width: none;
    padding: 30px;
    border: 1px dashed #f5ebdd;
    border-radius: 13px;
    background: rgba(255,255,255,.8);
    color: #ac2153;
    text-align: center;
}

.aba-finance-suggestions {
    position: relative;
    overflow: hidden;
    padding: 24px 24px 24px 30px;
    border-left: 0;
    background: linear-gradient(112deg, #ac2153, #ac2153);
    color: #f5ebdd;
}

.aba-finance-suggestions::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: var(--aba-red);
}

.aba-finance-suggestions h3 { color: #ffffff; }
.aba-finance-suggestions p { color: #f5ebdd; }
.aba-finance-suggestions p::before { content: "•"; margin-right: 9px; color: #fb76a4; }

.aba-finance-dashboard .aba-admin-table thead th {
    background: #f5ebdd;
    color: #ac2153;
}

.aba-finance-dashboard .aba-admin-table tbody tr:hover {
    background: #f5ebdd;
}

.aba-admin-module-nav-head {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 2px 0 12px;
}

.aba-admin-module-nav-head strong {
    color: var(--aba-blue);
    font-size: 15px;
}

.aba-admin-module-nav-head span {
    color: var(--aba-muted);
    font-size: 13px;
}

.aba-admin-module-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 22px;
}

.aba-admin-module-tabs a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 13px 8px 9px;
    border: 1px solid #f5ebdd;
    border-radius: 12px;
    background: #ffffff;
    color: #ac2153;
    text-decoration: none;
    box-shadow: 0 7px 18px rgba(172,33,83,.055);
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.aba-admin-module-tabs a:hover {
    transform: translateY(-2px);
    border-color: #fb76a4;
    box-shadow: 0 10px 23px rgba(172,33,83,.11);
}

.aba-admin-module-tabs a i {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 9px;
    background: #f5ebdd;
    color: #ac2153;
    font-style: normal;
    font-weight: 800;
}

.aba-admin-module-tabs a span {
    font-size: 13px;
    font-weight: 700;
}

.aba-admin-module-tabs a.active {
    border-color: var(--aba-blue);
    background: var(--aba-blue);
    color: #ffffff;
    box-shadow: 0 12px 26px rgba(172,33,83,.2);
}

.aba-admin-module-tabs a.active i {
    background: var(--aba-red);
    color: #ffffff;
}

/* RBT Desde Cero unified administration center. */
.aba-adminsite-body {
    background: #f5ebdd;
}

.aba-adminsite-body .aba-admin-module-page {
    background: transparent;
}

.aba-adminsite-shell {
    width: min(1680px, calc(100% - 36px));
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    align-items: start;
    gap: 22px;
    padding-top: 22px;
}

.aba-adminsite-shell > :not(.aba-adminsite-sidebar) {
    grid-column: 2;
    min-width: 0;
}

.aba-adminsite-sidebar {
    grid-column: 1;
    grid-row: 1 / span 30;
    position: sticky;
    top: 88px;
    max-height: calc(100vh - 108px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #f5ebdd;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 20px 50px rgba(172,33,83,.1);
}

.aba-adminsite-sidebar-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px;
    background: linear-gradient(135deg, #ac2153, #ac2153);
    color: #ffffff;
}

.aba-adminsite-sidebar-head > i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 13px;
    background: #ac2153;
    font-size: 19px;
}

.aba-adminsite-sidebar-head span,
.aba-adminsite-sidebar-head strong {
    display: block;
}

.aba-adminsite-sidebar-head span {
    margin-bottom: 3px;
    color: #f5ebdd;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
}

.aba-adminsite-sidebar-head strong {
    font-size: 19px;
}

.aba-adminsite-sidebar nav {
    display: grid;
    gap: 4px;
    overflow-y: auto;
    padding: 14px 12px;
    scrollbar-width: thin;
}

.aba-adminsite-nav-title {
    padding: 11px 10px 5px;
    color: #ac2153;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.aba-adminsite-sidebar nav a,
.aba-adminsite-public-profile {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 42px;
    padding: 9px 11px;
    border-radius: 11px;
    color: #ac2153;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.aba-adminsite-sidebar nav a i,
.aba-adminsite-public-profile i {
    width: 24px;
    color: #fb76a4;
    text-align: center;
}

.aba-adminsite-sidebar nav a:hover {
    background: #f5ebdd;
    transform: translateX(2px);
}

.aba-adminsite-sidebar nav a.active {
    background: linear-gradient(105deg, #ac2153, #ac2153);
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(172,33,83,.18);
}

.aba-adminsite-sidebar nav a.active i {
    color: #fb76a4;
}

.aba-adminsite-public-profile {
    margin: auto 12px 14px;
    border: 1px solid #f5ebdd;
    background: #f5ebdd;
}

.aba-adminsite-shell > .aba-admin-module-hero {
    margin: 0;
    border-radius: 20px;
}

.aba-adminsite-shell > .aba-finance-dashboard {
    margin: 0;
}

@media (max-width: 980px) {
    .aba-adminsite-shell {
        width: min(100% - 22px, 1680px);
        grid-template-columns: 1fr;
    }

    .aba-adminsite-shell > :not(.aba-adminsite-sidebar),
    .aba-adminsite-sidebar {
        grid-column: 1;
    }

    .aba-adminsite-sidebar {
        grid-row: auto;
        position: static;
        max-height: none;
    }

    .aba-adminsite-sidebar nav {
        display: flex;
        overflow-x: auto;
    }

    .aba-adminsite-sidebar nav a {
        flex: 0 0 auto;
    }

    .aba-adminsite-nav-title,
    .aba-adminsite-public-profile {
        display: none;
    }
}

.aba-empty {
    margin: 12px 0 0;
    color: var(--aba-muted);
}

.aba-board-page {
    background: #f5ebdd;
    min-height: 70vh;
}

.aba-board-focus-body {
    width: 100vw;
    height: 100vh;
    margin: 0;
    overflow: hidden;
    background: #f5ebdd;
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
}

.aba-board-focus-mode {
    position: fixed;
    inset: 0;
    z-index: 99990;
    width: 100vw;
    height: 100vh;
    overflow: auto;
    background: #f5ebdd;
}

.aba-board-focus-mode .aba-board-shell {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 16px;
}

.aba-board-focus-mode .aba-board-exam {
    grid-template-columns: minmax(0, 1fr) 340px;
    min-height: calc(100vh - 32px);
}

.aba-board-focus-mode .aba-board-side {
    top: 16px;
    max-height: calc(100vh - 32px);
    overflow: auto;
    padding-top: 20px;
}

.aba-board-focus-topbar {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.aba-board-focus-topbar strong {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.aba-board-focus-mode .aba-board-question-card {
    min-height: calc(100vh - 32px);
    padding: 42px 36px 32px;
}

.aba-board-focus-mode .aba-board-question {
    min-height: calc(100vh - 108px);
}

.aba-board-focus-mode .aba-board-question-actions {
    margin-top: 34px;
}

.aba-board-focus-body .aba-drbull-widget,
.aba-board-focus-mode .aba-drbull-widget {
    display: none !important;
}

html.aba-my-exam-focus,
html.aba-my-exam-focus body {
    overflow: hidden;
}

.aba-my-mock-frame-wrap.is-exam-focus {
    position: fixed;
    inset: 0;
    z-index: 100000;
    width: 100vw;
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
    background: #f5ebdd;
}

.aba-my-domain-frame-wrap.is-exam-focus {
    position: fixed;
    inset: 0;
    z-index: 100000;
    width: 100vw;
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
    background: #f5ebdd;
}

.aba-my-mock-frame-wrap.is-exam-focus .aba-my-mock-frame {
    width: 100vw;
    height: 100vh;
    min-height: 100vh;
}

.aba-my-domain-frame-wrap.is-exam-focus .aba-my-domain-frame {
    width: 100vw;
    height: 100vh;
    min-height: 100vh;
}

html.aba-my-exam-focus .aba-drbull-widget {
    display: none !important;
}

.aba-board-shell {
    width: min(1480px, calc(100% - 56px));
    margin: 0 auto;
    padding: 42px 0 70px;
}

.aba-board-hero,
.aba-board-card,
.aba-board-question-card,
.aba-board-side {
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(172,33,83,.06);
}

.aba-board-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
    padding: 28px;
}

.aba-board-hero h1,
.aba-board-start h2,
.aba-board-results h2,
.aba-board-card h2 {
    margin: 0;
    color: var(--aba-ink);
}

.aba-board-hero p,
.aba-board-start p,
.aba-board-card p {
    margin: 10px 0 0;
    color: var(--aba-muted);
}

.aba-board-score-card {
    min-width: 210px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    gap: 7px 12px;
    padding: 18px;
    border-radius: 10px;
    background: #f5ebdd;
}

.aba-board-score-card strong {
    color: var(--aba-blue);
    font-size: 32px;
    line-height: 1;
}

.aba-board-score-card span {
    color: var(--aba-muted);
}

.aba-board-card {
    margin-top: 18px;
    padding: 26px;
}

.aba-board-start {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.aba-board-start-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.aba-board-exam {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 22px;
    align-items: start;
}

.aba-board-question-card {
    padding: 30px;
}

.aba-board-question-top {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 18px;
    align-items: start;
}

.aba-board-question h2 {
    margin: 0;
    color: var(--aba-ink);
    font-size: clamp(18px, 1.35vw, 24px);
    font-weight: 500;
    line-height: 1.28;
}

.aba-board-question h2 strong {
    font-weight: 700;
}

.aba-board-flag {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--aba-border);
    border-radius: 999px;
    background: #ffffff;
    color: var(--aba-muted);
    cursor: pointer;
}

.aba-board-flag.is-flagged {
    border-color: var(--aba-red);
    background: #f5ebdd;
    color: var(--aba-red);
}

.aba-board-choices {
    display: grid;
    gap: 12px;
    margin-top: 28px;
}

.aba-board-choice {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: center;
    min-height: 64px;
    padding: 16px 18px;
    border: 1px solid #f5ebdd;
    border-radius: 10px;
    background: #f5ebdd;
    color: var(--aba-text);
    font-size: 19px;
    line-height: 1.4;
    cursor: pointer;
}

.aba-board-choice input {
    width: 16px;
    height: 16px;
}

.aba-board-side .aba-btn + .aba-btn {
    margin-top: 10px;
}

.aba-board-choice:has(input:checked) {
    border-color: var(--aba-blue);
    background: #f5ebdd;
}

.aba-board-question-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
}

.aba-board-question-actions .aba-btn {
    min-width: 180px;
}

.aba-board-question-actions .aba-btn:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.aba-board-side {
    position: sticky;
    top: 98px;
    display: grid;
    gap: 18px;
    padding: 20px;
}

.aba-board-user {
    display: flex;
    align-items: center;
    gap: 12px;
}

.aba-board-user .aba-profile-avatar.small {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
}

.aba-board-user > img,
.aba-board-user > span {
    width: 52px;
    height: 52px;
    border-radius: 999px;
    object-fit: cover;
    background: var(--aba-blue);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.aba-board-user strong,
.aba-board-user small {
    display: block;
}

.aba-board-user small,
.aba-board-timer span,
.aba-board-timer small {
    color: var(--aba-muted);
}

.aba-board-timer {
    padding: 16px;
    border-radius: 10px;
    background: #f5ebdd;
}

.aba-board-timer strong {
    display: block;
    color: var(--aba-blue);
    font-size: 34px;
    line-height: 1;
}

.aba-board-timer.is-danger strong {
    color: var(--aba-red);
}

.aba-board-timer small {
    display: block;
    margin-top: 6px;
}

.aba-board-nav-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    max-height: 360px;
    overflow: auto;
    padding-right: 2px;
}

.aba-board-nav-grid button {
    min-height: 38px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-blue);
    font-weight: 400;
    cursor: pointer;
}

.aba-board-nav-grid button.is-active {
    background: var(--aba-blue);
    color: #ffffff;
}

.aba-board-nav-grid button.is-answered:not(.is-active) {
    border-color: #fb76a4;
    background: #f5ebdd;
}

.aba-board-nav-grid button.is-correct:not(.is-active) {
    border-color: #fb76a4;
    background: #f5ebdd;
    color: #ac2153;
}

.aba-board-nav-grid button.is-wrong:not(.is-active) {
    border-color: #ac2153;
    background: #f5ebdd;
    color: #ac2153;
}

.aba-board-nav-grid button.is-flagged {
    border-color: var(--aba-red);
    background: var(--aba-red);
    color: #ffffff;
}

.aba-btn.full {
    width: 100%;
}

.aba-board-results-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.aba-board-results-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 10px;
}

.aba-board-results-actions form {
    margin: 0;
    display: inline-flex;
}

.aba-board-results-actions .aba-btn {
    min-width: 92px;
    white-space: nowrap;
}

.aba-board-report-average {
    display: block;
    margin-top: 6px;
    color: var(--aba-muted);
    font-size: 15px;
}

.aba-board-results-head .is-passed {
    color: var(--aba-blue);
}

.aba-board-results-head .is-failed {
    color: var(--aba-red);
}

.aba-mock-embed .aba-board-card {
    margin-top: 12px;
    padding: 20px;
}

.aba-mock-embed .aba-board-start {
    min-height: 0;
}

.aba-mock-embed .aba-board-start p,
.aba-mock-embed .aba-board-card p {
    margin-top: 6px;
}

.aba-board-domain-grid,
.aba-board-profile-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
}

.aba-board-domain-card,
.aba-board-profile-domain {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #f5ebdd;
}

.aba-board-domain-card strong,
.aba-board-profile-domain strong {
    color: var(--aba-ink);
}

.aba-domain-practice-card {
    border-width: 2px;
    gap: 14px;
    align-content: start;
}

.aba-domain-practice-card.is-mastered {
    border-color: #fb76a4;
    background: #f5ebdd;
}

.aba-domain-practice-card.is-not-mastered {
    border-color: #ac2153;
    background: #f5ebdd;
}

.aba-domain-practice-card.is-unstarted {
    border-color: #fb76a4;
    background: #f5ebdd;
}

.aba-domain-practice-card.is-mastered .aba-btn.primary {
    background: #fb76a4;
    border-color: #fb76a4;
}

.aba-domain-practice-card.is-not-mastered .aba-btn.primary {
    background: #ac2153;
    border-color: #ac2153;
}

.aba-domain-practice-card.is-unstarted .aba-btn.primary {
    background: var(--aba-blue);
    border-color: var(--aba-blue);
}

.aba-domain-practice-card small {
    color: var(--aba-muted);
}

.aba-domain-practice-card form {
    display: grid;
    gap: 12px;
}

.aba-domain-practice-card .aba-btn {
    min-height: 48px;
}

.aba-domain-practice-card > .aba-btn {
    margin-top: 4px;
    margin-bottom: 4px;
}

.aba-domain-feedback-mode {
    display: grid;
    gap: 10px;
}

.aba-domain-feedback-mode label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-text);
    font-size: 0.9rem;
}

.aba-board-choice.is-correct {
    border-color: #fb76a4;
    background: #f5ebdd;
}

.aba-board-choice.is-wrong {
    border-color: #ac2153;
    background: #f5ebdd;
}

.aba-domain-question-feedback {
    display: grid;
    gap: 6px;
    margin-top: 14px;
    padding: 14px;
    border-radius: 10px;
    border: 1px solid var(--aba-border);
}

.aba-domain-question-feedback.is-correct {
    border-color: #fb76a4;
    background: #f5ebdd;
    color: #ac2153;
}

.aba-domain-question-feedback.is-wrong {
    border-color: #ac2153;
    background: #f5ebdd;
    color: #ac2153;
}

.aba-domain-review-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.aba-domain-review-list article {
    display: grid;
    gap: 6px;
    padding: 12px 14px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #ffffff;
}

.aba-domain-review-list article.is-correct {
    border-color: #fb76a4;
}

.aba-domain-review-list article.is-wrong {
    border-color: #ac2153;
}

.aba-domain-review-list p,
.aba-domain-review-list em,
.aba-domain-review-list small {
    margin: 0;
}

.aba-domain-recent-summary {
    display: grid;
    gap: 14px;
}

.aba-domain-trial-summary {
    width: min(520px, 100%);
    padding: 16px 18px;
    display: grid;
    gap: 5px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    color: var(--aba-blue);
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(172,33,83,.08);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.aba-board-attempt-list .aba-domain-trial-summary {
    width: 100%;
}

.aba-domain-trial-summary:hover,
.aba-domain-trial-summary:focus {
    border-color: var(--aba-blue);
    box-shadow: 0 14px 28px rgba(172,33,83,.14);
}

.aba-domain-trial-summary strong,
.aba-domain-trial-summary span,
.aba-domain-trial-summary small {
    display: block;
}

.aba-domain-trial-summary strong {
    font-size: 20px;
    font-weight: 800;
}

.aba-domain-trial-summary span,
.aba-domain-trial-summary small {
    color: var(--aba-muted);
    font-size: 16px;
}

/* Mini Mocks embedded workspace */
.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-board-shell {
    box-sizing: border-box;
    width: min(1420px, calc(100% - 48px));
    margin: 0 auto;
    padding: 34px 0 48px;
}

.aba-mini-mocks-heading {
    margin: 0 0 28px;
}

.aba-mini-mocks-heading h1 {
    position: relative;
    margin: 0;
    padding-bottom: 18px;
    color: var(--aba-blue);
    font-size: clamp(42px, 4vw, 60px);
    font-weight: 800;
    line-height: .95;
}

.aba-mini-mocks-heading h1::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 78px;
    height: 5px;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-domain-practice-embed .aba-domain-selection-panel,
.aba-domain-practice-embed .aba-domain-recent-summary {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.aba-domain-practice-embed .aba-domain-selection-panel > h2,
.aba-domain-practice-embed .aba-domain-recent-summary > h2 {
    margin: 0 0 18px;
    color: var(--aba-blue);
    font-size: 27px;
    font-weight: 800;
}

.aba-domain-practice-embed .aba-domain-recent-summary {
    margin-top: 38px;
}

.aba-domain-results-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin: -8px 0 18px;
    color: var(--aba-blue);
    font-size: 15px;
    font-weight: 600;
}

.aba-domain-results-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.aba-domain-results-legend i {
    width: 13px;
    height: 13px;
    display: inline-block;
    border-radius: 50%;
}

.aba-domain-results-legend .is-correct i { background: #ac2153; }
.aba-domain-results-legend .is-failed i { background: #ac2153; }
.aba-domain-results-legend .is-review i { background: #fb76a4; }

.aba-domain-practice-embed .aba-board-attempt-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.aba-domain-practice-embed .aba-domain-trial-summary {
    --result-color: #ac2153;
    box-sizing: border-box;
    width: 100%;
    min-height: 292px;
    padding: 22px 18px 20px;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 12px;
    border: 1px solid #f5ebdd;
    border-radius: 16px;
    background: #f5ebdd;
    text-align: center;
}

.aba-domain-practice-embed .aba-domain-trial-summary.is-passed {
    --result-color: #fb76a4;
}

.aba-domain-practice-embed .aba-domain-trial-summary .aba-domain-trial-meta {
    align-self: stretch;
    color: var(--aba-blue);
    font-size: 17px;
    font-weight: 700;
    text-align: left;
}

.aba-domain-trial-meta span {
    display: inline;
    padding: 0 3px;
    color: var(--aba-red);
}

.aba-domain-practice-embed .aba-domain-result-ring {
    position: relative;
    width: 112px;
    height: 112px;
    display: grid;
    flex: 0 0 112px;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(
        from -45deg,
        #ac2153 0deg 57deg,
        transparent 57deg 68deg,
        #fb76a4 68deg 125deg,
        transparent 125deg 136deg,
        #fb76a4 136deg 193deg,
        transparent 193deg 204deg,
        #fb76a4 204deg 261deg,
        transparent 261deg 272deg,
        #ac2153 272deg 329deg,
        transparent 329deg 360deg
    );
}

.aba-domain-practice-embed .aba-domain-result-ring::before {
    content: "";
    position: absolute;
    inset: 9px;
    border-radius: inherit;
    background: #f5ebdd;
}

.aba-domain-practice-embed .aba-domain-result-ring::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 3px solid #ffffff;
    border-radius: 50%;
    background: #ac2153;
    box-shadow: 0 2px 7px rgba(172,33,83,.28);
    transform: rotate(var(--marker-angle)) translateY(-51px);
    transform-origin: center;
}

.aba-domain-practice-embed .aba-domain-result-ring b {
    position: relative;
    z-index: 1;
    color: var(--aba-blue);
    font-size: 25px;
    font-weight: 700;
}

.aba-domain-practice-embed .aba-domain-trial-summary .aba-domain-result-name {
    color: var(--aba-blue);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

.aba-domain-result-breakdown {
    width: 100%;
    display: grid !important;
    gap: 8px;
    color: var(--aba-muted);
    font-size: 14px !important;
    text-align: left;
}

.aba-domain-result-breakdown b {
    margin-right: 5px;
    color: var(--aba-blue);
    font-weight: 700;
}

.aba-domain-outcome-group {
    display: grid !important;
    gap: 6px;
}

.aba-domain-outcome-tasks {
    display: flex !important;
    flex-wrap: wrap;
    gap: 5px;
}

.aba-domain-outcome-tasks i {
    width: 27px;
    height: 27px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: #ffffff;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

.aba-domain-outcome-group.is-correct .aba-domain-outcome-tasks i {
    border: 2px solid #ac2153;
    color: #ac2153;
}

.aba-domain-outcome-group.is-failed .aba-domain-outcome-tasks i {
    border: 2px solid #ac2153;
    color: #ac2153;
}

.aba-domain-task-matrix {
    width: 100%;
    display: flex !important;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
}

.aba-domain-task-matrix i {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border: 2px solid currentColor;
    border-radius: 50%;
    color: #ac2153;
    background: #ffffff;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

.aba-domain-task-matrix i.is-correct { color: #ac2153; }
.aba-domain-task-matrix i.is-failed { color: #ac2153; }
.aba-domain-task-matrix i.is-review { color: #fb76a4; }

.aba-domain-practice-embed article.aba-domain-trial-summary {
    cursor: default;
}

.aba-domain-practice-embed article.aba-domain-trial-summary:hover {
    border-color: #f5ebdd;
    box-shadow: 0 10px 24px rgba(172,33,83,.08);
}

.aba-board-finish-dialog {
    position: fixed;
    inset: 0;
    z-index: 10020;
    padding: 24px;
    display: grid;
    place-items: center;
    background: rgba(172,33,83,.72);
    backdrop-filter: blur(5px);
}

.aba-board-finish-dialog[hidden] {
    display: none;
}

.aba-board-finish-card {
    width: min(680px, calc(100vw - 32px));
    box-sizing: border-box;
    padding: 52px 48px 44px;
    border: 1px solid #f5ebdd;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 30px 80px rgba(172,33,83,.3);
    text-align: center;
}

.aba-board-finish-code {
    display: block;
    margin-bottom: 13px;
    color: #ac2153;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .16em;
}

.aba-board-finish-card h2 {
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(34px, 5vw, 52px);
    line-height: 1;
}

.aba-board-finish-card > p {
    max-width: 520px;
    margin: 20px auto 0;
    color: var(--aba-muted);
    font-size: 18px;
    line-height: 1.55;
}

.aba-board-finish-card .aba-board-finish-warning {
    padding: 13px 16px;
    border-left: 4px solid #ac2153;
    border-radius: 7px;
    color: #ac2153;
    background: #f5ebdd;
    font-weight: 600;
    text-align: left;
}

.aba-board-finish-card > div {
    margin-top: 28px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}

body.aba-board-finish-open {
    overflow: hidden;
}

.aba-domain-final-review {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 38px 0 58px;
}

.aba-domain-final-review-head {
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 4px solid #ac2153;
}

.aba-domain-final-review-head h1 {
    margin: 5px 0 8px;
    color: var(--aba-blue);
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1;
}

.aba-domain-final-review-head p {
    margin: 0;
    color: var(--aba-muted);
    font-size: 22px;
    font-weight: 700;
}

.aba-domain-final-review-list {
    display: grid;
    gap: 20px;
}

.aba-domain-final-question {
    overflow: hidden;
    border: 1px solid #f5ebdd;
    border-left: 6px solid #ac2153;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(172,33,83,.07);
}

.aba-domain-final-question.is-correct {
    border-left-color: #ac2153;
}

.aba-domain-final-question-title {
    padding: 22px 24px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.aba-domain-final-question-title > span {
    width: 38px;
    height: 38px;
    display: grid;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 50%;
    color: #ffffff;
    background: var(--aba-blue);
    font-weight: 800;
}

.aba-domain-final-question-title small {
    color: #ac2153;
    font-weight: 800;
}

.aba-domain-final-question-title h2 {
    margin: 4px 0 0;
    color: var(--aba-blue);
    font-size: 22px;
    line-height: 1.35;
}

.aba-domain-final-answers {
    padding: 0 24px 22px 77px;
    display: grid;
    gap: 8px;
}

.aba-domain-final-answers > div {
    padding: 11px 13px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    border: 1px solid #f5ebdd;
    border-radius: 7px;
    color: var(--aba-muted);
}

.aba-domain-final-answers .is-selected-correct {
    border-color: #ac2153;
    color: #ac2153;
    background: #f5ebdd;
    font-weight: 700;
}

.aba-domain-final-answers .is-correct-answer {
    border: 2px solid #ac2153;
    color: #ac2153;
    background: #f5ebdd;
    font-weight: 700;
}

.aba-domain-final-answers .is-selected-wrong {
    border-color: #ac2153;
    color: #ac2153;
    background: #f5ebdd;
    font-weight: 700;
}

.aba-domain-final-explanation {
    padding: 18px 24px 20px 77px;
    border-top: 1px solid #f5ebdd;
    display: grid;
    gap: 7px;
    background: #f5ebdd;
}

.aba-domain-final-explanation strong { color: var(--aba-blue); }
.aba-domain-final-explanation span { color: #ac2153; font-weight: 700; }
.aba-domain-final-explanation p { margin: 0; color: var(--aba-muted); line-height: 1.55; }

.aba-board-question h2,
.aba-board-choice span,
.aba-domain-final-question-title h2,
.aba-domain-final-answers > div span,
.aba-domain-final-explanation p,
.aba-domain-question-feedback p {
    text-align: justify;
    text-align-last: left;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
}

.aba-domain-finish-review {
    margin: 30px auto 0;
    display: flex;
    width: fit-content;
}

@media (max-width: 640px) {
    .aba-board-finish-card { padding: 38px 22px 30px; }
    .aba-domain-final-review { width: calc(100% - 28px); padding-top: 25px; }
    .aba-domain-final-answers,
    .aba-domain-final-explanation { padding-left: 24px; }
}

.aba-domain-practice-embed .aba-domain-trial-summary small {
    margin-top: auto;
    color: var(--aba-muted);
    font-size: 14px;
}

@media (max-width: 1100px) {
    .aba-domain-practice-embed .aba-board-attempt-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-board-shell {
        width: calc(100% - 28px);
        padding-top: 24px;
    }

    .aba-domain-practice-embed .aba-board-attempt-list {
        grid-template-columns: 1fr;
    }
}

.aba-domain-review-modal-card {
    width: min(1480px, calc(100vw - 32px));
    height: calc(100vh - 32px);
    max-height: calc(100vh - 32px);
    overflow: auto;
}

.aba-exercise-review-modal-card {
    width: min(1480px, calc(100vw - 32px));
    height: calc(100vh - 32px);
    max-height: calc(100vh - 32px);
    overflow: auto;
}

.aba-mock-review-modal-card {
    width: min(1480px, calc(100vw - 32px));
}

.aba-review-modal-toolbar {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    justify-content: flex-end;
    min-height: 42px;
    margin: -6px -6px 8px;
    padding: 6px;
    background: linear-gradient(#ffffff 70%, rgba(255,255,255,0));
}

.aba-domain-review-modal,
.aba-exercise-review-modal,
.aba-modal:has(.aba-domain-review-modal-card) {
    padding: 16px;
    place-items: center;
    background: rgba(172,33,83,.58);
}

.aba-domain-review-modal .aba-modal-card,
.aba-exercise-review-modal .aba-modal-card,
.aba-modal:has(.aba-domain-review-modal-card) .aba-modal-card {
    border-radius: 10px;
    box-shadow: 0 24px 70px rgba(172,33,83,.28);
}

.aba-domain-review-modal .aba-modal-close,
.aba-exercise-review-modal .aba-modal-close {
    position: static;
    top: auto;
    right: auto;
    flex: 0 0 auto;
}

.aba-domain-review-modal .aba-board-results-head,
.aba-exercise-review-modal .aba-board-results-head {
    padding-right: 0;
}

.aba-board-task-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.aba-board-task-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #f5ebdd;
    color: var(--aba-text);
}

.aba-board-task-chip.is-strong {
    background: #f5ebdd;
    color: #ac2153;
}

.aba-board-task-chip.is-weak {
    background: #f5ebdd;
    color: #ac2153;
}

.aba-board-attempt-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.aba-board-attempt-list a,
.aba-board-attempt-list button {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 5px;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    color: var(--aba-text);
    background: #ffffff;
    font: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.aba-board-attempt-list .aba-domain-trial-summary {
    align-content: start;
    min-height: 96px;
}

.aba-board-attempt-list a:hover,
.aba-board-attempt-list a:focus,
.aba-board-attempt-list button:hover,
.aba-board-attempt-list button:focus {
    border-color: var(--aba-blue);
    box-shadow: 0 12px 26px rgba(172,33,83,.12);
}

.aba-board-attempt-list strong {
    color: var(--aba-blue);
}

.aba-mock-domain-report {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.aba-mock-domain-report-card {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #ffffff;
}

.aba-mock-domain-report-card header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.aba-mock-domain-report-card header strong {
    color: var(--aba-blue);
    font-size: 22px;
    line-height: 1.1;
}

.aba-mock-domain-report-card header span {
    color: var(--aba-red);
    font-size: 18px;
    font-weight: 800;
}

.aba-mock-domain-lists {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.aba-mock-domain-lists section {
    padding: 14px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #f5ebdd;
}

.aba-mock-domain-lists h3 {
    margin: 0 0 10px;
    color: var(--aba-blue);
    font-size: 16px;
    line-height: 1.1;
}

.aba-mock-domain-lists ul {
    margin: 0;
    padding-left: 18px;
}

.aba-mock-domain-lists li + li {
    margin-top: 6px;
}

.aba-mock-domain-lists small {
    margin-left: 6px;
    color: var(--aba-red);
    font-weight: 700;
}

.aba-mock-domain-suggestion {
    margin: 0;
    padding: 12px 14px;
    border-left: 4px solid var(--aba-red);
    border-radius: 8px;
    background: #f5ebdd;
    color: var(--aba-text);
}

@media (max-width: 760px) {
    .aba-mock-domain-report-card header {
        display: grid;
    }

    .aba-mock-domain-lists {
        grid-template-columns: 1fr;
    }

    .aba-board-attempt-list {
        grid-template-columns: 1fr;
    }
}

.aba-map-screen {
    position: relative;
    height: calc(100vh - 74px);
    min-height: 680px;
    overflow: hidden;
    background: #f5ebdd;
}

.aba-map-simple-screen {
    background: #f5ebdd;
    padding: 44px 20px 72px;
}

.aba-map-simple-card {
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 10px 24px 26px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.aba-map-community-title {
    display: grid;
    gap: 15px;
    margin: 0 0 26px;
}

.aba-map-community-title h1 {
    max-width: 100%;
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(2.35rem, 4vw, 4.1rem);
    line-height: 1;
}

.aba-map-community-title > i {
    width: 82px;
    height: 5px;
    display: block;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-map-community-layout {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    align-items: start;
    gap: clamp(28px, 4vw, 60px);
}

.aba-map-community-summary {
    display: grid;
    align-content: start;
    gap: 18px;
    padding-left: 0;
}

.aba-map-community-summary > strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: start;
    min-height: 44px;
    padding: 9px 18px;
    border: 1px solid var(--aba-red);
    border-radius: 8px;
    background: var(--aba-red);
    color: #ffffff;
    font-size: 1.05rem;
    white-space: nowrap;
}

.aba-map-state-counts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 4px;
}

.aba-map-state-counts article {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 72px;
    padding: 12px;
    border: 1px solid rgba(172,33,83,.14);
    border-radius: 8px;
    background: rgba(255,255,255,.66);
    box-shadow: 0 12px 28px rgba(172,33,83,.06);
}

.aba-map-state-counts span {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--aba-blue);
    color: #ffffff;
    font-weight: 800;
    line-height: 1;
}

.aba-map-state-counts div {
    display: grid;
    gap: 1px;
}

.aba-map-state-counts b {
    color: var(--aba-blue);
    font-size: 1.55rem;
    line-height: 1;
}

.aba-map-state-counts small {
    color: var(--aba-muted);
    font-size: .88rem;
    font-weight: 600;
}

.aba-usa-count-map {
    position: relative;
    width: min(100%, 1040px);
    margin: 0 auto;
    aspect-ratio: 959 / 593;
    overflow: visible;
}

.aba-usa-count-map-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: .82;
    filter: none;
}

.aba-usa-count-map-img svg {
    width: 100%;
    height: 100%;
    display: block;
}

.aba-usa-svg-marker {
    pointer-events: none;
}

.aba-usa-svg-marker-pulse {
    fill: none;
    stroke: rgba(172,33,83,.58);
    stroke-width: 2.6;
    transform-box: fill-box;
    transform-origin: center;
    animation: aba-map-svg-pulse 1.9s ease-in-out infinite;
}

.aba-usa-svg-marker-dot {
    fill: #ffffff;
    stroke: rgba(255,255,255,.96);
    stroke-width: 1.4;
    filter: drop-shadow(0 5px 8px rgba(172,33,83,.22));
}

.aba-usa-svg-marker text {
    fill: var(--aba-red);
    font-family: inherit;
    font-weight: 900;
    line-height: 1;
    text-anchor: middle;
    dominant-baseline: middle;
    letter-spacing: .02em;
}

@keyframes aba-map-svg-pulse {
    0% {
        opacity: .78;
        transform: scale(1);
    }
    70% {
        opacity: 0;
        transform: scale(2.45);
    }
    100% {
        opacity: 0;
        transform: scale(2.45);
    }
}

.aba-usa-map-empty {
    position: absolute;
    left: 50%;
    top: 52%;
    transform: translate(-50%, -50%);
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(255,255,255,.85);
    color: var(--aba-muted);
    font-weight: 600;
}

@media (max-width: 760px) {
    .aba-map-simple-screen {
        padding: 24px 12px 44px;
    }

    .aba-map-simple-card {
        padding: 20px 14px 26px;
    }

    .aba-map-community-layout {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .aba-map-community-title h1 {
        font-size: 2rem;
    }

    .aba-map-community-summary {
        align-items: stretch;
    }

    .aba-map-state-counts {
        grid-template-columns: 1fr;
    }

    .aba-usa-count-map {
        min-width: 720px;
        margin-top: 8px;
    }

    .aba-map-simple-card {
        overflow-x: auto;
    }
}

.aba-student-map {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.aba-student-map.leaflet-container {
    overflow: hidden;
    background: #f5ebdd;
    font-family: inherit;
}

.aba-student-map .leaflet-pane,
.aba-student-map .leaflet-map-pane,
.aba-student-map .leaflet-tile,
.aba-student-map .leaflet-marker-icon,
.aba-student-map .leaflet-marker-shadow,
.aba-student-map .leaflet-tile-container,
.aba-student-map .leaflet-pane > svg,
.aba-student-map .leaflet-pane > canvas,
.aba-student-map .leaflet-zoom-box,
.aba-student-map .leaflet-image-layer,
.aba-student-map .leaflet-layer {
    position: absolute;
    left: 0;
    top: 0;
}

.aba-student-map .leaflet-tile,
.aba-student-map .leaflet-marker-icon,
.aba-student-map .leaflet-marker-shadow {
    user-select: none;
    -webkit-user-drag: none;
    max-width: none !important;
    max-height: none !important;
}

.aba-student-map .leaflet-tile {
    width: 256px;
    height: 256px;
}

.aba-student-map .leaflet-control {
    position: relative;
    z-index: 800;
    pointer-events: auto;
}

.aba-student-map .leaflet-top,
.aba-student-map .leaflet-bottom {
    position: absolute;
    z-index: 800;
    pointer-events: none;
}

.aba-student-map .leaflet-top {
    top: 12px;
}

.aba-student-map .leaflet-right {
    right: 12px;
}

.aba-student-map .leaflet-left {
    left: 12px;
}

.aba-student-map .leaflet-bottom {
    bottom: 12px;
}

.aba-student-map .leaflet-control-zoom {
    display: grid;
    overflow: hidden;
    border-radius: 10px;
    background: #ffffff;
}

.aba-student-map .leaflet-control-zoom a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-bottom: 1px solid var(--aba-border);
}

.aba-student-map .leaflet-control-zoom a:last-child {
    border-bottom: 0;
}

.aba-student-map .leaflet-popup-pane {
    z-index: 700;
}

.aba-student-map .leaflet-popup {
    position: absolute;
    text-align: center;
    margin-bottom: 20px;
}

.aba-student-map .leaflet-popup-content-wrapper {
    text-align: left;
}

.aba-student-map .leaflet-popup-tip-container {
    width: 40px;
    height: 20px;
    position: absolute;
    left: 50%;
    margin-left: -20px;
    overflow: hidden;
    pointer-events: none;
}

.aba-student-map .leaflet-popup-tip {
    width: 17px;
    height: 17px;
    padding: 1px;
    margin: -10px auto 0;
    transform: rotate(45deg);
    background: #ffffff;
}

.aba-map-overlay,
.aba-map-legend-floating {
    position: absolute;
    z-index: 500;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(172,33,83,.14);
    border-radius: 14px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 45px rgba(172,33,83,.18);
    backdrop-filter: blur(10px);
}

.aba-map-overlay {
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
    min-height: 54px;
    padding: 10px 16px;
}

.aba-map-overlay strong {
    color: var(--aba-blue);
    font-size: 18px;
    white-space: nowrap;
}

.aba-map-overlay span {
    color: var(--aba-muted);
    white-space: nowrap;
}

.aba-map-legend-floating {
    left: 18px;
    bottom: 18px;
    flex-wrap: wrap;
    max-width: 600px;
    padding: 10px 14px;
}

.aba-map-legend-floating span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--aba-muted);
    white-space: nowrap;
}

.aba-map-legend-floating i {
    width: 12px;
    height: 12px;
    border-radius: 4px;
    display: inline-block;
}

.aba-map-marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 3px solid #ffffff;
    border-radius: 999px;
    color: #ffffff;
    font-size: 15px;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(172,33,83,.32);
}

.aba-map-pin {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    filter: drop-shadow(0 12px 18px rgba(172,33,83,.25));
}

.aba-map-pin > i {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--pin-color);
    font-size: inherit;
    line-height: 1;
    transform: scale(1.65);
}

.aba-map-pin > b {
    position: relative;
    z-index: 1;
    min-width: 22px;
    height: 22px;
    padding: 0 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--pin-color);
    border-radius: 999px;
    background: #ffffff;
    color: var(--pin-color);
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
}

.leaflet-popup-content-wrapper {
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(172,33,83,.22);
}

.leaflet-popup-content {
    margin: 14px;
}

.aba-map-popup {
    min-width: 250px;
    color: var(--aba-text);
}

.aba-map-popup h3 {
    margin: 0 0 4px;
    color: var(--aba-blue);
    font-size: 22px;
}

.aba-map-popup p,
.aba-map-popup small {
    display: block;
    margin: 0 0 8px;
    color: var(--aba-muted);
}

.aba-map-popup ul {
    display: grid;
    gap: 8px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.aba-map-popup li {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border: 1px solid var(--aba-border);
    border-radius: 9px;
    background: #f5ebdd;
}

.aba-map-popup li i {
    width: 10px;
    height: 26px;
    border-radius: 999px;
}

.aba-map-popup li span,
.aba-map-popup li em {
    color: var(--aba-muted);
    font-style: normal;
    white-space: nowrap;
}

.aba-map-popup li.aba-map-user-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.aba-map-user-avatar {
    position: relative;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 3px solid var(--activity-color);
    border-radius: 999px;
    background: #ffffff;
}

.aba-map-user-avatar .aba-avatar-core,
.aba-map-user-avatar .aba-avatar-frame {
    width: 100%;
    height: 100%;
}

.aba-map-user-avatar .aba-avatar-core-framed {
    position: absolute;
    inset: -12%;
    width: auto;
    height: auto;
}

.aba-map-user-avatar .aba-avatar-frame {
    position: absolute;
    inset: -12%;
    width: 124%;
    height: 124%;
}

.aba-map-user-row strong {
    display: grid;
    min-width: 0;
    color: var(--aba-text);
    font-weight: 500;
    line-height: 1.1;
}

.aba-map-user-row strong small {
    color: var(--aba-muted);
    font-size: 12px;
    font-weight: 400;
}

.aba-map-user-row em {
    padding: 4px 8px;
    border-radius: 999px;
    background: #f5ebdd;
    font-size: 12px;
}

.aba-map-screen .leaflet-control-zoom {
    border: 0;
    box-shadow: 0 12px 30px rgba(172,33,83,.2);
}

.aba-map-screen .leaflet-control-zoom a {
    width: 40px;
    height: 40px;
    color: var(--aba-blue);
    font-family: inherit;
    font-weight: 400;
}

.aba-map-shell {
    width: min(100% - 56px, 1480px);
    margin: 0 auto;
    padding: 48px 0 72px;
}

.aba-map-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0;
}

.aba-map-stats article {
    padding: 18px 20px;
}

.aba-map-stats span {
    display: block;
    color: var(--aba-muted);
}

.aba-map-stats strong {
    display: block;
    margin-top: 8px;
    color: var(--aba-blue);
    font-size: 34px;
    line-height: 1;
}

.aba-map-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr);
    gap: 18px;
    align-items: start;
}

.aba-map-card,
.aba-map-city-panel {
    padding: 22px;
}

.aba-map-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.aba-map-card-head h2,
.aba-map-city-panel h2 {
    margin: 0 0 6px;
}

.aba-map-card-head p {
    margin: 0;
    color: var(--aba-muted);
}

.aba-map-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 12px;
    max-width: 390px;
}

.aba-map-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--aba-muted);
    white-space: nowrap;
}

.aba-map-legend i {
    width: 12px;
    height: 12px;
    border-radius: 4px;
    display: inline-block;
}

.aba-us-map-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
    gap: 10px;
}

.aba-map-state-tile {
    min-height: 76px;
    border: 1px solid rgba(172,33,83,.08);
    border-radius: 12px;
    padding: 10px;
    display: grid;
    align-content: space-between;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
}

.aba-map-state-tile strong {
    font-size: 20px;
    line-height: 1;
}

.aba-map-state-tile span {
    font-size: 18px;
    line-height: 1;
}

.aba-map-state-tile small {
    opacity: .9;
}

.aba-map-city-list {
    display: grid;
    gap: 16px;
    max-height: 780px;
    overflow: auto;
    padding-right: 4px;
}

.aba-map-city-list section {
    display: grid;
    gap: 8px;
}

.aba-map-city-list h3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding-top: 8px;
    color: var(--aba-blue);
}

.aba-map-city-list h3 span {
    min-width: 32px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f5ebdd;
    color: var(--aba-blue);
    font-size: 14px;
}

.aba-map-city-list article {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #ffffff;
}

.aba-map-city-list article i {
    width: 12px;
    height: 32px;
    border-radius: 999px;
}

.aba-map-city-list article span,
.aba-map-city-list article small {
    color: var(--aba-muted);
}

@media (max-width: 1000px) {
    .aba-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aba-finance-cards,
    .aba-finance-grid,
    .aba-board-domain-grid,
    .aba-board-profile-grid,
    .aba-map-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aba-map-layout {
        grid-template-columns: 1fr;
    }

    .aba-board-exam {
        grid-template-columns: 1fr;
    }

    .aba-board-side {
        position: static;
    }
}

@media (max-width: 640px) {
    .aba-my-dashboard {
        width: 100%;
        padding: 14px 9px 40px;
    }

    .aba-my-service-rail {
        padding: 12px;
    }

    .aba-my-service-rail nav {
        grid-template-columns: 1fr;
    }

    .aba-my-hero,
    .aba-my-focus-card,
    .aba-my-course-card,
    .aba-my-board-card,
    .aba-my-progress-card {
        padding: 18px;
    }

    .aba-my-hero h1 {
        font-size: 30px;
    }

    .aba-my-focus-card,
    .aba-my-stat-row {
        grid-template-columns: 1fr;
    }

    .aba-stat-grid {
        grid-template-columns: 1fr;
    }

    .aba-finance-header,
    .aba-finance-filter {
        display: grid;
        width: 100%;
    }

    .aba-finance-cards,
    .aba-finance-grid,
    .aba-board-domain-grid,
    .aba-board-profile-grid,
    .aba-map-stats {
        grid-template-columns: 1fr;
    }

    .aba-board-shell {
        width: min(100% - 24px, 1480px);
        padding-top: 24px;
    }

    .aba-board-hero,
    .aba-board-start,
    .aba-board-results-head {
        display: grid;
    }

    .aba-board-question-card {
        padding: 20px;
    }

    .aba-board-nav-grid {
        grid-template-columns: repeat(6, 1fr);
    }

    .aba-map-screen {
        height: calc(100vh - 70px);
        min-height: 620px;
    }

    .aba-map-overlay {
        left: 12px;
        right: 12px;
        transform: none;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aba-map-overlay strong {
        grid-column: 1 / -1;
    }

    .aba-map-legend-floating {
        left: 12px;
        right: 12px;
        bottom: 12px;
        max-width: none;
    }

    .aba-map-shell {
        width: min(100% - 24px, 1480px);
        padding-top: 28px;
    }

    .aba-map-card-head,
    .aba-map-city-list article {
        display: grid;
    }

    .aba-map-legend {
        justify-content: flex-start;
    }
}

/* Learning Route + Mastering ABA: attach the domain navigator to Personal Area. */
@media (min-width: 761px) {
    .aba-my-dashboard-flush-course {
        padding-right: 0 !important;
    }

    .aba-my-shell-flush-course {
        gap: 0 !important;
    }

    .aba-my-main-panel-flush-course {
        gap: 0 !important;
        padding-top: 0 !important;
    }

    .aba-flush-domain-course.aba-lesson-page {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 0 48px !important;
        grid-template-columns: 332px minmax(0, 1fr) !important;
        gap: 0 !important;
    }

    .aba-classroom-embed.aba-flush-domain-course .aba-lesson-sidebar {
        top: 0 !important;
        min-height: 100vh !important;
        max-height: 100vh !important;
        margin: 0 !important;
        border-top: 0 !important;
        border-left: 0 !important;
        border-bottom: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .aba-flush-domain-course .aba-lesson-content {
        padding: 0 24px 40px !important;
    }

    .aba-flush-domain-course .aba-lesson-domain-heading {
        min-height: 0 !important;
        margin: 0 !important;
    }
}

.aba-flush-domain-course .aba-domain-drawer-head:has(.aba-domain-drawer-close:only-child) {
    justify-content: end;
}

.aba-one-on-one-page {
    display: grid;
    gap: 24px;
}

.aba-one-on-one-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    padding: 28px;
    box-shadow: var(--aba-shadow);
}

.aba-one-on-one-hero h1,
.aba-one-on-one-page h2,
.aba-one-on-one-page h3 {
    color: var(--aba-ink);
}

.aba-one-on-one-price-card {
    min-width: 220px;
    border-radius: 8px;
    background: #f5ebdd;
    padding: 20px;
    border: 1px solid var(--aba-border);
}

.aba-one-on-one-price-card strong {
    display: block;
    color: var(--aba-blue);
    font-size: 34px;
    line-height: 1;
}

.aba-one-on-one-admin {
    background: #ffffff;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    padding: 24px;
    box-shadow: var(--aba-shadow);
}

.aba-one-on-one-admin-form,
.aba-one-on-one-form {
    display: grid;
    gap: 18px;
}

.aba-one-on-one-admin-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aba-one-on-one-admin-form label {
    display: grid;
    gap: 7px;
    color: var(--aba-muted);
    font-size: 13px;
}

.aba-one-on-one-admin-form input,
.aba-one-on-one-admin-form select {
    width: 100%;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: #ffffff;
    color: var(--aba-ink);
    padding: 12px 14px;
    font: inherit;
}

.aba-one-on-one-admin-form .full,
.aba-one-on-one-admin-form .aba-check-line,
.aba-one-on-one-admin-form button {
    grid-column: 1 / -1;
}

.aba-one-on-one-admin-form .aba-check-line {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    padding: 12px 14px;
}

.aba-one-on-one-admin-form .aba-check-line input {
    width: auto;
}

.aba-one-on-one-slots {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.aba-one-on-one-calendar {
    display: grid;
    gap: 14px;
}

.aba-one-on-one-month {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
    background: #f5ebdd;
    padding: 14px 16px;
}

.aba-one-on-one-month strong {
    color: var(--aba-blue);
    font-size: 18px;
    font-weight: 600;
}

.aba-one-on-one-month span {
    color: var(--aba-muted);
}

.aba-one-on-one-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
}

.aba-one-on-one-day-head {
    color: var(--aba-blue);
    font-size: 13px;
    text-align: center;
}

.aba-one-on-one-day {
    display: grid;
    align-content: start;
    gap: 8px;
    min-height: 156px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    padding: 10px;
}

.aba-one-on-one-day.empty {
    border-color: transparent;
    background: transparent;
}

.aba-one-on-one-day.muted {
    background: #f5ebdd;
}

.aba-one-on-one-day.available {
    border-color: #f5ebdd;
    background: #ffffff;
}

.aba-one-on-one-day-number {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.aba-one-on-one-day-number strong {
    color: var(--aba-ink);
    font-weight: 600;
}

.aba-one-on-one-day-number small {
    color: var(--aba-muted);
    font-size: 11px;
}

.aba-one-on-one-day-slots {
    display: grid;
    gap: 6px;
}

.aba-one-on-one-calendar .aba-one-on-one-slot span {
    gap: 2px;
    padding: 8px;
}

.aba-one-on-one-calendar .aba-one-on-one-slot strong {
    font-size: 12px;
}

.aba-one-on-one-calendar .aba-one-on-one-slot em {
    color: var(--aba-muted);
    font-size: 11px;
    font-style: normal;
}

.aba-one-on-one-slot {
    display: block;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    cursor: pointer;
    overflow: hidden;
}

.aba-one-on-one-slot input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.aba-one-on-one-slot span {
    display: grid;
    gap: 4px;
    padding: 16px;
}

.aba-one-on-one-slot strong {
    color: var(--aba-blue);
    font-weight: 600;
}

.aba-one-on-one-slot small {
    color: var(--aba-muted);
}

.aba-one-on-one-slot:has(input:checked) {
    border-color: var(--aba-blue);
    box-shadow: inset 0 0 0 2px var(--aba-blue);
}

.aba-one-on-one-domains {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.aba-one-on-one-domains label {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    padding: 13px 14px;
    background: #ffffff;
}

.aba-one-on-one-summary {
    display: grid;
    gap: 10px;
}

.aba-one-on-one-summary ul,
.aba-one-on-one-session-domains {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.aba-one-on-one-summary li,
.aba-one-on-one-session-domains span {
    border-radius: 999px;
    background: #f5ebdd;
    color: var(--aba-blue);
    padding: 7px 10px;
    font-size: 13px;
}

.aba-one-on-one-profile-list {
    display: grid;
    gap: 12px;
}

.aba-one-on-one-session-card {
    display: grid;
    grid-template-columns: minmax(190px, auto) 1fr auto;
    gap: 16px;
    align-items: center;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    padding: 16px;
    background: #ffffff;
}

.aba-one-on-one-session-card strong,
.aba-one-on-one-session-card span,
.aba-one-on-one-session-card small {
    display: block;
}

.aba-one-on-one-session-card strong {
    color: var(--aba-ink);
    font-weight: 600;
}

.aba-one-on-one-session-card small {
    color: var(--aba-muted);
}

.aba-one-on-one-session-actions {
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 780px) {
    .aba-one-on-one-hero,
    .aba-one-on-one-session-card {
        grid-template-columns: 1fr;
    }

    .aba-one-on-one-slots,
    .aba-one-on-one-domains {
        grid-template-columns: 1fr;
    }

    .aba-one-on-one-calendar-grid {
        grid-template-columns: 1fr;
    }

    .aba-one-on-one-day-head,
    .aba-one-on-one-day.empty {
        display: none;
    }

    .aba-one-on-one-day {
        min-height: auto;
    }

    .aba-one-on-one-price-card {
        min-width: 0;
    }
}
.aba-learning-lab-page .aba-admin-hero {
    margin-bottom: 18px;
}

.aba-learning-lab-page .aba-board-hero {
    margin-bottom: 18px;
}

.aba-lab-domain-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 auto 24px;
    max-width: var(--aba-wide, 1180px);
}

.aba-lab-domain-grid a {
    display: grid;
    gap: 8px;
    min-height: 118px;
    padding: 22px;
    color: var(--aba-ink);
    text-decoration: none;
    background: #ffffff;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    box-shadow: 0 18px 38px rgba(172,33,83,.08);
}

.aba-lab-domain-grid a:hover,
.aba-lab-domain-grid a.active {
    color: #ffffff;
    background: #ac2153;
    border-color: #ac2153;
}

.aba-lab-domain-grid span {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    color: #ffffff;
    background: var(--aba-blue);
    border-radius: 999px;
}

.aba-lab-domain-grid a:hover span,
.aba-lab-domain-grid a.active span {
    color: #ac2153;
    background: #ffffff;
}

.aba-lab-practice-shell {
    display: grid;
    gap: 18px;
    margin-top: 18px;
}

.aba-lab-layout {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 20px;
    max-width: var(--aba-wide, 1180px);
    margin: 0 auto;
    align-items: start;
}

.aba-lab-domain-board {
    margin-top: 0;
}

.aba-lab-domain-board .aba-lab-domain-list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-top: 16px;
}

.aba-lab-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.aba-lab-toolbar > h2 {
    margin: 0;
}

.aba-lab-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.aba-lab-start-board {
    display: grid;
    gap: 18px;
}

.aba-lab-start-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}

.aba-lab-start-heading h2 {
    margin: 4px 0 0;
}

.aba-lab-start-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.aba-lab-start-card {
    display: grid;
    grid-template-rows: auto auto 1fr;
    gap: 10px;
    min-height: 156px;
    padding: 18px;
    color: var(--aba-ink);
    text-decoration: none;
    background: #f5ebdd;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    box-shadow: 0 14px 28px rgba(172,33,83,.06);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.aba-lab-start-card:hover {
    transform: translateY(-2px);
    border-color: var(--aba-blue);
    box-shadow: 0 18px 34px rgba(172,33,83,.12);
}

.aba-lab-start-card span {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: #ffffff;
    background: var(--aba-blue);
    border-radius: 999px;
}

.aba-lab-start-card strong {
    font-size: 1.04rem;
}

.aba-lab-start-card small {
    color: var(--aba-muted);
    line-height: 1.45;
}

.aba-lab-sidebar {
    position: sticky;
    top: 92px;
}

.aba-lab-domain-list {
    display: grid;
    gap: 10px;
}

.aba-lab-domain-list a {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 62px;
    padding: 12px;
    color: var(--aba-ink);
    text-decoration: none;
    background: #ffffff;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    box-shadow: 0 12px 26px rgba(172,33,83,.06);
}

.aba-lab-domain-list a:hover,
.aba-lab-domain-list a.active {
    color: #ffffff;
    background: var(--aba-blue);
    border-color: var(--aba-blue);
}

.aba-lab-domain-list span {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    color: #ffffff;
    background: var(--aba-blue);
    border-radius: 999px;
}

.aba-lab-domain-list a:hover span,
.aba-lab-domain-list a.active span {
    color: var(--aba-blue);
    background: #ffffff;
}

.aba-lab-type-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px;
    background: #ffffff;
    border: 1px solid var(--aba-border);
    border-radius: 12px;
}

.aba-lab-board-form {
    margin-top: 0;
}

.aba-lab-board-form .aba-board-question-card {
    min-height: 520px;
}

.aba-lab-board-form .aba-board-side {
    align-self: start;
}

.aba-lab-side-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 0;
}

.aba-lab-side-actions .aba-btn {
    min-width: 0;
}

.aba-lab-type-filter a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: var(--aba-blue);
    text-decoration: none;
    border: 1px solid #f5ebdd;
    border-radius: 999px;
    background: #f5ebdd;
}

.aba-lab-type-filter a.active {
    color: #ffffff;
    background: var(--aba-blue);
    border-color: var(--aba-blue);
}

.aba-lab-trial-form {
    display: grid;
    gap: 18px;
}

.aba-lab-trial-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 12px;
    border: 1px solid var(--aba-border);
}

.aba-lab-trial-result.is-good {
    color: #ac2153;
    background: #f5ebdd;
    border-color: #f5ebdd;
}

.aba-lab-trial-result.is-review {
    color: #ac2153;
    background: #f5ebdd;
    border-color: #f5ebdd;
}

.aba-lab-trial-result div {
    display: grid;
    gap: 4px;
}

.aba-lab-trial-result strong {
    font-size: 1.6rem;
}

.aba-exercise-result-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.aba-exercise-result-summary > div {
    display: grid;
    gap: 5px;
}

.aba-exercise-result-summary h2,
.aba-exercise-result-summary p {
    margin: 0;
}

.aba-lab-exercise-card {
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.aba-lab-exercise-card header {
    display: none;
}

.aba-lab-exercise-card header span {
    color: var(--aba-red);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.aba-lab-exercise-card h3 {
    margin: 0;
    color: var(--aba-ink);
    font-size: clamp(1.25rem, 1.8vw, 1.7rem);
}

.aba-lab-prompt {
    max-width: 860px;
    color: var(--aba-ink);
    line-height: 1.7;
}

.aba-lab-answer-form {
    display: grid;
    gap: 16px;
}

.aba-lab-answer-buttons,
.aba-lab-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.aba-lab-answer-buttons label,
.aba-lab-options label,
.aba-lab-match-grid label,
.aba-lab-case-question label {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    min-height: 54px;
    padding: 14px 16px;
    background: #f5ebdd;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
}

.aba-lab-answer-buttons label:has(input:checked),
.aba-lab-options label:has(input:checked),
.aba-lab-case-question label:has(input:checked) {
    border-color: var(--aba-blue);
    background: #f5ebdd;
}

.aba-lab-match-grid {
    display: grid;
    gap: 12px;
}

.aba-lab-match-grid label {
    display: grid;
    grid-template-columns: 1fr minmax(220px, .8fr);
    align-items: center;
    gap: 16px;
}

.aba-lab-case-question {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px dashed #f5ebdd;
    border-radius: 12px;
}

.aba-lab-case-question legend {
    padding: 0 8px;
    color: var(--aba-blue);
}

.aba-lab-result {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 10px;
}

.aba-lab-result.is-good {
    color: #ac2153;
    background: #f5ebdd;
}

.aba-lab-result.is-review {
    color: #ac2153;
    background: #f5ebdd;
}

.aba-lab-result strong {
    font-size: 1.45rem;
}

.aba-lab-explanation,
.aba-lab-case-review {
    margin-top: 14px;
    padding: 16px;
    background: #f5ebdd;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    line-height: 1.65;
}

.aba-lab-case-review {
    display: grid;
    gap: 14px;
}

.aba-lab-case-review h4,
.aba-lab-case-review p {
    margin: 0;
}

.aba-lab-case-review small {
    display: block;
    color: var(--aba-muted);
}

.aba-lab-admin-panel .aba-lab-type-panel {
    display: grid;
    gap: 18px;
    margin: 22px 0;
    padding: 18px;
    border: 1px dashed #f5ebdd;
    border-radius: 12px;
}

.aba-lab-admin-panel .aba-lab-type-panel[hidden] {
    display: none;
}

.aba-lab-pair {
    display: grid;
    grid-template-columns: auto repeat(4, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
}

.aba-lab-pair strong {
    padding-bottom: 14px;
    color: var(--aba-blue);
}

.aba-lab-case-admin {
    display: grid;
    gap: 10px;
    padding: 14px;
    background: #f5ebdd;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
}

.aba-lab-case-admin h4 {
    margin: 0;
}

.aba-lab-case-option {
    display: grid;
    grid-template-columns: auto 120px 1fr 1fr;
    gap: 10px;
    align-items: center;
}

@media (max-width: 860px) {
    .aba-lab-domain-grid,
    .aba-lab-start-grid,
    .aba-lab-answer-buttons,
    .aba-lab-options,
    .aba-lab-match-grid label,
    .aba-lab-pair,
    .aba-lab-case-option {
        grid-template-columns: 1fr;
    }

    .aba-lab-toolbar,
    .aba-lab-toolbar-actions,
    .aba-lab-start-heading {
        align-items: stretch;
    }

    .aba-lab-toolbar-actions .aba-btn,
    .aba-lab-start-heading .aba-btn {
        width: 100%;
    }
}

@media (max-width: 900px) {
    .aba-lab-layout {
        grid-template-columns: 1fr;
    }

    .aba-lab-sidebar {
        position: static;
    }

    .aba-lab-domain-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aba-lab-domain-board .aba-lab-domain-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Learning route roadmap, snake layout */
.aba-study-roadmap-hero {
    display: block !important;
}

.aba-study-roadmap-intro {
    display: none !important;
}

.aba-study-roadmap-board {
    position: relative;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(120px, 1fr)) !important;
    grid-auto-rows: minmax(148px, auto);
    gap: 48px 44px !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 78px 58px 92px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 16px !important;
    background:
        linear-gradient(rgba(255,255,255,.94), rgba(255,255,255,.94)),
        repeating-linear-gradient(0deg, transparent 0 31px, rgba(172,33,83,.05) 31px 32px),
        repeating-linear-gradient(90deg, transparent 0 31px, rgba(172,33,83,.05) 31px 32px) !important;
    box-shadow: 0 20px 44px rgba(172,33,83,.08) !important;
}

.aba-study-roadmap-board::before,
.aba-study-roadmap-board::after,
.aba-study-roadmap-track,
.aba-study-roadmap-board > .aba-study-avatar-runner {
    display: none !important;
}

.aba-study-roadmap-start,
.aba-study-roadmap-finish {
    position: relative !important;
    z-index: 8;
    inset: auto !important;
    display: grid !important;
    place-items: center;
    width: 78px !important;
    height: 78px !important;
    border: 6px solid #ffffff;
    border-radius: 999px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
    box-shadow: 0 18px 34px rgba(172,33,83,.18);
}

.aba-study-roadmap-start {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    align-self: center;
    margin: 0 !important;
    background: #ac2153 !important;
}

.aba-study-roadmap-finish {
    grid-column: 5;
    grid-row: 8;
    justify-self: center;
    align-self: center;
    margin: 0 !important;
    background: var(--aba-red) !important;
}

/* Recorded Classes shares the same title rhythm as Glossary and Flashcards. */
.aba-library-embed-body .aba-library-shell {
    width: min(100%, 1500px) !important;
    margin: 0 auto !important;
    padding: 20px 24px 38px !important;
    box-sizing: border-box !important;
}

.aba-library-embed-body .aba-library-heading {
    width: 100% !important;
    margin: 0 0 26px !important;
}

.aba-library-embed-body .aba-library-heading h1 {
    margin: 0 !important;
    font-size: clamp(2.35rem, 4vw, 4.1rem) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.aba-study-roadmap-start::after {
    content: "";
    position: absolute;
    left: calc(50% + 39px);
    top: 50%;
    width: calc(100% + 34px);
    height: 6px;
    border-radius: 999px;
    background: repeating-linear-gradient(to right, var(--aba-blue) 0 18px, transparent 18px 30px);
    transform: translateY(-50%);
}

.aba-study-road-stop,
.aba-study-road-stop:nth-of-type(odd),
.aba-study-road-stop:nth-of-type(even) {
    position: relative !important;
    z-index: 6;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    display: grid !important;
    justify-items: center;
    align-self: center;
    justify-self: center;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    width: 118px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    cursor: pointer;
}

.aba-study-road-stop::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 39px;
    height: 6px;
    border-radius: 999px;
    background: repeating-linear-gradient(to right, var(--aba-blue) 0 18px, transparent 18px 30px);
}

.aba-study-road-stop.is-row-odd:not(.is-col-5)::before {
    left: calc(50% + 52px);
    width: calc(100% + 56px);
}

.aba-study-road-stop.is-row-even:not(.is-col-1)::before {
    right: calc(50% + 52px);
    width: calc(100% + 56px);
}

.aba-study-road-stop.is-row-odd.is-col-5::before,
.aba-study-road-stop.is-row-even.is-col-1::before {
    display: none !important;
}

.aba-study-road-stop::after {
    content: "";
    position: absolute;
    z-index: -1;
    display: none !important;
    top: calc(50% + 52px);
    width: 8px;
    height: 96px;
    border-radius: 999px;
    background: repeating-linear-gradient(to bottom, var(--aba-blue) 0 18px, transparent 18px 30px);
}

.aba-study-road-stop.is-row-odd.is-col-5::after,
.aba-study-road-stop.is-row-even.is-col-1::after {
    display: block !important;
    left: calc(50% - 4px);
}

.aba-study-road-stop span {
    grid-row: auto !important;
    width: 108px !important;
    height: 108px !important;
    border: 8px solid #ffffff;
    border-radius: 999px;
    background: #ac2153 !important;
    color: #ac2153 !important;
    font-size: 18px;
    font-weight: 900;
    box-shadow: 0 16px 26px rgba(172,33,83,.14);
}

.aba-study-road-stop.is-kind-module span {
    width: 78px !important;
    height: 78px !important;
    font-size: 18px;
}

.aba-study-road-stop.is-kind-quiz span {
    border-color: #ffffff;
    box-shadow: 0 0 0 4px rgba(172,33,83,.12), 0 16px 26px rgba(172,33,83,.14);
}

.aba-study-road-stop.is-kind-mock span {
    background: #ac2153 !important;
    color: #ffffff !important;
}

.aba-study-road-stop.is-mastered span {
    background: var(--aba-blue) !important;
    color: #ffffff !important;
}

.aba-study-road-stop.is-repeat span {
    background: var(--aba-red) !important;
    color: #ffffff !important;
}

.aba-study-road-stop.is-available span {
    background: #ffffff !important;
    color: var(--aba-red) !important;
    border-color: var(--aba-red);
    box-shadow: 0 0 0 7px rgba(172,33,83,.10), 0 16px 26px rgba(172,33,83,.14);
}

.aba-study-road-stop:hover span {
    transform: translateY(-2px);
    box-shadow: 0 18px 30px rgba(172,33,83,.20);
}

.aba-study-road-stop strong {
    margin-top: -70px;
    color: #ac2153;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.aba-study-road-stop small {
    max-width: 142px;
    min-height: 32px;
    color: #ac2153;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
}

.aba-study-road-stop button {
    display: none !important;
    width: 112px;
    min-height: 34px;
    border: 1px solid var(--aba-blue);
    border-radius: 8px;
    background: var(--aba-blue);
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(172,33,83,.12);
}

.aba-study-road-stop button:hover {
    background: var(--aba-red);
    border-color: var(--aba-red);
    transform: translateY(-1px);
}

.aba-study-node-pin {
    position: absolute;
    z-index: 12;
    left: 50%;
    top: -48px;
    width: 44px;
    height: 44px;
    transform: translateX(-50%);
}

.aba-study-node-pin::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 29px;
    width: 0;
    height: 0;
    border-left: 17px solid transparent;
    border-right: 17px solid transparent;
    border-top: 34px solid var(--aba-red);
    transform: translateX(-50%);
    filter: drop-shadow(0 12px 16px rgba(172,33,83,.20));
}

.aba-study-node-pin::after {
    content: "";
    position: absolute;
    inset: -5px;
    border-radius: 999px;
    background: rgba(172,33,83,.16);
    border: 2px solid rgba(172,33,83,.25);
}

.aba-study-node-pin .aba-profile-avatar {
    position: relative;
    z-index: 2;
}

.aba-study-node-pin .aba-profile-avatar.small {
    width: 44px !important;
    height: 44px !important;
}

.aba-study-lesson-schema-card {
    grid-column: 1 / -1;
}

.aba-study-lesson-schema {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.aba-study-lesson-schema article {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
}

.aba-study-lesson-schema article span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--aba-red);
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
}

.aba-study-lesson-schema article strong {
    display: block;
    color: var(--aba-blue);
    font-size: 13px;
    line-height: 1.2;
    text-transform: uppercase;
}

.aba-study-lesson-schema article p {
    margin: 4px 0 0;
    color: #ac2153;
    font-size: 13px;
    line-height: 1.4;
}

@media (max-width: 1100px) {
    .aba-study-roadmap-board {
        grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
        padding: 72px 24px 86px !important;
    }

    .aba-study-roadmap-start,
    .aba-study-roadmap-finish {
        grid-column: auto;
        grid-row: auto;
    }

    .aba-study-roadmap-start::after,
    .aba-study-roadmap-finish::before,
    .aba-study-road-stop::before,
    .aba-study-road-stop::after {
        display: none !important;
    }
}

@media (max-width: 720px) {
    .aba-study-roadmap-board {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    .aba-study-road-stop,
    .aba-study-road-stop:nth-of-type(odd),
    .aba-study-road-stop:nth-of-type(even) {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
    }

    .aba-study-lesson-schema {
        grid-template-columns: 1fr;
    }
}

/* Final 1 on 1 override: keep public and personal-area views aligned with the platform design system. */
body.aba-one-on-one-embed-body,
.aba-simple-page.aba-one-on-one-page,
.aba-my-one-on-one-frame-wrap {
    background: #f5ebdd !important;
}

.aba-simple-page.aba-one-on-one-page {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: clamp(44px, 5vw, 72px) clamp(22px, 8vw, 132px) 70px !important;
    box-sizing: border-box !important;
}

.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
    padding: clamp(40px, 5vw, 68px) clamp(22px, 7vw, 120px) 70px !important;
}

.aba-one-on-one-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto 46px !important;
}

.aba-one-on-one-topbar h1 {
    margin: 0 !important;
    max-width: 760px !important;
    color: var(--aba-blue) !important;
    font-size: clamp(44px, 5.4vw, 72px) !important;
    line-height: .96 !important;
    letter-spacing: 0 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-topbar h1::after {
    content: "" !important;
    display: block !important;
    width: 72px !important;
    height: 4px !important;
    margin-top: 18px !important;
    border-radius: 999px !important;
    background: var(--aba-red) !important;
}

.aba-one-on-one-topbar p {
    display: none !important;
}

.aba-one-on-one-topbar .aba-btn {
    min-width: 132px !important;
    min-height: 48px !important;
    border-radius: 8px !important;
}

.aba-one-on-one-calendar-panel {
    width: 100% !important;
    max-width: 920px !important;
    margin: 0 auto !important;
    padding: 28px 30px 30px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 24px 60px rgba(172,33,83,.10) !important;
}

.aba-one-on-one-calendar-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 22px !important;
    padding: 14px 18px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
}

.aba-one-on-one-calendar-head h2 {
    margin: 0 !important;
    color: var(--aba-blue) !important;
    font-size: 28px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-timezone {
    margin: 0 !important;
    color: #ac2153 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-align: right !important;
}

.aba-one-on-one-weekdays,
.aba-one-on-one-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.aba-one-on-one-weekdays span {
    color: var(--aba-blue) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

.aba-one-on-one-day {
    width: 100% !important;
    min-height: 96px !important;
    padding: 12px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--aba-blue) !important;
    text-align: left !important;
    box-shadow: none !important;
    transition: border-color .18s ease, background .18s ease, color .18s ease !important;
}

.aba-one-on-one-day:hover {
    border-color: var(--aba-blue) !important;
}

.aba-one-on-one-day strong {
    display: block !important;
    margin-bottom: 28px !important;
    color: inherit !important;
    font-size: 21px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-day span {
    display: block !important;
    color: inherit !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-day.is-unavailable {
    border-color: #f5ebdd !important;
    background: #f5ebdd !important;
    color: var(--aba-red) !important;
}

.aba-one-on-one-day.is-available {
    border-color: #f5ebdd !important;
    background: #ffffff !important;
    color: var(--aba-blue) !important;
    cursor: pointer !important;
}

.aba-one-on-one-day.is-available:hover,
.aba-one-on-one-day.is-selected {
    border-color: var(--aba-blue) !important;
    background: var(--aba-blue) !important;
    color: #ffffff !important;
}

.aba-one-on-one-day.is-booked {
    border-color: var(--aba-blue) !important;
    background: var(--aba-blue) !important;
    color: #ffffff !important;
}

.aba-one-on-one-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin-top: 18px !important;
    color: #ac2153 !important;
    font-size: 13px !important;
}

.aba-one-on-one-legend span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.aba-one-on-one-legend i {
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: #f5ebdd !important;
}

.aba-one-on-one-legend .is-booked i {
    background: var(--aba-blue) !important;
}

.aba-one-on-one-legend .is-unavailable i {
    background: var(--aba-red) !important;
}

.aba-one-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    background: rgba(172,33,83,.54) !important;
}

.aba-one-modal.is-open {
    display: flex !important;
}

.aba-one-modal-card {
    width: min(900px, 100%) !important;
    max-height: calc(100vh - 48px) !important;
    overflow: auto !important;
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 30px 80px rgba(172,33,83,.25) !important;
}

.aba-one-modal-head {
    display: flex !important;
    justify-content: space-between !important;
    gap: 18px !important;
    align-items: flex-start !important;
    margin-bottom: 20px !important;
}

.aba-one-modal-head h2 {
    margin: 0 !important;
    color: var(--aba-blue) !important;
    font-size: 32px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
}

.aba-one-modal-head h2::after {
    content: "" !important;
    display: block !important;
    width: 64px !important;
    height: 4px !important;
    margin-top: 12px !important;
    border-radius: 999px !important;
    background: var(--aba-red) !important;
}

.aba-one-modal-close {
    display: inline-grid !important;
    place-items: center !important;
    min-width: 42px !important;
    height: 42px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--aba-blue) !important;
    font-size: 20px !important;
    cursor: pointer !important;
}

.aba-one-slot-grid,
.aba-one-duration-grid,
.aba-one-domain-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 12px 0 18px !important;
}

.aba-one-slot-option,
.aba-one-duration-option,
.aba-one-domain-option {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
    color: var(--aba-blue) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.aba-one-fieldset {
    padding: 16px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.aba-one-fieldset legend {
    padding: 0 8px !important;
    color: var(--aba-blue) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.aba-one-form-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
    margin-top: 18px !important;
}

.aba-one-form-actions .aba-btn {
    min-height: 48px !important;
    border-radius: 8px !important;
}

.aba-my-one-on-one-frame-wrap {
    width: 100% !important;
    min-height: 1180px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #f5ebdd !important;
}

.aba-my-one-on-one-frame {
    display: block !important;
    width: 100% !important;
    min-height: 1180px !important;
    border: 0 !important;
    background: #f5ebdd !important;
}

/* Final one-on-one visual sync with live classes. Keep this block at EOF. */
body.aba-one-on-one-embed-body,
.aba-simple-page.aba-one-on-one-page,
.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
    background: #f5ebdd !important;
}

.aba-simple-page.aba-one-on-one-page,
.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 64px 24px 88px !important;
    color: #ac2153 !important;
    font-family: "Barlow Condensed", "Arial Narrow", Arial, sans-serif !important;
}

.aba-one-on-one-topbar,
.aba-one-on-one-calendar-panel,
.aba-one-on-one-legend,
.aba-one-admin-card {
    width: min(100%, 1500px) !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.aba-one-on-one-topbar {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 28px !important;
    margin-bottom: 34px !important;
}

.aba-one-on-one-topbar h1 {
    max-width: 780px !important;
    margin: 0 !important;
    color: #ac2153 !important;
    font-size: clamp(52px, 5vw, 76px) !important;
    line-height: .9 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.aba-one-on-one-topbar h1::after {
    content: "" !important;
    display: block !important;
    width: 78px !important;
    height: 5px !important;
    margin-top: 14px !important;
    border-radius: 999px !important;
    background: #ac2153 !important;
}

.aba-one-on-one-topbar p {
    max-width: 780px !important;
    margin: 18px 0 0 !important;
    color: #ac2153 !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}

.aba-one-on-one-calendar-panel {
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 42px rgba(172,33,83,.08) !important;
}

.aba-one-on-one-calendar-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 0 18px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #f5ebdd !important;
}

.aba-one-on-one-calendar-head h2 {
    margin: 0 !important;
    color: #ac2153 !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-calendar-head span,
.aba-one-on-one-day-head {
    color: #ac2153 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.aba-one-on-one-calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
}

.aba-one-on-one-day-head {
    padding: 8px 10px !important;
    text-align: center !important;
}

.aba-one-on-one-day {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-width: 0 !important;
    min-height: 118px !important;
    padding: 14px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font-family: inherit !important;
    text-align: left !important;
    box-shadow: none !important;
}

.aba-one-on-one-day strong {
    margin: 0 !important;
    color: inherit !important;
    font-size: 26px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-day span {
    color: inherit !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

.aba-one-on-one-day.available {
    border-color: #fb76a4 !important;
    background: #ffffff !important;
}

.aba-one-on-one-day.available:hover,
.aba-one-on-one-day.available.is-selected {
    border-color: #ac2153 !important;
    background: #f5ebdd !important;
}

.aba-one-on-one-day.scheduled {
    border-color: #ac2153 !important;
    background: #ac2153 !important;
    color: #ffffff !important;
}

.aba-one-on-one-day.full,
.aba-one-on-one-day.unavailable {
    border-color: #f5ebdd !important;
    background: #f5ebdd !important;
    color: #ac2153 !important;
}

.aba-one-on-one-day.empty {
    visibility: hidden !important;
}

.aba-one-on-one-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 18px !important;
    align-items: center !important;
    margin-top: 14px !important;
    color: #ac2153 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

@media (max-width: 980px) {
    .aba-simple-page.aba-one-on-one-page,
    .aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
        padding: 40px 16px 64px !important;
    }

    .aba-one-on-one-topbar {
        flex-direction: column !important;
    }

    .aba-one-on-one-calendar-panel {
        overflow-x: auto !important;
    }

    .aba-one-on-one-calendar-grid {
        min-width: 760px !important;
    }
}

/* Final one-on-one visual sync with live classes. Keep this block at EOF. */
body.aba-one-on-one-embed-body,
.aba-simple-page.aba-one-on-one-page,
.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed,
.aba-my-one-on-one-frame-wrap,
.aba-my-one-on-one-frame {
    background: #f5ebdd !important;
}

.aba-simple-page.aba-one-on-one-page,
.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 64px 24px 88px !important;
    color: #ac2153 !important;
    font-family: "Barlow Condensed", "Arial Narrow", Arial, sans-serif !important;
}

.aba-one-on-one-topbar,
.aba-one-on-one-calendar-panel,
.aba-one-on-one-legend,
.aba-one-admin-card {
    width: min(100%, 1500px) !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.aba-one-on-one-topbar {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 28px !important;
    margin-bottom: 34px !important;
}

.aba-one-on-one-topbar h1 {
    max-width: 780px !important;
    margin: 0 !important;
    color: #ac2153 !important;
    font-size: clamp(52px, 5vw, 76px) !important;
    line-height: .9 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.aba-one-on-one-topbar h1::after {
    content: "" !important;
    display: block !important;
    width: 78px !important;
    height: 5px !important;
    margin-top: 14px !important;
    border-radius: 999px !important;
    background: #ac2153 !important;
}

.aba-one-on-one-topbar p {
    max-width: 780px !important;
    margin: 18px 0 0 !important;
    color: #ac2153 !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}

.aba-one-on-one-topbar .aba-btn,
.aba-one-admin-card .aba-btn,
.aba-one-day-panel .aba-btn {
    min-height: 48px !important;
    border-radius: 8px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
}

.aba-one-on-one-calendar-panel {
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 42px rgba(172,33,83,.08) !important;
}

.aba-one-on-one-calendar-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 0 18px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #f5ebdd !important;
}

.aba-one-on-one-calendar-head h2 {
    margin: 0 !important;
    color: #ac2153 !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-calendar-head span,
.aba-one-on-one-day-head {
    color: #ac2153 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.aba-one-on-one-calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
}

.aba-one-on-one-day-head {
    padding: 8px 10px !important;
    text-align: center !important;
}

.aba-one-on-one-day {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-width: 0 !important;
    min-height: 118px !important;
    padding: 14px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font-family: inherit !important;
    text-align: left !important;
    box-shadow: none !important;
}

.aba-one-on-one-day strong {
    margin: 0 !important;
    color: inherit !important;
    font-size: 26px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-day span {
    color: inherit !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

.aba-one-on-one-day.available {
    border-color: #fb76a4 !important;
    background: #ffffff !important;
}

.aba-one-on-one-day.available:hover,
.aba-one-on-one-day.available.is-selected {
    border-color: #ac2153 !important;
    background: #f5ebdd !important;
}

.aba-one-on-one-day.scheduled {
    border-color: #ac2153 !important;
    background: #ac2153 !important;
    color: #ffffff !important;
}

.aba-one-on-one-day.full,
.aba-one-on-one-day.unavailable {
    border-color: #f5ebdd !important;
    background: #f5ebdd !important;
    color: #ac2153 !important;
}

.aba-one-on-one-day.empty {
    visibility: hidden !important;
}

.aba-one-on-one-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 18px !important;
    align-items: center !important;
    margin-top: 14px !important;
    color: #ac2153 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.aba-my-one-on-one-frame-wrap {
    width: 100% !important;
    min-height: 1180px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.aba-my-one-on-one-frame {
    display: block !important;
    width: 100% !important;
    min-height: 1180px !important;
    border: 0 !important;
}

@media (max-width: 980px) {
    .aba-simple-page.aba-one-on-one-page,
    .aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
        padding: 40px 16px 64px !important;
    }

    .aba-one-on-one-topbar {
        flex-direction: column !important;
    }

    .aba-one-on-one-calendar-panel {
        overflow-x: auto !important;
    }

    .aba-one-on-one-calendar-grid {
        min-width: 760px !important;
    }
}

/* Ultimate one-on-one layout lock. This must stay last. */
body.aba-one-on-one-embed-body,
.aba-simple-page.aba-one-on-one-page,
.aba-my-one-on-one-frame-wrap {
    background: #f5ebdd !important;
}

.aba-simple-page.aba-one-on-one-page,
.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 64px 24px 86px !important;
    color: var(--aba-blue, #ac2153) !important;
    font-family: var(--aba-font, "Barlow Condensed", "Arial Narrow", Arial, sans-serif) !important;
    box-sizing: border-box !important;
}

.aba-one-on-one-topbar,
.aba-one-on-one-calendar-panel,
.aba-one-on-one-legend,
.aba-one-on-one-admin {
    width: min(100%, 1500px) !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

.aba-one-on-one-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 24px !important;
    margin-bottom: 48px !important;
}

.aba-one-on-one-topbar h1 {
    margin: 0 !important;
    color: var(--aba-blue, #ac2153) !important;
    font-size: clamp(52px, 5vw, 80px) !important;
    line-height: .92 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.aba-one-on-one-topbar h1::after {
    content: "" !important;
    display: block !important;
    width: 86px !important;
    height: 5px !important;
    margin-top: 16px !important;
    border-radius: 999px !important;
    background: var(--aba-red, #ac2153) !important;
}

.aba-one-on-one-topbar p {
    max-width: 720px !important;
    margin: 20px 0 0 !important;
    color: #ac2153 !important;
    font-size: 20px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

.aba-one-on-one-topbar .aba-btn {
    min-width: 150px !important;
    min-height: 54px !important;
    border-radius: 8px !important;
    align-self: start !important;
}

.aba-one-on-one-calendar-panel {
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 20px 45px rgba(172,33,83,.08) !important;
}

.aba-one-on-one-month {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #f5ebdd !important;
}

.aba-one-on-one-month strong {
    color: var(--aba-blue, #ac2153) !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-month span {
    color: #ac2153 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-align: right !important;
}

.aba-one-on-one-calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.aba-one-on-one-day-head {
    min-height: 32px !important;
    color: var(--aba-blue, #ac2153) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

button.aba-one-on-one-day,
.aba-one-on-one-day.empty {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 112px !important;
    padding: 14px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
}

button.aba-one-on-one-day {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    border: 1px solid #f5ebdd !important;
    background: #ffffff !important;
    color: var(--aba-blue, #ac2153) !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

button.aba-one-on-one-day strong {
    display: block !important;
    margin: 0 0 30px !important;
    color: inherit !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

button.aba-one-on-one-day span {
    display: block !important;
    color: inherit !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

button.aba-one-on-one-day.available {
    border-color: #fb76a4 !important;
    background: #ffffff !important;
}

button.aba-one-on-one-day.available:hover,
button.aba-one-on-one-day.is-selected {
    border-color: var(--aba-blue, #ac2153) !important;
    background: #f5ebdd !important;
    transform: translateY(-2px) !important;
}

button.aba-one-on-one-day.scheduled {
    border-color: var(--aba-blue, #ac2153) !important;
    background: var(--aba-blue, #ac2153) !important;
    color: #ffffff !important;
}

button.aba-one-on-one-day.full,
button.aba-one-on-one-day.unavailable {
    border-color: #f5ebdd !important;
    background: #f5ebdd !important;
    color: var(--aba-red, #ac2153) !important;
    cursor: not-allowed !important;
}

.aba-one-on-one-day.empty {
    border: 0 !important;
    background: transparent !important;
}

.aba-one-on-one-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 18px !important;
    margin-top: 18px !important;
    color: #ac2153 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.aba-my-one-on-one-frame-wrap {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.aba-my-one-on-one-frame {
    display: block !important;
    width: 100% !important;
    min-height: 1180px !important;
    border: 0 !important;
    background: #f5ebdd !important;
}

@media (max-width: 820px) {
    .aba-simple-page.aba-one-on-one-page,
    .aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
        padding: 34px 16px 54px !important;
    }

    .aba-one-on-one-topbar {
        grid-template-columns: 1fr !important;
    }

    .aba-one-on-one-calendar-panel {
        padding: 18px !important;
    }

    .aba-one-on-one-calendar-grid {
        gap: 6px !important;
    }

    button.aba-one-on-one-day,
    .aba-one-on-one-day.empty {
        min-height: 78px !important;
        padding: 9px !important;
    }

    button.aba-one-on-one-day strong {
        margin-bottom: 16px !important;
        font-size: 17px !important;
    }
}

/* Ultimate one-on-one layout lock. This must stay last. */
body.aba-one-on-one-embed-body,
.aba-simple-page.aba-one-on-one-page,
.aba-my-one-on-one-frame-wrap {
    background: #f5ebdd !important;
}

.aba-simple-page.aba-one-on-one-page,
.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 64px 24px 86px !important;
    color: var(--aba-blue, #ac2153) !important;
    font-family: var(--aba-font, "Barlow Condensed", "Arial Narrow", Arial, sans-serif) !important;
    box-sizing: border-box !important;
}

.aba-one-on-one-topbar,
.aba-one-on-one-calendar-panel,
.aba-one-on-one-legend,
.aba-one-on-one-admin {
    width: min(100%, 1500px) !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

.aba-one-on-one-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 24px !important;
    margin-bottom: 48px !important;
}

.aba-one-on-one-topbar h1 {
    margin: 0 !important;
    color: var(--aba-blue, #ac2153) !important;
    font-size: clamp(52px, 5vw, 80px) !important;
    line-height: .92 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.aba-one-on-one-topbar h1::after {
    content: "" !important;
    display: block !important;
    width: 86px !important;
    height: 5px !important;
    margin-top: 16px !important;
    border-radius: 999px !important;
    background: var(--aba-red, #ac2153) !important;
}

.aba-one-on-one-topbar p {
    max-width: 720px !important;
    margin: 20px 0 0 !important;
    color: #ac2153 !important;
    font-size: 20px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

.aba-one-on-one-topbar .aba-btn {
    min-width: 150px !important;
    min-height: 54px !important;
    border-radius: 8px !important;
    align-self: start !important;
}

.aba-one-on-one-calendar-panel {
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 20px 45px rgba(172,33,83,.08) !important;
}

.aba-one-on-one-month {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #f5ebdd !important;
}

.aba-one-on-one-month strong {
    color: var(--aba-blue, #ac2153) !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-month span {
    color: #ac2153 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-align: right !important;
}

.aba-one-on-one-calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.aba-one-on-one-day-head {
    min-height: 32px !important;
    color: var(--aba-blue, #ac2153) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

button.aba-one-on-one-day,
.aba-one-on-one-day.empty {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 112px !important;
    padding: 14px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
}

button.aba-one-on-one-day {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    border: 1px solid #f5ebdd !important;
    background: #ffffff !important;
    color: var(--aba-blue, #ac2153) !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

button.aba-one-on-one-day strong {
    display: block !important;
    margin: 0 0 30px !important;
    color: inherit !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

button.aba-one-on-one-day span {
    display: block !important;
    color: inherit !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

button.aba-one-on-one-day.available {
    border-color: #fb76a4 !important;
    background: #ffffff !important;
}

button.aba-one-on-one-day.available:hover,
button.aba-one-on-one-day.is-selected {
    border-color: var(--aba-blue, #ac2153) !important;
    background: #f5ebdd !important;
    transform: translateY(-2px) !important;
}

button.aba-one-on-one-day.scheduled {
    border-color: var(--aba-blue, #ac2153) !important;
    background: var(--aba-blue, #ac2153) !important;
    color: #ffffff !important;
}

button.aba-one-on-one-day.full,
button.aba-one-on-one-day.unavailable {
    border-color: #f5ebdd !important;
    background: #f5ebdd !important;
    color: var(--aba-red, #ac2153) !important;
    cursor: not-allowed !important;
}

.aba-one-on-one-day.empty {
    border: 0 !important;
    background: transparent !important;
}

.aba-one-on-one-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 18px !important;
    margin-top: 18px !important;
    color: #ac2153 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.aba-my-one-on-one-frame-wrap {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.aba-my-one-on-one-frame {
    display: block !important;
    width: 100% !important;
    min-height: 1180px !important;
    border: 0 !important;
    background: #f5ebdd !important;
}

@media (max-width: 820px) {
    .aba-simple-page.aba-one-on-one-page,
    .aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
        padding: 34px 16px 54px !important;
    }

    .aba-one-on-one-topbar {
        grid-template-columns: 1fr !important;
    }

    .aba-one-on-one-calendar-panel {
        padding: 18px !important;
    }

    .aba-one-on-one-calendar-grid {
        gap: 6px !important;
    }

    button.aba-one-on-one-day,
    .aba-one-on-one-day.empty {
        min-height: 78px !important;
        padding: 9px !important;
    }

    button.aba-one-on-one-day strong {
        margin-bottom: 16px !important;
        font-size: 17px !important;
    }
}

/* Final one-on-one parity lock. Keep at the end so public and personal-area views match. */
body.aba-one-on-one-embed-body,
.aba-simple-page.aba-one-on-one-page,
.aba-my-one-on-one-frame-wrap {
    background: #f5ebdd !important;
}

.aba-simple-page.aba-one-on-one-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 64px 24px 86px !important;
    color: var(--aba-blue, #ac2153) !important;
    font-family: var(--aba-font, "Barlow Condensed", "Arial Narrow", Arial, sans-serif) !important;
    box-sizing: border-box !important;
}

.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
    padding: 64px 24px 86px !important;
}

.aba-one-on-one-topbar,
.aba-one-on-one-calendar-panel,
.aba-one-on-one-legend,
.aba-one-on-one-admin {
    width: min(100%, 1500px) !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

.aba-one-on-one-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 24px !important;
    margin-bottom: 48px !important;
}

.aba-one-on-one-topbar h1 {
    margin: 0 !important;
    color: var(--aba-blue, #ac2153) !important;
    font-size: clamp(52px, 5vw, 80px) !important;
    line-height: .92 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.aba-one-on-one-topbar h1::after {
    content: "" !important;
    display: block !important;
    width: 78px !important;
    height: 5px !important;
    margin-top: 16px !important;
    border-radius: 999px !important;
    background: var(--aba-red, #ac2153) !important;
}

.aba-one-on-one-topbar p {
    max-width: 720px !important;
    margin: 20px 0 0 !important;
    color: #ac2153 !important;
    font-size: 20px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

.aba-one-on-one-topbar .aba-btn {
    min-width: 150px !important;
    min-height: 54px !important;
    border-radius: 8px !important;
    align-self: start !important;
}

.aba-one-on-one-calendar-panel {
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 20px 45px rgba(172,33,83,.08) !important;
}

.aba-one-on-one-month {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #f5ebdd !important;
}

.aba-one-on-one-month strong {
    color: var(--aba-blue, #ac2153) !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-month span {
    color: #ac2153 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-align: right !important;
}

.aba-one-on-one-calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.aba-one-on-one-day-head {
    min-height: 32px !important;
    color: var(--aba-blue, #ac2153) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

button.aba-one-on-one-day,
.aba-one-on-one-day.empty {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 108px !important;
    padding: 14px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
}

button.aba-one-on-one-day {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    border: 1px solid #f5ebdd !important;
    background: #ffffff !important;
    color: var(--aba-blue, #ac2153) !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease !important;
}

button.aba-one-on-one-day strong {
    display: block !important;
    margin: 0 !important;
    color: inherit !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

button.aba-one-on-one-day span {
    display: block !important;
    margin-top: 20px !important;
    color: inherit !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

button.aba-one-on-one-day.available {
    border-color: #f5ebdd !important;
    background: #ffffff !important;
    color: var(--aba-blue, #ac2153) !important;
}

button.aba-one-on-one-day.available:hover,
button.aba-one-on-one-day.is-selected {
    border-color: var(--aba-blue, #ac2153) !important;
    background: var(--aba-blue, #ac2153) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

button.aba-one-on-one-day.scheduled {
    border-color: var(--aba-blue, #ac2153) !important;
    background: var(--aba-blue, #ac2153) !important;
    color: #ffffff !important;
}

button.aba-one-on-one-day.full,
button.aba-one-on-one-day.unavailable {
    border-color: #f5ebdd !important;
    background: #f5ebdd !important;
    color: var(--aba-red, #ac2153) !important;
    cursor: not-allowed !important;
}

.aba-one-on-one-day.empty {
    border: 1px solid transparent !important;
    background: transparent !important;
}

.aba-one-on-one-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 18px !important;
    margin-top: 16px !important;
    color: #ac2153 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.aba-one-on-one-legend span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.aba-one-on-one-legend i {
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
}

.aba-one-on-one-legend i.available { background: #fb76a4 !important; }
.aba-one-on-one-legend i.scheduled { background: #ac2153 !important; }
.aba-one-on-one-legend i.unavailable { background: #ac2153 !important; }

.aba-one-modal[hidden],
.aba-one-payment-modal[hidden],
.aba-one-admin-modal[hidden] {
    display: none !important;
}

.aba-one-modal:not([hidden]),
.aba-one-payment-modal:not([hidden]),
.aba-one-admin-modal:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: grid !important;
    place-items: center !important;
    padding: 24px !important;
    background: rgba(172,33,83,.58) !important;
}

.aba-one-modal-card,
.aba-one-payment-card,
.aba-one-admin-card {
    width: min(100%, 920px) !important;
    max-height: calc(100vh - 48px) !important;
    overflow: auto !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 24px 70px rgba(172,33,83,.28) !important;
}

.aba-one-slot-grid,
.aba-one-duration-grid,
.aba-one-domain-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
    gap: 10px !important;
}

.aba-one-slot-grid label,
.aba-one-duration-grid label,
.aba-one-domain-grid label {
    min-height: 48px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
}

.aba-my-one-on-one-frame-wrap {
    width: 100% !important;
    min-height: 980px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.aba-my-one-on-one-frame {
    display: block !important;
    width: 100% !important;
    min-height: 1100px !important;
    border: 0 !important;
    background: #f5ebdd !important;
}

@media (max-width: 900px) {
    .aba-simple-page.aba-one-on-one-page,
    .aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
        padding: 36px 16px 56px !important;
    }

    .aba-one-on-one-topbar {
        grid-template-columns: 1fr !important;
    }

    .aba-one-on-one-topbar h1 {
        font-size: 46px !important;
    }

    .aba-one-on-one-calendar-panel {
        padding: 18px !important;
    }

    .aba-one-on-one-calendar-grid {
        gap: 6px !important;
    }

    button.aba-one-on-one-day,
    .aba-one-on-one-day.empty {
        min-height: 76px !important;
        padding: 9px !important;
    }

    button.aba-one-on-one-day strong {
        font-size: 18px !important;
    }

    button.aba-one-on-one-day span {
        margin-top: 10px !important;
        font-size: 11px !important;
    }
}

/* Hard final override: 1 on 1 must match the platform page system in public + my area. */
body.aba-one-on-one-embed-body,
.aba-simple-page.aba-one-on-one-page,
.aba-my-one-on-one-frame-wrap,
.aba-my-one-on-one-frame {
    background: #f5ebdd !important;
}

.aba-simple-page.aba-one-on-one-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    min-height: 68vh !important;
    padding: clamp(54px, 6vw, 86px) clamp(22px, 7vw, 118px) 110px !important;
    color: #ac2153 !important;
}

.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
    padding: 46px clamp(18px, 5vw, 72px) 72px !important;
    min-height: auto !important;
}

.aba-one-on-one-topbar {
    width: min(100%, 1180px) !important;
    max-width: 1180px !important;
    margin: 0 auto 34px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

.aba-one-on-one-topbar h1 {
    max-width: 860px !important;
    margin: 0 !important;
    color: #ac2153 !important;
    font-size: clamp(38px, 4.2vw, 62px) !important;
    line-height: 1.03 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.aba-one-on-one-topbar h1::after {
    content: "" !important;
    display: block !important;
    width: 92px !important;
    height: 5px !important;
    margin-top: 16px !important;
    border-radius: 999px !important;
    background: #ac2153 !important;
}

.aba-one-on-one-topbar p {
    display: none !important;
}

.aba-one-on-one-topbar .aba-btn {
    flex: 0 0 auto !important;
    margin-top: 8px !important;
    min-width: 142px !important;
    min-height: 48px !important;
    border-radius: 8px !important;
}

.aba-one-on-one-calendar-panel {
    width: min(100%, 920px) !important;
    max-width: 920px !important;
    margin: 0 auto !important;
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 22px 46px rgba(172,33,83,.08) !important;
}

.aba-one-on-one-month {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-height: 56px !important;
    margin: 0 0 20px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #f5ebdd !important;
}

.aba-one-on-one-month strong {
    color: #ac2153 !important;
    font-size: 26px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

.aba-one-on-one-month span {
    color: #ac2153 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: right !important;
}

.aba-one-on-one-calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.aba-one-on-one-day-head {
    display: block !important;
    padding: 0 0 8px !important;
    color: #ac2153 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

button.aba-one-on-one-day {
    appearance: none !important;
    width: 100% !important;
    min-height: 96px !important;
    padding: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font: inherit !important;
    text-align: left !important;
    cursor: pointer !important;
}

button.aba-one-on-one-day strong {
    color: inherit !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

button.aba-one-on-one-day span {
    margin: 0 !important;
    color: inherit !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

button.aba-one-on-one-day.available {
    border-color: #fb76a4 !important;
    background: #ffffff !important;
}

button.aba-one-on-one-day.available:hover,
button.aba-one-on-one-day.is-selected,
button.aba-one-on-one-day.scheduled {
    background: #ac2153 !important;
    border-color: #ac2153 !important;
    color: #ffffff !important;
    box-shadow: 0 10px 20px rgba(172,33,83,.16) !important;
}

button.aba-one-on-one-day.full,
button.aba-one-on-one-day.unavailable {
    background: #f5ebdd !important;
    border-color: #f5ebdd !important;
    color: #ac2153 !important;
    cursor: default !important;
    box-shadow: none !important;
}

.aba-one-on-one-day.empty {
    visibility: hidden !important;
    min-height: 96px !important;
}

.aba-one-on-one-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin-top: 16px !important;
    color: #ac2153 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.aba-one-on-one-legend span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.aba-one-on-one-legend i {
    width: 11px !important;
    height: 11px !important;
    border-radius: 999px !important;
}

.aba-one-on-one-legend i.available {
    background: #fb76a4 !important;
}

.aba-one-on-one-legend i.scheduled {
    background: #ac2153 !important;
}

.aba-one-on-one-legend i.unavailable {
    background: #ac2153 !important;
}

.aba-one-modal[hidden],
.aba-one-day-panel[hidden],
.aba-one-payment-modal[hidden] {
    display: none !important;
}

.aba-one-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    display: grid !important;
    place-items: center !important;
    padding: 24px !important;
}

.aba-one-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(172,33,83,.62) !important;
}

.aba-one-modal-card {
    position: relative !important;
    z-index: 1 !important;
    width: min(760px, calc(100vw - 36px)) !important;
    max-height: calc(100vh - 48px) !important;
    overflow: auto !important;
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 32px 90px rgba(172,33,83,.26) !important;
}

.aba-one-admin-modal-card,
.aba-one-payment-card {
    width: min(980px, calc(100vw - 36px)) !important;
}

.aba-one-payment-frame {
    width: 100% !important;
    height: min(760px, calc(100vh - 100px)) !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.aba-one-modal-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 36px !important;
    height: 36px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.aba-one-modal-close:hover {
    background: #ac2153 !important;
    border-color: #ac2153 !important;
    color: #ffffff !important;
}

.aba-one-day-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin: 0 0 22px !important;
    padding: 0 52px 0 0 !important;
}

.aba-one-day-head h2 {
    margin: 6px 0 0 !important;
    color: #ac2153 !important;
    font-size: clamp(28px, 4vw, 40px) !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
}

.aba-one-book-form {
    display: grid !important;
    gap: 16px !important;
}

.aba-one-duration-toggle,
.aba-one-domain-mode {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.aba-one-duration-toggle button,
.aba-one-domain-mode label {
    min-height: 44px !important;
    padding: 10px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.aba-one-duration-toggle button.is-active {
    background: #ac2153 !important;
    border-color: #ac2153 !important;
    color: #ffffff !important;
}

.aba-one-slot-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.aba-one-slot-pill {
    min-height: 74px !important;
    padding: 12px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
    color: #ac2153 !important;
}

.aba-one-slot-pill:has(input:checked) {
    border-color: #ac2153 !important;
    background: #f5ebdd !important;
}

.aba-one-slot-pill strong,
.aba-one-slot-pill small {
    display: block !important;
}

.aba-one-slot-pill strong {
    color: #ac2153 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

.aba-one-slot-pill small {
    margin-top: 3px !important;
    color: #ac2153 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.aba-one-slot-pill b {
    color: #ac2153 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.aba-one-domain-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.aba-one-domain-grid label {
    min-height: 44px !important;
    padding: 10px 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.aba-one-domain-grid label span {
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    background: #ac2153 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
}

.aba-one-modal-actions,
.aba-one-booked-session {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
}

.aba-one-booked-session {
    justify-content: space-between !important;
    margin-bottom: 18px !important;
    padding: 16px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
}

.aba-one-admin-inline {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.aba-one-admin-inline .wide,
.aba-one-weekdays {
    grid-column: 1 / -1 !important;
}

.aba-one-admin-inline label,
.aba-one-admin-inline fieldset {
    display: grid !important;
    gap: 6px !important;
    margin: 0 !important;
}

.aba-one-admin-inline input,
.aba-one-admin-inline select {
    min-height: 44px !important;
    padding: 10px 12px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
}

.aba-my-one-on-one-frame-wrap {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #f5ebdd !important;
    overflow: hidden !important;
}

.aba-my-one-on-one-frame {
    display: block !important;
    width: 100% !important;
    min-height: 1040px !important;
    border: 0 !important;
    background: #f5ebdd !important;
}

@media (max-width: 900px) {
    .aba-one-on-one-topbar {
        flex-direction: column !important;
    }

    .aba-one-on-one-calendar-panel {
        padding: 18px !important;
    }

    .aba-one-on-one-calendar-grid {
        gap: 5px !important;
    }

    button.aba-one-on-one-day {
        min-height: 78px !important;
        padding: 8px !important;
    }

    .aba-one-slot-grid,
    .aba-one-domain-grid,
    .aba-one-admin-inline {
        grid-template-columns: 1fr !important;
    }
}

/* Final one-on-one design parity: public page + personal-area embed */
body.aba-one-on-one-embed-body,
.aba-simple-page.aba-one-on-one-page,
.aba-my-one-on-one-frame-wrap {
    background: #f5ebdd !important;
}

.aba-simple-page.aba-one-on-one-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    display: block !important;
    min-height: 68vh !important;
    padding: clamp(54px, 6vw, 86px) clamp(22px, 7vw, 118px) 110px !important;
    color: #ac2153 !important;
}

.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
    padding: 46px clamp(18px, 5vw, 72px) 72px !important;
    min-height: auto !important;
}

.aba-one-on-one-topbar {
    width: min(100%, 1180px) !important;
    max-width: 1180px !important;
    margin: 0 auto 34px !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 24px !important;
}

.aba-one-on-one-topbar > div {
    min-width: 0 !important;
}

.aba-one-on-one-topbar h1 {
    max-width: 860px !important;
    margin: 0 !important;
    color: #ac2153 !important;
    font-size: clamp(38px, 4.2vw, 62px) !important;
    line-height: 1.03 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.aba-one-on-one-topbar h1::after {
    content: "" !important;
    display: block !important;
    width: 92px !important;
    height: 5px !important;
    margin-top: 16px !important;
    border-radius: 999px !important;
    background: #ac2153 !important;
}

.aba-one-on-one-topbar p {
    display: none !important;
}

.aba-one-on-one-topbar .aba-btn {
    flex: 0 0 auto !important;
    margin-top: 8px !important;
    min-width: 142px !important;
    min-height: 48px !important;
    border-radius: 8px !important;
}

.aba-one-on-one-calendar-panel {
    width: min(100%, 920px) !important;
    max-width: 920px !important;
    margin: 0 auto !important;
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 22px 46px rgba(172,33,83,.08) !important;
}

.aba-one-on-one-month {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-height: 56px !important;
    margin: 0 0 20px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #f5ebdd !important;
}

.aba-one-on-one-month strong {
    color: #ac2153 !important;
    font-size: 26px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

.aba-one-on-one-month span {
    color: #ac2153 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: right !important;
}

.aba-one-on-one-calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.aba-one-on-one-day-head {
    display: block !important;
    padding: 0 0 8px !important;
    color: #ac2153 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

button.aba-one-on-one-day {
    appearance: none !important;
    width: 100% !important;
    min-height: 96px !important;
    padding: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font: inherit !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

button.aba-one-on-one-day strong {
    color: inherit !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

button.aba-one-on-one-day span {
    margin: 0 !important;
    color: inherit !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

button.aba-one-on-one-day.available {
    border-color: #fb76a4 !important;
    background: #ffffff !important;
}

button.aba-one-on-one-day.available:hover,
button.aba-one-on-one-day.is-selected {
    background: #ac2153 !important;
    border-color: #ac2153 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 20px rgba(172,33,83,.16) !important;
}

button.aba-one-on-one-day.scheduled {
    background: #ac2153 !important;
    border-color: #ac2153 !important;
    color: #ffffff !important;
}

button.aba-one-on-one-day.full,
button.aba-one-on-one-day.unavailable {
    background: #f5ebdd !important;
    border-color: #f5ebdd !important;
    color: #ac2153 !important;
    cursor: default !important;
    box-shadow: none !important;
    transform: none !important;
}

.aba-one-on-one-day.empty {
    visibility: hidden !important;
    min-height: 96px !important;
}

.aba-one-on-one-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin-top: 16px !important;
    color: #ac2153 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.aba-one-on-one-legend span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.aba-one-on-one-legend i {
    width: 11px !important;
    height: 11px !important;
    border-radius: 999px !important;
}

.aba-one-on-one-legend i.available {
    background: #fb76a4 !important;
}

.aba-one-on-one-legend i.scheduled {
    background: #ac2153 !important;
}

.aba-one-on-one-legend i.unavailable {
    background: #ac2153 !important;
}

.aba-one-modal[hidden],
.aba-one-day-panel[hidden],
.aba-one-payment-modal[hidden] {
    display: none !important;
}

.aba-one-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    display: grid !important;
    place-items: center !important;
    padding: 24px !important;
}

.aba-one-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(172,33,83,.62) !important;
}

.aba-one-modal-card {
    position: relative !important;
    z-index: 1 !important;
    width: min(760px, calc(100vw - 36px)) !important;
    max-height: calc(100vh - 48px) !important;
    overflow: auto !important;
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 32px 90px rgba(172,33,83,.26) !important;
}

.aba-one-admin-modal-card,
.aba-one-payment-card {
    width: min(980px, calc(100vw - 36px)) !important;
}

.aba-one-payment-card {
    padding: 16px !important;
}

.aba-one-payment-frame {
    width: 100% !important;
    height: min(760px, calc(100vh - 100px)) !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.aba-one-modal-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 36px !important;
    height: 36px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.aba-one-modal-close:hover {
    background: #ac2153 !important;
    border-color: #ac2153 !important;
    color: #ffffff !important;
}

.aba-one-day-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin: 0 0 22px !important;
    padding: 0 52px 0 0 !important;
}

.aba-one-day-head span {
    display: block !important;
    color: #ac2153 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.aba-one-day-head h2 {
    margin: 6px 0 0 !important;
    color: #ac2153 !important;
    font-size: clamp(28px, 4vw, 40px) !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
}

.aba-one-day-head strong {
    flex: 0 0 auto !important;
    margin-top: 22px !important;
    color: #ac2153 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

.aba-one-book-form {
    display: grid !important;
    gap: 16px !important;
}

.aba-one-book-form h3 {
    margin: 6px 0 -4px !important;
    color: #ac2153 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

.aba-one-duration-toggle,
.aba-one-domain-mode {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.aba-one-duration-toggle button,
.aba-one-domain-mode label {
    min-height: 44px !important;
    padding: 10px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.aba-one-duration-toggle button.is-active {
    background: #ac2153 !important;
    border-color: #ac2153 !important;
    color: #ffffff !important;
}

.aba-one-slot-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.aba-one-slot-pill {
    min-height: 74px !important;
    padding: 12px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
    color: #ac2153 !important;
}

.aba-one-slot-pill:has(input:checked) {
    border-color: #ac2153 !important;
    background: #f5ebdd !important;
}

.aba-one-slot-pill strong,
.aba-one-slot-pill small {
    display: block !important;
}

.aba-one-slot-pill strong {
    color: #ac2153 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

.aba-one-slot-pill small {
    margin-top: 3px !important;
    color: #ac2153 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.aba-one-slot-pill b {
    color: #ac2153 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.aba-one-domain-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.aba-one-domain-grid label {
    min-height: 44px !important;
    padding: 10px 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.aba-one-domain-grid label span {
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    background: #ac2153 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
}

.aba-one-booked-session {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
    padding: 16px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
}

.aba-one-modal-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
}

.aba-one-admin-inline {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.aba-one-admin-inline .wide,
.aba-one-weekdays {
    grid-column: 1 / -1 !important;
}

.aba-one-admin-inline label,
.aba-one-admin-inline fieldset {
    display: grid !important;
    gap: 6px !important;
    margin: 0 !important;
}

.aba-one-admin-inline input,
.aba-one-admin-inline select {
    min-height: 44px !important;
    padding: 10px 12px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
}

.aba-my-one-on-one-frame-wrap {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #f5ebdd !important;
    overflow: hidden !important;
}

.aba-my-one-on-one-frame {
    display: block !important;
    width: 100% !important;
    min-height: 1040px !important;
    border: 0 !important;
    background: #f5ebdd !important;
}

@media (max-width: 900px) {
    .aba-one-on-one-topbar {
        flex-direction: column !important;
    }

    .aba-one-on-one-topbar h1 {
        font-size: clamp(36px, 11vw, 52px) !important;
    }

    .aba-one-on-one-calendar-panel {
        padding: 18px !important;
    }

    .aba-one-on-one-calendar-grid {
        gap: 5px !important;
    }

    button.aba-one-on-one-day {
        min-height: 78px !important;
        padding: 8px !important;
    }

    button.aba-one-on-one-day strong {
        font-size: 17px !important;
    }

    button.aba-one-on-one-day span {
        font-size: 10px !important;
    }

    .aba-one-slot-grid,
    .aba-one-domain-grid,
    .aba-one-admin-inline {
        grid-template-columns: 1fr !important;
    }

    .aba-one-booked-session {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* Final 1 on 1 calendar + modal refinements */
body.aba-modal-open {
    overflow: hidden;
}

body.aba-one-on-one-embed-body,
.aba-one-on-one-page {
    background: #f5ebdd !important;
}

.aba-one-on-one-page {
    padding: 72px 28px 120px !important;
}

.aba-one-on-one-page.aba-one-on-one-embed {
    padding: 56px 28px 88px !important;
}

.aba-one-on-one-topbar,
.aba-one-on-one-calendar-panel,
.aba-one-on-one-admin {
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.aba-my-one-on-one-frame-wrap {
    background: #f5ebdd !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.aba-my-one-on-one-frame {
    width: 100% !important;
    min-height: 980px !important;
    border: 0 !important;
    display: block !important;
    background: #f5ebdd !important;
}

.aba-one-on-one-topbar {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 24px !important;
    margin-bottom: 28px !important;
    padding: 0 !important;
}

.aba-one-on-one-topbar h1 {
    max-width: 620px !important;
    margin: 0 !important;
    color: #ac2153 !important;
    font-size: clamp(42px, 5vw, 70px) !important;
    line-height: .95 !important;
    letter-spacing: 0 !important;
}

.aba-one-on-one-topbar h1::after {
    content: "" !important;
    display: block !important;
    width: 96px !important;
    height: 5px !important;
    margin-top: 14px !important;
    border-radius: 999px !important;
    background: #ac2153 !important;
}

.aba-one-on-one-topbar p {
    margin: 20px 0 0 !important;
    max-width: 660px !important;
    color: #ac2153 !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
}

.aba-one-on-one-topbar .aba-btn {
    flex: 0 0 auto !important;
    margin-top: 12px !important;
    min-width: 140px !important;
}

.aba-one-on-one-calendar-panel {
    background: #ffffff !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 10px !important;
    padding: 28px !important;
    box-shadow: 0 18px 45px rgba(172,33,83,.12) !important;
}

.aba-one-on-one-month {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 0 18px !important;
    padding: 16px 18px !important;
    background: #f5ebdd !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
}

.aba-one-on-one-month strong {
    color: #ac2153 !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
}

.aba-one-on-one-month span {
    color: #ac2153 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: right !important;
}

.aba-one-on-one-calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.aba-one-on-one-day-head {
    color: #ac2153 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

button.aba-one-on-one-day,
.aba-one-on-one-day.empty {
    min-height: 82px !important;
    padding: 12px !important;
    border-radius: 8px !important;
}

button.aba-one-on-one-day {
    border: 1px solid #f5ebdd !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: background .18s ease, border-color .18s ease, transform .18s ease !important;
}

button.aba-one-on-one-day strong {
    display: block !important;
    color: inherit !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

button.aba-one-on-one-day span {
    display: block !important;
    margin-top: 22px !important;
    color: inherit !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

button.aba-one-on-one-day.available {
    border-color: #fb76a4 !important;
    background: #ffffff !important;
}

button.aba-one-on-one-day.available:hover {
    background: #f5ebdd !important;
    transform: translateY(-1px) !important;
}

button.aba-one-on-one-day.scheduled {
    background: #ac2153 !important;
    border-color: #ac2153 !important;
    color: #ffffff !important;
}

button.aba-one-on-one-day.full,
button.aba-one-on-one-day.unavailable {
    background: #f5ebdd !important;
    border-color: #f5ebdd !important;
    color: #ac2153 !important;
}

button.aba-one-on-one-day:disabled {
    cursor: default !important;
    opacity: 1 !important;
}

.aba-one-on-one-day.empty {
    min-height: 82px !important;
    border: 0 !important;
    background: transparent !important;
}

.aba-one-on-one-legend {
    display: flex !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin-top: 16px !important;
    color: #ac2153 !important;
    font-size: 13px !important;
}

.aba-one-on-one-legend span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-weight: 700 !important;
}

.aba-one-on-one-legend i {
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
}

.aba-one-on-one-legend i.available { background: #fb76a4 !important; }
.aba-one-on-one-legend i.scheduled { background: #ac2153 !important; }
.aba-one-on-one-legend i.unavailable { background: #ac2153 !important; }

.aba-one-modal[hidden],
.aba-one-day-panel[hidden],
.aba-one-empty[hidden],
.aba-one-slot-pill[hidden] {
    display: none !important;
}

.aba-one-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 28px !important;
}

.aba-one-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(172,33,83,.58) !important;
    backdrop-filter: blur(2px) !important;
}

.aba-one-modal-card {
    position: relative !important;
    width: min(860px, calc(100vw - 36px)) !important;
    max-height: calc(100vh - 44px) !important;
    overflow: auto !important;
    background: #ffffff !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 10px !important;
    padding: 28px !important;
    box-shadow: 0 24px 70px rgba(172,33,83,.25) !important;
}

.aba-one-modal-close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 2 !important;
    width: 34px !important;
    height: 34px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.aba-one-day-head {
    display: flex !important;
    justify-content: space-between !important;
    gap: 20px !important;
    align-items: flex-start !important;
    margin-bottom: 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #f5ebdd !important;
}

.aba-one-day-head span {
    color: #ac2153 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.aba-one-day-head h2 {
    margin: 4px 0 0 !important;
    color: #ac2153 !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    line-height: 1 !important;
}

.aba-one-day-head strong {
    flex: 0 0 auto !important;
    padding: 10px 14px !important;
    background: #f5ebdd !important;
    border-radius: 8px !important;
    color: #ac2153 !important;
    white-space: nowrap !important;
}

.aba-one-book-form h3 {
    margin: 18px 0 10px !important;
    color: #ac2153 !important;
    font-size: 18px !important;
}

.aba-one-duration-toggle {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 6px 0 16px !important;
}

.aba-one-duration-toggle button {
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    padding: 10px 16px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

.aba-one-duration-toggle button.is-active {
    background: #ac2153 !important;
    border-color: #ac2153 !important;
    color: #ffffff !important;
}

.aba-one-slot-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
    gap: 10px !important;
}

.aba-one-slot-pill {
    display: flex !important;
    gap: 10px !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    padding: 12px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
    cursor: pointer !important;
}

.aba-one-slot-pill:has(input:checked) {
    background: #f5ebdd !important;
    border-color: #ac2153 !important;
}

.aba-one-slot-pill span {
    flex: 1 !important;
}

.aba-one-slot-pill small {
    display: block !important;
    margin-top: 4px !important;
    color: #ac2153 !important;
}

.aba-one-domain-mode {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-bottom: 10px !important;
}

.aba-one-domain-mode label {
    padding: 9px 12px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.aba-one-domain-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 18px !important;
}

.aba-one-domain-grid label {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    min-height: 42px !important;
    padding: 9px 10px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
}

.aba-one-domain-grid label span {
    color: #ac2153 !important;
    font-weight: 800 !important;
}

.aba-one-booked-session {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
    padding: 14px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
}

.aba-one-booked-session small {
    display: block !important;
    margin-top: 4px !important;
    color: #ac2153 !important;
}

.aba-one-modal-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.aba-one-admin-mini {
    margin-top: 18px !important;
    padding-top: 12px !important;
    border-top: 1px solid #f5ebdd !important;
}

.aba-one-admin-inline {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 12px !important;
}

.aba-one-admin-inline label,
.aba-one-admin-inline fieldset {
    display: grid !important;
    gap: 6px !important;
}

.aba-one-admin-inline .wide,
.aba-one-admin-inline button {
    grid-column: 1 / -1 !important;
}

.aba-one-payment-card {
    width: min(760px, calc(100vw - 28px)) !important;
    height: min(760px, calc(100vh - 36px)) !important;
    padding: 14px !important;
}

.aba-one-payment-frame {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.aba-checkout-modal-body {
    margin: 0 !important;
    background: #f5ebdd !important;
}

.aba-one-checkout-modal-page {
    min-height: 100vh !important;
    padding: 16px !important;
}

.aba-one-checkout-modal-page .aba-checkout-layout {
    max-width: 720px !important;
    margin: 0 auto !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
}

/* Responsive 1 on 1 checkout rendered inside the app payment dialog. */
.aba-checkout-modal-body {
    min-width: 0 !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.aba-one-checkout-modal-page {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px !important;
}

.aba-one-checkout-modal-page .aba-checkout-layout {
    width: 100% !important;
    max-width: 680px !important;
    min-width: 0 !important;
    gap: 12px !important;
}

.aba-one-checkout-modal-page .aba-checkout-card {
    width: 100% !important;
    min-width: 0 !important;
    padding: 22px !important;
    border-radius: 16px !important;
    overflow-wrap: anywhere !important;
}

.aba-one-checkout-modal-page .aba-checkout-card h1 {
    max-width: 100% !important;
    margin: 8px 0 10px !important;
    font-size: clamp(30px, 5.2vw, 38px) !important;
    line-height: 1.02 !important;
}

.aba-one-checkout-modal-page .aba-checkout-card > p {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.42 !important;
}

.aba-one-checkout-modal-page .aba-checkout-price {
    margin: 16px 0 !important;
    font-size: clamp(28px, 5vw, 36px) !important;
    line-height: 1 !important;
}

.aba-one-checkout-modal-page .aba-one-on-one-summary {
    gap: 7px !important;
    padding: 14px !important;
    border-radius: 12px !important;
    background: #f5ebdd !important;
}

.aba-one-checkout-modal-page .aba-one-on-one-summary strong,
.aba-one-checkout-modal-page .aba-one-on-one-summary span,
.aba-one-checkout-modal-page .aba-one-on-one-summary p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

.aba-one-checkout-modal-page .aba-checkout-fields {
    grid-template-columns: 1fr !important;
    gap: 11px !important;
}

.aba-one-checkout-modal-page .aba-checkout-fields label,
.aba-one-checkout-modal-page .aba-checkout-fields label:first-child {
    grid-column: auto !important;
    min-width: 0 !important;
}

.aba-one-checkout-modal-page .aba-checkout-fields input {
    min-width: 0 !important;
    min-height: 46px !important;
}

.aba-one-checkout-modal-page #ac2153-payment-form,
.aba-one-checkout-modal-page .aba-stripe-element-shell,
.aba-one-checkout-modal-page #ac2153-payment-element {
    width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 520px) {
    .aba-one-checkout-modal-page {padding: 8px !important}
    .aba-one-checkout-modal-page .aba-checkout-layout {gap: 9px !important}
    .aba-one-checkout-modal-page .aba-checkout-card {padding: 17px 15px !important;border-radius: 13px !important}
    .aba-one-checkout-modal-page .aba-checkout-card h1 {font-size: 29px !important;line-height: 1.03 !important}
    .aba-one-checkout-modal-page .aba-checkout-card > p {font-size: 14px !important}
    .aba-one-checkout-modal-page .aba-checkout-price {font-size: 28px !important}
    .aba-one-checkout-modal-page .aba-checkout-save {align-items:flex-start!important;padding:12px!important;font-size:13px!important}
    .aba-one-checkout-modal-page #ac2153-payment-submit {width:100%!important;min-height:48px!important}
}

.aba-one-on-one-page .aba-one-on-one-time-card,
.aba-one-on-one-page .aba-one-on-one-time-panels {
    display: none !important;
}

@media (max-width: 720px) {
    .aba-one-on-one-page {
        padding: 40px 16px 90px !important;
    }

    .aba-one-on-one-topbar {
        display: block !important;
    }

    .aba-one-on-one-topbar h1 {
        font-size: 40px !important;
    }

    .aba-one-on-one-calendar-panel {
        padding: 18px !important;
    }

    .aba-one-on-one-month {
        display: block !important;
    }

    .aba-one-on-one-month span {
        display: block !important;
        margin-top: 6px !important;
        text-align: left !important;
    }

    button.aba-one-on-one-day,
    .aba-one-on-one-day.empty {
        min-height: 70px !important;
        padding: 9px !important;
    }

    button.aba-one-on-one-day strong {
        font-size: 16px !important;
    }

    button.aba-one-on-one-day span {
        margin-top: 14px !important;
        font-size: 10px !important;
    }

    .aba-one-day-head {
        display: block !important;
    }

    .aba-one-day-head strong {
        display: inline-block !important;
        margin-top: 10px !important;
    }

    .aba-one-admin-inline {
        grid-template-columns: 1fr !important;
    }
}

/* Final 1 on 1 calendar-only view */
.aba-one-on-one-embed-body,
.aba-one-on-one-page {
    background: #f5ebdd !important;
}

.aba-one-on-one-page {
    padding: 72px clamp(18px, 5vw, 72px) 96px !important;
    min-height: 68vh;
}

.aba-one-on-one-page.aba-one-on-one-embed {
    padding: 32px 24px 48px !important;
}

.aba-one-on-one-topbar {
    max-width: 1280px !important;
    margin: 0 auto 24px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 16px !important;
}

.aba-one-on-one-topbar h1 {
    margin: 0 !important;
    color: #ac2153 !important;
    font-size: clamp(42px, 5vw, 74px) !important;
    line-height: .95 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.aba-one-on-one-topbar h1::after {
    content: "";
    display: block;
    width: 82px;
    height: 5px;
    border-radius: 999px;
    background: #ac2153;
    margin-top: 14px;
}

.aba-one-on-one-topbar p {
    display: none !important;
}

.aba-one-on-one-calendar-panel {
    max-width: 1280px !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 10px !important;
    padding: 24px !important;
    box-shadow: 0 20px 40px rgba(172,33,83,.08) !important;
}

.aba-one-on-one-month {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
}

.aba-one-on-one-month strong {
    color: #ac2153 !important;
    font-size: 26px !important;
    font-weight: 900 !important;
}

.aba-one-on-one-month span {
    color: #ac2153 !important;
    font-size: 14px !important;
}

.aba-one-on-one-calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.aba-one-on-one-day-head {
    color: #ac2153 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    padding: 0 0 6px !important;
}

button.aba-one-on-one-day {
    min-height: 92px !important;
    width: 100% !important;
    border-radius: 8px !important;
    padding: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    background: #ffffff !important;
    border: 1px solid #f5ebdd !important;
    cursor: pointer !important;
    color: #ac2153 !important;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease !important;
}

button.aba-one-on-one-day strong {
    font-size: 20px !important;
    color: inherit !important;
    font-weight: 900 !important;
}

button.aba-one-on-one-day span {
    font-size: 12px !important;
    color: inherit !important;
    font-weight: 800 !important;
}

button.aba-one-on-one-day.available {
    border-color: #fb76a4 !important;
}

button.aba-one-on-one-day.available:hover {
    background: #ac2153 !important;
    border-color: #ac2153 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

button.aba-one-on-one-day.scheduled {
    background: #ac2153 !important;
    border-color: #ac2153 !important;
    color: #ffffff !important;
}

button.aba-one-on-one-day.full {
    background: #f5ebdd !important;
    border-color: #f5ebdd !important;
    color: #ac2153 !important;
}

button.aba-one-on-one-day.unavailable {
    background: #f5ebdd !important;
    color: #ac2153 !important;
    cursor: not-allowed !important;
}

.aba-one-on-one-day.empty {
    min-height: 92px !important;
    border: 0 !important;
    background: transparent !important;
}

.aba-one-on-one-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin-top: 16px !important;
    color: #ac2153 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.aba-one-on-one-legend span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.aba-one-on-one-legend i {
    width: 12px !important;
    height: 12px !important;
    border-radius: 999px !important;
    display: inline-block !important;
}

.aba-one-on-one-legend i.available {
    background: #fb76a4 !important;
}

.aba-one-on-one-legend i.scheduled {
    background: #ac2153 !important;
}

.aba-one-on-one-legend i.unavailable {
    background: #ac2153 !important;
}

.aba-one-modal[hidden],
.aba-one-day-panel[hidden] {
    display: none !important;
}

.aba-one-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: grid !important;
    place-items: center !important;
    padding: 24px !important;
}

.aba-one-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(172,33,83,.62) !important;
}

.aba-one-modal-card {
    position: relative !important;
    z-index: 1 !important;
    width: min(940px, 100%) !important;
    max-height: calc(100vh - 48px) !important;
    overflow: auto !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    border: 1px solid #f5ebdd !important;
    padding: 28px !important;
    box-shadow: 0 32px 80px rgba(172,33,83,.24) !important;
}

.aba-one-modal-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 34px !important;
    height: 34px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.aba-one-modal-close:hover {
    background: #ac2153 !important;
    border-color: #ac2153 !important;
    color: #ffffff !important;
}

.aba-one-day-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
    padding-right: 48px !important;
}

.aba-one-day-head span {
    color: #ac2153 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.aba-one-day-head h2 {
    margin: 6px 0 0 !important;
    color: #ac2153 !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.aba-one-day-head > strong {
    color: #ac2153 !important;
    background: #f5ebdd !important;
    border-radius: 8px !important;
    padding: 8px 10px !important;
    font-size: 18px !important;
}

.aba-one-book-form h3 {
    color: #ac2153 !important;
    margin: 22px 0 10px !important;
    font-size: 17px !important;
    text-transform: uppercase !important;
}

.aba-one-slot-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
    gap: 10px !important;
}

.aba-one-slot-pill {
    min-height: 76px !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
    cursor: pointer !important;
}

.aba-one-slot-pill:has(input:checked) {
    border-color: #ac2153 !important;
    background: #f5ebdd !important;
    box-shadow: inset 4px 0 0 #ac2153 !important;
}

.aba-one-slot-pill strong {
    color: #ac2153 !important;
    font-size: 15px !important;
}

.aba-one-slot-pill small {
    display: block !important;
    margin-top: 2px !important;
    color: #ac2153 !important;
    font-size: 12px !important;
}

.aba-one-slot-pill b {
    color: #ac2153 !important;
    font-size: 15px !important;
}

.aba-one-domain-mode {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 8px 0 10px !important;
}

.aba-one-domain-mode label {
    padding: 8px 10px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    font-weight: 800 !important;
}

.aba-one-domain-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 18px !important;
}

.aba-one-domain-grid label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 8px 10px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.aba-one-domain-grid label span {
    display: grid !important;
    place-items: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 999px !important;
    background: #ac2153 !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    flex: 0 0 26px !important;
}

.aba-one-booked-session {
    display: flex !important;
    justify-content: space-between !important;
    gap: 16px !important;
    align-items: center !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 10px !important;
    background: #f5ebdd !important;
    padding: 14px !important;
    margin-bottom: 16px !important;
}

.aba-one-booked-session span {
    color: #ac2153 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.aba-one-booked-session strong {
    display: block !important;
    margin: 4px 0 !important;
    color: #ac2153 !important;
    font-size: 18px !important;
}

.aba-one-booked-session small {
    color: #ac2153 !important;
    font-size: 13px !important;
}

.aba-one-modal-actions {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.aba-one-empty {
    color: #ac2153 !important;
    font-size: 16px !important;
}

.aba-one-admin-mini {
    margin-top: 18px !important;
    border-top: 1px solid #f5ebdd !important;
    padding-top: 14px !important;
}

.aba-one-admin-mini summary {
    cursor: pointer !important;
    color: #ac2153 !important;
    font-weight: 900 !important;
}

.aba-one-admin-inline {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 12px !important;
}

.aba-one-admin-inline label,
.aba-one-admin-inline fieldset {
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    padding: 8px !important;
    background: #ffffff !important;
    color: #ac2153 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.aba-one-admin-inline label span {
    display: block !important;
    margin-bottom: 4px !important;
    color: #ac2153 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
}

.aba-one-admin-inline input {
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
    color: #ac2153 !important;
    font: inherit !important;
}

.aba-one-admin-inline .wide,
.aba-one-weekdays {
    grid-column: 1 / -1 !important;
}

.aba-one-weekdays {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

body.aba-modal-open {
    overflow: hidden !important;
}

@media (max-width: 900px) {
    .aba-one-on-one-page {
        padding: 44px 14px 64px !important;
    }

    .aba-one-on-one-topbar {
        flex-direction: column !important;
    }

    .aba-one-on-one-topbar h1 {
        font-size: 42px !important;
    }

    .aba-one-on-one-calendar-grid {
        gap: 5px !important;
    }

    button.aba-one-on-one-day {
        min-height: 74px !important;
        padding: 8px !important;
    }

    .aba-one-domain-grid {
        grid-template-columns: 1fr !important;
    }

    .aba-one-booked-session {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .aba-one-admin-inline {
        grid-template-columns: 1fr !important;
    }
}

.aba-one-on-one-page {
    width: min(100% - 48px, 1180px);
    margin: 0 auto;
    display: grid;
    gap: 24px;
}

.aba-one-on-one-embed {
    width: 100%;
    margin: 0;
}

.aba-one-on-one-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 24px;
    align-items: center;
    padding: 28px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 16px 35px rgba(172,33,83,.08);
}

.aba-one-on-one-hero h1 {
    margin: 8px 0 10px;
    color: var(--aba-blue);
    font-size: clamp(38px, 5vw, 64px);
    line-height: .95;
}

.aba-one-on-one-hero h1::after,
.aba-one-on-one-admin h2::after,
.aba-one-on-one-page .aba-card-panel > .aba-settings-block-head h2::after {
    content: "";
    display: block;
    width: 82px;
    height: 4px;
    margin-top: 10px;
    border-radius: 999px;
    background: var(--aba-red);
}

.aba-one-on-one-hero p {
    max-width: 780px;
    margin: 0;
    color: #ac2153;
    font-size: 18px;
    line-height: 1.45;
}

.aba-one-on-one-price-card {
    display: grid;
    gap: 4px;
    padding: 18px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #f5ebdd;
    color: var(--aba-blue);
}

.aba-one-on-one-price-card strong {
    font-size: 34px;
    line-height: 1;
}

.aba-one-on-one-price-card span,
.aba-one-on-one-price-card small {
    color: #ac2153;
    font-size: 14px;
    font-weight: 800;
}

.aba-one-on-one-admin-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    align-items: end;
}

.aba-one-on-one-admin-form label,
.aba-one-on-one-admin-form fieldset {
    display: grid;
    gap: 6px;
    margin: 0;
}

.aba-one-on-one-admin-form label span,
.aba-one-on-one-admin-form legend {
    color: #ac2153;
    font-size: 13px;
    font-weight: 900;
}

.aba-one-on-one-admin-form input,
.aba-one-on-one-admin-form textarea,
.aba-one-on-one-admin-form select {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    color: #ac2153;
    font: inherit;
}

.aba-one-on-one-admin-form textarea {
    resize: vertical;
}

.aba-one-on-one-admin-form .full {
    grid-column: 1 / -1;
}

.aba-one-on-one-admin-form .aba-check-line {
    display: flex;
    gap: 8px;
    align-items: center;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
}

.aba-one-on-one-weekdays {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
}

.aba-one-on-one-weekdays label {
    display: flex;
    flex-direction: row;
    gap: 6px;
    align-items: center;
    min-width: 74px;
    color: var(--aba-blue);
    font-weight: 800;
}

.aba-one-on-one-booking-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 18px;
    align-items: start;
}

.aba-one-on-one-month {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: end;
    margin-bottom: 14px;
}

.aba-one-on-one-month strong {
    color: var(--aba-blue);
    font-size: 24px;
}

.aba-one-on-one-month span {
    color: #ac2153;
    font-size: 14px;
    font-weight: 800;
}

.aba-one-on-one-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
}

.aba-one-on-one-day-head {
    color: #ac2153;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
}

button.aba-one-on-one-day {
    appearance: none;
    display: grid;
    align-content: space-between;
    min-height: 88px;
    padding: 10px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-blue);
    font: inherit;
    text-align: left;
}

button.aba-one-on-one-day strong {
    font-size: 20px;
    line-height: 1;
}

button.aba-one-on-one-day span {
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
}

.aba-one-on-one-day.empty {
    visibility: hidden;
}

button.aba-one-on-one-day.available {
    cursor: pointer;
    border-color: #fb76a4;
}

button.aba-one-on-one-day.available:hover,
button.aba-one-on-one-day.is-selected {
    background: var(--aba-blue);
    color: #ffffff;
    transform: translateY(-1px);
}

button.aba-one-on-one-day.unavailable,
button.aba-one-on-one-day.full {
    background: #f5ebdd;
    border-color: #f5ebdd;
    color: #ac2153;
    cursor: default;
}

.aba-one-on-one-time-card {
    position: sticky;
    top: 96px;
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 16px 35px rgba(172,33,83,.08);
}

.aba-one-on-one-time-card h3 {
    margin: 0;
    color: var(--aba-blue);
    font-size: 22px;
}

.aba-one-on-one-time-panel[hidden] {
    display: none;
}

.aba-one-on-one-date-title {
    display: block;
    margin-bottom: 10px;
    color: var(--aba-red);
    font-size: 13px;
    text-transform: uppercase;
}

.aba-one-on-one-slot {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
    padding: 12px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #f5ebdd;
    cursor: pointer;
}

.aba-one-on-one-slot:has(input:checked) {
    border-color: var(--aba-blue);
    background: #f5ebdd;
}

.aba-one-on-one-slot strong {
    display: block;
    color: var(--aba-blue);
    font-size: 14px;
}

.aba-one-on-one-slot em {
    display: block;
    margin-top: 3px;
    color: #ac2153;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}

.aba-one-on-one-slot b {
    color: var(--aba-red);
}

.aba-one-on-one-zoom-note {
    display: flex;
    gap: 8px;
    align-items: center;
    padding-top: 10px;
    border-top: 1px solid #f5ebdd;
    color: var(--aba-blue);
    font-weight: 900;
}

.aba-one-on-one-domains {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 10px 0 18px;
}

.aba-one-on-one-domains label {
    display: flex;
    gap: 8px;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-blue);
    font-weight: 800;
}

.aba-one-on-one-domain-all {
    grid-column: 1 / -1;
}

@media (max-width: 980px) {
    .aba-one-on-one-hero,
    .aba-one-on-one-booking-layout,
    .aba-one-on-one-admin-form {
        grid-template-columns: 1fr;
    }

    .aba-one-on-one-calendar-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .aba-one-on-one-day-head {
        display: none;
    }

    .aba-one-on-one-time-card {
        position: static;
    }
}

@media (max-width: 640px) {
    .aba-one-on-one-page {
        width: min(100% - 24px, 1180px);
    }

    .aba-one-on-one-calendar-grid,
    .aba-one-on-one-domains {
        grid-template-columns: 1fr 1fr;
    }
}

/* Study Route: module-and-lesson layout matching Mastering ABA */
.aba-study-course-layout {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    width: 100%;
    max-width: none;
    margin: 34px 0 0;
    box-sizing: border-box;
}

.aba-study-module-sidebar {
    position: sticky;
    top: 104px;
    display: grid;
    gap: 14px;
    max-height: calc(100vh - 128px);
    overflow: auto;
    padding: 16px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(172,33,83,.08);
    width: 100%;
    box-sizing: border-box;
}

.aba-study-avatar-card {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 12px;
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid #f5ebdd;
}

.aba-study-avatar-card strong,
.aba-study-avatar-card span {
    display: block;
}

.aba-study-avatar-card strong {
    color: var(--aba-blue);
    font-size: 14px;
    text-transform: uppercase;
}

.aba-study-avatar-card span {
    color: #ac2153;
    font-size: 13px;
}

.aba-study-avatar-pulse {
    position: relative;
    display: grid;
    place-items: center;
}

.aba-study-avatar-pulse::before {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 999px;
    background: rgba(172,33,83,.16);
    animation: abaStudyPulse 1.7s ease-in-out infinite;
}

.aba-study-avatar-pulse .aba-profile-avatar {
    position: relative;
    z-index: 1;
    width: 48px;
    height: 48px;
    border: 3px solid var(--aba-red);
    border-radius: 999px;
    overflow: hidden;
}

@keyframes abaStudyPulse {
    0%,
    100% {
        transform: scale(.88);
        opacity: .45;
    }

    50% {
        transform: scale(1.08);
        opacity: .9;
    }
}

.aba-study-module-list {
    display: grid;
    gap: 8px;
}

.aba-study-module-button {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 10px;
    align-items: center;
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    color: #ac2153;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
    min-height: 72px;
    overflow: hidden;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.aba-study-module-button:hover,
.aba-study-module-button.active {
    border-color: var(--aba-blue);
    background: #f5ebdd;
    transform: none;
}

.aba-study-module-button span {
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #ac2153;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
}

.aba-study-module-button.is-mastered span,
.aba-study-module-button.active span {
    background: var(--aba-blue);
}

.aba-study-module-button.is-repeat span {
    background: var(--aba-red);
}

.aba-study-module-button strong {
    color: var(--aba-blue);
    font-size: 12px;
    line-height: 1.1;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aba-study-module-button small {
    color: #ac2153;
    display: -webkit-box;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    min-height: 30px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.aba-study-lesson-stage {
    min-width: 0;
    width: 100%;
}

.aba-study-module-panel {
    padding: 28px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(172,33,83,.08);
    width: 100%;
    min-height: 360px;
    box-sizing: border-box;
}

.aba-study-module-panel > header {
    margin-bottom: 22px;
}

.aba-study-module-panel h2 {
    margin: 4px 0 8px;
    color: var(--aba-blue);
    font-size: clamp(28px, 3.2vw, 44px);
    line-height: 1;
}

.aba-study-lesson-list {
    display: grid;
    gap: 10px;
    min-height: 170px;
}

.aba-study-route-page .aba-study-day-list {
    display: grid;
    gap: 16px;
    width: 100%;
}

.aba-study-route-page .aba-study-day-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid #f5ebdd;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(172,33,83,.06);
}

.aba-study-route-page .aba-study-day-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f5ebdd;
}

.aba-study-route-page .aba-study-day-head strong {
    display: block;
    color: var(--aba-blue);
    font-size: 22px;
    line-height: 1.05;
    font-weight: 900;
}

.aba-study-route-page .aba-study-day-head small {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    background: #f5ebdd;
    color: var(--aba-blue);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.aba-study-route-page .aba-study-day-lessons {
    display: grid;
    gap: 10px;
}

.aba-study-route-page .aba-study-day-lessons .aba-study-lesson-row {
    width: 100%;
    min-height: 78px;
}

.aba-study-lesson-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #f5ebdd;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
    min-height: 78px;
    overflow: hidden;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.aba-study-lesson-row:hover {
    border-color: var(--aba-blue);
    background: #f5ebdd;
    transform: none;
}

.aba-study-lesson-number {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #f5ebdd;
    color: #ffffff;
    font-size: 15px;
    font-weight: 900;
}

.aba-study-lesson-row.is-mastered .aba-study-lesson-number {
    background: var(--aba-blue);
}

.aba-study-lesson-row.is-repeat .aba-study-lesson-number {
    background: var(--aba-red);
}

.aba-study-lesson-row.is-available .aba-study-lesson-number {
    background: #ffffff;
    color: var(--aba-red);
    box-shadow: 0 0 0 3px rgba(172,33,83,.18);
}

.aba-study-lesson-copy strong {
    display: -webkit-box;
    color: #ac2153;
    font-size: 16px;
    line-height: 1.25;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.aba-study-lesson-copy small {
    display: -webkit-box;
    margin-top: 5px;
    color: #ac2153;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    min-height: 36px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.aba-study-lesson-state {
    min-width: 78px;
    padding: 8px 10px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--aba-blue);
    font-size: 12px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
}

.aba-study-topic-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.aba-study-topic-grid span {
    padding: 8px 11px;
    border-radius: 999px;
    background: #f5ebdd;
    color: var(--aba-blue);
    font-size: 13px;
    font-weight: 800;
}

.aba-study-route-page .aba-study-week-course {
    grid-template-columns: 360px minmax(0, 1fr);
    align-items: start;
    width: min(100%, 1180px);
    max-width: 1180px;
    margin: 34px auto 0;
}

.aba-study-route-page .aba-study-week-sidebar {
    gap: 16px;
}

.aba-study-week-list {
    display: grid;
    gap: 14px;
}

.aba-study-week-group {
    padding: 12px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    box-sizing: border-box;
}

.aba-study-week-group.active {
    border-color: #ac2153;
    background: #f5ebdd;
}

.aba-study-week-group h3 {
    margin: 0 0 10px;
    color: var(--aba-blue);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
}

.aba-study-week-days {
    display: grid;
    gap: 8px;
}

.aba-study-day-nav {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 2px 10px;
    align-items: center;
    width: 100%;
    min-height: 74px;
    padding: 10px 12px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    color: #ac2153;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
    overflow: hidden;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.aba-study-day-nav:hover,
.aba-study-day-nav.active {
    border-color: var(--aba-blue);
    background: #f5ebdd;
    transform: none;
}

.aba-study-day-nav span {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #ac2153;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}

.aba-study-day-nav.is-mastered span,
.aba-study-day-nav.active span {
    background: var(--aba-blue);
}

.aba-study-day-nav.is-repeat span {
    background: var(--aba-red);
}

.aba-study-day-nav strong {
    display: block;
    color: var(--aba-blue);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.aba-study-day-nav small {
    display: -webkit-box;
    color: #ac2153;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    min-height: 30px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.aba-study-day-stage {
    min-width: 0;
    width: 100%;
}

.aba-study-day-panel {
    width: 100%;
    min-height: 420px;
    padding: 32px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(172,33,83,.08);
    box-sizing: border-box;
}

.aba-study-day-panel[hidden] {
    display: none !important;
}

.aba-study-day-panel > header {
    margin-bottom: 22px;
}

.aba-study-day-panel h2 {
    margin: 4px 0 8px;
    color: var(--aba-blue);
    font-size: clamp(30px, 3.4vw, 52px);
    line-height: 1;
}

.aba-study-day-panel-lessons {
    min-height: 260px;
}

@media (max-width: 980px) {
    .aba-study-course-layout {
        grid-template-columns: 1fr;
    }

    .aba-study-module-sidebar {
        position: relative;
        top: auto;
        max-height: none;
    }

    .aba-study-route-page .aba-study-week-course {
        grid-template-columns: 1fr;
        width: min(100% - 32px, 1180px);
    }
}

@media (max-width: 640px) {
    .aba-study-module-panel {
        padding: 18px;
    }

    .aba-study-lesson-row {
        grid-template-columns: 42px 1fr;
    }

    .aba-study-lesson-state {
        grid-column: 2;
        justify-self: start;
    }

    .aba-study-day-panel {
        padding: 20px;
    }
}

.aba-lesson-domain-heading h1 {
    text-transform: uppercase;
}

.aba-lesson-page {
    --aba-lesson-text-offset: 22px;
}

.aba-lesson-domain-heading,
.aba-lesson-card > header,
.aba-lesson-card > .aba-rich-content,
.aba-lesson-card > footer {
    padding-left: var(--aba-lesson-text-offset);
    padding-right: var(--aba-lesson-text-offset);
}

.aba-lesson-card > header h1 {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0 !important;
    max-width: none;
}

.aba-lesson-card > .aba-rich-content > * {
    margin-left: 0;
    margin-right: 0;
}

@media (max-width: 720px) {
    .aba-lesson-page {
        --aba-lesson-text-offset: 0px;
    }
}

/* Study Route final vertical roadmap override. Keep this last so older roadmap experiments cannot win. */
body .aba-study-roadmap-board {
    --route-spine: var(--aba-blue);
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(120px, 1fr) 230px 132px 230px minmax(120px, 1fr) !important;
    grid-auto-rows: minmax(122px, auto) !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 12px 8px !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 68px 42px 86px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 20px 44px rgba(172,33,83,.08) !important;
}

body .aba-study-roadmap-board::before {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    display: block !important;
    top: 104px !important;
    bottom: 106px !important;
    left: 50% !important;
    width: 7px !important;
    border-radius: 999px !important;
    background: repeating-linear-gradient(to bottom, var(--route-spine) 0 19px, transparent 19px 31px) !important;
    transform: translateX(-50%) !important;
}

body .aba-study-roadmap-board::after,
body .aba-study-roadmap-track,
body .aba-study-roadmap-intro,
body .aba-study-roadmap-board > .aba-study-avatar-runner {
    display: none !important;
}

body .aba-study-roadmap-start,
body .aba-study-roadmap-finish {
    position: relative !important;
    z-index: 7 !important;
    inset: auto !important;
    display: grid !important;
    place-items: center !important;
    align-self: center !important;
    justify-self: center !important;
    grid-column: 3 !important;
    width: 84px !important;
    height: 84px !important;
    margin: 0 !important;
    border: 6px solid #ffffff !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    font-size: 28px !important;
    line-height: 1 !important;
    box-shadow: 0 18px 34px rgba(172,33,83,.18) !important;
}

body .aba-study-roadmap-start {
    grid-row: 1 !important;
    background: var(--aba-blue) !important;
}

body .aba-study-roadmap-finish {
    grid-row: var(--finish-row) !important;
    background: var(--aba-red) !important;
}

body .aba-study-roadmap-start::after,
body .aba-study-roadmap-finish::before {
    display: none !important;
}

body .aba-study-road-stop,
body .aba-study-road-stop:nth-of-type(odd),
body .aba-study-road-stop:nth-of-type(even) {
    position: relative !important;
    z-index: 6 !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 5px !important;
    align-self: center !important;
    justify-self: center !important;
    width: 230px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    cursor: pointer !important;
}

body .aba-study-road-stop::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    top: 48px !important;
    display: block !important;
    width: 76px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: repeating-linear-gradient(to right, var(--route-spine) 0 19px, transparent 19px 31px) !important;
}

body .aba-study-road-stop.is-left-branch::before {
    left: calc(50% + 52px) !important;
    right: auto !important;
}

body .aba-study-road-stop.is-right-branch::before {
    right: calc(50% + 52px) !important;
    left: auto !important;
}

body .aba-study-road-stop.is-center-stop::before,
body .aba-study-road-stop::after {
    display: none !important;
}

body .aba-study-road-stop span {
    grid-row: auto !important;
    display: grid !important;
    place-items: center !important;
    width: 98px !important;
    height: 98px !important;
    border: 6px solid #ffffff !important;
    border-radius: 999px !important;
    background: #ac2153 !important;
    color: #ac2153 !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    box-shadow: 0 16px 26px rgba(172,33,83,.14) !important;
}

body .aba-study-road-stop.is-kind-module span,
body .aba-study-road-stop.is-kind-mock span {
    width: 154px !important;
    height: 50px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--aba-blue) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

body .aba-study-road-stop.is-mastered span {
    background: var(--aba-blue) !important;
    color: #ffffff !important;
}

body .aba-study-road-stop.is-repeat span {
    background: var(--aba-red) !important;
    color: #ffffff !important;
}

body .aba-study-road-stop.is-available span {
    background: #ffffff !important;
    color: var(--aba-red) !important;
    border-color: var(--aba-red) !important;
    box-shadow: 0 0 0 8px rgba(172,33,83,.10), 0 16px 26px rgba(172,33,83,.14) !important;
}

body .aba-study-road-stop strong {
    display: block !important;
    margin-top: -58px !important;
    color: #ac2153 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

body .aba-study-road-stop.is-kind-module strong,
body .aba-study-road-stop.is-kind-mock strong {
    display: none !important;
}

body .aba-study-road-stop small {
    display: block !important;
    max-width: 220px !important;
    min-height: 34px !important;
    color: #ac2153 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

body .aba-study-road-stop button {
    display: none !important;
}

body .aba-study-node-pin {
    position: absolute !important;
    z-index: 12 !important;
    left: 100% !important;
    top: -8px !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 999px !important;
    transform: translateX(12px) !important;
}

body .aba-study-road-stop.is-right-branch .aba-study-node-pin {
    left: auto !important;
    right: 100% !important;
    transform: translateX(-12px) !important;
}

body .aba-study-road-stop.is-center-stop .aba-study-node-pin {
    left: 50% !important;
    top: -62px !important;
    transform: translateX(-50%) !important;
}

body .aba-study-node-pin::before {
    display: none !important;
}

body .aba-study-node-pin::after {
    content: "" !important;
    position: absolute !important;
    inset: -8px !important;
    border-radius: 999px !important;
    background: rgba(172,33,83,.22) !important;
    border: 2px solid rgba(172,33,83,.36) !important;
    animation: abaStudyPulse 1.35s ease-in-out infinite !important;
}

body .aba-study-node-pin .aba-profile-avatar,
body .aba-study-node-pin .aba-profile-avatar.small {
    position: relative !important;
    z-index: 2 !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 24px rgba(172,33,83,.22) !important;
}

@media (max-width: 900px) {
    body .aba-study-roadmap-board {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
        padding: 42px 20px 56px !important;
    }

    body .aba-study-roadmap-board::before,
    body .aba-study-road-stop::before {
        display: none !important;
    }

    body .aba-study-roadmap-start,
    body .aba-study-roadmap-finish,
    body .aba-study-road-stop {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}

/* Final route lock: vertical ABA roadmap with side lesson branches. */
body .aba-study-roadmap-board {
    --route-spine: var(--aba-blue);
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(120px, 1fr) 210px 120px 210px minmax(120px, 1fr) !important;
    grid-auto-rows: minmax(112px, auto) !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 12px 10px !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 56px 44px 72px !important;
}

body .aba-study-roadmap-board::before {
    content: "";
    position: absolute;
    z-index: 1;
    display: block !important;
    top: 92px;
    bottom: 96px;
    left: 50%;
    width: 7px;
    border-radius: 999px;
    background: repeating-linear-gradient(to bottom, var(--route-spine) 0 19px, transparent 19px 31px);
    transform: translateX(-50%);
}

body .aba-study-roadmap-board::after,
body .aba-study-roadmap-track,
body .aba-study-roadmap-board > .aba-study-avatar-runner {
    display: none !important;
}

body .aba-study-roadmap-start {
    grid-column: 3 !important;
    grid-row: 1 !important;
    background: var(--aba-blue) !important;
}

body .aba-study-roadmap-finish {
    grid-column: 3 !important;
    grid-row: var(--finish-row) !important;
    background: var(--aba-red) !important;
}

body .aba-study-roadmap-start::after,
body .aba-study-roadmap-finish::before {
    display: none !important;
}

body .aba-study-road-stop,
body .aba-study-road-stop:nth-of-type(odd),
body .aba-study-road-stop:nth-of-type(even) {
    align-self: center !important;
    justify-self: center !important;
    margin: 0 !important;
    width: 210px !important;
    cursor: pointer;
}

body .aba-study-road-stop::before {
    top: 45px !important;
    display: block !important;
    width: 70px !important;
    height: 6px !important;
}

body .aba-study-road-stop.is-left-branch::before {
    left: calc(50% + 46px) !important;
    right: auto !important;
}

body .aba-study-road-stop.is-right-branch::before {
    right: calc(50% + 46px) !important;
    left: auto !important;
}

body .aba-study-road-stop.is-center-stop::before,
body .aba-study-road-stop::after {
    display: none !important;
}

body .aba-study-road-stop span {
    width: 90px !important;
    height: 90px !important;
    border-width: 6px !important;
    font-size: 20px !important;
}

body .aba-study-road-stop.is-kind-module span,
body .aba-study-road-stop.is-kind-mock span {
    width: 142px !important;
    height: 48px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--aba-blue) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    text-transform: uppercase;
}

body .aba-study-road-stop strong {
    margin-top: -52px !important;
    font-size: 10px !important;
    line-height: 1 !important;
}

body .aba-study-road-stop.is-kind-module strong,
body .aba-study-road-stop.is-kind-mock strong {
    display: none !important;
}

body .aba-study-road-stop small {
    max-width: 190px !important;
    min-height: 30px !important;
    font-size: 12px !important;
    line-height: 1.18 !important;
}

body .aba-study-road-stop button {
    display: none !important;
}

body .aba-study-node-pin {
    left: 100% !important;
    top: -8px !important;
    width: 54px !important;
    height: 54px !important;
    border-radius: 999px !important;
    transform: translateX(10px) !important;
}

body .aba-study-road-stop.is-right-branch .aba-study-node-pin {
    left: auto !important;
    right: 100% !important;
    transform: translateX(-10px) !important;
}

body .aba-study-road-stop.is-center-stop .aba-study-node-pin {
    left: 50% !important;
    top: -58px !important;
    transform: translateX(-50%) !important;
}

body .aba-study-node-pin::before {
    display: none !important;
}

body .aba-study-node-pin::after {
    content: "";
    position: absolute;
    inset: -7px;
    border-radius: 999px;
    background: rgba(172,33,83,.20);
    border: 2px solid rgba(172,33,83,.34);
    animation: abaStudyPulse 1.35s ease-in-out infinite;
}

body .aba-study-node-pin .aba-profile-avatar,
body .aba-study-node-pin .aba-profile-avatar.small {
    position: relative;
    z-index: 2;
    width: 54px !important;
    height: 54px !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 24px rgba(172,33,83,.22);
}

@keyframes abaStudyPulse {
    0% {
        transform: scale(.92);
        opacity: .50;
    }
    55% {
        transform: scale(1.16);
        opacity: .16;
    }
    100% {
        transform: scale(.92);
        opacity: .50;
    }
}

.aba-study-roadmap-hero {
    display: block !important;
}

.aba-study-roadmap-intro,
.aba-study-roadmap-track,
.aba-study-roadmap-board > .aba-study-avatar-runner {
    display: none !important;
}

.aba-study-roadmap-board {
    --route-spine: var(--aba-blue);
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(120px, 1fr) 150px 132px 150px minmax(120px, 1fr) !important;
    grid-auto-rows: minmax(88px, auto) !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 14px 18px !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 46px 44px 62px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 16px !important;
    background:
        linear-gradient(rgba(255,255,255,.96), rgba(255,255,255,.96)),
        repeating-linear-gradient(0deg, transparent 0 31px, rgba(172,33,83,.04) 31px 32px),
        repeating-linear-gradient(90deg, transparent 0 31px, rgba(172,33,83,.04) 31px 32px) !important;
    box-shadow: 0 20px 44px rgba(172,33,83,.08) !important;
}

.aba-study-roadmap-board::before {
    content: "";
    position: absolute;
    z-index: 1;
    display: block !important;
    top: 92px;
    bottom: 96px;
    left: 50%;
    width: 7px;
    border-radius: 999px;
    background: repeating-linear-gradient(to bottom, var(--route-spine) 0 19px, transparent 19px 31px);
    transform: translateX(-50%);
}

.aba-study-roadmap-board::after {
    display: none !important;
}

.aba-study-roadmap-start,
.aba-study-roadmap-finish {
    position: relative !important;
    z-index: 5;
    inset: auto !important;
    display: grid !important;
    place-items: center;
    align-self: center !important;
    justify-self: center !important;
    width: 76px !important;
    height: 76px !important;
    margin: 0 !important;
    border: 6px solid #ffffff;
    border-radius: 999px;
    color: #ffffff;
    font-size: 28px;
    box-shadow: 0 18px 34px rgba(172,33,83,.16);
}

.aba-study-roadmap-start {
    grid-column: 3 !important;
    grid-row: 1 !important;
    background: var(--aba-blue) !important;
}

.aba-study-roadmap-finish {
    grid-column: 3 !important;
    grid-row: var(--finish-row) !important;
    background: var(--aba-red) !important;
}

.aba-study-roadmap-start::after,
.aba-study-roadmap-finish::before {
    display: none !important;
}

.aba-study-road-stop,
.aba-study-road-stop:nth-of-type(odd),
.aba-study-road-stop:nth-of-type(even) {
    position: relative !important;
    z-index: 4;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    display: grid !important;
    justify-items: center;
    align-self: center !important;
    justify-self: center !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    width: 128px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    cursor: pointer;
}

.aba-study-road-stop::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 32px;
    display: block !important;
    width: 92px !important;
    height: 6px !important;
    border-radius: 999px;
    background: repeating-linear-gradient(to right, var(--route-spine) 0 18px, transparent 18px 30px);
}

.aba-study-road-stop.is-left-branch::before {
    left: calc(50% + 32px) !important;
    right: auto !important;
}

.aba-study-road-stop.is-right-branch::before {
    right: calc(50% + 32px) !important;
    left: auto !important;
}

.aba-study-road-stop.is-center-stop::before,
.aba-study-road-stop::after {
    display: none !important;
}

.aba-study-road-stop span {
    grid-row: auto !important;
    display: grid !important;
    place-items: center;
    width: 66px !important;
    height: 66px !important;
    border: 5px solid #ffffff;
    border-radius: 999px;
    background: #ac2153 !important;
    color: #ac2153 !important;
    font-size: 15px;
    font-weight: 900;
    box-shadow: 0 14px 24px rgba(172,33,83,.13);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.aba-study-road-stop.is-kind-module span,
.aba-study-road-stop.is-kind-mock span {
    width: 94px !important;
    height: 42px !important;
    border: 0;
    border-radius: 10px;
    background: var(--aba-blue) !important;
    color: #ffffff !important;
    font-size: 12px;
}

.aba-study-road-stop.is-kind-mock span {
    background: #ac2153 !important;
}

.aba-study-road-stop.is-kind-quiz span {
    box-shadow: 0 0 0 4px rgba(172,33,83,.12), 0 14px 24px rgba(172,33,83,.13);
}

.aba-study-road-stop.is-mastered span {
    background: var(--aba-blue) !important;
    color: #ffffff !important;
}

.aba-study-road-stop.is-repeat span {
    background: var(--aba-red) !important;
    color: #ffffff !important;
}

.aba-study-road-stop.is-available span {
    background: #ffffff !important;
    color: var(--aba-red) !important;
    border-color: var(--aba-red);
    box-shadow: 0 0 0 6px rgba(172,33,83,.10), 0 14px 24px rgba(172,33,83,.13);
}

.aba-study-road-stop:hover span,
.aba-study-road-stop:focus-visible span {
    transform: translateY(-2px);
    box-shadow: 0 18px 30px rgba(172,33,83,.20);
}

.aba-study-road-stop strong {
    margin-top: -29px !important;
    color: #ac2153 !important;
    font-size: 7px !important;
    font-weight: 900;
    line-height: 1 !important;
    text-align: center;
    text-transform: uppercase;
}

.aba-study-road-stop.is-kind-module strong,
.aba-study-road-stop.is-kind-mock strong {
    margin-top: -28px !important;
    color: #ffffff !important;
}

.aba-study-road-stop small {
    max-width: 118px !important;
    min-height: 20px !important;
    color: #ac2153;
    font-size: 8px !important;
    font-weight: 700;
    line-height: 1.1 !important;
    text-align: center;
}

.aba-study-road-stop button {
    display: none !important;
}

.aba-study-node-pin {
    position: absolute;
    z-index: 12;
    left: 100%;
    top: -3px;
    width: 42px;
    height: 42px;
    transform: translateX(8px);
}

.aba-study-road-stop.is-right-branch .aba-study-node-pin {
    left: auto;
    right: 100%;
    transform: translateX(-8px);
}

.aba-study-road-stop.is-center-stop .aba-study-node-pin {
    left: 50%;
    top: -50px;
    transform: translateX(-50%);
}

.aba-study-node-pin::before {
    display: none !important;
}

.aba-study-node-pin::after {
    content: "";
    position: absolute;
    inset: -5px;
    border-radius: 999px;
    background: rgba(172,33,83,.16);
    border: 2px solid rgba(172,33,83,.25);
}

.aba-study-node-pin .aba-profile-avatar {
    position: relative;
    z-index: 2;
}

.aba-study-node-pin .aba-profile-avatar.small {
    width: 42px !important;
    height: 42px !important;
}

@media (max-width: 760px) {
    .aba-study-roadmap-board {
        grid-template-columns: 1fr 86px 1fr !important;
        padding: 38px 14px 52px !important;
        gap: 12px 8px !important;
    }

    .aba-study-roadmap-start,
    .aba-study-roadmap-finish,
    .aba-study-road-stop.is-center-stop {
        grid-column: 2 !important;
    }

    .aba-study-road-stop.is-left-branch {
        grid-column: 1 !important;
    }

    .aba-study-road-stop.is-right-branch {
        grid-column: 3 !important;
    }

    .aba-study-road-stop::before {
        width: 44px !important;
    }
}

/* Final route layout: vertical learning path with side lesson branches. */
.aba-study-roadmap-board {
    --route-spine: var(--aba-blue);
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(120px, 1fr) 150px 132px 150px minmax(120px, 1fr) !important;
    grid-auto-rows: minmax(88px, auto) !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 14px 18px !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 46px 44px 62px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 16px !important;
    background:
        linear-gradient(rgba(255,255,255,.96), rgba(255,255,255,.96)),
        repeating-linear-gradient(0deg, transparent 0 31px, rgba(172,33,83,.04) 31px 32px),
        repeating-linear-gradient(90deg, transparent 0 31px, rgba(172,33,83,.04) 31px 32px) !important;
    box-shadow: 0 20px 44px rgba(172,33,83,.08) !important;
}

.aba-study-roadmap-board::before {
    content: "";
    position: absolute;
    z-index: 1;
    display: block !important;
    top: 92px;
    bottom: 96px;
    left: 50%;
    width: 7px;
    border-radius: 999px;
    background: repeating-linear-gradient(to bottom, var(--route-spine) 0 19px, transparent 19px 31px);
    transform: translateX(-50%);
}

.aba-study-roadmap-start,
.aba-study-roadmap-finish {
    position: relative !important;
    z-index: 5;
    inset: auto !important;
    display: grid !important;
    place-items: center;
    align-self: center !important;
    justify-self: center !important;
    width: 76px !important;
    height: 76px !important;
    margin: 0 !important;
    border: 6px solid #ffffff;
    border-radius: 999px;
    color: #ffffff;
    font-size: 28px;
    box-shadow: 0 18px 34px rgba(172,33,83,.16);
}

.aba-study-roadmap-start {
    grid-column: 3 !important;
    grid-row: 1 !important;
    background: var(--aba-blue) !important;
}

.aba-study-roadmap-finish {
    grid-column: 3 !important;
    grid-row: var(--finish-row) !important;
    background: var(--aba-red) !important;
}

.aba-study-roadmap-start::after,
.aba-study-roadmap-finish::before {
    display: none !important;
}

.aba-study-road-stop,
.aba-study-road-stop:nth-of-type(odd),
.aba-study-road-stop:nth-of-type(even) {
    position: relative !important;
    z-index: 4;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    display: grid !important;
    justify-items: center;
    align-self: center !important;
    justify-self: center !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    width: 128px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    cursor: pointer;
}

.aba-study-road-stop::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 32px;
    display: block !important;
    width: 92px !important;
    height: 6px !important;
    border-radius: 999px;
    background: repeating-linear-gradient(to right, var(--route-spine) 0 18px, transparent 18px 30px);
}

.aba-study-road-stop.is-left-branch::before {
    left: calc(50% + 32px) !important;
    right: auto !important;
}

.aba-study-road-stop.is-right-branch::before {
    right: calc(50% + 32px) !important;
    left: auto !important;
}

.aba-study-road-stop.is-center-stop::before,
.aba-study-road-stop::after {
    display: none !important;
}

.aba-study-road-stop span {
    grid-row: auto !important;
    display: grid !important;
    place-items: center;
    width: 66px !important;
    height: 66px !important;
    border: 5px solid #ffffff;
    border-radius: 999px;
    background: #ac2153 !important;
    color: #ac2153 !important;
    font-size: 15px;
    font-weight: 900;
    box-shadow: 0 14px 24px rgba(172,33,83,.13);
}

.aba-study-road-stop.is-kind-module span,
.aba-study-road-stop.is-kind-mock span {
    width: 94px !important;
    height: 42px !important;
    border: 0;
    border-radius: 10px;
    background: var(--aba-blue) !important;
    color: #ffffff !important;
    font-size: 12px;
}

.aba-study-road-stop.is-kind-mock span {
    background: #ac2153 !important;
}

.aba-study-road-stop.is-kind-quiz span {
    box-shadow: 0 0 0 4px rgba(172,33,83,.12), 0 14px 24px rgba(172,33,83,.13);
}

.aba-study-road-stop.is-mastered span {
    background: var(--aba-blue) !important;
    color: #ffffff !important;
}

.aba-study-road-stop.is-repeat span {
    background: var(--aba-red) !important;
    color: #ffffff !important;
}

.aba-study-road-stop.is-available span {
    background: #ffffff !important;
    color: var(--aba-red) !important;
    border-color: var(--aba-red);
    box-shadow: 0 0 0 6px rgba(172,33,83,.10), 0 14px 24px rgba(172,33,83,.13);
}

.aba-study-road-stop:hover span,
.aba-study-road-stop:focus-visible span {
    transform: translateY(-2px);
    box-shadow: 0 18px 30px rgba(172,33,83,.20);
}

.aba-study-road-stop strong {
    margin-top: -29px !important;
    color: #ac2153 !important;
    font-size: 7px !important;
    font-weight: 900;
    line-height: 1 !important;
    text-align: center;
    text-transform: uppercase;
}

.aba-study-road-stop.is-kind-module strong,
.aba-study-road-stop.is-kind-mock strong {
    margin-top: -28px !important;
    color: #ffffff !important;
}

.aba-study-road-stop small {
    max-width: 118px !important;
    min-height: 20px !important;
    color: #ac2153;
    font-size: 8px !important;
    font-weight: 700;
    line-height: 1.1 !important;
    text-align: center;
}

.aba-study-road-stop button {
    display: none !important;
}

.aba-study-node-pin {
    position: absolute;
    z-index: 12;
    left: 100%;
    top: -3px;
    width: 42px;
    height: 42px;
    transform: translateX(8px);
}

.aba-study-road-stop.is-right-branch .aba-study-node-pin {
    left: auto;
    right: 100%;
    transform: translateX(-8px);
}

.aba-study-road-stop.is-center-stop .aba-study-node-pin {
    left: 50%;
    top: -50px;
    transform: translateX(-50%);
}

.aba-study-node-pin::before {
    display: none !important;
}

.aba-study-node-pin::after {
    content: "";
    position: absolute;
    inset: -5px;
    border-radius: 999px;
    background: rgba(172,33,83,.16);
    border: 2px solid rgba(172,33,83,.25);
}

.aba-study-node-pin .aba-profile-avatar {
    position: relative;
    z-index: 2;
}

.aba-study-node-pin .aba-profile-avatar.small {
    width: 42px !important;
    height: 42px !important;
}

@media (max-width: 760px) {
    .aba-study-roadmap-board {
        grid-template-columns: 1fr 86px 1fr !important;
        padding: 38px 14px 52px !important;
        gap: 12px 8px !important;
    }

    .aba-study-roadmap-start,
    .aba-study-roadmap-finish,
    .aba-study-road-stop.is-center-stop {
        grid-column: 2 !important;
    }

    .aba-study-road-stop.is-left-branch {
        grid-column: 1 !important;
    }

    .aba-study-road-stop.is-right-branch {
        grid-column: 3 !important;
    }

    .aba-study-road-stop::before {
        width: 44px !important;
    }
}

/* Final final route pass: compact, clickable, contained roadmap. */
.aba-study-roadmap-board {
    grid-template-columns: repeat(6, minmax(92px, 1fr)) !important;
    grid-auto-rows: minmax(118px, auto) !important;
    gap: 34px 34px !important;
    padding: 70px 72px 88px !important;
    overflow: hidden !important;
}

.aba-study-roadmap-start,
.aba-study-roadmap-finish {
    width: 78px !important;
    height: 78px !important;
    border-width: 6px !important;
    font-size: 27px !important;
}

.aba-study-roadmap-start::after {
    left: calc(50% + 39px) !important;
    width: calc(100% + 34px) !important;
    height: 6px !important;
}

.aba-study-roadmap-finish::before {
    left: calc(50% + 39px) !important;
    right: auto !important;
    width: calc(100% + 34px) !important;
    height: 6px !important;
}

.aba-study-road-stop,
.aba-study-road-stop:nth-of-type(odd),
.aba-study-road-stop:nth-of-type(even) {
    width: 118px !important;
    gap: 4px !important;
    cursor: pointer;
}

.aba-study-road-stop:focus-visible span {
    outline: 3px solid rgba(172,33,83,.34);
    outline-offset: 5px;
}

.aba-study-road-stop::before {
    top: 39px !important;
    height: 6px !important;
}

.aba-study-road-stop.is-row-odd:not(.is-col-6)::before {
    left: calc(50% + 38px) !important;
    width: calc(100% + 42px) !important;
}

.aba-study-road-stop.is-row-even:not(.is-col-2)::before {
    right: calc(50% + 38px) !important;
    width: calc(100% + 42px) !important;
}

.aba-study-road-stop::after {
    top: calc(50% + 38px) !important;
    left: calc(50% - 3px) !important;
    width: 6px !important;
    height: 74px !important;
}

.aba-study-road-stop.is-kind-mock::after {
    display: none !important;
}

.aba-study-road-stop span,
.aba-study-road-stop.is-kind-module span {
    width: 78px !important;
    height: 78px !important;
    border-width: 6px !important;
    font-size: 18px !important;
}

.aba-study-road-stop strong {
    margin-top: -34px !important;
    color: #ac2153 !important;
    font-size: 7px !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;
}

.aba-study-road-stop small {
    max-width: 112px !important;
    min-height: 24px !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
}

.aba-study-road-stop button {
    display: none !important;
}

.aba-study-node-pin {
    top: -48px !important;
    width: 44px !important;
    height: 44px !important;
}

.aba-study-node-pin::before {
    top: 29px !important;
    border-left-width: 17px !important;
    border-right-width: 17px !important;
    border-top-width: 34px !important;
}

.aba-study-node-pin::after {
    inset: -5px !important;
}

.aba-study-node-pin .aba-profile-avatar.small {
    width: 44px !important;
    height: 44px !important;
}

@media (max-width: 1100px) {
    .aba-study-roadmap-board {
        overflow: visible !important;
    }
}

/* Study Route cleanup: compact clickable roadmap, no visible "open" buttons. */
.aba-study-roadmap-board {
    grid-template-columns: repeat(6, minmax(92px, 1fr)) !important;
    grid-auto-rows: minmax(118px, auto) !important;
    gap: 34px 34px !important;
    padding: 70px 72px 88px !important;
    overflow: hidden !important;
}

.aba-study-roadmap-start,
.aba-study-roadmap-finish {
    width: 78px !important;
    height: 78px !important;
    border-width: 6px !important;
    font-size: 27px !important;
}

.aba-study-roadmap-start {
    color: #ffffff !important;
}

.aba-study-roadmap-finish {
    color: #ffffff !important;
}

.aba-study-roadmap-start::after {
    left: calc(50% + 39px) !important;
    width: calc(100% + 34px) !important;
    height: 6px !important;
}

.aba-study-roadmap-finish::before {
    left: calc(50% + 39px) !important;
    right: auto !important;
    width: calc(100% + 34px) !important;
    height: 6px !important;
}

.aba-study-road-stop,
.aba-study-road-stop:nth-of-type(odd),
.aba-study-road-stop:nth-of-type(even) {
    width: 118px !important;
    gap: 4px !important;
    cursor: pointer;
}

.aba-study-road-stop:focus-visible span {
    outline: 3px solid rgba(172,33,83,.34);
    outline-offset: 5px;
}

.aba-study-road-stop::before {
    top: 39px !important;
    height: 6px !important;
}

.aba-study-road-stop.is-row-odd:not(.is-col-6)::before {
    left: calc(50% + 38px) !important;
    width: calc(100% + 42px) !important;
}

.aba-study-road-stop.is-row-even:not(.is-col-2)::before {
    right: calc(50% + 38px) !important;
    width: calc(100% + 42px) !important;
}

.aba-study-road-stop::after {
    top: calc(50% + 38px) !important;
    left: calc(50% - 3px) !important;
    width: 6px !important;
    height: 74px !important;
}

.aba-study-road-stop.is-kind-mock::after {
    display: none !important;
}

.aba-study-road-stop span,
.aba-study-road-stop.is-kind-module span {
    width: 78px !important;
    height: 78px !important;
    border-width: 6px !important;
    font-size: 18px !important;
}

.aba-study-road-stop strong {
    margin-top: -34px !important;
    color: #ac2153 !important;
    font-size: 7px !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;
}

.aba-study-road-stop small {
    max-width: 112px !important;
    min-height: 24px !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
}

.aba-study-road-stop button {
    display: none !important;
}

.aba-study-node-pin {
    top: -48px !important;
    width: 44px !important;
    height: 44px !important;
}

.aba-study-node-pin::before {
    top: 29px !important;
    border-left-width: 17px !important;
    border-right-width: 17px !important;
    border-top-width: 34px !important;
}

.aba-study-node-pin::after {
    inset: -5px !important;
}

.aba-study-node-pin .aba-profile-avatar.small {
    width: 44px !important;
    height: 44px !important;
}

@media (max-width: 1100px) {
    .aba-study-roadmap-board {
        overflow: visible !important;
    }
}
.aba-flashcards-heading {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    gap: 24px;
}

.aba-flashcard-filter-panel {
    display: grid;
    gap: 18px;
}

.aba-flashcard-filters {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(180px, 260px) auto;
    gap: 12px;
}

.aba-flashcard-filters input,
.aba-flashcard-filters select,
.aba-flashcard-filters button {
    min-height: 48px;
}

.aba-flashcard-domain-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
}

.aba-flashcard-domain-grid a {
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    color: #ac2153;
    display: grid;
    gap: 5px;
    min-height: 78px;
    padding: 14px;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.aba-flashcard-domain-grid a:hover,
.aba-flashcard-domain-grid a.active {
    background: var(--aba-red);
    border-color: var(--aba-red);
    color: #ffffff;
}

.aba-flashcard-domain-grid strong {
    font-size: 1.05rem;
    font-weight: 600;
}

.aba-flashcard-domain-grid span {
    color: inherit;
    font-size: .9rem;
    opacity: .8;
}

.aba-flashcard-study-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 42px 26px;
    justify-items: center;
    perspective: 1200px;
    padding-top: 46px;
}

.aba-flashcard {
    cursor: pointer;
    min-height: 520px;
    outline: none;
    padding-top: 54px;
    position: relative;
    width: min(100%, 500px);
}

.aba-flashcard:focus-visible .aba-flashcard-inner {
    box-shadow: 0 0 0 4px rgba(172,33,83,.18), 0 18px 48px rgba(172,33,83,.12);
}

.aba-flashcard-logo-badge {
    align-items: center;
    background: #ffffff;
    border: 6px solid #ac2153;
    border-radius: 50%;
    box-shadow: 0 12px 30px rgba(172,33,83,.14);
    display: flex;
    height: 118px;
    justify-content: center;
    left: 50%;
    overflow: hidden;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 118px;
    z-index: 4;
}

.aba-flashcard-logo-badge img {
    display: block;
    height: 106%;
    object-fit: cover;
    width: 106%;
}

.aba-flashcard-inner {
    border-radius: 10px;
    height: 100%;
    min-height: 470px;
    position: relative;
    transform-style: preserve-3d;
    transition: transform .35s ease;
}

.aba-flashcard.is-flipped .aba-flashcard-inner {
    transform: rotateY(180deg);
}

.aba-flashcard-face {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    align-items: center;
    background: #f5ebdd;
    border: 0;
    border-radius: 10px;
    box-shadow: 0 18px 48px rgba(172,33,83,.1);
    display: flex;
    flex-direction: column;
    gap: 18px;
    inset: 0;
    justify-content: center;
    overflow: hidden;
    padding: 92px 56px 48px;
    position: absolute;
    text-align: center;
}

.aba-flashcard-face::before {
    background: url("../../uploads/abacollege/abacollege_favicon.png") center / contain no-repeat;
    content: "";
    inset: 58px 26px 26px;
    opacity: .035;
    pointer-events: none;
    position: absolute;
}

.aba-flashcard-face p {
    color: #ac2153;
    font-size: clamp(1.2rem, 2vw, 1.65rem);
    font-weight: 400;
    line-height: 1.48;
    margin: 0;
    max-width: 380px;
    position: relative;
    z-index: 1;
}

.aba-flashcard-face em {
    bottom: 22px;
    color: #ac2153;
    font-size: .86rem;
    font-style: normal;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 2;
}

.aba-flashcard-domain-pill {
    background: rgba(172,33,83,.08);
    border-radius: 999px;
    color: #ac2153;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .03em;
    padding: 6px 11px;
    position: absolute;
    right: 18px;
    top: 22px;
    z-index: 2;
}

.aba-flashcard-back {
    background: #f5ebdd;
    color: #ac2153;
    transform: rotateY(180deg);
}

.aba-flashcard-back h2 {
    color: #ac2153;
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    margin: 0;
    position: relative;
    text-transform: uppercase;
    z-index: 1;
}

.aba-flashcard-editor-panel {
    display: grid;
    gap: 18px;
}

.aba-flashcard-face-heading {
    align-items: center;
    border-top: 1px solid #f5ebdd;
    display: flex;
    gap: 10px;
    padding-top: 18px;
}

.aba-flashcard-face-heading span {
    background: #ac2153;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: .76rem;
    padding: 5px 10px;
    text-transform: uppercase;
}

.aba-flashcard-face-heading strong {
    color: #ac2153;
    font-weight: 600;
}

.aba-check-card {
    align-items: center;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    display: inline-flex;
    gap: 10px;
    min-height: 52px;
    padding: 12px 14px;
}

@media (max-width: 760px) {
    .aba-flashcards-heading,
    .aba-panel-heading-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .aba-flashcard-filters {
        grid-template-columns: 1fr;
    }

    .aba-flashcard-study-grid {
        grid-template-columns: 1fr;
        padding-top: 36px;
    }

    .aba-flashcard {
        min-height: 430px;
        padding-top: 45px;
    }

    .aba-flashcard-inner {
        min-height: 390px;
    }

    .aba-flashcard-logo-badge {
        border-width: 5px;
        height: 96px;
        width: 96px;
    }

    .aba-flashcard-face {
        padding: 78px 26px 42px;
    }

    .aba-flashcard-face p {
        font-size: 1.12rem;
    }
}

.aba-flashcard-study-layout {
    align-items: start;
    display: grid;
    gap: 28px;
    grid-template-columns: 300px minmax(0, 1fr);
}

.aba-flashcard-study-layout .aba-flashcard-filter-panel {
    align-self: start;
    display: grid;
    gap: 16px;
    padding: 20px;
    position: sticky;
    top: 96px;
}

.aba-flashcard-study-layout .aba-flashcard-filters {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
}

.aba-flashcard-study-layout .aba-flashcard-filters input,
.aba-flashcard-study-layout .aba-flashcard-filters button {
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    font: inherit;
    min-height: 48px;
    padding: 0 13px;
    width: 100%;
}

.aba-flashcard-study-layout .aba-flashcard-filters input {
    background: #ffffff;
    color: #ac2153;
}

.aba-flashcard-study-layout .aba-flashcard-filters button {
    background: #ac2153;
    color: #ffffff;
    cursor: pointer;
    font-weight: 400;
}

.aba-flashcard-study-layout .aba-flashcard-domain-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
}

.aba-flashcard-study-layout .aba-flashcard-domain-grid a {
    align-content: center;
    border-radius: 10px;
    min-height: 66px;
}

.aba-flashcard-viewer-panel {
    align-content: start;
    display: grid;
    gap: 22px;
    min-height: 660px;
    overflow: visible;
    padding: 30px 34px 38px;
}

.aba-flashcard-viewer-head {
    align-items: center;
    color: #ac2153;
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

.aba-flashcard-viewer-head span {
    color: #ac2153;
    font-size: 1rem;
    font-weight: 600;
}

.aba-flashcard-viewer-head small {
    font-size: .9rem;
}

.aba-flashcard-stage {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: 64px minmax(0, 1fr) 64px;
    min-height: 600px;
    position: relative;
}

.aba-flashcard-deck {
    display: grid;
    min-height: 570px;
    perspective: 1200px;
    place-items: center;
    position: relative;
}

.aba-flashcard-stage .aba-flashcard {
    display: none;
    min-height: 560px;
    padding-top: 0;
    width: min(100%, 520px);
}

.aba-flashcard-stage .aba-flashcard.active {
    display: block;
}

.aba-flashcard-stage .aba-flashcard-inner {
    min-height: 500px;
}

.aba-flashcard-stage .aba-flashcard-logo-badge {
    border: 6px solid #ac2153;
    height: 128px;
    width: 128px;
}

.aba-flashcard-stage .aba-flashcard-logo-badge img {
    height: 108%;
    width: 108%;
}

.aba-flashcard-stage .aba-flashcard-face {
    background: #f5ebdd;
    border-radius: 10px;
    box-shadow: 0 18px 48px rgba(172,33,83,.12);
    padding: 68px 58px 54px;
}

.aba-flashcard-stage .aba-flashcard-face::before {
    background: url("../../uploads/abacollege/abacollege_blue.png") center / 88% auto no-repeat;
    inset: 36px 28px 28px;
    opacity: .05;
}

.aba-flashcard-stage .aba-flashcard-face p {
    color: #ac2153;
    font-size: clamp(1.28rem, 2vw, 1.7rem);
    font-weight: 400;
    line-height: 1.5;
    max-width: 395px;
}

.aba-flashcard-stage .aba-flashcard-back h2 {
    color: #ac2153;
    font-size: clamp(1.8rem, 3.6vw, 3rem);
    font-weight: 700;
}

.aba-flashcard-back-domain {
    color: #ac2153;
    font-size: 1.05rem;
    font-weight: 600;
    margin-top: 8px;
    position: relative;
    z-index: 2;
}

.aba-flashcard-nav {
    align-items: center;
    background: #ffffff;
    border: 1px solid #f5ebdd;
    border-radius: 999px;
    box-shadow: 0 14px 32px rgba(172,33,83,.12);
    color: #ac2153;
    cursor: pointer;
    display: inline-flex;
    font-size: 42px;
    font-weight: 300;
    height: 54px;
    justify-content: center;
    line-height: 1;
    padding: 0 0 5px;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
    width: 54px;
}

.aba-flashcard-nav:hover {
    background: var(--aba-red);
    border-color: var(--aba-red);
    color: #ffffff;
    transform: translateY(-1px);
}

.aba-flashcard-mobile-controls {
    display: none;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 980px) {
    .aba-flashcard-study-layout {
        grid-template-columns: 1fr;
    }

    .aba-flashcard-study-layout .aba-flashcard-filter-panel {
        position: static;
    }

    .aba-flashcard-study-layout .aba-flashcard-domain-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aba-flashcard-stage {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .aba-flashcard-nav {
        display: none;
    }

    .aba-flashcard-mobile-controls {
        display: grid;
    }

    .aba-flashcard-deck {
        min-height: 500px;
    }
}

@media (max-width: 620px) {
    .aba-flashcard-viewer-panel {
        min-height: 0;
        padding: 22px 16px 26px;
    }

    .aba-flashcard-viewer-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .aba-flashcard-study-layout .aba-flashcard-domain-grid {
        grid-template-columns: 1fr;
    }

    .aba-flashcard-deck {
        min-height: 465px;
    }

    .aba-flashcard-stage .aba-flashcard {
        min-height: 455px;
        padding-top: 0;
        width: min(100%, 390px);
    }

    .aba-flashcard-stage .aba-flashcard-inner {
        min-height: 410px;
    }

    .aba-flashcard-stage .aba-flashcard-logo-badge {
        border-width: 5px;
        height: 100px;
        width: 100px;
    }

    .aba-flashcard-stage .aba-flashcard-face {
        padding: 58px 28px 46px;
    }

    .aba-flashcard-stage .aba-flashcard-face::before {
        background-size: 95% auto;
        inset: 28px 16px 18px;
    }

    .aba-flashcard-stage .aba-flashcard-face p {
        font-size: 1.12rem;
    }
}

body.aba-abalive-list-body,
body.aba-abalive-list-body .aba-abalive-page,
body.aba-abalive-list-body .aba-abalive-classes-page,
body.aba-abalive-list-body .aba-abalive-shell {
    color: var(--aba-ink) !important;
    background: #f5ebdd !important;
}

body.aba-abalive-list-body .aba-abalive-class-hero,
body.aba-abalive-list-body .aba-abalive-create-card,
body.aba-abalive-list-body .aba-abalive-class-card {
    color: var(--aba-ink) !important;
    background: #ffffff !important;
}

body.aba-abalive-list-body .aba-abalive-class-hero h1 {
    color: var(--aba-blue) !important;
}

body.aba-abalive-list-body .aba-abalive-class-hero p,
body.aba-abalive-list-body .aba-abalive-timezone small {
    color: var(--aba-muted) !important;
}

.aba-calendar-page,
.aba-calendar-page .aba-calendar-shell {
    background: #f5ebdd;
    color: var(--aba-ink);
}

.aba-calendar-shell {
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 56px 24px 70px;
}

.aba-calendar-heading {
    align-items: flex-start;
    margin-bottom: 20px;
}

.aba-calendar-heading h1 {
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(48px, 5vw, 72px);
    line-height: .95;
    letter-spacing: 0;
}

.aba-calendar-month-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.aba-calendar-month-nav strong {
    min-width: 180px;
    color: var(--aba-blue);
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    text-transform: capitalize;
}

.aba-calendar-legend {
    margin: 0 0 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.aba-calendar-legend span {
    min-height: 34px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--aba-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--aba-blue);
    font-size: 14px;
}

.aba-calendar-legend i {
    width: 10px;
    height: 10px;
    border-radius: 999px;
}

.aba-calendar-legend i.registered {
    background: var(--aba-blue);
}

.aba-calendar-legend i.missed {
    background: var(--aba-red);
}

.aba-calendar-legend i.open {
    background: #ac2153;
}

.aba-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
    background: var(--aba-border);
    box-shadow: 0 18px 42px rgba(172,33,83,.08);
}

.aba-calendar-weekday {
    min-height: 42px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: var(--aba-blue);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.aba-calendar-day {
    min-height: 168px;
    padding: 10px;
    background: #ffffff;
}

.aba-calendar-day.is-empty {
    background: rgba(255,255,255,.52);
}

.aba-calendar-day.is-today {
    box-shadow: inset 0 0 0 2px var(--aba-blue);
}

.aba-calendar-day-number {
    width: 32px;
    height: 32px;
    margin-bottom: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: var(--aba-blue);
    font-size: 16px;
    font-weight: 700;
}

.aba-calendar-day.is-today .aba-calendar-day-number {
    background: var(--aba-blue);
    color: #ffffff;
}

.aba-calendar-no-events {
    display: block;
    color: #ac2153;
    font-size: 13px;
}

.aba-calendar-events {
    display: grid;
    gap: 8px;
}

.aba-calendar-event {
    padding: 8px;
    display: grid;
    gap: 4px;
    border-radius: 8px;
    border: 1px solid var(--aba-border);
    background: #f5ebdd;
    color: var(--aba-blue);
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease;
}

.aba-calendar-event:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(172,33,83,.12);
}

.aba-calendar-event.is-registered {
    border-color: rgba(172,33,83,.32);
    background: rgba(172,33,83,.09);
}

.aba-calendar-event.is-missed {
    border-color: rgba(172,33,83,.28);
    background: rgba(172,33,83,.08);
}

.aba-calendar-event.is-open {
    border-color: #f5ebdd;
    background: #f5ebdd;
}

.aba-calendar-event-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.aba-calendar-event-top strong {
    color: var(--aba-blue);
    font-size: 13px;
    font-weight: 700;
}

.aba-calendar-event-top em {
    padding: 2px 6px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--aba-red);
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
}

.aba-calendar-event-title {
    color: var(--aba-ink);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.15;
}

.aba-calendar-event-topic,
.aba-calendar-event-meta {
    color: var(--aba-muted);
    font-size: 12px;
    line-height: 1.2;
}

.aba-calendar-event-title,
.aba-calendar-event-topic {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
}

.aba-calendar-event-title {
    -webkit-line-clamp: 2;
}

.aba-calendar-event-topic {
    -webkit-line-clamp: 1;
}

@media (max-width: 1080px) {
    .aba-calendar-grid {
        display: block;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .aba-calendar-weekday,
    .aba-calendar-day.is-empty {
        display: none;
    }

    .aba-calendar-day {
        min-height: 0;
        margin-bottom: 10px;
        border: 1px solid var(--aba-border);
        border-radius: 10px;
    }
}

.aba-abalive-page.aba-abalive-classes-page,
.aba-abalive-embed.aba-abalive-classes-page,
body.aba-abalive-list-body,
body.aba-abalive-list-body .aba-abalive-page,
body.aba-abalive-list-body .aba-abalive-shell {
    background: #f5ebdd !important;
    color: var(--aba-ink) !important;
}

.aba-abalive-classes-page .aba-abalive-shell {
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 10px 24px 46px;
}

body.aba-abalive-list-body:not(.aba-abalive-embed-body) .aba-abalive-classes-page .aba-abalive-shell {
    padding-top: 56px;
}

.aba-abalive-classes-page .aba-abalive-class-hero {
    border: 0;
    background: transparent !important;
    box-shadow: none;
    padding: 10px 0 0;
}

.aba-abalive-classes-page .aba-abalive-create-card,
.aba-abalive-classes-page .aba-abalive-class-card {
    background: #ffffff !important;
    color: var(--aba-ink) !important;
}

body.aba-mentoring-embed-body,
body.aba-mentoring-embed-body .aba-mentoring-page,
body.aba-mentoring-embed-body .aba-admin-shell,
.aba-mentoring-page {
    background: #f5ebdd !important;
    color: var(--aba-ink) !important;
}

.aba-mentoring-page .aba-admin-shell {
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 10px 24px 46px;
}

.aba-mentoring-page .aba-panel {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.aba-mentoring-page .aba-modal-card,
.aba-mentoring-page .aba-modal-card.aba-panel {
    border: 1px solid var(--aba-border);
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(172,33,83,.18);
}

.aba-mentoring-page .aba-panel-heading-row {
    margin-bottom: 18px;
}

.aba-mentoring-page .aba-mentoring-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aba-mentoring-page .aba-mentoring-card {
    background: #ffffff !important;
    color: var(--aba-ink) !important;
}

html,
body,
.aba-home,
.aba-admin-page,
.aba-page-shell,
.aba-course-page,
.aba-simple-page,
.aba-board-page,
.aba-board-focus-body,
.aba-profile-page,
.aba-settings-page,
.aba-auth-page,
.aba-error-page,
.aba-my-dashboard,
.aba-community-body,
.aba-public-section-body,
.aba-program-card-body,
.aba-module-body,
.aba-lab-embed-body,
.aba-learning-lab-page,
.aba-domain-embed-body,
.aba-mock-embed-body,
.aba-flashcards-embed-body,
.aba-flashcards-page,
.aba-glossary-embed-body,
.aba-chat-embed-body,
.aba-chat-page,
.aba-classroom-embed-body,
.aba-classroom-cards-page,
.aba-lesson-page,
.aba-translations-page,
.aba-map-simple-screen,
.aba-abalive-list-body,
.aba-abalive-classes-page,
.aba-mentoring-embed-body,
.aba-study-route-embed-body,
.aba-study-route-page,
.aba-one-on-one-embed-body,
.aba-one-on-one-page {
    background-color: #f5ebdd !important;
}

.aba-mentoring-page .aba-mentoring-actions .aba-btn,
.aba-mentoring-page .aba-mentoring-actions .inline-delete button {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 7px;
    font-size: .82rem;
    font-weight: 600;
}

/* RBT Desde Cero account access */
.aba-auth-page {
    min-height: 560px;
    padding: 58px 24px 70px;
    background: #ffffff !important;
}

.aba-auth-card {
    position: relative;
    width: min(1080px, 100%);
    padding: 0;
    grid-template-columns: minmax(350px, .88fr) minmax(430px, 1.12fr);
    gap: 0;
    overflow: hidden;
    border: 1px solid #f5ebdd;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(172,33,83,.10);
}

.aba-auth-intro {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 470px;
    padding: 42px 48px;
    color: #ffffff;
    border-radius: 0;
    background: linear-gradient(145deg, #ac2153 0%, #ac2153 100%);
}

.aba-auth-intro::before,
.aba-auth-intro::after {
    display: none;
}

.aba-auth-intro .aba-kicker {
    color: #ffffff;
    letter-spacing: .14em;
}

.aba-auth-intro .aba-kicker::after {
    content: "";
    display: block;
    width: 54px;
    height: 4px;
    margin-top: 13px;
    border-radius: 10px;
    background: #ac2153;
}

.aba-auth-card .aba-auth-intro h1 {
    max-width: 430px;
    margin: 0 0 34px;
    color: #ffffff;
    font-size: clamp(32px, 3.4vw, 49px);
    line-height: 1.03;
    letter-spacing: -.025em;
    text-align: center;
}

.aba-auth-card .aba-auth-intro h1::after {
    content: "";
    display: block;
    width: 58px;
    height: 4px;
    margin: 17px auto 0;
    border-radius: 6px;
    background: #ac2153;
}

.aba-auth-email-logo {
    display: block;
    width: min(310px, 82%);
    height: auto;
    object-fit: contain;
}

.aba-auth-intro > p {
    max-width: 430px;
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: 16px;
    line-height: 1.65;
}

.aba-auth-benefits {
    display: grid;
    gap: 13px;
    margin-top: 38px;
}

.aba-auth-benefits span {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
}

.aba-auth-benefits i {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    color: #ffffff;
    background: rgba(255,255,255,.12);
}

.aba-auth-form-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 44px 48px;
    border: 0;
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
}

.aba-auth-form-heading {
    margin-bottom: 25px;
}

.aba-auth-form-heading > span {
    color: #ac2153;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
}

.aba-auth-form-heading h2 {
    margin: 5px 0 0;
    color: #ac2153;
    font-size: 30px;
    line-height: 1.1;
}

.aba-auth-form {
    gap: 17px;
}

.aba-auth-form label {
    gap: 8px;
    min-width: 0;
}

.aba-auth-form span {
    color: #ac2153;
    font-size: 12px;
}

.aba-auth-form input,
.aba-auth-form select {
    min-width: 0;
    min-height: 50px;
    border-color: #f5ebdd;
    border-radius: 11px;
    background: #ffffff;
    color: #ac2153;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.aba-auth-form input:focus,
.aba-auth-form select:focus {
    outline: none;
    border-color: #fb76a4;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(251,118,164,.12);
}

.aba-auth-form button {
    min-height: 51px;
    border: 0;
    border-radius: 11px;
    box-shadow: 0 10px 22px rgba(172,33,83,.16);
}

.aba-auth-form button:hover {
    transform: translateY(-1px);
}

.aba-auth-form .aba-phone-row {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 8px;
    width: 100%;
}

.aba-auth-form .aba-phone-code {
    text-align: center;
    background: #f5ebdd;
}

.aba-register-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
}

.aba-register-form button,
.aba-register-form .aba-form-link {
    grid-column: 1 / -1;
}

.aba-auth-card--register {
    grid-template-columns: minmax(330px, .72fr) minmax(600px, 1.28fr);
}

.aba-auth-card--register .aba-auth-form-panel {
    padding-top: 38px;
    padding-bottom: 38px;
}

.aba-form-links {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding-top: 2px;
}

.aba-form-link,
.aba-form-links a {
    color: #ac2153;
    font-weight: 800;
    text-decoration: none;
}

.aba-form-link:hover,
.aba-form-links a:hover {
    color: #ac2153;
}

@media (max-width: 880px) {
    .aba-auth-page { padding: 30px 16px 50px; }
    .aba-auth-card,
    .aba-auth-card--register { grid-template-columns: 1fr; }
    .aba-auth-intro { min-height: auto; padding: 30px 28px 34px; border-radius: 0; }
    .aba-auth-card .aba-auth-intro h1 { margin-bottom: 24px; font-size: 38px; }
    .aba-auth-email-logo { width: min(250px, 70%); }
    .aba-auth-benefits { grid-template-columns: repeat(3, 1fr); margin-top: 26px; }
    .aba-auth-benefits span { align-items: flex-start; font-size: 12px; }
    .aba-auth-form-panel { padding: 36px 34px; }
}

@media (max-width: 580px) {
    .aba-auth-card { border-radius: 17px; }
    .aba-auth-intro,
    .aba-auth-form-panel { padding: 30px 22px; }
    .aba-auth-benefits { grid-template-columns: 1fr; }
    .aba-register-form { grid-template-columns: 1fr; }
    .aba-register-form button,
    .aba-register-form .aba-form-link { grid-column: auto; }
    .aba-form-links { flex-direction: column; align-items: flex-start; }
}

.aba-mentoring-page .aba-mentoring-grid {
    margin: 0;
}

.aba-my-mentoring-frame-wrap {
    background: #f5ebdd;
    min-height: 1320px;
}

.aba-my-dashboard-mentoring {
    padding-right: 0;
}

.aba-my-shell-mentoring {
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 0;
}

.aba-my-main-panel-mentoring,
.aba-my-main-panel:has(.aba-my-mentoring-frame-wrap) {
    padding-top: 0;
    gap: 0;
}

.aba-my-main-panel-mentoring .aba-my-mentoring-frame-wrap {
    width: min(100%, 1500px);
    margin: 0 auto;
}

body.aba-mentoring-embed-body .aba-admin-shell,
.aba-mentoring-page.aba-mentoring-embed .aba-admin-shell,
.aba-mentoring-embed .aba-admin-shell {
    width: min(100%, 1500px) !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 10px 24px 46px !important;
}

body.aba-mentoring-embed-body .aba-mentoring-heading,
.aba-mentoring-page.aba-mentoring-embed .aba-mentoring-heading {
    margin-bottom: 26px !important;
}

body.aba-mentoring-embed-body .aba-mentoring-grid,
.aba-mentoring-page.aba-mentoring-embed .aba-mentoring-grid {
    grid-template-columns: repeat(auto-fit, minmax(430px, 430px)) !important;
    justify-content: start;
}

.aba-abalive-list-body,
.aba-abalive-list-body .site-shell,
.aba-abalive-page.aba-abalive-classes-page,
.aba-abalive-page.aba-abalive-classes-page .aba-abalive-shell {
    background: #f5ebdd !important;
    color: var(--aba-ink) !important;
}

.aba-abalive-page.aba-abalive-classes-page {
    min-height: 0 !important;
}

.aba-abalive-classes-page .aba-abalive-list-heading {
    margin: 0 0 26px;
}

.aba-abalive-classes-page .aba-mentoring-next {
    margin: 0 0 28px;
}

.aba-abalive-classes-page .aba-abalive-class-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    justify-content: start;
}

.aba-abalive-classes-page .aba-abalive-class-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    overflow: hidden;
    border: 1px solid var(--aba-border) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--aba-ink) !important;
    box-shadow: 0 16px 34px rgba(172,33,83,.08) !important;
}

.aba-abalive-classes-page .aba-abalive-class-image {
    height: 128px !important;
    min-height: 128px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #f5ebdd !important;
    background: url("../../uploads/abacollege/bannerevents.png") center/cover no-repeat !important;
}

.aba-abalive-classes-page .aba-abalive-class-image img,
.aba-abalive-classes-page .aba-abalive-class-placeholder {
    display: none !important;
}

.aba-abalive-classes-page .aba-abalive-class-image span {
    display: none !important;
}

.aba-abalive-classes-page .aba-abalive-class-body {
    padding: 16px 18px 4px !important;
    gap: 10px !important;
    background: #ffffff !important;
}

.aba-abalive-classes-page .aba-abalive-class-meta {
    display: none !important;
}

/* Mobile mock exam: wide exercise canvas, fixed timer and slide-out question menu. */
.aba-mock-embed.aba-board-focus-mode .aba-board-shell {
    width: 100%;
    min-height: 100%;
    padding: 0;
}

.aba-mock-embed.aba-board-focus-mode .aba-board-exam {
    display: block;
    width: 100%;
    min-height: 100vh;
}

.aba-mock-embed.aba-board-focus-mode .aba-board-mobile-tools {
    position: sticky;
    top: 0;
    z-index: 120;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border-bottom: 1px solid #f5ebdd;
    background: rgba(255,255,255,.98);
    box-shadow: 0 5px 16px rgba(172,33,83,.10);
}

.aba-mock-embed.aba-board-focus-mode .aba-board-mobile-tools {
    position: sticky;
}

.aba-mock-embed.aba-board-focus-mode .aba-board-timer-fixed {
    position: absolute;
    left: 50%;
    top: 8px;
    transform: translateX(-50%);
}

.aba-mock-embed.aba-board-focus-mode .aba-board-question h2,
.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-question h2,
.aba-mock-embed.aba-board-focus-mode .aba-board-choice span,
.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-choice span {
    text-align: justify;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
}

.aba-board-question-menu-toggle {
    min-width: 0;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 9px 14px;
    border: 0;
    border-radius: 10px;
    background: var(--aba-blue);
    color: #ffffff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.aba-board-question-menu-toggle i {
    font-size: 18px;
}

.aba-mock-embed .aba-board-timer-fixed {
    min-width: 112px;
    min-height: 48px;
    display: grid;
    grid-template-columns: auto auto;
    align-content: center;
    align-items: baseline;
    justify-content: center;
    gap: 0 8px;
    margin: 0;
    padding: 7px 12px;
    border: 1px solid #f5ebdd;
    background: #f5ebdd;
    box-shadow: none;
}

.aba-mock-embed .aba-board-timer-fixed span {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.aba-mock-embed .aba-board-timer-fixed strong {
    font-size: 25px;
}

.aba-mock-embed .aba-board-timer-fixed small {
    display: none;
}

.aba-mock-embed.aba-board-focus-mode .aba-board-question-card {
    width: 100%;
    max-width: none;
    min-height: calc(100vh - 65px);
    padding: 24px clamp(16px, 4vw, 42px) 32px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.aba-mock-embed.aba-board-focus-mode .aba-board-question {
    width: 100%;
    min-height: 0;
}

.aba-mock-embed.aba-board-focus-mode .aba-board-question-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.aba-mock-embed.aba-board-focus-mode .aba-board-question-top h2 {
    grid-row: 2;
    width: 100%;
}

.aba-mock-embed.aba-board-focus-mode .aba-board-question-top .aba-board-flag {
    grid-row: 1;
    justify-self: end;
}

.aba-mock-embed.aba-board-focus-mode .aba-board-side {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 150;
    width: min(88vw, 370px);
    max-height: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
    overflow: auto;
    border: 0;
    border-radius: 0 14px 14px 0;
    box-shadow: 18px 0 48px rgba(172,33,83,.24);
    transform: translateX(-105%);
    visibility: hidden;
    transition: transform .22s ease, visibility 0s linear .22s;
}

.aba-mock-embed.aba-board-focus-mode .aba-board-side.is-open {
    transform: translateX(0);
    visibility: visible;
    transition: transform .22s ease;
}

.aba-board-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f5ebdd;
    color: var(--aba-blue);
    font-size: 20px;
}

.aba-board-drawer-head button {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 0;
    border-radius: 999px;
    background: #f5ebdd;
    color: var(--aba-blue);
    font-size: 20px;
    cursor: pointer;
}

.aba-mock-embed.aba-board-focus-mode .aba-board-nav-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    max-height: none;
    overflow: visible;
}

.aba-board-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 140;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(172,33,83,.46);
    opacity: 0;
    cursor: pointer;
}

.aba-board-drawer-backdrop.is-open {
    opacity: 1;
}

body.aba-board-menu-open {
    overflow: hidden;
}

@media (max-width: 640px) {
    .aba-mock-embed.aba-board-focus-mode .aba-board-question-card {
        padding: 18px 12px 26px;
    }

    .aba-mock-embed .aba-board-question h2 {
        font-size: 20px;
        line-height: 1.32;
    }

    .aba-mock-embed .aba-board-choice {
        min-height: 58px;
        padding: 13px 14px;
        font-size: 17px;
    }

    .aba-mock-embed .aba-board-question-actions {
        gap: 8px;
    }

    .aba-mock-embed .aba-board-question-actions .aba-btn {
        min-width: 0;
        flex: 1 1 0;
        padding-inline: 10px;
    }

    .aba-board-question-menu-toggle span {
        font-size: 14px;
    }
}

/* Domain question practice uses the same mobile exam layout. */
.aba-domain-practice-focus-body {
    width: 100vw;
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
}

.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-shell {
    width: 100%;
    min-height: 100%;
    padding: 0;
}

.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-exam {
    display: block;
    width: 100%;
    min-height: 100vh;
}

.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-mobile-tools {
    position: sticky;
    top: 0;
    z-index: 120;
    display: flex;
    align-items: stretch;
    width: 100%;
    padding: 8px 10px;
    border-bottom: 1px solid #f5ebdd;
    background: rgba(255,255,255,.98);
    box-shadow: 0 5px 16px rgba(172,33,83,.10);
}

.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-question-card {
    width: 100%;
    max-width: none;
    min-height: calc(100vh - 65px);
    padding: 24px clamp(16px, 4vw, 42px) 32px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-question {
    width: 100%;
    min-height: 0;
}

.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-question-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-question-top h2 {
    grid-row: 2;
    width: 100%;
}

.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-question-top .aba-board-flag {
    grid-row: 1;
    justify-self: end;
}

.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-side {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 150;
    width: min(88vw, 370px);
    max-height: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
    overflow: auto;
    border: 0;
    border-radius: 0 14px 14px 0;
    box-shadow: 18px 0 48px rgba(172,33,83,.24);
    transform: translateX(-105%);
    visibility: hidden;
    transition: transform .22s ease, visibility 0s linear .22s;
}

.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-side.is-open {
    transform: translateX(0);
    visibility: visible;
    transition: transform .22s ease;
}

.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-nav-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    max-height: none;
    overflow: visible;
}

/* Shared slide-out content menu for app-only study tools. */
.aba-app-content-toolbar {
    position: sticky;
    top: 0;
    z-index: 120;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 8px 10px;
    border-bottom: 1px solid #f5ebdd;
    background: rgba(255,255,255,.98);
    box-shadow: 0 5px 16px rgba(172,33,83,.10);
}

.aba-app-content-drawer {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 150;
    width: min(88vw, 370px) !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column;
    gap: 16px;
    margin: 0 !important;
    padding: 16px !important;
    overflow: auto;
    border: 0 !important;
    border-radius: 0 14px 14px 0 !important;
    background: #ffffff;
    box-shadow: 18px 0 48px rgba(172,33,83,.24) !important;
    transform: translateX(-105%);
    visibility: hidden;
    transition: transform .22s ease, visibility 0s linear .22s;
}

.aba-app-content-drawer.is-open {
    transform: translateX(0);
    visibility: visible;
    transition: transform .22s ease;
}

body.aba-app-content-menu-open {
    overflow: hidden;
}

/* Flashcards app layout. */
.aba-flashcards-embed .aba-admin-shell {
    padding: 0 !important;
}

.aba-flashcards-embed .aba-flashcard-study-layout {
    display: block;
}

.aba-flashcards-embed .aba-flashcard-viewer-panel {
    width: 100%;
    min-height: calc(100vh - 65px);
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.aba-flashcards-embed .aba-app-content-drawer .aba-flashcard-domain-grid {
    grid-template-columns: 1fr;
}

/* Glossary app layout: search stays visible, alphabet moves into the drawer. */
.aba-glossary-embed {
    padding: 0 10px 28px;
}

.aba-glossary-embed .aba-glossary-app-toolbar {
    margin: 0 -10px 10px;
    width: calc(100% + 20px);
}

.aba-glossary-embed .aba-glossary-tools {
    margin-bottom: 12px;
    padding: 12px;
}

.aba-glossary-letter-drawer .aba-glossary-letters {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.aba-glossary-letter-drawer .aba-glossary-letters a {
    width: 100%;
}

/* Calendar app: no nested website chrome and every day is a list row. */
.aba-calendar-embed-body {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background: #f5ebdd;
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
}

.aba-calendar-embed .aba-calendar-shell {
    width: 100%;
    padding: 14px 10px 34px;
}

.aba-calendar-day-heading {
    display: flex;
    align-items: center;
    gap: 10px;
}

.aba-calendar-day-heading > strong {
    display: none;
    color: var(--aba-blue);
    font-size: 17px;
}

.aba-calendar-embed .aba-calendar-heading h1 {
    font-size: 30px;
}

.aba-calendar-embed .aba-calendar-heading,
.aba-calendar-embed .aba-calendar-month-nav {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: stretch;
}

.aba-calendar-embed .aba-calendar-month-nav {
    grid-template-columns: auto 1fr auto;
    align-items: center;
}

.aba-calendar-embed .aba-calendar-grid {
    display: block;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.aba-calendar-embed .aba-calendar-weekday,
.aba-calendar-embed .aba-calendar-day.is-empty {
    display: none;
}

.aba-calendar-embed .aba-calendar-day {
    min-height: 82px;
    margin-bottom: 9px;
    padding: 10px 12px;
    border: 1px solid var(--aba-border);
    border-radius: 10px;
}

.aba-calendar-embed .aba-calendar-day-heading > strong {
    display: block;
}

/* Recorded classes app: search-only toolbar and one full-width card per row. */
.aba-library-embed-body .aba-library-shell {
    width: 100%;
    padding: 10px 10px 38px;
}

.aba-library-embed-body .aba-library-filters {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    margin-bottom: 14px;
    padding: 10px;
}

.aba-library-embed-body .aba-library-search-field span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.aba-library-embed-body .aba-library-filter-menu-button,
.aba-library-embed-body .aba-library-search-submit {
    min-height: 44px;
    align-self: end;
}

.aba-library-filter-drawer label {
    display: grid;
    gap: 7px;
}

.aba-library-embed-body .aba-library-grid {
    grid-template-columns: minmax(0, 1fr);
}

.aba-library-embed-body .aba-library-card {
    width: 100%;
}

.aba-library-player-modal.is-mobile-landscape.is-open {
    padding: 0;
    background: #ac2153;
}

body.aba-library-embed-body .aba-library-player-modal.is-mobile-landscape.is-open {
    position: fixed !important;
    inset: 0 !important;
    padding: 0 !important;
    place-items: stretch !important;
    align-content: stretch !important;
    overflow: hidden !important;
    background: #ac2153 !important;
}

.aba-library-player-modal.is-mobile-landscape:fullscreen,
.aba-library-player-modal.is-mobile-landscape:-webkit-full-screen {
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    padding: 0 !important;
    transform: none !important;
    background: #ac2153 !important;
}

.aba-library-player-modal.is-mobile-landscape .aba-library-player-panel {
    width: 100%;
    height: 100%;
    max-height: none;
    padding: 0;
    overflow: hidden;
    border-radius: 0;
    background: #ac2153;
}

body.aba-library-embed-body .aba-library-player-modal.is-mobile-landscape .aba-library-player-panel {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

body.aba-library-embed-body .aba-library-player-modal.is-mobile-landscape .aba-library-player,
body.aba-library-embed-body .aba-library-player-modal.is-mobile-landscape .aba-library-player .aba-player-media {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
}

.aba-library-player-modal.is-mobile-landscape .aba-library-player-panel h2 {
    display: none;
}

.aba-library-player-modal.is-mobile-landscape .aba-library-modal-close {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 20;
    background: rgba(255,255,255,.92);
}

.aba-library-player-modal.is-mobile-landscape .aba-library-modal-fullscreen {
    display: none !important;
}

.aba-library-player-modal.is-mobile-landscape .aba-library-modal-actions {
    position: absolute !important;
    inset: 10px 10px auto auto !important;
    z-index: 40 !important;
}

/* RBT Desde Cero mobile content polish (v37). */
.aba-profile-embed-body,
.aba-certificates-embed-body,
.aba-badges-embed-body,
.aba-admin-profile-embed-body {
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background: #f5ebdd;
    color: var(--aba-ink);
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
}
.aba-admin-profile-embed-body{height:auto!important;max-height:none!important;overflow-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important}

.aba-profile-embed-body *,
.aba-certificates-embed-body *,
.aba-badges-embed-body *,
.aba-admin-profile-embed-body *,
.aba-calendar-embed *,
.aba-calendar-embed-body * {
    box-sizing: border-box;
}

.aba-mobile-profile-page,
.aba-certificates-page {
    width: min(100%, 760px);
    margin: 0 auto;
    padding: 14px 12px 32px;
}

.aba-mobile-profile-card,
.aba-certificates-empty {
    display: grid;
    justify-items: center;
    gap: 10px;
    width: 100%;
    padding: 24px 18px;
    border: 1px solid var(--aba-border);
    border-top: 5px solid var(--aba-red);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 14px 36px rgba(172,33,83,.09);
    text-align: center;
}

.aba-mobile-profile-card h1,
.aba-certificates-empty h1 {
    margin: 0;
    color: var(--aba-blue);
    font-size: clamp(1.8rem, 8vw, 2.55rem);
    line-height: 1.05;
}

.aba-mobile-profile-card .aba-handle,
.aba-mobile-profile-card .aba-profile-title,
.aba-mobile-profile-card .aba-profile-bio,
.aba-certificates-empty p {
    margin: 0;
}

.aba-mobile-profile-details {
    display: grid;
    gap: 8px;
    width: 100%;
    margin-top: 8px;
    text-align: left;
}

.aba-mobile-profile-details > div {
    display: grid;
    gap: 2px;
    padding: 11px 13px;
    border-radius: 10px;
    background: #f5ebdd;
}

.aba-mobile-profile-details span {
    color: var(--aba-muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.aba-mobile-profile-details strong {
    color: var(--aba-blue);
    overflow-wrap: anywhere;
}

.aba-certificate-symbol {
    display: grid;
    width: 76px;
    height: 76px;
    place-items: center;
    border-radius: 50%;
    background: var(--aba-blue);
    color: #ffffff;
    font-size: 42px;
    box-shadow: 0 0 0 7px rgba(172,33,83,.1);
}

.aba-admin-profile-embed {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 12px 10px 32px;
}

.aba-admin-profile-embed .aba-profile-layout {
    width: 100%;
}

.aba-badges-embed {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 12px 10px 32px;
}

.aba-badges-embed .aba-page-heading {
    margin: 0 0 12px;
    padding: 18px;
    border-radius: 14px;
    background: var(--aba-blue);
}

.aba-badges-embed .aba-page-heading h1,
.aba-badges-embed .aba-page-heading p {
    color: #ffffff;
}

.aba-badges-embed .aba-page-heading h1 {
    margin: 2px 0 5px;
    font-size: 32px;
}

.aba-badges-embed .aba-page-heading p {
    margin: 0;
    opacity: .88;
}

.aba-badges-embed .aba-kicker {
    color: #ffffff;
}

.aba-badges-embed .aba-badges-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.aba-badges-embed .aba-badge-card {
    min-height: 0;
    padding: 15px;
    border-top: 4px solid var(--aba-red);
    box-shadow: 0 8px 24px rgba(172,33,83,.08);
}

.aba-badges-embed .aba-badge-card.earned {
    background: linear-gradient(180deg, #ffffff 0%, #f5ebdd 100%);
}

/* Keep ABA branding over the YouTube mark at all times. */
.aba-library-player .aba-player-custom-brand,
.aba-library-player .aba-player.is-playing:not(.controls-visible) .aba-player-custom-brand,
.aba-library-player .aba-player.is-playing.controls-visible .aba-player-custom-brand,
.aba-library-player .aba-player:fullscreen .aba-player-custom-brand,
.aba-library-player .aba-player:-webkit-full-screen .aba-player-custom-brand {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 12;
}

.aba-library-player-modal .aba-library-modal-close,
.aba-library-player-modal.is-mobile-landscape .aba-library-modal-close {
    display: grid;
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: var(--aba-red);
    color: #ffffff;
    font-size: 0;
    line-height: 1;
    box-shadow: 0 5px 18px rgba(172,33,83,.32);
}

.aba-library-player-modal .aba-library-modal-close::before {
    content: "\00d7";
    font-size: 28px;
    font-weight: 700;
    transform: translateY(-1px);
}

.aba-calendar-embed,
.aba-calendar-embed-body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.aba-calendar-embed .aba-calendar-shell {
    width: 100%;
    max-width: 100%;
    padding: 5px 8px 26px;
    overflow: hidden;
}

.aba-calendar-embed .aba-calendar-heading {
    gap: 6px;
    width: 100%;
    margin: 0 0 8px;
}

.aba-calendar-embed .aba-calendar-heading > div:first-child {
    display: none;
}

.aba-calendar-embed .aba-calendar-month-nav {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto);
    gap: 5px;
}

.aba-calendar-embed .aba-calendar-month-nav .aba-btn {
    min-width: 0;
    padding: 8px 9px;
    font-size: 13px;
}

.aba-calendar-embed .aba-calendar-month-nav strong {
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: center;
}

.aba-calendar-embed .aba-calendar-legend,
.aba-calendar-embed .aba-calendar-grid,
.aba-calendar-embed .aba-calendar-day,
.aba-calendar-embed .aba-calendar-event {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.aba-calendar-embed .aba-calendar-legend {
    margin-bottom: 8px;
    padding: 8px;
    gap: 6px 10px;
    overflow-wrap: anywhere;
}

@media (max-width: 640px) {
    .aba-flashcards-embed .aba-flashcard-viewer-panel {
        min-height: 0;
        gap: 6px;
        padding: 8px 9px 12px;
    }

    .aba-flashcards-embed .aba-flashcard-viewer-head {
        align-items: center;
        flex-direction: row;
        gap: 8px;
        margin: 0;
        line-height: 1.1;
    }

    .aba-flashcards-embed .aba-flashcard-viewer-head small {
        text-align: right;
    }

    .aba-flashcards-embed .aba-flashcard-stage,
    .aba-flashcards-embed .aba-flashcard-deck {
        min-height: 0;
    }

    .aba-flashcards-embed .aba-flashcard-stage .aba-flashcard {
        min-height: 410px;
    }

    .aba-flashcards-embed .aba-flashcard-stage .aba-flashcard-inner {
        min-height: 400px;
    }

    .aba-flashcards-embed .aba-flashcard-stage .aba-flashcard-front p {
        font-size: 1.35rem;
        line-height: 1.42;
    }

    .aba-flashcards-embed .aba-flashcard-mobile-controls {
        gap: 8px;
        margin-top: 0;
    }

    .aba-badges-embed .aba-badges-grid {
        grid-template-columns: 1fr;
    }

    .aba-badges-embed .aba-badge-card {
        grid-template-columns: 70px minmax(0, 1fr);
        align-items: start;
    }

    .aba-badges-embed .aba-badge-card img {
        grid-row: 1 / span 5;
        width: 66px;
        height: 66px;
    }

    .aba-badges-embed .aba-badge-card h2,
    .aba-badges-embed .aba-badge-card p,
    .aba-badges-embed .aba-badge-card small,
    .aba-badges-embed .aba-earned-pill,
    .aba-badges-embed .aba-locked-pill {
        grid-column: 2;
    }

    .aba-admin-profile-embed .aba-profile-layout {
        grid-template-columns: 1fr;
    }
}

.aba-library-player-modal.is-mobile-landscape .aba-library-player,
.aba-library-player-modal.is-mobile-landscape .aba-library-player .aba-player-media {
    width: 100%;
    height: 100%;
    min-height: 100%;
}

@media (max-width: 640px) and (orientation: portrait) {
    body.aba-library-embed-body .aba-library-player-modal.is-mobile-landscape.is-open {
        inset: 50% auto auto 50% !important;
        width: 100vh !important;
        height: 100vw !important;
        transform: translate(-50%, -50%) rotate(90deg) !important;
        transform-origin: center;
    }

    .aba-library-embed-body .aba-library-filters {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .aba-library-embed-body .aba-library-filter-menu-button {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 640px) {
    .aba-domain-practice-embed.aba-domain-practice-focus .aba-board-question-card {
        padding: 18px 12px 26px;
    }

    .aba-domain-practice-embed .aba-board-question h2 {
        font-size: 20px;
        line-height: 1.32;
    }

    .aba-domain-practice-embed .aba-board-choice {
        min-height: 58px;
        padding: 13px 14px;
        font-size: 17px;
    }

    .aba-domain-practice-embed .aba-board-question-actions {
        gap: 8px;
    }

    .aba-domain-practice-embed .aba-board-question-actions .aba-btn {
        min-width: 0;
        flex: 1 1 0;
        padding-inline: 10px;
    }
}

.aba-abalive-classes-page .aba-abalive-class-meta span {
    color: var(--aba-red);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 0;
}

.aba-abalive-classes-page .aba-abalive-class-meta strong {
    padding: 0;
    background: transparent;
    color: var(--aba-muted);
    font-size: .78rem;
    font-weight: 600;
}

.aba-abalive-classes-page .aba-abalive-class-body h2 {
    margin: 0;
    color: var(--aba-blue);
    font-size: 1rem !important;
    font-weight: 700;
    line-height: 1.05;
    text-transform: uppercase;
}

.aba-abalive-classes-page .aba-abalive-class-body p {
    display: none !important;
}

.aba-abalive-classes-page .aba-abalive-class-domains {
    gap: 5px;
}

.aba-abalive-classes-page .aba-abalive-class-domains span {
    max-width: calc(50% - 3px);
    padding: 4px 6px;
    overflow: hidden;
    border-radius: 999px;
    background: #f5ebdd;
    color: var(--aba-blue);
    font-size: .64rem;
    font-weight: 700;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aba-abalive-classes-page .aba-abalive-class-body dl {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    margin: 0;
    color: var(--aba-blue);
    font-size: .84rem;
}

.aba-abalive-classes-page .aba-abalive-class-body dt {
    color: var(--aba-red);
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.aba-abalive-classes-page .aba-abalive-class-body dd {
    color: var(--aba-blue);
    font-weight: 600;
}

.aba-abalive-classes-page .aba-abalive-class-actions {
    justify-content: flex-start;
    gap: 8px;
    padding: 10px 0 14px;
}

.aba-abalive-classes-page .aba-abalive-class-actions .aba-btn,
.aba-abalive-classes-page .aba-abalive-class-actions .inline-delete button {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 7px;
    font-size: .82rem;
    font-weight: 600;
}

.aba-my-abalive-frame-wrap {
    background: #f5ebdd !important;
}

@media (max-width: 1080px) {
    .aba-mentoring-page .aba-mentoring-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aba-abalive-classes-page .aba-abalive-class-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 820px) {
    .aba-mentoring-page .aba-mentoring-grid {
        grid-template-columns: 1fr;
    }

    .aba-abalive-classes-page .aba-abalive-class-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Learning route roadmap */
.aba-study-roadmap-hero {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 28px;
    align-items: stretch;
    margin-top: 28px;
    width: 100%;
}

.aba-study-roadmap-intro {
    background: radial-gradient(circle at 18% 8%, rgba(172,33,83,0.12), transparent 34%), #ffffff;
    border: 1px solid #f5ebdd;
    border-radius: 10px;
    padding: 26px 24px;
    box-shadow: 0 18px 45px rgba(172,33,83,0.08);
}

.aba-study-roadmap-intro h2 {
    color: #ac2153;
    font-size: clamp(32px, 4vw, 54px);
    line-height: 0.95;
    margin: 8px 0 14px;
    max-width: 7ch;
}

.aba-study-roadmap-intro p {
    color: #ac2153;
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 22px;
}

.aba-study-roadmap-board {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    border: 1px solid #f5ebdd;
    border-radius: 10px;
    background: radial-gradient(circle at 12% 14%, rgba(172,33,83,0.08), transparent 18%), radial-gradient(circle at 74% 74%, rgba(172,33,83,0.08), transparent 24%), linear-gradient(135deg, rgba(255,255,255,0.9), rgba(245,235,221,0.95));
    box-shadow: 0 18px 45px rgba(172,33,83,0.08);
}

.aba-study-roadmap-board::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.45;
    background-image: linear-gradient(rgba(172,33,83,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(172,33,83,0.05) 1px, transparent 1px);
    background-size: 24px 24px;
    pointer-events: none;
}

.aba-study-roadmap-track {
    position: absolute;
    inset: 44px 38px 54px;
    width: calc(100% - 76px);
    height: calc(100% - 98px);
    overflow: visible;
}

.aba-study-roadmap-track path {
    fill: none;
    stroke: #ac2153;
    stroke-width: 34;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.aba-study-roadmap-start,
.aba-study-roadmap-finish {
    position: absolute;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    border-radius: 999px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
    box-shadow: 0 16px 30px rgba(172,33,83,0.18);
}

.aba-study-roadmap-start {
    left: 24px;
    top: 34px;
    background: #ac2153;
}

.aba-study-roadmap-finish {
    right: 24px;
    bottom: 34px;
    background: #ac2153;
}

.aba-study-roadmap-board .aba-study-avatar-runner {
    position: absolute;
    z-index: 7;
    left: var(--student-x);
    top: var(--student-y);
    transform: translate(-50%, -150%);
    width: 54px;
    height: 54px;
}

.aba-study-roadmap-board .aba-study-avatar-runner::after {
    width: 70px;
    height: 70px;
    background: rgba(172,33,83,0.18);
}

.aba-study-road-stop {
    position: absolute;
    z-index: 5;
    left: var(--x);
    top: var(--y);
    transform: translate(-50%, -50%);
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 8px 10px;
    align-items: center;
    width: 172px;
    min-height: 104px;
    padding: 12px;
    border: 1px solid #f5ebdd;
    border-top: 8px solid var(--route-accent, #ac2153);
    border-radius: 8px;
    background: rgba(255,255,255,0.96);
    box-shadow: 0 14px 28px rgba(172,33,83,0.13);
}

.aba-study-road-stop span {
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: var(--route-accent, #ac2153);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
}

.aba-study-road-stop strong {
    color: #ac2153;
    font-size: 14px;
    line-height: 1.1;
}

.aba-study-road-stop small {
    color: #ac2153;
    font-size: 11px;
    line-height: 1.2;
}

.aba-study-road-stop button {
    grid-column: 1 / -1;
    border: 1px solid #ac2153;
    border-radius: 7px;
    background: #ac2153;
    color: #ffffff;
    min-height: 34px;
    font-weight: 700;
    cursor: pointer;
}

.aba-study-road-stop button:hover {
    background: #ac2153;
    border-color: #ac2153;
}

.aba-study-road-stop.is-locked {
    opacity: 0.78;
    filter: grayscale(0.55);
}

.aba-study-road-stop.is-repeat {
    background: #f5ebdd;
    border-color: #f5ebdd;
}

.aba-study-road-stop.is-rose { --route-accent: #ac2153; }
.aba-study-road-stop.is-green { --route-accent: #fb76a4; }
.aba-study-road-stop.is-gold { --route-accent: #fb76a4; }
.aba-study-road-stop.is-cyan { --route-accent: #fb76a4; }
.aba-study-road-stop.is-red { --route-accent: #ac2153; }
.aba-study-road-stop.is-blue,
.aba-study-road-stop.is-finish { --route-accent: #ac2153; }

.aba-study-phase-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.aba-study-phase-strip article {
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
    padding: 16px;
    box-shadow: 0 12px 28px rgba(172,33,83,0.07);
}

.aba-study-phase-strip span {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #ac2153;
    color: #ffffff;
    font-weight: 800;
    margin-bottom: 10px;
}

.aba-study-phase-strip strong {
    display: block;
    color: #ac2153;
    font-size: 16px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.aba-study-phase-strip p {
    margin: 0;
    color: #ac2153;
    font-size: 14px;
    line-height: 1.45;
}

.aba-study-route-shell > .aba-study-journey,
.aba-study-route-shell > .aba-study-active-grid,
.aba-study-route-shell > .aba-study-weeks {
    display: none;
}

.aba-study-route-modal[hidden] {
    display: none;
}

.aba-study-route-modal {
    position: fixed;
    z-index: 10020;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 28px;
}

.aba-study-route-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(172,33,83,0.68);
}

.aba-study-route-modal-panel {
    position: relative;
    z-index: 1;
    width: min(1120px, 100%);
    max-height: min(860px, calc(100vh - 56px));
    overflow: auto;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 30px 70px rgba(172,33,83,0.28);
}

.aba-study-route-modal-panel > header {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    padding: 30px;
    border-bottom: 1px solid #f5ebdd;
}

.aba-study-route-modal-panel h2 {
    color: #ac2153;
    font-size: clamp(28px, 4vw, 48px);
    line-height: 1.02;
    margin: 6px 0 12px;
}

.aba-study-route-modal-panel p {
    color: #ac2153;
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
}

.aba-study-modal-actions {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    flex-shrink: 0;
}

.aba-study-route-modal-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    padding: 24px 30px;
}

.aba-study-route-modal-card {
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #f5ebdd;
    padding: 20px;
}

.aba-study-route-modal-card h3 {
    color: #ac2153;
    font-size: 18px;
    margin: 0 0 14px;
    text-transform: uppercase;
}

.aba-study-route-modal-card .aba-card-progress {
    margin-bottom: 14px;
}

.aba-study-route-modal-panel > footer {
    padding: 0 30px 30px;
}

body.aba-modal-open {
    overflow: hidden;
}

@media (max-width: 1120px) {
    .aba-study-roadmap-hero {
        grid-template-columns: 1fr;
    }

    .aba-study-roadmap-intro h2 {
        max-width: none;
    }
}

@media (max-width: 760px) {
    .aba-study-roadmap-board {
        min-height: auto;
        padding: 80px 0 70px;
    }

    .aba-study-roadmap-track {
        display: none;
    }

    .aba-study-road-stop {
        position: static;
        transform: none;
        width: auto;
        margin: 14px;
    }

    .aba-study-roadmap-start,
    .aba-study-roadmap-finish,
    .aba-study-roadmap-board .aba-study-avatar-runner {
        display: none;
    }

    .aba-study-phase-strip,
    .aba-study-route-modal-body {
        grid-template-columns: 1fr;
    }

    .aba-study-route-modal-panel > header {
        flex-direction: column;
    }
}

/* Learning route vertical flow */
.aba-study-roadmap-hero {
    grid-template-columns: 1fr !important;
}

.aba-study-roadmap-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
}

.aba-study-roadmap-intro h2 {
    max-width: none !important;
    font-size: clamp(34px, 4.5vw, 58px);
    margin-bottom: 8px;
}

.aba-study-roadmap-intro p {
    max-width: 760px;
    margin-bottom: 0;
}

.aba-study-roadmap-intro .aba-study-legend {
    align-self: end;
    justify-content: flex-end;
}

.aba-study-roadmap-board {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 92px 42px 96px;
}

.aba-study-roadmap-board::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 92px;
    bottom: 96px;
    left: 50%;
    width: 34px;
    border-radius: 999px;
    background: #ac2153;
    transform: translateX(-50%);
    opacity: 0.85;
}

.aba-study-roadmap-track {
    display: none !important;
}

.aba-study-roadmap-start,
.aba-study-roadmap-finish {
    position: relative !important;
    z-index: 4;
    inset: auto !important;
    flex: 0 0 auto;
}

.aba-study-roadmap-start {
    align-self: flex-start;
    margin-left: 12%;
}

.aba-study-roadmap-finish {
    order: 99;
    align-self: flex-end;
    margin-right: 12%;
}

.aba-study-roadmap-board .aba-study-avatar-runner {
    left: 50% !important;
    top: 54px !important;
    transform: translate(-50%, -50%) !important;
}

.aba-study-road-stop {
    position: relative !important;
    z-index: 5;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: min(520px, calc(50% - 54px));
    min-height: 116px;
}

.aba-study-road-stop:nth-of-type(odd) {
    align-self: flex-start;
}

.aba-study-road-stop:nth-of-type(even) {
    align-self: flex-end;
}

.aba-study-road-stop::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 54px;
    height: 8px;
    border-radius: 999px;
    background: var(--route-accent, #ac2153);
}

.aba-study-road-stop:nth-of-type(odd)::after {
    right: -55px;
}

.aba-study-road-stop:nth-of-type(even)::after {
    left: -55px;
}

.aba-study-phase-strip {
    margin-top: 24px;
}

@media (max-width: 900px) {
    .aba-study-roadmap-intro {
        grid-template-columns: 1fr;
    }

    .aba-study-roadmap-intro .aba-study-legend {
        justify-content: flex-start;
    }

    .aba-study-roadmap-board {
        padding: 78px 18px 82px 52px;
    }

    .aba-study-roadmap-board::after {
        left: 28px;
        width: 18px;
    }

    .aba-study-roadmap-start,
    .aba-study-roadmap-finish {
        display: grid !important;
        align-self: flex-start;
        margin-left: 0;
        margin-right: 0;
    }

    .aba-study-roadmap-board .aba-study-avatar-runner {
        display: block !important;
        left: 28px !important;
    }

    .aba-study-road-stop,
    .aba-study-road-stop:nth-of-type(odd),
    .aba-study-road-stop:nth-of-type(even) {
        align-self: stretch;
        width: auto;
    }

    .aba-study-road-stop::after {
        left: -34px !important;
        right: auto !important;
        width: 34px;
    }
}

/* Learning route compact node map */
.aba-study-roadmap-hero {
    display: block !important;
}

.aba-study-roadmap-intro {
    display: none !important;
}

.aba-study-roadmap-board {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 96px 8% 110px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.aba-study-roadmap-board::before {
    display: none !important;
}

.aba-study-roadmap-board::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 122px;
    bottom: 126px;
    left: 50%;
    width: 8px;
    border-radius: 999px;
    background: repeating-linear-gradient(
        to bottom,
        var(--aba-blue) 0 18px,
        transparent 18px 30px
    ) !important;
    opacity: 1;
    transform: translateX(-50%);
}

.aba-study-roadmap-track {
    display: none !important;
}

.aba-study-roadmap-start,
.aba-study-roadmap-finish {
    position: relative !important;
    z-index: 4;
    inset: auto !important;
    width: 92px !important;
    height: 92px !important;
    border: 8px solid #ffffff;
    color: #ffffff;
    font-size: 14px;
    box-shadow: 0 16px 30px rgba(172,33,83,.18);
}

.aba-study-roadmap-start {
    align-self: center;
    margin: 0 auto 2px !important;
    background: #ac2153 !important;
}

.aba-study-roadmap-finish {
    order: 99;
    margin: 4px auto 0 !important;
    background: var(--aba-red) !important;
}

.aba-study-roadmap-board .aba-study-avatar-runner {
    position: absolute !important;
    z-index: 8;
    left: calc(50% - 78px) !important;
    top: 62px !important;
    width: 58px;
    height: 58px;
    transform: translate(-50%, -50%) !important;
}

.aba-study-roadmap-board .aba-study-avatar-runner::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 42px;
    width: 0;
    height: 0;
    border-left: 22px solid transparent;
    border-right: 22px solid transparent;
    border-top: 48px solid var(--aba-red);
    transform: translateX(-50%);
    filter: drop-shadow(0 12px 16px rgba(172,33,83,.18));
}

.aba-study-roadmap-board .aba-study-avatar-runner::after {
    inset: -7px;
    width: auto;
    height: auto;
    background: rgba(172,33,83,.16);
    border: 2px solid rgba(172,33,83,.25);
}

.aba-study-roadmap-board .aba-study-avatar-runner .aba-profile-avatar {
    position: relative;
    z-index: 2;
}

.aba-study-road-stop,
.aba-study-road-stop:nth-of-type(odd),
.aba-study-road-stop:nth-of-type(even) {
    position: relative !important;
    z-index: 5;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    display: grid !important;
    justify-items: center;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 170px !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
}

.aba-study-road-stop:nth-of-type(odd) {
    align-self: flex-start !important;
    margin-left: calc(50% - 255px) !important;
}

.aba-study-road-stop:nth-of-type(even) {
    align-self: flex-start !important;
    margin-left: calc(50% + 85px) !important;
}

.aba-study-road-stop::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 49px;
    width: 85px;
    height: 8px;
    border-radius: 999px;
    background: repeating-linear-gradient(
        to right,
        var(--aba-blue) 0 18px,
        transparent 18px 30px
    );
}

.aba-study-road-stop:nth-of-type(odd)::before {
    left: 170px;
}

.aba-study-road-stop:nth-of-type(even)::before {
    right: 170px;
}

.aba-study-road-stop::after {
    display: none !important;
}

.aba-study-road-stop span {
    grid-row: auto !important;
    width: 104px !important;
    height: 104px !important;
    border: 8px solid #ffffff;
    border-radius: 999px;
    background: #ac2153 !important;
    color: #ac2153 !important;
    font-size: 24px;
    font-weight: 900;
    box-shadow: 0 16px 26px rgba(172,33,83,.14);
}

.aba-study-road-stop.is-mastered span {
    background: var(--aba-blue) !important;
    color: #ffffff !important;
}

.aba-study-road-stop.is-repeat span {
    background: var(--aba-red) !important;
    color: #ffffff !important;
}

.aba-study-road-stop.is-available span {
    background: #ffffff !important;
    color: var(--aba-red) !important;
    border-color: var(--aba-red);
}

.aba-study-road-stop strong {
    margin-top: -70px;
    color: #ac2153;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.aba-study-road-stop small {
    max-width: 145px;
    min-height: 30px;
    color: #ac2153;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
}

.aba-study-road-stop button {
    width: 112px;
    min-height: 34px;
    border: 1px solid var(--aba-blue);
    border-radius: 8px;
    background: var(--aba-blue);
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(172,33,83,.12);
}

.aba-study-road-stop button:hover {
    background: var(--aba-red);
    border-color: var(--aba-red);
    transform: translateY(-1px);
}

.aba-study-phase-strip {
    margin-top: 8px !important;
}

@media (max-width: 900px) {
    .aba-study-roadmap-board {
        padding: 88px 18px 96px 74px !important;
        gap: 28px !important;
    }

    .aba-study-roadmap-board::after {
        left: 36px;
        top: 116px;
        bottom: 118px;
    }

    .aba-study-roadmap-start,
    .aba-study-roadmap-finish {
        align-self: flex-start !important;
        margin-left: 0 !important;
        width: 82px !important;
        height: 82px !important;
    }

    .aba-study-roadmap-board .aba-study-avatar-runner {
        left: 36px !important;
        top: 60px !important;
    }

    .aba-study-road-stop,
    .aba-study-road-stop:nth-of-type(odd),
    .aba-study-road-stop:nth-of-type(even) {
        align-self: flex-start !important;
        margin-left: 0 !important;
        width: min(210px, 100%) !important;
    }

    .aba-study-road-stop::before,
    .aba-study-road-stop:nth-of-type(odd)::before,
    .aba-study-road-stop:nth-of-type(even)::before {
        left: -42px !important;
        right: auto !important;
        width: 70px !important;
    }
}

/* Final override: Study Route uses a flowing snake roadmap with moving avatar pin. */
.aba-study-roadmap-hero {
    display: block !important;
}

.aba-study-phase-strip,
.aba-study-journey,
.aba-study-active-grid,
.aba-study-weeks {
    display: none !important;
}

.aba-study-roadmap-intro,
.aba-study-roadmap-track,
.aba-study-roadmap-board > .aba-study-avatar-runner,
.aba-study-roadmap-board::before,
.aba-study-roadmap-board::after {
    display: none !important;
}

.aba-study-roadmap-board {
    position: relative;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(92px, 1fr)) !important;
    grid-auto-rows: minmax(118px, auto) !important;
    gap: 34px 34px !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 70px 72px 88px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 16px !important;
    background:
        linear-gradient(rgba(255,255,255,.94), rgba(255,255,255,.94)),
        repeating-linear-gradient(0deg, transparent 0 31px, rgba(172,33,83,.055) 31px 32px),
        repeating-linear-gradient(90deg, transparent 0 31px, rgba(172,33,83,.055) 31px 32px) !important;
    box-shadow: 0 20px 44px rgba(172,33,83,.08) !important;
}

.aba-study-roadmap-start,
.aba-study-roadmap-finish {
    position: relative !important;
    z-index: 8;
    inset: auto !important;
    display: grid !important;
    place-items: center;
    align-self: center !important;
    justify-self: center !important;
    width: 78px !important;
    height: 78px !important;
    margin: 0 !important;
    border: 6px solid #ffffff;
    border-radius: 999px;
    color: #ffffff;
    font-size: 27px;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
    box-shadow: 0 18px 34px rgba(172,33,83,.18);
}

.aba-study-roadmap-start {
    grid-column: 1 !important;
    grid-row: 1 !important;
    background: #ac2153 !important;
}

.aba-study-roadmap-finish {
    grid-column: 1 !important;
    grid-row: 6 !important;
    background: var(--aba-red) !important;
}

.aba-study-roadmap-start::after {
    content: "";
    position: absolute;
    left: calc(50% + 39px);
    top: 50%;
    display: block !important;
    width: calc(100% + 34px);
    height: 6px;
    border-radius: 999px;
    background: repeating-linear-gradient(to right, var(--aba-blue) 0 18px, transparent 18px 30px);
    transform: translateY(-50%);
}

.aba-study-roadmap-finish::before {
    content: "";
    position: absolute;
    left: calc(50% + 39px);
    right: auto;
    top: 50%;
    display: block !important;
    width: calc(100% + 34px);
    height: 6px;
    border-radius: 999px;
    background: repeating-linear-gradient(to right, var(--aba-blue) 0 18px, transparent 18px 30px);
    transform: translateY(-50%);
}

.aba-study-road-stop,
.aba-study-road-stop:nth-of-type(odd),
.aba-study-road-stop:nth-of-type(even) {
    position: relative !important;
    z-index: 6;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    display: grid !important;
    justify-items: center;
    align-self: center !important;
    justify-self: center !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    width: 118px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    cursor: pointer;
}

.aba-study-road-stop::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 39px;
    height: 6px;
    border-radius: 999px;
    background: repeating-linear-gradient(to right, var(--aba-blue) 0 18px, transparent 18px 30px);
}

.aba-study-road-stop.is-row-odd:not(.is-col-6)::before {
    left: calc(50% + 38px) !important;
    right: auto !important;
    width: calc(100% + 42px) !important;
}

.aba-study-road-stop.is-row-even:not(.is-col-2)::before {
    right: calc(50% + 38px) !important;
    left: auto !important;
    width: calc(100% + 42px) !important;
}

.aba-study-road-stop.is-row-odd.is-col-6::before,
.aba-study-road-stop.is-row-even.is-col-2::before {
    display: none !important;
}

.aba-study-road-stop::after {
    content: "";
    position: absolute;
    z-index: -1;
    display: none !important;
    top: calc(50% + 38px);
    left: calc(50% - 3px);
    width: 6px;
    height: 74px;
    border-radius: 999px;
    background: repeating-linear-gradient(to bottom, var(--aba-blue) 0 18px, transparent 18px 30px);
}

.aba-study-road-stop.is-row-odd.is-col-6::after,
.aba-study-road-stop.is-row-even.is-col-2::after {
    display: block !important;
}

.aba-study-road-stop.is-kind-mock::after {
    display: none !important;
}

.aba-study-road-stop span {
    grid-row: auto !important;
    display: grid !important;
    place-items: center;
    width: 78px !important;
    height: 78px !important;
    border: 6px solid #ffffff;
    border-radius: 999px;
    background: #ac2153 !important;
    color: #ac2153 !important;
    font-size: 18px;
    font-weight: 900;
    box-shadow: 0 16px 26px rgba(172,33,83,.14);
}

.aba-study-road-stop.is-kind-module span {
    width: 78px !important;
    height: 78px !important;
    font-size: 18px;
}

.aba-study-road-stop.is-kind-quiz span {
    box-shadow: 0 0 0 4px rgba(172,33,83,.12), 0 16px 26px rgba(172,33,83,.14);
}

.aba-study-road-stop.is-kind-mock span {
    background: #ac2153 !important;
    color: #ffffff !important;
}

.aba-study-road-stop.is-mastered span {
    background: var(--aba-blue) !important;
    color: #ffffff !important;
}

.aba-study-road-stop.is-repeat span {
    background: var(--aba-red) !important;
    color: #ffffff !important;
}

.aba-study-road-stop.is-available span {
    background: #ffffff !important;
    color: var(--aba-red) !important;
    border-color: var(--aba-red);
    box-shadow: 0 0 0 7px rgba(172,33,83,.10), 0 16px 26px rgba(172,33,83,.14);
}

.aba-study-road-stop strong {
    margin-top: -34px !important;
    color: #ac2153;
    font-size: 7px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.aba-study-road-stop small {
    max-width: 112px;
    min-height: 24px;
    color: #ac2153;
    font-size: 8px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
}

.aba-study-road-stop button {
    display: none !important;
    width: 112px;
    min-height: 34px;
    border: 1px solid var(--aba-blue);
    border-radius: 8px;
    background: var(--aba-blue);
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(172,33,83,.12);
}

.aba-study-road-stop button:hover {
    background: var(--aba-red);
    border-color: var(--aba-red);
    transform: translateY(-1px);
}

.aba-study-node-pin {
    position: absolute;
    z-index: 12;
    left: 50%;
    top: -48px;
    width: 44px;
    height: 44px;
    transform: translateX(-50%);
}

.aba-study-node-pin::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 29px;
    width: 0;
    height: 0;
    border-left: 17px solid transparent;
    border-right: 17px solid transparent;
    border-top: 34px solid var(--aba-red);
    transform: translateX(-50%);
    filter: drop-shadow(0 12px 16px rgba(172,33,83,.20));
}

.aba-study-node-pin::after {
    content: "";
    position: absolute;
    inset: -5px;
    border-radius: 999px;
    background: rgba(172,33,83,.16);
    border: 2px solid rgba(172,33,83,.25);
}

.aba-study-node-pin .aba-profile-avatar {
    position: relative;
    z-index: 2;
}

.aba-study-lesson-schema-card {
    grid-column: 1 / -1;
}

.aba-study-lesson-schema {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.aba-study-lesson-schema article {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #ffffff;
}

.aba-study-lesson-schema article span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--aba-red);
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
}

.aba-study-lesson-schema article strong {
    display: block;
    color: var(--aba-blue);
    font-size: 13px;
    line-height: 1.2;
    text-transform: uppercase;
}

.aba-study-lesson-schema article p {
    margin: 4px 0 0;
    color: #ac2153;
    font-size: 13px;
    line-height: 1.4;
}

@media (max-width: 1100px) {
    .aba-study-roadmap-board {
        grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
        padding: 72px 24px 86px !important;
    }

    .aba-study-roadmap-start,
    .aba-study-roadmap-finish,
    .aba-study-road-stop {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .aba-study-roadmap-start::after,
    .aba-study-roadmap-finish::before,
    .aba-study-road-stop::before,
    .aba-study-road-stop::after {
        display: none !important;
    }
}

@media (max-width: 720px) {
    .aba-study-roadmap-board {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    .aba-study-road-stop,
    .aba-study-road-stop:nth-of-type(odd),
    .aba-study-road-stop:nth-of-type(even) {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
    }

    .aba-study-lesson-schema {
        grid-template-columns: 1fr;
    }
}

/* Final EOF 1 on 1 override: public page and personal-area embed must share the same page system. */
body.aba-one-on-one-embed-body,
.aba-simple-page.aba-one-on-one-page,
.aba-my-one-on-one-frame-wrap {
    background: #f5ebdd !important;
}

.aba-simple-page.aba-one-on-one-page {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: clamp(44px, 5vw, 72px) clamp(22px, 8vw, 132px) 70px !important;
    box-sizing: border-box !important;
}

.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
    padding: clamp(40px, 5vw, 68px) clamp(22px, 7vw, 120px) 70px !important;
}

.aba-one-on-one-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto 46px !important;
}

.aba-one-on-one-topbar h1 {
    margin: 0 !important;
    max-width: 760px !important;
    color: var(--aba-blue) !important;
    font-size: clamp(44px, 5.4vw, 72px) !important;
    line-height: .96 !important;
    letter-spacing: 0 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-topbar h1::after {
    content: "" !important;
    display: block !important;
    width: 72px !important;
    height: 4px !important;
    margin-top: 18px !important;
    border-radius: 999px !important;
    background: var(--aba-red) !important;
}

.aba-one-on-one-topbar p {
    display: none !important;
}

.aba-one-on-one-topbar .aba-btn {
    min-width: 132px !important;
    min-height: 48px !important;
    border-radius: 8px !important;
}

.aba-one-on-one-calendar-panel {
    width: 100% !important;
    max-width: 920px !important;
    margin: 0 auto !important;
    padding: 28px 30px 30px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 24px 60px rgba(172,33,83,.10) !important;
}

.aba-one-on-one-calendar-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 22px !important;
    padding: 14px 18px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
}

.aba-one-on-one-calendar-head h2 {
    margin: 0 !important;
    color: var(--aba-blue) !important;
    font-size: 28px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-timezone {
    margin: 0 !important;
    color: #ac2153 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-align: right !important;
}

.aba-one-on-one-weekdays,
.aba-one-on-one-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.aba-one-on-one-weekdays span {
    color: var(--aba-blue) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

.aba-one-on-one-day {
    width: 100% !important;
    min-height: 96px !important;
    padding: 12px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--aba-blue) !important;
    text-align: left !important;
    box-shadow: none !important;
    transition: border-color .18s ease, background .18s ease, color .18s ease !important;
}

.aba-one-on-one-day:hover {
    border-color: var(--aba-blue) !important;
}

.aba-one-on-one-day strong {
    display: block !important;
    margin-bottom: 28px !important;
    color: inherit !important;
    font-size: 21px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-day span {
    display: block !important;
    color: inherit !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

.aba-one-on-one-day.is-unavailable {
    border-color: #f5ebdd !important;
    background: #f5ebdd !important;
    color: var(--aba-red) !important;
}

.aba-one-on-one-day.is-available {
    border-color: #f5ebdd !important;
    background: #ffffff !important;
    color: var(--aba-blue) !important;
    cursor: pointer !important;
}

.aba-one-on-one-day.is-available:hover,
.aba-one-on-one-day.is-selected,
.aba-one-on-one-day.is-booked {
    border-color: var(--aba-blue) !important;
    background: var(--aba-blue) !important;
    color: #ffffff !important;
}

.aba-one-on-one-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin-top: 18px !important;
    color: #ac2153 !important;
    font-size: 13px !important;
}

.aba-one-on-one-legend span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.aba-one-on-one-legend i {
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: #f5ebdd !important;
}

.aba-one-on-one-legend .is-booked i {
    background: var(--aba-blue) !important;
}

.aba-one-on-one-legend .is-unavailable i {
    background: var(--aba-red) !important;
}

.aba-one-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    background: rgba(172,33,83,.54) !important;
}

.aba-one-modal.is-open {
    display: flex !important;
}

.aba-one-modal-card {
    width: min(900px, 100%) !important;
    max-height: calc(100vh - 48px) !important;
    overflow: auto !important;
    padding: 28px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 30px 80px rgba(172,33,83,.25) !important;
}

.aba-one-modal-head {
    display: flex !important;
    justify-content: space-between !important;
    gap: 18px !important;
    align-items: flex-start !important;
    margin-bottom: 20px !important;
}

.aba-one-modal-head h2 {
    margin: 0 !important;
    color: var(--aba-blue) !important;
    font-size: 32px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
}

.aba-one-modal-head h2::after {
    content: "" !important;
    display: block !important;
    width: 64px !important;
    height: 4px !important;
    margin-top: 12px !important;
    border-radius: 999px !important;
    background: var(--aba-red) !important;
}

.aba-one-modal-close {
    display: inline-grid !important;
    place-items: center !important;
    min-width: 42px !important;
    height: 42px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--aba-blue) !important;
    font-size: 20px !important;
    cursor: pointer !important;
}

.aba-one-slot-grid,
.aba-one-duration-grid,
.aba-one-domain-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 12px 0 18px !important;
}

.aba-one-slot-option,
.aba-one-duration-option,
.aba-one-domain-option {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
    color: var(--aba-blue) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.aba-one-fieldset {
    padding: 16px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.aba-one-fieldset legend {
    padding: 0 8px !important;
    color: var(--aba-blue) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.aba-one-form-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
    margin-top: 18px !important;
}

.aba-one-form-actions .aba-btn {
    min-height: 48px !important;
    border-radius: 8px !important;
}

.aba-my-one-on-one-frame-wrap {
    width: 100% !important;
    min-height: 760px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.aba-my-one-on-one-frame {
    display: block !important;
    width: 100% !important;
    min-height: 900px !important;
    border: 0 !important;
    background: #f5ebdd !important;
}

@media (max-width: 820px) {
    .aba-simple-page.aba-one-on-one-page,
    .aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
        padding: 34px 16px 54px !important;
    }

    .aba-one-on-one-topbar {
        grid-template-columns: 1fr !important;
    }

    .aba-one-on-one-calendar-panel {
        padding: 18px !important;
    }

    .aba-one-on-one-weekdays,
    .aba-one-on-one-grid {
        gap: 6px !important;
    }

    .aba-one-on-one-day {
        min-height: 74px !important;
        padding: 9px !important;
    }

    .aba-one-on-one-day strong {
        margin-bottom: 16px !important;
        font-size: 17px !important;
    }

    .aba-one-slot-grid,
    .aba-one-duration-grid,
    .aba-one-domain-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Mastering ABA uses the study-route panel language while keeping the classroom content. */
.aba-mastering-aba-page.aba-lesson-page {
    --aba-lesson-text-offset: 0px;
    display: grid !important;
    grid-template-columns: 332px minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
    width: min(var(--aba-shell-width), calc(100% - var(--aba-shell-gutter))) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 42px !important;
}

.aba-mastering-aba-page .aba-lesson-sidebar {
    position: sticky !important;
    top: 104px !important;
    max-height: calc(100vh - 128px) !important;
    overflow: auto !important;
    box-sizing: border-box !important;
    padding: 16px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 45px rgba(172,33,83,0.08) !important;
}

/* In Personal Area on desktop, align the embedded outline with the lesson card,
   leaving the domain heading above the content column as in the original view. */
@media (min-width: 761px) {
    .aba-classroom-embed.aba-mastering-aba-page .aba-lesson-sidebar {
        margin-top: 72px !important;
    }
}

.aba-mastering-aba-page .aba-lesson-sidebar h2 {
    margin: 0 0 10px !important;
    color: var(--aba-blue) !important;
    font-size: 22px !important;
    line-height: 1.08 !important;
    text-transform: uppercase !important;
}

.aba-mastering-aba-page .aba-module-progress {
    height: 12px !important;
    margin-bottom: 14px !important;
    border-radius: 999px !important;
}

.aba-mastering-aba-page .aba-outline-search {
    margin-bottom: 14px !important;
    border-radius: 8px !important;
}

.aba-mastering-aba-page .aba-course-outline {
    display: grid !important;
    gap: 8px !important;
}

.aba-mastering-aba-page .aba-outline-group {
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.aba-mastering-aba-page .aba-outline-group.active {
    border-color: #fb76a4 !important;
    background: #f5ebdd !important;
}

.aba-mastering-aba-page .aba-outline-group summary {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
    min-height: 62px !important;
    padding: 10px 12px !important;
    background: transparent !important;
}

.aba-mastering-aba-page .aba-outline-group summary > i {
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    background: #ac2153 !important;
    box-shadow: none !important;
}

.aba-mastering-aba-page .aba-outline-group.active summary > i,
.aba-mastering-aba-page .aba-outline-group summary:hover > i {
    background: var(--aba-blue) !important;
}

.aba-mastering-aba-page .aba-outline-group summary span {
    color: var(--aba-blue) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

.aba-mastering-aba-page .aba-outline-group summary em {
    align-self: center !important;
    color: #ac2153 !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 800 !important;
}

.aba-mastering-aba-page .aba-outline-group:not(.active) > .aba-lesson-list,
.aba-mastering-aba-page .aba-outline-group:not(.active)[open] > .aba-lesson-list {
    display: none !important;
}

.aba-mastering-aba-page .aba-outline-group.active:not([open]) > .aba-lesson-list {
    display: none !important;
}

.aba-mastering-aba-page .aba-outline-group.active[open] > .aba-lesson-list {
    display: grid !important;
    gap: 6px !important;
    padding: 0 8px 10px !important;
}

.aba-mastering-aba-page .aba-outline-group .aba-lesson-list::before {
    display: none !important;
}

.aba-mastering-aba-page .aba-lesson-list a {
    min-height: 54px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.aba-mastering-aba-page .aba-lesson-list a:hover,
.aba-mastering-aba-page .aba-lesson-list a.active {
    border-color: #f5ebdd !important;
    background: #f5ebdd !important;
}

.aba-mastering-aba-page .aba-lesson-list a span strong {
    font-size: 12px !important;
    line-height: 1.18 !important;
}

.aba-mastering-aba-page .aba-lesson-list a span small {
    font-size: 9px !important;
}

.aba-mastering-aba-page .aba-lesson-content {
    min-width: 0 !important;
}

.aba-mastering-aba-page .aba-lesson-domain-heading {
    width: min(100%, 980px) !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.aba-mastering-aba-page .aba-lesson-domain-heading h1 {
    color: var(--aba-blue) !important;
    font-size: clamp(26px, 3vw, 42px) !important;
    line-height: 0.98 !important;
    text-transform: uppercase !important;
}

.aba-mastering-aba-page .aba-lesson-card {
    width: min(100%, 980px) !important;
    padding: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.aba-mastering-aba-page .aba-lesson-card > header,
.aba-mastering-aba-page .aba-lesson-card > .aba-rich-content,
.aba-mastering-aba-page .aba-lesson-card > footer,
.aba-mastering-aba-page .aba-lesson-card > .aba-activity-meta,
.aba-mastering-aba-page .aba-lesson-card > .aba-video-frame,
.aba-mastering-aba-page .aba-lesson-card > .aba-completion-form,
.aba-mastering-aba-page .aba-lesson-card > .aba-quiz-start,
.aba-mastering-aba-page .aba-lesson-card > .aba-quiz-form,
.aba-mastering-aba-page .aba-lesson-card > .aba-quiz-results {
    box-sizing: border-box !important;
    width: min(100% - 56px, 880px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.aba-mastering-aba-page .aba-lesson-nav-actions {
    box-sizing: border-box !important;
    width: min(100% - 56px, 880px) !important;
    margin: 24px auto 30px !important;
    padding-top: 18px !important;
}

.aba-mastering-aba-page .aba-lesson-card > header {
    padding-top: 30px !important;
}

.aba-mastering-aba-page .aba-lesson-card > header h1 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: var(--aba-blue) !important;
    font-size: clamp(20px, 2.1vw, 30px) !important;
    line-height: 1.08 !important;
}

.aba-mastering-aba-page .aba-lesson-card > .aba-rich-content {
    padding-bottom: 24px !important;
}

.aba-mastering-aba-page .aba-lesson-card > footer {
    padding-bottom: 28px !important;
}

.aba-domain-drawer-trigger,
.aba-domain-drawer-close,
.aba-domain-drawer-backdrop {
    display: none;
}

.aba-mastering-aba-page.aba-lesson-page {
    padding-bottom: 48px !important;
}

.aba-my-dashboard {
    padding-bottom: 48px;
}

@media (max-width: 980px) {
    .aba-mastering-aba-page.aba-lesson-page {
        grid-template-columns: 1fr !important;
        padding-top: 28px !important;
    }

    .aba-mastering-aba-page .aba-lesson-sidebar {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
    }
}

@media (max-width: 760px) {
    body.aba-domain-drawer-open {
        overflow: hidden !important;
    }

    .aba-mastering-aba-page.aba-lesson-page {
        display: block !important;
        width: 100% !important;
        padding: 14px 12px 44px !important;
    }

    .aba-mastering-aba-page .aba-lesson-sidebar {
        position: fixed !important;
        z-index: 72 !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: min(86vw, 350px) !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 16px !important;
        border-width: 0 1px 0 0 !important;
        border-radius: 0 12px 12px 0 !important;
        box-shadow: 22px 0 55px rgba(172,33,83,.28) !important;
        transform: translateX(calc(-100% - 24px));
        transition: transform .24s ease !important;
        visibility: hidden;
        overscroll-behavior: contain;
    }

    .aba-mastering-aba-page.is-domain-drawer-open .aba-lesson-sidebar {
        transform: translateX(0);
        visibility: visible;
    }

    .aba-domain-drawer-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 40px;
        align-items: start;
        gap: 10px;
    }

    .aba-domain-drawer-close {
        width: 40px;
        height: 40px;
        display: grid;
        place-items: center;
        padding: 0;
        border: 0;
        border-radius: 50%;
        color: #ffffff;
        background: var(--aba-blue);
        cursor: pointer;
    }

    .aba-domain-drawer-backdrop:not([hidden]) {
        position: fixed;
        z-index: 71;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(172,33,83,.48);
    }

    .aba-domain-drawer-trigger {
        width: 100%;
        min-height: 48px;
        margin: 0 0 16px;
        padding: 10px 13px;
        display: grid;
        grid-template-columns: 22px minmax(0, 1fr) 16px;
        align-items: center;
        gap: 10px;
        border: 1px solid #f5ebdd;
        border-radius: 10px;
        color: var(--aba-blue);
        background: #ffffff;
        box-shadow: 0 10px 24px rgba(172,33,83,.08);
        text-align: left;
        font-weight: 900;
        line-height: 1.15;
        cursor: pointer;
    }

    .aba-domain-drawer-trigger span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        text-transform: uppercase;
    }

    .aba-mastering-aba-page .aba-lesson-domain-heading {
        width: 100% !important;
    }
}

@media (max-width: 640px) {
    .aba-mastering-aba-page .aba-lesson-card > header,
    .aba-mastering-aba-page .aba-lesson-card > .aba-rich-content,
    .aba-mastering-aba-page .aba-lesson-card > footer,
    .aba-mastering-aba-page .aba-lesson-card > .aba-activity-meta,
    .aba-mastering-aba-page .aba-lesson-card > .aba-video-frame,
    .aba-mastering-aba-page .aba-lesson-card > .aba-completion-form,
    .aba-mastering-aba-page .aba-lesson-card > .aba-quiz-start,
    .aba-mastering-aba-page .aba-lesson-card > .aba-quiz-form,
    .aba-mastering-aba-page .aba-lesson-card > .aba-quiz-results {
        width: min(100% - 32px, 880px) !important;
    }

    .aba-mastering-aba-page .aba-lesson-nav-actions {
        width: min(100% - 32px, 880px) !important;
        margin-bottom: 22px !important;
    }
}

/* Study Route: match the Mastering ABA classroom rhythm and typography. */
.aba-study-route-page {
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif !important;
}

.aba-study-route-page .aba-study-route-shell {
    width: min(var(--aba-shell-width), calc(100% - var(--aba-shell-gutter))) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 28px !important;
}

.aba-study-route-page .aba-study-route-heading {
    align-items: flex-start !important;
}

.aba-study-route-page .aba-study-route-heading h1 {
    color: var(--aba-blue) !important;
    font-size: clamp(42px, 5.5vw, 72px) !important;
    line-height: .96 !important;
    letter-spacing: 0 !important;
}

.aba-study-route-page .aba-study-route-heading p {
    max-width: 760px !important;
    margin-top: 18px !important;
    color: var(--aba-muted) !important;
    font-size: 20px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

.aba-study-route-page .aba-study-week-course {
    display: grid !important;
    grid-template-columns: 332px minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 22px 0 0 !important;
}

.aba-study-route-page .aba-study-week-sidebar {
    position: sticky !important;
    top: 104px !important;
    max-height: calc(100vh - 128px) !important;
    overflow: auto !important;
    box-sizing: border-box !important;
    padding: 16px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 45px rgba(172,33,83,0.08) !important;
}

.aba-study-route-page .aba-study-avatar-card {
    min-height: 62px !important;
    padding: 10px 12px !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.aba-study-route-page .aba-study-avatar-card strong {
    color: var(--aba-blue) !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}

.aba-study-route-page .aba-study-avatar-card span {
    color: #ac2153 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.aba-study-route-page .aba-study-week-list {
    display: grid !important;
    gap: 8px !important;
}

.aba-study-route-page .aba-study-week-group {
    padding: 0 !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.aba-study-route-page .aba-study-week-group.active {
    border-color: #fb76a4 !important;
    background: #f5ebdd !important;
}

.aba-study-route-page .aba-study-week-group h3 {
    min-height: 62px !important;
    margin: 0 !important;
    padding: 16px 14px 10px !important;
    color: var(--aba-blue) !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
}

.aba-study-route-page .aba-study-week-group:not(.active) .aba-study-week-days {
    display: none !important;
}

.aba-study-route-page .aba-study-week-days {
    display: grid !important;
    gap: 6px !important;
    padding: 0 8px 10px !important;
}

.aba-study-route-page .aba-study-day-nav {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 2px 10px !important;
    min-height: 54px !important;
    height: 54px !important;
    padding: 8px 10px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

.aba-study-route-page .aba-study-day-nav:hover,
.aba-study-route-page .aba-study-day-nav.active {
    border-color: #f5ebdd !important;
    background: #f5ebdd !important;
    transform: none !important;
}

.aba-study-route-page .aba-study-day-nav span {
    width: 34px !important;
    height: 34px !important;
    font-size: 12px !important;
}

.aba-study-route-page .aba-study-day-nav strong {
    color: var(--aba-blue) !important;
    font-size: 12px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.aba-study-route-page .aba-study-day-nav small {
    min-height: 0 !important;
    color: #ac2153 !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    -webkit-line-clamp: 1 !important;
}

.aba-study-route-page .aba-study-day-stage {
    min-width: 0 !important;
    width: 100% !important;
}

.aba-study-route-page .aba-study-day-panel {
    width: min(100%, 980px) !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 1px solid #f5ebdd !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 16px 36px rgba(172,33,83,.08) !important;
}

.aba-study-route-page .aba-study-day-panel > header,
.aba-study-route-page .aba-study-day-panel > .aba-study-day-panel-lessons {
    box-sizing: border-box !important;
    width: min(100% - 56px, 880px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.aba-study-route-page .aba-study-day-panel > header {
    padding-top: 30px !important;
    margin-bottom: 18px !important;
}

.aba-study-route-page .aba-study-day-panel h2 {
    width: 100% !important;
    max-width: none !important;
    margin: 4px 0 18px !important;
    padding: 0 !important;
    color: var(--aba-blue) !important;
    font-size: clamp(20px, 2.1vw, 30px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

.aba-study-route-page .aba-study-day-panel .aba-kicker {
    color: var(--aba-red) !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.aba-study-route-page .aba-study-day-panel-lessons {
    display: grid !important;
    gap: 10px !important;
    min-height: 0 !important;
    padding-bottom: 30px !important;
}

.aba-study-route-page .aba-study-lesson-row {
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    min-height: 70px !important;
    height: 70px !important;
    padding: 12px 14px !important;
    border-radius: 8px !important;
    background: #f5ebdd !important;
    box-sizing: border-box !important;
    transform: none !important;
}

.aba-study-route-page .aba-study-lesson-row:hover {
    transform: none !important;
}

.aba-study-route-page .aba-study-lesson-copy strong {
    color: var(--aba-blue) !important;
    font-size: 14px !important;
    line-height: 1.16 !important;
    font-weight: 900 !important;
}

.aba-study-route-page .aba-study-lesson-copy small {
    color: #ac2153 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 1 !important;
}

.aba-study-route-page .aba-study-lesson-state {
    min-width: 82px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

@media (max-width: 980px) {
    .aba-study-route-page .aba-study-week-course {
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    .aba-study-route-page .aba-study-week-sidebar {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
    }
}

@media (max-width: 640px) {
    .aba-study-route-page .aba-study-route-heading {
        display: grid !important;
    }

    .aba-study-route-page .aba-study-time-form {
        min-width: 0 !important;
        justify-content: flex-start !important;
    }

    .aba-study-route-page .aba-study-day-panel > header,
    .aba-study-route-page .aba-study-day-panel > .aba-study-day-panel-lessons {
        width: min(100% - 32px, 880px) !important;
    }

    .aba-study-route-page .aba-study-lesson-row {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        height: auto !important;
        min-height: 76px !important;
    }

    .aba-study-route-page .aba-study-lesson-state {
        grid-column: 2 !important;
        justify-self: start !important;
    }
}

.aba-study-route-page .aba-study-lesson-experience {
    display: grid;
    gap: 18px;
}

.aba-study-route-page .aba-study-slide-deck,
.aba-study-route-page .aba-study-quiz-form {
    background: #ffffff;
    border: 1px solid #f5ebdd;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 16px 35px rgba(172,33,83,.08);
}

.aba-study-route-page .aba-study-slide-deck > header,
.aba-study-route-page .aba-study-quiz-form > header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}

.aba-study-route-page .aba-study-slide h3 {
    color: var(--aba-blue);
    font-size: 30px;
    line-height: 1.1;
    margin: 0 0 12px;
    text-transform: uppercase;
}

.aba-study-route-page .aba-study-slide p {
    color: #ac2153;
    font-size: 20px;
    line-height: 1.65;
    margin: 0;
}

.aba-study-route-page .aba-study-experience-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.aba-study-route-page .aba-study-question h3 {
    font-size: 20px;
    line-height: 1.45;
    color: #ac2153;
    margin: 0 0 18px;
}

.aba-study-route-page .aba-study-answer-list {
    display: grid;
    gap: 12px;
}

.aba-study-route-page .aba-study-answer {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px 16px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #f5ebdd;
    cursor: pointer;
    font-size: 17px;
    line-height: 1.45;
    color: #ac2153;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.aba-study-route-page .aba-study-answer:hover {
    border-color: var(--aba-blue);
    box-shadow: 0 8px 18px rgba(172,33,83,.08);
}

.aba-study-route-page .aba-study-answer input {
    flex: 0 0 auto;
    margin-top: 4px;
}

.aba-study-route-page .aba-study-answer.is-correct {
    border-color: #f5ebdd;
    background: #f5ebdd;
}

.aba-study-route-page .aba-study-answer.is-incorrect {
    border-color: #fb76a4;
    background: #f5ebdd;
}

.aba-study-route-page .aba-study-answer input:disabled + span {
    color: inherit;
}

.aba-study-route-page .aba-study-feedback {
    margin-top: 14px;
    border-left: 4px solid var(--aba-red);
    background: #f5ebdd;
    padding: 14px 16px;
    border-radius: 8px;
    color: #ac2153;
}

.aba-study-route-page .aba-study-feedback strong {
    display: block;
    color: var(--aba-blue);
    margin-bottom: 5px;
}

.aba-study-route-page .aba-study-feedback p {
    margin: 0;
    line-height: 1.55;
    font-size: 15px;
}

.aba-study-route-page .aba-study-quiz-result {
    margin-top: 16px;
    border: 1px solid #f5ebdd;
    border-radius: 10px;
    background: #f5ebdd;
    padding: 18px;
}

.aba-study-route-page .aba-study-quiz-result strong {
    color: var(--aba-blue);
    font-size: 22px;
}

.aba-study-route-page .aba-study-quiz-result p {
    margin: 6px 0 0;
    font-size: 16px;
}

.aba-study-route-modal-body.has-study-experience {
    display: block;
}

.aba-study-route-modal .aba-study-lesson-experience {
    display: grid;
    gap: 18px;
    max-width: 980px;
    margin: 0 auto;
}

.aba-study-route-modal .aba-study-slide-deck,
.aba-study-route-modal .aba-study-quiz-form {
    background: #ffffff;
    border: 1px solid #f5ebdd;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 16px 35px rgba(172,33,83,.08);
}

.aba-study-route-modal .aba-study-slide-deck > header,
.aba-study-route-modal .aba-study-quiz-form > header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}

.aba-study-route-modal .aba-study-slide h3 {
    color: var(--aba-blue);
    font-size: 30px;
    line-height: 1.1;
    margin: 0 0 12px;
    text-transform: uppercase;
}

.aba-study-route-modal .aba-study-slide p {
    color: #ac2153;
    font-size: 20px;
    line-height: 1.65;
    margin: 0;
}

.aba-study-route-modal .aba-study-experience-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.aba-study-route-modal .aba-study-question h3 {
    font-size: 20px;
    line-height: 1.45;
    color: #ac2153;
    margin: 0 0 18px;
}

.aba-study-route-modal .aba-study-answer-list {
    display: grid;
    gap: 12px;
}

.aba-study-route-modal .aba-study-answer {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px 16px;
    border: 1px solid #f5ebdd;
    border-radius: 8px;
    background: #f5ebdd;
    cursor: pointer;
    font-size: 17px;
    line-height: 1.45;
    color: #ac2153;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.aba-study-route-modal .aba-study-answer:hover {
    border-color: var(--aba-blue);
    box-shadow: 0 8px 18px rgba(172,33,83,.08);
}

.aba-study-route-modal .aba-study-answer input {
    flex: 0 0 auto;
    margin-top: 4px;
}

.aba-study-route-modal .aba-study-answer.is-correct {
    border-color: #f5ebdd;
    background: #f5ebdd;
}

.aba-study-route-modal .aba-study-answer.is-incorrect {
    border-color: #fb76a4;
    background: #f5ebdd;
}

.aba-study-route-modal .aba-study-answer input:disabled + span {
    color: inherit;
}

.aba-study-route-modal .aba-study-feedback {
    margin-top: 14px;
    border-left: 4px solid var(--aba-red);
    background: #f5ebdd;
    padding: 14px 16px;
    border-radius: 8px;
    color: #ac2153;
}

.aba-study-route-modal .aba-study-feedback strong {
    display: block;
    color: var(--aba-blue);
    margin-bottom: 5px;
}

.aba-study-route-modal .aba-study-feedback p {
    margin: 0;
    line-height: 1.55;
    font-size: 15px;
}

.aba-study-route-modal .aba-study-quiz-result {
    margin-top: 16px;
    border: 1px solid #f5ebdd;
    border-radius: 10px;
    background: #f5ebdd;
    padding: 18px;
}

.aba-study-route-modal .aba-study-quiz-result strong {
    color: var(--aba-blue);
    font-size: 22px;
}

.aba-study-route-modal .aba-study-quiz-result p {
    margin: 6px 0 0;
    font-size: 16px;
}

@media (max-width: 700px) {
    .aba-study-route-page .aba-study-slide-deck,
    .aba-study-route-modal .aba-study-slide-deck,
    .aba-study-route-page .aba-study-quiz-form,
    .aba-study-route-modal .aba-study-quiz-form {
        padding: 18px;
    }

    .aba-study-route-page .aba-study-slide h3,
    .aba-study-route-modal .aba-study-slide h3 {
        font-size: 24px;
    }

    .aba-study-route-page .aba-study-slide p,
    .aba-study-route-modal .aba-study-slide p {
        font-size: 17px;
    }

    .aba-study-route-page .aba-study-question h3,
    .aba-study-route-modal .aba-study-question h3 {
        font-size: 18px;
    }

    .aba-study-route-page .aba-study-answer,
    .aba-study-route-modal .aba-study-answer {
        font-size: 16px;
    }
}

/* v38 final mobile/app overrides. */
.aba-profile-edit-embed-body {
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background: #f5ebdd;
    font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
}
.aba-profile-edit-embed-body *, .aba-profile-edit-embed * { box-sizing: border-box; }
.aba-profile-edit-embed {
    display: block !important;
    width: 100% !important;
    max-width: 820px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 8px 9px 28px !important;
}
.aba-profile-edit-embed > .aba-settings-nav,
.aba-profile-edit-embed .aba-settings-card > [data-settings-tab-panel]:not(#profile) { display: none !important; }
.aba-profile-edit-embed .aba-settings-card {
    width: 100% !important;
    min-width: 0 !important;
    padding: 16px 13px !important;
    border-top: 4px solid var(--aba-red) !important;
    border-radius: 12px !important;
}
.aba-profile-edit-embed .aba-settings-form { width: 100%; min-width: 0; }
.aba-library-embed-body [data-video-fullscreen] { display: none !important; }
.aba-calendar-embed { min-height: 0 !important; margin: 0 !important; padding: 0 !important; }
.aba-calendar-embed .aba-calendar-shell { margin-top: 0 !important; padding-top: 2px !important; }
.aba-calendar-event-status {
    justify-self: start;
    margin-top: 3px;
    padding: 4px 10px;
    border-radius: 999px;
    color: #ffffff;
    background: #ac2153;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}
.aba-calendar-event.is-open .aba-calendar-event-status { background: #ac2153; }
.aba-calendar-event.is-registered .aba-calendar-event-status { background: var(--aba-blue); }
.aba-calendar-event.is-missed .aba-calendar-event-status { background: var(--aba-red); }
.aba-flashcard-number {
    position: absolute;
    top: 14px;
    left: 16px;
    z-index: 3;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--aba-blue);
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}
.aba-flashcard-domain-grid a strong { min-width: 0; overflow-wrap: anywhere; line-height: 1.15; }
.aba-flashcards-embed .aba-app-content-drawer {
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
}
.aba-flashcards-embed .aba-app-content-drawer .aba-flashcard-domain-grid {
    display: grid;
    flex: 0 0 auto;
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
}
.aba-flashcards-embed .aba-app-content-drawer .aba-flashcard-domain-grid a {
    flex: 0 0 auto;
    min-height: 54px;
}
@media (max-width: 640px) {
    .aba-profile-edit-embed .aba-form-grid { grid-template-columns: 1fr !important; }
    .aba-profile-edit-embed .aba-settings-card { padding: 13px 10px !important; }
    .aba-calendar-embed .aba-calendar-shell { padding-right: 7px !important; padding-left: 7px !important; }
}

/* CEO-only ABAClass shortcut and streamlined administration rail. */
.header-action-menu:has(.header-abaclass-button) {
    display: flex;
    align-items: center;
    gap: 8px;
}
.header-abaclass-button { text-decoration: none; }
.header-abaclass-button:hover { border-color: #fb76a4; color: #ffffff; background: #ac2153; }
.aba-profile-feed:has(> .aba-admin-action-rail) {
    width: 100%;
    max-width: none;
    grid-template-columns: 265px minmax(0, 1fr);
    align-items: start;
}
.aba-profile-feed:has(> .aba-admin-action-rail) > :not(.aba-admin-action-rail) { grid-column: 2; }
.aba-admin-action-rail {
    grid-column: 1;
    grid-row: 1 / span 99;
    position: sticky;
    top: 92px;
    max-height: calc(100vh - 118px);
    padding: 14px;
    display: flex !important;
    flex-direction: column;
    gap: 5px;
    overflow-y: auto;
    border: 1px solid #ac2153;
    border-radius: 13px;
    background: #ac2153;
    box-shadow: 0 18px 38px rgba(172,33,83,.18);
    scrollbar-width: thin;
    scrollbar-color: #ac2153 transparent;
}
.aba-admin-action-rail .aba-panel {
    min-height: 0;
    padding: 10px 11px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 5px 8px;
    align-items: center;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
    border-radius: 7px;
    background: transparent;
    box-shadow: none;
}
.aba-admin-action-rail .aba-panel:hover { background: #ac2153; }
.aba-admin-action-rail .aba-panel h2 { margin: 0; color: #ffffff; font-size: 14px; line-height: 1.15; }
.aba-admin-action-rail .aba-panel > p { display: none; }
.aba-admin-action-rail .aba-actions { margin: 0; }
.aba-admin-action-rail .aba-btn.ghost {
    min-height: 28px;
    padding: 0 8px;
    border-color: rgba(255,255,255,.18);
    color: #f5ebdd;
    background: rgba(255,255,255,.05);
    font-size: 10px;
    white-space: nowrap;
}
.aba-admin-action-rail .aba-btn.ghost:hover { border-color: var(--aba-red); color: #ffffff; background: var(--aba-red); }
@media (max-width: 920px) {
    .aba-profile-feed:has(> .aba-admin-action-rail) { grid-template-columns: 1fr; }
    .aba-profile-feed:has(> .aba-admin-action-rail) > :not(.aba-admin-action-rail),.aba-admin-action-rail { grid-column: 1; }
    .aba-admin-action-rail { grid-row: auto; position: static; max-height: 420px; }
}

/* Admin profile: match the Personal Area navigation rail at the left edge. */
@media (min-width: 921px) {
    .aba-profile-page:not(.aba-admin-profile-embed):has(.aba-admin-action-rail) {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 32px 28px 52px 304px;
    }
    .aba-profile-page:not(.aba-admin-profile-embed):has(.aba-admin-action-rail) .aba-profile-layout {
        width: min(1180px,100%);
        margin: 0 auto;
        grid-template-columns: minmax(0,1fr) 320px;
    }
    .aba-profile-page:not(.aba-admin-profile-embed):has(.aba-admin-action-rail) .aba-profile-feed {
        width: 100%;
        max-width: none;
        display: grid;
        grid-template-columns: 1fr;
    }
    .aba-profile-page:not(.aba-admin-profile-embed):has(.aba-admin-action-rail) .aba-profile-feed > :not(.aba-admin-action-rail) {
        grid-column: 1;
    }
    .aba-profile-page:not(.aba-admin-profile-embed) .aba-admin-action-rail {
        position: fixed;
        z-index: 30;
        top: 74px;
        bottom: 0;
        left: 0;
        width: 280px;
        max-height: none;
        padding: 20px 14px 28px;
        border: 0;
        border-radius: 0;
        background: var(--aba-blue);
        box-shadow: 10px 18px 32px rgba(172,33,83,.16);
    }
    .aba-profile-page:not(.aba-admin-profile-embed) .aba-admin-action-rail::before {
        content: "ADMINISTRATION";
        padding: 4px 8px 15px;
        border-bottom: 1px solid rgba(255,255,255,.2);
        color: #ffffff;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: .12em;
    }
    .aba-profile-page:not(.aba-admin-profile-embed) .aba-admin-action-rail .aba-panel {
        min-height: 46px;
        padding: 7px 8px;
        border-bottom: 0;
        border-radius: 9px;
    }
}
.header-login-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 999px;
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.header-login-link:hover {
    background: #ffffff;
    color: #ac2153;
}

/* Shared public/app header: one visual system on every full website page. */
body { padding-top: 0; }
.sticky-header {
    min-height: 96px;
    position: sticky;
    top: 0;
    gap: 14px;
    padding: 0 24px 0 340px;
    border-bottom: 1px solid #f5ebdd;
    color: var(--aba-blue);
    background: #ffffff;
    box-shadow: 0 4px 18px rgba(172,33,83,.07);
}
.sticky-header .logo { width: 325px; }
.sticky-header .logo img {
    width: 315px !important;
    height: 84px !important;
    max-width: 315px !important;
    max-height: 84px !important;
}
.sticky-header .mainnav ul { gap: 3px; }
.sticky-header .mainnav .top-link {
    padding-inline: 10px;
    color: #ac2153;
}
.sticky-header .mainnav .top-link:hover,
.sticky-header .mainnav .top-link:focus,
.sticky-header .mainnav .top-link.nav-active {
    color: var(--aba-blue);
    background: #f5ebdd;
}
.sticky-header .header-tools { gap: 6px; }
.sticky-header .header-icon-button,
.sticky-header .header-avatar-button {
    color: var(--aba-blue);
    border-color: #f5ebdd;
    background: #ffffff;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.sticky-header .header-icon-button:hover,
.sticky-header .header-icon-button:focus-visible,
.sticky-header .header-avatar-button:hover,
.sticky-header .header-avatar-button:focus-visible {
    color: #ffffff;
    border-color: var(--aba-blue);
    background: var(--aba-blue);
    outline: none;
}
.sticky-header .header-icon-button:active,
.sticky-header .header-avatar-button:active {
    color: #ffffff;
    border-color: var(--aba-red);
    background: var(--aba-red);
    transform: translateY(1px);
}
.sticky-header .header-login-link {
    color: var(--aba-blue);
    border-color: #f5ebdd;
}
.sticky-header .header-login-link:hover { color: #ffffff; background: var(--aba-blue); }
.sticky-header .language-switch { border-color: #f5ebdd; background: #f5ebdd; }
.sticky-header .language-switch a { color: #ac2153; }
.sticky-header .language-switch a.active { color: #ffffff; background: var(--aba-blue); }

@media (max-width: 1180px) {
    .sticky-header { padding-left: 270px; }
    .sticky-header .logo { width: 260px; }
    .sticky-header .logo img { width: 250px !important; height: 82px !important; max-width: 250px !important; }
}
@media (max-width: 900px) {
    .aba-utility-bar[data-web-home-utility] { display: none; }
    .sticky-header {
        min-height: 82px;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 12px;
        padding: 10px 16px 10px 190px;
    }
    .sticky-header .logo { width: 190px; }
    .sticky-header .logo img { width: 180px !important; height: 72px !important; max-width: 180px !important; }
    .sticky-header .menu-toggle { display: block; border-color: #f5ebdd; }
    .sticky-header .menu-toggle span { background: var(--aba-blue); }
    .sticky-header .mainnav { background: #ffffff; }
}
@media (max-width: 560px) {
    .sticky-header { padding-left: 142px; }
    .sticky-header .logo { width: 142px; }
    .sticky-header .logo img { width: 135px !important; height: 66px !important; max-width: 135px !important; }
}

/* Reference-led RBT Desde Cero landing page. */
.aba-home-landing {
    --landing-pale-blue: #f5ebdd;
    --landing-ink: #ac2153;
    padding-top: 0;
}

.aba-home-landing .sticky-header {
    min-height: 96px;
    position: sticky;
    top: 0;
    padding-left: 340px;
    background: #ffffff;
    color: var(--aba-blue);
    border-bottom: 1px solid #f5ebdd;
    box-shadow: 0 4px 18px rgba(172,33,83,.07);
}

.aba-home-landing .logo { width: 430px; }
.aba-home-landing .logo { width: 325px; }
.aba-home-landing .logo img,
.aba-home-landing .sticky-header .logo img {
    width: 315px !important;
    height: 84px !important;
    max-width: 315px !important;
}
.aba-home-landing .mainnav .top-link { color: #ac2153; }
.aba-home-landing .mainnav ul { gap: 3px; }
.aba-home-landing .mainnav .top-link { padding-inline: 10px; }
.aba-home-landing .header-tools { gap: 6px; }
.aba-home-landing .mainnav .top-link:hover,
.aba-home-landing .mainnav .top-link:focus,
.aba-home-landing .mainnav .top-link.nav-active {
    color: var(--aba-blue);
    background: #f5ebdd;
}
.aba-home-landing .header-icon-button,
.aba-home-landing .header-avatar-button { color: var(--aba-blue); border-color: #f5ebdd; }
.aba-home-landing .header-login-link { color: var(--aba-blue); border-color: #f5ebdd; }
.aba-home-landing .header-login-link:hover { color: #ffffff; background: var(--aba-blue); }

.aba-home-landing .aba-home { padding-top: 0; }
.aba-home-landing .aba-hero {
    min-height: 650px;
    height: auto;
    grid-template-columns: minmax(0, 1.02fr) minmax(440px, .98fr);
    gap: 30px;
    padding: 70px max(5vw, 48px) 76px max(6vw, 64px);
    background: linear-gradient(108deg, #ffffff 0 54%, var(--landing-pale-blue) 54% 100%);
}
.aba-home-landing .aba-hero-copy { max-width: 720px; }
.aba-home-landing .aba-home-kicker {
    display: block;
    margin-bottom: 22px;
    color: var(--aba-red);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.aba-home-landing .aba-hero h1 { max-width: none; color: var(--aba-red); font-family: inherit; font-size: clamp(64px, 7vw, 112px); font-weight: 900; letter-spacing: 0; line-height: .92; white-space: nowrap; }
.aba-home-landing .aba-hero-copy > p {
    max-width: 670px;
    margin: 26px 0 0;
    color: var(--aba-blue);
    font-size: clamp(34px, 3.6vw, 54px);
    font-weight: 900;
    line-height: 1.04;
}
.aba-home-landing .aba-hero-copy > p span { display: block; white-space: nowrap; }
.aba-home-landing .aba-home-community-title {
    max-width: 650px;
    margin: 26px 0 0;
    color: var(--landing-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(36px, 3.5vw, 56px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.02em;
    text-transform: uppercase;
}
.aba-home-landing .aba-home-community-title em { color: var(--aba-red); font-style: normal; }
.aba-home-copy-divider {
    width: 54px;
    height: 3px;
    display: block;
    margin-top: 18px;
    border-radius: 999px;
    background: var(--aba-red);
}
.aba-home-landing .aba-hero-copy > .aba-home-path-copy {
    max-width: 650px;
    margin-top: 17px;
    color: #ac2153;
    font-size: clamp(16px, 1.25vw, 20px);
    font-weight: 500;
    line-height: 1.5;
}
.aba-home-landing .aba-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 34px; }
.aba-home-landing .aba-actions .aba-btn { min-height: 52px; padding: 0 20px; }
.aba-home-landing .aba-actions .aba-btn.primary { background: var(--aba-red); border-color: var(--aba-red); }
.aba-home-landing .aba-actions .aba-btn.ghost { color: var(--aba-blue); border-color: #f5ebdd; background: #ffffff; }

.aba-utility-bar {
    position: relative;
    z-index: 1001;
    top: 0;
    left: 0;
    right: 0;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
    padding: 0 28px;
    color: #ffffff;
    background: var(--aba-blue);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
}
.aba-utility-bar a { color: #ffffff; font-weight: 900; text-decoration: none; }
.aba-utility-bar a:hover { text-decoration: underline; }
.aba-home-landing .language-switch { border-color: #f5ebdd; background: #f5ebdd; }
.aba-home-landing .language-switch a { color: #ac2153; }
.aba-home-landing .language-switch a.active { color: #ffffff; background: var(--aba-blue); }
.header-create-profile {
    min-height: 42px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #ffffff;
    background: var(--aba-red);
    box-shadow: 0 8px 20px rgba(172,33,83,.18);
    font-weight: 400;
    text-decoration: none;
    white-space: nowrap;
}
.header-create-profile:hover { color: #ffffff; background: #ac2153; }
.aba-texas-watermark {
    position: absolute;
    z-index: 0;
    top: 5%;
    right: 14%;
    bottom: 10%;
    left: 2%;
    display: block;
    background: var(--texas-image) center center / contain no-repeat;
    opacity: .11;
    filter: saturate(.8) contrast(.9) drop-shadow(0 20px 26px rgba(172,33,83,.08));
    pointer-events: none;
}
.aba-home-landing .aba-hero-bull > img:not(.aba-texas-watermark) { position: relative; z-index: 1; }

.aba-home-landing .aba-hero-brand { position: relative; min-height: 500px; display: grid; place-items: center; }
.aba-home-landing .aba-hero-brand-ring {
    position: absolute;
    width: min(36vw, 540px);
    aspect-ratio: 1;
    border: 54px solid rgba(172,33,83,.08);
    border-radius: 50%;
}
.aba-home-landing .aba-hero-brand-card {
    position: relative;
    z-index: 1;
    width: min(31vw, 470px);
    min-height: 360px;
    display: grid;
    place-items: center;
    padding: 40px;
    border-radius: 30px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 28px 58px rgba(172,33,83,.16);
}
.aba-home-landing .aba-hero-brand-card img { width: 100%; height: auto; object-fit: contain; }

.aba-document-lookup {
    min-height: 128px;
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(480px, 1.2fr);
    align-items: center;
    gap: 46px;
    padding: 26px max(6vw, 64px);
    color: #ffffff;
    background: var(--aba-blue);
}
.aba-document-lookup-copy span { color: #ac2153; font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.aba-document-lookup-copy h2 { margin: 7px 0 0; color: #ffffff; font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px, 2vw, 34px); }
.aba-document-lookup-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 6px; border-radius: 10px; background: #ffffff; }
.aba-document-lookup-form input { min-width: 0; min-height: 54px; padding: 0 16px; border: 0; outline: 0; color: #ac2153; font: inherit; font-size: 17px; }
.aba-document-lookup-form button { min-height: 54px; padding: 0 23px; border: 0; border-radius: 7px; color: #ffffff; background: var(--aba-red); font: inherit; font-weight: 800; cursor: pointer; }
.aba-document-lookup-form button:hover { background: #ac2153; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

@media (max-width: 1180px) {
    .aba-home-landing .sticky-header { padding-left: 300px; }
    .aba-home-landing .logo { width: 300px; }
    .aba-home-landing .logo img,
    .aba-home-landing .sticky-header .logo img { width: 250px !important; height: 82px !important; max-width: 250px !important; }
    .aba-home-landing .aba-hero { grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr); padding-inline: 42px; }
}
@media (max-width: 900px) {
    .aba-home-landing .sticky-header { min-height: 82px; top: 0; padding: 10px 16px 10px 190px; background: #ffffff; }
    .aba-home-landing .logo { width: 190px; }
    .aba-home-landing .logo img,
    .aba-home-landing .sticky-header .logo img { width: 180px !important; height: 72px !important; max-width: 180px !important; }
    .aba-home-landing .menu-toggle span { background: var(--aba-blue); }
    .aba-home-landing .mainnav { background: #ffffff; }
    .aba-home-landing .aba-home { padding-top: 0; }
    .aba-home-landing .aba-hero { grid-template-columns: 1fr; padding: 54px 28px; background: linear-gradient(155deg, #ffffff 0 57%, var(--landing-pale-blue) 57%); }
    .aba-home-landing .aba-hero-brand { min-height: 410px; }
    .aba-home-landing .aba-hero-brand-ring { width: min(80vw, 440px); }
    .aba-home-landing .aba-hero-brand-card { width: min(72vw, 390px); min-height: 300px; }
    .aba-document-lookup { grid-template-columns: 1fr; gap: 20px; padding: 30px 28px; }
}
@media (max-width: 560px) {
    .aba-utility-bar { justify-content: space-between; gap: 12px; padding: 0 12px; font-size: 10px; }
    .aba-utility-copy { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .aba-home-landing .sticky-header { padding-left: 142px; }
    .aba-home-landing .logo { width: 142px; }
    .aba-home-landing .logo img,
    .aba-home-landing .sticky-header .logo img { width: 135px !important; height: 66px !important; max-width: 135px !important; }
    .aba-home-landing .aba-hero { padding: 44px 20px; }
    .aba-home-landing .aba-hero h1 { font-size: clamp(45px, 15vw, 62px); white-space: normal; }
    .aba-home-landing .aba-hero-copy > p { font-size: clamp(25px, 8vw, 36px); }
    .aba-home-landing .aba-hero-copy > p span { white-space: normal; }
    .aba-home-landing .aba-home-community-title { font-size: 34px; font-weight: 800; }
    .aba-home-landing .aba-hero-copy > .aba-home-path-copy { font-size: 16px; }
    .header-create-profile { min-height: 38px; padding-inline: 12px; font-size: 12px; }
    .aba-home-landing .aba-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .aba-home-landing .aba-actions .aba-btn { padding-inline: 10px; font-size: 13px; text-align: center; }
    .aba-home-landing .aba-hero-brand { min-height: 330px; }
    .aba-home-landing .aba-hero-brand-card { min-height: 230px; padding: 28px; border-radius: 22px; }
    .aba-home-landing .aba-hero-brand-ring { border-width: 34px; }
    .aba-document-lookup-form { grid-template-columns: 1fr; }
    .aba-document-lookup-form button { width: 100%; }
}

/* Slightly smaller shared header logo. */
@media (min-width: 1181px) {
    .sticky-header,
    .aba-home-landing .sticky-header { padding-left: 315px !important; }
    .sticky-header .logo,
    .aba-home-landing .logo { width: 300px !important; }
    .sticky-header .logo img,
    .aba-home-landing .sticky-header .logo img {
        width: 290px !important;
        height: 78px !important;
        max-width: 290px !important;
        max-height: 78px !important;
    }
}
@media (min-width: 901px) and (max-width: 1180px) {
    .sticky-header,
    .aba-home-landing .sticky-header { padding-left: 255px !important; }
    .sticky-header .logo,
    .aba-home-landing .logo { width: 245px !important; }
    .sticky-header .logo img,
    .aba-home-landing .sticky-header .logo img {
        width: 235px !important;
        max-width: 235px !important;
    }
}
@media (min-width: 561px) and (max-width: 900px) {
    .sticky-header,
    .aba-home-landing .sticky-header { padding-left: 175px !important; }
    .sticky-header .logo,
    .aba-home-landing .logo { width: 175px !important; }
    .sticky-header .logo img,
    .aba-home-landing .sticky-header .logo img {
        width: 165px !important;
        max-width: 165px !important;
    }
}
@media (max-width: 560px) {
    .sticky-header,
    .aba-home-landing .sticky-header { padding-left: 132px !important; }
    .sticky-header .logo,
    .aba-home-landing .logo { width: 132px !important; }
    .sticky-header .logo img,
    .aba-home-landing .sticky-header .logo img {
        width: 125px !important;
        max-width: 125px !important;
    }
}

/* Keep the header logo vertically centered in its header row. */
.sticky-header .logo,
.aba-home-landing .sticky-header .logo {
    top: 0 !important;
    height: 96px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
}
.sticky-header .logo a,
.aba-home-landing .sticky-header .logo a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media (max-width: 900px) {
    .sticky-header .logo,
    .aba-home-landing .sticky-header .logo { height: 82px !important; }
}

/* Live Classes uses the shared page canvas without a gray background panel. */
.aba-my-mentoring-frame-wrap,
body.aba-mentoring-embed-body,
body.aba-mentoring-embed-body .aba-mentoring-page,
body.aba-mentoring-embed-body .aba-admin-shell,
.aba-mentoring-page.aba-mentoring-embed,
.aba-mentoring-page.aba-mentoring-embed .aba-admin-shell {
    background: transparent !important;
    background-color: transparent !important;
}

/* Recorded Class Library: compact four-card desktop grid. */
.aba-library-embed-body .aba-library-shell {
    width: min(100%, 1500px) !important;
    margin: 0 auto !important;
    padding: 10px 24px 38px !important;
}
.aba-library-embed-body .aba-library-heading {
    margin: 0 0 26px !important;
}
.aba-library-embed-body .aba-library-heading h1 {
    font-size: clamp(2.35rem, 4vw, 4.1rem) !important;
}
.aba-library-embed-body .aba-library-heading span {
    width: 82px !important;
    height: 5px !important;
    margin-top: 14px !important;
    background: var(--aba-red) !important;
}
.aba-library-embed-body .aba-library-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
}
.aba-library-embed-body .aba-library-card {
    width: auto !important;
    min-width: 0;
}
@media (max-width: 1180px) {
    .aba-library-embed-body .aba-library-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 820px) {
    .aba-library-embed-body .aba-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 520px) {
    .aba-library-embed-body .aba-library-grid { grid-template-columns: 1fr !important; }
}

/* Glossary, Flashcards and 1 on 1 share the Live Classes content frame. */
.aba-glossary-embed,
.aba-flashcards-embed .aba-admin-shell,
.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed {
    box-sizing: border-box !important;
    width: min(100%, 1500px) !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 10px 24px 38px !important;
}
.aba-glossary-embed .aba-glossary-heading,
.aba-flashcards-embed .aba-flashcards-heading,
.aba-one-on-one-embed .aba-one-on-one-topbar {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 26px !important;
}
.aba-glossary-embed .aba-glossary-heading h1,
.aba-flashcards-embed .aba-flashcards-heading h1,
.aba-one-on-one-embed .aba-one-on-one-topbar h1 {
    margin: 0 !important;
    color: var(--aba-blue) !important;
    font-size: clamp(2.35rem, 4vw, 4.1rem) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}
.aba-glossary-embed .aba-glossary-heading h1::after,
.aba-flashcards-embed .aba-flashcards-heading h1::after,
.aba-one-on-one-embed .aba-one-on-one-topbar h1::after {
    content: "" !important;
    width: 82px !important;
    height: 5px !important;
    display: block !important;
    margin-top: 14px !important;
    border-radius: 999px !important;
    background: var(--aba-red) !important;
}
.aba-flashcards-embed .aba-flashcards-heading .aba-kicker,
.aba-flashcards-embed .aba-flashcards-heading p {
    display: none !important;
}
.aba-glossary-embed .aba-glossary-heading .aba-mentoring-heading-rule {
    display: none !important;
}
.aba-glossary-embed .aba-glossary-app-toolbar {
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 10px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
}
/* Embedded timed and untimed Mock Exam hub */
.aba-mock-embed:not(.aba-board-focus-mode) .aba-board-shell {
    box-sizing: border-box;
    width: min(1420px, calc(100% - 48px));
    margin: 0 auto;
    padding: 34px 0 48px;
}
.aba-full-mock-heading { margin: 0 0 28px; }
.aba-full-mock-heading h1 {
    position: relative; margin: 0; padding-bottom: 18px; color: var(--aba-blue);
    font-size: clamp(42px, 4vw, 60px); font-weight: 800; line-height: .95;
}
.aba-full-mock-heading h1::after {
    content: ""; position: absolute; left: 0; bottom: 0; width: 78px; height: 5px;
    border-radius: 999px; background: var(--aba-red);
}
.aba-full-mock-banner {
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
    padding: 22px 26px; border: 1px solid #f5ebdd; border-radius: 14px;
    background: #f5ebdd; color: var(--aba-blue); box-shadow: 0 12px 30px rgba(172,33,83,.08);
}
.aba-full-mock-banner > div:first-child { display:flex; align-items:center; gap:8px; font-size:18px; font-weight:600; }
.aba-full-mock-banner > div:first-child strong { font-size:28px; font-weight:800; }
.aba-full-mock-banner > div:first-child span { width:1px; height:28px; margin:0 10px; background:#f5ebdd; }
.aba-full-mock-results { margin-top:38px; }
.aba-full-mock-results > h2 { margin:0 0 18px; color:var(--aba-blue); font-size:27px; font-weight:800; }
.aba-full-mock-results-list { display:grid; gap:22px; }
.aba-full-mock-result {
    display:block; padding:0; border:1px solid #f5ebdd; border-radius:16px;
    background:#f5ebdd; box-shadow:0 12px 28px rgba(172,33,83,.08);
    overflow:hidden;
}
.aba-full-mock-result > summary { display:grid; grid-template-columns:minmax(0,1fr) auto 24px; align-items:center; gap:18px; padding:18px 22px; color:var(--aba-blue); cursor:pointer; list-style:none; }
.aba-full-mock-result > summary::-webkit-details-marker { display:none; }
.aba-full-mock-result > summary > span { display:grid; gap:4px; }
.aba-full-mock-result > summary strong { font-size:20px; font-weight:800; }
.aba-full-mock-result > summary strong i { padding:0 4px; color:var(--aba-red); font-style:normal; }
.aba-full-mock-result > summary small { color:#ac2153; font-size:15px; }
.aba-full-mock-result > summary > i { transition:transform .2s ease; }
.aba-full-mock-result[open] > summary > i { transform:rotate(180deg); }
.aba-attempt-review-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:max-content;
    border:1px solid #f5ebdd;
    border-radius:9px;
    padding:9px 14px;
    color:var(--aba-blue);
    background:#ffffff;
    font-size:14px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
    transition:border-color .18s ease, background .18s ease, color .18s ease;
}
.aba-attempt-review-link:hover,
.aba-attempt-review-link:focus-visible {
    border-color:var(--aba-blue);
    background:#f5ebdd;
    color:var(--aba-blue);
}
.aba-domain-trial-summary > .aba-attempt-review-link {
    margin-top:8px;
    justify-self:start;
}
.aba-full-mock-review-action {
    display:flex;
    justify-content:flex-end;
    padding-top:18px;
}
.aba-full-mock-expanded { display:grid; gap:20px; padding:4px 22px 24px; border-top:1px solid #f5ebdd; }
.aba-full-mock-score { padding:10px 15px; border:2px solid var(--aba-blue); border-radius:12px; font-size:21px; font-weight:700; }
.aba-full-mock-score.is-failed { border-color:#ac2153; background:#f5ebdd; color:#ac2153; }
.aba-full-mock-score.is-passed { border-color:#ac2153; background:#f5ebdd; color:#ac2153; }
.aba-full-mock-bars { display:grid; gap:10px; max-width:700px; }
.aba-full-mock-bars > div { display:grid; grid-template-columns:38px minmax(120px,1fr) 55px; align-items:center; gap:10px; }
.aba-full-mock-bars b { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#ffffff; background:var(--aba-blue); font-size:18px; }
.aba-full-mock-bars span { height:18px; overflow:hidden; border-radius:999px; background:#f5ebdd; }
.aba-full-mock-bars i { display:block; height:100%; border-radius:inherit; background:#fb76a4; }
.aba-full-mock-bars strong { color:var(--aba-blue); font-size:19px; }
.aba-full-mock-bars > div.is-failed span i { background:#ac2153; }
.aba-full-mock-bars > div.is-failed strong { color:#ac2153; }
.aba-full-mock-bars > div.is-passed span i { background:#ac2153; }
.aba-full-mock-bars > div.is-passed strong { color:#ac2153; }
.aba-full-mock-domain-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,.55fr) minmax(0,1.5fr); gap:12px; }
.aba-full-mock-domain-grid section { min-width:0; padding:16px 12px; border:1px solid #f5ebdd; border-radius:14px; background:#ffffff; }
.aba-full-mock-domain-grid h3 { margin:0 0 14px; color:var(--aba-blue); font-size:17px; line-height:1.2; }
.aba-full-mock-task-row { display:flex; align-items:center; justify-content:flex-start; gap:2px; overflow:hidden; padding:2px 0 6px; }
.aba-full-mock-task-row i { min-width:41px; width:41px; height:41px; display:grid; place-items:center; flex:0 0 41px; border:3px solid currentColor; border-radius:50%; color:#ac2153; background:#ffffff; font-size:13px; font-style:normal; font-weight:800; }

/* Mobile mock feedback: wrap task-code circles instead of clipping the last ones. */
body.aba-mock-embed-body .aba-full-mock-task-row { flex-wrap:wrap; gap:10px; overflow:visible; width:100%; }
body.aba-mock-embed-body .aba-full-mock-task-row i { box-sizing:border-box; }
.aba-full-mock-task-row .is-correct { color:#ac2153; }
.aba-full-mock-task-row .is-failed { color:#ac2153; }
.aba-full-mock-task-row .is-review { color:#fb76a4; }
.aba-full-mock-task-row .is-unstarted { color:#ac2153; }
.aba-full-mock-review { width:min(1180px,100%); margin:0 auto; padding:34px 0 60px; }
.aba-full-mock-review > header { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.aba-full-mock-review h1 { margin:4px 0 0; color:var(--aba-blue); font-size:42px; }
.aba-full-mock-review > header > strong { color:var(--aba-blue); font-size:32px; }
.aba-full-mock-review-options { display:grid; gap:7px; }
.aba-full-mock-review-options span { padding:10px 12px; border:1px solid #f5ebdd; border-radius:8px; }
.aba-full-mock-review-options .is-selected-correct { border-color:#ac2153; background:#f5ebdd; color:#ac2153; font-weight:700; }
.aba-full-mock-review-options .is-selected-wrong { border-color:#ac2153; background:#f5ebdd; color:#ac2153; font-weight:700; }
.aba-full-mock-review-options .is-correct-answer { border:2px solid #ac2153; color:#ac2153; background:#f5ebdd; font-weight:700; }
.aba-full-mock-review-done { display:flex; width:max-content; margin:24px auto 0; }
@media (max-width:900px) {
    .aba-full-mock-domain-grid { grid-template-columns:1fr; }
    .aba-full-mock-banner { align-items:stretch; flex-direction:column; }
}
@media (max-width:600px) {
    .aba-mock-embed:not(.aba-board-focus-mode) .aba-board-shell { width:calc(100% - 28px); padding-top:24px; }
    .aba-full-mock-heading h1 { font-size:38px; }
    .aba-full-mock-banner > div:first-child { align-items:flex-start; flex-wrap:wrap; }
    .aba-full-mock-banner > div:first-child span { display:none; }
    .aba-full-mock-result > summary { grid-template-columns:1fr 20px; }
    .aba-full-mock-result > summary .aba-full-mock-score { grid-column:1 / -1; grid-row:2; }
}

.aba-glossary-embed .aba-glossary-app-toolbar .aba-board-question-menu-toggle {
    width: auto !important;
    margin: 0 !important;
}
.aba-glossary-embed .aba-glossary-app-toolbar .aba-glossary-search {
    min-width: 0;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 10px !important;
}

.aba-glossary-embed .aba-glossary-heading,
.aba-flashcards-embed .aba-flashcards-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

.aba-flashcards-embed .aba-flashcards-heading {
    margin-bottom: 12px !important;
}

.aba-compact-menu-toggle {
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
}

.aba-compact-menu-toggle i {
    margin: 0 !important;
    font-size: 18px;
}
@media (max-width: 700px) {
    .aba-glossary-embed .aba-glossary-app-toolbar {
        grid-template-columns: 1fr !important;
    }
}
.aba-flashcards-embed .aba-flashcards-heading-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
}

.aba-flashcard-heading-progress {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--aba-blue);
    white-space: nowrap;
}

.aba-flashcard-heading-progress span {
    font-size: 16px;
    font-weight: 800;
}

.aba-flashcard-heading-progress b {
    color: #ac2153;
    font-weight: 500;
}

.aba-flashcard-heading-progress small {
    color: #ac2153;
    font-size: 14px;
    font-weight: 600;
}

.aba-flashcards-embed .aba-flashcard-viewer-panel {
    padding-top: 14px !important;
}

.aba-flashcards-embed .aba-flashcard-stage {
    margin-top: 0 !important;
}

.aba-flashcard-manage-link {
    margin-top: 14px;
    justify-content: center;
}

body.aba-my-private-body .aba-my-service-rail nav a::before,
body.aba-my-private-body .aba-my-service-rail nav a::after {
    content: none !important;
    display: none !important;
}

/* Keep Glossary and Flashcards titles on the same visual baseline. */
.aba-glossary-page.aba-glossary-embed,
.aba-flashcards-page.aba-flashcards-embed .aba-admin-shell {
    padding-top: 32px !important;
}

.aba-flashcards-page.aba-flashcards-embed .aba-admin-shell {
    margin-top: 0 !important;
}

.aba-glossary-page.aba-glossary-embed .aba-glossary-heading h1 {
    position: relative !important;
}

.aba-glossary-page.aba-glossary-embed .aba-glossary-heading h1::after {
    content: "" !important;
    position: static !important;
    width: 82px !important;
    height: 5px !important;
    display: block !important;
    margin-top: 14px !important;
    border-radius: 999px !important;
    background: var(--aba-red) !important;
}
.aba-flashcards-embed .aba-flashcards-heading-actions .aba-board-question-menu-toggle {
    width: auto !important;
    margin: 0 !important;
    white-space: nowrap;
}
.aba-simple-page.aba-one-on-one-page.aba-one-on-one-embed,
body.aba-one-on-one-embed-body,
.aba-my-one-on-one-frame-wrap {
    background: transparent !important;
    background-color: transparent !important;
}
.aba-one-on-one-embed .aba-one-on-one-topbar h1 {
    max-width: none !important;
}
.aba-one-on-one-embed .aba-one-on-one-calendar-panel {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.aba-one-on-one-embed .aba-one-modal-card:not(.aba-one-payment-card):not(.aba-one-admin-modal-card) {
    width: min(1120px, calc(100vw - 48px)) !important;
    max-width: 1120px !important;
}
@media (max-width: 760px) {
    .aba-flashcards-page.aba-flashcards-embed {
        padding: 0 !important;
    }
    .aba-flashcards-embed .aba-flashcards-heading {
        align-items: center !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        gap: 14px !important;
        margin-bottom: 26px !important;
    }
    .aba-flashcards-embed .aba-flashcards-heading-actions {
        width: auto !important;
        flex: 0 0 auto;
        justify-content: flex-end !important;
        flex-wrap: nowrap;
    }
    .aba-flashcards-embed .aba-flashcard-heading-progress {
        display: none !important;
    }
    .aba-one-on-one-embed .aba-one-modal-card:not(.aba-one-payment-card):not(.aba-one-admin-modal-card) {
        width: calc(100vw - 24px) !important;
    }
}

/* Personal Area rail: ABA Lessons-style motion with a soft red treatment. */
.aba-my-service-rail nav a {
    position: relative;
    overflow: hidden;
    transition:
        background-color .18s ease,
        color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease !important;
}

.aba-my-service-rail nav a:hover,
.aba-my-service-rail nav a:focus-visible,
.aba-my-service-rail nav a.active {
    color: var(--aba-red) !important;
    border-color: #f5ebdd !important;
    background: #f5ebdd !important;
    box-shadow:
        inset 3px 0 var(--aba-red),
        0 7px 16px rgba(172,33,83,.10) !important;
    transform: translateX(3px);
    outline: none;
}

.aba-my-service-rail nav a:hover i,
.aba-my-service-rail nav a:focus-visible i,
.aba-my-service-rail nav a.active i {
    color: #ffffff !important;
    background: var(--aba-red) !important;
}

/* Profile drawer: match the Personal Area soft-red interaction. */
.profile-side-drawer nav a {
    position: relative;
    overflow: hidden;
    transition:
        background-color .18s ease,
        color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease !important;
    border: 1px solid transparent;
}

.profile-side-drawer nav a:hover,
.profile-side-drawer nav a:focus-visible,
.profile-side-drawer nav a.active {
    color: var(--aba-red) !important;
    border-color: #f5ebdd !important;
    background: #f5ebdd !important;
    box-shadow:
        inset 3px 0 var(--aba-red),
        0 7px 16px rgba(172,33,83,.10) !important;
    transform: translateX(-3px);
    outline: none;
}

.profile-side-drawer nav a:hover i,
.profile-side-drawer nav a:focus-visible i,
.profile-side-drawer nav a.active i {
    color: #ffffff !important;
    background: var(--aba-red) !important;
}

/* Private Personal Area shell: compact ABA Class-inspired chrome. */
body.aba-my-private-body {
    --aba-personal-header-height: 72px;
    --aba-personal-footer-height: 34px;
}

body.aba-my-private-body .sticky-header.aba-personal-header {
    min-height: var(--aba-personal-header-height) !important;
    height: var(--aba-personal-header-height) !important;
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    padding: 7px 24px !important;
    display: flex;
    align-items: center;
    gap: 18px;
    color: #ffffff !important;
    border-bottom: 1px solid rgba(255,255,255,.18);
    background: var(--aba-blue) !important;
    box-shadow: 0 5px 18px rgba(172,33,83,.22);
    z-index: 1200;
}

body.aba-my-private-body .aba-personal-header .logo {
    position: static !important;
    inset: auto !important;
    flex: 0 0 auto !important;
    width: 152px !important;
    min-width: 152px !important;
    min-height: 0 !important;
    height: 52px !important;
    margin: 0 !important;
    padding-right: 18px;
    display: flex;
    align-items: center;
    border-right: 1px solid rgba(255,255,255,.28);
}

body.aba-my-private-body .aba-personal-header .logo a,
body.aba-my-private-body .aba-personal-header .logo img {
    width: 132px !important;
    max-width: 132px !important;
    height: 46px !important;
    max-height: 46px !important;
    object-fit: contain;
}

.aba-personal-header-identity {
    min-width: 0;
    display: grid;
    grid-template-columns: 36px minmax(0, auto);
    grid-template-rows: auto auto;
    gap: 1px 15px;
    margin-right: auto;
    line-height: 1.05;
}

.aba-personal-header-identity small {
    grid-column: 2;
    grid-row: 1;
    color: #f5ebdd;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.aba-personal-header-identity strong {
    grid-column: 2;
    grid-row: 2;
    overflow: hidden;
    color: #ffffff;
    font-size: 17px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aba-personal-time-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    pointer-events: none;
}

.aba-personal-time-icon img {
    display: none;
    width: 36px;
    height: 36px;
    overflow: visible;
    filter: none;
}

.aba-personal-time-icon.is-day .is-sun,
.aba-personal-time-icon.is-afternoon .is-cloud-sun,
.aba-personal-time-icon.is-night .is-moon {
    display: block;
}

body.aba-my-private-body .aba-personal-header .header-tools {
    margin-left: auto;
}

body.aba-my-private-body .aba-personal-header .header-icon-button,
body.aba-my-private-body .aba-personal-header .header-avatar-button {
    color: #ffffff !important;
    border-color: rgba(255,255,255,.32) !important;
    background: rgba(255,255,255,.07) !important;
}

body.aba-my-private-body .aba-personal-header .header-icon-button:hover,
body.aba-my-private-body .aba-personal-header .header-icon-button:focus-visible,
body.aba-my-private-body .aba-personal-header .header-avatar-button:hover,
body.aba-my-private-body .aba-personal-header .header-avatar-button:focus-visible {
    color: #ffffff !important;
    border-color: var(--aba-red) !important;
    background: var(--aba-red) !important;
}

body.aba-my-private-body .aba-personal-header .language-switch {
    border-color: rgba(255,255,255,.30) !important;
    background: rgba(255,255,255,.08) !important;
}

body.aba-my-private-body .aba-personal-header .language-switch a {
    color: rgba(255,255,255,.78) !important;
}

body.aba-my-private-body .aba-personal-header .language-switch a.active {
    color: var(--aba-blue) !important;
    background: #ffffff !important;
}

body.aba-my-private-body {
    padding-top: var(--aba-personal-header-height) !important;
    padding-bottom: var(--aba-personal-footer-height) !important;
    scroll-padding-top: var(--aba-personal-header-height);
}

body.aba-my-private-body .aba-my-main-panel > section {
    scroll-margin-top: var(--aba-personal-header-height);
}

body.aba-my-private-body .aba-my-dashboard {
    min-height: calc(100vh - var(--aba-personal-header-height) - var(--aba-personal-footer-height));
    padding-right: 0 !important;
}

body.aba-my-private-body .aba-my-shell,
body.aba-my-private-body .aba-my-shell.aba-my-shell-flush-course {
    min-height: calc(100vh - var(--aba-personal-header-height) - var(--aba-personal-footer-height));
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 0 !important;
    align-items: stretch;
}

body.aba-my-private-body .aba-my-service-rail {
    position: sticky;
    top: var(--aba-personal-header-height) !important;
    align-self: start;
    width: 250px;
    height: calc(100vh - var(--aba-personal-header-height) - var(--aba-personal-footer-height));
    min-height: calc(100vh - var(--aba-personal-header-height) - var(--aba-personal-footer-height));
    padding: 12px 10px 10px !important;
    border-right: 1px solid #f5ebdd;
    box-shadow: 7px 0 18px rgba(172,33,83,.08) !important;
}

body.aba-my-private-body .aba-my-student-mini {
    display: none !important;
}

body.aba-my-private-body .aba-my-rail-toggle {
    margin: 0 0 8px auto;
}

body.aba-my-private-body .aba-my-service-rail nav {
    gap: 4px !important;
}

body.aba-my-private-body .aba-my-service-divider {
    display: block !important;
    width: calc(100% - 10px);
    height: 1px !important;
    margin: 7px 5px 8px !important;
    background: #f5ebdd !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.75);
}

body.aba-my-private-body .aba-my-service-rail nav a {
    min-height: 42px !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 5px 8px !important;
    font-size: 12px !important;
}

body.aba-my-private-body .aba-my-service-rail nav a i {
    width: 30px !important;
    height: 30px !important;
}

body.aba-my-private-body .aba-my-main-panel,
body.aba-my-private-body .aba-my-main-panel.aba-my-main-panel-flush-course {
    gap: 0 !important;
    padding-top: 0 !important;
}

body.aba-my-private-body .aba-my-aba-lessons-frame-wrap {
    width: 100%;
    height: calc(100vh - var(--aba-personal-header-height) - var(--aba-personal-footer-height));
    min-height: 640px;
    overflow: hidden;
    border: 0;
    background: #f5ebdd;
}

body.aba-my-private-body .aba-my-aba-lessons-frame {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    background: #f5ebdd;
}

body.aba-my-private-body .nh-footer-orgs,
body.aba-my-private-body .nh-footer-main {
    display: none !important;
}

body.aba-my-private-body .site-footer.neuro-footer,
body.aba-my-private-body .nh-footer-bottom-wrap {
    min-height: var(--aba-personal-footer-height) !important;
    height: var(--aba-personal-footer-height) !important;
    border: 0 !important;
    background: var(--aba-red) !important;
}

body.aba-my-private-body .site-footer.neuro-footer {
    position: fixed !important;
    inset: auto 0 0 0 !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1150;
}

body.aba-my-private-body .nh-footer-bottom {
    min-height: var(--aba-personal-footer-height) !important;
    height: var(--aba-personal-footer-height) !important;
    padding: 0 16px !important;
    display: flex;
    align-items: center;
}

body.aba-my-private-body .nh-footer-copy {
    color: #ffffff !important;
    font-size: 10px !important;
}

body.aba-my-private-body .nh-footer-socials {
    display: none !important;
}

body.aba-my-private-body .aba-my-shell.is-rail-collapsed {
    grid-template-columns: 62px minmax(0, 1fr) !important;
}

body.aba-my-private-body .aba-my-shell.is-rail-collapsed .aba-my-service-rail {
    width: 62px;
    padding-inline: 8px !important;
}

@media (max-width: 760px) {
    body.aba-my-private-body {
        --aba-personal-header-height: 66px;
    }
    body.aba-my-private-body .sticky-header.aba-personal-header {
        padding-inline: 12px !important;
        gap: 10px;
    }
    body.aba-my-private-body .aba-personal-header .logo {
        width: 118px !important;
        min-width: 118px !important;
        padding-right: 10px;
    }
    body.aba-my-private-body .aba-personal-header .logo a,
    body.aba-my-private-body .aba-personal-header .logo img {
        width: 102px !important;
        max-width: 102px !important;
        height: 38px !important;
        max-height: 38px !important;
    }
    .aba-personal-header-identity strong { font-size: 14px; }
    .aba-personal-header-identity small { font-size: 9px; }
    body.aba-my-private-body .aba-my-shell,
    body.aba-my-private-body .aba-my-shell.aba-my-shell-flush-course {
        grid-template-columns: 62px minmax(0, 1fr) !important;
    }
    body.aba-my-private-body .aba-my-service-rail {
        width: 62px;
        padding-inline: 8px !important;
    }
    body.aba-my-private-body .aba-my-service-rail nav a {
        grid-template-columns: 1fr !important;
    }
    body.aba-my-private-body .aba-my-service-rail nav a span {
        display: none !important;
    }
}

/* Final global page canvas override. Keep cards and components unchanged. */
html body,
html body[class] {
    background-color: var(--aba-page-canvas) !important;
}

html body:not(.aba-home-landing) > main,
html body:not(.aba-home-landing) > main[class] {
    background-color: var(--aba-page-canvas) !important;
}

/* Final precedence: flush domain navigation for Learning Route and Mastering ABA. */
@media (min-width: 761px) {
    .aba-my-dashboard.aba-my-dashboard-flush-course { padding-right: 0 !important; }
    .aba-my-shell.aba-my-shell-flush-course { gap: 0 !important; }
    .aba-my-main-panel.aba-my-main-panel-flush-course { gap: 0 !important; padding-top: 0 !important; }
    #classroom-workspace.aba-flush-domain-course.aba-lesson-page {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 0 48px !important;
        grid-template-columns: 332px minmax(0, 1fr) !important;
        gap: 0 !important;
    }
    #classroom-workspace.aba-classroom-embed.aba-flush-domain-course .aba-lesson-sidebar {
        top: 0 !important;
        min-height: 100vh !important;
        max-height: 100vh !important;
        margin: 0 !important;
        border-width: 0 1px 0 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    #classroom-workspace.aba-flush-domain-course .aba-lesson-content { padding: 0 24px 40px !important; }
    #classroom-workspace.aba-flush-domain-course .aba-lesson-domain-heading { min-height: 0 !important; margin: 0 !important; }
    #classroom-workspace.aba-flush-domain-course .aba-lesson-card,
    #classroom-workspace.aba-flush-domain-course .aba-lesson-domain-heading {
        width: 100% !important;
        max-width: none !important;
    }
    #classroom-workspace.aba-flush-domain-course .aba-rich-content {
        font-size: 20px !important;
        line-height: 1.68 !important;
    }
    #classroom-workspace.aba-flush-domain-course .aba-rich-content p,
    #classroom-workspace.aba-flush-domain-course .aba-rich-content li,
    #classroom-workspace.aba-flush-domain-course .aba-rich-content blockquote {
        text-align: justify !important;
        hyphens: none !important;
        -webkit-hyphens: none !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        text-wrap: pretty;
    }
}
.aba-lab-standalone-title{position:relative;margin-bottom:22px!important}.aba-lab-standalone-title:after{content:"";display:block;width:68px;height:4px;margin-top:12px;border-radius:5px;background:#ac2153}
.aba-lab-domain-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}.aba-lab-domain-list>a{display:flex;min-height:200px;flex-direction:column;justify-content:space-between;text-decoration:none}.aba-lab-domain-list>a>span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#ac2153;color:#ffffff;font-weight:800}.aba-lab-domain-list>a.active{border-color:#ac2153;background:#f5ebdd}
.aba-lab-match-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;margin:0 0 10px;padding:0 14px;color:#ac2153}.aba-lab-match-redesign label{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;align-items:center}.aba-lab-match-redesign label>span,.aba-lab-match-redesign select{min-height:58px;padding:12px 14px;border:1px solid #f5ebdd;border-radius:10px;background:#ffffff}.aba-lab-prompt{text-align:justify;overflow-wrap:normal;word-break:normal;hyphens:none}.aba-lab-answer-buttons{display:grid;gap:12px}.aba-lab-answer-buttons label{display:flex!important;align-items:center;min-height:56px;padding:14px 16px;border:1px solid #f5ebdd;border-radius:10px;background:#ffffff}
.aba-lab-obtained-results{margin-top:38px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.aba-lab-obtained-results .aba-results-heading{margin:0 0 18px}.aba-lab-obtained-results .aba-results-heading h2{margin:0;color:#ac2153;font-size:27px;font-weight:800}.aba-lab-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.aba-lab-result-grid article{display:grid;gap:7px;padding:18px;border:1px solid #f5ebdd;border-left:5px solid #ac2153;border-radius:14px;background:#ffffff;box-shadow:0 10px 30px rgba(172,33,83,.08)}.aba-lab-result-grid article.is-pass{border-left-color:#ac2153}.aba-lab-result-grid article strong{font-size:19px;color:#ac2153}.aba-lab-result-grid article time{color:#ac2153;font-size:13px}
@media(max-width:1000px){.aba-lab-domain-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}.aba-lab-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.aba-lab-domain-list,.aba-lab-result-grid{grid-template-columns:1fr!important}.aba-lab-match-head{display:none}.aba-lab-match-redesign label{grid-template-columns:1fr}}
.aba-lab-board-form.is-final-review{display:block!important}.aba-lab-board-form.is-final-review .aba-board-question-card{display:grid;gap:18px}.aba-lab-exercise-card.is-review-item{display:block!important;border-left:5px solid #ac2153}.aba-lab-exercise-card.is-review-item:has(.aba-lab-result.is-good){border-left-color:#ac2153}.aba-lab-answer-buttons label.is-correct,.aba-lab-options label.is-correct{border-color:#ac2153!important;background:#f5ebdd!important;color:#ac2153}.aba-lab-answer-buttons label.is-wrong,.aba-lab-options label.is-wrong{border-color:#ac2153!important;background:#f5ebdd!important;color:#ac2153}
.aba-lab-match-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;margin-bottom:18px}.aba-lab-match-left-list,.aba-lab-match-right-list{display:grid;gap:8px}.aba-lab-match-columns p{margin:0;padding:12px 14px;border:1px solid #f5ebdd;border-radius:10px;background:#ffffff;line-height:1.4}.aba-lab-inline-actions{margin-top:22px}
.aba-lab-embed-body.aba-lab-focus-mode .aba-learning-lab-page,.aba-lab-embed-body.aba-lab-focus-mode .aba-board-shell,.aba-lab-embed-body.aba-lab-focus-mode .aba-lab-practice-shell{width:100%;min-height:100%;padding:0;margin:0}.aba-lab-embed-body.aba-lab-focus-mode .aba-lab-domain-board,.aba-lab-embed-body.aba-lab-focus-mode .aba-lab-toolbar{display:none}.aba-lab-embed-body.aba-lab-focus-mode .aba-board-exam{display:block;width:100%;min-height:100vh}.aba-lab-embed-body.aba-lab-focus-mode .aba-board-mobile-tools{position:sticky;top:0;z-index:120;display:flex;width:100%;padding:8px 10px;border-bottom:1px solid #f5ebdd;background:rgba(255,255,255,.98);box-shadow:0 5px 16px rgba(172,33,83,.10)}.aba-lab-embed-body.aba-lab-focus-mode .aba-board-question-card{width:100%;max-width:none;min-height:calc(100vh - 65px);padding:24px clamp(16px,4vw,42px) 32px;border:0;border-radius:0;box-shadow:none}.aba-lab-embed-body.aba-lab-focus-mode .aba-board-side{position:fixed;inset:0 auto 0 0;z-index:150;width:min(88vw,370px);max-height:none;display:flex;flex-direction:column;gap:16px;padding:16px;overflow:auto;border:0;border-radius:0 14px 14px 0;box-shadow:18px 0 48px rgba(172,33,83,.24);transform:translateX(-105%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}.aba-lab-embed-body.aba-lab-focus-mode .aba-board-side.is-open{transform:translateX(0);visibility:visible;transition:transform .22s ease}.aba-lab-embed-body.aba-lab-focus-mode .aba-board-drawer-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:140;background:rgba(172,33,83,.48)}
@media(max-width:700px){.aba-lab-match-columns{grid-template-columns:1fr}.aba-lab-match-head{display:none}}

/* v174: the independent-practice modules use the Mini Mocks composition, not a look-alike skin. */
.aba-domain-practice-embed .aba-learning-lab-page{width:100%;max-width:none;margin:0;padding:28px clamp(18px,4vw,54px) 44px;background:#ffffff}
.aba-domain-practice-embed .aba-learning-lab-page>.aba-board-shell{width:min(1420px,100%);margin:0 auto}
.aba-domain-practice-embed .aba-lab-domain-board{margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.aba-domain-practice-embed .aba-lab-domain-board>.aba-lab-standalone-title{margin:0 0 28px!important;color:#ac2153;font-size:clamp(34px,4vw,56px);font-weight:800;line-height:1.02}
.aba-domain-practice-embed .aba-lab-domain-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px}
.aba-domain-practice-embed .aba-lab-domain-list>.aba-board-domain-card{display:flex;min-height:238px;flex-direction:column;align-items:stretch;gap:14px;padding:20px;border:1px solid #f5ebdd;border-radius:14px;background:#ffffff;box-shadow:0 10px 26px rgba(172,33,83,.08)}
.aba-domain-practice-embed .aba-lab-domain-list>.aba-board-domain-card>strong{min-height:48px;color:#ac2153;font-size:19px;line-height:1.25}
.aba-domain-practice-embed .aba-lab-domain-code{display:grid!important;width:42px!important;height:42px!important;place-items:center;flex:0 0 42px;border-radius:50%;background:#ac2153!important;color:#ffffff!important;font-weight:800}
.aba-domain-practice-embed .aba-lab-domain-list>.aba-board-domain-card>small{margin-top:auto;color:#ac2153;font-size:14px}
.aba-domain-practice-embed .aba-lab-domain-list>.aba-board-domain-card>.aba-btn{margin-top:2px}
.aba-domain-practice-embed .aba-lab-obtained-results{margin-top:32px;padding:0;border:0;background:transparent;box-shadow:none}
.aba-domain-practice-embed .aba-lab-obtained-results>h2{position:relative;margin:0 0 22px;color:#ac2153;font-size:30px}.aba-domain-practice-embed .aba-lab-obtained-results>h2:after{content:"";display:block;width:64px;height:4px;margin-top:10px;border-radius:5px;background:#ac2153}
.aba-domain-practice-embed .aba-lab-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.aba-domain-practice-embed .aba-lab-result-grid>article{min-height:260px;padding:18px;border:1px solid #f5ebdd;border-radius:14px;background:#ffffff;box-shadow:0 10px 30px rgba(172,33,83,.08)}
.aba-domain-practice-embed .aba-lab-board-form .aba-board-question-card{display:block}
.aba-domain-practice-embed .aba-lab-exercise-card{padding:0;border:0;background:transparent;box-shadow:none}
.aba-domain-practice-embed .aba-lab-exercise-card>.aba-board-question-top{margin-bottom:22px}
.aba-domain-practice-embed .aba-lab-prompt{margin:0;color:#ac2153;font-size:clamp(24px,2.3vw,34px);font-weight:800;line-height:1.28;text-align:justify;overflow-wrap:normal;word-break:normal;hyphens:none}
.aba-domain-practice-embed .aba-lab-answer-form>.aba-board-choices,.aba-domain-practice-embed .aba-lab-answer-buttons,.aba-domain-practice-embed .aba-lab-options{display:grid;gap:12px}
.aba-domain-practice-embed .aba-lab-answer-buttons .aba-board-choice,.aba-domain-practice-embed .aba-lab-options .aba-board-choice,.aba-domain-practice-embed .aba-lab-case-question .aba-board-choice{display:flex!important;min-height:58px;align-items:center;gap:12px;padding:14px 16px;border:1px solid #f5ebdd;border-radius:10px;background:#ffffff}
.aba-domain-practice-embed .aba-lab-answer-buttons .aba-board-choice:has(input:checked),.aba-domain-practice-embed .aba-lab-options .aba-board-choice:has(input:checked),.aba-domain-practice-embed .aba-lab-case-question .aba-board-choice:has(input:checked){border-color:#ac2153;background:#f5ebdd;color:#ac2153}
.aba-domain-practice-embed.aba-domain-practice-focus .aba-learning-lab-page{padding:0}
.aba-domain-practice-embed.aba-domain-practice-focus .aba-learning-lab-page>.aba-board-shell{width:100%;max-width:none}
.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-practice-shell{margin:0}
.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-board-form{grid-template-columns:minmax(0,1fr) 310px;min-height:100vh}
.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-question-card{min-height:100vh;padding:clamp(28px,5vw,70px)}
@media(max-width:900px){.aba-domain-practice-embed .aba-lab-domain-list,.aba-domain-practice-embed .aba-lab-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.aba-domain-practice-embed .aba-learning-lab-page{padding:22px 14px 36px}.aba-domain-practice-embed .aba-lab-domain-list,.aba-domain-practice-embed .aba-lab-result-grid{grid-template-columns:1fr!important}}

/* v175: six domains plus MIX are compact selectors in one horizontal row. */
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:10px}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card{position:relative;display:flex;min-width:0;min-height:132px;align-items:center;justify-content:center;gap:7px;padding:12px 8px;border:1px solid #f5ebdd;border-radius:12px;text-align:center;box-shadow:0 7px 18px rgba(172,33,83,.07)}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card>strong{order:2;min-height:0;font-size:14px;line-height:1.15}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-code{order:1;width:38px!important;height:38px!important;flex-basis:38px;font-size:14px}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card>small{order:3;display:block;margin:0;color:#ac2153;font-size:11px;line-height:1.2}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card>.aba-btn{position:absolute;inset:0;z-index:3;margin:0;padding:0;border:0;border-radius:12px;background:transparent;color:transparent;font-size:0;box-shadow:none}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card:hover,.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card.active{border-color:#ac2153;background:#f5ebdd;transform:translateY(-2px)}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card:hover .aba-lab-domain-code,.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card.active .aba-lab-domain-code{background:#ac2153!important}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus{width:100%;max-width:none;min-height:100vh;margin:0;padding:0;background:#ffffff}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus>.aba-board-shell{width:100%;max-width:none;min-height:100vh;margin:0;padding:0}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-domain-board,.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-toolbar{display:none!important}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-board-form{display:block;width:100%;min-height:100vh;margin:0}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-question-card{width:100%;max-width:none;min-height:calc(100vh - 65px);padding:24px clamp(18px,4vw,48px) 34px}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-exercise-card:not([hidden]){display:block!important}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-exercise-card[hidden]{display:none!important}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-prompt{width:100%;max-width:none;color:var(--aba-ink);font-size:clamp(18px,1.35vw,24px);font-weight:500;line-height:1.28;text-align:justify;text-justify:inter-word}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-prompt>strong{font-weight:700}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-answer-form{width:100%;max-width:none}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-answer-buttons,.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-options{grid-template-columns:1fr!important;gap:12px}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-answer-buttons .aba-board-choice,.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-options .aba-board-choice{min-height:64px;padding:16px 18px;background:#f5ebdd;font-size:19px}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-inline-actions{width:100%;max-width:none}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-lab-side-actions{display:none!important}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-side .aba-board-timer{padding:16px;border-radius:10px;background:#f5ebdd}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-side .aba-board-timer strong{font-size:34px}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-result-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-result-grid>article{min-width:0}
@media(max-width:1100px){.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-result-grid{grid-template-columns:1fr!important}}

/* v179: behavioral parity with Mini Mocks. */
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card{min-height:220px;justify-content:flex-start;padding:14px 10px}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card>strong{order:1;min-height:34px}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-code{order:2}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card>small{order:3;margin:0 0 auto}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card>.aba-btn{position:relative;inset:auto;z-index:4;order:4;display:flex;min-height:38px;align-items:center;justify-content:center;margin:0;padding:8px 6px;border-radius:8px;font-size:11px;line-height:1.15;color:#ffffff;white-space:normal}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card>.aba-btn.ghost{border:1px solid #ac2153;background:#ffffff;color:#ac2153}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus,.aba-domain-practice-focus-body{height:100dvh;min-height:100dvh;overflow:hidden}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-question-card{height:calc(100dvh - 65px);min-height:0;overflow-y:auto}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-side{inset:0 auto 0 0;height:100dvh;max-height:100dvh;border-radius:0 14px 14px 0}
.aba-learning-lab-page.aba-domain-practice-embed.aba-domain-practice-focus .aba-board-mobile-tools{height:65px}
.aba-learning-lab-page.aba-domain-practice-embed .aba-lab-final-review{width:100%;max-width:none;margin:0 auto}
.aba-learning-lab-page.aba-domain-practice-embed .aba-lab-final-review .aba-domain-final-review-list{width:100%}
@media(max-width:1050px){.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:650px){.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* v180: independent-practice selectors and reviews mirror Mini Mocks. */
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:10px!important;
}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card{
    position:relative;
    display:flex;
    min-height:238px;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:12px;
    padding:14px 10px;
    border:2px solid #ac2153;
    border-radius:13px;
    background:#f5ebdd;
    text-align:left;
    box-shadow:none;
    cursor:default;
    transform:none!important;
}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card.is-passed{
    border-color:#ac2153;
    background:#f5ebdd;
}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card.is-neutral,
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card.is-neutral.active{
    border-color:#f5ebdd;
    background:#f5ebdd;
}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card.is-review,
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card.active{
    border-color:#ac2153;
    background:#f5ebdd;
}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card.is-passed.active{
    border-color:#ac2153;
    background:#f5ebdd;
}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card>strong{
    order:1;
    min-height:48px;
    color:#ac2153;
    font-size:14px;
    line-height:1.25;
}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list .aba-lab-domain-code{
    display:none!important;
}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card>small{
    order:2;
    display:block;
    margin:0 0 auto;
    color:#ac2153;
    font-size:11px;
    line-height:1.25;
}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card>.aba-btn{
    position:relative;
    inset:auto;
    z-index:auto;
    order:3;
    display:flex;
    min-height:42px;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:9px 6px;
    border-radius:8px;
    font-size:12px;
    line-height:1.2;
    white-space:normal;
    text-align:center;
}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card>.aba-btn.primary{
    width:100%;
    border-color:#ac2153;
    background:#ac2153;
    color:#ffffff;
}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card.is-passed>.aba-btn.primary{
    border-color:#ac2153;
    background:#ac2153;
}
.aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list>.aba-board-domain-card>.aba-btn.ghost{
    border:1px solid #ac2153;
    background:#ffffff;
    color:#ac2153;
}
@media(max-width:1200px){
    .aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:650px){
    .aba-learning-lab-page.aba-domain-practice-embed:not(.aba-domain-practice-focus) .aba-lab-domain-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
.aba-domain-practice-embed .aba-lab-empty-results{
    display:flex;
    min-height:132px;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:16px;
    padding:24px;
    border:1px dashed #f5ebdd;
    border-radius:14px;
    background:#f5ebdd;
    color:#ac2153;
    text-align:left;
}
.aba-domain-practice-embed .aba-lab-empty-results>i{font-size:30px;color:#ac2153}
.aba-domain-practice-embed .aba-lab-empty-results>div{display:grid;gap:4px}
.aba-domain-practice-embed .aba-lab-empty-results strong{color:#ac2153;font-size:18px}

/* Empty metrics state shared by Mini Mocks and timed/untimed full Mocks. */
.aba-board-page .aba-lab-empty-results{display:flex;min-height:132px;align-items:center;justify-content:center;gap:14px;margin-top:16px;padding:24px;border:1px dashed #fb76a4;border-radius:14px;background:#f5ebdd;color:#ac2153;text-align:left}
.aba-board-page .aba-lab-empty-results>i{font-size:30px;color:#d81b60}
.aba-board-page .aba-lab-empty-results>div{display:grid;gap:4px}
.aba-board-page .aba-lab-empty-results strong{color:#ac2153;font-size:18px}
.aba-board-page .aba-lab-empty-results span{color:#ac2153;line-height:1.4}

/* v187: ABA Class-style, data-driven graphs for the graph practice bank. */
.aba-lab-graph{width:min(860px,100%);margin:0 auto 24px;padding:16px 18px 10px;border:1px solid #f5ebdd;border-radius:14px;background:#f5ebdd;box-shadow:0 12px 30px rgba(172,33,83,.08)}
.aba-lab-graph figcaption{margin:0 0 6px;color:#ac2153;font-size:20px;font-weight:800;text-align:center}
.aba-lab-graph svg{display:block;width:100%;height:auto;overflow:visible}
.aba-lab-graph .graph-grid{stroke:#f5ebdd;stroke-width:1}
.aba-lab-graph .graph-axis{stroke:#ac2153;stroke-width:2.5}
.aba-lab-graph .graph-phase{stroke:#ac2153;stroke-width:1.5;stroke-dasharray:7 6}
.aba-lab-graph .graph-criterion{stroke:#ac2153;stroke-width:2;stroke-dasharray:9 6}
.aba-lab-graph .graph-criterion-label{fill:#ac2153;font:700 12px 'Barlow Semi Condensed',sans-serif}
.aba-lab-graph .graph-phase-label,.aba-lab-graph .graph-axis-label{fill:#ac2153;font:700 14px 'Barlow Semi Condensed',sans-serif}
.aba-lab-graph .graph-tick{fill:#ac2153;font:600 11px 'Barlow Semi Condensed',sans-serif}
.aba-lab-graph .graph-line{fill:none;stroke:var(--graph-color);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.aba-lab-graph .graph-line.is-dashed{stroke-dasharray:10 7}
.aba-lab-graph .graph-point{fill:#ffffff;stroke:var(--graph-color);stroke-width:3}
.aba-domain-final-question>.aba-lab-graph{margin:0 auto 22px}
@media(max-width:650px){.aba-lab-graph{padding:8px 6px 4px}.aba-lab-graph figcaption{font-size:17px}}

/* v191: focused Graphs landing page and trial-performance graph. */
.aba-lab-domain-list.is-graph-single{display:block!important}
.aba-lab-domain-list.is-graph-single>.aba-board-domain-card{display:grid!important;grid-template-columns:auto 1fr auto auto!important;min-height:92px!important;align-items:center!important;gap:16px!important;padding:18px 22px!important;border-color:#f5ebdd!important;background:#f5ebdd!important;text-align:left!important;transform:none!important}
.aba-lab-domain-list.is-graph-single>.aba-board-domain-card>strong{order:1!important;min-height:0!important;font-size:21px!important}
.aba-lab-domain-list.is-graph-single>.aba-board-domain-card>.aba-lab-domain-code{display:none!important}
.aba-lab-domain-list.is-graph-single>.aba-board-domain-card>small{order:2!important;margin:0!important;font-size:14px!important}
.aba-lab-domain-list.is-graph-single>.aba-board-domain-card>.aba-btn{position:relative!important;inset:auto!important;order:3!important;width:auto!important;min-width:210px!important;min-height:48px!important;padding:12px 18px!important;font-size:14px!important;color:#ffffff!important;background:#ac2153!important}
.aba-lab-domain-list.is-graph-single>.aba-board-domain-card>.aba-btn.ghost{order:4!important;color:#ac2153!important;background:#ffffff!important}
.aba-graph-attempt-history{margin:12px 0 0;padding:18px;border:1px solid #f5ebdd;border-radius:14px;background:#f5ebdd;box-shadow:0 10px 28px rgba(172,33,83,.08)}
.aba-graph-attempt-history>header{display:flex;align-items:center;justify-content:space-between;margin:0 4px 12px;color:#ac2153}.aba-graph-attempt-history>header strong{font-size:20px}.aba-graph-attempt-history>header span{font-size:18px;font-weight:800}
.aba-graph-attempt-history svg{display:block;width:100%;height:auto}
.aba-graph-attempt-history line{stroke:#f5ebdd;stroke-width:1}.aba-graph-attempt-history line.is-axis{stroke:#ac2153;stroke-width:2}
.aba-graph-attempt-history polyline{fill:none;stroke:#ac2153;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.aba-graph-attempt-history circle{fill:#ac2153;stroke:#ffffff;stroke-width:3}.aba-graph-attempt-history circle.is-empty{fill:#f5ebdd;stroke:#ffffff}.aba-graph-attempt-history circle.is-failed{fill:#ac2153}.aba-graph-attempt-history circle.is-passed{fill:#ac2153}
.aba-graph-attempt-history line.is-result-connector{stroke-width:4;stroke-linecap:round}.aba-graph-attempt-history line.is-result-connector.is-failed{stroke:#ac2153}.aba-graph-attempt-history line.is-result-connector.is-passed{stroke:#ac2153}
.aba-graph-attempt-history text{fill:#ac2153;font:600 12px 'Barlow Semi Condensed',sans-serif}.aba-graph-attempt-history text.is-label{fill:#ac2153;font-size:15px;font-weight:800}
.aba-graph-attempt-history figcaption{margin:8px 0 14px;color:#ac2153;font-size:20px;font-weight:800;text-align:center}
.aba-results-heading{display:flex;align-items:center;justify-content:flex-start;gap:16px}.aba-results-heading h2{margin:0}.aba-results-heading h2 strong{color:#ac2153;font:inherit}
.aba-lab-domain-board.is-standalone .aba-lab-standalone-title::after{display:block!important}
.aba-graph-trial-buttons{position:relative;height:52px;margin:0 0 2px}.aba-graph-trial-buttons a,.aba-graph-trial-buttons span{position:absolute;top:0;left:calc(6.105% + (var(--trial-slot, 1) * 9.053%));display:flex;width:9%;min-width:62px;transform:translateX(-50%);flex-direction:column;align-items:center;justify-content:flex-start;border:0;background:transparent;color:#ac2153;text-decoration:none;line-height:1.05}.aba-graph-trial-buttons a.is-failed{color:#ac2153}.aba-graph-trial-buttons a.is-passed{color:#ac2153}.aba-graph-trial-buttons a:hover strong{text-decoration:underline;text-underline-offset:3px}.aba-graph-trial-buttons time{margin-top:5px;font-size:10px;line-height:1.15;text-align:center}.aba-graph-trial-buttons strong{font-size:13px;white-space:nowrap}
.aba-domain-final-question>.aba-lab-graph{margin:22px auto 24px}
@media(max-width:850px){.aba-lab-domain-list.is-graph-single>.aba-board-domain-card{grid-template-columns:1fr!important}.aba-lab-domain-list.is-graph-single>.aba-board-domain-card>.aba-btn{width:100%!important}}
@media(max-width:760px){.aba-graph-attempt-history{overflow-x:auto}.aba-graph-attempt-history svg,.aba-graph-trial-buttons{min-width:780px}}
/* Student readiness metrics */
.aba-error-patterns{margin-top:20px}.aba-error-patterns>p{color:#fb76a4}.aba-error-pattern-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.aba-error-pattern-list article{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #f5ebdd;border-radius:13px;background:#f5ebdd}.aba-error-pattern-list article>b{display:grid;place-items:center;min-height:40px;border-radius:10px;background:#ac2153;color:#ffffff}.aba-error-pattern-list strong,.aba-error-pattern-list span{display:block}.aba-error-pattern-list span{margin-top:3px;color:#fb76a4;font-size:12px}.aba-error-pattern-list a{color:#ac2153;font-weight:900;text-decoration:none}
@media(max-width:1050px){.aba-error-pattern-list{grid-template-columns:1fr 1fr}}@media(max-width:650px){.aba-error-pattern-list{grid-template-columns:1fr}.aba-error-pattern-list article{grid-template-columns:42px minmax(0,1fr)}.aba-error-pattern-list a{grid-column:2}}
.aba-student-metrics{background:#f5ebdd;color:#ac2153;min-height:100vh;padding:34px 28px 70px}.aba-metrics-shell{max-width:1480px;margin:0 auto}.aba-metrics-title{margin:0 0 24px}.aba-metrics-title h1{font-size:clamp(38px,4vw,58px);line-height:1;margin:0;font-weight:900;color:#ac2153}.aba-metrics-title i{display:block;width:74px;height:5px;border-radius:9px;background:#ac2153;margin:14px 0}.aba-metrics-title p{margin:0;color:#fb76a4;font-size:16px}.aba-readiness-hero,.aba-metrics-card,.aba-metric-strip{background:#ffffff;border:1px solid #f5ebdd;border-radius:18px;box-shadow:0 13px 32px rgba(172,33,83,.07)}.aba-readiness-hero{display:grid;grid-template-columns:190px 1fr 220px;gap:28px;align-items:center;padding:26px 30px;margin-bottom:20px;background:linear-gradient(110deg,#ffffff 0,#ffffff 48%,#f5ebdd 100%)}.aba-readiness-score{width:158px;height:158px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ac2153 calc(var(--score)*1%),#f5ebdd 0);position:relative}.aba-readiness-score:after{content:"";position:absolute;inset:13px;border-radius:50%;background:white}.aba-readiness-score span{z-index:1;font-size:38px;font-weight:900}.aba-readiness-hero.is-not_ready .aba-readiness-score{background:conic-gradient(#ac2153 calc(var(--score)*1%),#f5ebdd 0)}.aba-readiness-hero.is-almost .aba-readiness-score{background:conic-gradient(#fb76a4 calc(var(--score)*1%),#f5ebdd 0)}.aba-readiness-copy small,.aba-metrics-card>small,.aba-metrics-card header small,.aba-exam-window small{font-weight:900;letter-spacing:.08em;color:#ac2153}.aba-readiness-copy h2{font-size:31px;margin:5px 0 7px}.aba-readiness-copy p{color:#fb76a4;margin:0}.aba-readiness-alert,.aba-readiness-note{border-left:4px solid #ac2153;background:#f5ebdd;padding:9px 12px;margin-top:12px;border-radius:8px;font-weight:700;font-size:13px}.aba-readiness-note{border-color:#fb76a4;background:#f5ebdd;color:#ac2153}.aba-readiness-evidence{border-left:1px solid #f5ebdd;padding-left:25px}.aba-readiness-evidence>b{font-size:48px;display:block}.aba-readiness-evidence>span{font-weight:800}.aba-readiness-evidence div{color:#ac2153;margin-top:16px;font-size:13px}.aba-readiness-evidence em{font-style:normal;font-weight:900;color:#ac2153}.aba-metric-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:20px;overflow:hidden}.aba-metric-strip article{padding:20px 24px;border-right:1px solid #f5ebdd}.aba-metric-strip article:last-child{border:0}.aba-metric-strip span,.aba-metric-strip small{display:block;color:#ac2153}.aba-metric-strip strong{display:block;font-size:32px;margin:4px 0}.aba-metrics-grid{display:grid;gap:20px}.aba-metrics-grid-main{grid-template-columns:1.15fr .85fr;margin-bottom:20px}.aba-metrics-card{padding:24px 26px}.aba-metrics-card header,.aba-study-forecast>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.aba-metrics-card h2{font-size:24px;margin:3px 0 18px}.aba-metrics-card header>span{background:#f5ebdd;border-radius:999px;padding:7px 12px;font-weight:800;font-size:12px}.aba-domain-row{display:grid;grid-template-columns:42px 1fr 54px;gap:12px;align-items:center;margin:12px 0}.aba-domain-row>b{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ac2153;color:white}.aba-domain-row>div>span{font-size:13px;font-weight:800}.aba-domain-row i{height:11px;display:block;background:#f5ebdd;border-radius:99px;margin-top:5px;overflow:hidden}.aba-domain-row u{display:block;height:100%;background:#ac2153;border-radius:99px}.aba-domain-row.is-mastered u{background:#ac2153}.aba-domain-row>strong{text-align:right}.aba-spark-chart{min-height:245px;position:relative}.aba-spark-chart svg{width:100%;height:230px}.aba-spark-chart .grid line{stroke:#f5ebdd;stroke-width:1}.aba-spark-chart polyline{fill:none;stroke:#ac2153;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.aba-spark-chart circle{stroke:#ffffff;stroke-width:4;fill:#ac2153}.aba-spark-chart circle.review{fill:#ac2153}.aba-spark-chart>div{display:flex;justify-content:space-between;color:#ac2153;font-size:11px}.aba-spark-chart.is-empty:after{content:"No completed full mocks yet";position:absolute;inset:80px 0 auto;text-align:center;color:#fb76a4}.aba-trend-card>p{color:#fb76a4;font-size:13px}.aba-study-forecast{margin-bottom:20px}.aba-study-forecast header>strong{color:#ac2153}.aba-hourly-track{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.aba-hourly-track article{background:#f5ebdd;border:1px solid #f5ebdd;border-radius:14px;padding:15px;position:relative}.aba-hourly-track article:before{content:"";display:block;height:75px;border-radius:10px;background:linear-gradient(to top,rgba(172,33,83,.32) 0 calc(var(--slot-score)*1%),transparent calc(var(--slot-score)*1%)),repeating-linear-gradient(to top,transparent 0 18px,#f5ebdd 19px)}.aba-hourly-track article>span{position:absolute;left:15px;right:15px;top:calc(90px - var(--slot-score)*.75px);height:3px;background:#ac2153}.aba-hourly-track b,.aba-hourly-track em,.aba-hourly-track small{display:block}.aba-hourly-track em{font-style:normal;font-size:24px;font-weight:900;margin-top:8px}.aba-hourly-track small{color:#fb76a4}.aba-exam-window{display:grid;grid-template-columns:1fr 1fr;gap:28px;background:#f5ebdd;border-radius:14px;padding:20px}.aba-exam-window h3{font-size:26px;margin:4px 0}.aba-exam-window p,.aba-exam-window li{color:#ac2153}.aba-insight-grid{grid-template-columns:repeat(3,1fr)}.aba-insight-grid h3{font-size:19px}.aba-mini-gauge{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ac2153 calc(var(--value)*1%),#f5ebdd 0);margin:16px 0;position:relative}.aba-mini-gauge:after{content:"";position:absolute;inset:12px;background:white;border-radius:50%}.aba-mini-gauge span{z-index:1;font-size:22px;font-weight:900}.aba-insight-grid a{color:#ac2153;font-weight:900}.aba-reading-card div{padding:12px 0;border-top:1px solid #f5ebdd}.aba-reading-card div span,.aba-reading-card div b{display:block}.aba-reading-card div span{color:#ac2153;font-size:12px}.aba-metrics-disclaimer{text-align:center;color:#ac2153;margin:24px auto 0;font-size:12px}.aba-metrics-embed-body{margin:0;background:#f5ebdd}.aba-metrics-embed-body .aba-student-metrics{padding-top:26px}
@media(max-width:900px){.aba-student-metrics{padding:24px 14px 60px}.aba-readiness-hero{grid-template-columns:1fr;text-align:center}.aba-readiness-score{margin:auto}.aba-readiness-evidence{border-left:0;border-top:1px solid #f5ebdd;padding:16px 0 0}.aba-metric-strip,.aba-metrics-grid-main,.aba-insight-grid,.aba-exam-window{grid-template-columns:1fr 1fr}.aba-metric-strip article:nth-child(2){border-right:0}.aba-hourly-track{grid-template-columns:1fr 1fr}}@media(max-width:560px){.aba-metric-strip,.aba-metrics-grid-main,.aba-insight-grid,.aba-exam-window{grid-template-columns:1fr}.aba-metric-strip article{border-right:0;border-bottom:1px solid #f5ebdd}.aba-hourly-track{grid-template-columns:1fr 1fr}.aba-readiness-hero{padding:22px 16px}}

/* Metrics v198: actionable mastery, reading evidence and time-of-day forecast */
.aba-domain-row{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;grid-template-columns:42px minmax(0,1fr) 54px 18px;cursor:pointer;padding:2px 0}.aba-domain-row:hover{background:#f5ebdd;border-radius:12px}.aba-domain-row>em{font-size:20px;font-style:normal;transition:transform .2s}.aba-domain-row[aria-expanded=true]>em{transform:rotate(180deg)}.aba-domain-details{margin:0 0 10px 54px;padding:10px 12px;border-left:3px solid #ac2153;background:#f5ebdd;border-radius:0 12px 12px 0}.aba-domain-details>div{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:9px;padding:6px 0}.aba-domain-details i{display:block;height:7px;border-radius:99px;background:#f5ebdd;overflow:hidden}.aba-domain-details u{display:block;height:100%;border-radius:99px;background:#ac2153}.aba-domain-details strong{text-align:right;font-size:12px}.aba-domain-details p{margin:4px;color:#ac2153;font-size:13px}
.aba-spark-chart .trend-line{fill:none;stroke:#fb76a4;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.aba-spark-chart .trend-area{fill:url(#mockTrendFill);stroke:none}.aba-spark-chart circle{cursor:help}.aba-spark-chart.is-empty:after{content:"No completed full mocks yet"}
.aba-hourly-track{grid-template-columns:repeat(3,1fr);gap:18px}.aba-hourly-track article{text-align:center;background:#f5ebdd;padding:16px 14px 18px}.aba-hourly-track article:before,.aba-hourly-track article>span{display:none}.aba-time-gauge{width:150px;height:122px;margin:0 auto 8px;position:relative}.aba-time-gauge svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.aba-time-gauge path{fill:none;stroke-linecap:round;stroke-width:8}.aba-time-gauge .track{stroke:#f5ebdd}.aba-time-gauge .value{stroke:#fb76a4;stroke-dasharray:0 100}.aba-time-gauge .marker{fill:#fb76a4;stroke:#ffffff;stroke-width:3;filter:drop-shadow(0 2px 3px rgba(172,33,83,.25))}.aba-time-gauge img{position:absolute;width:38px;height:38px;object-fit:contain;left:56px;top:14px}.aba-time-gauge em{position:absolute;inset:55px 0 auto;font-size:27px}.aba-hourly-track article>b{font-size:17px}.aba-exam-window{display:grid;grid-template-columns:minmax(270px,.7fr) 1.3fr;align-items:center}.aba-exam-choice{display:flex;align-items:center;gap:20px}.aba-exam-choice img{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(172,33,83,.16))}.aba-exam-window>p{margin:0;font-size:15px;line-height:1.65}.aba-reading-card>a{position:relative;display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:12px 0;border-top:1px solid #f5ebdd;color:#ac2153;text-decoration:none}.aba-reading-card>a span{grid-column:1/-1;color:#ac2153;font-size:12px}.aba-reading-card>a b{min-width:0}.aba-reading-card>a em{font-style:normal;color:#ac2153;font-weight:900}.aba-reading-card>a:hover b{text-decoration:underline}.aba-error-pattern-list article{grid-template-columns:46px minmax(0,1fr) auto}.aba-error-pattern-list nav{display:grid;gap:7px}.aba-error-pattern-list nav a{white-space:nowrap}.aba-error-pattern-list nav a:last-child{color:#ac2153}
@media(max-width:900px){.aba-hourly-track{grid-template-columns:repeat(3,1fr)}.aba-exam-window{grid-template-columns:1fr}.aba-error-pattern-list article{grid-template-columns:42px minmax(0,1fr)}.aba-error-pattern-list nav{grid-column:2;grid-template-columns:auto auto;justify-content:start}}@media(max-width:650px){.aba-hourly-track{grid-template-columns:1fr}.aba-time-gauge{width:170px}.aba-exam-choice img{width:66px;height:66px}.aba-domain-details{margin-left:18px}}

/* v199 actionable metrics refinements */
.aba-domain-row.is-review u,.aba-domain-details>div.is-review u{background:#ac2153}.aba-domain-row.is-almost u,.aba-domain-details>div.is-almost u{background:#fb76a4}.aba-domain-row.is-mastered u,.aba-domain-details>div.is-mastered u{background:#ac2153}.aba-domain-details u{background:#ac2153}
.aba-exam-window{margin:0 0 20px;grid-template-columns:minmax(300px,.72fr) 1.28fr}.aba-exam-suggestions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:14px 0 0;list-style:none;border-top:1px solid #f5ebdd}.aba-exam-suggestions li{position:relative;padding-left:17px;font-size:12px}.aba-exam-suggestions li:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;left:0;top:.48em;background:#ac2153}
.aba-mock-arc{min-height:245px;display:grid;place-items:center;align-content:center;position:relative}.aba-mock-arc svg{width:min(100%,390px);height:175px;overflow:visible}.aba-mock-arc line{stroke:#f5ebdd;stroke-width:1}.aba-mock-arc path{fill:none;stroke-linecap:round;stroke-width:9}.aba-mock-arc .arc-tail{stroke:#f5ebdd}.aba-mock-arc .arc-main{stroke:url(#mockArcGradient)}.aba-mock-arc .arc-end{fill:#ffffff;stroke:#f5ebdd;stroke-width:2}.aba-mock-arc .arc-current{fill:#ac2153;stroke:#ffffff;stroke-width:4;filter:drop-shadow(0 3px 4px rgba(172,33,83,.2))}.aba-mock-arc strong{font-size:22px;color:#ac2153;margin-top:-18px}.aba-mock-arc.is-empty:after{content:"No completed full mocks yet";color:#fb76a4}.aba-mock-arc.is-empty svg,.aba-mock-arc.is-empty strong{display:none}
.aba-time-gauge .value{stroke:#fb76a4}.aba-time-gauge img[data-gauge-icon]{left:50%;top:16%;width:40px;height:40px;transform:translate(-50%,-50%);z-index:2;transition:left .45s ease,top .45s ease}.aba-time-gauge em{z-index:1}
@media(max-width:900px){.aba-exam-window{grid-template-columns:1fr}.aba-exam-suggestions{grid-template-columns:1fr}.aba-exam-suggestions{grid-column:auto}}

/* v200 profile exam evidence and non-clickable recommendations */
.aba-time-gauge img[data-gauge-icon]{transition:none!important;transform:translate(-50%,-50%);pointer-events:none}
.aba-metrics-title{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.aba-profile-exam-summary{width:min(620px,55%);display:grid;gap:9px}.aba-profile-exam-summary>small{font-weight:900;letter-spacing:.07em;color:#ac2153}.aba-exam-countdown{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #f5ebdd;border-radius:10px;overflow:hidden;background:#ffffff}.aba-exam-countdown span{display:grid;text-align:center;padding:9px 12px;color:#ac2153;font-weight:800;border-right:1px solid #f5ebdd}.aba-exam-countdown span:last-child{border:0}.aba-exam-countdown b{font-size:27px;color:#ac2153}.aba-reported-domains{display:flex;gap:7px;flex-wrap:wrap}.aba-reported-domains span{padding:7px 10px;border-radius:9px;background:#f5ebdd;color:#ac2153;font-weight:800}.aba-reported-domains b{color:#ac2153;margin-right:4px}.aba-domain-row small{display:block;color:#fb76a4;font-size:10px;margin-top:2px}.aba-priority-label{display:inline-block;padding:10px 13px;border-radius:9px;background:#f5ebdd;border:1px solid #ac2153;color:#ac2153;font-weight:900}.aba-reading-card>div{position:relative;display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:12px 0;border-top:1px solid #f5ebdd}.aba-reading-card>div span{grid-column:1/-1;color:#ac2153;font-size:12px}.aba-reading-card>div em{font-style:normal;color:#ac2153;font-weight:900}.aba-reading-card>div.is-attention span,.aba-reading-card>div.is-attention b,.aba-reading-card>div.is-attention em{color:#ac2153}.aba-error-pattern-list article{grid-template-columns:46px minmax(0,1fr)}
@media(max-width:900px){.aba-metrics-title{display:grid}.aba-profile-exam-summary{width:100%}}@media(max-width:560px){.aba-exam-countdown span{padding:7px 4px;font-size:11px}.aba-exam-countdown b{font-size:21px}}

/* v201 weekly mock Top 10 */
.aba-mock-ranking-page{background:linear-gradient(180deg,#f5ebdd,#ffffff 52%)}.aba-mock-ranking-page .aba-admin-shell{max-width:1180px}.aba-ranking-demo-note{margin:4px 0 18px;padding:11px 14px;border-left:4px solid #fb76a4;border-radius:8px;background:#f5ebdd;color:#ac2153;font-weight:700}.aba-ranking-podium{min-height:430px;display:flex;align-items:flex-end;justify-content:center;gap:18px;padding:38px 30px 0;overflow:hidden;background:radial-gradient(circle at 50% 5%,#f5ebdd 0,#ffffff 48%)}.aba-ranking-podium article{width:min(29%,280px);display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.aba-ranking-podium .place-1{order:2}.aba-ranking-podium .place-2{order:1}.aba-ranking-podium .place-3{order:3}.aba-ranking-medal{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#f5ebdd;color:#ffffff;font-size:21px;font-weight:900;box-shadow:0 7px 16px rgba(172,33,83,.2);z-index:2}.place-1 .aba-ranking-medal{width:52px;height:52px;background:linear-gradient(135deg,#f5ebdd,#fb76a4);font-size:26px}.place-3 .aba-ranking-medal{background:linear-gradient(135deg,#fb76a4,#ac2153)}.aba-ranking-avatar{width:92px;height:92px;margin:10px 0 8px;border:5px solid #f5ebdd;border-radius:50%;background:#f5ebdd;display:grid;place-items:center;font-size:28px;overflow:hidden}.place-1 .aba-ranking-avatar{width:116px;height:116px;border-color:#f5ebdd}.place-3 .aba-ranking-avatar{border-color:#fb76a4}.aba-ranking-avatar .aba-avatar-core,.aba-ranking-avatar img{width:100%;height:100%}.aba-ranking-podium h2{font-size:20px;margin:0;color:#ac2153}.aba-ranking-podium small{color:#ac2153;min-height:19px}.aba-ranking-podium strong{font-size:24px;color:#ac2153;margin-top:7px}.aba-ranking-podium p{margin:3px 0 13px;color:#fb76a4}.aba-ranking-step{width:100%;height:105px;border-radius:15px 15px 0 0;background:linear-gradient(180deg,#fb76a4,#fb76a4);box-shadow:inset 0 3px 0 rgba(255,255,255,.45)}.place-1 .aba-ranking-step{height:160px;background:linear-gradient(180deg,#f5ebdd,#fb76a4)}.place-3 .aba-ranking-step{height:78px;background:linear-gradient(180deg,#fb76a4,#ac2153)}.aba-ranking-rest{margin-top:20px}.aba-ranking-rest>h2{margin-top:0}.aba-ranking-row{display:grid;grid-template-columns:36px 50px minmax(0,1fr) auto auto;gap:13px;align-items:center;padding:13px 15px;border:1px solid #f5ebdd;border-radius:11px;background:#ffffff}.aba-ranking-row.is-me{border-color:#ac2153;background:#f5ebdd}.aba-ranking-row.is-demo,.aba-ranking-podium article.is-demo{opacity:.82}.aba-ranking-row em{font-style:normal;color:#ac2153;font-size:17px;font-weight:900}.aba-ranking-row>b{color:#ac2153;font-weight:700}.aba-ranking-row strong small{display:block;color:#ac2153;font-size:11px;font-weight:600}
@media(max-width:760px){.aba-ranking-podium{gap:7px;padding:28px 8px 0}.aba-ranking-podium article{width:33%}.aba-ranking-avatar{width:67px;height:67px}.place-1 .aba-ranking-avatar{width:82px;height:82px}.aba-ranking-podium h2{font-size:14px}.aba-ranking-podium strong{font-size:17px}.aba-ranking-podium p{font-size:11px}.aba-ranking-row{grid-template-columns:34px 44px 1fr auto}.aba-ranking-row>b{grid-column:3/-1}.aba-leaderboard-hero{grid-template-columns:1fr 1fr}}

/* v202 premium 3D podium */
.aba-ranking-title{margin:8px 0 26px}.aba-ranking-title h1{margin:4px 0 0;color:#ac2153;font-size:clamp(38px,4vw,58px);line-height:1;font-weight:900}.aba-ranking-title i{display:block;width:74px;height:5px;margin-top:14px;border-radius:9px;background:#ac2153}.aba-ranking-title .aba-kicker{color:#ac2153;font-weight:900;letter-spacing:.1em}.aba-ranking-podium{min-height:570px;padding-top:155px;border:0;background-image:linear-gradient(180deg,rgba(172,33,83,.04),rgba(172,33,83,.3)),url('../images/weekly-ranking-hero-3d.png');background-size:cover;background-position:center;box-shadow:0 18px 45px rgba(172,33,83,.2)}.aba-ranking-podium article{padding-top:26px;border-radius:25px 25px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,235,221,.93));box-shadow:0 -8px 30px rgba(172,33,83,.16);backdrop-filter:blur(5px)}.aba-ranking-podium article.is-demo,.aba-ranking-row.is-demo{opacity:1}.aba-ranking-medal{position:absolute;top:-48px;width:72px;height:72px;border:5px solid rgba(255,255,255,.85);border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#f5ebdd,#fb76a4 55%,#ac2153);box-shadow:inset 0 5px 7px rgba(255,255,255,.65),0 8px 18px rgba(172,33,83,.25);z-index:5}.place-2 .aba-ranking-medal{background:linear-gradient(145deg,#ffffff,#f5ebdd 55%,#ac2153)}.place-3 .aba-ranking-medal{background:linear-gradient(145deg,#f5ebdd,#fb76a4 55%,#ac2153)}.aba-ranking-medal b{font-size:34px;line-height:1;color:#ffffff;text-shadow:0 2px 4px rgba(172,33,83,.45);z-index:2}.aba-ranking-medal i,.aba-ranking-medal u{position:absolute;top:53px;width:24px;height:48px;z-index:-1}.aba-ranking-medal i{left:7px;background:linear-gradient(90deg,#ac2153 0 33%,#ffffff 33% 66%,#ac2153 66%);clip-path:polygon(0 0,100% 0,85% 100%,50% 78%,15% 100%)}.aba-ranking-medal u{right:7px;background:linear-gradient(90deg,#ac2153 0 33%,#ffffff 33% 66%,#ac2153 66%);clip-path:polygon(0 0,100% 0,85% 100%,50% 78%,15% 100%)}.aba-ranking-avatar{margin-top:10px;background:#ffffff}.aba-ranking-podium article>strong{color:#ac2153}.aba-ranking-step{position:relative;border:1px solid rgba(255,255,255,.45);background:linear-gradient(145deg,#fb76a4,#ac2153 55%,#ac2153);box-shadow:inset 10px 10px 20px rgba(255,255,255,.25),inset -12px -12px 24px rgba(172,33,83,.3),0 -7px 18px rgba(172,33,83,.18)}.place-1 .aba-ranking-step{background:linear-gradient(145deg,#f5ebdd,#fb76a4 55%,#ac2153)}.place-3 .aba-ranking-step{background:linear-gradient(145deg,#fb76a4,#ac2153 55%,#ac2153)}.aba-ranking-step span{position:absolute;inset:16px 0 auto;color:#ffffff;font-size:52px;font-weight:900;text-shadow:0 4px 8px rgba(172,33,83,.25)}.aba-leaderboard-position{background:#fb76a4;color:#ac2153;font-weight:900}.aba-ranking-row em{color:#fb76a4}.aba-ranking-row>b{color:#ac2153}.aba-ranking-row .aba-community-avatar{overflow:hidden}.aba-ranking-row .aba-community-avatar .aba-avatar-core,.aba-ranking-row .aba-community-avatar img{width:100%;height:100%}
@media(max-width:760px){.aba-ranking-podium{min-height:500px;padding-top:130px;background-position:62% center}.aba-ranking-podium article{padding-top:24px}.aba-ranking-medal{top:-38px;width:58px;height:58px}.aba-ranking-medal b{font-size:27px}.aba-ranking-medal i,.aba-ranking-medal u{top:42px;height:38px;width:19px}.aba-ranking-step span{font-size:38px}}

/* v203 translucent full-color podium */
.aba-ranking-podium{background-image:linear-gradient(180deg,rgba(245,235,221,.46),rgba(172,33,83,.54)),url('../images/weekly-ranking-hero-3d.png');background-blend-mode:screen,normal}.aba-ranking-podium article{overflow:visible;border:1px solid rgba(255,255,255,.48);box-shadow:inset 12px 12px 28px rgba(255,255,255,.18),inset -15px -15px 30px rgba(172,33,83,.16),0 -10px 30px rgba(172,33,83,.2);backdrop-filter:blur(7px)}.aba-ranking-podium .place-1{background:linear-gradient(160deg,rgba(245,235,221,.86),rgba(251,118,164,.76))}.aba-ranking-podium .place-2{background:linear-gradient(160deg,rgba(245,235,221,.88),rgba(251,118,164,.78))}.aba-ranking-podium .place-3{background:linear-gradient(160deg,rgba(251,118,164,.88),rgba(172,33,83,.78))}.aba-ranking-podium .aba-ranking-medal,.aba-ranking-podium .place-1 .aba-ranking-medal,.aba-ranking-podium .place-2 .aba-ranking-medal,.aba-ranking-podium .place-3 .aba-ranking-medal{top:-42px;width:72px;height:72px}.aba-ranking-medal i,.aba-ranking-medal u{display:none}.aba-ranking-podium h2,.aba-ranking-podium article>strong,.aba-ranking-podium p{position:relative;z-index:2}.aba-ranking-podium h2{color:#ac2153}.aba-ranking-podium article>strong{color:#ac2153}.aba-ranking-podium p{color:#ac2153;font-weight:700}.aba-ranking-step{margin-top:auto;background:transparent!important;border:0;box-shadow:none}.aba-ranking-step span{color:rgba(255,255,255,.94);font-size:68px;text-shadow:0 5px 12px rgba(172,33,83,.35)}.aba-leaderboard-position{background:#fb76a4;color:#ffffff;box-shadow:0 4px 9px rgba(172,33,83,.25)}.aba-ranking-row em{color:#ac2153}
@media(max-width:760px){.aba-ranking-podium .aba-ranking-medal,.aba-ranking-podium .place-1 .aba-ranking-medal,.aba-ranking-podium .place-2 .aba-ranking-medal,.aba-ranking-podium .place-3 .aba-ranking-medal{top:-34px;width:58px;height:58px}.aba-ranking-step span{font-size:48px}}

/* v204 podium alignment and original background */
.aba-ranking-podium{background-image:url('../images/weekly-ranking-hero-3d.png');background-blend-mode:normal}.aba-ranking-podium .place-3 .aba-ranking-step{height:105px}

/* v205 ranking entrance confetti */
.aba-ranking-confetti{position:fixed;z-index:99999;inset:0;overflow:hidden;pointer-events:none}.aba-ranking-confetti i{position:absolute;left:var(--x);top:-24px;width:var(--size);height:var(--size);display:block;background:var(--color);border-radius:2px;box-shadow:0 1px 2px rgba(172,33,83,.15);animation:aba-ranking-confetti-fall var(--duration) cubic-bezier(.16,.72,.32,1) var(--delay) forwards}.aba-ranking-confetti i.is-strip{height:calc(var(--size)*1.8);width:calc(var(--size)*.52);border-radius:4px}@keyframes aba-ranking-confetti-fall{0%{transform:translate3d(0,-6vh,0) rotate(0);opacity:0}8%{opacity:1}78%{opacity:1}100%{transform:translate3d(var(--drift),108vh,0) rotate(var(--rotate));opacity:0}}@media(prefers-reduced-motion:reduce){.aba-ranking-confetti{display:none}}

/* v206 dedicated book library */
.aba-book-library-page{min-height:70vh;padding:42px 24px 70px;background:#f5ebdd}.aba-book-library-shell{max-width:1320px;margin:auto}.aba-book-library-title{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:24px}.aba-book-library-title h1{margin:0;color:#ac2153;font-size:clamp(38px,4vw,58px);line-height:1;font-weight:900}.aba-book-library-title i{display:block;width:74px;height:5px;margin:14px 0;border-radius:9px;background:#ac2153}.aba-book-library-title p{margin:0;color:#fb76a4}.aba-book-upload{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:22px;padding:22px;border:1px solid #f5ebdd;border-radius:16px;background:#ffffff;box-shadow:0 12px 28px rgba(172,33,83,.07)}.aba-book-upload label{display:grid;gap:6px;color:#ac2153;font-weight:800}.aba-book-upload input,.aba-book-upload textarea{width:100%;padding:11px;border:1px solid #f5ebdd;border-radius:9px;background:#ffffff}.aba-book-upload textarea{min-height:90px;resize:vertical}.aba-book-upload .wide{grid-column:1/-1}.aba-book-upload .check{display:flex;align-items:center}.aba-book-upload .check input{width:auto}.aba-book-search{display:flex;gap:10px;margin-bottom:24px}.aba-book-search input{flex:1;padding:13px 15px;border:1px solid #f5ebdd;border-radius:10px;background:#ffffff}.aba-book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.aba-book-card{overflow:hidden;border:1px solid #f5ebdd;border-radius:15px;background:#ffffff;box-shadow:0 11px 26px rgba(172,33,83,.08)}.aba-book-card>img,.aba-book-cover-placeholder{width:100%;aspect-ratio:3/4;object-fit:cover;background:linear-gradient(145deg,#ac2153,#ac2153);display:grid;place-items:center;color:#ffffff;font-size:64px}.aba-book-card>div:last-child{padding:17px}.aba-book-card small{color:#ac2153;font-weight:900}.aba-book-card h2{margin:5px 0;color:#ac2153;font-size:21px}.aba-book-card b{color:#ac2153}.aba-book-card p{color:#ac2153;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.aba-book-delete{margin-top:10px;padding:0;border:0;background:transparent;color:#ac2153;font-weight:800;cursor:pointer}.aba-book-empty{text-align:center;padding:60px}.aba-book-empty>i{font-size:55px;color:#fb76a4}
@media(max-width:1050px){.aba-book-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:750px){.aba-book-grid{grid-template-columns:repeat(2,1fr)}.aba-book-upload{grid-template-columns:1fr}.aba-book-upload .wide{grid-column:auto}}@media(max-width:480px){.aba-book-library-page{padding:28px 14px 55px}.aba-book-library-title{display:grid}.aba-book-grid{grid-template-columns:1fr}}
.aba-book-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.aba-book-price{color:#ac2153;font-size:18px}.aba-book-meta{font-size:13px!important;min-height:auto!important}.aba-book-discount{display:grid;gap:3px;margin:12px 0;padding:9px 11px;border:1px solid #fb76a4;border-radius:9px;background:#f5ebdd;color:#ac2153;font-size:13px}.aba-book-admin-actions{display:flex;align-items:center;gap:14px;margin-top:10px}.aba-book-admin-actions>button{padding:0;border:0;background:none;color:#ac2153;font-weight:800;cursor:pointer}.aba-book-modal{width:min(920px,calc(100% - 28px));max-height:92vh;padding:0;border:0;border-radius:18px;box-shadow:0 28px 80px #ac215355}.aba-book-modal::backdrop{background:#ac2153a8}.aba-book-modal.small{width:min(600px,calc(100% - 28px))}.aba-book-modal .aba-book-upload{margin:0;max-height:92vh;overflow:auto;border:0}.aba-book-modal header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.aba-book-modal header h2{margin:0;color:#ac2153}.aba-book-modal header button{border:0;background:none;font-size:28px;cursor:pointer}.aba-book-modal fieldset{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;border:1px solid #f5ebdd;border-radius:12px}.aba-book-modal footer{grid-column:1/-1;display:flex;gap:10px}.aba-book-lead{padding:24px}.aba-book-lead .grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.aba-book-lead label{display:grid;gap:6px;color:#ac2153;font-weight:800}.aba-book-lead input,.aba-book-upload select{width:100%;padding:11px;border:1px solid #f5ebdd;border-radius:9px}.aba-book-lead footer{margin-top:18px}@media(max-width:650px){.aba-book-modal fieldset,.aba-book-lead .grid{grid-template-columns:1fr}}
.aba-book-lead>label{margin-bottom:13px}.aba-payment-divider{display:flex;align-items:center;gap:12px;margin:17px 0;color:#ac2153;font-size:12px;text-align:center}.aba-payment-divider:before,.aba-payment-divider:after{content:"";height:1px;flex:1;background:#f5ebdd}.aba-payment-message{min-height:20px;color:#ac2153;font-weight:700}.aba-book-modal [data-payment-success]{padding:18px 0 8px;text-align:center}.aba-book-modal [data-payment-success] h3{color:#ac2153;font-size:25px}.aba-book-modal [data-payment-success] .aba-btn{display:inline-flex;margin-top:10px}.aba-book-modal [data-express-checkout]:empty{display:none}
.aba-checkout-header{position:relative;margin:-24px -24px 20px;padding:22px 64px 20px 24px;border-bottom:4px solid #ac2153;background:linear-gradient(135deg,#ac2153,#ac2153);color:#ffffff}.aba-checkout-header h2{margin:3px 0 0!important;color:#ffffff!important;font-size:24px}.aba-checkout-kicker{font-size:10px;font-weight:900;letter-spacing:1.2px;color:#f5ebdd}.aba-checkout-lock{position:absolute;right:48px;top:24px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffffff1f;color:#ffffff}.aba-checkout-header>[data-modal-close]{position:absolute;right:12px;top:18px;color:#ffffff}.aba-order-summary{display:grid;grid-template-columns:minmax(0,1fr) 80px 100px;gap:12px;margin-bottom:18px;padding:14px 15px;border:1px solid #f5ebdd;border-radius:12px;background:#f5ebdd}.aba-order-summary div{display:grid;gap:4px}.aba-order-summary span{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#ac2153;font-weight:800}.aba-order-summary strong{color:#ac2153}.aba-order-summary div:last-child{text-align:right}.aba-checkout-terms{display:flex!important;grid-template-columns:auto 1fr;align-items:flex-start;gap:9px;margin:14px 0!important;font-size:12px;font-weight:600!important;color:#ac2153!important}.aba-checkout-terms input{width:auto!important;margin-top:2px}.aba-secure-payment{display:block;margin-top:15px;text-align:center;color:#ac2153}.aba-secure-payment i{color:#fb76a4}.aba-book-modal [data-pay-now]{flex:1;justify-content:center;min-height:46px;background:#ac2153}.aba-book-modal [data-customer-step] footer{display:grid;grid-template-columns:1fr 1fr}@media(max-width:520px){.aba-order-summary{grid-template-columns:1fr 55px 75px}.aba-book-modal [data-customer-step] footer{grid-template-columns:1fr}.aba-checkout-header{padding-left:18px}.aba-book-lead{padding:18px}}
.aba-book-modal [data-customer-actions]{display:flex!important;justify-content:flex-end;margin-top:8px}.aba-book-modal [data-customer-actions] [data-prepare-payment]{display:none}.aba-book-modal [data-customer-actions] [data-recover-purchase]{border:0;background:transparent;color:#ac2153;text-decoration:underline;padding:4px 0}.aba-book-modal.small{width:min(680px,calc(100% - 28px));max-height:94vh;overflow:auto}
/* Compact library checkout */
.aba-book-modal.small{width:min(570px,calc(100% - 24px));border:6px solid #f5ebdd;border-radius:2px;background:#ffffff;box-shadow:0 18px 55px #ac215355}.aba-book-modal.small .aba-book-lead{padding:20px}.aba-checkout-header{display:block;position:relative;margin:0 0 14px;padding:7px 36px 9px;border:1px solid #f5ebdd;border-radius:5px;background:#ffffff;color:#ac2153;text-align:center}.aba-checkout-header h2{margin:2px 0 0!important;color:#ac2153!important;font-size:16px}.aba-checkout-kicker{display:block;color:#ac2153;font-size:11px;letter-spacing:0;font-weight:800;text-transform:none}.aba-checkout-lock{display:none}.aba-checkout-header>[data-modal-close]{right:-35px;top:-39px;width:23px;height:23px;border:2px solid #ffffff;border-radius:50%;background:#ac2153;color:#ffffff;font-size:17px;line-height:17px}.aba-book-modal.small .aba-book-lead>header+input+section{margin-top:0}.aba-book-modal.small .aba-book-lead label{gap:4px;margin-bottom:8px;color:#ac2153;font-family:Arial,sans-serif;font-size:12px}.aba-book-modal.small .aba-book-lead input{padding:9px 10px;border-color:#f5ebdd;border-radius:3px;font-family:Arial,sans-serif}.aba-order-summary{grid-template-columns:minmax(0,1fr) 70px 90px;gap:8px;margin:15px 0 10px;padding:10px 0 7px;border:0;border-top:1px solid #f5ebdd;border-bottom:1px solid #f5ebdd;border-radius:0;background:#ffffff}.aba-order-summary span{font-family:Arial,sans-serif;font-size:10px;color:#ac2153;text-transform:none;letter-spacing:0}.aba-order-summary strong{font-family:Arial,sans-serif;font-size:12px;color:#ac2153}.aba-payment-divider{margin:12px 0}.aba-book-modal.small [data-payment-element]{padding:8px;border:1px solid #f5ebdd;border-radius:12px}.aba-checkout-terms{margin:11px 0!important;font-family:Arial,sans-serif!important;font-size:11px!important}.aba-book-modal.small [data-pay-now]{border-radius:3px;background:#ac2153}.aba-secure-payment{margin-top:9px;font-family:Arial,sans-serif;font-size:10px}.aba-book-modal [data-customer-actions]{margin-top:2px}.aba-book-modal [data-customer-actions] [data-recover-purchase]{font-family:Arial,sans-serif;font-size:11px}@media(max-width:520px){.aba-book-modal.small .aba-book-lead{padding:15px}.aba-checkout-header>[data-modal-close]{right:-29px;top:-34px}}
.aba-book-modal.small[open]{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;max-width:calc(100vw - 32px);max-height:84vh;overflow:hidden}.aba-book-modal.small .aba-book-lead{box-sizing:border-box;max-height:calc(84vh - 12px);overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.aba-book-modal.small .aba-checkout-header{position:sticky;top:0;z-index:8;background:#ffffff}.aba-book-modal.small .aba-checkout-header>[data-modal-close]{position:absolute;right:7px;top:7px;width:24px;height:24px;border:0;border-radius:50%;background:#ac2153;color:#ffffff;line-height:20px}.aba-book-modal.small [data-express-checkout],.aba-book-modal.small [data-payment-element]{box-sizing:border-box;max-width:100%;overflow:hidden}@media(max-width:520px){.aba-book-modal.small[open]{max-width:calc(100vw - 18px);max-height:86vh}.aba-book-modal.small .aba-book-lead{max-height:calc(86vh - 12px)}}

/* Library cards: preserve and showcase complete 3D cover artwork */
.aba-book-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:28px}.aba-book-card{position:relative;overflow:hidden;border:1px solid #f5ebdd;border-radius:20px;background:#ffffff;box-shadow:0 18px 42px rgba(172,33,83,.11);transition:transform .28s ease,box-shadow .28s ease}.aba-book-card:hover{transform:translateY(-7px);box-shadow:0 28px 58px rgba(172,33,83,.18)}.aba-book-card>img,.aba-book-cover-placeholder{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;object-position:center;background:linear-gradient(145deg,#f5ebdd,#f5ebdd);transition:transform .4s ease}.aba-book-card:hover>img{transform:scale(1.025)}.aba-book-card>div:last-child{position:relative;padding:20px 21px 22px;border-top:1px solid #f5ebdd;background:#ffffff}.aba-book-card-top{margin-bottom:7px}.aba-book-card h2{margin:4px 0 5px;font-size:23px;line-height:1.15}.aba-book-card .aba-btn.primary{margin-top:9px;box-shadow:0 7px 16px rgba(172,33,83,.16)}
@media(max-width:1050px){.aba-book-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}}@media(max-width:620px){.aba-book-grid{grid-template-columns:1fr;gap:22px}.aba-book-card{max-width:440px;margin-inline:auto;width:100%}}

/* Existing files shown while editing a library book */
.aba-current-book-file{margin-bottom:8px;padding:11px 12px;border:1px solid #f5ebdd;border-radius:9px;background:#f5ebdd;color:#ac2153;font-size:13px;font-weight:800;overflow-wrap:anywhere}.aba-current-book-file:before{content:"\f15b";margin-right:8px;font-family:"Font Awesome 6 Free";font-weight:900}.aba-current-cover{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:11px;margin-bottom:8px;padding:8px;border:1px solid #f5ebdd;border-radius:10px;background:#f5ebdd;color:#ac2153;font-size:12px;font-weight:800}.aba-current-cover img{width:72px;height:72px;display:block;border-radius:7px;object-fit:contain;background:#ffffff}.aba-book-upload input[type=file]{padding:8px;background:#f5ebdd}.aba-book-upload input[type=file]+em{color:#ac2153;font-size:11px;font-style:normal;font-weight:600}

/* Editorial library gallery */
.aba-book-grid{grid-template-columns:repeat(auto-fill,minmax(280px,340px));justify-content:start;gap:34px}.aba-book-card,.aba-book-card:hover{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}.aba-book-card>img,.aba-book-cover-placeholder{width:100%;aspect-ratio:1/1;border:1px solid #f5ebdd;border-radius:22px;object-fit:cover;background:#f5ebdd;box-shadow:0 18px 38px rgba(172,33,83,.14);transition:transform .3s ease,box-shadow .3s ease}.aba-book-card:hover>img{transform:translateY(-5px);box-shadow:0 27px 48px rgba(172,33,83,.2)}.aba-book-card>div:last-child{width:calc(100% - 28px);min-height:0;margin:-28px auto 0;padding:18px 19px 17px;border:1px solid #f5ebdd;border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 12px 27px rgba(172,33,83,.12);position:relative;z-index:2}.aba-book-card-top{margin:0 0 5px}.aba-book-card h2{margin:2px 0 3px;font-size:21px}.aba-book-card b{font-size:13px}.aba-book-card p{margin:7px 0;font-size:12px}.aba-book-card>div:last-child>p:not(.aba-book-meta){display:none}.aba-book-card .aba-btn.primary{width:100%;justify-content:center;margin-top:10px;min-height:43px;border-radius:9px}.aba-book-admin-actions{justify-content:center;margin-top:11px}.aba-book-price{font-size:19px}.aba-book-card small{font-size:11px}@media(max-width:620px){.aba-book-grid{grid-template-columns:minmax(0,380px);justify-content:center}.aba-book-card{max-width:380px}}

/* Premium document translation experience */
.aba-translations-page{min-height:75vh;padding:34px 22px 76px;background:linear-gradient(180deg,#f5ebdd 0,#f5ebdd 42%,#ffffff 100%)!important}.aba-translations-page .aba-admin-shell{max-width:1320px}.aba-translations-heading{position:relative;overflow:hidden;align-items:center;margin-bottom:26px;padding:34px 38px;border-radius:24px;background:linear-gradient(125deg,#ac2153 0,#ac2153 62%,#ac2153 100%);box-shadow:0 20px 46px rgba(172,33,83,.2);color:#ffffff}.aba-translations-heading:after{content:"文 · ABC";position:absolute;right:235px;bottom:-20px;color:rgba(255,255,255,.07);font-size:86px;font-weight:900;transform:rotate(-7deg)}.aba-translations-heading>div:first-child{position:relative;z-index:1}.aba-translations-heading .aba-kicker{color:#f5ebdd}.aba-translations-heading h1{margin:7px 0 8px;color:#ffffff;font-size:clamp(36px,4vw,56px);line-height:1}.aba-translations-heading p{margin:0;color:#f5ebdd;font-size:16px}.aba-translation-benefits{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.aba-translation-benefits span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);color:#ffffff;font-size:12px;font-weight:800}.aba-translation-benefits i{color:#f5ebdd}.aba-translations-heading .aba-translation-price{position:relative;z-index:2;min-width:230px;padding:22px 24px;border:1px solid rgba(255,255,255,.45);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 14px 30px rgba(172,33,83,.2)}.aba-translations-heading .aba-translation-price strong{font-size:42px}.aba-translations-heading .aba-translation-price span{font-size:13px}.aba-translation-layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:24px}.aba-translations-page .aba-panel{border:1px solid #f5ebdd;border-radius:20px;background:#ffffff;box-shadow:0 14px 34px rgba(172,33,83,.08)}.aba-translation-layout>.aba-panel{padding:26px}.aba-translation-layout h2{margin:0 0 5px;color:#ac2153;font-size:25px}.aba-translation-layout .aba-panel-heading-row p{margin:0 0 20px;color:#ac2153}.aba-translation-request-form .aba-form-grid{gap:17px}.aba-translation-request-form label>span{color:#ac2153;font-size:12px;font-weight:900}.aba-translation-request-form select,.aba-translation-request-form textarea,.aba-translation-request-form input{min-height:48px;border:1px solid #f5ebdd;border-radius:10px;background:#ffffff;transition:border-color .2s,box-shadow .2s}.aba-translation-request-form select:focus,.aba-translation-request-form textarea:focus,.aba-translation-request-form input:focus{border-color:#ac2153;box-shadow:0 0 0 3px rgba(172,33,83,.12);outline:0}.aba-translation-request-form input[type=file]{padding:11px;border:2px dashed #f5ebdd;background:#f5ebdd}.aba-translation-request-form textarea{min-height:120px}.aba-translation-request-form>button{min-height:51px;padding:0 26px;border-radius:10px;background:#ac2153;box-shadow:0 9px 20px rgba(172,33,83,.2);font-weight:900}.aba-translation-payment-panel{overflow:hidden;border-top:5px solid #ac2153!important}.aba-translation-payment-empty{min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;border:1px dashed #f5ebdd;border-radius:15px;background:linear-gradient(145deg,#f5ebdd,#f5ebdd)}.aba-translation-payment-empty>i{width:62px;height:62px;display:grid;place-items:center;margin-bottom:13px;border-radius:50%;background:#ac2153;color:#ffffff;font-size:25px;box-shadow:0 10px 22px rgba(172,33,83,.2)}.aba-translation-payment-empty>strong{color:#ac2153;font-size:21px}.aba-translation-payment-empty p{max-width:310px;margin:8px auto 20px}.aba-translation-payment-empty>span{padding:8px 13px;border-radius:999px;background:#f5ebdd;color:#ac2153;font-weight:900}.aba-translation-order-list{margin-top:5px}.aba-translations-page>.aba-admin-shell>.aba-panel{margin-top:24px;padding:25px}.aba-translation-order-card{padding:17px;border-radius:12px;background:#ffffff}.aba-translation-status{font-size:12px}@media(max-width:760px){.aba-translations-page{padding:22px 13px 55px}.aba-translations-heading{padding:27px 22px}.aba-translations-heading:after{display:none}.aba-translations-heading .aba-translation-price{width:100%;min-width:0}.aba-translation-layout{grid-template-columns:1fr}.aba-translation-layout>.aba-panel{padding:20px}.aba-translation-benefits{display:grid}.aba-translation-request-form>button{width:100%}}

/* Dynamic shooting stars: top, left, or right, always traveling downward */
.aba-ranking-podium:before,.aba-ranking-podium:after{display:none!important}.aba-ranking-shooting-star{position:absolute;z-index:2;left:var(--start-x);top:var(--start-y);width:145px;height:4px;display:block;border-radius:999px;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent 0%,rgba(245,235,221,.2) 35%,#ffffff 88%,#ffffff 100%);filter:drop-shadow(0 0 5px #ffffff) drop-shadow(0 0 11px #fb76a4);animation:aba-ranking-star-flight var(--flight) cubic-bezier(.22,.45,.55,.92) forwards;transform-origin:center}.aba-ranking-shooting-star.from-right{background:linear-gradient(90deg,#ffffff 0%,#ffffff 12%,rgba(245,235,221,.2) 65%,transparent 100%)}.aba-ranking-shooting-star:after{content:"";position:absolute;right:-2px;top:50%;width:8px;height:8px;border-radius:50%;background:#ffffff;box-shadow:0 0 7px 2px #ffffff,0 0 15px 5px #fb76a4;transform:translateY(-50%)}.aba-ranking-shooting-star.from-right:after{right:auto;left:-2px}@keyframes aba-ranking-star-flight{0%{opacity:0;transform:translate3d(0,0,0) rotate(var(--heading)) scaleX(.65)}10%{opacity:1}78%{opacity:1}100%{opacity:0;transform:translate3d(var(--travel-x),var(--travel-y),0) rotate(var(--heading)) scaleX(1)}}@media(prefers-reduced-motion:reduce){.aba-ranking-shooting-star{display:none}}

/* Golden 3D star accompanying Mother Cow on the home hero */
.aba-hero-bouncing-star{position:absolute;z-index:0;left:0;top:0;width:76px;height:76px;pointer-events:none;opacity:0;animation:aba-hero-star-bounce 8.5s cubic-bezier(.28,.15,.52,.95) .7s both}.aba-hero-bouncing-star i{position:absolute;inset:0;display:block;background:radial-gradient(circle at 35% 25%,#f5ebdd 0 5%,#f5ebdd 15%,#fb76a4 48%,#fb76a4 78%,#ac2153 100%);clip-path:polygon(50% 0,61% 34%,98% 35%,68% 56%,79% 94%,50% 72%,20% 94%,31% 56%,2% 35%,39% 34%);filter:drop-shadow(0 8px 8px rgba(172,33,83,.3)) drop-shadow(0 0 10px rgba(245,235,221,.58));transform-style:preserve-3d}.aba-hero-bouncing-star i:before{content:"";position:absolute;inset:10%;background:linear-gradient(135deg,rgba(255,255,255,.9),transparent 42%);clip-path:inherit}.aba-hero-bouncing-star i:after{content:"";position:absolute;inset:0;background:linear-gradient(315deg,rgba(172,33,83,.45),transparent 48%);clip-path:inherit}@keyframes aba-hero-star-bounce{0%{opacity:0;transform:translate3d(94vw,5vh,0) rotateY(0) rotate(12deg) scale(.65)}8%{opacity:1}20%{transform:translate3d(76vw,45vh,0) rotateY(160deg) rotate(-24deg) scale(1)}36%{transform:translate3d(58vw,10vh,0) rotateY(310deg) rotate(20deg) scale(.82)}52%{transform:translate3d(41vw,52vh,0) rotateY(470deg) rotate(-28deg) scale(1.08)}68%{transform:translate3d(25vw,16vh,0) rotateY(630deg) rotate(18deg) scale(.86)}84%{opacity:1;transform:translate3d(8vw,48vh,0) rotateY(790deg) rotate(-22deg) scale(1)}100%{opacity:0;transform:translate3d(-12vw,25vh,0) rotateY(960deg) rotate(16deg) scale(.65)}}@media(max-width:700px){.aba-hero-bouncing-star{width:54px;height:54px;animation-duration:7.5s}}@media(prefers-reduced-motion:reduce){.aba-hero-bouncing-star{display:none}}

.aba-hero>.aba-hero-bouncing-star{position:absolute;z-index:0;left:0;top:0;width:88px;height:88px;animation:aba-hero-svg-star-bounce 5.2s linear .55s both}.aba-hero-bouncing-star>img{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 9px 8px rgba(172,33,83,.28)) drop-shadow(0 0 9px rgba(245,235,221,.45));transform:translateZ(0)}@keyframes aba-hero-svg-star-bounce{0%{opacity:0;transform:translate3d(96vw,0,0) rotate(0) scale(.72)}4%{opacity:1}17%{transform:translate3d(78vw,max(180px,calc(100vh - 240px)),0) rotate(-150deg) scaleX(1.13) scaleY(.84)}20%{transform:translate3d(74vw,calc(max(180px,calc(100vh - 240px)) - 34px),0) rotate(-185deg) scaleX(.9) scaleY(1.1)}35%{transform:translate3d(58vw,0,0) rotate(-330deg) scaleX(1.12) scaleY(.85)}38%{transform:translate3d(54vw,34px,0) rotate(-365deg) scaleX(.9) scaleY(1.1)}53%{transform:translate3d(38vw,max(180px,calc(100vh - 240px)),0) rotate(-510deg) scaleX(1.13) scaleY(.84)}56%{transform:translate3d(34vw,calc(max(180px,calc(100vh - 240px)) - 34px),0) rotate(-545deg) scaleX(.9) scaleY(1.1)}71%{transform:translate3d(19vw,0,0) rotate(-690deg) scaleX(1.12) scaleY(.85)}74%{transform:translate3d(15vw,34px,0) rotate(-725deg) scaleX(.9) scaleY(1.1)}88%{opacity:1;transform:translate3d(1vw,max(180px,calc(100vh - 240px)),0) rotate(-870deg) scaleX(1.1) scaleY(.86)}100%{opacity:0;transform:translate3d(-11vw,34%,0) rotate(-990deg) scale(.65)}}@media(max-width:700px){.aba-hero>.aba-hero-bouncing-star{width:62px;height:62px;animation-duration:4.7s}}

/* Keep the supplied 3D star facing forward while it bounces */
@keyframes aba-hero-svg-star-bounce{0%{opacity:0;transform:translate3d(96vw,0,0) scale(.72)}4%{opacity:1}17%{transform:translate3d(78vw,max(180px,calc(100vh - 240px)),0) scaleX(1.05) scaleY(.95)}20%{transform:translate3d(74vw,calc(max(180px,calc(100vh - 240px)) - 34px),0) scale(.98)}35%{transform:translate3d(58vw,0,0) scaleX(1.05) scaleY(.95)}38%{transform:translate3d(54vw,34px,0) scale(.98)}53%{transform:translate3d(38vw,max(180px,calc(100vh - 240px)),0) scaleX(1.05) scaleY(.95)}56%{transform:translate3d(34vw,calc(max(180px,calc(100vh - 240px)) - 34px),0) scale(.98)}71%{transform:translate3d(19vw,0,0) scaleX(1.05) scaleY(.95)}74%{transform:translate3d(15vw,34px,0) scale(.98)}88%{opacity:1;transform:translate3d(1vw,max(180px,calc(100vh - 240px)),0) scaleX(1.04) scaleY(.96)}100%{opacity:0;transform:translate3d(-11vw,34%,0) scale(.65)}}

/* Final fast home-star path: one lower bounce, one upper bounce, then exit */
.aba-hero>.aba-hero-bouncing-star{animation-duration:2.05s;animation-delay:.3s}
@keyframes aba-hero-svg-star-bounce{0%{opacity:0;transform:translate3d(96vw,0,0) scale(.72)}5%{opacity:1}36%{opacity:1;transform:translate3d(62vw,max(180px,calc(100vh - 240px)),0) scaleX(1.05) scaleY(.95)}42%{transform:translate3d(56vw,calc(max(180px,calc(100vh - 240px)) - 28px),0) scale(.98)}68%{transform:translate3d(28vw,0,0) scaleX(1.05) scaleY(.95)}74%{opacity:1;transform:translate3d(22vw,28px,0) scale(.98)}100%{opacity:0;transform:translate3d(-11vw,42%,0) scale(.68)}}

/* Home star effect was retired. Keep the asset available, but never render or animate it. */
.aba-hero-bouncing-star,
.aba-hero > .aba-hero-bouncing-star {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    animation: none !important;
}

/* Public profile: Metrics-width canvas and Metrics card language.
   The user identity card on the right intentionally keeps its own design. */
.aba-profile-page:not(.aba-admin-profile-embed) {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 34px 28px 70px;
    background: #f5ebdd;
}

.aba-profile-page:not(.aba-admin-profile-embed) .aba-profile-layout {
    width: 100%;
    max-width: 1480px;
    margin: 0 auto;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
}

.aba-profile-page:not(.aba-admin-profile-embed) .aba-profile-feed {
    width: 100%;
    max-width: none;
    justify-self: stretch;
    gap: 20px;
}

.aba-profile-page:not(.aba-admin-profile-embed) .aba-profile-feed > .aba-panel {
    padding: 24px 26px;
    border: 1px solid #f5ebdd;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 13px 32px rgba(172,33,83,.07);
}

.aba-profile-page:not(.aba-admin-profile-embed) .aba-profile-feed > .aba-panel h2 {
    color: #ac2153;
    font-size: 24px;
    font-weight: 800;
}

.aba-profile-page:not(.aba-admin-profile-embed) .aba-profile-feed > .aba-panel p {
    color: #fb76a4;
}

@media (max-width: 900px) {
    .aba-profile-page:not(.aba-admin-profile-embed) {
        padding: 24px 14px 60px;
    }

    .aba-profile-page:not(.aba-admin-profile-embed) .aba-profile-layout {
        grid-template-columns: 1fr;
    }
}

/* Admin Center uses the exact compact chrome and attached rail of Personal Area. */
body.aba-adminsite-body .aba-adminsite-shell,
body.aba-adminsite-body .aba-adminsite-shell.aba-my-shell {
    width: 100% !important;
    max-width: none !important;
    min-height: calc(100vh - var(--aba-personal-header-height) - var(--aba-personal-footer-height));
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 0 !important;
    align-items: stretch !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar,
body.aba-adminsite-body .aba-adminsite-sidebar.aba-my-service-rail {
    grid-column: auto;
    grid-row: auto;
    top: var(--aba-personal-header-height) !important;
    width: 250px !important;
    height: calc(100vh - var(--aba-personal-header-height) - var(--aba-personal-footer-height)) !important;
    max-height: none !important;
    padding: 12px 10px 10px !important;
    border: 0 !important;
    border-right: 1px solid #f5ebdd !important;
    border-radius: 0 !important;
    background: #f5ebdd !important;
    box-shadow: 7px 0 18px rgba(172,33,83,.08) !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar-head {
    display: none !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar nav {
    display: grid !important;
    gap: 4px !important;
    padding: 0 !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar nav a,
body.aba-adminsite-body .aba-adminsite-public-profile {
    min-height: 42px !important;
    display: grid !important;
    grid-template-columns: 30px minmax(0,1fr) !important;
    gap: 9px !important;
    padding: 5px 8px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: var(--aba-blue) !important;
    box-shadow: none !important;
    font-size: 12px !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar nav a i,
body.aba-adminsite-body .aba-adminsite-public-profile i {
    width: 30px !important;
    height: 30px !important;
    display: grid;
    place-items: center;
    border-radius: 9px !important;
    color: #ffffff !important;
    background: var(--aba-blue) !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar nav a:hover,
body.aba-adminsite-body .aba-adminsite-sidebar nav a.active,
body.aba-adminsite-body .aba-adminsite-public-profile:hover {
    transform: none !important;
    border-color: var(--aba-red) !important;
    color: #ffffff !important;
    background: var(--aba-red) !important;
}

body.aba-adminsite-body .aba-adminsite-sidebar nav a:hover i,
body.aba-adminsite-body .aba-adminsite-sidebar nav a.active i,
body.aba-adminsite-body .aba-adminsite-public-profile:hover i {
    color: var(--aba-red) !important;
    background: #ffffff !important;
}

body.aba-adminsite-body .aba-adminsite-nav-title {
    padding: 9px 7px 4px;
    color: #ac2153;
}

body.aba-adminsite-body .aba-adminsite-public-profile {
    margin: 8px 0 0 !important;
}

body.aba-adminsite-body .aba-adminsite-main,
body.aba-adminsite-body .aba-my-main-panel.aba-adminsite-main {
    min-width: 0;
    min-height: calc(100vh - var(--aba-personal-header-height) - var(--aba-personal-footer-height));
    display: grid;
    align-content: start;
    gap: 20px !important;
    padding: 20px 24px 50px !important;
    overflow: auto;
}

body.aba-adminsite-body .aba-my-shell.is-rail-collapsed,
body.aba-adminsite-body .aba-adminsite-shell.is-rail-collapsed {
    grid-template-columns: 62px minmax(0, 1fr) !important;
}

body.aba-adminsite-body .aba-my-shell.is-rail-collapsed .aba-adminsite-sidebar {
    width: 62px !important;
    padding-inline: 8px !important;
    overflow: hidden !important;
}

body.aba-adminsite-body .aba-my-shell.is-rail-collapsed .aba-adminsite-sidebar nav a,
body.aba-adminsite-body .aba-my-shell.is-rail-collapsed .aba-adminsite-public-profile {
    grid-template-columns: 1fr !important;
    padding-inline: 6px !important;
}

body.aba-adminsite-body .aba-my-shell.is-rail-collapsed .aba-adminsite-sidebar nav a span,
body.aba-adminsite-body .aba-my-shell.is-rail-collapsed .aba-adminsite-public-profile span,
body.aba-adminsite-body .aba-my-shell.is-rail-collapsed .aba-adminsite-nav-title {
    display: none !important;
}

.aba-adminsite-embed-wrap {
    width: 100%;
    min-height: calc(100vh - var(--aba-personal-header-height) - var(--aba-personal-footer-height) - 190px);
    overflow: hidden;
    border: 1px solid #f5ebdd;
    border-radius: 16px;
    background: #ffffff;
}

.aba-adminsite-embed-wrap iframe {
    width: 100%;
    height: calc(100vh - var(--aba-personal-header-height) - var(--aba-personal-footer-height) - 190px);
    min-height: 680px;
    display: block;
    border: 0;
}

body.aba-admin-embed-body {
    padding: 0 !important;
    background: #ffffff !important;
}

body.aba-admin-embed-body > .sticky-header,
body.aba-admin-embed-body > .site-footer,
body.aba-admin-embed-body > .profile-side-drawer,
body.aba-admin-embed-body > .profile-side-backdrop,
body.aba-admin-embed-body > .aba-drbull-widget {
    display: none !important;
}

body.aba-admin-embed-body .aba-course-page {
    width: 100% !important;
    min-height: 100vh;
    margin: 0 !important;
    padding: 18px !important;
}

@media (max-width: 760px) {
    body.aba-adminsite-body .aba-adminsite-shell,
    body.aba-adminsite-body .aba-adminsite-shell.aba-my-shell {
        grid-template-columns: 64px minmax(0,1fr) !important;
    }
    body.aba-adminsite-body .aba-adminsite-sidebar,
    body.aba-adminsite-body .aba-adminsite-sidebar.aba-my-service-rail {
        position: sticky !important;
        width: 64px !important;
        overflow: hidden !important;
        padding-inline: 8px !important;
    }
    body.aba-adminsite-body .aba-adminsite-sidebar nav a,
    body.aba-adminsite-body .aba-adminsite-public-profile {
        grid-template-columns: 1fr !important;
        padding-inline: 5px !important;
    }
    body.aba-adminsite-body .aba-adminsite-sidebar nav a span,
    body.aba-adminsite-body .aba-adminsite-public-profile span,
    body.aba-adminsite-body .aba-adminsite-nav-title {
        display: none !important;
    }
    body.aba-adminsite-body .aba-adminsite-main {
        padding: 12px 10px 42px !important;
    }
}

/* Shooting stars across the weekly ranking sky */
.aba-ranking-podium{position:relative;isolation:isolate;overflow:hidden}.aba-ranking-podium>article{position:relative;z-index:3}.aba-ranking-podium:before,.aba-ranking-podium:after{content:"";position:absolute;z-index:1;width:150px;height:3px;border-radius:999px;pointer-events:none;opacity:0;background:linear-gradient(90deg,#ffffff 0%,#ffffff 12%,rgba(245,235,221,.25) 65%,transparent 100%);filter:drop-shadow(0 0 5px #ffffff) drop-shadow(0 0 10px #fb76a4);transform:rotate(-18deg)}.aba-ranking-podium:before{top:10%;right:-180px;animation:aba-shooting-star-one 9s cubic-bezier(.3,.05,.65,.95) 1.5s infinite}.aba-ranking-podium:after{top:-35px;right:24%;width:110px;animation:aba-shooting-star-two 12s cubic-bezier(.3,.05,.65,.95) 6s infinite}@keyframes aba-shooting-star-one{0%,68%{opacity:0;transform:translate3d(0,0,0) rotate(-18deg)}70%{opacity:1}78%{opacity:1}83%,100%{opacity:0;transform:translate3d(-1450px,430px,0) rotate(-18deg)}}@keyframes aba-shooting-star-two{0%,74%{opacity:0;transform:translate3d(0,0,0) rotate(-28deg)}76%{opacity:.9}84%{opacity:.9}89%,100%{opacity:0;transform:translate3d(-920px,590px,0) rotate(-28deg)}}@media(prefers-reduced-motion:reduce){.aba-ranking-podium:before,.aba-ranking-podium:after{display:none}}

/* Clean book tile and full book-details popup */
.aba-book-card>div:last-child{width:100%;margin:0;padding:15px 5px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.aba-book-card>img,.aba-book-cover-placeholder{border-radius:18px}.aba-book-card .aba-btn.primary{border:1px solid #ac2153;background:#ffffff;color:#ac2153;box-shadow:none}.aba-book-card .aba-btn.primary:hover{background:#ac2153;color:#ffffff}.aba-book-purchase-trigger{display:none!important}.aba-book-detail-modal{width:min(920px,calc(100vw - 34px));max-height:88vh;padding:0;border:0;border-radius:24px;background:#ffffff;box-shadow:0 30px 90px rgba(172,33,83,.38);overflow:hidden}.aba-book-detail-modal::backdrop{background:rgba(172,33,83,.72);backdrop-filter:blur(3px)}.aba-book-detail-modal[open]{display:grid;grid-template-columns:minmax(320px,48%) minmax(0,1fr)}.aba-book-detail-close{position:absolute;right:16px;top:14px;z-index:5;width:36px;height:36px;border:0;border-radius:50%;background:#ac2153;color:#ffffff;font-size:25px;line-height:1;cursor:pointer}.aba-book-detail-cover{min-height:540px;display:grid;place-items:center;padding:26px;background:linear-gradient(145deg,#f5ebdd,#f5ebdd)}.aba-book-detail-cover img{display:block;width:100%;height:100%;max-height:570px;object-fit:contain;border-radius:16px;filter:drop-shadow(0 18px 22px rgba(172,33,83,.2))}.aba-book-detail-modal>section{display:flex;flex-direction:column;padding:50px 42px 38px;overflow-y:auto}.aba-book-detail-modal>section>small{color:#ac2153;font-weight:900;letter-spacing:.05em}.aba-book-detail-modal h2{margin:8px 0 6px;color:#ac2153;font-size:clamp(30px,4vw,46px);line-height:1.05}.aba-book-detail-modal>section>b{color:#ac2153;font-size:16px}.aba-book-detail-meta{margin:10px 0 0;color:#fb76a4;font-size:13px}.aba-book-detail-description{margin:25px 0;color:#ac2153;font-size:16px;line-height:1.7;white-space:pre-line}.aba-book-detail-bottom{display:grid;grid-template-columns:auto minmax(190px,1fr);align-items:center;gap:22px;margin-top:auto;padding-top:25px;border-top:1px solid #f5ebdd}.aba-book-detail-bottom>strong{color:#ac2153;font-size:27px}.aba-book-detail-bottom .aba-btn{justify-content:center;min-height:50px}.aba-book-detail-description:empty:before{content:"Información completa disponible próximamente.";color:#ac2153;font-style:italic}@media(max-width:760px){.aba-book-detail-modal[open]{display:block;overflow-y:auto}.aba-book-detail-cover{min-height:0;height:auto;padding:18px}.aba-book-detail-cover img{max-height:390px}.aba-book-detail-modal>section{padding:28px 24px 26px;overflow:visible}.aba-book-detail-bottom{grid-template-columns:1fr}.aba-book-detail-close{position:fixed;right:max(20px,calc((100vw - min(920px,calc(100vw - 34px)))/2 + 12px));top:calc(6vh + 10px)}}
/* Compact full-screen calendar and 1-on-1 */
@media(min-width:1000px){.aba-calendar-page{padding:18px 24px!important;min-height:calc(100vh - 78px)}.aba-calendar-shell{width:min(1680px,100%)!important;max-width:none!important;margin:0 auto!important;padding:16px!important}.aba-calendar-heading{margin:0 0 8px!important}.aba-calendar-heading h1{font-size:34px!important}.aba-calendar-legend{margin:0 0 8px!important;padding:7px 12px!important}.aba-calendar-grid{min-height:calc(100vh - 260px);grid-template-rows:30px repeat(6,minmax(72px,1fr))}.aba-calendar-day{min-height:0!important;padding:7px!important}.aba-calendar-event{padding:4px 6px!important}.aba-calendar-event-topic,.aba-calendar-event-meta,.aba-calendar-event-status{display:none!important}.aba-simple-page.aba-one-on-one-page{width:min(1680px,calc(100% - 40px))!important;max-width:none!important;margin:0 auto!important;padding:18px 0 24px!important}.aba-one-on-one-topbar{min-height:0!important;padding:12px 18px!important;margin-bottom:10px!important}.aba-one-on-one-topbar h1{font-size:38px!important}.aba-one-on-one-calendar-panel{padding:14px 18px!important}.aba-one-on-one-calendar-grid{grid-template-rows:24px repeat(6,minmax(66px,1fr));min-height:calc(100vh - 275px)}button.aba-one-on-one-day,.aba-one-on-one-day.empty{min-height:0!important;padding:7px!important}.aba-one-on-one-day strong{font-size:17px!important}.aba-one-on-one-day span{font-size:10px!important}}
.aba-profile-edit-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* Keep the embedded appointment scheduler inside the visible personal-area viewport. */
/* Compact general calendar: preserve events and controls without oversized rows. */
@media(min-width:900px){
    .aba-calendar-page{min-height:0!important;padding:34px 24px 58px!important;background:#f5ebdd!important}
    .aba-calendar-page .aba-calendar-shell{width:min(1420px,100%)!important;max-width:1420px!important;min-height:0!important;margin:0 auto!important;padding:22px!important;border-radius:16px!important}
    .aba-calendar-page .aba-calendar-heading{margin:0 0 14px!important}
    .aba-calendar-page .aba-calendar-heading h1{font-size:clamp(42px,4vw,60px)!important;line-height:.95!important}
    .aba-calendar-page .aba-calendar-legend{margin:0 0 12px!important;padding:8px 12px!important}
    .aba-calendar-page .aba-calendar-grid{min-height:0!important;height:auto!important;grid-template-rows:28px repeat(6,minmax(78px,auto))!important;align-content:start!important;gap:6px!important}
    .aba-calendar-page .aba-calendar-weekday{min-height:28px!important;height:28px!important;display:grid!important;place-items:center!important;font-size:11px!important}
    .aba-calendar-page .aba-calendar-day{min-height:78px!important;height:auto!important;padding:6px 7px!important;border-radius:10px!important;overflow:visible!important}
    .aba-calendar-page .aba-calendar-day-heading{min-height:18px!important;justify-content:center!important;text-align:center!important}
    .aba-calendar-page .aba-calendar-day-number{width:auto!important;height:auto!important;min-width:0!important;display:block!important;margin:0 auto!important;background:transparent!important;font-size:16px!important;line-height:1!important;text-align:center!important}
    .aba-calendar-page .aba-calendar-day.is-today{border:2px solid #fb76a4!important;background:#f5ebdd!important}
    .aba-calendar-page .aba-calendar-day.is-past:not(.is-today){border-color:#f5ebdd!important;background:#f5ebdd!important;color:#ac2153!important}
    .aba-calendar-page .aba-calendar-day.is-past:not(.is-today) .aba-calendar-day-number{color:#ac2153!important}
    .aba-calendar-page .aba-calendar-day.is-past:not(.is-today) .aba-calendar-no-events{color:#fb76a4!important;font-weight:700!important}
    .aba-calendar-page .aba-calendar-day.is-today .aba-calendar-day-number{display:grid!important;place-items:center!important;width:25px!important;height:25px!important;margin:0 auto!important;border-radius:50%!important;background:#ac2153!important;color:#ffffff!important;font-size:14px!important;font-weight:900!important;line-height:1!important;opacity:1!important;visibility:visible!important}
    .aba-calendar-page .aba-calendar-events{max-height:none!important;height:auto!important;margin-top:4px!important;overflow:visible!important}
    .aba-calendar-page .aba-calendar-event{min-height:0!important;margin-top:2px!important;padding:3px 5px!important;border-radius:6px!important;font-size:10px!important;line-height:1.1!important}
    .aba-calendar-page .aba-calendar-event-top{gap:4px!important}.aba-calendar-page .aba-calendar-event-title{font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
    .aba-calendar-page .aba-calendar-no-events{display:block!important;margin-top:7px!important;text-align:center!important;font-size:9px!important}
}
body.aba-my-private-body .aba-my-one-on-one-frame-wrap,
body.aba-my-private-body .aba-my-one-on-one-frame{height:calc(100vh - var(--aba-personal-header-height) - var(--aba-personal-footer-height))!important;min-height:0!important}
body.aba-one-booking-modal-open .site-footer.neuro-footer,
body.aba-one-booking-modal-open .nh-footer-bottom-wrap{visibility:hidden!important}

/* Public profile performance dashboard */
.aba-profile-live-task{width:min(1480px,calc(100% - 56px));margin:0 auto 22px;padding:18px 22px;display:grid;grid-template-columns:auto minmax(240px,1fr) auto auto;align-items:center;gap:20px;border:1px solid #f5ebdd;border-top:5px solid #ac2153;border-radius:15px;background:linear-gradient(120deg,#f5ebdd,#ffffff);box-shadow:0 14px 35px rgba(172,33,83,.08)}.aba-live-task-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#ac2153;color:#ffffff;font-size:23px;overflow:hidden}.aba-live-task-icon img{display:block;width:38px;height:38px;object-fit:contain}.aba-profile-live-task small{color:#ac2153;font-weight:900;letter-spacing:.09em}.aba-profile-live-task h2{margin:3px 0;color:#ac2153}.aba-profile-live-task p{margin:0;color:#ac2153}.aba-live-task-countdown{display:flex;border:1px solid #f5ebdd;border-radius:10px;overflow:hidden}.aba-live-task-countdown span{min-width:67px;padding:8px;text-align:center;color:#ac2153;font-size:10px;border-right:1px solid #f5ebdd}.aba-live-task-countdown span:last-child{border:0}.aba-live-task-countdown strong{display:block;color:#ac2153;font-size:21px}.aba-profile-live-task .is-disabled{pointer-events:none;opacity:.55;white-space:nowrap}@media(max-width:950px){.aba-profile-live-task{grid-template-columns:auto 1fr}.aba-live-task-countdown{grid-column:1/-1}.aba-profile-live-task>.aba-btn{grid-column:1/-1;justify-content:center}}
.aba-profile-attempts .aba-panel-heading-row small{color:#ac2153;font-weight:900;letter-spacing:.08em}.aba-profile-attempt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.aba-profile-attempt{border:1px solid #f5ebdd;border-radius:12px;background:#ffffff;overflow:hidden}.aba-profile-attempt.is-empty{background:#f5ebdd;color:#ac2153}.aba-profile-attempt summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px;cursor:pointer}.aba-profile-attempt summary::-webkit-details-marker{display:none}.aba-profile-attempt summary>b{width:34px;height:52px;border-radius:9px;background:#ac2153;color:#ffffff;display:grid;place-items:center;font-size:20px}.aba-profile-attempt summary>span{flex:1}.aba-profile-attempt summary strong,.aba-profile-attempt summary small{display:block}.aba-profile-attempt form{padding:0 14px 14px;display:grid;gap:10px}.aba-profile-attempt label{font-size:11px;font-weight:800;color:#ac2153}.aba-profile-attempt input{width:100%;margin-top:4px;border:1px solid #f5ebdd;border-radius:7px;padding:7px}.aba-attempt-domain-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}@media(max-width:1100px){.aba-profile-attempt-grid{grid-template-columns:repeat(2,1fr)}}
.aba-profile-feed{gap:22px}.aba-profile-overview{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(380px,1.15fr);gap:28px;align-items:center}.aba-profile-readiness{display:flex;align-items:center;gap:22px}.aba-profile-readiness small,.aba-profile-exam-card>div>small,.aba-profile-evolution small,.aba-profile-rank-card>small{color:#ac2153;font-weight:900;letter-spacing:.09em}.aba-profile-readiness h2{margin:5px 0;color:#ac2153}.aba-profile-readiness p{margin:0;color:#ac2153}.aba-profile-donut,.aba-profile-success-ring{--value:0;flex:0 0 136px;width:136px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ac2153 calc(var(--value)*1%),#f5ebdd 0);position:relative}.aba-profile-donut:before,.aba-profile-success-ring:before{content:"";position:absolute;inset:14px;border-radius:50%;background:#ffffff}.aba-profile-donut strong,.aba-profile-success-ring strong{z-index:1;font-size:30px;color:#ac2153}.aba-profile-domain-bars{display:grid;gap:10px;--domain-a:#ac2153;--domain-b:#fb76a4;--domain-c:#fb76a4;--domain-d:#ac2153;--domain-e:#fb76a4;--domain-f:#ac2153}.aba-profile-domain-bars>div{display:grid;grid-template-columns:34px 1fr 48px;align-items:center;gap:10px}.aba-profile-domain-bars b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#ac2153;color:#ffffff}.aba-profile-domain-bars span{height:12px;border-radius:20px;background:#f5ebdd;overflow:hidden}.aba-profile-domain-bars i{display:block;height:100%;border-radius:inherit;background:var(--domain-color)}.aba-profile-domain-bars strong{color:#ac2153;text-align:right}.aba-profile-summary-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #f5ebdd;border-radius:14px;overflow:hidden}.aba-profile-summary-strip span{padding:16px 20px;border-right:1px solid #f5ebdd}.aba-profile-summary-strip span:last-child{border:0}.aba-profile-summary-strip small{display:block;color:#ac2153}.aba-profile-summary-strip strong{display:block;color:#ac2153;font-size:27px;margin-top:3px}.aba-profile-metrics-link{grid-column:1/-1;justify-self:start}.aba-profile-exam-card{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:22px;background:linear-gradient(135deg,#f5ebdd,#ffffff)}.aba-profile-exam-icon{font-size:54px}.aba-profile-exam-card h2{color:#ac2153;margin:4px 0}.aba-profile-exam-card p{margin:0}.aba-profile-countdown{display:flex;border:1px solid #f5ebdd;border-radius:12px;overflow:hidden}.aba-profile-countdown span{min-width:76px;padding:10px;text-align:center;border-right:1px solid #f5ebdd;font-size:11px;color:#ac2153}.aba-profile-countdown span:last-child{border:0}.aba-profile-countdown strong{display:block;color:#ac2153;font-size:24px}.aba-profile-evolution{display:grid;grid-template-columns:1fr 190px;gap:25px;align-items:center}.aba-profile-evolution .aba-panel-heading-row{grid-column:1/-1}.aba-profile-domain-columns{height:210px;display:grid;grid-template-columns:repeat(6,1fr);gap:16px;align-items:end;border-bottom:1px solid #f5ebdd}.aba-profile-domain-columns>div{text-align:center;color:#ac2153}.aba-profile-domain-columns span{height:155px;display:flex;align-items:flex-end;justify-content:center;background:#f5ebdd;border-radius:10px 10px 0 0}.aba-profile-domain-columns i{width:52%;min-height:4px;background:linear-gradient(#fb76a4,#ac2153);border-radius:9px 9px 0 0}.aba-profile-domain-columns strong,.aba-profile-domain-columns small{display:block;margin-top:5px}.aba-profile-success-ring{margin:auto}.aba-profile-success-ring span{position:absolute;top:145px;width:180px;text-align:center;color:#ac2153;font-weight:700}.aba-profile-rank-card{background:linear-gradient(120deg,#ac2153,#ac2153);color:#ffffff}.aba-profile-rank-card h2{font-size:48px;margin:5px 0 15px}.aba-profile-rank-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.aba-profile-rank-card span{background:rgba(255,255,255,.1);padding:14px;border-radius:10px}.aba-profile-rank-card span strong{display:block;font-size:24px}.aba-profile-rank-card span{font-size:12px}@media(max-width:900px){.aba-profile-overview{grid-template-columns:1fr}.aba-profile-summary-strip{grid-template-columns:repeat(2,1fr)}.aba-profile-exam-card{grid-template-columns:auto 1fr}.aba-profile-countdown{grid-column:1/-1}.aba-profile-evolution{grid-template-columns:1fr}.aba-profile-success-ring{margin-bottom:35px}.aba-profile-rank-card>div{grid-template-columns:1fr}}
.aba-profile-exam-icon{width:64px;height:64px;display:grid;place-items:center;font-size:0}.aba-profile-exam-icon img{display:block;width:64px;height:64px;object-fit:contain}
.aba-profile-attempt-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.aba-profile-attempt{background:#f5ebdd;border-color:#f5ebdd}.aba-profile-attempt.is-complete{background:#f5ebdd;border-color:#fb76a4;box-shadow:0 8px 20px rgba(172,33,83,.08)}.aba-attempt-domain-chart{height:132px;padding:14px 12px 8px;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;align-items:end;background:#f5ebdd;border-bottom:1px solid #f5ebdd}.aba-profile-attempt.is-complete .aba-attempt-domain-chart{background:linear-gradient(180deg,#f5ebdd,#f5ebdd)}.aba-attempt-domain-chart span{height:106px;display:grid;grid-template-rows:1fr auto auto;align-items:end;justify-items:center;gap:3px}.aba-attempt-domain-chart span:before{content:"";grid-row:1;grid-column:1;width:10px;height:100%;border-radius:8px;background:#f5ebdd}.aba-attempt-domain-chart i{grid-row:1;grid-column:1;align-self:end;width:10px;min-height:5px;border-radius:8px;background:linear-gradient(#fb76a4,#ac2153);z-index:1}.aba-attempt-domain-chart .is-missing i{background:#ac2153;height:5%!important}.aba-attempt-domain-chart b{font-size:11px;color:#ac2153}.aba-attempt-domain-chart em{font-size:9px;font-style:normal;color:#ac2153;font-weight:800}.aba-profile-attempt.is-empty summary>b{background:#ac2153}.aba-profile-attempt.is-complete summary>b{background:#ac2153}.aba-official-performance .aba-profile-domain-columns .is-missing i{background:#ac2153!important;height:5%!important}.aba-official-performance .aba-profile-domain-columns .is-missing small{color:#ac2153}.aba-profile-success-ring.is-empty{background:#f5ebdd}.aba-profile-success-ring.is-empty strong{color:#ac2153}@media(max-width:1200px){.aba-profile-attempt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.aba-profile-attempt-grid{grid-template-columns:1fr}}
.aba-calendar-dashboard{display:grid;grid-template-columns:minmax(430px,.78fr) minmax(480px,1.22fr);gap:20px;align-items:start}.aba-calendar-mini{min-height:0!important;grid-template-rows:26px repeat(6,58px)!important;gap:5px!important}.aba-calendar-mini .aba-calendar-day{min-height:58px!important;padding:5px!important}.aba-calendar-mini .aba-calendar-day-heading strong,.aba-calendar-mini .aba-calendar-events,.aba-calendar-mini .aba-calendar-no-events{display:none!important}.aba-calendar-mini .aba-calendar-day-number{margin:auto!important}.aba-calendar-mini .aba-calendar-day:has(.aba-calendar-events){box-shadow:inset 0 -4px #fb76a4}.aba-calendar-upcoming{min-height:470px;padding:20px;border:1px solid #f5ebdd;border-radius:15px;background:#ffffff}.aba-calendar-upcoming .aba-panel-heading-row small{color:#ac2153;font-weight:900;letter-spacing:.09em}.aba-calendar-upcoming .aba-panel-heading-row h2{margin:3px 0;color:#ac2153}.aba-calendar-upcoming .aba-panel-heading-row>strong{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#ac2153;color:#ffffff}.aba-calendar-upcoming-list{display:grid;gap:9px;margin-top:15px;max-height:520px;overflow:auto}.aba-calendar-upcoming-list>a{display:grid;grid-template-columns:54px 1fr auto;gap:13px;align-items:center;padding:11px;border:1px solid #f5ebdd;border-radius:12px;background:#f5ebdd;color:#ac2153;text-decoration:none}.aba-calendar-upcoming-list>a:hover{border-color:#fb76a4;transform:translateY(-1px)}.aba-calendar-upcoming-list time{height:54px;display:grid;place-content:center;text-align:center;border-radius:10px;background:#f5ebdd}.aba-calendar-upcoming-list time b{font-size:22px;line-height:1}.aba-calendar-upcoming-list time span{font-size:9px;color:#ac2153;font-weight:900}.aba-calendar-upcoming-list h3{margin:2px 0;font-size:16px}.aba-calendar-upcoming-list p,.aba-calendar-upcoming-list small{margin:0;color:#ac2153;font-size:11px}.aba-calendar-empty-month{min-height:330px;display:grid;place-content:center;justify-items:center;color:#ac2153}.aba-calendar-empty-month i{font-size:38px;color:#f5ebdd}@media(max-width:980px){.aba-calendar-dashboard{grid-template-columns:1fr}.aba-calendar-upcoming{min-height:0}.aba-calendar-mini{grid-template-rows:26px repeat(6,52px)!important}}
.aba-profile-attempt>summary{display:block!important;padding:0!important}.aba-attempt-card-info{display:flex;align-items:center;gap:12px;padding:14px}.aba-attempt-card-info>b{flex:0 0 34px;width:34px;height:52px;border-radius:9px;background:#ac2153;color:#ffffff;display:grid;place-items:center;font-size:20px}.aba-profile-attempt.is-complete .aba-attempt-card-info>b{background:#ac2153}.aba-attempt-card-info>span{flex:1}.aba-attempt-card-info strong,.aba-attempt-card-info small{display:block}.aba-profile-attempt.is-empty .aba-attempt-card-info>b{background:#ac2153}.aba-profile-attempt>form{border-top:1px solid #f5ebdd;padding-top:14px!important}
.aba-profile-feed>.aba-profile-exam-card{order:-2}.aba-attempt-card-info strong{font-size:16px;line-height:1.25;color:#ac2153}.aba-attempt-card-info small{margin-top:5px;line-height:1.35;color:#ac2153}.aba-profile-exam-summary{grid-template-columns:1fr}.aba-reported-domains{display:grid!important;grid-template-columns:repeat(6,1fr);gap:6px!important;width:100%}.aba-reported-domains span{display:grid;place-items:center;grid-template-columns:auto auto;gap:3px;padding:9px 6px!important;background:#f5ebdd!important;color:#ac2153!important;border:1px solid #f5ebdd}.aba-reported-domains b{color:#ac2153!important;margin:0!important}.aba-profile-exam-summary>small{color:#ac2153!important}.aba-metrics-title .aba-profile-exam-summary{width:min(620px,55%)}@media(max-width:760px){.aba-reported-domains{grid-template-columns:repeat(3,1fr)}}

/* Live Classes: shared Personal Area title treatment and in-place unified event editor. */
body.aba-abalive-list-body{background:#ffffff!important}.aba-abalive-classes-page{background:#ffffff!important}.aba-abalive-shell{padding:34px clamp(24px,4vw,64px) 60px!important;background:#ffffff!important}.aba-abalive-list-heading{margin:0 0 28px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.aba-abalive-list-heading h1{margin:0!important;color:#ac2153!important;font-size:clamp(38px,4vw,56px)!important;line-height:1!important;text-shadow:none!important}.aba-abalive-list-heading .aba-mentoring-heading-rule{display:block;width:72px;height:4px;margin-top:13px;border-radius:99px;background:#ac2153!important}.aba-unified-event-modal{z-index:9999!important;align-items:center!important;padding:22px!important}.aba-unified-event-modal-card{position:relative;width:min(1120px,calc(100vw - 44px))!important;height:min(860px,calc(100vh - 44px));padding:0!important;overflow:hidden!important;border-radius:18px!important;background:#ffffff!important}.aba-unified-event-modal-card>.aba-modal-close{z-index:3;right:14px;top:12px}.aba-unified-event-modal-card iframe{display:block;width:100%;height:100%;border:0;background:#ffffff}.aba-event-admin-embed-body{margin:0;background:#ffffff}.aba-event-admin-embed{padding:18px!important;background:#ffffff}.aba-event-admin-embed .aba-admin-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.aba-event-admin-embed .aba-event-editor-panel{margin:0!important;padding:24px!important;border:0!important;box-shadow:none!important}.aba-event-admin-embed .aba-event-editor-panel>h2{margin:0 0 18px;color:#ac2153;font-size:28px}.aba-event-admin-embed .aba-form-grid{gap:14px}.aba-event-admin-embed textarea{min-height:90px}@media(max-width:700px){.aba-abalive-shell{padding:24px 16px 45px!important}.aba-unified-event-modal{padding:8px!important}.aba-unified-event-modal-card{width:calc(100vw - 16px)!important;height:calc(100vh - 16px)}}

.aba-abalive-embed-body,.aba-abalive-embed-body .aba-abalive-page,.aba-abalive-embed-body .aba-abalive-shell{background:#ffffff!important}.aba-unified-event-modal-card{display:block!important;overflow-y:auto!important;padding:28px 32px 30px!important}.aba-unified-event-modal-heading{padding:0 44px 17px 0;border-bottom:1px solid #f5ebdd}.aba-unified-event-modal-heading small{color:#ac2153;font-weight:900;letter-spacing:.09em}.aba-unified-event-modal-heading h2{margin:4px 0;color:#ac2153;font-size:32px}.aba-unified-event-modal-heading p{margin:0;color:#ac2153}.aba-unified-event-form{padding-top:20px}.aba-unified-event-form .aba-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.aba-unified-event-form fieldset{display:flex;gap:14px;padding:12px 15px;border:1px solid #f5ebdd;border-radius:10px}.aba-unified-event-form textarea{min-height:92px}.aba-unified-event-form-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.aba-unified-event-form-actions button{min-width:190px}.aba-abalive-list-heading{min-height:104px!important;align-items:flex-start!important}.aba-abalive-list-heading .aba-mentoring-heading-actions{padding-top:5px}@media(max-width:700px){.aba-unified-event-modal-card{padding:22px 18px!important}.aba-unified-event-form .aba-form-grid{grid-template-columns:1fr}.aba-unified-event-form .span-2{grid-column:auto}.aba-unified-event-form-actions{align-items:stretch;flex-direction:column}.aba-unified-event-form-actions button{width:100%}}

/* Keep event dialogs above the fixed course footer and fully inside the viewport. */
.aba-unified-event-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;padding:18px!important;align-items:center!important;justify-content:center!important}
.aba-unified-event-modal-card{width:min(1120px,calc(100vw - 36px))!important;height:auto!important;max-height:calc(100vh - 36px)!important;max-height:calc(100dvh - 36px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain}
.aba-reported-domains span{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:4px!important}.aba-reported-domains span strong{color:#ac2153}
@media(max-width:700px){.aba-unified-event-modal{padding:8px!important}.aba-unified-event-modal-card{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}}

/* Live-event editor: keep the close control below the personal header. */
.aba-unified-event-modal{top:var(--aba-personal-header-height,68px)!important;right:0!important;bottom:var(--aba-personal-footer-height,34px)!important;left:0!important;padding:16px 20px!important}
.aba-unified-event-modal-card{width:min(1320px,calc(100vw - 40px))!important;max-height:calc(100vh - var(--aba-personal-header-height,68px) - var(--aba-personal-footer-height,34px) - 32px)!important;max-height:calc(100dvh - var(--aba-personal-header-height,68px) - var(--aba-personal-footer-height,34px) - 32px)!important}
.modal-open body .site-footer.neuro-footer,.modal-open body .nh-footer-bottom-wrap{visibility:hidden!important}
@media(max-width:700px){.aba-unified-event-modal{padding:8px!important}.aba-unified-event-modal-card{width:calc(100vw - 16px)!important;max-height:calc(100dvh - var(--aba-personal-header-height,68px) - 16px)!important}}

body.aba-abalive-embed-body .aba-abalive-shell{padding:34px 30px 60px!important}.aba-settings-form fieldset[data-event-domains],.aba-unified-event-form fieldset[data-event-domains]{grid-template-columns:repeat(6,minmax(54px,1fr))!important;align-items:center!important;gap:8px!important;padding:10px 12px!important}.aba-settings-form fieldset[data-event-domains] legend,.aba-unified-event-form fieldset[data-event-domains] legend{padding:0 6px;color:#ac2153;font-size:12px;font-weight:800}.aba-settings-form fieldset[data-event-domains]>label,.aba-unified-event-form fieldset[data-event-domains]>label{min-height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;margin:0!important;padding:6px 8px!important;border:1px solid #f5ebdd!important;border-radius:8px!important;background:#f5ebdd!important;font-size:13px!important;font-weight:900!important}.aba-settings-form fieldset[data-event-domains] input,.aba-unified-event-form fieldset[data-event-domains] input{width:16px!important;height:16px!important;min-height:0!important;margin:0!important;padding:0!important}.aba-adminsite-main fieldset[data-event-domains]{width:100%!important;max-width:none!important}@media(max-width:760px){.aba-settings-form fieldset[data-event-domains],.aba-unified-event-form fieldset[data-event-domains]{grid-template-columns:repeat(3,1fr)!important}}

/* Live Classes uses the same clean white canvas as Mini Mocks. */
.aba-my-main-panel:has(.aba-my-mentoring-frame-wrap),
.aba-my-main-panel-mentoring,
.aba-my-mentoring-frame-wrap,
.aba-my-mentoring-frame,
body.aba-abalive-list-body,
body.aba-abalive-list-body .site-shell,
body.aba-abalive-list-body .aba-abalive-page,
body.aba-abalive-list-body .aba-abalive-shell {
    background: #ffffff !important;
}

/* Unified event domains: hidden until "By domain", then one compact row. */
.aba-settings-form fieldset[data-event-domains],
.aba-unified-event-form fieldset[data-event-domains] {
    display: none !important;
}
.aba-settings-form fieldset[data-event-domains].is-visible,
.aba-unified-event-form fieldset[data-event-domains].is-visible {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(54px, 1fr)) !important;
}
@media (max-width: 760px) {
    .aba-settings-form fieldset[data-event-domains].is-visible,
    .aba-unified-event-form fieldset[data-event-domains].is-visible {
        grid-template-columns: repeat(3, minmax(54px, 1fr)) !important;
    }
}

.aba-calendar-day.can-create-event {
    position: relative;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.aba-calendar-day.can-create-event:hover,
.aba-calendar-day.can-create-event:focus-visible {
    border-color: #fb76a4 !important;
    box-shadow: 0 8px 20px rgba(172,33,83,.12);
    outline: none;
}
.aba-calendar-add-event {
    position: absolute;
    top: 7px;
    right: 7px;
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #ffffff;
    background: #ac2153;
    font-size: 10px;
    opacity: 0;
    transform: scale(.8);
    transition: opacity .18s ease, transform .18s ease;
    pointer-events: none;
}
.aba-calendar-day.can-create-event:hover .aba-calendar-add-event,
.aba-calendar-day.can-create-event:focus-visible .aba-calendar-add-event {
    opacity: 1;
    transform: scale(1);
}
/* Desktop messenger layout. Functional controls remain native to RBT Desde Cero. */
.aba-chat-page{padding:0!important;background:#ffffff}
.aba-chat-shell{width:100%;height:calc(100vh - 86px);min-height:650px;margin:0;grid-template-columns:390px minmax(0,1fr);gap:0;border:0;border-radius:0;overflow:hidden;background:#ffffff;box-shadow:none}
.aba-chat-sidebar,.aba-chat-panel{height:100%;min-height:0;max-height:none;border:0;border-radius:0;box-shadow:none}
.aba-chat-sidebar{padding:0;background:#ffffff;border-right:1px solid #f5ebdd;overflow-y:auto}
.aba-chat-sidebar-head{height:64px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f5ebdd}
.aba-chat-sidebar-head h1{margin:0;font-size:25px}
.aba-chat-new-group{width:38px;height:38px;position:relative;border:0;border-radius:50%;color:#ac2153;background:#f5ebdd;cursor:pointer}.aba-chat-new-group span{position:absolute;right:5px;bottom:1px;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;color:#ffffff;background:#ac2153;font-size:12px}
.aba-chat-search-top{position:relative;margin:12px 14px 8px;display:block}.aba-chat-search-top>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#ac2153}.aba-chat-search-top input{width:100%;height:42px;padding:0 14px 0 40px;border:0;border-radius:21px;background:#f5ebdd}.aba-chat-search-legacy{display:none}
.aba-chat-filters{padding:0 14px 9px;display:flex;gap:7px;overflow-x:auto;border-bottom:1px solid #f5ebdd}.aba-chat-filters button{padding:7px 12px;border:1px solid #f5ebdd;border-radius:18px;color:#ac2153;background:#ffffff;white-space:nowrap;cursor:pointer}.aba-chat-filters button.active{border-color:#ac2153;color:#ffffff;background:#ac2153}
.aba-chat-tabs,.aba-chat-thread-list{gap:0}.aba-chat-tabs a,.aba-chat-thread-list a{min-height:66px;padding:9px 42px 9px 14px;border:0;border-bottom:1px solid #f5ebdd;border-radius:0}.aba-chat-tabs a:hover,.aba-chat-thread-list a:hover{background:#f5ebdd}.aba-chat-tabs a.active,.aba-chat-thread-list a.active{color:#ac2153;background:#f5ebdd;border-left:4px solid #ac2153;padding-left:10px}.aba-chat-thread-list{margin-top:0}.aba-chat-thread-list>strong{display:block;padding:12px 14px 6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.aba-chat-group-list i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#ffffff;background:#fb76a4}.aba-chat-divider{margin:0;background:#f5ebdd}
.aba-chat-sound-toggle,.aba-chat-online-form{margin-left:14px}
.aba-chat-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:#ffffff}
.aba-chat-panel:not(:has(.aba-chat-contact-card)){grid-template-rows:auto minmax(0,1fr) auto}
.aba-chat-panel>header{min-height:72px;padding:10px 20px;background:#ffffff;border-bottom:1px solid #f5ebdd}.aba-chat-panel>header h2{font-size:23px;margin:0}.aba-chat-panel>header p{font-size:14px}.aba-chat-header-actions .aba-btn{font-size:0;width:38px;height:38px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:#f5ebdd}.aba-chat-header-actions .aba-btn i{font-size:15px}
.aba-chat-head-icon,.aba-chat-more>summary{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;color:#ac2153;background:#f5ebdd;cursor:pointer;list-style:none}.aba-chat-more{position:relative}.aba-chat-more>summary::-webkit-details-marker{display:none}.aba-chat-more>div{position:absolute;z-index:50;right:0;top:45px;width:220px;padding:6px;border:1px solid #f5ebdd;border-radius:10px;background:#ffffff;box-shadow:0 12px 34px rgba(172,33,83,.18)}.aba-chat-more button{width:100%;padding:10px 12px;display:flex;align-items:center;gap:10px;border:0;border-radius:7px;color:#ac2153;background:#ffffff;text-align:left;cursor:pointer}.aba-chat-more button:hover{background:#f5ebdd}.aba-chat-more button.danger{color:#ac2153}
.aba-chat-contact-card{margin:0;padding:8px 20px;display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid #f5ebdd;border-radius:0;background:#ffffff}.aba-chat-contact-card>span{width:38px;height:38px;border-radius:50%;overflow:hidden}.aba-chat-contact-card img{width:100%;height:100%;object-fit:cover}.aba-chat-contact-card div{display:grid}.aba-chat-contact-card small{color:#ac2153}
.aba-chat-messages{padding:24px max(24px,7%);gap:8px;background:#f5ebdd;scrollbar-width:thin}.aba-chat-bubble{border-radius:14px 14px 14px 3px;background:#ffffff;box-shadow:0 1px 2px rgba(172,33,83,.1)}.aba-chat-message.mine .aba-chat-bubble{border-radius:14px 14px 3px 14px;background:#f5ebdd}.aba-chat-compose{margin:0;padding:10px 16px;background:#ffffff;border-top:1px solid #f5ebdd}.aba-chat-compose textarea{min-height:44px;max-height:120px;border:0;border-radius:22px;background:#f5ebdd}
.aba-chat-group-manager{position:fixed;z-index:10030;inset:0 0 0 auto;width:min(440px,calc(100vw - 24px));max-height:100vh;overflow:auto;border:0;border-left:1px solid #f5ebdd;border-radius:0;background:#ffffff;box-shadow:-18px 0 55px rgba(172,33,83,.2)}.aba-chat-group-manager:not([open]){display:none}.aba-chat-group-manager[open]::before{content:"";position:fixed;z-index:-1;inset:0;background:rgba(172,33,83,.24)}.aba-chat-group-manager>summary{height:72px;padding:0 20px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #f5ebdd;font-size:20px;font-weight:800;color:#ac2153;cursor:pointer;list-style:none}.aba-chat-group-manager>summary::-webkit-details-marker{display:none}.aba-chat-group-manager>form{padding:18px 20px;display:grid;gap:12px}.aba-chat-group-manager input{width:100%;padding:11px;border:1px solid #f5ebdd;border-radius:8px}.aba-chat-group-name-label{display:grid;gap:5px}.aba-chat-group-name-label>span{color:#ac2153;font-size:12px;font-weight:800}.aba-chat-member-heading{display:flex;align-items:center;justify-content:space-between;color:#ac2153}.aba-chat-member-heading span{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f5ebdd;font-weight:800}.aba-chat-member-picker{max-height:calc(100vh - 330px);overflow:auto;border:0;border-top:1px solid #f5ebdd;border-radius:0;padding:0}.aba-chat-member-picker label{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:10px;padding:11px 4px;border-bottom:1px solid #f5ebdd;cursor:pointer}.aba-chat-member-picker label:hover{background:#f5ebdd}.aba-chat-member-picker label span{display:grid;font-weight:700}.aba-chat-member-picker label small{color:#ac2153;font-weight:500}.aba-chat-title-block[data-chat-group-open]{cursor:pointer}.aba-chat-title-block[data-chat-group-open]:hover h2{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.aba-chat-shell{grid-template-columns:320px minmax(0,1fr)}}
@media(max-width:700px){.aba-chat-shell{height:calc(100vh - 70px);grid-template-columns:110px minmax(0,1fr)}.aba-chat-sidebar-head h1,.aba-chat-search-top,.aba-chat-filters,.aba-chat-thread-list small,.aba-chat-tabs a{font-size:0}.aba-chat-tabs a,.aba-chat-thread-list a{justify-content:center;padding:8px}.aba-chat-messages{padding:14px 10px}}

/* WhatsApp-style information architecture, using RBT Desde Cero branding. */
.aba-chat-shell{grid-template-columns:58px 390px minmax(0,1fr)}
.aba-chat-rail{height:100%;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:8px;background:#ac2153;border-right:1px solid #ac2153}
.aba-chat-rail>a,.aba-chat-rail>button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;color:#f5ebdd;background:transparent;font-size:17px;cursor:pointer;text-decoration:none}
.aba-chat-rail>a:hover,.aba-chat-rail>button:hover,.aba-chat-rail .active{color:#ffffff;background:#ac2153}
.aba-chat-rail>span{flex:1}
.aba-chat-sidebar-head{background:#f5ebdd}
.aba-chat-tabs a,.aba-chat-thread-list a{position:relative;min-height:72px;padding:9px 48px 9px 66px!important;display:block}
.aba-chat-tabs a{display:flex;align-items:center;gap:10px;padding-left:14px!important}
.aba-chat-thread-list a>b{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ac2153;font-size:15px}
.aba-chat-thread-list a>small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;color:#ac2153;font-size:12px}
.aba-chat-thread-list a>time{position:absolute;right:13px;top:12px;color:#ac2153;font-size:11px}
.aba-chat-thread-avatar{position:absolute!important;left:13px;top:10px;width:48px!important;height:48px!important;display:grid!important;place-items:center;border-radius:50%;overflow:hidden;color:#ffffff;background:#ac2153}
.aba-chat-thread-avatar img,.aba-chat-thread-avatar .aba-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%}
.aba-chat-group-list i{width:auto;height:auto;background:transparent}
.aba-chat-panel{grid-template-rows:auto auto minmax(0,1fr) auto!important;background:#f5ebdd}
.aba-chat-panel>header{min-height:64px;padding:7px 16px;display:flex;align-items:center;background:#f5ebdd}
.aba-chat-current-avatar{flex:0 0 44px;width:44px;height:44px;margin-right:11px;display:grid;place-items:center;border-radius:50%;overflow:hidden;color:#ffffff;background:#ac2153}
.aba-chat-current-avatar img,.aba-chat-current-avatar .aba-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%}
.aba-chat-title-block{min-width:0;flex:1}.aba-chat-panel>header h2{font-size:18px;line-height:1.1}.aba-chat-panel>header p{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.aba-chat-header-actions{display:flex;align-items:center;gap:4px}.aba-chat-head-icon,.aba-chat-more>summary{background:transparent}.aba-chat-head-icon:hover,.aba-chat-more>summary:hover{background:#f5ebdd}
.aba-chat-more>div{width:250px;padding:7px;border:0;border-radius:4px;box-shadow:0 8px 24px rgba(172,33,83,.22)}
.aba-chat-more button{padding:11px 13px;border-radius:3px;font-size:14px}.aba-chat-more button i{width:20px;text-align:center;color:#ac2153}
.aba-chat-description{min-height:54px;padding:9px 18px;display:flex;flex-direction:column;justify-content:center;gap:2px;border-bottom:1px solid #f5ebdd;background:#ffffff;cursor:pointer}.aba-chat-description strong{font-size:13px}.aba-chat-description span{color:#ac2153;font-size:12px}
.aba-chat-contact-card{display:none}
.aba-chat-messages{position:relative;padding:22px max(24px,6%);background-color:#f5ebdd;background-image:radial-gradient(circle at 10px 10px,rgba(172,33,83,.035) 1.3px,transparent 1.5px),radial-gradient(circle at 30px 28px,rgba(172,33,83,.025) 1.2px,transparent 1.4px);background-size:42px 42px}
.aba-chat-compose{position:relative;min-height:64px;padding:9px 14px;display:grid;grid-template-columns:42px 42px minmax(0,1fr) 46px;align-items:end;gap:5px;background:#f5ebdd}
.aba-chat-compose textarea{grid-column:3;min-height:44px;height:44px;padding:12px 16px;resize:none;background:#ffffff}
.aba-chat-compose>.aba-chat-tool,.aba-chat-emoji-toggle{width:42px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;color:#ac2153;background:transparent;font-size:19px;cursor:pointer}
.aba-chat-compose>.aba-chat-tool{grid-column:1}.aba-chat-emoji-toggle{grid-column:2}.aba-chat-compose>button[type=submit]{grid-column:4;width:44px;height:44px;border-radius:50%}
.aba-chat-emoji-picker{position:absolute;z-index:8;left:50px;bottom:63px;padding:7px;display:grid;grid-template-columns:repeat(4,36px);gap:4px;border-radius:9px;background:#ffffff;box-shadow:0 8px 28px rgba(172,33,83,.18)}.aba-chat-emoji-picker[hidden]{display:none}.aba-chat-emoji-picker button{width:36px;height:36px;border:0;background:transparent;font-size:20px;cursor:pointer}
.aba-chat-attachment-status{position:absolute;left:18px;bottom:66px;z-index:7;width:auto;max-width:420px}
.aba-chat-group-manager{width:min(460px,calc(100vw - 24px))}
.aba-chat-panel.is-selecting .aba-chat-message{cursor:pointer}.aba-chat-panel.is-selecting .aba-chat-message:hover .aba-chat-bubble{outline:2px solid #fb76a4}.aba-chat-message.is-selected .aba-chat-bubble{outline:3px solid #ac2153;background:#f5ebdd!important}
@media(max-width:1000px){.aba-chat-shell{grid-template-columns:52px 330px minmax(0,1fr)}}
@media(max-width:700px){.aba-chat-shell{grid-template-columns:48px 92px minmax(0,1fr)}.aba-chat-rail{padding-left:4px;padding-right:4px}.aba-chat-thread-list a{padding:8px!important}.aba-chat-thread-avatar{position:static!important;margin:auto}.aba-chat-thread-list a>b,.aba-chat-thread-list a>small,.aba-chat-thread-list a>time{display:none}.aba-chat-current-avatar{flex-basis:38px;width:38px;height:38px}}

/* Chat spacing and group access roles. */
.aba-chat-compose{padding:12px 18px;grid-template-columns:38px 38px minmax(0,1fr) 48px;gap:10px}
.aba-chat-compose>.aba-chat-tool,.aba-chat-emoji-toggle{width:38px;background:transparent!important;color:#ac2153!important}
.aba-chat-compose textarea{margin:0 2px;padding-left:18px;padding-right:18px}
.aba-chat-thread-list{padding-bottom:8px}.aba-chat-thread-list>strong{padding:16px 18px 8px}.aba-chat-thread-list>p{margin:6px 18px 14px;color:#ac2153}
.aba-chat-admin-state{width:9px;height:9px;margin-right:7px;display:inline-block;border-radius:50%;background:#ac2153}.aba-chat-admin-state.online{background:#fb76a4;box-shadow:0 0 0 3px rgba(251,118,164,.13)}
.aba-chat-member-picker label{grid-template-columns:22px minmax(0,1fr) auto}.aba-chat-member-picker label>input,.aba-chat-member-picker label em input{width:17px;height:17px;margin:0}.aba-chat-member-picker label em{display:flex;align-items:center;gap:5px;color:#ac2153;font-size:11px;font-style:normal;white-space:nowrap}
.aba-chat-access-requests{padding:4px 20px 18px}.aba-chat-access-requests h3{margin:6px 0 9px;color:#ac2153;font-size:16px}.aba-chat-access-requests article{padding:9px 0;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;border-bottom:1px solid #f5ebdd}.aba-chat-access-requests article>span{width:38px;height:38px;border-radius:50%;overflow:hidden}.aba-chat-access-requests article img{width:100%;height:100%;object-fit:cover}.aba-chat-access-requests article div{display:grid}.aba-chat-access-requests small{color:#ac2153}.aba-chat-access-requests form{display:flex;gap:5px}.aba-chat-access-requests button{width:34px;height:34px;border:0;border-radius:50%;color:#ffffff;background:#ac2153;cursor:pointer}.aba-chat-access-requests button.danger{background:#ac2153}
.aba-chat-available-groups form{margin:0 14px 7px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #f5ebdd;border-radius:9px}.aba-chat-available-groups form span{display:flex;align-items:center;gap:8px;min-width:0}.aba-chat-available-groups form button{padding:7px 9px;border:0;border-radius:7px;color:#ffffff;background:#ac2153;cursor:pointer}.aba-chat-available-groups form button:disabled{color:#ac2153;background:#f5ebdd;cursor:default}
/* Book library: collectible 3D cover cards and profile collection */
.aba-book-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(300px,362px))!important;gap:28px!important;align-items:start!important}
.aba-book-card{position:relative!important;display:flex!important;flex-direction:column!important;min-height:0!important;padding:18px!important;border:2px solid #fb76a4!important;border-radius:8px!important;background:#f5ebdd!important;box-shadow:0 18px 40px rgba(172,33,83,.12)!important;overflow:visible!important;text-align:center!important}
.aba-book-card>img,.aba-book-card>.aba-book-cover-placeholder{width:100%!important;height:300px!important;object-fit:contain!important;background:transparent!important;border:0!important;border-radius:0!important;padding:8px!important}
.aba-book-card>div:last-child{position:static!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.aba-book-audience-badge{position:absolute;z-index:2;right:20px;top:20px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#ac2153;color:#ffffff;font-weight:900;font-size:15px}
.aba-book-code-badge{position:absolute;z-index:3;left:20px;top:20px;padding:7px 10px;border-radius:7px;background:#ac2153;color:#ffffff;font-size:12px;font-weight:900;letter-spacing:.04em;box-shadow:0 5px 14px rgba(172,33,83,.2)}
.aba-book-audience-badge{width:auto;min-width:52px;padding:0 10px;font-size:12px}
.aba-book-purchase-trigger[hidden],.aba-book-card button[hidden]{display:none!important}
.aba-book-card-top{display:block!important}.aba-book-card-top small{color:#fb76a4!important;font-weight:800}.aba-book-card-top .aba-book-price{display:none!important}
.aba-book-card h2{margin:5px 0 2px!important;text-transform:uppercase!important;font-size:24px!important;color:#ac2153!important}.aba-book-card h2+b{display:none!important}
.aba-book-card .aba-book-meta{margin:0 0 14px!important;color:#ac2153!important;font-size:18px!important;text-transform:uppercase!important;white-space:nowrap!important}
.aba-book-card>div:last-child>p:not(.aba-book-meta){display:none!important}
.aba-book-price-action{display:block!important;width:100%!important;margin:0!important;background:#ac2153!important;border-color:#ac2153!important;color:#ffffff!important;font-size:19px!important;font-weight:900!important;border-radius:8px!important}
.aba-book-admin-actions{margin-top:12px!important}.aba-book-modal [data-payment-success] [data-paid-download]{display:none!important}
.aba-profile-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:18px}.aba-profile-library-grid article{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #f5ebdd;border-radius:12px;background:#f5ebdd}.aba-profile-library-grid img{width:70px;height:86px;object-fit:contain}.aba-profile-library-grid article div{display:grid;gap:4px}.aba-profile-library-grid strong{color:#ac2153;font-size:17px}.aba-profile-library-grid small{color:#ac2153;font-weight:800}.aba-profile-library-grid span{color:#fb76a4;font-size:13px}
@media(max-width:600px){.aba-book-grid{grid-template-columns:1fr!important}.aba-book-card>img{height:260px!important}.aba-book-card .aba-book-meta{font-size:15px!important}}

/* Book checkout: same clean RBT Desde Cero visual language used by event checkout. */
.aba-book-modal[data-buy-modal]{width:min(760px,calc(100vw - 32px))!important;max-width:760px!important;max-height:calc(100vh - 64px)!important;margin:auto!important;padding:0!important;border:0!important;border-top:5px solid #ac2153!important;border-radius:16px!important;overflow:auto!important;background:#ffffff!important;box-shadow:0 26px 70px rgba(172,33,83,.28)!important}
.aba-book-modal[data-buy-modal] .aba-book-lead{padding:26px 30px 28px!important;display:grid!important;gap:18px!important}
.aba-book-modal[data-buy-modal] .aba-checkout-header{position:relative!important;margin:0!important;padding:0 52px 18px 0!important;display:block!important;border-bottom:1px solid #f5ebdd!important;background:#ffffff!important;color:#ac2153!important}
.aba-book-modal[data-buy-modal] .aba-checkout-header h2{margin:4px 0 0!important;font-size:27px!important;line-height:1.15!important;color:#ac2153!important}
.aba-book-modal[data-buy-modal] .aba-checkout-kicker{font-size:12px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#ac2153!important}
.aba-book-modal[data-buy-modal] .aba-checkout-lock{position:absolute!important;right:42px!important;top:0!important;width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#f5ebdd!important;color:#ac2153!important}
.aba-book-modal[data-buy-modal] [data-modal-close]{position:absolute!important;right:0!important;top:-4px!important;width:34px!important;height:34px!important;border:0!important;border-radius:50%!important;background:#ffffff!important;color:#ac2153!important;font-size:25px!important}
.aba-book-modal[data-buy-modal] [data-customer-step]{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px 16px!important}
.aba-book-modal[data-buy-modal] [data-customer-step][hidden],.aba-book-modal[data-buy-modal] [data-payment-step][hidden],.aba-book-modal[data-buy-modal] [data-payment-success][hidden]{display:none!important}
.aba-book-modal[data-buy-modal] label{display:grid!important;gap:6px!important;color:#ac2153!important;font-weight:800!important}
.aba-book-modal[data-buy-modal] input{width:100%!important;min-height:46px!important;padding:10px 12px!important;border:1px solid #f5ebdd!important;border-radius:9px!important;background:#ffffff!important}
.aba-book-modal[data-buy-modal] .aba-order-summary{grid-column:1/-1!important;margin-top:4px!important;padding:15px 17px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 90px 110px!important;gap:12px!important;border:1px solid #f5ebdd!important;border-radius:12px!important;background:#f5ebdd!important}
.aba-book-modal[data-buy-modal] .aba-order-summary>div{display:grid!important;gap:4px!important}.aba-book-modal[data-buy-modal] .aba-order-summary span{font-size:11px!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#ac2153!important}.aba-book-modal[data-buy-modal] .aba-order-summary strong{color:#ac2153!important}
.aba-book-modal[data-buy-modal] [data-customer-actions]{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:4px!important}
.aba-book-modal[data-buy-modal] .aba-btn.primary{background:#ac2153!important;border-color:#ac2153!important}.aba-book-modal[data-buy-modal] [data-payment-element],.aba-book-modal[data-buy-modal] [data-express-checkout]{padding:14px!important;border:1px solid #f5ebdd!important;border-radius:12px!important;background:#ffffff!important}
@media(max-width:650px){.aba-book-modal[data-buy-modal] .aba-book-lead{padding:22px 18px!important}.aba-book-modal[data-buy-modal] [data-customer-step]{grid-template-columns:1fr!important}.aba-book-modal[data-buy-modal] .aba-order-summary{grid-template-columns:1fr!important}.aba-book-modal[data-buy-modal] [data-customer-actions]{grid-template-columns:1fr!important}}

/* Final library-card behavior: the entire card is the preview trigger. */
.aba-book-code-badge,.aba-book-audience-badge{display:none!important}
.aba-book-card{cursor:pointer!important;transition:transform .22s ease,box-shadow .22s ease!important}
.aba-book-card:hover{transform:translateY(-7px)!important;box-shadow:0 28px 58px rgba(172,33,83,.2)!important}
.aba-book-card>img{mix-blend-mode:multiply;background:none!important;box-shadow:none!important;transition:none!important}
.aba-book-card>img{background-color:transparent!important;border:0!important;border-radius:0!important}
.aba-book-card:hover>img{transform:none!important;box-shadow:none!important}
.aba-book-admin-actions{min-height:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:16px!important}
.aba-book-admin-actions form{display:flex!important;align-items:center!important;margin:0!important;padding:0!important}
.aba-book-admin-actions button,.aba-book-delete{display:inline-flex!important;align-items:center!important;min-height:24px!important;margin:0!important;padding:0!important;line-height:1!important}
.aba-book-modal[data-buy-modal] [data-recover-purchase]{display:none!important}
.aba-book-modal[data-buy-modal] [data-prepare-payment]{display:none!important}
.aba-book-modal[data-buy-modal]{width:min(820px,calc(100% - 28px))!important}
.aba-book-modal[data-buy-modal] .aba-book-lead{display:grid;gap:16px;padding:26px 30px}
.aba-book-guest-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.aba-book-guest-fields label:first-child{grid-column:1/-1}
.aba-book-profile-email{margin:0;padding:11px 14px;border-radius:10px;background:#f5ebdd;color:#ac2153}
.aba-book-discount-entry{padding:12px;border:1px solid #f5ebdd;border-radius:12px;background:#f5ebdd}.aba-book-discount-row{display:grid;grid-template-columns:1fr auto;gap:9px}.aba-book-discount-row .aba-btn{min-width:110px}
.aba-book-modal[data-buy-modal] .aba-book-authorizations{display:grid!important;gap:10px!important;margin-top:15px!important;padding:16px 18px!important;border:1px solid #f5ebdd!important;border-radius:12px!important;background:#f5ebdd!important}.aba-book-modal[data-buy-modal] .aba-book-authorizations label{display:flex!important;align-items:flex-start!important;grid-template-columns:none!important;gap:10px!important;margin:0!important;color:#ac2153!important;font-weight:500!important;line-height:1.4!important}.aba-book-modal[data-buy-modal] .aba-book-authorizations input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;flex:0 0 18px!important;margin:2px 0 0!important;padding:0!important;border-radius:2px!important}.aba-book-modal[data-buy-modal] .aba-book-authorizations label span{display:block!important;flex:1!important}.aba-book-modal[data-buy-modal] .aba-book-authorizations a{color:#ac2153!important;font-weight:800!important;text-decoration:underline!important}.aba-book-modal[data-buy-modal] .aba-book-authorizations>small{display:block!important;margin:2px 0 0 28px!important;color:#ac2153!important;line-height:1.45!important}
.aba-book-modal[data-buy-modal] [data-payment-element]{margin-top:12px}.aba-book-modal[data-buy-modal] [data-express-checkout]{margin-top:10px}.aba-book-modal[data-buy-modal] .aba-secure-payment{display:block;text-align:center;margin:8px 0;color:#ac2153}
@media(max-width:650px){.aba-book-guest-fields{grid-template-columns:1fr}.aba-book-guest-fields label:first-child{grid-column:auto}.aba-book-modal[data-buy-modal] .aba-book-lead{padding:20px}}

/* Student map entrance: each populated state and its counter appear together. */
.aba-map-state-counts article.aba-map-card-awaiting{opacity:0;transform:translateX(-16px) scale(.96)}
.aba-map-state-counts article.aba-map-card-awaiting.is-map-revealed{opacity:1;transform:none;transition:opacity .38s ease,transform .46s cubic-bezier(.2,.8,.2,1)}
.aba-usa-count-map-img .aba-map-state-awaiting{transition:fill .42s ease,filter .42s ease}
.aba-usa-count-map-img .aba-map-state-awaiting.is-map-revealed{filter:drop-shadow(0 3px 5px rgba(172,33,83,.2))}
.aba-usa-count-map-img .aba-map-marker-awaiting{opacity:0;filter:blur(2px)}
.aba-usa-count-map-img .aba-map-marker-awaiting.is-map-revealed{opacity:1;filter:none;transition:opacity .3s ease,filter .35s ease}
@media(prefers-reduced-motion:reduce){.aba-map-state-counts article.aba-map-card-awaiting{opacity:1;transform:none}.aba-usa-count-map-img .aba-map-marker-awaiting{opacity:1;filter:none}.aba-usa-count-map-img .aba-map-state-awaiting{transition:none}}
.aba-register-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.aba-register-form>button,.aba-register-form>.aba-form-link,.aba-register-form>input[type=hidden]{grid-column:1/-1}@media(max-width:720px){.aba-register-form{grid-template-columns:1fr}}
.aba-prefixed-input{display:flex;align-items:center;border:1px solid #f5ebdd;border-radius:8px;overflow:hidden;background:#ffffff}.aba-prefixed-input b{padding:.72rem;background:#f5ebdd;color:#ac2153;white-space:nowrap}.aba-prefixed-input input{border:0!important;border-radius:0!important;min-width:0}.aba-check-row{display:flex!important;align-items:center;gap:.65rem}.aba-check-row input{width:18px!important;height:18px!important}
.aba-exam-outcome-actions{grid-column:1/-1;display:flex;gap:.55rem;flex-wrap:wrap}.aba-reassessment-callout{margin-top:1rem;padding:1rem;border:1px solid #f5ebdd;border-left:5px solid #ac2153;border-radius:10px;background:#f5ebdd}.aba-reassessment-callout.is-urgent{background:#f5ebdd}.aba-reassessment-callout p{margin:.35rem 0 .8rem}
.aba-bacb-validity-card{display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center;border-top:4px solid #ac2153}.aba-bacb-validity-card small{color:#ac2153;font-weight:900;letter-spacing:.09em}.aba-bacb-validity-card h2{margin:.25rem 0;color:#ac2153}.aba-bacb-validity-card p{margin:0;color:#ac2153}@media(max-width:760px){.aba-bacb-validity-card{grid-template-columns:1fr}.aba-bacb-validity-card .aba-profile-countdown{grid-column:auto}}
.aba-profile-avatar[style] img{object-position:var(--photo-x) var(--photo-y)!important}

/* Keep the framed profile badge inside its mobile grid cell. */
body.aba-mobile-full-profile-body .aba-profile-avatar.large,
body.aba-mobile-full-profile-body .aba-profile-avatar.large:has(.aba-avatar-frame){
    position:relative!important;
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    margin:0!important;
    overflow:hidden!important;
    place-self:center!important;
    border-radius:50%!important;
}
body.aba-mobile-full-profile-body .aba-profile-avatar.large .aba-avatar-core,
body.aba-mobile-full-profile-body .aba-profile-avatar.large .aba-avatar-core-framed,
body.aba-mobile-full-profile-body .aba-profile-avatar.large .aba-avatar-frame{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    transform:none!important;
    object-position:center!important;
}
body.aba-mobile-full-profile-body .aba-profile-avatar.large .aba-avatar-photo{
    width:100%!important;
    height:100%!important;
    object-position:center!important;
}
.aba-settings-section-title{margin:28px 0 14px;padding-bottom:9px;border-bottom:1px solid #f5ebdd;color:#ac2153}
.aba-password-editor{margin-top:28px;padding:18px;border:1px solid #f5ebdd;border-radius:12px;background:#f5ebdd}
.aba-password-editor>summary{display:inline-flex;cursor:pointer;list-style:none}
.aba-password-editor>summary::-webkit-details-marker{display:none}
.aba-invoice-button{display:inline-flex;margin-top:18px}
.aba-check-row[hidden], [data-bacb-reassessment][hidden]{display:none!important}
.aba-admin-profile-section{padding:22px 0;border-top:1px solid #f5ebdd}
.aba-admin-profile-section:first-of-type{border-top:0}
.aba-admin-profile-section>.aba-settings-section-title{margin-top:0}
.aba-admin-profile-section.aba-password-editor{margin-top:22px;padding:18px;border:1px solid #f5ebdd}

/* Admin-only vertical weekly-ranking card. */
.aba-ranking-title{position:relative}
.aba-ranking-card-open{display:inline-flex;align-items:center;gap:8px;margin-top:14px;background:#ffffff;color:#ac2153;border:1px solid #f5ebdd;box-shadow:0 8px 20px rgba(172,33,83,.1)}
.aba-ranking-title .aba-ranking-card-open i{display:inline-block;width:auto;height:auto;margin:0;border-radius:0;background:none}
.aba-ranking-card-open:hover{background:#ac2153;color:#ffffff;border-color:#ac2153}
body.aba-ranking-card-opened{overflow:hidden}
.aba-ranking-card-modal[hidden]{display:none!important}
.aba-ranking-card-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:28px 18px;background:rgba(172,33,83,.88);backdrop-filter:blur(12px);animation:rankingOverlayIn .34s ease both}
.aba-ranking-card-modal.is-closing{animation:rankingOverlayOut .38s ease both}
.aba-ranking-card-dialog{width:min(480px,100%);margin:auto;text-align:center}
.aba-ranking-share-card{position:relative;isolation:isolate;width:100%;aspect-ratio:9/16;overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:30px;background:radial-gradient(circle at 50% 34%,#ac2153 0,#ac2153 38%,#ac2153 68%,#ac2153 100%);box-shadow:0 35px 90px rgba(172,33,83,.55),inset 0 0 0 4px rgba(255,255,255,.08);color:#ffffff;padding:34px 32px 28px}
.aba-ranking-share-card:before{content:"";position:absolute;inset:13px;border:1px solid rgba(255,255,255,.32);border-radius:22px;pointer-events:none}
.aba-ranking-share-card:after{content:"";position:absolute;z-index:-1;left:12%;right:12%;top:43%;height:1px;background:linear-gradient(90deg,transparent,#ac2153,transparent);box-shadow:0 0 25px #ac2153}
.aba-ranking-share-logo{position:absolute;z-index:2;right:30px;top:25px;width:125px;height:54px;object-fit:contain}
.aba-ranking-share-kicker{position:relative;z-index:2;display:block;padding-top:58px;color:#ac2153;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.aba-ranking-share-card>h2{position:relative;z-index:2;margin:8px 0 5px;color:#ffffff;font-size:32px;line-height:1;text-transform:uppercase;text-shadow:0 5px 18px rgba(172,33,83,.25)}
.aba-ranking-share-card>p{position:relative;z-index:2;margin:0;color:#f5ebdd;font-size:13px}
.aba-ranking-share-podium{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:8px;margin:30px 0 24px}
.aba-ranking-share-podium>div{min-width:0;text-align:center}
.aba-ranking-share-podium>.place-1{padding-bottom:23px}
.aba-ranking-share-podium>div>span,.aba-ranking-share-list>div>span{position:relative;display:block;width:82px;height:82px;margin:0 auto 8px;border:4px solid #ffffff;border-radius:50%;background:#f5ebdd;box-shadow:0 9px 24px rgba(172,33,83,.32);overflow:hidden}
.aba-ranking-share-podium>.place-1>span{width:104px;height:104px;border-color:#f5ebdd;box-shadow:0 0 0 5px rgba(245,235,221,.14),0 12px 30px rgba(172,33,83,.4)}
.aba-ranking-share-podium img,.aba-ranking-share-list img,.aba-ranking-share-podium .aba-avatar-media,.aba-ranking-share-list .aba-avatar-media{width:100%;height:100%;object-fit:cover}
.aba-ranking-share-podium .aba-avatar-core,.aba-ranking-share-list .aba-avatar-core{display:block;width:100%;height:100%}
.aba-ranking-share-podium>div>b{display:block;color:#f5ebdd;font-size:20px;line-height:1}
.aba-ranking-share-podium>div>strong{display:block;overflow:hidden;margin-top:6px;color:#ffffff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.aba-ranking-share-podium>div>em{display:block;margin-top:4px;color:#f5ebdd;font-size:11px;font-style:normal}
.aba-ranking-share-list{position:relative;z-index:2;display:grid;gap:7px}
.aba-ranking-share-list>div{display:grid;grid-template-columns:25px 35px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:47px;padding:6px 12px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.07);text-align:left;backdrop-filter:blur(5px)}
.aba-ranking-share-list>div:nth-child(even){background:rgba(251,118,164,.14)}
.aba-ranking-share-list>div>b{color:#f5ebdd;text-align:center}
.aba-ranking-share-list>div>span{width:35px;height:35px;margin:0;border-width:2px}
.aba-ranking-share-list>div>strong{overflow:hidden;color:#ffffff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.aba-ranking-share-list>div>em{color:#f5ebdd;font-size:11px;font-style:normal;font-weight:800}
.aba-ranking-share-card>small{position:absolute;z-index:2;right:38px;bottom:27px;left:38px;color:#f5ebdd;font-size:12px}
.aba-ranking-share-card>small:before{content:"";display:block;width:120px;height:3px;margin:0 auto 10px;background:#ac2153;box-shadow:0 0 12px rgba(172,33,83,.8)}
.aba-ranking-share-stars{position:absolute;inset:0;z-index:1;pointer-events:none}.aba-ranking-share-stars i{position:absolute;width:13px;height:13px;background:#f5ebdd;clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);filter:drop-shadow(0 0 7px #f5ebdd);opacity:.76}
.aba-ranking-share-stars i:nth-child(1){left:9%;top:12%}.aba-ranking-share-stars i:nth-child(2){left:18%;top:29%;transform:scale(.7)}.aba-ranking-share-stars i:nth-child(3){right:8%;top:24%;transform:scale(1.25)}.aba-ranking-share-stars i:nth-child(4){right:20%;top:39%;transform:scale(.65)}.aba-ranking-share-stars i:nth-child(5){left:7%;top:48%;transform:scale(1.15)}.aba-ranking-share-stars i:nth-child(6){right:8%;top:55%;transform:scale(.75)}.aba-ranking-share-stars i:nth-child(7){left:13%;top:68%;transform:scale(.7)}.aba-ranking-share-stars i:nth-child(8){right:10%;top:74%;transform:scale(1.2)}.aba-ranking-share-stars i:nth-child(9){left:25%;bottom:9%;transform:scale(.8)}.aba-ranking-share-stars i:nth-child(10){right:25%;bottom:12%;transform:scale(.6)}.aba-ranking-share-stars i:nth-child(11){left:45%;top:20%;transform:scale(.55)}.aba-ranking-share-stars i:nth-child(12){right:42%;top:47%;transform:scale(.5)}
.aba-ranking-card-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}.aba-ranking-card-actions .aba-btn{min-width:150px}
.aba-ranking-share-card.is-revealing{animation:rankingCardReveal .9s cubic-bezier(.18,.89,.24,1.25) both}
.aba-ranking-share-card.is-revealing .aba-ranking-share-podium>div{animation:rankingWinnerReveal .8s cubic-bezier(.2,.9,.2,1.25) both}.aba-ranking-share-card.is-revealing .aba-ranking-share-podium>div:nth-child(1){animation-delay:.25s}.aba-ranking-share-card.is-revealing .aba-ranking-share-podium>div:nth-child(2){animation-delay:.08s}.aba-ranking-share-card.is-revealing .aba-ranking-share-podium>div:nth-child(3){animation-delay:.42s}
.aba-ranking-share-card.is-revealing .aba-ranking-share-list>div{animation:rankingRowReveal .5s ease both}.aba-ranking-share-card.is-revealing .aba-ranking-share-list>div:nth-child(1){animation-delay:.65s}.aba-ranking-share-card.is-revealing .aba-ranking-share-list>div:nth-child(2){animation-delay:.73s}.aba-ranking-share-card.is-revealing .aba-ranking-share-list>div:nth-child(3){animation-delay:.81s}.aba-ranking-share-card.is-revealing .aba-ranking-share-list>div:nth-child(4){animation-delay:.89s}.aba-ranking-share-card.is-revealing .aba-ranking-share-list>div:nth-child(5){animation-delay:.97s}.aba-ranking-share-card.is-revealing .aba-ranking-share-list>div:nth-child(6){animation-delay:1.05s}.aba-ranking-share-card.is-revealing .aba-ranking-share-list>div:nth-child(7){animation-delay:1.13s}
.aba-ranking-share-card.is-revealing .aba-ranking-share-stars i{animation:rankingStarTwinkle 1.25s ease-in-out infinite alternate}
@keyframes rankingOverlayIn{from{opacity:0}to{opacity:1}}@keyframes rankingOverlayOut{to{opacity:0}}@keyframes rankingCardReveal{0%{opacity:0;transform:perspective(900px) rotateY(-28deg) scale(.58)}65%{opacity:1;transform:perspective(900px) rotateY(4deg) scale(1.025)}100%{transform:none}}@keyframes rankingWinnerReveal{from{opacity:0;transform:translateY(-50px) rotate(-12deg) scale(.25)}to{opacity:1;transform:none}}@keyframes rankingRowReveal{from{opacity:0;transform:translateX(45px)}to{opacity:1;transform:none}}@keyframes rankingStarTwinkle{from{opacity:.25;filter:drop-shadow(0 0 2px #f5ebdd);rotate:-20deg}to{opacity:1;filter:drop-shadow(0 0 12px #f5ebdd);rotate:25deg}}
@media(max-width:520px){.aba-ranking-card-modal{padding:12px 8px}.aba-ranking-card-dialog{width:min(94vw,410px)}.aba-ranking-share-card{padding:25px 24px 22px;border-radius:22px}.aba-ranking-share-logo{right:23px;top:19px;width:105px}.aba-ranking-share-kicker{padding-top:52px}.aba-ranking-share-card>h2{font-size:27px}.aba-ranking-share-podium{margin-top:23px}.aba-ranking-share-podium>div>span{width:68px;height:68px}.aba-ranking-share-podium>.place-1>span{width:86px;height:86px}.aba-ranking-share-list>div{min-height:41px;padding:4px 9px}.aba-ranking-share-card>small{bottom:20px}.aba-ranking-card-actions{flex-direction:column}.aba-ranking-card-actions .aba-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.aba-ranking-share-card.is-revealing,.aba-ranking-share-card.is-revealing .aba-ranking-share-podium>div,.aba-ranking-share-card.is-revealing .aba-ranking-share-list>div,.aba-ranking-share-card.is-revealing .aba-ranking-share-stars i{animation:none}}

/* Mobile-app iframe only. These rules never affect the desktop or regular website. */
@media(max-width:760px){
 html:has(body.aba-mobile-app-view),body.aba-mobile-app-view{width:100%;max-width:100%;min-height:100%;overflow-x:hidden;background:#f5ebdd}
 body.aba-mobile-app-view{padding:0!important;font-size:15px;-webkit-text-size-adjust:100%;overscroll-behavior-y:contain}
 body.aba-mobile-app-view>.sticky-header,body.aba-mobile-app-view>.neuro-footer,body.aba-mobile-app-view>.aba-utility-bar,body.aba-mobile-app-view>.profile-side-backdrop,body.aba-mobile-app-view>.profile-side-drawer{display:none!important}
 body.aba-mobile-app-view main{max-width:100%;margin:0!important}
 body.aba-mobile-app-view{scroll-padding-bottom:96px!important}
 body.aba-mobile-app-view main:not(.lesson-shell){padding-bottom:max(96px,calc(82px + env(safe-area-inset-bottom)))!important}
 body.aba-mobile-app-view .aba-my-service-rail{display:none!important}
 body.aba-mobile-app-view .aba-my-shell,body.aba-mobile-app-view .aba-my-shell.aba-my-shell-flush-course,body.aba-mobile-app-view .aba-my-shell.is-rail-collapsed{display:block!important;width:100%!important;max-width:none!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;margin:0!important}
 body.aba-mobile-app-view .aba-my-main-panel,body.aba-mobile-app-view .aba-my-main-panel-flush-course{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;border-left:0!important}
 body.aba-mobile-app-view .aba-my-dominando-frame-wrap,body.aba-mobile-app-view .aba-my-study-route-frame-wrap,body.aba-mobile-app-view .aba-my-mentoring-frame-wrap{height:auto;min-height:0!important;overflow:visible!important}
 body.aba-mobile-app-view .aba-my-dominando-frame,body.aba-mobile-app-view .aba-my-study-route-frame,body.aba-mobile-app-view .aba-my-mentoring-frame{min-height:560px;overflow:visible!important}
 body.aba-mobile-app-view.aba-abalive-list-body .aba-abalive-classes-page{display:block!important;min-height:0!important;align-items:initial!important;justify-content:initial!important}
 body.aba-mobile-app-view.aba-abalive-list-body .aba-abalive-shell{width:100%!important;padding:18px 12px 96px!important;overflow:visible!important}
 body.aba-mobile-app-view.aba-abalive-list-body .aba-abalive-class-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;width:100%!important}
 body.aba-mobile-app-view.aba-abalive-list-body .aba-abalive-class-card,body.aba-mobile-app-view.aba-abalive-list-body .aba-live-agenda-event{width:100%!important;max-width:none!important;min-width:0!important}
 body.aba-mobile-app-view.aba-abalive-list-body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important}
 body.aba-mobile-app-view.aba-abalive-list-body .site-shell,body.aba-mobile-app-view.aba-abalive-list-body main{height:auto!important;min-height:100%!important;max-height:none!important;overflow:visible!important;touch-action:pan-y!important}
 html:has(body.aba-translations-app-body){height:auto!important;min-height:100%!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important}
 body.aba-mobile-app-view.aba-translations-app-body{position:static!important;height:auto!important;min-height:100%!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important}
 body.aba-mobile-app-view.aba-translations-app-body .aba-translations-page,body.aba-mobile-app-view.aba-translations-app-body .aba-admin-shell{position:static!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;touch-action:pan-y!important}
 body.aba-mobile-app-view .aba-admin-page,body.aba-mobile-app-view .aba-student-metrics,body.aba-mobile-app-view .aba-profile-page,body.aba-mobile-app-view .aba-book-library-page,body.aba-mobile-app-view .aba-calendar-page,body.aba-mobile-app-view .aba-badges-page{padding:16px 12px 34px!important}
 body.aba-mobile-app-view .aba-admin-shell,body.aba-mobile-app-view .aba-library-shell,body.aba-mobile-app-view .aba-board-shell{width:100%!important;max-width:none!important;margin:0!important;padding-inline:0!important}
 body.aba-mobile-app-view h1{font-size:clamp(29px,9vw,39px)!important;line-height:1.03!important;overflow-wrap:anywhere}
 body.aba-mobile-app-view h2{overflow-wrap:anywhere}
 body.aba-mobile-app-view .aba-panel,body.aba-mobile-app-view .aba-metrics-card,body.aba-mobile-app-view .aba-board-card,body.aba-mobile-app-view .aba-book-card{border-radius:16px!important;box-shadow:0 7px 20px rgba(172,33,83,.08)!important}
 body.aba-mobile-app-view button,body.aba-mobile-app-view .aba-btn,body.aba-mobile-app-view input[type=submit],body.aba-mobile-app-view input[type=button]{min-height:44px;touch-action:manipulation}
 body.aba-mobile-app-view input:not([type=checkbox]):not([type=radio]),body.aba-mobile-app-view select,body.aba-mobile-app-view textarea{max-width:100%;min-height:46px;font-size:16px!important}
 body.aba-mobile-app-view img,body.aba-mobile-app-view video,body.aba-mobile-app-view iframe,body.aba-mobile-app-view svg{max-width:100%}
 body.aba-mobile-app-view table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 body.aba-mobile-app-view .aba-form-grid,body.aba-mobile-app-view .aba-settings-form,body.aba-mobile-app-view .aba-register-form{grid-template-columns:1fr!important}
 body.aba-mobile-app-view .span-2,body.aba-mobile-app-view .wide{grid-column:auto!important}
 body.aba-mobile-app-view .aba-panel-heading-row{align-items:flex-start;gap:10px;flex-wrap:wrap}
 body.aba-mobile-app-view .aba-panel-heading-row>.aba-btn,body.aba-mobile-app-view .aba-panel-heading-row>button{width:100%;justify-content:center}
 body.aba-mobile-app-view .aba-profile-overview,body.aba-mobile-app-view .aba-profile-exam-card,body.aba-mobile-app-view .aba-profile-evolution{grid-template-columns:1fr!important;gap:16px}
 body.aba-mobile-app-view .aba-profile-layout{display:flex!important;flex-direction:column!important;width:100%!important;max-width:none!important;gap:14px!important}
 body.aba-mobile-app-view .aba-profile-card-right,body.aba-mobile-app-view .aba-profile-feed{grid-column:auto!important;grid-row:auto!important;width:100%!important;max-width:none!important;min-width:0!important}
 body.aba-mobile-app-view .aba-profile-card-right{order:0!important;position:static!important}
 body.aba-mobile-app-view .aba-profile-feed{order:1!important}
 body.aba-mobile-app-view .aba-profile-feed>.aba-panel{padding:18px 14px!important}
 body.aba-mobile-app-view .aba-profile-readiness{align-items:center;flex-direction:column;text-align:center}
 body.aba-mobile-app-view .aba-profile-summary-strip{grid-template-columns:1fr 1fr!important}
 body.aba-mobile-app-view .aba-profile-summary-strip span{padding:12px;border-bottom:1px solid #f5ebdd}
 body.aba-mobile-app-view .aba-profile-countdown{display:grid;grid-template-columns:repeat(4,1fr);width:100%}
 body.aba-mobile-app-view .aba-profile-countdown span{min-width:0;padding:8px 3px}
 body.aba-mobile-app-view .aba-profile-countdown strong{font-size:20px}
 body.aba-mobile-app-view .aba-profile-attempt-grid{grid-template-columns:1fr!important}
 body.aba-mobile-app-view .aba-profile-domain-columns{gap:7px;overflow:hidden}
 body.aba-mobile-app-view .aba-profile-domain-columns i{width:68%}
 body.aba-mobile-app-view .aba-metric-strip,body.aba-mobile-app-view .aba-metrics-grid-main,body.aba-mobile-app-view .aba-insight-grid,body.aba-mobile-app-view .aba-exam-window,body.aba-mobile-app-view .aba-exam-suggestions{grid-template-columns:1fr!important}
 body.aba-mobile-app-view .aba-metrics-title{gap:14px}
 body.aba-mobile-app-view .aba-metrics-title .aba-profile-exam-summary{width:100%!important}
 body.aba-mobile-app-view .aba-reported-domains{grid-template-columns:repeat(3,1fr)!important}
 body.aba-mobile-app-view .aba-ranking-podium{min-height:450px;padding:118px 4px 0!important;gap:4px}
 body.aba-mobile-app-view .aba-ranking-podium article{width:33.333%;padding-inline:4px}
 body.aba-mobile-app-view .aba-ranking-podium h2{font-size:12px!important}
 body.aba-mobile-app-view .aba-ranking-row{grid-template-columns:30px 38px minmax(0,1fr) auto;gap:7px;padding:10px 8px}
 body.aba-mobile-app-view .aba-ranking-row>b{grid-column:3/-1;font-size:11px}
 body.aba-mobile-app-view .aba-ranking-card-open{width:100%;justify-content:center}
 body.aba-mobile-app-view .aba-badges-grid,body.aba-mobile-app-view .aba-badge-token-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 body.aba-mobile-app-view .aba-badge-card,body.aba-mobile-app-view .aba-badge-token{min-width:0;padding:10px!important}
 body.aba-mobile-app-view .aba-book-grid{grid-template-columns:1fr!important;gap:18px}
 body.aba-mobile-app-view .aba-book-card{width:100%;max-width:430px;margin-inline:auto}
 body.aba-mobile-app-view .aba-calendar-dashboard{grid-template-columns:1fr!important}
 body.aba-mobile-app-view .aba-calendar-upcoming-list>a{grid-template-columns:46px minmax(0,1fr);gap:9px}
 body.aba-mobile-app-view .aba-calendar-upcoming-list>a>strong{grid-column:2}
 body.aba-mobile-app-view .aba-chat-shell{height:100dvh;min-height:520px;grid-template-columns:92px minmax(0,1fr)!important}
 body.aba-mobile-app-view .aba-chat-rail{display:none!important}
 body.aba-mobile-app-view .aba-chat-sidebar{min-width:0}
 body.aba-mobile-app-view .aba-chat-thread-list a{min-height:54px;padding:7px!important}
 body.aba-mobile-app-view .aba-chat-thread-avatar{position:static!important;width:40px;height:40px;margin:auto}
 body.aba-mobile-app-view .aba-chat-thread-list a>b,body.aba-mobile-app-view .aba-chat-thread-list a>small,body.aba-mobile-app-view .aba-chat-thread-list a>time{display:none!important}
 body.aba-mobile-app-view .aba-chat-current-avatar{width:38px;height:38px;flex-basis:38px}
 body.aba-mobile-app-view .aba-chat-messages{padding:12px 8px}
 body.aba-mobile-app-view .aba-chat-compose{padding:8px}
 body.aba-mobile-app-view .aba-board-question-card{padding:16px 12px!important}
 body.aba-mobile-app-view .aba-board-choice{min-height:48px;padding:11px!important}
 body.aba-mobile-app-view .aba-board-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px}
 body.aba-mobile-app-view .aba-board-actions .aba-btn{width:100%;justify-content:center}
 body.aba-mobile-app-view dialog{max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}
}

/* Final mobile-app override for My Courses; generic iframe rules above must not remove its gutter. */
@media(max-width:760px){
 body.aba-my-courses-embed-body.aba-mobile-app-view{background:#f5ebdd!important}
 body.aba-my-courses-embed-body.aba-mobile-app-view main.aba-my-courses-page{width:auto!important;max-width:none!important;margin:0 14px!important;padding:30px 0 110px!important}
 body.aba-my-courses-embed-body .aba-page-heading{margin:0 0 26px!important;padding:0 2px!important}
 body.aba-my-courses-embed-body .aba-page-heading h1{margin:0!important;color:#ac2153!important;font-size:39px!important;line-height:1!important;overflow-wrap:normal!important;word-break:normal!important}
 body.aba-my-courses-embed-body .aba-heading-rule{width:68px;height:4px;margin-top:12px}
 body.aba-my-courses-embed-body .aba-page-heading p{margin-top:16px!important;color:#ac2153!important;font-size:16px!important;line-height:1.45!important}
 body.aba-my-courses-embed-body .aba-course-section{width:100%!important;margin:0!important}
 body.aba-my-courses-embed-body .aba-continue-grid{width:100%!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 body.aba-my-courses-embed-body .aba-empty-payment{width:100%!important;min-height:150px;padding:28px 20px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid #f5ebdd!important;border-radius:20px!important;background:#ffffff!important;box-shadow:0 10px 28px rgba(172,33,83,.08);text-align:center}
 body.aba-my-courses-embed-body .aba-empty-payment strong{color:#ac2153;font-size:21px;line-height:1.2}
 body.aba-my-courses-embed-body .aba-empty-payment p{max-width:310px;margin:0 0 8px;color:#ac2153;font-size:15px;line-height:1.4}
 body.aba-my-courses-embed-body .aba-empty-payment .aba-btn{width:100%;max-width:300px;justify-content:center}
 .aba-my-courses-empty-icon{width:64px;height:64px;display:grid;place-items:center;margin-bottom:4px;border-radius:18px;color:#ffffff;background:#ac2153;font-size:25px;box-shadow:0 9px 22px rgba(172,33,83,.2)}
}
@media(max-width:380px){body.aba-mobile-app-view .aba-badges-grid,body.aba-mobile-app-view .aba-badge-token-grid{grid-template-columns:1fr!important}body.aba-mobile-app-view .aba-profile-summary-strip{grid-template-columns:1fr!important}}

/* Mobile chat: familiar conversation list, readable names and message bubbles. */
body.aba-chat-mobile-app-body .aba-chat-shell{height:100dvh!important;grid-template-columns:minmax(132px,36%) minmax(0,1fr)!important;background:#f5ebdd!important}
body.aba-chat-mobile-app-body .aba-chat-sidebar{background:#ffffff!important;border-right:1px solid #f5ebdd!important}
body.aba-chat-mobile-app-body .aba-chat-thread-list a{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:8px!important;padding:9px 7px!important}
body.aba-chat-mobile-app-body .aba-chat-thread-avatar{width:42px!important;height:42px!important;margin:0!important}
body.aba-chat-mobile-app-body .aba-chat-thread-list a>b{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:12px!important}
body.aba-chat-mobile-app-body .aba-chat-thread-list a>small{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:10px!important;color:#ac2153!important}
body.aba-chat-mobile-app-body .aba-chat-thread-list a>time{display:none!important}
body.aba-chat-mobile-app-body .aba-chat-messages{background:#f5ebdd!important;padding:12px 9px!important}
body.aba-chat-mobile-app-body .aba-chat-message{max-width:88%!important;border-radius:8px!important;box-shadow:0 1px 1px rgba(172,33,83,.09)!important}
body.aba-chat-mobile-app-body .aba-chat-compose{background:#f5ebdd!important;border-top:1px solid #f5ebdd!important}
body.aba-chat-mobile-app-body .aba-chat-compose textarea{border-radius:22px!important;background:#ffffff!important}
/* Mobile chat: one complete screen at a time, with familiar messenger navigation. */
.aba-chat-mobile-back{display:none}
body.aba-chat-mobile-app-body{margin:0!important;overflow:hidden!important;background:#f5ebdd!important}
body.aba-chat-mobile-app-body .aba-chat-page{height:100dvh!important;overflow:hidden!important}
body.aba-chat-mobile-app-body .aba-chat-shell{display:block!important;width:100%!important;height:100dvh!important;min-height:0!important;overflow:hidden!important;background:#ffffff!important}
body.aba-chat-mobile-app-body .aba-chat-rail{display:none!important}
body.aba-chat-mobile-app-body .aba-chat-sidebar{display:block!important;width:100%!important;height:100%!important;min-width:0!important;border:0!important;overflow-y:auto!important;background:#ffffff!important}
body.aba-chat-mobile-app-body .aba-chat-panel{display:none!important;width:100%!important;height:100%!important;min-width:0!important;overflow:hidden!important}
body.aba-chat-mobile-app-body.is-mobile-conversation .aba-chat-sidebar{display:none!important}
html:has(body.aba-chat-mobile-app-body.is-mobile-conversation),body.aba-chat-mobile-app-body.is-mobile-conversation{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
body.aba-chat-mobile-app-body.is-mobile-conversation .aba-chat-panel{display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;height:100dvh!important;min-height:0!important;background:#f5ebdd!important}
body.aba-chat-mobile-app-body.is-mobile-conversation .aba-chat-page,body.aba-chat-mobile-app-body.is-mobile-conversation .aba-chat-shell{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important}
body.aba-chat-mobile-app-body.is-mobile-conversation .aba-chat-messages{min-height:0!important;height:auto!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
body.aba-chat-mobile-app-body .aba-chat-sidebar-head{height:auto!important;min-height:76px!important;padding:22px 18px 12px!important;background:#ffffff!important;border:0!important}
body.aba-chat-mobile-app-body .aba-chat-sidebar-head h1{display:block!important;margin:0!important;color:#ac2153!important;font-size:32px!important}
body.aba-chat-mobile-app-body .aba-chat-filters{padding:4px 14px 13px!important;display:flex!important;border-bottom:1px solid #f5ebdd!important}
body.aba-chat-mobile-app-body .aba-chat-filters button{font-size:14px!important}
body.aba-chat-mobile-app-body .aba-chat-tabs a,body.aba-chat-mobile-app-body .aba-chat-thread-list a{position:relative!important;min-height:72px!important;display:grid!important;grid-template-columns:54px minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;column-gap:12px!important;align-items:center!important;justify-content:stretch!important;padding:9px 15px!important;text-align:left!important}
body.aba-chat-mobile-app-body .aba-chat-thread-avatar{position:static!important;grid-row:1/3!important;grid-column:1!important;width:52px!important;height:52px!important;margin:0!important}
body.aba-chat-mobile-app-body .aba-chat-thread-list a>b{display:block!important;grid-column:2!important;align-self:end!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#ac2153!important;font-size:17px!important;line-height:1.15!important}
body.aba-chat-mobile-app-body .aba-chat-thread-list a>small{display:block!important;grid-column:2!important;align-self:start!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#ac2153!important;font-size:13px!important}
body.aba-chat-mobile-app-body .aba-chat-thread-list a>time{display:block!important;position:static!important;grid-column:3!important;grid-row:1!important;align-self:end!important;color:#ac2153!important;font-size:11px!important}
body.aba-chat-mobile-app-body .aba-chat-tabs a{grid-template-columns:54px minmax(0,1fr)!important;font-size:17px!important}
body.aba-chat-mobile-app-body .aba-chat-tabs a .aba-chat-room-icon{grid-row:1/3!important;width:52px!important;height:52px!important}
body.aba-chat-mobile-app-body .aba-chat-thread-list>strong{padding:15px 16px 7px!important;color:#ac2153!important;font-size:13px!important}
body.aba-chat-mobile-app-body .aba-chat-panel>header{min-height:66px!important;padding:8px 10px!important;background:#ac2153!important;color:#ffffff!important;border:0!important}
body.aba-chat-mobile-app-body .aba-chat-mobile-back{flex:0 0 40px;width:40px;height:40px;display:grid!important;place-items:center;border:0;border-radius:50%;background:transparent;color:#ffffff;font-size:20px}
body.aba-chat-mobile-app-body .aba-chat-panel>header h2{color:#ffffff!important;font-size:18px!important}
body.aba-chat-mobile-app-body .aba-chat-panel>header p{color:#f5ebdd!important}
body.aba-chat-mobile-app-body .aba-chat-head-icon,body.aba-chat-mobile-app-body .aba-chat-more>summary{color:#ffffff!important;background:transparent!important}
body.aba-chat-mobile-app-body .aba-chat-description{min-height:48px!important;padding:8px 14px!important}
body.aba-chat-mobile-app-body .aba-chat-messages{padding:14px 10px 20px!important;background-color:#f5ebdd!important;background-image:radial-gradient(rgba(172,33,83,.055) 1px,transparent 1px)!important;background-size:18px 18px!important}
body.aba-chat-mobile-app-body .aba-chat-message{max-width:86%!important}
body.aba-chat-mobile-app-body .aba-chat-bubble{font-size:15px!important;border-radius:10px 10px 10px 3px!important;background:#ffffff!important}
body.aba-chat-mobile-app-body .aba-chat-message.mine .aba-chat-bubble{border-radius:10px 10px 3px 10px!important;background:#f5ebdd!important;color:#ac2153!important}
body.aba-chat-mobile-app-body .aba-chat-message.mine .aba-chat-bubble p,body.aba-chat-mobile-app-body .aba-chat-message.mine .aba-chat-bubble span,body.aba-chat-mobile-app-body .aba-chat-message.mine .aba-chat-bubble strong,body.aba-chat-mobile-app-body .aba-chat-message.mine .aba-chat-bubble small,body.aba-chat-mobile-app-body .aba-chat-message.mine .aba-chat-bubble time{color:#ac2153!important}
body.aba-chat-mobile-app-body:not(.is-mobile-conversation) .aba-chat-sidebar{position:relative!important}
body.aba-chat-mobile-app-body:not(.is-mobile-conversation) .aba-chat-sound-toggle{position:absolute!important;z-index:8!important;top:14px!important;right:14px!important;width:42px!important;height:42px!important;margin:0!important;display:grid!important}
body.aba-chat-mobile-app-body:not(.is-mobile-conversation) .aba-chat-online-form{position:absolute!important;z-index:8!important;top:14px!important;right:64px!important;margin:0!important;display:block!important}
body.aba-chat-mobile-app-body:not(.is-mobile-conversation) .aba-chat-online-form{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important}
body.aba-chat-mobile-app-body:not(.is-mobile-conversation) .aba-chat-online-form .aba-chat-online-toggle{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;overflow:hidden!important}
body.aba-chat-mobile-app-body:not(.is-mobile-conversation) .aba-chat-online-form .aba-chat-online-toggle span{display:none!important}
body.aba-chat-mobile-app-body:not(.is-mobile-conversation) .aba-chat-online-form .aba-chat-online-toggle i{margin:0!important;font-size:13px!important}
body.aba-chat-mobile-app-body .aba-chat-online-toggle.online,body .aba-chat-presence-dot.online{background:#fb76a4!important;border-color:#fb76a4!important}
body.aba-chat-mobile-app-body:not(.is-mobile-conversation) .aba-chat-sidebar-head{position:relative!important}
body.aba-chat-mobile-app-body:not(.is-mobile-conversation) .aba-chat-new-group{position:absolute!important;top:16px!important;right:114px!important;margin:0!important}
body.aba-chat-mobile-app-body .aba-chat-compose{position:relative!important;padding:8px 7px!important;grid-template-columns:36px 36px minmax(0,1fr) 44px!important;gap:4px!important;background:#f5ebdd!important}
body.aba-chat-mobile-app-body .aba-chat-compose textarea{min-width:0!important;padding:11px 14px!important;font-size:16px!important}
.aba-chat-panel>.aba-chat-compose{position:sticky!important;z-index:12!important;bottom:0!important;align-self:end!important;width:100%!important;margin:0!important}
body.aba-chat-mobile-app-body.is-mobile-conversation .aba-chat-panel>.aba-chat-compose{position:fixed!important;z-index:100!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;margin:0!important}
body.aba-chat-mobile-app-body.is-mobile-conversation .aba-chat-messages{padding-bottom:92px!important;scroll-padding-bottom:92px!important}
.aba-personal-study-plan{margin:22px 0!important}.aba-personal-study-plan>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.aba-personal-study-plan>header h2{margin:5px 0 0;color:#ac2153}.aba-personal-study-plan>header>strong{padding:9px 14px;border-radius:999px;background:#ac2153;color:#ffffff;white-space:nowrap}.aba-personal-study-plan>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.aba-personal-study-plan>div span{display:grid;gap:4px;padding:15px;border-radius:14px;background:#f5ebdd;color:#fb76a4}.aba-personal-study-plan>div b{color:#ac2153;font-size:21px}.aba-personal-study-plan>div .is-mock{grid-column:1/-1;background:#f5ebdd;color:#ac2153}@media(max-width:700px){.aba-personal-study-plan>header{display:grid}.aba-personal-study-plan>header>strong{width:max-content}.aba-personal-study-plan>div{grid-template-columns:1fr}}

.header-icon-button.has-pending-notifications{border-color:#ac2153!important;background:#ac2153!important;color:#ffffff!important;box-shadow:0 8px 20px rgba(172,33,83,.28)!important}.header-icon-button.has-pending-notifications i{color:#ffffff!important}
.aba-daily-welcome{position:fixed;z-index:10050;inset:0;display:grid;place-items:center;padding:24px;background:rgba(172,33,83,.76);backdrop-filter:blur(5px)}.aba-daily-welcome[hidden]{display:none}.aba-daily-welcome-card{position:relative;width:min(440px,calc(100vw - 32px));padding:36px 30px;text-align:center;border:2px solid rgba(255,255,255,.7);border-radius:28px;background:radial-gradient(circle at 50% 0,#ac2153,#ac2153 68%);color:#ffffff;box-shadow:0 24px 70px rgba(172,33,83,.32);animation:welcome-pop .55s cubic-bezier(.2,.85,.25,1.2)}.aba-daily-welcome-card>button{position:absolute;top:14px;right:14px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#ffffff;font-size:26px;cursor:pointer}.aba-daily-welcome-card img{width:104px;height:104px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(172,33,83,.25))}.aba-daily-welcome-card small{display:block;margin-top:12px;color:#f5ebdd;font-weight:900;letter-spacing:.13em}.aba-daily-welcome-card h2{margin:8px 0;font-size:34px}.aba-daily-welcome-card p{margin:0;line-height:1.5;color:#f5ebdd}

/* Mobile app classrooms keep the same justified reading typography as web. */
@media(max-width:760px){
 body.aba-classroom-mobile-app-body #classroom-workspace .aba-rich-content p,
 body.aba-classroom-mobile-app-body #classroom-workspace .aba-rich-content li,
 body.aba-classroom-mobile-app-body #classroom-workspace .aba-rich-content blockquote{text-align:justify!important;text-align-last:left!important;text-justify:inter-word!important;hyphens:none!important;-webkit-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}
 body.aba-classroom-mobile-app-body #classroom-workspace .aba-rich-content h1,
 body.aba-classroom-mobile-app-body #classroom-workspace .aba-rich-content h2,
 body.aba-classroom-mobile-app-body #classroom-workspace .aba-rich-content h3,
body.aba-classroom-mobile-app-body #classroom-workspace .aba-rich-content h4{text-align:left!important}
}

/* Mobile app: keep Mock and exercise reviews readable at phone width. */
@media(max-width:760px){
 .aba-domain-final-review,.aba-full-mock-review.aba-domain-final-review{box-sizing:border-box!important;width:calc(100% - 20px)!important;max-width:none!important;margin-inline:auto!important;padding:20px 0 120px!important}
 .aba-domain-final-review-list{gap:16px!important}
 .aba-domain-final-question{width:100%!important;min-width:0!important}
 .aba-domain-final-question-title{box-sizing:border-box!important;width:100%!important;padding:18px 14px!important;display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;align-items:start!important;gap:12px!important}
 .aba-domain-final-question-title>span{width:36px!important;height:36px!important;flex-basis:36px!important}
 .aba-domain-final-question-title>div{width:100%!important;min-width:0!important}
 .aba-domain-final-question-title h2,.aba-full-mock-review .aba-domain-final-question-title h2{margin-top:3px!important;font-size:clamp(18px,5.2vw,22px)!important;line-height:1.38!important;text-align:left!important;text-align-last:auto!important;overflow-wrap:anywhere!important;word-break:normal!important}
 .aba-domain-final-answers,.aba-domain-final-explanation{padding-inline:14px!important}
 .aba-domain-final-answers>div span,.aba-domain-final-explanation p,.aba-full-mock-review .aba-domain-final-answers>div span,.aba-full-mock-review .aba-domain-final-explanation p{font-size:16px!important;line-height:1.45!important;text-align:left!important;text-align-last:auto!important;overflow-wrap:anywhere!important}
}

/* App review screens can live inside a wide internal WebView; do not rely on a media query. */
body.aba-mobile-app-view .aba-domain-final-review,
body.aba-mobile-app-view .aba-full-mock-review.aba-domain-final-review{box-sizing:border-box!important;width:calc(100% - 20px)!important;max-width:none!important;margin-inline:auto!important;padding:20px 0 120px!important}
body.aba-mobile-app-view .aba-domain-final-review-list{gap:16px!important}
body.aba-mobile-app-view .aba-domain-final-question{width:100%!important;min-width:0!important}
body.aba-mobile-app-view .aba-domain-final-question-title{box-sizing:border-box!important;width:100%!important;padding:18px 14px!important;display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;align-items:start!important;gap:12px!important}
body.aba-mobile-app-view .aba-domain-final-question-title>span{width:36px!important;height:36px!important;flex-basis:36px!important}
body.aba-mobile-app-view .aba-domain-final-question-title>div{width:100%!important;min-width:0!important}
body.aba-mobile-app-view .aba-domain-final-question-title h2{margin-top:3px!important;font-size:20px!important;line-height:1.38!important;text-align:left!important;text-align-last:auto!important;overflow-wrap:anywhere!important;word-break:normal!important}
body.aba-mobile-app-view .aba-domain-final-answers,
body.aba-mobile-app-view .aba-domain-final-explanation{padding-inline:14px!important}
body.aba-mobile-app-view .aba-domain-final-answers>div span,
body.aba-mobile-app-view .aba-domain-final-explanation p{font-size:16px!important;line-height:1.45!important;text-align:left!important;text-align-last:auto!important;overflow-wrap:anywhere!important}

/* Review pages must scroll inside the mobile app WebView. */
html:has(body.aba-mobile-review-screen){width:100%!important;height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
body.aba-mobile-review-screen{position:static!important;width:100%!important;height:auto!important;min-height:100%!important;max-height:none!important;margin:0!important;padding:0!important;overflow-x:hidden!important;overflow-y:visible!important;overscroll-behavior-y:auto!important;touch-action:auto!important}
body.aba-mobile-review-screen .aba-board-page{position:static!important;box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:100vh!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}
body.aba-mobile-review-screen .aba-board-shell{position:static!important;box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:100vh!important;max-height:none!important;margin:0!important;padding:22px 16px 130px!important;overflow:visible!important}
body.aba-mobile-review-screen .aba-domain-final-review,
body.aba-mobile-review-screen .aba-full-mock-review.aba-domain-final-review{box-sizing:border-box!important;width:100%!important;margin:0!important;padding:0!important}
body.aba-mobile-review-screen .aba-domain-final-question-title{padding-left:18px!important;padding-right:18px!important}
body.aba-mobile-review-screen .aba-domain-final-answers,
body.aba-mobile-review-screen .aba-domain-final-explanation{padding-left:18px!important;padding-right:18px!important}

/* Mobile feedback hierarchy: number and task code above a full-width prompt. */
body.aba-mobile-review-screen .aba-domain-final-question-title{
 display:grid!important;
 grid-template-columns:42px minmax(0,1fr)!important;
 grid-template-rows:auto auto!important;
 align-items:center!important;
 column-gap:12px!important;
 row-gap:12px!important;
 padding:18px!important;
}
body.aba-mobile-review-screen .aba-domain-final-question-title>span{
 grid-column:1!important;
 grid-row:1!important;
 width:42px!important;
 height:42px!important;
 margin:0!important;
}
body.aba-mobile-review-screen .aba-domain-final-question-title>div{display:contents!important}
body.aba-mobile-review-screen .aba-domain-final-question-title small{
 grid-column:2!important;
 grid-row:1!important;
 align-self:center!important;
 margin:0!important;
 font-size:16px!important;
 line-height:1.1!important;
}
body.aba-mobile-review-screen .aba-domain-final-question-title h2{
 grid-column:1/-1!important;
 grid-row:2!important;
 width:100%!important;
 margin:0!important;
 font-size:20px!important;
 line-height:1.42!important;
 text-align:left!important;
 text-align-last:auto!important;
 word-spacing:normal!important;
 letter-spacing:normal!important;
 overflow-wrap:break-word!important;
}
body.aba-mobile-review-screen .aba-domain-final-answers>div span,
body.aba-mobile-review-screen .aba-domain-final-explanation p{
 text-align:left!important;
 text-align-last:auto!important;
 word-spacing:normal!important;
 overflow-wrap:break-word!important;
}

/* Every mobile exercise review uses the same two-row feedback header. */
@media(max-width:760px){
 .aba-domain-final-review .aba-domain-final-question-title{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:12px!important;
  row-gap:12px!important;
  padding:18px!important;
 }
 .aba-domain-final-review .aba-domain-final-question-title>span{grid-column:1!important;grid-row:1!important;width:42px!important;height:42px!important;margin:0!important}
 .aba-domain-final-review .aba-domain-final-question-title>div{display:contents!important}
 .aba-domain-final-review .aba-domain-final-question-title small{grid-column:2!important;grid-row:1!important;align-self:center!important;margin:0!important;font-size:16px!important;line-height:1.1!important}
 .aba-domain-final-review .aba-domain-final-question-title h2{
  grid-column:1/-1!important;
  grid-row:2!important;
  width:100%!important;
  margin:0!important;
  font-size:20px!important;
  line-height:1.5!important;
  text-align:justify!important;
  text-align-last:left!important;
  text-justify:inter-word!important;
  word-spacing:normal!important;
  letter-spacing:normal!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
 }
 .aba-domain-final-review .aba-domain-final-answers>div span,
 .aba-domain-final-review .aba-domain-final-explanation p{
  text-align:justify!important;
  text-align-last:left!important;
  text-justify:inter-word!important;
  word-spacing:normal!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
 }
}

/* Embedded feedback typography must not depend on the WebView's reported width. */
html body:is(.aba-domain-embed-body,.aba-mock-embed-body,.aba-lab-embed-body) .aba-domain-final-review .aba-domain-final-question-title h2,
html body:is(.aba-domain-embed-body,.aba-mock-embed-body,.aba-lab-embed-body) .aba-domain-final-review .aba-domain-final-answers>div span,
html body:is(.aba-domain-embed-body,.aba-mock-embed-body,.aba-lab-embed-body) .aba-domain-final-review .aba-domain-final-explanation p{
 text-align:justify!important;
 text-align-last:left!important;
 text-justify:inter-word!important;
 word-spacing:normal!important;
 letter-spacing:normal!important;
 hyphens:none!important;
 -webkit-hyphens:none!important;
 overflow-wrap:normal!important;
 word-break:normal!important;
}

/* Phone question navigator: wrap every numbered control instead of clipping the row. */
@media(max-width:760px){
 .aba-mock-embed.aba-board-focus-mode .aba-board-nav-grid,
 .aba-domain-practice-embed.aba-domain-practice-focus .aba-board-nav-grid,
 .aba-lab-embed-body.aba-lab-focus-mode .aba-board-nav-grid{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
  padding:2px!important;
  overflow:visible!important;
 }
 .aba-board-nav-grid button{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  margin:0!important;
 }
 .aba-mock-embed.aba-board-focus-mode .aba-board-side,
 .aba-domain-practice-embed.aba-domain-practice-focus .aba-board-side,
 .aba-lab-embed-body.aba-lab-focus-mode .aba-board-side{
  box-sizing:border-box!important;
  max-width:88vw!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
 }
}
.mainnav .top-link.is-nav-cover {
    cursor: default;
    user-select: none;
}
.aba-board-public-card { color: inherit; text-decoration: none; }
.aba-board-public-page { min-height: 0; }
.aba-board-public-page .aba-board-shell { padding-bottom: 24px; }
.aba-board-public-page .aba-board-hub-grid { align-items: start; margin-bottom: 0; }
.aba-board-public-card { align-self: start; }
.aba-board-public-card div { height: auto; display: flex; flex-direction: column; }
.aba-board-public-card p { margin: 9px 0 16px; color: #ac2153; font-size: 14px; line-height: 1.55; }
.aba-board-public-card em { width: fit-content; display: inline-flex; align-items: center; min-height: 34px; padding: 8px 13px; border-radius: 999px; color: #ffffff; background: #ac2153; font-size: 12px; font-style: normal; font-weight: 800; }
.aba-board-public-card:hover p { color: #f5ebdd; }
.aba-board-public-card:hover em { color: #ac2153; background: #ffffff; }

.aba-contact-page { width: min(100%, 1500px); box-sizing: border-box; margin: 0 auto; padding: 54px 24px 90px; }
.aba-contact-heading h1 { margin: 0; color: #ac2153; font-size: clamp(42px, 5vw, 68px); line-height: 1; }
.aba-contact-heading i { display: block; width: 86px; height: 6px; margin: 18px 0 20px; border-radius: 10px; background: #ac2153; }
.aba-contact-heading p { max-width: 720px; color: #ac2153; font-size: 18px; }
.aba-contact-card { margin-top: 34px; padding: 34px; border: 1px solid #f5ebdd; border-radius: 24px; background: #ffffff; box-shadow: 0 18px 45px rgba(172,33,83,.08); }
.aba-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.aba-contact-grid label { display: grid; gap: 8px; color: #ac2153; font-weight: 700; }
.aba-contact-grid label.is-wide { grid-column: 1/-1; }
.aba-contact-grid input,.aba-contact-grid select,.aba-contact-grid textarea { width: 100%; box-sizing: border-box; border: 1px solid #f5ebdd; border-radius: 12px; padding: 14px 16px; background: #ffffff; color: #ac2153; font: inherit; }
.aba-contact-grid textarea { min-height: 150px; resize: vertical; }
.aba-contact-submit { margin-top: 24px; border: 0; border-radius: 12px; padding: 15px 34px; background: #ac2153; color: #ffffff; font-weight: 800; cursor: pointer; }
.aba-contact-alert { margin-top: 24px; padding: 16px 18px; border-radius: 12px; font-weight: 700; }
.aba-contact-alert.is-success { color: #ac2153; background: #f5ebdd; }
.aba-contact-alert.is-error { color: #ac2153; background: #f5ebdd; }
@media (max-width: 700px) { .aba-contact-page { width: 100%; padding: 38px 16px 70px; } .aba-contact-card { padding: 22px; } .aba-contact-grid { grid-template-columns: 1fr; } }
.aba-content-protected,
.aba-content-protected *:not(input):not(textarea):not(select):not(option):not([contenteditable="true"]) {
    -webkit-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
}
.aba-content-protected img,
.aba-content-protected video {
    -webkit-user-drag: none !important;
    user-drag: none !important;
}
.aba-content-protected input,
.aba-content-protected textarea,
.aba-content-protected select,
.aba-content-protected [contenteditable="true"] {
    -webkit-user-select: text !important;
    user-select: text !important;
    -webkit-touch-callout: default !important;
}
@media print {
    body.aba-content-protected > * { display: none !important; }
    body.aba-content-protected::before {
        display: block !important;
        padding: 48px;
        color: #ac2153;
        font: 700 24px/1.4 Arial, sans-serif;
        content: "RBT Desde Cero — Protected content. Printing is not permitted.";
    }
}

/* RBT chat: soft canvas and clearly distinct message sides. */
.aba-chat-messages,
body.aba-chat-mobile-app-body .aba-chat-messages {
    background-color: #ffffff !important;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(216,27,96,.055) 1px, transparent 1.25px),
        linear-gradient(rgba(245,235,221,.28), rgba(245,235,221,.28)) !important;
    background-size: 22px 22px, auto !important;
}
.aba-chat-message.theirs .aba-chat-bubble,
body.aba-chat-mobile-app-body .aba-chat-message.theirs .aba-chat-bubble {
    background: linear-gradient(rgba(245,235,221,.52), rgba(245,235,221,.52)), #ffffff !important;
    border-color: rgba(172,33,83,.12) !important;
}
.aba-chat-message.mine .aba-chat-bubble,
body.aba-chat-mobile-app-body .aba-chat-message.mine .aba-chat-bubble {
    background: linear-gradient(rgba(251,118,164,.22), rgba(251,118,164,.22)), #ffffff !important;
    border-color: rgba(216,27,96,.18) !important;
}
