/* Shared student shell. Existing page controls and recommendation cards remain intact. */
#wrapper:has(> .prep-sidebar) { grid-template-columns: 272px minmax(0, 1fr); grid-template-rows: auto 1fr; background: #f7fbfc; }
#wrapper:has(> .prep-sidebar) > * { grid-column: 2; min-width: 0; }
#wrapper:has(> .prep-sidebar) > #header { grid-column: 1 / -1; }
#wrapper > .prep-sidebar { grid-column: 1; grid-row: 2 / span 20; position: sticky; top: 0; align-self: start; box-sizing: border-box; height: 100vh; height: 100dvh; max-height: 100dvh; overflow-y: auto; padding: 24px 18px; background: #fff; border-right: 2px solid #2b2b2b; color: #2b2b2b; font-family: 'Raleway', sans-serif; font-size: 14px; line-height: 1.5; }
.prep-sidebar a { color: #2b2b2b; text-decoration: none; }
.prep-sidebar a:focus-visible, .prep-sidebar summary:focus-visible { outline: 3px solid #6652bd; outline-offset: 3px; }
.prep-sidebar a:hover { color: #2b2b2b; background: #d9f7ee; }
.prep-overview { display: flex; gap: 12px; align-items: center; padding: 10px 12px; border: 2px solid transparent; border-radius: 10px; font-weight: 800; }
.prep-sidebar a[aria-current], .prep-overview.is-current { color: #2b2b2b; font-weight: 800; }
.prep-goal { margin: 18px 0 26px; border: 2px solid #2b2b2b; border-top: 6px solid #00bfa2; background: linear-gradient(125deg, #f2fffb, #fff); border-radius: 14px; box-shadow: 4px 4px 0 #d9f7ee; padding: 16px; }
.prep-eyebrow { text-transform: uppercase; letter-spacing: .1em; font-size: 11px; font-weight: 900; color: #087e69; }
.prep-goal dl { margin: 12px 0; }
.prep-goal dl > div + div { margin-top: 12px; padding-top: 12px; border-top: 1px solid #b8ded3; }
.prep-goal dt { color: #59656b; font-weight: 600; font-size: 12px; }
.prep-goal dd { margin: 3px 0 0; font-weight: 800; font-size: 21px; font-family: "Adapt Narrow", "Raleway", sans-serif; }
.prep-score-line { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; font-weight: 600; font-family: "Raleway", sans-serif; }
.prep-score-line strong { font-family: "Adapt Narrow", "Raleway", sans-serif; font-size: 18px; }
.prep-goal > a { font-size: 12px; color: #087e69; text-decoration: underline; text-underline-offset: 3px; font-weight: 800; }
.prep-navigation summary { list-style: none; cursor: pointer; font-family: "Adapt Narrow", "Raleway", sans-serif; font-size: 21px; font-weight: 800; padding: 0 10px; }
.prep-navigation summary::-webkit-details-marker { display: none; }
.prep-navigation summary > span { float: right; transition: transform .15s ease; }
.prep-navigation[open] summary > span { transform: rotate(180deg); }
.prep-journey-intro { margin: 6px 10px 18px; color: #59656b; font-size: 12px; }
.prep-timeline { list-style: none; padding: 0; margin: 0; }
.prep-timeline > li { --prep-step-accent: #6652bd; --prep-step-tint: #f0edff; position: relative; padding-bottom: 18px; }
.prep-timeline > li:nth-child(2) { --prep-step-accent: #ffd54e; --prep-step-tint: #fff9df; }
.prep-timeline > li:nth-child(3) { --prep-step-accent: #00bfa2; --prep-step-tint: #e5f8f1; }
.prep-timeline > li:not(:last-child)::before { content: ''; position: absolute; left: 25px; top: 33px; bottom: -12px; width: 3px; background: #2b2b2b; }
.prep-timeline > li > a { display: flex; gap: 12px; position: relative; padding: 10px 8px; border: 2px solid transparent; border-radius: 12px; align-items: center; }
.prep-step-number { display: grid; place-items: center; flex: 0 0 32px; height: 32px; border: 2px solid #2b2b2b; border-radius: 50%; background: var(--prep-step-accent); color: #2b2b2b; font-family: "Adapt Narrow", "Raleway", sans-serif; font-size: 19px; font-weight: 800; box-shadow: 2px 2px 0 #2b2b2b; }
.prep-step-label { display: block; font-family: "Adapt Narrow", "Raleway", sans-serif; font-size: 20px; font-weight: 800; }
.prep-step-copy { display: block; font-size: 11px; color: #59656b; margin-top: 2px; }
.prep-timeline > li > a:hover { background: var(--prep-step-tint); border-color: #2b2b2b; }
.prep-timeline .is-current > a { background: var(--prep-step-tint); border-color: #2b2b2b; box-shadow: 3px 3px 0 var(--prep-step-accent); }
.prep-timeline > li:first-child .prep-step-number { color: #fff; }
.prep-practice-links { margin: 3px 0 0 55px; display: grid; gap: 5px; font-size: 12px; }
.prep-practice-links a { padding: 3px 0; }
.prep-support-note { font-size: 11px; line-height: 1.6; color: #59656b; margin: 0 10px 20px; }
.prep-utilities { border-top: 2px solid #2b2b2b; margin-top: 16px; padding-top: 14px; display: grid; gap: 6px; }
.prep-utilities a { padding: 11px 12px; border: 2px solid transparent; border-radius: 10px; display: flex; gap: 12px; align-items: center; font-weight: 800; }
.prep-overview, .prep-utilities a { font-family: "Adapt Narrow", "Raleway", sans-serif; font-size: 19px; }
.prep-overview.is-current, .prep-utilities a[aria-current] { background: #d9f7ee; border-color: #2b2b2b; box-shadow: 3px 3px 0 #00bfa2; }
.prep-overview i, .prep-utilities i { font-size: 14px; }
.prep-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* Make room for the persistent navigation alongside existing goal editors. */
#wrapper:has(> .prep-sidebar) .platform-workspace-layout { grid-template-columns: minmax(0, 1fr); }
#wrapper:has(> .prep-sidebar) .platform-summary-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); position: static; gap: 16px; }
.prep-library-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.prep-library-card { display: block; background: #fff; border: 1px solid #dce4eb; border-radius: 14px; padding: 26px; color: #253c50; }
.prep-library-card:hover { border-color: #0077b5; }
.prep-library-card h2 { font-size: 22px; margin: 12px 0; }
.prep-library-card p { font-size: 15px; color: #59656b; }
.prep-library-card > span { color: #006ba4; font-weight: 800; }
@media (max-width: 900px) {
    #wrapper:has(> .prep-sidebar) { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto 1fr; }
    #wrapper:has(> .prep-sidebar) > * { grid-column: 1; }
    #wrapper > .prep-sidebar { position: static; grid-row: 2; height: auto; max-height: none; border-right: 0; border-bottom: 2px solid #2b2b2b; padding: 14px 20px; }
    .prep-overview { display: none; }
    .prep-utilities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .prep-goal { margin: 0 0 12px; padding: 12px 14px; }
    .prep-goal dl { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 6px 0; }
    .prep-goal dl > div + div { margin: 0; padding: 0; border: 0; }
    .prep-navigation summary { padding: 8px 0; }
    .prep-journey-intro { margin-left: 0; }
}
@media (max-width: 600px) {
    #wrapper:has(> .prep-sidebar) .platform-summary-sidebar, .prep-library-grid { grid-template-columns: minmax(0, 1fr); }
}
@media print { #wrapper > .prep-sidebar { display: none; } #wrapper:has(> .prep-sidebar) { display: block; } }
.prep-goal .prep-edit-target { display: block; margin-top: 6px; }
/* Dashboard uses display:contents for its workspace, so reset its own grid too. */
.dashboard2 #wrapper:has(> .prep-sidebar) .platform-page { grid-template-columns: minmax(0, 1fr); }
.dashboard2 #wrapper:has(> .prep-sidebar) .platform-page-heading { grid-column: 1; grid-row: 1; }
.dashboard2 #wrapper:has(> .prep-sidebar) .dashboard2-next-action { grid-column: 1; grid-row: 2; }
.dashboard2 #wrapper:has(> .prep-sidebar) .platform-main-column { grid-column: 1; grid-row: 3; }
.dashboard2 #wrapper:has(> .prep-sidebar) .platform-summary-sidebar { grid-column: 1; grid-row: 4; margin-top: 24px; }
#wrapper:has(> .prep-sidebar) #header-dropdown-container { max-height: calc(100dvh - 100px); overflow-y: auto; }
/* Preserve the onboarding spotlight above its page overlay. */
body.dashboard-onboarding-open #wrapper:has(> .prep-sidebar) .platform-summary-sidebar { position: relative; }
/* Shared goal editors: explicit control sizing avoids legacy app button styles. */
.prep-sidebar [hidden] { display: none !important; }
.prep-goal-section { margin-top: 14px; }
.prep-goal-section + .prep-goal-section { padding-top: 14px; border-top: 1px solid #b8ded3; }
.prep-goal-label { color: #59656b; font-size: 12px; font-weight: 700; }
.prep-sidebar .prep-goal button { float: none; width: auto; height: auto; min-height: 0; margin: 0; padding: 4px; border: 2px solid transparent; border-radius: 6px; background: transparent; color: #2b2b2b; line-height: 1.3; box-shadow: none; cursor: pointer; text-transform: none; }
.prep-sidebar .prep-goal button:focus-visible, .prep-sidebar .prep-goal input:focus-visible, .prep-sidebar .prep-goal select:focus-visible, .prep-starting-scores summary:focus-visible { outline: 3px solid #6652bd; outline-offset: 2px; }
.prep-sidebar .prep-goal .prep-date-toggle { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 5px 3px; font: 800 22px/1.25 "Adapt Narrow", "Raleway", sans-serif; text-align: left; }
.prep-date-toggle i { font-size: 13px; color: #087e69; }
.prep-sidebar .prep-goal .prep-date-toggle:hover, .prep-sidebar .prep-goal .prep-date-toggle[aria-expanded="true"], .prep-sidebar .prep-goal .prep-score-edit:hover { border-color: #2b2b2b; background: #fff; box-shadow: 2px 2px 0 #00bfa2; }
.prep-countdown { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin-top: 8px; color: #59656b; font: 600 11px/1.4 "Raleway", sans-serif; }
.prep-countdown:not(:has([data-count-unit])) { display: block; }
.prep-countdown > span { display: grid; gap: 2px; text-align: center; background: #e5f8f1; border-radius: 5px; padding: 5px 0; }
.prep-countdown strong { color: #2b2b2b; font: 800 19px/1.1 "Adapt Narrow", "Raleway", sans-serif; font-variant-numeric: tabular-nums; }
.prep-countdown small { font-size: 9px; text-transform: uppercase; letter-spacing: .03em; }
.prep-score-line { align-items: center; min-height: 38px; gap: 5px; }
.prep-sidebar .prep-goal .prep-score-edit { font: 800 22px/1.2 "Adapt Narrow", "Raleway", sans-serif; min-width: 46px; padding: 3px 5px; flex-shrink: 0; }
.prep-sidebar .prep-goal .prep-score-input { float: none; width: 58px; height: 34px; min-width: 0; margin: 0; padding: 3px 5px; border: 2px solid #2b2b2b; border-radius: 6px; background: #fff; color: #2b2b2b; font: 800 21px/1.2 "Adapt Narrow", "Raleway", sans-serif; text-align: center; box-shadow: 2px 2px 0 #00bfa2; }
.prep-sidebar .prep-goal input[aria-invalid="true"] { border-color: #ae2737; }
.prep-starting-scores { border-top: 1px solid #b8ded3; margin-top: 12px; padding-top: 12px; }
.prep-starting-scores summary { cursor: pointer; font-size: 12px; font-weight: 800; color: #087e69; }
.prep-starting-scores > p { float: none; margin: 7px 0; color: #59656b; font: 500 11px/1.5 "Raleway", sans-serif; }
.prep-goal-status { font-size: 11px; line-height: 1.5; color: #087e69; margin-top: 8px; }
.prep-goal-status:empty { display: none; }
.prep-goal-status.is-error { color: #ae2737; }
.prep-calendar { margin: 12px -7px 3px; padding: 8px; border: 2px solid #2b2b2b; border-radius: 10px; background: #fff; box-shadow: 3px 3px 0 #ffd54e; }
.prep-calendar-heading { display: grid; grid-template-columns: 26px 1fr 26px; align-items: center; gap: 3px; text-align: center; }
.prep-calendar-heading strong { font: 800 19px/1.2 "Adapt Narrow", "Raleway", sans-serif; }
.prep-sidebar .prep-goal .prep-calendar-heading button { border-color: #2b2b2b; background: #ffd54e; padding: 0; font-size: 23px; }
.prep-calendar-selects { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 10px 0; }
.prep-calendar-selects label { display: grid; gap: 2px; margin: 0; font: 700 10px/1.4 "Raleway", sans-serif; }
.prep-sidebar .prep-calendar-selects select, .prep-sidebar .prep-calendar-selects input { width: 100%; min-width: 0; height: 30px; margin: 0; padding: 3px; border: 1px solid #2b2b2b; border-radius: 4px; background: #fff; color: #2b2b2b; font: 600 12px/1.3 "Raleway", sans-serif; }
.prep-calendar-weekdays, .prep-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; text-align: center; }
.prep-calendar-weekdays { margin-bottom: 4px; font-size: 10px; font-weight: 800; color: #59656b; }
.prep-sidebar .prep-goal .prep-calendar-days button { width: 100%; padding: 4px 0; font: 700 12px/1.25 "Raleway", sans-serif; border-radius: 4px; }
.prep-sidebar .prep-goal .prep-calendar-days button:hover { background: #fff9df; border-color: #2b2b2b; }
.prep-sidebar .prep-goal .prep-calendar-days button[aria-current="date"] { text-decoration: underline; text-underline-offset: 3px; }
.prep-sidebar .prep-goal .prep-calendar-days button[aria-pressed="true"] { background: #6652bd; color: #fff; border-color: #2b2b2b; }
.prep-sidebar .prep-goal .prep-calendar-close { display: block; margin: 9px auto 0; font-size: 11px; font-weight: 700; color: #087e69; text-decoration: underline; }
body.dashboard-onboarding-open #wrapper > .prep-sidebar:has(.dashboard-onboarding-focus) { z-index: 20001; }
body.dashboard-onboarding-open .prep-sidebar:has(.dashboard-onboarding-focus) { overflow: visible; max-height: none; }
#wrapper:has(> .prep-sidebar) #account_info_content { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
/* Align the student workspace to the sidebar, retaining readable content widths. */
#wrapper:has(> .prep-sidebar) { --prep-content-gutter: clamp(24px, 3.5vw, 56px); --prep-step-1: #6652bd; --prep-step-2: #ffd54e; --prep-step-3: #00bfa2; }
#wrapper:has(> .prep-sidebar) .platform-page,
#wrapper:has(> .prep-sidebar) .platform-breadcrumbs-wrap { margin-left: 0; margin-right: auto; padding-left: var(--prep-content-gutter); padding-right: var(--prep-content-gutter); }
#wrapper:has(> .prep-sidebar) #content > .almost_white_strip { padding-left: var(--prep-content-gutter); padding-right: var(--prep-content-gutter); }
#wrapper:has(> .prep-sidebar) #past-results-inner-content { margin-left: 0; margin-right: auto; padding-left: 0; padding-right: 0; }
#wrapper:has(> .prep-sidebar) #account_info_content { margin-left: 0; margin-right: auto; }
#wrapper:has(> .prep-sidebar) #content > .almost_white_strip > h1 { text-align: left; }
#wrapper:has(> .prep-sidebar) .account-section-nav { justify-content: flex-start; }
#wrapper:has(> .prep-sidebar) #learn-main-screen { max-width: 1400px; margin-left: 0; margin-right: auto; padding-left: var(--prep-content-gutter); padding-right: var(--prep-content-gutter); }
#wrapper:has(> .prep-sidebar) .prep-page-title { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; margin-bottom: 12px; }
#wrapper:has(> .prep-sidebar) .prep-page-title h1 { margin: 0; }
.prep-step-pill { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; padding: 6px 13px; border: 2px solid #2b2b2b; border-radius: 999px; box-shadow: 2px 2px 0 #2b2b2b; font: 800 14px/1.2 "Raleway", sans-serif; white-space: nowrap; vertical-align: middle; }
.prep-step-1 { background: var(--prep-step-1); color: #fff; }
.prep-step-2 { background: var(--prep-step-2); color: #2b2b2b; }
.prep-step-3 { background: var(--prep-step-3); color: #2b2b2b; }
.prep-timeline > li:nth-child(1) { --prep-step-accent: var(--prep-step-1); }
.prep-timeline > li:nth-child(2) { --prep-step-accent: var(--prep-step-2); }
.prep-timeline > li:nth-child(3) { --prep-step-accent: var(--prep-step-3); }
#wrapper:has(> .prep-sidebar) #strategy-phase .platform-phase-step-badge { background: var(--prep-step-1); color: #fff; border-radius: 999px; }
#wrapper:has(> .prep-sidebar) #practice-phase .platform-phase-step-badge { background: var(--prep-step-2); color: #2b2b2b; border-radius: 999px; }
#wrapper:has(> .prep-sidebar) #mastery-phase .platform-phase-step-badge { background: var(--prep-step-3); color: #2b2b2b; border-radius: 999px; }
#wrapper:has(> .prep-sidebar) #learn-current-category-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
#wrapper:has(> .prep-sidebar) #learn-current-category-title-row .prep-step-pill { order: 1; }
#wrapper:has(> .prep-sidebar) #learn-current-category-title-row #category_dropdown_button { order: 2; }
@media (max-width: 900px) {
    .prep-utilities { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    #wrapper:has(> .prep-sidebar) { --prep-content-gutter: 20px; }
}
/* Step context precedes the title on every prep screen. */
#wrapper:has(> .prep-sidebar) .prep-page-title .prep-step-pill,
#wrapper:has(> .prep-sidebar) #learn-current-category-title-row .prep-step-pill { order: -1; }
/* Tasks lead; monitoring suggestions and optional tests form a separate rail. */
#wrapper:has(> .prep-sidebar) .platform-page:has(.prep-practice-workspace) { max-width: 1500px; }
#wrapper:has(> .prep-sidebar) .prep-practice-workspace { display: grid; grid-template-columns: minmax(0, 710px) 300px; justify-content: start; align-items: start; gap: 64px; }
.prep-practice-recommendations { display: grid; gap: 20px; min-width: 0; border-left: 1px solid #dbe5ec; padding-left: 24px; }
.prep-recommendations-heading h2 { margin: 0 0 6px; font: 800 25px/1.15 "Adapt Narrow", sans-serif; }
.prep-recommendations-heading p, .prep-recommendations-empty { margin: 0; font: 500 13px/1.5 "Raleway", sans-serif; color: #59656b; }
#wrapper .prep-practice-recommendations .platform-practice-test-checkpoint,
#wrapper .prep-practice-recommendations .platform-practice-coaching-checkpoint { display: flex; flex-direction: column; align-items: stretch; gap: 14px; padding: 20px; margin: 0; border-width: 2px; box-shadow: 3px 3px 0 #e8e3fb; }
#wrapper .prep-practice-recommendations h3 { font-size: 24px; }
#wrapper .prep-practice-recommendations p { font-size: 13px; }
#wrapper .prep-practice-recommendations .platform-practice-test-checkpoint-icon,
#wrapper .prep-practice-recommendations .platform-practice-coaching-icon { width: 38px; height: 38px; font-size: 17px; }
#wrapper .prep-practice-recommendations .platform-practice-test-checkpoint-action a,
#wrapper .prep-practice-recommendations .platform-practice-coaching-action a { min-width: 0; width: 100%; padding: 12px; font-size: 12px; }
.prep-practice-alternative { padding: 20px; border: 1px solid #dbe5ec; border-radius: 12px; background: #fff; }
.prep-practice-alternative h3 { margin: 9px 0; font-family: "Adapt Narrow", sans-serif; }
.prep-practice-alternative p { color: #59656b; line-height: 1.5; }
.prep-practice-alternative a { display: inline-flex; align-items: center; gap: 10px; color: #2b2b2b; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
/* Small informational notices share one row above the tutoring calendar. */
#wrapper .mastery-calendar-messages { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #e4e8ea; }
#wrapper .mastery-calendar-messages .mastery-purchase-banner,
#wrapper .mastery-calendar-messages .mastery-timezone-banner { display: flex; align-items: center; flex: 1 1 220px; gap: 8px; margin: 0; padding: 0; border: 0; background: transparent; border-radius: 0; box-shadow: none; }
#wrapper .mastery-calendar-messages .mastery-purchase-banner > i,
#wrapper .mastery-calendar-messages .mastery-timezone-banner > i { width: auto; height: auto; background: transparent; border-radius: 0; font-size: 14px; }
#wrapper .mastery-calendar-messages strong { font-size: 12px; }
#wrapper .mastery-calendar-messages .mastery-purchase-banner span { font-size: 11px; }
#wrapper .mastery-calendar-messages .mastery-timezone-banner span { font-size: 10px; text-transform: none; letter-spacing: 0; }
#wrapper .mastery-calendar-messages .mastery-timezone-banner small { display: none; }
.mastery-history-description { color: #59656b; font-size: 12px; line-height: 1.5; }
.mastery-history-status { display: inline-block; margin-top: 7px; color: #59656b; font-size: 11px; font-weight: 700; }
.mastery-history-status.is-canceled { color: #a5343e; }
/* The report had 45px on both its outer strip and its inner container. */
#wrapper:has(> .prep-sidebar) #content > .almost_white_strip:has(#past-results-inner-content) { padding-top: 0; }
#wrapper:has(> .prep-sidebar) #past-results-inner-content { padding-top: 36px; }
@media (max-width: 1200px) {
    #wrapper:has(> .prep-sidebar) .prep-practice-workspace { grid-template-columns: minmax(0, 1fr); }
    .prep-practice-recommendations { border-left: 0; border-top: 1px solid #dbe5ec; padding: 24px 0 0; }
}
/* Keep the task list anchored to the workspace's left edge. */
#wrapper .platform-practice-main #courses-content { padding-left: 0; padding-right: 0; }
#wrapper .platform-practice-main #courses-inner-content { margin-left: 0; margin-right: auto; }
.prep-purple-button, .prep-practice-alternative a { display: inline-flex; justify-content: center; align-items: center; gap: 8px; padding: 12px 18px; border: 2px solid #2b2b2b; border-radius: 8px; background: #6652bd; color: #fff; box-shadow: 3px 3px 0 #2b2b2b; font: 800 13px/1.4 "Raleway", sans-serif; text-decoration: none; cursor: pointer; }
.prep-purple-button:hover, .prep-practice-alternative a:hover { background: #5441a5; color: #fff; }
.prep-purple-button:focus-visible, .prep-practice-alternative a:focus-visible, .report-tag-history-button:focus-visible, .report-category-close:focus-visible { outline: 3px solid #6652bd; outline-offset: 5px; }
.report-test-summary-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.report-section-heading:has(.prep-purple-button) { flex-wrap: wrap; gap: 16px; }
.report-tag-history-button { display: inline; width: auto; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; color: #087e69; font: 800 13px/1.5 "Raleway", sans-serif; text-align: left; text-decoration: none; cursor: pointer; }
body.report-category-open { overflow: hidden; }
.report-category-dialog { box-sizing: border-box; position: fixed; inset: 0; width: min(1180px, calc(100vw - 48px)); height: min(900px, calc(100dvh - 64px)); max-width: none; max-height: none; margin: auto; padding: 0; border: 2px solid #2b2b2b; border-radius: 16px; box-shadow: 8px 8px 0 #2b2b2b; background: #f5f7f8; color: #2b2b2b; overflow: hidden; }
.report-category-dialog[open] { display: flex; flex-direction: column; }
.report-category-dialog::backdrop { background: #2b2b2b99; }
.report-category-dialog-header { display: flex; justify-content: space-between; align-items: flex-start; flex: 0 0 auto; gap: 24px; padding: 24px clamp(20px, 4vw, 64px); border-bottom: 2px solid #2b2b2b; background: #fff; box-shadow: 0 4px 0 #e8e3fb; }
.report-category-dialog-header h2 { margin: 6px 0; font: 800 clamp(26px, 3vw, 38px)/1.1 "Adapt Narrow", sans-serif; }
.report-category-dialog-header p { margin: 8px 0 0; font: 500 13px/1.5 "Raleway", sans-serif; color: #59656b; }
.report-category-close { flex: 0 0 auto; width: auto; margin: 0; padding: 10px 16px; border: 2px solid #2b2b2b; border-radius: 8px; background: #ffd54e; color: #2b2b2b; box-shadow: 3px 3px 0 #2b2b2b; font: 800 13px/1.4 "Raleway", sans-serif; cursor: pointer; }
.report-category-dialog-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 28px clamp(20px, 4vw, 64px) 60px; }
.report-category-content { max-width: 1100px; }
.report-category-message { margin: 20px 0; font: 600 13px/1.5 "Raleway", sans-serif; }
.report-category-dialog .report-question-detail { overflow-x: auto; }
.report-category-dialog .report-question-choices { list-style-type: upper-alpha; }
@media (max-width: 600px) {
    .report-category-dialog-header { gap: 12px; padding: 20px; }
    .report-category-close { padding: 8px 10px; }
}

.report-tag-history-button:hover { color: #046b59; background: #e3faf3; }
.report-tag-history-button i { margin-left: 6px; font-size: 11px; color: #087e69; }
.report-test-empty { border: 2px solid #2b2b2b; border-radius: 12px; background: #f0fffa; box-shadow: 5px 5px 0 #b5f2df; padding: 32px 24px; }
.report-test-empty > i { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 2px solid #2b2b2b; border-radius: 12px; background: #ffd54e; color: #2b2b2b; font-size: 24px; box-shadow: 3px 3px 0 #2b2b2b; }
.report-test-empty > strong { margin-top: 18px; color: #2b2b2b; font: 800 28px/1.15 "Adapt Narrow", sans-serif; }
.report-test-empty > span { color: #49625b; font: 500 13px/1.6 "Raleway", sans-serif; }
body.prep-learn-immersive #wrapper { grid-template-columns: minmax(0, 1fr); }
body.prep-learn-immersive #content { margin: 0; padding: 0; width: 100%; max-width: none; }
body.prep-learn-immersive #content > .platform-breadcrumbs-wrap { display: none; }
body.prep-learn-immersive #learn-main-screen,
body.prep-learn-immersive #learn-question-screen { width: 100%; max-width: none; margin: 0; padding-left: 0; padding-right: 0; }
@media (max-width: 600px) {
    .report-category-dialog { width: calc(100vw - 24px); height: calc(100dvh - 32px); border-radius: 12px; box-shadow: 4px 4px 0 #2b2b2b; }
}

body.dashboard-onboarding-open #wrapper > #header:has(.dashboard-onboarding-focus) { position: relative; z-index: 20001; }

/* Review actions occupy one consistent place in the question portal. */
#learn-top-bar-actions #learn-review-past-questions,
#learn-top-bar-actions #learn-exit-review { display: inline-flex; align-items: center; justify-content: center; width: auto; margin: 0; padding: 12px 18px; border: 2px solid #2b2b2b; border-radius: 8px; box-shadow: 3px 3px 0 #2b2b2b; font: 800 13px/1.4 "Raleway", sans-serif; text-decoration: none; cursor: pointer; }
#learn-top-bar-actions #learn-review-past-questions { background: #6652bd; color: #fff; }
#learn-top-bar-actions #learn-review-past-questions:hover { background: #5441a5; }
#learn-top-bar-actions #learn-exit-review { background: #ffd54e; color: #2b2b2b; }
#learn-top-bar-actions #learn-exit-review:hover { background: #f4c83d; }
#learn-top-bar-actions button:focus-visible { outline: 3px solid #6652bd; outline-offset: 5px; }
