/* A quiet application surface. Material belongs to the chrome; content stays readable. */
:root {
  --sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", sans-serif;
  --display: var(--sans); --mono: var(--sans);
  --ink: #24272b; --navy: #20374b; --muted: #687078;
  --line: #dde0e3; --line-soft: #e8eaec; --bg: #f9fafb;
  --radius: 12px; --shadow: 0 1px 2px #18212b05;
  --glass: #f4f5f7b8; --blue: #326a9d;
}
body { background: #eef0f3; color: var(--ink); font: 14px/1.5 var(--sans); -webkit-font-smoothing: antialiased; }
.shell { min-height: 100vh; padding-left: 220px; background: #fbfcfdd9; isolation: isolate; }
h1,h2,h3,h4 { font-family: var(--sans); color: var(--ink); letter-spacing: -.025em; }
h2 { font-size: 32px; line-height: 1.18; font-weight: 650; }
h3 { font-size: 17px; line-height: 1.3; font-weight: 600; }
p { line-height: 1.6; }
.ui-icon { width: 18px; height: 18px; flex-shrink: 0; }
button,a,summary,input,select { -webkit-tap-highlight-color: transparent; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline: 3px solid #4785b9; outline-offset: 3px; }
input:focus,select:focus { outline: 3px solid #4187bb28; border-color: #5283ab; }
::selection { background: #cddff1; color: #20374b; }
.button { min-height: 34px; padding: 7px 12px; border-radius: 7px; font: 500 12px/1.5 var(--sans); letter-spacing: 0; background: #244b6d; border: 1px solid #244b6d; color: #fff; box-shadow: var(--shadow); transition: background .12s, border-color .12s; }
.button:hover:not(:disabled) { background: #1c405e; transform: none; box-shadow: var(--shadow); }
.button.secondary { background: #ffffffa6; border-color: #d4d9de; color: #3f4953; }
.button.secondary:hover:not(:disabled) { background: #f3f5f7; border-color: #aeb9c3; color: #253b4e; }
.button.maize { background: #244b6d; border-color: #244b6d; color: #fff; }
.button.maize:hover { background: #1c405e; }
.button:disabled { opacity: .5; }
.button-row { gap: 8px; }
/* Frosted side rail and a light, continuous toolbar. */
.navigation-bar { position: fixed; inset: 0 auto 0 0; width: 220px; padding: 30px 14px 18px; min-height: 0; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; background: linear-gradient(165deg,#f0f3f6b3,#e4e9ee99); border: 0; border-right: 1px solid #cdd4dc80; border-radius: 0; box-shadow: none; backdrop-filter: blur(28px) saturate(125%); -webkit-backdrop-filter: blur(28px) saturate(125%); z-index: 20; overflow-y: auto; }
.brand { gap: 11px; padding: 0 10px 32px; align-items: center; }
.brandmark { display: grid; place-items: center; width: 33px; height: 36px; flex-shrink: 0; padding: 0; border: 0; background: none; color: #233b50; font: 800 32px/1 Georgia,serif; letter-spacing: -3px; }
.brand strong { display: block; color: #2c343c; font: 600 17px/1.25 var(--sans); letter-spacing: -.025em; }
.brand>div>span { display: block; font-size: 10px; color: #68737e; margin-top: 4px; }
.rail-label { font-size: 10px; font-weight: 600; color: #626f7a; padding: 0 13px 8px; letter-spacing: 0; }
.navigation-bar nav { flex: none; display: flex; flex-direction: column; gap: 4px; flex-wrap: nowrap; align-self: auto; overflow: visible; }
.navigation-bar nav button { display: flex; align-items: center; gap: 11px; padding: 10px 12px; min-height: 39px; width: 100%; border: 1px solid transparent; border-radius: 7px; text-align: left; color: #505b67; font: 400 12px/1.4 var(--sans); white-space: nowrap; }
.navigation-bar nav button.active { background: #d4dde59e; border-color: #c9d3dd50; box-shadow: inset 0 1px 0 #ffffff70; color: #243e55; font-weight: 600; }
.navigation-bar nav button:hover { background: #d8e0e770; color: #243e55; }
.navigation-bar nav .ui-icon { color: #5b7388; width: 17px; height: 17px; }
.rail-note { margin-top: auto; padding: 32px 12px 17px; }
.rail-note button { border: 0; background: none; padding: 6px 0; color: #566674; display: flex; align-items: center; gap: 10px; font-size: 12px; cursor: pointer; }
.help-symbol { display: grid; place-items: center; border: 1px solid #8a99a6; border-radius: 50%; width: 16px; height: 16px; font-size: 11px; }
.rail-credit { border-top: 1px solid #d3dbe3; padding: 16px 12px 0; }
.rail-credit strong { display: block; font-size: 10px; font-weight: 500; color: #626f7a; }
.rail-credit span { display: block; font-size: 9px; color: #626f7a; margin-top: 3px; }
.masthead { display: flex; align-items: center; gap: 18px; min-height: 76px; margin: 0; padding: 17px 36px; background: #f6f8faa6; color: var(--ink); border: 0; border-bottom: 1px solid #dde2e780; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.product-name { display: flex; flex-direction: column; gap: 3px; padding: 0; margin: 0; text-align: left; border: 0; font-family: var(--sans); letter-spacing: 0; }
.product-name>strong { color: #38434d; font-size: 13px; font-weight: 600; }
.product-name>span { color: #626f7a; font-size: 10px; font-weight: 400; }
.header-actions { margin-left: auto; display: flex; gap: 8px; }
.header-actions .button,.header-actions .button.secondary { font-size: 11px; min-height: 32px; padding: 6px 10px; border-radius: 6px; }
.header-actions .button.secondary { background: #ffffff90; border-color: #d6dce1; color: #485764; }
.header-actions .button:hover { background: #e8edf2; color: #253b4e; }
.header-actions .ui-icon { width: 15px; height: 15px; }
.workspace { max-width: 1380px; margin: 0 auto; }
main { padding: 22px 36px 45px; }
.draft-status { max-width: 1380px; padding: 13px 36px 0; margin: 0 auto; min-height: 24px; font: 400 10px/1.6 var(--sans); color: #626f7a; gap: 9px; }
.draft-status .text-button { font-size: 10px; }
.workspace-subnav { border: 0; background: #f2f5f780; }
.workspace-subnav:empty { display: none; }
.workspace-subnav nav { max-width: 1380px; padding: 9px 31px; gap: 3px; }
.workspace-subnav button { padding: 6px 10px; font-size: 11px; border-radius: 6px; color: #66737f; }
.workspace-subnav button[aria-current] { background: #fff; color: #283e50; box-shadow: 0 1px 3px #1b2d3b0d; }
.planning-toolbar { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: center; gap: 24px; padding: 0 0 22px; margin: 0 0 34px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; background: none; }
.planning-toolbar label { display: grid; gap: 7px; min-width: 0; font-size: 10px; font-weight: 500; color: #68737d; }
.planning-toolbar input,.planning-toolbar select { width: 100%; max-width: 100%; min-height: 34px; border: 1px solid #d8dfe5; border-radius: 6px; background: #ffffff9e; padding: 6px 9px; color: #33414e; font: 500 12px var(--sans); box-shadow: 0 1px 1px #13283a03; }
.toolbar-note { display: none; }
/* Overview: numbers first, without a promotional hero. */
.overview-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 24px; }
.overview-heading h2 { margin: 0; }
.overview-heading p { margin: 8px 0 0; color: #626f7a; font-size: 12px; }
.scenario-label { color: #626f7a; font-size: 11px; padding: 5px 9px; border: 1px solid #dbe2e9; background: #f0f4f88a; border-radius: 5px; white-space: nowrap; }
.sponsor-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: 0 0 25px; padding: 6px 0 27px; border-bottom: 1px solid var(--line); }
.sponsor-metrics article,.sponsor-metrics article.over-limit { background: none; border: 0; border-right: 1px solid var(--line); border-radius: 0; padding: 0 25px; box-shadow: none; }
.sponsor-metrics article:first-child { padding-left: 0; }
.sponsor-metrics article:last-child { border: 0; padding-right: 0; }
.sponsor-metrics article>span { display: block; font-size: 12px; color: #68737e; }
.sponsor-metrics strong { margin: 11px 0 8px; font-size: 43px; line-height: 1.1; letter-spacing: -.045em; font-weight: 500; color: #293743; font-variant-numeric: tabular-nums; }
.sponsor-metrics strong small { font-size: 12px; font-weight: 400; letter-spacing: 0; color: #626f7a; }
.sponsor-metrics p { font-size: 11px; line-height: 1.6; color: #626f7a; }
.sponsor-metrics .over-limit strong { color: #88602c; }
.sponsor-decision { display: flex; align-items: center; gap: 24px; padding: 19px 22px; margin-bottom: 28px; background: #f8f4eb; border: 1px solid #e7dfcf; border-radius: 9px; box-shadow: none; }
.sponsor-decision .eyebrow { font: 500 10px var(--sans); letter-spacing: 0; color: #626f7a; text-transform: none; }
.sponsor-decision h3 { font-size: 16px; font-weight: 600; color: #584b38; margin: 6px 0 7px; letter-spacing: -.015em; }
.sponsor-decision p { font-size: 12px; color: #7a6d59; line-height: 1.6; margin: 0; }
.sponsor-decision .button { background: #fffcf5; border-color: #d7cdbb; color: #776044; white-space: nowrap; font-size: 11px; box-shadow: none; }
.sponsor-decision.positive { background: #eef4f0; border-color: #d4e0d8; }
/* Shared content uses a small number of consistent surfaces. */
.panel { background: #ffffffb8; border: 1px solid #e0e4e8; border-radius: 11px; box-shadow: none; padding: 23px; margin-bottom: 24px; min-width: 0; }
.panel .section-heading { padding-bottom: 17px; margin-bottom: 17px; border-bottom: 1px solid #e7eaed; gap: 20px; }
.section-heading p,.panel .section-heading p { color: #626f7a; font-size: 12px; line-height: 1.6; margin-top: 6px; }
.view-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 0; padding: 0; margin: 0 0 26px; }
.view-heading>div>p { font-size: 12px; color: #626f7a; max-width: 630px; margin: 9px 0 0; }
.view-ref { font: 500 10px var(--sans); letter-spacing: 0; text-transform: none; color: #626f7a; margin-bottom: 8px; }
.view-heading .button-row { flex-shrink: 0; }
.view-heading .button { font-size: 11px; }
.grid2.equal { gap: 22px; }
.grid2.equal>.panel { border-top: 1px solid #e0e4e8; }
.small-copy,.form-field small { color: #626f7a; font-size: 11px; line-height: 1.65; }
.tag { font: 500 10px/1.5 var(--sans); letter-spacing: 0; border: 1px solid #dbe2e8; border-radius: 5px; padding: 3px 7px; background: #f0f3f6; color: #626f7a; }
.tag.good { background: #eff5f1; border-color: #dbe6df; color: #53735e; }
.tag.warn { background: #f8f4eb; border-color: #e8decc; color: #626f7a; }
.tag.bad { background: #f9eeec; border-color: #ebd9d5; color: #996355; }
.scope-grid { grid-template-columns: 1fr 1fr; gap: 42px; margin: 19px 0 16px; }
.scope-grid>div { padding: 0; border: 0; border-radius: 0; background: none; }
.scope-grid span { font-size: 12px; color: #626f7a; }
.scope-grid strong { font-size: 28px; font-weight: 500; color: #354654; letter-spacing: -.03em; margin: 9px 0 13px; }
.scope-grid strong small { font-size: 11px; font-weight: 400; color: #626f7a; letter-spacing: 0; }
.scope-grid p { font-size: 11px; line-height: 1.65; color: #626f7a; margin-top: 12px; }
.seat-capacity-track { height: 5px; overflow: hidden; border-radius: 3px; background: #edf0f3; }
.seat-capacity-track i { display: block; height: 100%; background: #587b99; border-radius: 3px; }
.seat-capacity-track.optional i { background: #b3c1cd; }
.scope-comparison>.button { font-size: 11px; margin-top: 7px; }
.decision-check { margin: 18px 0; gap: 10px; }
.check-dot { width: 22px; height: 22px; font-size: 11px; border-radius: 50%; }
.check-dot.pass { background: #edf4ef; color: #626f7a; }
.check-dot.review { background: #f7f1e6; color: #626f7a; }
.decision-check strong { font-size: 12px; font-weight: 500; }
.decision-check div span { font-size: 11px; color: #626f7a; line-height: 1.55; }
.ticket-value { font-size: 26px; font-weight: 500; color: #43515e; margin: 17px 0 13px; }
.ticket-panel>p { font-size: 12px; color: #626f7a; }
.ticket-panel .stat-row { padding: 10px 0; font-size: 11px; border-color: #edf0f2; }
.stat-row strong { font-weight: 600; }
.sponsor-checks .button { margin-top: 9px; font-size: 11px; }
.table-scroll { border: 1px solid #e2e7eb; border-radius: 7px; background: #fff; }
.table-scroll th { background: #f5f7f8; color: #626f7a; font: 500 10px/1.5 var(--sans); text-transform: none; letter-spacing: 0; border-bottom: 1px solid #e1e6eb; padding: 12px 13px; }
.table-scroll td,.table-scroll td.number { font: 400 12px/1.5 var(--sans); padding: 13px; border-bottom: 1px solid #edf0f3; }
.table-scroll td strong { font-weight: 600; }
.table-scroll tbody tr:nth-child(even) { background: #fafbfc; }
.table-scroll tbody tr:hover { background: #f1f5f8; }
.table-scroll tbody tr:last-child td { border: 0; }
details { border-color: #e1e6eb; padding-top: 16px; margin-top: 19px; }
summary { font-size: 12px; font-weight: 500; color: #617587; min-height: 24px; cursor: pointer; }
details[open]>summary { margin-bottom: 18px; }
.form-grid { gap: 22px; }
.form-field label { font-size: 12px; font-weight: 500; }
input,select,.form-field input,.form-field select,.saved-plan-controls input,.saved-plan-controls select { min-height: 36px; padding: 8px 10px; border: 1px solid #cfd8e0; border-radius: 6px; background: #fff; color: #344b5e; font: 400 13px var(--sans); }
.notice { border: 1px solid #e7dfcf; border-left: 2px solid #b4a07c; background: #faf7f0; border-radius: 7px; padding: 15px 18px; font-size: 12px; color: #7b6e58; line-height: 1.65; }
.notice strong { font-size: 12px; }
.notice.danger { background: #faf1ee; border-color: #e8d6cf; border-left-color: #b08675; }
.notice.good { background: #f1f6f3; }
.forecast-controls,.degree-summary { border-radius: 8px; overflow: hidden; }
.degree-summary { border: 1px solid #e0e6eb; background: #ffffffb3; }
.scenario-card { border: 1px solid #dfe5eb; border-radius: 10px; background: #fff; padding: 23px; box-shadow: none; }
.scenario-card h3 { font-size: 17px; }
.scenario-mini { border: 1px solid #e1e8ed; border-radius: 7px; background: #f5f8fa; margin: 19px 0; }
.scenario-card dt { font-size: 11px; }
.scenario-card dd { font-size: 25px; font-weight: 500; }
.scenario-card .button { font-size: 11px; }
.report-downloads { border: 1px solid #dde4eb; border-radius: 9px; background: #ffffffb8; padding: 20px; }
.report-downloads strong { font-size: 13px; font-weight: 600; }
.report-downloads span { font-size: 11px; }
.written-report { border: 1px solid #dfe5ea; border-radius: 10px; box-shadow: none; padding: 38px; background: #fff; }
.written-report h2 { font-size: 27px; }
.written-report h3 { font-size: 20px; }
.report-section p { font-size: 13px; line-height: 1.8; }
.empty-state { background: #f4f7fa; border-color: #c2d1dd; border-radius: 8px; }
.text-button { color: #52718b; font-size: 12px; text-underline-offset: 3px; }
.toast { background: #35495de8; border: 1px solid #ffffff4d; border-radius: 10px; box-shadow: 0 10px 35px #1b304526; backdrop-filter: blur(18px); font-size: 12px; }
/* Seating: compact controls and a larger, uncluttered drawing surface. */
.scope-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 26px; align-items: center; }
.scope-control-copy .panel-kicker { font-size: 10px; color: #626f7a; letter-spacing: 0; text-transform: none; margin-bottom: 5px; }
.scope-control-copy h3 { font-size: 17px; }
.scope-control-copy p { font-size: 12px; color: #626f7a; line-height: 1.65; margin: 8px 0 0; max-width: 650px; }
.scope-actions { display: flex; flex-direction: column; gap: 7px; min-width: 195px; }
.scope-actions .button { font-size: 11px; }
.scope-actions .button[aria-pressed=true] { background: #eaf0f5; border-color: #a9bdcd; color: #42617b; box-shadow: none; }
.scope-actions .button[aria-pressed=true]:before { content: "✓"; font-size: 11px; }
.plan-library { margin: -3px 0 20px; padding: 0; border: 1px solid #dfe5ea; background: #f9fbfcc9; border-radius: 8px; }
.plan-library>summary { padding: 12px 16px; font-size: 12px; list-style-position: inside; }
.plan-library>summary strong { font-weight: 500; margin-right: 15px; }
.plan-library>summary span { font-size: 11px; font-weight: 400; color: #626f7a; }
.plan-library[open]>summary { border-bottom: 1px solid #e0e6eb; margin: 0; }
.plan-library .saved-plan-bar { margin: 0; padding: 20px; border: 0; background: transparent; box-shadow: none; }
.saved-plan-controls { gap: 14px; }
.saved-plan-controls label { font-size: 11px; font-weight: 500; }
.saved-plan-controls .button { font-size: 11px; }
.saved-plan-bar [data-save-status] { font-size: 11px; }
.backup-controls { display: block; }
.arena-toolbar { margin: 20px 0 16px; }
.arena-toolbar .button { font-size: 11px; }
.toggle-group { background: #e8edf1; border: 1px solid #dce2e7; padding: 3px; gap: 3px; border-radius: 7px; }
.toggle-group button { background: none; color: #626f7a; border: 0; padding: 7px 11px; font-size: 11px; border-radius: 5px; }
.toggle-group button.active { background: #fff; color: #3b566c; box-shadow: 0 1px 3px #34485b20; }
.toggle-group button:hover:not(.active) { background: #f1f4f6; }
.seating-strip { margin: 18px 0 14px; border: 1px solid #e0e6eb; border-radius: 9px; overflow: hidden; background: #fff; }
.seating-strip>div { padding: 17px 21px; border-color: #e3e8ed; }
.seating-strip>div:last-child { border-right: 0; }
.seating-strip span { font-size: 11px; color: #626f7a; }
.seating-strip strong { font-size: 30px; font-weight: 500; color: #405668; letter-spacing: -.035em; margin-top: 4px; }
.seating-strip .needs-seats { background: #faf6f0; }
.seating-strip .needs-seats strong { color: #88602c; }
.seating-workbench { grid-template-columns: 232px minmax(0,1fr); gap: 20px; }
.department-rail { max-height: 940px; padding-right: 5px; }
.rail-heading { padding: 11px 0 15px; background: #f7f9fbe6; backdrop-filter: blur(15px); }
.rail-heading h3 { font-size: 15px; }
.rail-heading span { font-size: 10px; }
.department-card { border: 1px solid #dfe6ec; border-left: 3px solid var(--department-color); border-radius: 8px; padding: 14px 12px; margin-bottom: 9px; background: #fff; box-shadow: none; }
.department-pick strong { font-size: 13px; }
.department-pick small { font-size: 10px; line-height: 1.4; margin-top: 4px; color: #626f7a; }
.drag-handle { color: #626f7a; font-size: 18px; }
.department-count { font-size: 10px; margin: 12px 0 9px; }
.department-count input { width: 65px; font-size: 11px; padding: 5px 7px; min-height: 30px; }
.department-count span { font-size: 10px; color: #626f7a; }
.department-count b { font-weight: 500; }
.department-card select { font-size: 11px; min-height: 32px; padding: 6px; }
.does-not-fit { font-size: 10px; color: #626f7a; }
.plan-canvas { padding: 21px; overflow: hidden; }
.plan-canvas .section-heading { padding-bottom: 14px; }
.plan-canvas .section-heading p { font-size: 11px; }
.plan-canvas .section-heading h3 { font-size: 16px; }
.plan-canvas .button { min-height: 30px; font-size: 10px; padding: 6px 9px; }
.plan-canvas .section-tabs { position: static; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; background: none; border: 0; padding: 0; margin-bottom: 13px; }
.plan-canvas .section-tabs button { padding: 8px 4px; border: 1px solid #dce5ec; border-radius: 6px; background: #f6f9fb; min-width: 0; }
.plan-canvas .section-tabs button strong { font-size: 10px; color: #626f7a; }
.plan-canvas .section-tabs button span { font-size: 9px; color: #626f7a; margin-top: 2px; }
.plan-canvas .arena { border: 1px solid #d9e3ec; border-radius: 8px; min-width: 0; margin-top: 0; background: #f8fafc; }
.plan-canvas .arena svg { min-width: 0; width: 100%; }
.blueprint-note { border: 0; background: none; padding: 12px 0; font: 400 10px/1.7 var(--sans); color: #626f7a; }
.plan-canvas .table-scroll th { font-size: 9px; padding: 10px 8px; }
.plan-canvas .table-scroll td,.plan-canvas .table-scroll td.number { font-size: 11px; padding: 11px 8px; }
.placement-chip { white-space: normal; line-height: 1.6; }
.advanced-seating>summary { font-size: 13px; }
.chair-editor { background: none!important; }
.chair-grid { border-radius: 8px; }
.chair-controls label { font-size: 11px; }
.export-menu { position: relative; margin: 0; padding: 0; border: 0; }
.export-menu>summary { display: flex; align-items: center; gap: 12px; min-height: 34px; padding: 7px 11px; border: 1px solid #d4d9de; border-radius: 7px; background: #ffffffa6; font-size: 11px; list-style: none; }
.export-menu>summary:after { content: "⌄"; font-size: 13px; }
.export-menu[open]>summary { margin: 0; }
.export-menu>div { position: absolute; top: calc(100% + 6px); right: 0; z-index: 9; display: flex; flex-direction: column; gap: 4px; width: 205px; padding: 7px; border: 1px solid #d4dfe8; border-radius: 9px; background: #fffffff2; backdrop-filter: blur(20px); box-shadow: 0 10px 30px #30496321; }
.export-menu>div>.button { text-align: left; justify-content: flex-start; border: 0; box-shadow: none; }
footer { max-width: 1380px; margin: 0 auto; padding: 20px 36px 27px; gap: 12px; border-top: 1px solid #e2e7ec; background: none; color: #626f7a; font-size: 9px; }
.footer-divider { padding: 0 6px; }
@media(min-width:1500px) { main { padding: 26px 48px 50px; }.masthead { padding-inline: 48px; }.draft-status,footer { padding-inline: 48px; }.sponsor-metrics strong { font-size: 48px; }.seating-workbench { grid-template-columns: 260px minmax(0,1fr); } }
@media(min-width:1001px) and (max-width:1200px) { .shell { padding-left: 194px; }.navigation-bar { width: 194px; padding-inline: 10px; }.brand { padding-inline: 7px; gap: 8px; }.navigation-bar nav button { font-size: 11px; gap: 9px; }.masthead { padding-inline: 28px; }main { padding-inline: 28px; }.draft-status { padding-inline: 28px; }.planning-toolbar { gap: 16px; }.sponsor-metrics article { padding-inline: 19px; }.sponsor-metrics strong { font-size: 38px; }.sponsor-decision { align-items: flex-start; flex-direction: column; gap: 14px; }.scope-grid { gap: 28px; }.seating-workbench { grid-template-columns: 210px minmax(0,1fr); gap: 15px; }.plan-canvas { padding: 16px; }.view-heading { align-items: flex-start; flex-wrap: wrap; } }
@media(max-width:1000px) {
  .shell { padding-left: 0; }.navigation-bar { position: relative; inset: auto; width: auto; padding: 18px 24px 10px; border-right: 0; border-bottom: 1px solid #d3dce4; overflow: visible; }
  .brand { padding: 0 0 17px; }.brandmark { width: 30px; height: 30px; font-size: 28px; }.brand strong { font-size: 16px; }.brand>div>span { font-size: 10px; margin-top: 2px; }
  .rail-label,.rail-note,.rail-credit { display: none; }.navigation-bar nav { flex-direction: row; gap: 5px; }.navigation-bar nav button { flex: 1; width: auto; padding: 9px 10px; min-height: 36px; font-size: 11px; gap: 8px; justify-content: center; }
  .masthead { padding: 16px 28px; min-height: 70px; }.product-name { display: flex; }.product-name>strong { font-size: 12px; }.workspace-subnav nav { padding-inline: 22px; }.draft-status { padding-inline: 28px; }
  main { padding: 21px 28px 38px; }.planning-toolbar { gap: 20px; margin-bottom: 30px; }.seating-workbench { grid-template-columns: 225px minmax(0,1fr); gap: 16px; }
  .scope-actions { min-width: 195px; }.view-heading { flex-wrap: wrap; }.view-heading .button-row { width: auto; }.saved-plan-controls { grid-template-columns: 1fr 1fr; }footer { padding-inline: 28px; }
}
@media(max-width:700px) {
  .navigation-bar { padding: 15px 12px 8px; }.brand { padding: 0 6px 14px; gap: 9px; }.brand strong { font-size: 16px; }.navigation-bar nav { gap: 2px; }.navigation-bar nav button { flex-direction: column; gap: 6px; font-size: 9px; padding: 8px 3px; min-height: 51px; white-space: normal; text-align: center; line-height: 1.3; }.navigation-bar nav .ui-icon { width: 18px; height: 18px; }
  .masthead { padding: 13px 19px; gap: 10px; flex-wrap: nowrap; }.product-name { min-width: 0; }.product-name>strong { font-size: 11px; }.product-name>span { font-size: 9px; }.header-actions,.masthead .header-actions { margin-left: auto; width: auto; flex-basis: auto; flex-shrink: 0; gap: 6px; }.header-actions .button,.header-actions .button.secondary { min-height: 33px; font-size: 10px; padding: 7px 8px; }.header-actions .ui-icon { display: none; }
  .draft-status { padding: 12px 20px 0; font-size: 10px; gap: 7px; }.draft-status .text-button { font-size: 10px; }.workspace-subnav nav { padding: 8px 12px; gap: 2px; }.workspace-subnav button { font-size: 10px; padding: 6px 8px; }
  main { padding: 21px 20px 32px; }.planning-toolbar { grid-template-columns: 1fr 1fr; gap: 14px 16px; padding-bottom: 22px; margin-bottom: 27px; }.planning-toolbar label { font-size: 10px; gap: 6px; }.planning-toolbar input,.planning-toolbar select { font-size: 16px; min-height: 40px; padding: 7px 9px; }
  h2 { font-size: 29px; }.overview-heading { gap: 12px; margin-bottom: 22px; }.overview-heading p { font-size: 11px; margin-top: 7px; }.scenario-label { font-size: 10px; padding: 4px 7px; }
  .sponsor-metrics { grid-template-columns: 1fr; padding: 0; margin-bottom: 23px; border: 0; }.sponsor-metrics article,.sponsor-metrics article.over-limit,.sponsor-metrics article:first-child,.sponsor-metrics article:last-child { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; align-items: center; padding: 15px 0; border: 0; border-bottom: 1px solid #e1e6eb; }.sponsor-metrics article:first-child { padding-top: 0; }.sponsor-metrics article>span { font-size: 12px; grid-column: 1; }.sponsor-metrics strong { grid-column: 2; grid-row: 1/3; font-size: 30px; margin: 0; text-align: right; }.sponsor-metrics strong small { display: block; font-size: 10px; margin-top: 5px; }.sponsor-metrics p { grid-column: 1; font-size: 10px; max-width: 205px; }
  .sponsor-decision { display: block; padding: 18px; margin-bottom: 23px; border-radius: 8px; }.sponsor-decision h3 { font-size: 17px; line-height: 1.3; }.sponsor-decision p { font-size: 12px; }.sponsor-decision .button { width: auto; margin-top: 15px; min-height: 37px; }
  .panel { padding: 20px 18px; margin-bottom: 21px; border-radius: 9px; }.panel .section-heading { padding-bottom: 15px; margin-bottom: 16px; }.panel .section-heading p { font-size: 12px; }h3 { font-size: 17px; }.section-heading { flex-wrap: wrap; gap: 12px; }.scope-grid { grid-template-columns: 1fr; gap: 24px; margin: 16px 0; }.scope-grid strong { font-size: 28px; }.scope-grid p,.scope-grid span { font-size: 12px; }.small-copy { font-size: 12px; }.scope-comparison>.button { width: 100%; font-size: 11px; min-height: 38px; }
  .grid2,.sponsor-checks.grid2.equal { grid-template-columns: 1fr; gap: 18px; }.decision-check { gap: 8px; }.decision-check strong { font-size: 12px; }.decision-check div span { font-size: 11px; }.decision-check .tag { font-size: 9px; }.ticket-value { font-size: 25px; }.ticket-panel>p { font-size: 12px; }.sponsor-checks .button { width: 100%; min-height: 38px; }
  .view-heading { display: block; margin: 0 0 24px; }.view-heading h2 { font-size: 29px; }.view-heading>div>p { font-size: 12px; }.view-heading .button-row { width: auto; margin-top: 17px; gap: 7px; }.view-heading .button-row .button { flex: none; min-height: 37px; }.view-ref { font-size: 10px; }
  .form-grid { grid-template-columns: 1fr; gap: 20px; }.form-field input,.form-field select { font-size: 16px; min-height: 41px; }.scenario-grid { grid-template-columns: 1fr; gap: 18px; }.scenario-card { padding: 20px; }.report-downloads { display: block; padding: 18px; }.report-downloads .button-row { margin-top: 16px; }.report-downloads .button { width: 100%; font-size: 11px; }.written-report { padding: 24px 18px; border-radius: 9px; }.written-report h2 { font-size: 25px; }.report-section p { font-size: 12px; }
  .scope-controls { display: block; }.scope-control-copy p { font-size: 12px; }.scope-actions { min-width: 0; margin-top: 17px; gap: 7px; }.scope-actions .button { font-size: 11px; min-height: 38px; }.plan-library>summary { padding: 13px 14px; font-size: 12px; }.plan-library>summary strong { margin-right: 7px; }.plan-library>summary span { font-size: 10px; }.plan-library .saved-plan-bar { padding: 18px; }.saved-plan-controls { grid-template-columns: 1fr; }.saved-plan-controls input,.saved-plan-controls select { font-size: 16px; }.saved-plan-controls .button { min-height: 40px; }
  .arena-toolbar { display: block; margin: 18px 0 14px; }.toggle-group { width: 100%; flex-wrap: nowrap; gap: 2px; }.toggle-group button { flex: 1; font-size: 10px; padding: 7px 4px; min-height: 37px; }.arena-toolbar>.button-row { margin-top: 12px; gap: 8px; }.arena-toolbar>.button-row .button { flex: 1; min-height: 38px; font-size: 10px; }
  .seating-strip { grid-template-columns: 1fr 1fr; border-radius: 8px; }.seating-strip>div { padding: 15px 17px; }.seating-strip>div:nth-child(2) { border-right: 0; }.seating-strip>div:nth-child(-n+2) { border-bottom: 1px solid #e1e8ef; }.seating-strip span { font-size: 10px; }.seating-strip strong { font-size: 29px; }.notice { font-size: 12px; padding: 16px; }
  .seating-workbench { display: flex; flex-direction: column; gap: 18px; }.department-rail { width: 100%; order: 2; max-height: 480px; }.plan-canvas { width: 100%; order: 1; padding: 17px; }.plan-canvas .section-tabs { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; }.plan-canvas .section-tabs button { padding: 8px 3px; }.plan-canvas .section-tabs button strong { font-size: 9px; }.plan-canvas .section-tabs button span { font-size: 8px; }.plan-canvas .section-heading { flex-wrap: nowrap; align-items: center; gap: 8px; }.plan-canvas .section-heading .button-row { gap: 4px; flex-wrap: nowrap; }.plan-canvas .section-heading h3 { font-size: 15px; }.plan-canvas .section-heading p { font-size: 10px; }.plan-canvas .button { padding: 6px 8px; }.department-card { padding: 16px; }.department-pick strong { font-size: 14px; }.department-pick small { font-size: 11px; }.department-count { font-size: 11px; }.department-count input { font-size: 16px; width: 80px; }.department-card select { font-size: 16px; min-height: 41px; }.department-count span { font-size: 11px; }.rail-heading h3 { font-size: 17px; }.chair-controls { grid-template-columns: 1fr 1fr; }.chair-controls input,.chair-controls select { font-size: 16px; min-width: 0; }
  .export-menu>summary { font-size: 11px; min-height: 37px; }.export-menu>div { right: auto; left: 0; width: 190px; }.table-scroll th { font-size: 10px; padding: 10px; }.table-scroll td,.table-scroll td.number { font-size: 11px; padding: 11px; }.degree-controls { grid-template-columns: 1fr; }.forecast-source-control label { flex-basis: 100%; }.forecast-source-control select { font-size: 16px; }
  footer { padding: 19px 20px; flex-direction: column; gap: 6px; font-size: 9px; }.toast { right: 15px; bottom: 15px; max-width: calc(100vw - 30px); }
}
@media(prefers-reduced-transparency:reduce) { .navigation-bar { background: #edf1f5; backdrop-filter: none; }.masthead { background: #f6f8fa; backdrop-filter: none; }.shell,.panel { background: #fff; } }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { transition: none!important; animation: none!important; scroll-behavior: auto!important; } }
@media print { .shell { padding: 0; }.navigation-bar,.masthead,.draft-status,.planning-toolbar,.workspace-subnav,.export-menu,.plan-library,.seating-notes,footer { display: none!important; }body { background: #fff!important; }main { padding: 0; }.panel,.written-report,.sponsor-metrics article,.plan-canvas { background: #fff; border: 0; box-shadow: none; backdrop-filter: none; border-radius: 0; }.written-report { padding: 0; margin: 0; }.table-scroll { border-radius: 0; overflow: visible; }.report-section p { font-size: 11px; }.table-scroll td,.table-scroll th { font-size: 9px; padding: 5px; }.seating-workbench { display: block; }.department-rail { display: none; } }

/* Sponsor seating policy. Kept separate from historical shared plans. */
.sponsor-workspace-switch {display:flex;gap:8px;margin:0 0 24px;flex-wrap:wrap}
.sponsor-policy .form-grid>label {display:grid;gap:8px;font-size:12px;color:var(--muted)}
.sponsor-policy select,.sponsor-policy input,.sponsor-section-map select,[data-sponsor-dept-side] {width:100%;min-width:150px;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink)}
.sponsor-count-input {width:90px;min-height:34px;padding:6px;border:1px solid var(--line);border-radius:6px}
.sponsor-section-map {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.sponsor-section-block {border:1px solid var(--line);border-radius:8px;padding:14px;background:#fcfdfe;min-width:0}
.sponsor-section-block h4 {margin:0 0 12px;display:flex;gap:8px;justify-content:space-between;font-size:14px}
.sponsor-section-block h4 span {font-weight:400;font-size:11px;color:var(--muted)}
.sponsor-fragment-track {display:flex;height:24px;background:#e5eaef;border-radius:4px;overflow:hidden}
.sponsor-fragment-track>div {min-width:0;border-right:1px solid white}
.sponsor-fragment-track .available {background:#e5eaef}
.sponsor-section-block p {margin:8px 0;font-size:12px;color:var(--muted)}
.sponsor-fragment-labels {display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11px}
.sponsor-fragment-labels i {width:8px;height:8px;display:inline-block;border-radius:2px;margin-right:4px}
.legacy-report-details {margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}
.legacy-report-details>summary {font-weight:600;color:var(--muted)}
@media(max-width:700px){.sponsor-section-map{grid-template-columns:1fr}.sponsor-policy .form-grid{grid-template-columns:1fr}.sponsor-section-block h4{flex-wrap:wrap}.sponsor-metrics strong{font-size:30px}}
@media print{.sponsor-workspace-switch,.sponsor-policy input,.sponsor-policy select{display:none}.sponsor-section-block{break-inside:avoid}.legacy-report-details:not([open]){display:none}}
