/* Shared primitives and explicit Bootstrap 5.1 bridge (5.1 predates button variables).
   Keep feature layouts and JS hooks in their owning stylesheets. */
html { font-size: 16px; scroll-padding-top: calc(var(--pcs-header-height) + 16px); }
body { background: var(--pcs-paper); color: var(--pcs-ink); font-family: var(--pcs-font); font-size: var(--pcs-text); line-height: 1.5; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.25; }
h1 { font-size: var(--pcs-title); letter-spacing: -.035em; }
h2 { font-size: var(--pcs-section); letter-spacing: -.025em; }
h3 { font-size: var(--pcs-heading); }
a { color: var(--pcs-accent); text-underline-offset: .18em; }
a:hover { color: var(--pcs-accent-hover); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--pcs-accent); outline-offset: 3px;
}
.text-muted, .form-text { color: var(--pcs-muted) !important; }
.pcs-meta, .form-text { font-size: var(--pcs-meta); }
.pcs-note { font-size: var(--pcs-note); }
.pcs-numeric, .pcs-metrics, .pcs-costs, time { font-variant-numeric: tabular-nums; }
.pcs-reading { max-width: var(--pcs-reading); }
.pcs-reading p, .pcs-reading li { max-width: 75ch; }
.pcs-form { max-width: var(--pcs-form); }
.page-heading, .pcs-page-header { display: flex; align-items: center; justify-content: space-between; gap: var(--pcs-space-6); margin: var(--pcs-space-8) 0; }
.page-heading h1, .pcs-page-header h1 { font-size: var(--pcs-title); font-weight: 600; margin: 0; }
.pcs-page-header p { color: var(--pcs-muted); margin: var(--pcs-space-2) 0 0; }
.pcs-eyebrow { color: var(--pcs-accent); font-size: var(--pcs-note); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.pcs-toolbar, .pcs-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pcs-space-3); }
.pcs-toolbar { justify-content: space-between; margin-bottom: var(--pcs-space-6); }
.pcs-stack { display: grid; gap: var(--pcs-space-6); }
.pcs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pcs-space-6); align-items: start; }
.pcs-surface, .card { background: var(--pcs-surface); border: 1px solid var(--pcs-line); border-radius: var(--pcs-card-radius); box-shadow: none; min-width: 0; }
.pcs-inset { background:var(--pcs-inset); color:var(--pcs-ink); }
.pcs-surface { padding: var(--pcs-space-6); }
.pcs-surface h2, .pcs-surface h3 { margin-top: 0; }
.pcs-school-identity { display: flex; align-items: center; gap: var(--pcs-space-3); min-width: 0; }
.pcs-school-identity > :last-child { min-width: 0; overflow-wrap: anywhere; }
.pcs-school-identity h2, .pcs-school-identity h3, .pcs-school-identity p { margin: 0; }
.pcs-school-identity p { color: var(--pcs-muted); font-size: var(--pcs-meta); margin-top: var(--pcs-space-1); }
.pcs-school-logo { width: 48px; height: 48px; flex: 0 0 48px; object-fit: contain; background: var(--pcs-soft); border-radius: var(--pcs-control-radius); display: grid; place-items: center; font-weight: 600; }
.pcs-metrics, .pcs-costs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pcs-space-3); margin: var(--pcs-space-4) 0; }
.pcs-metrics dt, .pcs-costs dt { font-size: var(--pcs-meta); color: var(--pcs-muted); font-weight: 400; }
.pcs-metrics dd, .pcs-costs dd { margin: 0; font-weight: 600; }
.pcs-costs { border-top: 1px solid var(--pcs-line); padding-top: var(--pcs-space-3); }
.pcs-costs dd, .pcs-cost-value { font-size: 1.25rem; font-weight: 600; }
.pcs-costs__qualification { grid-column: 1 / -1; font-size: var(--pcs-meta); color: var(--pcs-muted); margin: 0; }
.pcs-chip { display: inline-flex; align-items: center; gap: var(--pcs-space-1); padding: var(--pcs-space-1) var(--pcs-space-2); border-radius: var(--pcs-control-radius); font-size: var(--pcs-meta); font-weight: 500; background: var(--pcs-soft); color: var(--pcs-ink); }
.pcs-chip--good { background: var(--pcs-green-soft); color: var(--pcs-green); }
.pcs-chip--warning { background: var(--pcs-amber-soft); color: var(--pcs-amber); }
.pcs-chip--danger { background: var(--pcs-red-soft); color: var(--pcs-red); }
.pcs-chip--unknown { color: var(--pcs-muted); }

