/* Scoped to the mock dashboard; the sitting and detailed results report keep their existing styles. */
.mock-hub-heading { padding: 8px 0 26px; }
.mock-hub-heading h1 { margin: 6px 0 22px; font: 36px Aboreto, Georgia, serif; color: #002c29; }
.mock-hub-tabs { display:flex; gap:30px; border-bottom:1px solid #d2dcd7; }
.mock-hub-tabs a { padding:12px 0; text-decoration:none; font-weight:700; color:#47645d; border-bottom:3px solid transparent; }
.mock-hub-tabs a.selected { color:#002c29; border-color:#eeb624; }
.mock-hub-active #start-screen { background:transparent; box-shadow:none; border:0; padding:28px 0; }
.mock-hub-active #account-panel, .mock-hub-active .dashboard-hero, .mock-hub-active .dashboard-free-practice-card, .mock-hub-active #active-mock-selector { display:none; }
.mock-hub-active .dashboard-workspace { grid-template-columns:minmax(0,1fr) 290px; gap:32px; }
.mock-hub-active .dashboard-workspace.hub-no-access { display:none; }
.owned-mock-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:28px; }
.owned-mock-tile { display:flex; flex-direction:column; align-items:flex-start; gap:12px; min-height:133px; padding:20px; background:#fff; border:1px solid #d2dcd7; border-radius:3px; color:#002c29; text-align:left; }
.owned-mock-tile.selected { border:2px solid #002c29; padding:19px; background:#f0f5ef; }
.owned-mock-tile strong { font-size:20px; }
.owned-mock-tile small { color:#657571; font-weight:400; }
.mock-hub-active .mock-detail-panel { padding:24px; background:#fff; border:1px solid #d2dcd7; }
.mock-hub-active .mock-workspace-head { border-bottom:1px solid #d2dcd7; padding-bottom:16px; }
.mock-hub-active .mock-workspace-head .eyebrow, .mock-hub-active #selected-mock-summary { display:none; }
.mock-hub-active .paper-choice { display:grid; grid-template-columns:1fr; gap:8px; }
.mock-hub-active .paper-card { display:grid; grid-template-columns:20px minmax(0,1fr) auto; gap:8px 12px; min-height:0; padding:14px; border-radius:2px; }
.mock-hub-active .paper-card input { grid-column:1; grid-row:1; }
.mock-hub-active .paper-card strong { grid-column:2; grid-row:1; font-size:15px; }
.mock-hub-active .paper-card .status-pill { grid-column:3; grid-row:1; }
.mock-hub-active .paper-card > span:not(.status-pill):not(.module-selected-mark) { grid-column:2; font-size:12px; }
.mock-hub-active .paper-card em, .mock-hub-active .module-selected-mark, .mock-hub-active .paper-card b { display:none; }
.mock-hub-active .mode-card { min-height:0; padding:14px; }
.mock-hub-active .mode-card span { font-size:12px; }
.mock-hub-active .exam-day-note { font-size:12px; margin:16px 0; }
.mock-hub-active .terms-box { margin-top:20px; font-size:12px; line-height:1.6; }
.mock-hub-active .dashboard-side-column { display:block; }
.hub-latest-result { background:#fff; padding:24px; border:1px solid #d2dcd7; }
.hub-latest-result h2 { font:21px Georgia,serif; }
.hub-result-score { font-size:32px; }
.hub-latest-result button, .hub-latest-result a { display:block; margin-top:18px; }
#hub-active-attempts .continue-card { margin-bottom:20px; }
.more-mocks { margin-top:30px; border-top:1px solid #d2dcd7; padding-top:20px; }
.more-mocks h2 { font:22px Georgia,serif; }
.more-mocks > div { display:flex; flex-wrap:wrap; gap:12px; }
.more-mocks a { padding:12px 18px; background:#fff; border:1px solid #d2dcd7; text-decoration:none; color:#002c29; }
.hub-empty { grid-column:1/-1; padding:28px; background:#fff; }
.mock-hub-active #purchase-panel { border:0; background:transparent; padding:0; margin:0; box-shadow:none; }
.mock-hub-active .purchase-head { display:none; }
.hub-buy-heading { display:flex; align-items:center; gap:20px; margin:0 0 22px; }
.hub-buy-heading h2 { margin:0; font:25px Georgia,serif; }
.hub-bundle-badge { color:#002c29; background:#fff5d7; border:1px solid #eeb624; border-radius:20px; padding:7px 14px; font-size:13px; font-weight:700; }
.hub-buy-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:28px; align-items:start; }
.hub-mock-picker { border:0; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; min-width:0; }
.hub-buy-choice { display:flex; align-items:center; gap:14px; background:#fff; border:1px solid #c6d3cc; padding:22px; min-height:99px; cursor:pointer; }
.hub-buy-choice input { width:18px; height:18px; accent-color:#002c29; }
.hub-buy-choice span { display:grid; gap:10px; }
.hub-buy-choice strong { font-size:18px; color:#002c29; }
.hub-buy-choice small { color:#657571; font-size:11px; }
.hub-buy-choice.owned { background:#edece6; cursor:default; }
.hub-buy-choice.selected { border:2px solid #002c29; padding:21px; background:#eff5ef; }
.hub-basket { background:#fff; padding:24px; border:1px solid #c6d3cc; }
.hub-basket h3 { font:24px Georgia,serif; margin-top:0; }
.hub-basket p { font-size:14px; line-height:1.6; }
.hub-basket-total { border-top:1px solid #d2dcd7; margin-top:22px; padding-top:20px; display:flex; align-items:center; justify-content:space-between; }
.hub-basket-total strong { font-size:36px; }
.hub-basket button { width:100%; margin-top:20px; background:#eeb624; color:#002c29; border-color:#eeb624; }
.hub-basket button:disabled { opacity:.5; }
.hub-basket .hub-upsell { color:#365d4d; margin-bottom:0; font-weight:600; }
.hub-component-options { margin-top:28px; }
.mock-hub-active #voucher-form { margin-top:24px; max-width:600px; }
.mock-hub-active #results-history-panel { border:0; padding:0; margin:0; background:transparent; }
.mock-hub-active .results-history-head { display:none; }
.mock-hub-active .results-history-list { display:grid; grid-template-columns:1fr; gap:12px; }
.mock-hub-active .result-history-card { display:grid; grid-template-columns:minmax(230px,1fr) minmax(290px,1fr) auto; align-items:center; gap:20px; padding:22px; background:#fff; border:1px solid #d2dcd7; }
.mock-hub-active .result-history-card h3 { font-size:17px; margin:10px 0; }
.mock-hub-active .result-history-card p { font-size:12px; margin:0; }
.mock-hub-active .result-history-card dl { display:flex; gap:22px; margin:0; }
.mock-hub-active .result-history-card dl div { border:0; }
.mock-hub-active .result-history-card .resit-history-comparison { grid-column:1/-1; grid-row:2; }
.mock-result-navigation { display:flex; justify-content:space-between; align-items:center; padding:16px 0; gap:14px; flex-wrap:wrap; }
.mock-result-navigation > div { display:flex; gap:10px; }
@media(max-width:950px) { .owned-mock-tiles { grid-template-columns:repeat(3,minmax(0,1fr)); } .mock-hub-active .dashboard-workspace { grid-template-columns:1fr; } .mock-hub-active .dashboard-side-column { display:grid; grid-template-columns:1fr 1fr; gap:18px; } .hub-buy-grid { grid-template-columns:minmax(0,1fr) 270px; } .mock-hub-active .result-history-card { grid-template-columns:1fr auto; } .mock-hub-active .result-history-card dl { grid-row:2; } }
@media(max-width:650px) { .mock-hub-heading h1 { font-size:28px; } .mock-hub-tabs { gap:20px; font-size:13px; } .owned-mock-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .owned-mock-tile { padding:14px; } .owned-mock-tile.selected { padding:13px; } .mock-hub-active .dashboard-side-column, .hub-buy-grid { display:grid; grid-template-columns:1fr; } .hub-buy-heading { flex-wrap:wrap; gap:12px; } .hub-buy-choice { padding:14px; min-height:105px; } .hub-buy-choice.selected { padding:13px; } .hub-buy-choice strong { font-size:16px; } .hub-buy-choice small { font-size:10px; } .mock-hub-active .mock-detail-panel { padding:14px; } .mock-hub-active .result-history-card { display:block; padding:18px; } .mock-hub-active .result-history-card dl { margin:18px 0; flex-wrap:wrap; } .mock-hub-active .result-history-card button { width:100%; } .mock-hub-active .paper-card { grid-template-columns:18px minmax(0,1fr); } .mock-hub-active .paper-card .status-pill { grid-column:2; grid-row:2; justify-self:start; } .mock-result-navigation button { font-size:11px; padding:10px; } }
.mock-hub-active .dashboard-main-column { width:100%; margin:0; padding:0; box-sizing:border-box; grid-template-columns:minmax(0,1fr); }
.mock-hub-active .dashboard-main-column > *, .mock-hub-active .mode-card { min-width:0; }
@media(max-width:650px) {
 .mock-hub-active .dashboard-workspace, .mock-hub-active .mode-choice.mock-mode-choice { grid-template-columns:minmax(0,1fr); }
 .mock-hub-active .mock-progress-strip { grid-template-columns:minmax(0,1fr); }
 .mock-hub-active .mock-workspace-head { flex-wrap:wrap; }
 .mock-hub-active .module-action-bar, .mock-hub-active .terms-support-actions { width:100%; margin:0; }
 .mock-hub-active .module-action-bar button, .mock-hub-active .terms-support-actions button { white-space:normal; max-width:100%; }
}
.mock-hub-active .mock-detail-panel { grid-template-columns:minmax(0,1fr); }
.mock-hub-active .mock-detail-panel > * { min-width:0; }
.hub-component-options > summary { cursor:pointer; padding:14px; background:#fff; border:1px solid #d2dcd7; font-weight:700; }
.hub-component-select { display:flex; gap:14px; align-items:center; margin:18px 0; }
.hub-component-select select { min-height:42px; padding:8px 14px; border:1px solid #c6d3cc; background:#fff; }
.mock-hub-active #mode-choice, .mock-hub-active .mock-progress-strip { display:none; }
.hub-module-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; border:1px solid #d2dcd7; background:#fff; padding-right:14px; }
.mock-hub-active .hub-module-row .paper-card { border:0; margin:0; }
.hub-module-row button { font-size:12px; min-width:115px; }
.hub-full-action { display:flex; justify-content:flex-end; margin:18px 0; }
.hub-sitting-notes > summary { cursor:pointer; font-size:13px; color:#47645d; padding:12px 0; }
@media(max-width:650px) { .hub-module-row { grid-template-columns:minmax(0,1fr) 95px; gap:6px; padding-right:10px; } .hub-module-row button { min-width:0; font-size:11px; padding:9px 6px; } .hub-full-action button { width:100%; } }

.hub-full-action[hidden] { display:none; }
.hub-module-row { grid-template-columns:minmax(0,1fr) auto auto; }
.mock-hub-active .hub-module-row .paper-card { grid-template-columns:20px minmax(0,1fr); }
.hub-module-row > .status-pill { align-self:center; margin:0; }
@media(max-width:650px) { .hub-module-row { grid-template-columns:minmax(0,1fr) auto 95px; } .hub-module-row > .status-pill { font-size:10px; padding:5px 7px; } }

.results-breakdown { margin:22px 0; border-top:1px solid #ccd4cf; border-bottom:1px solid #ccd4cf; }
.results-breakdown > summary { display:flex; align-items:center; gap:12px; padding:16px 0; cursor:pointer; list-style:none; font-size:20px; font-weight:700; color:#063d35; }
.results-breakdown > summary::-webkit-details-marker { display:none; }
.results-breakdown > summary::before { content:'›'; font-size:25px; line-height:1; transition:transform .15s; }
.results-breakdown[open] > summary::before { transform:rotate(90deg); }
.results-breakdown > summary:focus-visible { outline:2px solid #e6b32d; outline-offset:3px; }
.results-breakdown-body { padding:0 0 16px; min-width:0; }
.results-breakdown-body > .topic-breakdown, .results-breakdown-body > .timing-review { margin-top:0; }
#topic-breakdown > .section-heading-row h2 { display:none; }
.results-breakdown-body .pacing-diagnostics { margin-top:0; }

.mock-hub-active #start-btn[hidden] { display:none; }

/* Keep mobile result cards within the available width, including legacy sample results. */
@media (max-width: 860px) {
  #results-screen.panel { min-width: 0; padding: 18px 14px; }
  #results-screen .score-card { grid-template-columns: minmax(0, 1fr); padding: 14px; }
  #results-screen .tutoring-cta { grid-template-columns: minmax(0, 1fr); }
  #results-screen .tutoring-cta > * { min-width: 0; }
  #results-screen .tutoring-cta a { white-space: normal; overflow-wrap: anywhere; }
  #results-screen .score-card-top,
  #results-screen .score-card-main { grid-template-columns: minmax(0, 1fr); }
  #results-screen .score-card-top > *,
  #results-screen .score-card-main > *,
  #results-screen .results-head > * { min-width: 0; }
  #results-screen .score-card-top h2 { font-size: 21px; overflow-wrap: anywhere; }
  #results-screen .score-card-top .results-brand-badge { display: none; }
}
@media (max-width: 650px) {
  #results-screen .mock-result-navigation { padding: 0 0 14px; gap: 10px; }
  #results-screen .mock-result-navigation > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  #results-screen .mock-result-navigation button { min-width: 0; white-space: normal; }
  #mock-result-navigation ~ .results-head #results-dashboard-btn { display: none; }
}

.hub-buy-choice.hub-coming-soon-card { background:#eceeea; border-color:#d3d9d2; cursor:default; }
.hub-coming-soon-card strong { color:#536158; }
.hub-coming-soon-card small { color:#637168; }
.hub-coming-soon-card .status-pill { justify-self:start; background:#dce1da; color:#536158; }
