/* Responsive workspaces: size the content by available room, never by a narrow summary rail. */
:root .calculator-main.calculator-uac-page { width: min(1480px, calc(100% - 48px)); max-width: 1480px; margin-inline: auto; }
.calculator-main .calculator-panel { width: 100%; max-width: none; box-sizing: border-box; }
.calculator-uac-page .calculator-layout { grid-template-columns: minmax(0, 1fr) minmax(290px, 350px); }
.calculator-analysis { margin-top: 28px; container-type: inline-size; }
.calculator-analysis, .calculator-analysis > summary { scroll-margin-top: 90px; }
.calculator-analysis > div { display: grid; grid-template-columns: 1fr; gap: 24px; padding: 24px 0 0; }
.calculator-analysis .atar-focus-card { padding: 22px; }
.calculator-analysis .focus-groups { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 24px; }
.calculator-analysis .focus-groups > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.calculator-analysis .focus-groups em { grid-column: 1 / -1; }
.calculator-analysis .focus-groups small { margin: 0; padding: 14px; font-size: 14px; line-height: 1.5; }
.calculator-analysis .atar-smart-planner { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px; }
.calculator-analysis .atar-smart-card { padding: 22px; min-width: 0; }
.calculator-analysis .atar-smart-card strong { font-size: 21px; line-height: 1.3; overflow-wrap: anywhere; }
.calculator-analysis .atar-smart-card p { font-size: 14px; line-height: 1.6; }
.calculator-analysis .atar-what-if-strip { grid-column: 1 / -1; grid-template-columns: minmax(120px, .8fr) repeat(3, minmax(0, 1fr)) !important; gap: 12px; padding: 18px; }
.calculator-analysis .atar-what-if-strip > span { grid-column: auto; }
.calculator-analysis .atar-what-if-strip div { padding: 16px; }
.calculator-analysis .subject-impact-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 16px; }
.calculator-analysis .subject-impact-head, .calculator-analysis .missing-baseline-note { grid-column: 1 / -1; }
.calculator-analysis .subject-impact-card { padding: 20px; min-width: 0; }
.calculator-analysis .subject-impact-title { display: grid; grid-template-columns: 1fr !important; gap: 12px; align-items: start; }
.calculator-analysis .subject-impact-title strong { font-size: 17px; }
.calculator-analysis .subject-impact-title span { max-width: none; }
.calculator-analysis .subject-impact-card p { font-size: 14px; line-height: 1.6; }
@container (max-width: 760px) {
  .calculator-analysis .focus-groups > div { grid-template-columns: 1fr; }
  .calculator-analysis .atar-smart-planner { grid-template-columns: 1fr !important; }
  .calculator-analysis .atar-what-if-strip { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .calculator-analysis .atar-what-if-strip > span { grid-column: 1 / -1; }
}
@container (max-width: 420px) {
  .calculator-analysis .focus-groups { grid-template-columns: 1fr !important; gap: 18px; }
  .calculator-analysis .atar-what-if-strip { grid-template-columns: 1fr !important; }
  .calculator-analysis .atar-what-if-strip div { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
  .calculator-analysis .atar-what-if-strip small { grid-column: 2; }
}
/* Keep the comparison controls in normal flow: no fixed overlay across page content. */
.compare-tray { position: static !important; inset: auto !important; transform: none !important; width: auto !important; max-width: 1120px; margin: 24px auto; display: flex; flex-wrap: wrap; gap: 16px; padding: 18px; box-sizing: border-box; }
.compare-selections { display: flex; flex: 1 1 560px; flex-wrap: wrap; gap: 10px; }
.compare-selection { display: flex; align-items: center; justify-content: space-between; flex: 1 1 160px; gap: 8px; border: 1px solid var(--line); border-radius: 8px; padding-left: 12px; min-width: 0; }
.compare-selection span { overflow-wrap: anywhere; font-size: 13px; }
.compare-selection button, .compare-toolbar button, [data-remove-compare] { min-width: 44px; min-height: 44px; }
.compare-scroll { width: 100%; max-width: 100%; overflow-x: auto !important; overscroll-behavior-inline: contain; scrollbar-width: auto; scroll-padding-inline: 150px; }
.course-compare-table { min-width: calc(150px + var(--compare-columns) * 260px) !important; width: 100%; table-layout: fixed; }
.course-compare-table .compare-attribute { width: 150px; position: sticky; left: 0; z-index: 1; background: var(--surface); box-shadow: 1px 0 var(--line); }
.compare-scroll-hint { font-size: 13px; color: var(--muted); margin: 12px 0; }
.compare-toolbar .clear-btn { border: 1px solid var(--line); border-radius: 7px; padding: 10px 14px; }
:root[data-theme="dark"] .course-compare-table .compare-row-different > * { background: #10274b; }
:root[data-theme="dark"] .course-compare-table .compare-row-different small { color: #accbff; }
:root[data-theme="dark"] .calculator-analysis .atar-smart-card.primary { background: #0b1e3e; border-color: #345d9d; }
:root[data-theme="dark"] .hero-trust { border-top: 0; border-left: 3px solid #779cff; }
:root[data-theme="dark"] .mobile-filter-head button { color: #d5e3ff; border-color: #47638d; }
.filter-atar-note { padding: 12px 0; font-size: 13px; color: var(--muted); line-height: 1.6; }
.course-filter-panel:focus, .forms-editor:focus { outline: none; }
.plan-stage-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-block: 18px; }
.plan-stage-controls label { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.plan-stage-controls input[type="checkbox"] { width: 20px; height: 20px; }
.plan-stage-controls input[type="date"] { min-height: 44px; padding: 8px; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 6px; }
.plan-progress { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 18px 0; }
.plan-progress progress { width: 220px; max-width: 100%; accent-color: #2152bd; }
.linear-plan-stage.is-complete .linear-stage-marker span { background: #16704d; color: white; }
.linear-stage-item [data-plan-add-course] { margin-top: 12px; min-height: 44px; }
/* Sector lists use their own numbering; subsidiary colleges keep their identity. */
.provider-sector-nav { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 28px; }
.provider-sector-nav a { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; padding: 10px 18px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); font-weight: 700; text-decoration: none; }
.provider-sector-nav span { font-size: 12px; color: var(--muted); }
.provider-sector-block { margin-block: 30px; scroll-margin-top: 90px; }
.provider-sector-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: start; gap: 12px; padding-bottom: 20px; }
.provider-sector-heading h3 { font-size: 23px; margin: 0 0 8px; }
.provider-sector-heading p { color: var(--muted); margin: 0; font-size: 14px; line-height: 1.6; }
.provider-sector-heading > span { white-space: nowrap; font-size: 12px; color: var(--muted); }
.provider-sector-label { display: flex; gap: 10px; align-items: center; min-height: 32px; margin-bottom: 16px; font-size: 12px; color: var(--muted); }
.provider-sector-label b { display: inline-flex; min-width: 30px; min-height: 30px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); }
.provider-sector-block .provider-grid { align-items: stretch; }
.specialist-sector { margin-top: 24px; }
.specialist-sector h4 { font-size: 16px; margin: 0 0 16px; }
.specialist-sector .top-provider-card img { width: 116px !important; height: 44px !important; object-fit: contain; object-position: left center; }
:root[data-theme="dark"] :is(.top-provider-card, .provider-card-heading, .course-provider) img { background: #fff !important; border-radius: 5px; padding: 5px; object-fit: contain; filter: none !important; box-sizing: border-box; }
.provider-sector-note { color: var(--muted); font-size: 13px; line-height: 1.7; border-top: 1px solid var(--line); padding-top: 20px; }
/* Rules sit below complete rows, matching the PDF's padded detail table. */
.forms-questionnaire-details > div { display: grid; grid-template-columns: minmax(110px, 145px) minmax(0, 1fr); align-items: start; gap: 16px; padding: 14px 0; min-height: 48px; }
.forms-questionnaire-details dt, .forms-questionnaire-details dd { margin: 0; line-height: 1.6; min-width: 0; overflow-wrap: anywhere; }
.forms-questionnaire-preview-questions section { min-width: 0; }
.forms-questionnaire-preview-shell { min-width: 0; }
@media (max-width: 1023px) {
  .calculator-uac-page .calculator-layout { grid-template-columns: minmax(0, 1fr); }
  :root[data-app-surface="android"] .calculator-main > .calculator-panel { display: block !important; }
}
@media (max-width: 820px) {
  :root .calculator-main.calculator-uac-page { width: calc(100% - 32px); }
  .calculator-analysis { margin-top: 24px; }
  .calculator-analysis .atar-smart-card, .calculator-analysis .atar-focus-card { padding: 18px; }
  .compare-tray { display: flex !important; margin: 20px 16px; }
  .course-compare-table { min-width: calc(116px + var(--compare-columns) * 230px) !important; }
  .course-compare-table .compare-attribute { width: 116px; }
  .compare-scroll { scroll-padding-inline: 116px; }
  .my-plan-linear-panel .panel-head p { display: block !important; }
  .my-plan-page { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
  .site-footer a, footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (max-width: 480px) {
  .forms-questionnaire-details > div { grid-template-columns: minmax(0, 1fr); gap: 5px; }
}