.btn { border-radius: var(--pcs-control-radius); min-height: var(--pcs-target); padding: .625rem .875rem; font-size: var(--pcs-meta); font-weight: 500; line-height: 1.5; }
.btn-sm { font-size: var(--pcs-meta); }
.btn-primary, .nav-pills .nav-link.active, .nav-pills .show > .nav-link { background: var(--pcs-accent); border-color: var(--pcs-accent); color: white; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .show > .btn-primary.dropdown-toggle { background: var(--pcs-accent-hover); border-color: var(--pcs-accent-hover); color: white; }
.btn-primary:disabled, .btn-primary.disabled { background: var(--pcs-accent); border-color: var(--pcs-accent); }
.btn-secondary { background: var(--pcs-ink); border-color: var(--pcs-ink); color: white; }
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active, .btn-secondary.active, .btn-check:checked + .btn-secondary { background: var(--pcs-muted); border-color: var(--pcs-muted); color: white; }
.btn-secondary:disabled, .btn-secondary.disabled { background: var(--pcs-ink); border-color: var(--pcs-ink); }
.btn-outline-primary { color: var(--pcs-accent); border-color: var(--pcs-accent); background: var(--pcs-surface); }
.btn-outline-secondary { color: var(--pcs-ink); border-color: var(--pcs-input); background: var(--pcs-surface); }
.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active, .btn-outline-primary.active, .btn-check:checked + .btn-outline-primary,
.btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-check:checked + .btn-outline-secondary { color: var(--pcs-accent); border-color: var(--pcs-accent); background: var(--pcs-accent-soft); }
.btn-outline-primary:disabled, .btn-outline-primary.disabled { color: var(--pcs-accent); background: var(--pcs-surface); }
.btn-outline-secondary:disabled, .btn-outline-secondary.disabled { color: var(--pcs-muted); background: var(--pcs-surface); }
.btn-link { color: var(--pcs-accent); }
.btn-link:hover, .btn-link:focus { color: var(--pcs-accent-hover); background: var(--pcs-accent-soft); }
.btn-danger { color: white; background: var(--pcs-red); border-color: var(--pcs-red); }
.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .btn-check:checked + .btn-danger { color: white; background: var(--pcs-red-hover); border-color: var(--pcs-red-hover); }
.btn-danger:disabled, .btn-danger.disabled { background: var(--pcs-red); border-color: var(--pcs-red); }
.btn-outline-danger { color: var(--pcs-red); background: var(--pcs-surface); border-color: var(--pcs-red); }
.btn-outline-danger:hover, .btn-outline-danger:focus, .btn-outline-danger:active, .btn-outline-danger.active, .btn-check:checked + .btn-outline-danger { color: var(--pcs-red); background: var(--pcs-red-soft); border-color: var(--pcs-red); }
.btn-outline-danger:disabled, .btn-outline-danger.disabled { color: var(--pcs-red); background: var(--pcs-surface); }
.btn-outline-warning { color: var(--pcs-amber); background: var(--pcs-surface); border-color: var(--pcs-amber); }
.btn-outline-warning:hover, .btn-outline-warning:focus, .btn-outline-warning:active, .btn-outline-warning.active, .btn-check:checked + .btn-outline-warning { color: var(--pcs-amber); background: var(--pcs-amber-soft); border-color: var(--pcs-amber); }
.btn-outline-warning:disabled, .btn-outline-warning.disabled { color: var(--pcs-amber); background: var(--pcs-surface); }
.btn-light, .btn-outline-dark { color: var(--pcs-ink); background: var(--pcs-surface); border-color: var(--pcs-input); }
.btn-light:hover, .btn-light:focus, .btn-light:active, .btn-light.active, .btn-check:checked + .btn-light,
.btn-outline-dark:hover, .btn-outline-dark:focus, .btn-outline-dark:active, .btn-outline-dark.active, .btn-check:checked + .btn-outline-dark { color: var(--pcs-ink); background: var(--pcs-soft); border-color: var(--pcs-ink); }
.btn-light:disabled, .btn-light.disabled, .btn-outline-dark:disabled, .btn-outline-dark.disabled { color: var(--pcs-muted); background: var(--pcs-surface); }
/* Inverse controls stay legible on existing dark feature panels. */
.btn-outline-light { color: var(--pcs-surface); border-color: var(--pcs-surface); }
.btn-outline-light:hover, .btn-outline-light:focus, .btn-outline-light:active, .btn-outline-light.active, .btn-check:checked + .btn-outline-light { color: var(--pcs-ink); background: var(--pcs-surface); border-color: var(--pcs-surface); }
.btn:focus, .btn:active:focus, .btn-check:focus + .btn, .form-control:focus, .form-select:focus, .form-check-input:focus { box-shadow: 0 0 0 2px var(--pcs-surface), 0 0 0 5px var(--pcs-accent); }
.btn:focus-visible { outline: 3px solid var(--pcs-accent); outline-offset: 3px; box-shadow: none; }
.btn:disabled, .btn.disabled { opacity: .6; }
.btn[aria-busy='true'] { cursor: progress; }
.dropdown-menu, .school-actions-menu { background: var(--pcs-surface); color: var(--pcs-ink); border: 1px solid var(--pcs-line); border-radius: var(--pcs-card-radius); box-shadow: var(--pcs-floating-shadow); padding: var(--pcs-space-2); max-width: calc(100vw - 32px); }
.dropdown-item { color: var(--pcs-ink); min-height: var(--pcs-target); border-radius: var(--pcs-control-radius); padding: .625rem .75rem; white-space: normal; }
.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active, .dropdown-item:active { color: var(--pcs-accent); background: var(--pcs-accent-soft); }
.dropdown-item.disabled, .dropdown-item:disabled { color: var(--pcs-muted); }

.form-control, .form-select { min-height: var(--pcs-target); border-color: var(--pcs-input); border-radius: var(--pcs-control-radius); color: var(--pcs-ink); font-size: var(--pcs-text); }
.form-control::placeholder { color: var(--pcs-muted); opacity: 1; }
.form-control:focus, .form-select:focus { border-color: var(--pcs-accent); color: var(--pcs-ink); }
.form-control:disabled, .form-control[readonly], .form-select:disabled { background-color: var(--pcs-soft); color: var(--pcs-muted); }
.form-label, .pcs-field > label { display: block; font-weight: 500; margin-bottom: var(--pcs-space-2); }
.pcs-field + .pcs-field { margin-top: var(--pcs-space-4); }
.pcs-check { display: inline-flex; align-items: center; gap: var(--pcs-space-2); min-height: var(--pcs-target); }
.form-check-input { border-color: var(--pcs-input); }
.form-check-input:checked { background-color: var(--pcs-accent); border-color: var(--pcs-accent); }
input[type='checkbox'], input[type='radio'] { accent-color: var(--pcs-accent); }
.invalid-feedback, .field-validation-error, .validation-summary-errors, .text-danger { color: var(--pcs-red) !important; }
.input-validation-error, .form-control.is-invalid, .form-select.is-invalid, .was-validated .form-control:invalid, .was-validated .form-select:invalid { border-color: var(--pcs-red); }
.form-control.is-invalid:focus, .form-select.is-invalid:focus, .input-validation-error:focus { box-shadow: 0 0 0 2px var(--pcs-surface), 0 0 0 5px var(--pcs-red); }
.pcs-disclosure { border-top: 1px solid var(--pcs-line); }
.pcs-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--pcs-space-3); list-style: none; min-height: var(--pcs-target); padding: var(--pcs-space-3) 0; color: var(--pcs-accent); cursor: pointer; font-size: var(--pcs-meta); font-weight: 500; }
.pcs-disclosure > summary::-webkit-details-marker { display: none; }
.pcs-disclosure > summary::after { content: ''; width: 8px; height: 8px; flex: 0 0 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-right: var(--pcs-space-2); }
.pcs-disclosure[open] > summary::after { transform: rotate(225deg); }
.pcs-disclosure__body { padding-bottom: var(--pcs-space-4); }
.pcs-feedback, .alert { padding: var(--pcs-space-4); border: 1px solid var(--pcs-line); border-radius: var(--pcs-card-radius); }
.pcs-feedback { background: var(--pcs-soft); color: var(--pcs-ink); }
.pcs-feedback > :last-child { margin-bottom: 0; }
.pcs-feedback--success, .alert-success { background: var(--pcs-green-soft); color: var(--pcs-green); border-color: var(--pcs-green); }
.pcs-feedback--warning, .alert-warning { background: var(--pcs-amber-soft); color: var(--pcs-amber); border-color: var(--pcs-amber); }
.pcs-feedback--error, .alert-danger { background: var(--pcs-red-soft); color: var(--pcs-red); border-color: var(--pcs-red); }
.alert-info, .alert-primary { background: var(--pcs-accent-soft); color: var(--pcs-accent); border-color: var(--pcs-accent); }
.pcs-empty { padding: var(--pcs-space-8); text-align: center; border: 1px dashed var(--pcs-input); border-radius: var(--pcs-card-radius); background: var(--pcs-surface); }
.pcs-empty p { color: var(--pcs-muted); }
.pcs-dialog, .modal-content { color: var(--pcs-ink); background: var(--pcs-surface); border: 1px solid var(--pcs-line); border-radius: var(--pcs-dialog-radius); box-shadow: var(--pcs-floating-shadow); }
.pcs-dialog { width: min(640px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: var(--pcs-space-6); overflow: auto; }
.pcs-dialog::backdrop { background: rgb(25 43 58 / 55%); }
.pcs-dialog__header, .pcs-dialog__footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--pcs-space-3); }
.pcs-dialog__header { margin-bottom: var(--pcs-space-6); }
.pcs-dialog__header h2 { font-size: var(--pcs-section); margin: 0; }
.pcs-dialog__footer { justify-content: flex-end; margin-top: var(--pcs-space-6); }
.pcs-table-region { max-width: 100%; overflow: auto; }
.pcs-table-region table { margin-bottom: 0; font-variant-numeric: tabular-nums; }
@media (max-width: 767.98px) {
  .page-heading, .pcs-page-header { align-items: flex-start; flex-direction: column; gap: var(--pcs-space-4); margin: var(--pcs-space-6) 0; }
  .pcs-grid { grid-template-columns: minmax(0, 1fr); gap: var(--pcs-space-4); }
  .pcs-surface, .pcs-dialog { padding: var(--pcs-space-4); }
}
@media (prefers-reduced-motion: reduce) {
  .btn, .form-control, .form-select, .form-check-input, .collapsing { transition: none; }
  .spinner-border, .spinner-grow { animation: none; }
}

/* Accepted Visual 2.0 theme, opt-in during the staged conversion. Shared by Shortlist and school details. */
.pcs-theme .pcs-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:32px; }
.pcs-theme .pcs-intro h1 { margin:0; font-size:2rem; line-height:1.15; font-weight:600; letter-spacing:-1.2px; }
.pcs-theme .pcs-eyebrow { margin:0 0 10px; font-size:.75rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--pcs-accent); }
.pcs-theme .pcs-subtitle { margin:12px 0 0; color:var(--pcs-muted); }
.pcs-theme .pcs-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--pcs-line); border-radius:8px; background:white; color:var(--pcs-ink); min-height:44px; padding:8px 14px; font-size:.875rem; font-weight:500; text-decoration:none; }
.pcs-theme .pcs-button--primary { color:white; background:var(--pcs-accent); border-color:var(--pcs-accent); flex-shrink:0; }
.pcs-theme .pcs-button:hover { border-color:var(--pcs-accent); }
.pcs-theme .pcs-button--primary:hover { background:var(--pcs-accent-hover); }
.pcs-theme .pcs-school-card { min-width:0; background:white; border:1px solid var(--pcs-card-line); border-radius:12px; }
.pcs-theme .pcs-school-banner { --school-ink:#192b3a; --school-wash:#e4edeb; min-height:100px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 24px; position:relative; isolation:isolate; overflow:hidden; border-radius:11px 11px 0 0; background:var(--school-wash); color:var(--school-ink); }
.pcs-theme .pcs-school-banner::after { content:""; box-sizing:content-box; position:absolute; z-index:-1; right:-20px; top:-90px; width:250px; height:250px; border:40px solid currentColor; border-radius:50%; opacity:.07; }
.pcs-theme .pcs-school-monogram { font-size:46px; font-weight:800; letter-spacing:-3px; line-height:1; min-width:0; overflow-wrap:anywhere; }
.pcs-theme .pcs-school-banner__aside { display:flex; flex-direction:column; justify-content:center; align-self:stretch; align-items:flex-end; min-width:0; gap:4px; text-align:right; }
.pcs-theme .pcs-school-path { font-size:.875rem; line-height:1.25; font-weight:500; }
.pcs-theme .pcs-school-path small { display:block; margin-top:2px; font-size:.75rem; font-weight:400; }
.pcs-theme .pcs-school-body { padding:16px 20px 0; }
.pcs-theme .pcs-school-identity { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.pcs-theme .pcs-school-identity > div:last-child { min-width:0; }
.pcs-theme .pcs-school-identity h2 { font-size:1.25rem; line-height:1.25; font-weight:600; letter-spacing:-.5px; margin:0; text-transform:none; overflow-wrap:anywhere; }
.pcs-theme .pcs-school-location { margin:4px 0 0; color:var(--pcs-muted); font-size:.875rem; }
.pcs-theme .pcs-school-logo { flex:0 0 36px; width:36px; height:36px; display:grid; place-items:center; }
.pcs-theme .pcs-school-logo img { width:100%; height:100%; object-fit:contain; }
.pcs-theme .pcs-school-logo__fallback { display:none; place-items:center; width:100%; height:100%; border-radius:8px; background:var(--pcs-accent-soft); font-weight:600; font-size:.75rem; }
.pcs-theme .pcs-school-logo__fallback--visible { display:grid; }
.pcs-theme .pcs-inline-metrics { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; margin:0; font-size:.875rem; }
.pcs-theme .pcs-inline-metrics__metric { display:flex; align-items:baseline; gap:4px; }
.pcs-theme .pcs-inline-metrics dt { color:var(--pcs-muted); font-weight:400; }
.pcs-theme .pcs-inline-metrics dd { color:var(--pcs-ink); font-weight:600; margin:0; font-variant-numeric:tabular-nums; }
.pcs-theme .pcs-cost-block { border-top:1px solid var(--pcs-divider); padding-top:10px; }
.pcs-theme .pcs-cost-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; margin:0; }
.pcs-theme .pcs-cost-summary__scenario { display:grid; grid-template-rows:subgrid; grid-row:span 2; gap:0; }
.pcs-theme .pcs-cost-summary__scenario dt { color:var(--pcs-muted); font-size:.875rem; font-weight:400; }
.pcs-theme .pcs-cost-summary__scenario dd { margin:0; }
.pcs-theme .pcs-cost-summary__scenario strong { display:block; color:var(--pcs-ink); font-size:1.25rem; font-weight:600; letter-spacing:-.5px; font-variant-numeric:tabular-nums; }
.pcs-theme .financial-range-indicator { display:inline-flex; gap:4px; max-width:100%; padding:0; border:0; border-radius:0; background:transparent; font-size:.75rem; font-weight:500; white-space:normal; }
.pcs-theme .pcs-qualification { color:var(--pcs-muted); font-size:.875rem; margin:4px 0 0; }
.pcs-theme .pcs-statuses { display:flex; flex-wrap:wrap; gap:8px 16px; padding:10px 0 6px; font-size:.875rem; }
.pcs-theme .pcs-statuses > div { display:flex; align-items:baseline; gap:4px; flex-wrap:wrap; }
.pcs-theme .pcs-statuses .status-context-label { font-size:inherit; font-weight:400; color:var(--pcs-muted); margin:0; }
.pcs-theme .pcs-statuses .status-pill { padding:0; border:0; background:transparent; color:var(--pcs-ink); font-size:inherit; font-weight:500; }
.pcs-theme .pcs-statuses .status-pill--danger { color:var(--pcs-red); }
/* Site-wide Actions menu trigger: always a visible button, never text-only. */
.pcs-action-button { display:inline-flex; align-items:center; justify-content:center; gap:var(--pcs-space-2); min-height:var(--pcs-target); padding:8px 12px; border:1px solid var(--pcs-input); border-radius:var(--pcs-control-radius); background:var(--pcs-surface); color:var(--pcs-ink); font-size:var(--pcs-meta); font-weight:500; line-height:1.5; white-space:nowrap; }
.pcs-action-button:hover, .pcs-action-button[aria-expanded="true"] { color:var(--pcs-accent); border-color:var(--pcs-accent); background:var(--pcs-accent-soft); }
.pcs-action-button:focus-visible { outline:3px solid var(--pcs-accent); outline-offset:3px; }
.school-actions-menu { z-index:1031; }
.pcs-theme .school-actions-menu { border:1px solid var(--pcs-line); border-radius:8px; box-shadow:var(--pcs-floating-shadow); font-size:.875rem; }
.pcs-theme .school-actions-menu .dropdown-item { min-height:44px; display:flex; align-items:center; font-weight:400; }
.pcs-theme :is(.school-status-modal,.coach-interactions-modal) { color:var(--pcs-ink); background:white; border:1px solid var(--pcs-line); border-radius:16px; padding:24px; width:min(700px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; box-shadow:var(--pcs-floating-shadow); }
.pcs-theme :is(.school-status-modal,.coach-interactions-modal)::backdrop { background:rgb(25 43 58 / 50%); }
.pcs-theme .pcs-dialog-heading { padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid var(--pcs-line); }
.pcs-theme .pcs-dialog-heading h2 { font-size:1.5rem; font-weight:600; }
.pcs-theme :is(.school-status-modal,.coach-interactions-modal) :is(label,select,textarea,p,li) { font-size:.875rem; }
@media (max-width:767.98px) {
  .pcs-theme .pcs-intro { display:block; padding-bottom:24px; }
  .pcs-theme .pcs-intro h1 { font-size:1.75rem; }
  .pcs-theme .pcs-subtitle { font-size:.875rem; margin:8px 0 16px; }
  .pcs-theme .pcs-school-banner { min-height:64px; padding:8px 16px; gap:8px; }
  .pcs-theme .pcs-school-monogram { font-size:36px; }
  .pcs-theme .pcs-school-banner__aside { gap:1px; }
  .pcs-theme .pcs-school-path { font-size:.875rem; line-height:1.15; }
  .pcs-theme .pcs-school-path small { margin-top:0; font-size:.75rem; }
  .pcs-theme .pcs-school-body { padding:12px 16px 0; }
  .pcs-theme .pcs-school-identity { margin-bottom:8px; }
  .pcs-theme .pcs-school-identity h2 { font-size:1.125rem; }
  .pcs-theme .pcs-inline-metrics { gap:4px 8px; }
  .pcs-theme .pcs-cost-block { padding-top:8px; }
  .pcs-theme .pcs-statuses { padding-top:8px; gap:6px 12px; }
  .pcs-theme :is(.school-status-modal,.coach-interactions-modal) { padding:16px; }
  .pcs-theme :is(.school-status-modal,.coach-interactions-modal) .form-grid { grid-template-columns:minmax(0,1fr); }
}
.pcs-theme :is(.school-status-modal,.coach-interactions-modal) .eyebrow { margin:0 0 8px; color:var(--pcs-accent); font-size:.75rem; font-weight:600; letter-spacing:2px; }
.pcs-theme :is(.school-status-modal,.coach-interactions-modal) h3 { font-size:1.125rem; font-weight:600; }
.pcs-theme :is(.school-status-modal,.coach-interactions-modal) .form-grid { margin-bottom:16px; }

/* Shared document/detail primitives, composed with the same school-card language. */
.pcs-theme .pcs-school-identity--page { gap:var(--pcs-space-4); margin-bottom:var(--pcs-space-3); }
.pcs-theme .pcs-school-identity--page h1 { margin:0; font-size:var(--pcs-title); line-height:1.15; font-weight:600; letter-spacing:-1.2px; overflow-wrap:anywhere; }
.pcs-theme .pcs-school-identity--page .pcs-school-logo { width:64px; height:64px; flex-basis:64px; background:transparent; }
.pcs-theme .pcs-school-identity--page .pcs-school-logo__fallback { font-size:var(--pcs-heading); }
.pcs-theme .pcs-school-logo { background:transparent; border-radius:0; }
.pcs-theme .pcs-breadcrumb { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--pcs-space-3); margin:-16px 0 var(--pcs-space-4); font-size:var(--pcs-meta); color:var(--pcs-muted); }
.pcs-theme :is(.pcs-breadcrumb a,.pcs-text-link) { display:inline-flex; align-items:center; gap:var(--pcs-space-2); min-height:var(--pcs-target); color:var(--pcs-accent); text-decoration:none; font-size:var(--pcs-meta); font-weight:500; }
.pcs-theme :is(.pcs-breadcrumb a,.pcs-text-link):hover { text-decoration:underline; }
.pcs-theme .pcs-section { min-width:0; padding:var(--pcs-space-6); background:var(--pcs-surface); border:1px solid var(--pcs-card-line); border-radius:var(--pcs-card-radius); box-shadow:none; }
.pcs-theme .pcs-section::before { display:none; }
.pcs-theme .pcs-section > :last-child { margin-bottom:0; }
.pcs-theme .pcs-content { color:var(--pcs-ink); min-width:0; }
.pcs-theme .pcs-content :is(h2,h3,h4) { color:var(--pcs-ink); font-weight:600; letter-spacing:-.025em; text-transform:none; }
.pcs-theme .pcs-content h2 { font-size:var(--pcs-section); margin:0 0 var(--pcs-space-4); }
.pcs-theme .pcs-content h3 { font-size:var(--pcs-heading); margin:0 0 var(--pcs-space-3); }
.pcs-theme .pcs-content h4 { font-size:var(--pcs-text); }
.pcs-theme .pcs-content :is(p,li) { line-height:1.5; }
.pcs-theme .pcs-content :is(p,.muted-line,.section-note,.planning-note,.muted-inline) { font-size:var(--pcs-meta); color:var(--pcs-muted); }
.pcs-theme .pcs-content :is(p,li) strong { font-weight:600; }
.pcs-theme .pcs-content :is(.eyebrow,.pcs-eyebrow) { font-size:var(--pcs-note); font-weight:600; letter-spacing:2px; color:var(--pcs-accent); margin:0 0 var(--pcs-space-2); text-transform:uppercase; }
.pcs-theme .pcs-content :is(.form-field,.form-grid,.pcs-grid) { min-width:0; }
.pcs-theme .pcs-content .form-field > label { font-weight:500; font-size:var(--pcs-meta); }
.pcs-theme .pcs-content .form-field small { font-size:var(--pcs-note); color:var(--pcs-muted); }
.pcs-theme .pcs-metrics { margin:var(--pcs-space-4) 0; gap:var(--pcs-space-4) var(--pcs-space-6); }
.pcs-theme .pcs-metrics > div { min-width:0; }
.pcs-theme .pcs-metrics dt { font-size:var(--pcs-meta); color:var(--pcs-muted); font-weight:400; }
.pcs-theme .pcs-metrics dd { margin:4px 0 0; font-size:1.25rem; font-weight:600; color:var(--pcs-ink); overflow-wrap:anywhere; }
.pcs-theme .pcs-metrics p { margin:4px 0 0; font-size:var(--pcs-note); }
.pcs-theme :is(.pcs-grid--three,.pcs-metrics--three) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pcs-theme .pcs-facts { margin:0; }
.pcs-theme .pcs-facts > div { padding:var(--pcs-space-3) 0; border-bottom:1px solid var(--pcs-divider); }
.pcs-theme .pcs-facts > div:last-child { border-bottom:0; padding-bottom:0; }
.pcs-theme .pcs-facts dt { font-weight:400; color:var(--pcs-muted); font-size:var(--pcs-meta); }
.pcs-theme .pcs-facts dd { margin:4px 0 0; color:var(--pcs-ink); font-size:var(--pcs-meta); font-weight:500; overflow-wrap:anywhere; }
.pcs-theme .pcs-callout { min-width:0; padding:var(--pcs-space-4); margin:var(--pcs-space-4) 0; background:var(--pcs-inset); border:1px solid var(--pcs-divider); border-radius:var(--pcs-control-radius); }
.pcs-theme .pcs-callout :is(h2,h3) { font-size:var(--pcs-heading); margin-bottom:var(--pcs-space-2); }
.pcs-theme .pcs-callout p:last-child { margin-bottom:0; }
.pcs-theme .pcs-subsection { padding:var(--pcs-space-4) 0; margin:0; border:0; border-top:1px solid var(--pcs-divider); border-radius:0; background:transparent; box-shadow:none; }
.pcs-theme .pcs-subsection h2 { font-size:var(--pcs-heading); margin-bottom:var(--pcs-space-2); }
.pcs-theme .pcs-disclosure { background:transparent; border:0; border-top:1px solid var(--pcs-divider); border-radius:0; padding:0; margin-top:var(--pcs-space-4); }
.pcs-theme .pcs-disclosure > summary { color:var(--pcs-muted); font-weight:400; font-size:var(--pcs-meta); padding:var(--pcs-space-3) 0; }
.pcs-theme .pcs-disclosure > summary::after { content:'+'; border:0; width:auto; height:auto; flex-basis:auto; transform:none; font-size:20px; margin:0; }
.pcs-theme .pcs-disclosure[open] > summary::after { content:'−'; transform:none; }
.pcs-theme .pcs-section-nav { position:sticky; top:var(--pcs-header-height); z-index:1010; display:flex; gap:var(--pcs-space-6); align-items:center; overflow:visible; max-width:100%; padding:var(--pcs-space-2) var(--pcs-space-4); margin:var(--pcs-space-6) 0; background:var(--pcs-paper); border-bottom:1px solid var(--pcs-line); }
.pcs-theme .pcs-section-nav__links a { display:inline-flex; align-items:center; flex:0 0 auto; min-height:var(--pcs-target); color:var(--pcs-muted); font-size:var(--pcs-meta); font-weight:500; text-decoration:none; }
.pcs-theme .pcs-section-nav__links a:hover { color:var(--pcs-accent); text-decoration:underline; }
.pcs-theme .pcs-section-nav__links a:focus-visible { outline-offset:0; }
.pcs-theme .pcs-scenario { min-width:0; padding:var(--pcs-space-4); border:1px solid var(--pcs-line); border-top:3px solid var(--scenario-color,var(--pcs-muted)); border-radius:var(--pcs-control-radius); }
.pcs-theme .pcs-scenario--within { --scenario-color:var(--pcs-green); }
.pcs-theme .pcs-scenario--stretch { --scenario-color:var(--pcs-amber); }
.pcs-theme .pcs-scenario--outside { --scenario-color:var(--pcs-red); }
.pcs-theme .pcs-scenario h3 { font-size:var(--pcs-meta); font-weight:500; color:var(--pcs-muted); }
.pcs-theme .pcs-scenario .cost-scenario__annual { font-size:var(--pcs-section); color:var(--pcs-ink); font-weight:600; margin:0; }
.pcs-theme .pcs-scenario .cost-scenario__annual span { font-size:var(--pcs-meta); font-weight:400; color:var(--pcs-muted); }
.pcs-theme .pcs-scenario .cost-scenario__status { color:var(--scenario-color,var(--pcs-muted)); margin:4px 0 var(--pcs-space-4); }
.pcs-theme .pcs-scenario dl { display:grid; gap:var(--pcs-space-3); margin:0; }
.pcs-theme .pcs-scenario dt { color:var(--pcs-muted); font-size:var(--pcs-meta); font-weight:400; }
.pcs-theme .pcs-scenario dd { color:var(--pcs-ink); font-size:var(--pcs-meta); font-weight:500; margin:0; }
.pcs-theme .pcs-fact { border-top:1px solid var(--pcs-divider); padding-top:var(--pcs-space-4); min-width:0; }
.pcs-theme .pcs-fact dt { font-size:var(--pcs-meta); color:var(--pcs-muted); font-weight:400; }
.pcs-theme .pcs-fact dd { font-weight:600; margin:4px 0; }
.pcs-theme .pcs-content .status-pill { background:var(--pcs-soft); color:var(--pcs-ink); border:0; border-radius:var(--pcs-control-radius); font-weight:500; font-size:var(--pcs-note); }
.pcs-theme .pcs-content .status-pill--positive { color:var(--pcs-green); background:var(--pcs-green-soft); }
.pcs-theme .pcs-content .status-pill--warm { color:var(--pcs-amber); background:var(--pcs-amber-soft); }
.pcs-theme .pcs-content .status-pill--danger { color:var(--pcs-red); background:var(--pcs-red-soft); }
.pcs-theme .pcs-content .status-pill--muted { color:var(--pcs-muted); }
.pcs-theme .pcs-content .pcs-statuses .status-pill { padding:0; background:transparent; font-size:inherit; }
.pcs-theme .pcs-content .link-list { display:flex; flex-wrap:wrap; gap:var(--pcs-space-2) var(--pcs-space-4); }
.pcs-theme .pcs-content .link-list a { display:inline-flex; align-items:center; min-height:44px; padding:0; border:0; background:transparent; color:var(--pcs-accent); font-size:var(--pcs-meta); font-weight:500; overflow-wrap:anywhere; }
.pcs-theme .pcs-content .bar-track { background:var(--pcs-soft); height:8px; }
.pcs-theme .pcs-content .bar-track > span { background:var(--pcs-accent); }
.pcs-theme .pcs-content .bar-metric :is(dt,dd) { font-size:var(--pcs-meta); font-weight:500; color:var(--pcs-ink); }
.pcs-theme .pcs-content .bar-metric dt { font-weight:400; color:var(--pcs-muted); }
.pcs-theme .pcs-content .rating-bubble { border:0; border-radius:var(--pcs-control-radius); font-size:var(--pcs-meta); font-weight:400; }
.pcs-theme .pcs-content .rating-bubble--positive { background:var(--pcs-green-soft); color:var(--pcs-green); }
.pcs-theme .pcs-content .rating-bubble--negative { background:var(--pcs-red-soft); color:var(--pcs-red); }
.pcs-theme .pcs-content .rating-bubble strong { font-weight:500; }
.pcs-theme .pcs-content .modal-content { border-color:var(--pcs-line); border-radius:var(--pcs-dialog-radius); background:var(--pcs-surface); }
.pcs-theme .pcs-content .modal-header { align-items:start; border-color:var(--pcs-line); padding:var(--pcs-space-6); }
.pcs-theme .pcs-content .modal-title { font-size:var(--pcs-section); font-weight:600; margin:0; }
.pcs-theme .pcs-content .modal-header .btn-close { flex-shrink:0; margin:0; }
.pcs-theme .pcs-content .modal-footer { border-color:var(--pcs-line); }
.pcs-theme .pcs-content .modal-body { min-width:0; }
.pcs-theme .pcs-danger-zone { margin-top:var(--pcs-space-8); padding-top:var(--pcs-space-6); border-top:1px solid var(--pcs-line); }
@media(max-width:767.98px) {
 .pcs-theme .pcs-school-identity--page .pcs-school-logo { width:48px; height:48px; flex-basis:48px; }
 .pcs-theme .pcs-section { padding:var(--pcs-space-4); }
 .pcs-theme .pcs-section-nav { gap:var(--pcs-space-4); margin:var(--pcs-space-4) 0; }
 .pcs-theme :is(.pcs-grid--three,.pcs-metrics--three) { grid-template-columns:minmax(0,1fr); }
 .pcs-theme .pcs-content .modal-header { padding:var(--pcs-space-4); }
 .pcs-theme .pcs-content .modal-header h2 { font-size:var(--pcs-heading); }
 .pcs-theme .pcs-content .form-grid { grid-template-columns:minmax(0,1fr); }
 .pcs-theme .pcs-content .form-grid .span-2 { grid-column:auto; }
}

/* Resource cards and discussion reuse the same quiet content surfaces. */
.pcs-theme .pcs-stack > .pcs-section { margin:0; }
.pcs-theme .pcs-section > .pcs-disclosure:first-child { margin-top:0; border-top:0; }
.pcs-theme .pcs-section > .pcs-disclosure:first-child > summary { padding-top:0; padding-bottom:0; min-height:44px; }
.pcs-theme .pcs-callout > div + .btn { margin-top:var(--pcs-space-3); }
.pcs-theme .pcs-content :is(.student-perspective__manage,.student-perspective__discuss,.perspective-resource-more summary) { color:var(--pcs-accent); font-size:var(--pcs-meta); font-weight:500; }
.pcs-theme .pcs-content .perspective-resource { border-color:var(--pcs-line); border-radius:var(--pcs-control-radius); padding:var(--pcs-space-4); color:var(--pcs-ink); }
.pcs-theme .pcs-content .perspective-resource:hover { border-color:var(--pcs-accent); box-shadow:none; transform:none; }
.pcs-theme .pcs-content .perspective-resource__icon { background:var(--pcs-accent-soft); color:var(--pcs-accent); font-weight:600; }
.pcs-theme .pcs-content .perspective-resource__lens { background:var(--pcs-soft); border:0; border-radius:4px; color:var(--pcs-muted) !important; font-size:var(--pcs-note) !important; font-weight:500; text-transform:none; letter-spacing:0; }
.pcs-theme .pcs-content .perspective-resource__copy strong { font-weight:600; font-size:var(--pcs-meta); line-height:1.4; }
.pcs-theme .pcs-content :is(.perspective-resource__description,.perspective-resource__guidance,.perspective-resource__copy small) { font-size:var(--pcs-note); color:var(--pcs-muted); font-weight:400; line-height:1.5; }
.pcs-theme .pcs-content .perspective-resource__guidance { border-color:var(--pcs-line); }
.pcs-theme .pcs-content .perspective-resource__guidance b { color:var(--pcs-ink); font-weight:500; }
.pcs-theme .pcs-content .perspective-resource__external { color:var(--pcs-accent); font-weight:500; }
.pcs-theme .pcs-content .student-perspective__footer { border-color:var(--pcs-divider); padding-top:var(--pcs-space-4); margin-top:var(--pcs-space-4); }
.pcs-theme .pcs-content .comment-item { background:var(--pcs-inset); border-color:var(--pcs-divider); padding:var(--pcs-space-4); }
.pcs-theme .pcs-content .comment-author { background:transparent; padding:0; color:var(--pcs-ink); font-weight:600; font-size:var(--pcs-meta); }
.pcs-theme .pcs-content .comment-item time { color:var(--pcs-muted); font-size:var(--pcs-note); }
.pcs-theme .pcs-content .comment-form { border:0; padding:var(--pcs-space-4) 0 0; }
.pcs-theme .pcs-content .readonly-field { background:var(--pcs-inset); border-color:var(--pcs-line); border-radius:var(--pcs-control-radius); color:var(--pcs-muted); }
.pcs-theme .pcs-content .locator-summary { flex-wrap:wrap; }
.pcs-theme .pcs-content .status-pill { max-width:100%; white-space:normal; }
.pcs-theme .pcs-content .business-accreditation__name { color:var(--pcs-accent); }
.pcs-theme .pcs-content .modal-header { background:var(--pcs-surface); }
.pcs-theme .pcs-content .modal-body { background:var(--pcs-paper); }
.pcs-theme .pcs-content .psv2-page { --psv2-ink:var(--pcs-ink); --psv2-muted:var(--pcs-muted); --psv2-blue:var(--pcs-accent); --psv2-line:var(--pcs-line); }
.pcs-theme .pcs-content .parker-take-research-modal__nav { border-color:var(--pcs-line); border-radius:var(--pcs-control-radius); box-shadow:none; }
.pcs-theme .pcs-content .parker-take-research-modal__nav a { color:var(--pcs-accent); font-weight:500; min-height:44px; display:inline-flex; align-items:center; }
.pcs-theme .pcs-content .school-media[data-media-view="browse"] .school-media__item { border-color:var(--pcs-line); border-radius:var(--pcs-card-radius); box-shadow:none; overflow:visible; }
.pcs-theme .pcs-content .school-media[data-media-view="browse"] .school-media__visual { background:var(--pcs-soft); color:var(--pcs-ink); border-radius:var(--pcs-card-radius) var(--pcs-card-radius) 0 0; }
.pcs-theme .pcs-content :is(.school-media__visual-logo,.school-media__visual-topic) { font-weight:600; }
.pcs-theme .pcs-content .school-media :is(label,button) { font-size:var(--pcs-meta); font-weight:500; }
.pcs-theme .pcs-content .school-media :is(input,select,textarea) { border-color:var(--pcs-input); border-radius:var(--pcs-control-radius); color:var(--pcs-ink); }
.pcs-theme .pcs-content .school-media button { border-color:var(--pcs-line); color:var(--pcs-accent); }
.pcs-theme .pcs-content .school-media button[aria-pressed="true"] { background:var(--pcs-accent); border-color:var(--pcs-accent); color:var(--pcs-surface); }
.pcs-theme .pcs-content .school-media__view-toggle { background:var(--pcs-inset); border-color:var(--pcs-line); border-radius:var(--pcs-control-radius); }
.pcs-theme .pcs-content .school-media__filters > label { white-space:normal; }
.pcs-theme .pcs-content .school-media__badges span { background:var(--pcs-soft); color:var(--pcs-muted); }
.pcs-theme .pcs-content :is(.culture-panel__header,.niche-perspective-task__header,.student-perspective__header) { flex-wrap:wrap; gap:var(--pcs-space-3); }
.pcs-theme .pcs-content :is(.culture-panel__header,.niche-perspective-task__header,.student-perspective__header) > div { min-width:0; }
.pcs-theme .pcs-content .parker-cost-summary dt { color:var(--pcs-muted); font-size:var(--pcs-meta); }
.pcs-theme .pcs-content .parker-cost-summary dd { color:var(--pcs-ink); font-size:1.25rem; font-weight:600; }
.pcs-theme .pcs-content .niche-perspective-task__match { border-color:var(--pcs-line); background:var(--pcs-inset); }
.pcs-theme .pcs-content .niche-perspective-task__match span { color:var(--pcs-muted); font-size:var(--pcs-note); font-weight:500; letter-spacing:0; text-transform:none; }
.pcs-theme .pcs-content .niche-perspective-task__match strong { color:var(--pcs-ink); font-weight:600; }
.pcs-theme .pcs-content .niche-perspective-task__match small { color:var(--pcs-muted); font-size:var(--pcs-note); }

/* Keep only the section links scrollable, so Actions stays visible and its menu is not clipped. */
.pcs-theme .pcs-section-nav__links { display:flex; gap:var(--pcs-space-6); align-items:center; min-width:0; overflow-x:auto; flex:1 1 auto; }
.pcs-theme .pcs-section-nav > .dropdown { flex:0 0 auto; margin-left:auto; }
.pcs-theme .pcs-section-nav:has(.dropdown-menu.show) { z-index:1030; }
@media(max-width:767.98px) { .pcs-theme .pcs-section-nav__links { gap:var(--pcs-space-4); } }
