:root {
  --ink: #17251f;
  --muted: #68746f;
  --line: #dfe6e1;
  --surface: #ffffff;
  --canvas: #f3f6f3;
  --green: #0a7050;
  --green-dark: #07543d;
  --green-soft: #e4f3ec;
  --lime: #cbe9a8;
  --amber: #a85d07;
  --amber-soft: #fff2dc;
  --red: #a33232;
  --red-soft: #fdeaea;
  --blue: #3067a4;
  --blue-soft: #e8f0fb;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--canvas);
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; min-width: 320px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.skip-link { position: fixed; left: 12px; top: 10px; z-index: 10000; transform: translateY(-150%); border-radius: 8px; padding: 10px 14px; background: #fff; color: #073f2f; font-weight: 800; }
.skip-link:focus { transform: translateY(0); }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 290px minmax(0,1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; z-index: 30; background: #092d23; color: #eef6f1; padding: 18px 16px 16px; display: flex; flex-direction: column; min-height: 0; border-right: 1px solid #245346; }
.brand { display: flex; gap: 11px; align-items: center; padding: 0 8px 24px; }
.brand-logo { width: 46px; height: 46px; object-fit: contain; object-position: center; }
.brand strong { display: block; font-size: 21px; font-weight: 800; letter-spacing: .02em; }
.brand span { display: block; color: #96aaa1; font-size: 11px; margin-top: 2px; }
nav { display: grid; gap: 5px; }
.nav-item { border: 0; background: transparent; color: #aebeb7; text-align: left; border-radius: 9px; padding: 10px 12px; font-weight: 600; }
.nav-item:hover { color: #fff; background: #1d322a; }
.nav-item.active { background: #26473a; color: #fff; }
.nav-item.locked { opacity: .43; }
.nav-item.locked::after { content: ""; }
.sidebar-foot { display: grid; gap: 8px; padding-top: 14px; }
.key-button { border: 1px solid #365146; background: #1c3028; color: #d7e5df; border-radius: 9px; padding: 10px; text-align: left; display: flex; justify-content: space-between; }
.key-button span { color: #89aa9b; font-size: 12px; }
.agent-key-card { margin: -8px 4px 20px; border: 0; border-left: 2px solid #527365; background: transparent; color: #e7f1ec; padding: 6px 10px; display: flex; align-items: center; justify-content: space-between; text-align: left; }
.agent-key-card:hover { color: #fff; border-left-color: var(--lime); }
.agent-key-card span { display: grid; gap: 2px; }
.agent-key-card small { color: #93a89f; font-size: 10px; }
.agent-key-card b { color: #aec1b8; padding: 3px 0; font-size: 9px; font-weight: 800; }
.agent-key-card.connected b { border-radius: 999px; padding: 4px 8px; background: var(--lime); color: var(--green-dark); }
.text-button { border: 0; background: transparent; color: #97aca3; padding: 7px; text-align: left; }
main { min-width: 0; }
.mode-tabs { position: sticky; top: 0; z-index: 5000; isolation: isolate; min-height: 68px; padding: 7px clamp(18px,2.4vw,34px); display: flex; align-items: center; gap: 14px; background: #08271f; color: #f6faf7; border-bottom: 1px solid #295043; box-shadow: 0 4px 14px rgba(7,31,24,.14); }
.workspace-switch { flex: 0 0 auto; display: flex; gap: 4px; padding: 3px; border: 1px solid #31564b; border-radius: 11px; }
.workspace-switch button { min-width: 96px; min-height: 42px; border: 0; border-radius: 8px; background: transparent; color: #9fb8ad; padding: 0 15px; font-weight: 800; }
.workspace-switch button:hover { background: #14372d; color: #fff; }
.workspace-switch button.public-locked { opacity: .48; cursor: not-allowed; }
.workspace-switch button.active { background: #164c3c; color: #fff; box-shadow: inset 0 0 0 1px #28725c; }
.workspace-switch button.active[data-workspace-mode="guided_demo"] { background: #513b11; color: #ffe39f; box-shadow: inset 0 0 0 1px #8e6918; }
.preview-mode-toggle { min-height: 42px; border: 1px solid #55716a; border-radius: 9px; background: transparent; color: #d8e8e1; padding: 0 14px; font-weight: 800; white-space: nowrap; }
.preview-mode-toggle:hover, .preview-mode-toggle.active { border-color: #bda8ff; background: #493d78; color: #fff; }
.mode-tabs > span { display: flex; align-items: center; color: #bad0c6; font-size: 12px; font-weight: 750; }
.mode-tabs #mode-explanation { margin-right: auto; }
.founder-mode { gap: 8px; white-space: nowrap; }
.founder-mode i { width: 8px; height: 8px; border-radius: 50%; background: #72bf52; box-shadow: 0 0 0 4px rgba(114,191,82,.1); }
.mode-reset { flex: 0 0 auto; min-height: 38px; border: 1px solid #7f621f; border-radius: 9px; background: transparent; color: #f0cc76; padding: 0 12px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.mode-reset span { margin-right: 4px; font-size: 15px; line-height: 0; }
.mode-reset:hover { border-color: #d69a26; background: #3c310f; color: #ffe3a1; }
.mode-reset:focus-visible { outline: 3px solid #f0b548; outline-offset: 3px; }
.completion-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.topbar { position: static; min-height: 82px; background: #fffdf8; border-bottom: 1px solid #e6e0d5; padding: 14px clamp(20px,2.6vw,38px); display: flex; align-items: center; justify-content: space-between; gap: 24px; box-shadow: none; }
.topbar h1 { margin: 2px 0 0; font-size: 29px; font-weight: 800; }
.eyebrow { margin: 0; font-size: 10px; letter-spacing: .14em; font-weight: 800; color: var(--green); }
.topbar-actions { display: flex; gap: 10px; align-items: center; font-size: 12px; color: var(--muted); }
.next-step-banner { position: relative; z-index: 20; flex: 0 1 315px; min-width: 240px; min-height: 54px; display: grid; grid-template-columns: minmax(0,1fr); gap: 1px; text-align: left; border: 1px solid #517066; border-radius: 10px; padding: 8px 42px 8px 14px; background: #173a30; color: #eaf4ef; box-shadow: none; pointer-events: auto; overflow: hidden; }
.next-step-banner::after { content:"→"; position:absolute; right:16px; top:50%; transform:translateY(-50%); font-size:25px; font-weight:400; }
.next-step-banner.ready { background: #c67708; border-color: #e39a24; color: #fff; box-shadow: 0 5px 13px rgba(85,52,7,.2); }
.next-step-banner:hover { transform: translateY(-1px); box-shadow: 0 12px 25px rgba(8,116,84,.24); }
.next-step-banner:focus-visible { outline: 3px solid #f0b548; outline-offset: 3px; }
.next-step-banner small { font-size: 9px; letter-spacing: .14em; font-weight: 900; }
.next-step-banner strong, .next-step-banner span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.next-step-banner strong { font-size: 13px; }
.next-step-banner span { color: #65766e; font-size: 10px; }
.next-step-banner.ready span { color: #fff1d8; }
.live-dot { width: 8px; height: 8px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 4px var(--green-soft); }
.key-required-note { display: grid; gap: 2px; margin: 0; border-left: 4px solid var(--amber); background: var(--amber-soft); padding: 11px 13px; color: #6e4109; }
.key-required-note strong { font-size: 13px; }
.key-required-note span { font-size: 11px; }
.page { padding: 24px clamp(20px,2.4vw,34px) 48px; max-width: none; }
.workspace-layout { display: grid; grid-template-columns: minmax(0,1fr) 318px; gap: 22px; align-items: start; }
.workspace-main { min-width: 0; }
.stage-rail { position: sticky; top: 82px; min-width: 0; max-height: calc(100vh - 98px); overflow-y: auto; display: grid; align-content: start; gap: 16px; }
.stage-agent-sticky { position: sticky; top: 18px; z-index: 8; }
.stage-agent-card { padding: 19px; border-radius: 14px; background: #102d24; color: #eef6f1; box-shadow: 0 14px 30px rgba(16,45,36,.16); }
.stage-agent-card p { margin: 13px 0; color: #bfd0c8; font-size: 12px; line-height: 1.55; }
.agent-presence { display: flex; gap: 10px; align-items: center; }
.agent-presence div { display: grid; gap: 3px; }
.agent-presence small { color: #d9a449; font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.agent-presence strong { font-size: 15px; }
.agent-orb { width: 13px; height: 13px; flex: 0 0 auto; border-radius: 50%; background: #899b93; box-shadow: 0 0 0 5px rgba(255,255,255,.07); }
.agent-orb.connected { background: #d9a449; box-shadow: 0 0 0 5px rgba(217,164,73,.14); }
.agent-connected { align-self: center; color: #bcd8ca; font-size: 10px; font-weight: 800; }
.sidebar-agent-context { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 14px; }
.agent-history { padding: 14px 6px 0; border-top: 1px solid #30463d; }
.agent-history > small, .agent-empty > small { color: #8ea59a; font-size: 8px; letter-spacing: .14em; font-weight: 900; }
.agent-history button { width: 100%; display: grid; grid-template-columns: 9px 1fr; gap: 9px; align-items: center; border: 0; background: transparent; color: #b9c9c1; padding: 8px 2px; text-align: left; font-size: 11px; }
.agent-history button:hover { color: #fff; }
.agent-history button i { width: 7px; height: 7px; border-radius: 50%; background: #4e8f78; }
.agent-history p, .agent-empty p { color: #91a69d; font-size: 11px; line-height: 1.5; }
.sidebar-active-agent { margin-top: auto; position: sticky; bottom: 0; padding-top: 10px; background: linear-gradient(transparent,#14241e 13px); }
.sidebar-active-agent .stage-agent-card { border: 1px solid #39584b; border-radius: 10px; padding: 15px; background: #1a3329; box-shadow: 0 -8px 22px rgba(5,20,15,.18); }
.sidebar-active-agent .stage-agent-card p { font-size: 11px; margin: 10px 0; }
.sidebar-active-agent .button-row { gap: 7px; }
.sidebar-active-agent button { padding: 8px 10px; font-size: 10px; }
.agent-thinking { display: flex; align-items: center; gap: 5px; margin: 12px 0; color: #f2d297; font-size: 10px; font-weight: 800; }
.agent-thinking i { width: 6px; height: 6px; border-radius: 50%; background: #e8b257; animation: agentPulse 1.1s infinite ease-in-out; }
.agent-thinking i:nth-child(2) { animation-delay: .16s; }.agent-thinking i:nth-child(3) { animation-delay: .32s; }
@keyframes agentPulse { 0%,80%,100% { opacity:.25; transform:translateY(0) } 40% { opacity:1; transform:translateY(-3px) } }
.document-thinking { display: flex; gap: 14px; align-items: center; margin-top: 18px; padding: 15px 17px; border-left: 4px solid #e39a24; background: #fff6e6; }
.document-thinking > i { width: 15px; height: 15px; flex: 0 0 auto; border-radius: 50%; border: 3px solid #efd3a5; border-top-color: #9e5a08; animation: documentSpin .8s linear infinite; }
.document-thinking > div { display: grid; gap: 3px; }
.document-thinking strong { font-size: 13px; }
.document-thinking span { color: var(--muted); font-size: 11px; line-height: 1.4; }
@keyframes documentSpin { to { transform: rotate(360deg); } }
.dated-workflow { padding: 21px; border: 1px solid #cbd8d1; background: rgba(255,255,255,.9); border-radius: 14px; box-shadow: 0 12px 30px rgba(18,45,36,.08); }
.dated-workflow > div,
.dated-workflow > summary > span { display: grid; gap: 5px; }
.dated-workflow > div { margin-bottom: 16px; }
.dated-workflow > summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; cursor: pointer; list-style: none; }
.dated-workflow > summary::-webkit-details-marker { display: none; }
.dated-workflow > summary > b { border-radius: 999px; padding: 4px 8px; background: #edf4ef; color: #496158; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.dated-workflow > div small,
.dated-workflow > summary small { color: var(--green); font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.dated-workflow > div strong,
.dated-workflow > summary strong { font-size: 19px; }
.timeline-date-note { color: var(--muted); font-size: 10px; line-height: 1.45; }
.dated-workflow ol { list-style: none; padding: 0; margin: 0; display: grid; }
.dated-workflow li { position: relative; display: grid; grid-template-columns: 14px 1fr; gap: 10px; padding: 7px 0; opacity: .52; }
.dated-workflow li::before { content:""; position:absolute; left:5px; top:18px; bottom:-6px; width:1px; background:#d9e0db; }
.dated-workflow li:last-child::before { display:none; }
.dated-workflow li i { width: 12px; height: 12px; margin-top: 7px; border-radius: 50%; border: 2px solid #bcc8c1; background: #fff; z-index: 1; }
.dated-workflow li button { width: 100%; display: grid; gap: 2px; border: 0; border-radius: 8px; padding: 5px 7px; background: transparent; color: var(--ink); text-align: left; }
.dated-workflow li button:not(:disabled):hover { background: #eef5f1; }
.dated-workflow li button:disabled { cursor: default; }
.dated-workflow li strong { font-size: 12px; line-height: 1.25; }
.dated-workflow li span { color: var(--muted); font-size: 10px; }
.dated-workflow li.complete { opacity: .78; }.dated-workflow li.complete i { background: var(--green); border-color: var(--green); }
.dated-workflow li.current { opacity: 1; }.dated-workflow li.current i { background: #d38318; border-color: #d38318; box-shadow: 0 0 0 4px #ffedd1; }.dated-workflow li.current button { background: #fff0d8; color: #754205; }
.workflow-step-title { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; color: inherit !important; }
.workflow-actor { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 3px; border-radius: 999px; padding: 3px 5px; background: #dff1ea; color: #075d44; font-size: 7px; font-style: normal; font-weight: 900; letter-spacing: .08em; line-height: 1; }
.dated-workflow li.current .workflow-actor { background: #fff; color: #9b5508; }
.workflow-lock { color: #9b5508 !important; font-size: 9px !important; line-height: 1.35; }
.grid { display: grid; gap: 16px; }
.grid.metrics { grid-template-columns: repeat(4,minmax(130px,1fr)); }
.grid.two { grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr); }
.grid.three { grid-template-columns: repeat(3,1fr); }
.card { background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; padding: 22px 0; box-shadow: none; }
.card h2, .card h3 { margin: 0; }
.card h2 { font-size: 20px; font-weight: 800; }
.card h3 { font-size: 15px; }
.card-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 18px; }
.metric-label { color: var(--muted); font-size: 12px; font-weight: 700; }
.metric-value { display: block; font-size: 30px; font-weight: 800; margin: 8px 0 2px; }
.metric-foot { color: var(--muted); font-size: 12px; }
.section-space { margin-top: 18px; }
.status, .tag { display: inline-flex; align-items: center; width: fit-content; border-radius: 999px; padding: 5px 9px; font-size: 11px; font-weight: 750; }
.status.good, .tag.green { background: var(--green-soft); color: var(--green-dark); }
.status.warn, .tag.amber { background: var(--amber-soft); color: var(--amber); }
.status.bad, .tag.red { background: var(--red-soft); color: var(--red); }
.tag.blue { background: var(--blue-soft); color: var(--blue); }
.muted { color: var(--muted); }
.small { font-size: 12px; }
.stack { display: grid; gap: 12px; }
.rule-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.rule-list li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; align-items: start; }
.rule-check { width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; background: var(--green-soft); color: var(--green); font-size: 11px; font-weight: 900; }
.rule-check.fail { background: var(--red-soft); color: var(--red); }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
th { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
td { font-size: 13px; }
tr:last-child td { border-bottom: 0; }
.primary-button, .secondary-button, .danger-button, .ghost-button { border-radius: 9px; padding: 10px 14px; border: 1px solid transparent; font-weight: 750; }
.primary-button { color: #fff; background: var(--green); }
.primary-button:hover { background: var(--green-dark); }
.secondary-button { background: var(--surface); border-color: var(--line); color: var(--ink); }
.danger-button { background: var(--red-soft); color: var(--red); }
.ghost-button { background: transparent; color: var(--green); }
.button-row { display: flex; flex-wrap: wrap; gap: 8px; }
.fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 700; }
input, select, textarea { width: 100%; border: 1px solid var(--line); background: var(--surface); color: var(--ink); border-radius: 9px; padding: 10px 11px; outline: none; }
input:focus, select:focus, textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px var(--green-soft); }
.check { display: flex; align-items: center; gap: 9px; color: inherit; }
.check input { width: 17px; height: 17px; margin: 0; accent-color: var(--green); }
.compact-metrics .card { min-height: 118px; }
.upload-box { border: 1.5px dashed var(--line); border-radius: 11px; padding: 18px; cursor: pointer; text-align: center; display: block; }
.upload-box:hover { border-color: var(--green); background: var(--green-soft); }
.upload-box input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-box.inverted { border-color: rgba(255,255,255,.45); color: white; }
.upload-box.inverted:hover { background: rgba(255,255,255,.1); }
.download-link { display: inline-flex; align-items: center; justify-content: center; width: fit-content; border: 1px solid var(--green); border-radius: 9px; padding: 9px 12px; color: var(--green); background: var(--green-soft); text-decoration: none; font-size: 12px; font-weight: 800; }
.download-link:hover { background: #d9eadf; }
.download-link.inverted { color: white; border-color: rgba(255,255,255,.6); background: rgba(255,255,255,.08); }
.download-link.inverted:hover { background: rgba(255,255,255,.16); }
.map-scroll { overflow: auto; border-radius: 14px; background: #0a0a0a; }
.import-map { position: relative; width: 100%; min-width: 680px; aspect-ratio: 1360 / 1008; overflow: hidden; background: #050505 url('/skovan-os-app/data/theatre_seating_plan_unselected.png') center / 100% 100% no-repeat; }
.map-seat { position: absolute; transform: translate(-50%,-50%); width: 1.18%; height: auto; aspect-ratio: 1; padding: 0; border: 0; border-radius: 50%; }
.map-seat.visual-context { background: transparent; opacity: 0; pointer-events: none; }
.map-seat.held { border: 0; background: #16885e; box-shadow: none; opacity: 1; z-index: 2; }
.map-seat.assigned { border: 0; background: #ffbb45; box-shadow: none; opacity: 1; z-index: 3; }

/* Workspace identity: unmistakable Demo and Real environments. */
body[data-workspace="guided_demo"] { background: #f4ead8; }
body[data-workspace="guided_demo"] main { background: #fffaf0; }
body[data-workspace="guided_demo"] .topbar { background: #fff3da; border-bottom-color: #e6c98f; }
body[data-workspace="guided_demo"] .mode-tabs { background: #3b2d17; color: #fff8e8; }
body[data-workspace="guided_demo"] .mode-tabs button.active { background: #e39a24; color: #271c0a; }
body[data-workspace="guided_demo"] .page { box-shadow: inset 5px 0 0 #e39a24; }
body[data-workspace="guided_demo"] .eyebrow { color: #a35a00; }

body[data-workspace="real"] { background: #d9ebee; }
body[data-workspace="real"] main { background: #f2fafb; }
body[data-workspace="real"] .topbar { background: #e2f3f5; border-bottom-color: #9fcbd0; }
body[data-workspace="real"] .mode-tabs { background: #123b46; color: #eefbfc; }
body[data-workspace="real"] .mode-tabs button.active { background: #31a9b7; color: #062b33; }
body[data-workspace="real"] .page { box-shadow: inset 5px 0 0 #168a99; }
body[data-workspace="real"] .eyebrow { color: #087887; }
body[data-workspace="preview"] { background: #e9e5f7; }
body[data-workspace="preview"] main { background: #f8f6ff; }
body[data-workspace="preview"] .topbar { background: #eee9ff; border-bottom-color: #bfb3e5; }
body[data-workspace="preview"] .mode-tabs { background: #292242; color: #fff; }
body[data-workspace="preview"] .page { box-shadow: inset 5px 0 0 #715bc0; }
body[data-workspace="preview"] .eyebrow { color: #5d49a6; }
.ui-preview-navigation { position: sticky; top: 68px; z-index: 35; display: flex; align-items: center; gap: 6px; padding: 10px 14px; margin: -1px 0 24px; overflow-x: auto; border: 1px solid #d2caeb; border-radius: 12px; background: rgba(250,248,255,.96); box-shadow: 0 8px 20px rgba(58,43,104,.1); }
.ui-preview-navigation > div { flex: 0 0 170px; margin-right: 6px; }
.ui-preview-navigation p { margin: 0; font-size: 9px; }
.ui-preview-navigation strong { display: block; margin-top: 2px; font-size: 12px; }
.ui-preview-navigation button { flex: 0 0 auto; min-height: 35px; padding: 0 11px; border: 1px solid #d9d3ea; border-radius: 8px; background: #fff; color: #4b426b; font-size: 11px; font-weight: 800; }
.ui-preview-navigation button.active { border-color: #715bc0; background: #715bc0; color: #fff; }
.ui-preview-readonly button:disabled:not([data-go]) { opacity: .48; cursor: not-allowed; }
.ui-preview-readonly input:disabled, .ui-preview-readonly select:disabled, .ui-preview-readonly textarea:disabled { color: #555067; background: #f2eff8; opacity: .8; }

.school-leaflet-map { position: relative; z-index: 1; width: 100%; height: 570px; border: 1px solid #d7ded8; border-radius: 14px; background: #e7eee9; overflow: hidden; }
.school-leaflet-map .leaflet-tile-pane { filter: saturate(.78) contrast(.94) brightness(1.04); }
.school-leaflet-map .leaflet-control-attribution { font-size: 9px; }
.map-loading { display: grid; place-items: center; height: 100%; margin: 0; padding: 24px; color: var(--muted); text-align: center; }
.local-map-shell { position: relative; overflow: hidden; min-height: 500px; border-radius: 14px; border: 1px solid #d7ded8; background: #f5f1e7; touch-action: none; }
.local-map-shell svg { display: block; width: 100%; height: 570px; cursor: grab; user-select: none; }
.local-map-shell svg.dragging { cursor: grabbing; }
.local-map-controls { position: absolute; top: 14px; right: 14px; display: flex; overflow: hidden; border-radius: 9px; box-shadow: 0 5px 18px rgba(21,45,36,.18); }
.local-map-controls button { min-width: 38px; height: 38px; border: 0; border-right: 1px solid var(--line); background: #fff; color: var(--ink); font-weight: 900; }
.local-map-controls button:last-child { border: 0; padding: 0 11px; font-size: 10px; }
.map-zoom-note { position: absolute; left: 14px; bottom: 10px; margin: 0; border-radius: 999px; padding: 7px 10px; background: rgba(255,255,255,.9); color: var(--muted); font-size: 10px; font-weight: 800; }
.local-map-shell.directory-hidden .school-map-dot.directory { opacity: 0; pointer-events: none; }
.theatre-pin { fill: #b23a34; stroke: #fff; stroke-width: 3; vector-effect: non-scaling-stroke; }
.map-credit { margin: 5px 0 0; text-align: right; }
.leaflet-container { z-index: 1; font-family: inherit; }
.school-map-icon-wrap { background: transparent; border: 0; }
.school-map-pin { display: block; width: 100%; height: 100%; border-radius: 50%; box-shadow: 0 0 0 2px rgba(255,255,255,.92); }
.school-map-pin.directory { background: #708f83; }
.school-map-pin.reached { background: #087654; }
.school-map-pin.selected { background: #e48616; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #8a4e08; }
.next-action { display: inline-block; max-width: 220px; padding: 5px 8px; border-radius: 7px; font-size: 12px; font-weight: 800; line-height: 1.3; }
.next-action.relationship-action { background: #e1f1e9; color: #086544; }
.next-action.outreach-action { background: #fff0d2; color: #8a4e08; }
.next-task-card { align-self: start; padding: 16px 18px !important; border: 1px solid #f0dfc5 !important; border-radius: 12px !important; background: #fffaf2; }
.next-task-card h2 { font-size: 16px !important; }
.next-task-card p { font-size: 12px; }
.next-task-card .primary-button { padding: 8px 11px; font-size: 11px; background: #a96816; }
.outreach-agent { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(360px,1.2fr); gap: clamp(28px,5vw,70px); padding: 34px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.outreach-agent textarea { width: 100%; }
.outreach-report { display: grid; gap: 16px; }
.outreach-report > h3 { margin: 0; }
.outreach-report article { padding: 18px 0; border-top: 1px solid var(--line); }
.outreach-report h4 { margin: 4px 0 8px; font-size: 18px; }
.outreach-report details { margin-top: 12px; }
.outreach-report, .outreach-report article, .outreach-report details, .outreach-contact { min-width: 0; }
.outreach-report p, .outreach-report a, .outreach-contact, .school-detail-grid strong, .booking-dashboard td { overflow-wrap: anywhere; word-break: break-word; }
.fee-slider { display: grid; gap: 10px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fee-slider input { width: 100%; accent-color: var(--green); }
.fee-slider small { color: var(--muted); }
.fee-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.fee-preview span { color: var(--muted); font-size: 12px; }
.fee-preview strong { display: block; color: var(--ink); font-size: 18px; margin-top: 4px; }
.founder-sliders { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.note-reasoning { border-top: 1px solid var(--line); }
.note-reasoning summary { padding: 14px 0; font-weight: 800; cursor: pointer; }
.note-reasoning article { padding: 12px 0; border-top: 1px solid var(--line); }
.note-reasoning article p { margin: 5px 0; color: var(--ink); }
.note-reasoning article span { color: var(--muted); font-size: 12px; }
.booking-links { display: grid; gap: 14px; }
.booking-links > div { max-width: 760px; }
.booking-links > article { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 15px 0; border-top: 1px solid var(--line); }
.booking-links > article div { display: grid; gap: 3px; }
.booking-links > article span,.booking-links > article small { color: var(--muted); font-size: 11px; }
.booking-link-targets { display: flex !important; flex-wrap: wrap; gap: 7px !important; margin: 5px 0 2px; }
.booking-link-targets b { padding: 5px 8px; background: var(--green-soft); color: var(--green); font-size: 11px; }
.reasoning-list { display: grid; gap: 0; margin: 20px 0 0; padding: 0; list-style: none; }
.reasoning-list li { display: grid; grid-template-columns: 140px 1fr; gap: 18px; padding: 10px 0; border-top: 1px solid var(--line); }
.reasoning-list span,.run-status { color: var(--muted); }
.priority-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 10px 0 16px; }
.priority-flow span { padding: 6px 9px; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-size: 11px; font-weight: 800; }
.priority-flow i { color: #8b9a93; font-style: normal; }
.seating-reasoning-panel .seating-priority-title, .smart-seating-view .selected-seat-panel h2 { margin: 5px 0 0; font-size: 24px; line-height: 1.15; }
.supplier-settlement-panel { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px 26px; align-items: center; padding: 22px; border-left: 6px solid #c57b16; background: #fff5e3; }
.supplier-settlement-panel h3 { margin: 6px 0 8px; font-size: 21px; }
.supplier-settlement-panel p { margin: 0; color: #56655f; line-height: 1.55; }
.supplier-settlement-panel > .small { grid-column: 1/-1; }
.final-supplier-booking-panel { display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; align-items: start; padding: 22px; border-left: 6px solid var(--green); background: var(--green-soft); }
.final-supplier-booking-panel h3 { margin: 6px 0 8px; font-size: 21px; }
.final-supplier-booking-panel p { margin: 0; color: #4f645b; line-height: 1.55; }
.final-supplier-booking-panel > .small, .final-supplier-booking-panel > .detail-grid, .final-supplier-booking-panel > .ai-code-boundary { grid-column: 1/-1; }
.final-supplier-booking-panel > div { min-width: 0; }
.final-supplier-booking-panel > div:first-child { max-width: 760px; }
.final-supplier-booking-panel .file-reader-flow { width: 100%; margin-top: 0; }
.ai-code-boundary { padding: 13px 15px; background: rgba(255,255,255,.74); border-left: 3px solid var(--green); }
.ai-code-boundary strong { display: block; margin-bottom: 4px; font-size: 12px; color: var(--ink); }
.ai-code-boundary p { font-size: 12px; }
.final-supplier-booking-panel .upload-box { min-width: 310px; background: rgba(255,255,255,.72); }
.supplier-settlement-metrics { display: grid; grid-template-columns: repeat(5,minmax(72px,1fr)); gap: 1px; background: #e8d8bd; }
.supplier-settlement-metrics span { display: grid; gap: 4px; padding: 11px; background: #fffaf1; color: #726351; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.supplier-settlement-metrics strong { color: var(--ink); font-size: 15px; text-transform: none; letter-spacing: 0; }
.run-status { margin-top: 12px; font-size: 12px; }
.agent-callout { margin-top: 18px; padding: 18px 20px; border-left: 5px solid var(--green); background: var(--green-soft); color: var(--green-dark); font-size: 17px; font-weight: 800; line-height: 1.45; }
.payment-explanation { padding: 21px 23px; border-left: 6px solid var(--green); background: var(--green-soft); }
.payment-explanation h2 { margin: 5px 0 8px; font-size: 22px; }
.payment-explanation p:last-child { margin-bottom: 0; line-height: 1.6; }
.why-step-panel { margin: 0 0 24px; padding: 20px 23px; border-left: 5px solid var(--green); background: var(--green-soft); }
.why-step-panel h2 { margin: 5px 0 8px; font-size: 21px; }
.why-step-panel > p:not(.eyebrow) { max-width: 900px; margin-bottom: 0; color: var(--muted); line-height: 1.6; }
.why-step-panel ul { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 15px 0 0; padding: 0; list-style: none; }
.why-step-panel li { display: flex; gap: 7px; align-items: center; color: var(--green-dark); font-size: 12px; font-weight: 800; }
.why-step-panel li span { display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: var(--green); color: white; font-size: 10px; }
.boundary-summary { padding: 17px 19px; background: #f8faf7; }
.boundary-summary h3 { margin: 4px 0 9px; font-size: 17px; }
.boundary-summary summary { cursor: pointer; color: var(--green); font-size: 12px; font-weight: 900; }
.map-withheld { min-height: 190px; display: grid; align-content: center; }
.outreach-contact { padding-top: 10px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.outreach-contact a { color: var(--green); font-weight: 800; }
.settlement-view > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.settlement-view > header > div { max-width: 760px; }
.map-legend { display: flex; flex-wrap: wrap; gap: 16px; margin: 10px 0; color: var(--muted); font-size: 12px; }
.map-legend span { display: flex; align-items: center; gap: 6px; }
.map-legend .final-seat-check { color: var(--green-dark); font-weight: 850; }
.legend-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; }
.legend-dot.context { background: #a9b8b1; }
.legend-dot.held { background: var(--lime); border: 1px solid var(--green); }
.legend-dot.assigned { background: #ffbb45; border: 1px solid #7d4b00; }
.map-empty { display: grid; place-items: center; min-height: 460px; color: #b9c9c1; }
.decision-hero { background: linear-gradient(135deg,#153f31,#0a7050); color: white; border: 0; }
.decision-hero .eyebrow, .decision-hero .muted { color: #bfe0d3; }
.decision-hero .price { font: 700 34px Georgia,serif; }
.school-bars { display: grid; gap: 12px; }
.school-bar-label { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 5px; }
.bar { height: 9px; border-radius: 9px; overflow: hidden; background: #e8eee9; }
.bar span { display: block; height: 100%; border-radius: inherit; background: var(--green); }
.flow { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; font-size: 12px; color: var(--muted); }
.flow strong { color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 7px 9px; }
.seat-map { background: #10221b; border-radius: 13px; padding: 18px; overflow-x: auto; }
.stage { width: 58%; margin: 0 auto 18px; border-radius: 0 0 28px 28px; background: #cfdfd7; color: #193127; text-align: center; padding: 7px; font-size: 11px; font-weight: 800; letter-spacing: .2em; }
.seat-row { display: flex; justify-content: center; gap: 6px; margin: 7px auto; min-width: 450px; }
.seat { width: 18px; height: 18px; padding: 0; border-radius: 50%; border: 2px solid #a7bab1; background: transparent; color: transparent; }
.seat.used { background: var(--lime); border-color: var(--lime); }
.seat.selected { outline: 3px solid #fff; outline-offset: 2px; }
.seat:hover { transform: scale(1.18); }
.family-list { display: grid; gap: 9px; }
.family { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.family:last-child { border: 0; }
.timeline { display: grid; gap: 0; }
.log-item { display: grid; grid-template-columns: 108px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.log-item:last-child { border: 0; }
.log-time { color: var(--muted); font-size: 11px; }
.empty { display: grid; place-items: center; min-height: 220px; color: var(--muted); text-align: center; }
.startup-card { min-height: 340px; display: flex; gap: 22px; align-items: center; justify-content: center; text-align: left; color: var(--muted); }
.startup-card img { width: 76px; height: 76px; object-fit: cover; border-radius: 18px; }
.startup-card h2 { margin: 5px 0 8px; color: var(--ink); font: 700 28px Georgia,serif; }
.startup-card p { margin: 0; }
.startup-error { min-height: 300px; display: grid; place-items: center; text-align: center; }
.startup-error h2 { margin-top: 6px; }
.startup-error p { color: var(--muted); }
.intro-hero { background: linear-gradient(135deg,#123a2d,#087251); color: #fff; border-radius: 20px; padding: clamp(28px,5vw,58px); display: grid; grid-template-columns: 1.25fr .75fr; gap: 32px; align-items: center; }
.intro-hero h2 { margin: 7px 0 14px; font: 700 clamp(32px,5vw,58px) Georgia,serif; line-height: 1.02; }
.intro-hero p { color: #d0e9df; max-width: 720px; line-height: 1.65; }
.intro-hero .eyebrow { color: #cbe9a8; }
.intro-principles { display: grid; gap: 10px; }
.intro-principles span { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.22); font-size: 13px; font-weight: 750; }
.link-button { display: inline-flex; align-items: center; text-decoration: none; }
.setup-steps { display: grid; gap: 0; list-style: none; margin: 0; padding: 0; }
.setup-steps > li { display: grid; grid-template-columns: 36px 1fr auto; gap: 12px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--line); }
.setup-steps > li:last-child { border-bottom: 0; }
.setup-steps > li.future { opacity: .48; }
.setup-steps > li.current { color: var(--green-dark); }
.step-number { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #edf1ee; font-weight: 850; font-size: 12px; }
.setup-steps li.complete .step-number { background: var(--green-soft); color: var(--green); }
.setup-steps li.current .step-number { background: var(--green); color: #fff; }
.setup-steps li div span { display: block; color: var(--muted); font-size: 11px; margin-top: 2px; }
.phase-checkpoints { display: grid; gap: 5px; margin: 9px 0 0; padding: 0; list-style: none; }
.phase-checkpoints li { display: grid; grid-template-columns: 15px 1fr; gap: 6px; align-items: start; color: var(--muted); font-size: 10px; }
.phase-checkpoints li i { display: grid; place-items: center; width: 14px; height: 14px; border-radius: 50%; background: #edf1ee; color: #79867f; font-size: 8px; font-style: normal; font-weight: 900; }
.phase-checkpoints li.complete i { background: var(--green-soft); color: var(--green); }
.phase-checkpoints li.current { color: var(--ink); font-weight: 800; }
.phase-checkpoints li.current i { background: var(--amber-soft); color: var(--amber); }
.phase-progress { color: var(--green) !important; font-size: 8px !important; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.phase-current-check { color: var(--ink) !important; font-weight: 750; }
.optional-tool-toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid #d9e0dc; border-radius: 10px; background: #f8faf8; color: var(--ink); padding: 11px 14px; text-align: left; }
.optional-tool-toggle:hover { background: #f1f5f2; border-color: #bdcac3; }
.optional-tool-toggle span { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; }
.optional-tool-toggle small { color: #7f8c85; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.optional-tool-toggle strong { font-size: 13px; }
.optional-tool-toggle em { color: var(--muted); font-size: 10px; font-style: normal; font-weight: 600; }
.optional-tool-toggle b { flex: 0 0 auto; color: var(--green); font-size: 10px; }
.optional-tool { margin-top: 8px; border: 1px solid #e1e6e3; border-radius: 10px; background: #fbfcfb; padding: 20px; }
.optional-tool[hidden] { display: none; }
.honesty-list { display: grid; gap: 12px; padding-left: 20px; line-height: 1.5; color: var(--muted); }
.locked-view { min-height: 340px; display: grid; place-items: center; align-content: center; text-align: center; gap: 13px; }
.locked-view p { max-width: 580px; color: var(--muted); }
.lock-mark { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: var(--green-soft); color: var(--green); font: 700 24px Georgia,serif; }
.detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.detail-grid span { color: var(--muted); font-size: 11px; }
.detail-grid strong { display: block; color: var(--ink); font-size: 14px; margin-top: 5px; }
.good-copy { color: var(--green); }
.recommendation-school { display: block; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; padding: 11px; background: rgba(255,255,255,.08); font-weight: 750; }
.allocation-row { display: grid; grid-template-columns: minmax(0,1fr) 100px 80px; gap: 10px; align-items: center; }
.allocation-row span { color: var(--muted); font-size: 11px; }
.welcome-simple { max-width: 980px; padding: clamp(26px,5vw,58px) 0; }
.welcome-simple h2 { max-width: 720px; margin: 10px 0 18px; font: 700 clamp(31px,4.2vw,48px) Georgia,serif; line-height: 1.08; }
.welcome-simple > p:not(.eyebrow) { max-width: 760px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.operation-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 38px 0 22px; background: var(--line); }
.operation-choice { min-height: 134px; display: grid; align-content: center; gap: 8px; border: 0; background: var(--surface); padding: 26px; text-align: left; }
.operation-choice:hover { background: #f9fbf9; }
.operation-choice.recommended { box-shadow: inset 0 -3px 0 var(--green); }
.operation-choice.public-locked { opacity: .48; cursor: not-allowed; background: #f1f1ed; }
.operation-choice span { font: 700 23px Georgia,serif; color: var(--ink); }
.operation-choice small { color: var(--muted); line-height: 1.5; }
.foundation-line { padding-top: 16px; border-top: 1px solid var(--line); }
.operation-summary { max-width: 930px; padding: 24px 0 34px; }
.operation-summary h2 { margin: 8px 0 12px; font: 700 clamp(34px,5vw,52px) Georgia,serif; }
.operation-summary > p:not(.eyebrow) { max-width: 720px; color: var(--muted); line-height: 1.65; }
.current-task { display: grid; grid-template-columns: 110px minmax(220px,1fr) auto; align-items: center; gap: 18px; margin-top: 30px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.current-task span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.current-task strong { font: 700 21px Georgia,serif; }
.plain-section { min-width: 0; padding: 22px 0; border-top: 1px solid var(--line); }
.plain-section h2 { margin: 5px 0 10px; font: 700 23px Georgia,serif; }
.open-grid { gap: clamp(30px,6vw,80px); }
.text-link { border: 0; background: transparent; color: var(--green); padding: 6px 0; font-weight: 750; text-decoration: none; }
.text-link.light { color: #d7efb9; }
.decision-report { display: grid; gap: 32px; }
.decision-report > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.decision-report > header h2 { margin: 6px 0 10px; font: 700 clamp(34px,4vw,52px) Georgia,serif; }
.decision-report > header p { max-width: 820px; color: var(--muted); line-height: 1.65; }
.report-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(32px,6vw,80px); }
.report-columns > section { min-width: 0; }
.report-columns h3, .founder-edit h3, .ai-chat h3 { margin: 0 0 13px; font: 700 21px Georgia,serif; }
.report-columns p { color: var(--muted); line-height: 1.65; }
.report-columns.lower { padding: 26px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.target-chart { display: grid; gap: 11px; margin-top: 22px; }
.target-chart > div { display: grid; grid-template-columns: minmax(160px,1fr) minmax(100px,1fr) 30px; gap: 12px; align-items: center; font-size: 12px; }
.target-chart i, .school-performance i { display: block; height: 5px; background: #e7ece8; overflow: hidden; }
.target-chart i b, .school-performance i b { display: block; height: 100%; background: var(--green); }
.price-equation { padding: 16px 0; border-bottom: 1px solid var(--line); }
.price-equation > div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.price-equation strong { font: 700 27px Georgia,serif; }
.price-equation p { margin: 8px 0 4px; }
.price-equation small { color: var(--green); font-weight: 700; }
.report-note { font-size: 13px; }
.deterministic-repair-note { margin: 18px 0; padding: 14px 16px; border-left: 4px solid #d38318; background: #fff4e1; }
.deterministic-repair-note strong { font-size: 12px; color: #814707; }
.deterministic-repair-note p { margin: 5px 0 0; color: #685a48; font-size: 12px; line-height: 1.5; }
.requested-school-review { margin: 18px 0 22px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.requested-school-review h3 { margin: 4px 0 12px; }
.requested-school-review article { padding: 12px 14px; border-left: 4px solid var(--green); background: var(--green-soft); }
.requested-school-review article.hard_excluded { border-left-color: #b7543e; background: #fff0eb; }
.requested-school-review article.eligible_outside_prefilter { border-left-color: #d38318; background: #fff4e1; }
.requested-school-review article > div { display: flex; justify-content: space-between; gap: 14px; }
.requested-school-review article span { font-size: 10px; font-weight: 800; color: var(--green); text-transform: uppercase; }
.requested-school-review article.hard_excluded span { color: #9b392a; }
.requested-school-review article.eligible_outside_prefilter span { color: #995b09; }
.requested-school-review article p { margin: 7px 0 4px; line-height: 1.5; }
.requested-school-review article small { color: var(--muted); }
.school-rationale-compact { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--line); }
.school-rationale-compact p { margin: 8px 0; font-size: 12px; }
.report-list { margin: 0; padding-left: 20px; color: var(--muted); line-height: 1.6; }
.report-list li + li { margin-top: 8px; }
.founder-edit { padding: 28px 0; border-bottom: 1px solid var(--line); }
.ai-chat { display: grid; grid-template-columns: minmax(220px,.65fr) minmax(300px,1.35fr); gap: clamp(28px,6vw,78px); padding-bottom: 28px; }
.ai-chat > div:first-child p { color: var(--muted); line-height: 1.55; }
.ai-chat form { grid-column: 2; display: grid; gap: 10px; }
.ai-chat form button { justify-self: end; }
.chat-thread { display: grid; gap: 12px; align-content: start; }
.chat-message { max-width: 90%; padding: 13px 15px; background: var(--surface); border-left: 3px solid var(--line); }
.chat-message.assistant { margin-left: auto; border-left-color: var(--green); }
.chat-message strong { font-size: 11px; color: var(--green); }
.chat-message p { margin: 4px 0 0; line-height: 1.55; }
.chat-body h4 { margin: 12px 0 4px; font: 700 16px Georgia,serif; }
.chat-body h4:first-child { margin-top: 6px; }
.chat-body ul { margin: 7px 0 0; padding-left: 18px; line-height: 1.55; }
.chat-body li + li { margin-top: 5px; }
.booking-dashboard > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.booking-dashboard h2 { margin: 6px 0; font: 700 clamp(32px,4vw,48px) Georgia,serif; }
.booking-dashboard header p { color: var(--muted); }
.school-performance { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; border-bottom: 1px solid var(--line); }
.school-performance > div { min-width: 0; padding: 22px 20px 22px 0; }
.school-performance > div + div { padding-left: 20px; border-left: 1px solid var(--line); }
.school-performance span { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.school-performance strong { display: block; margin-top: 7px; min-height: 38px; }
.school-performance p { color: var(--muted); font-size: 12px; }
.school-performance i { margin-top: 11px; }
.operations-board { padding: 34px 0; border-top: 1px solid var(--line); }
.operations-board > header, .school-database-head, .school-strategy-report > header, .smart-seating-view > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.operations-board h2, .school-database-head h2, .school-strategy-report h2, .smart-seating-view h2 { margin: 6px 0 10px; font: 700 clamp(30px,4vw,46px) Georgia,serif; }
.portfolio-metrics { display: grid; grid-template-columns: repeat(4,minmax(120px,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 24px 0; }
.portfolio-metrics span { padding: 18px 18px 18px 0; color: var(--muted); font-size: 11px; }
.portfolio-metrics span + span { padding-left: 18px; border-left: 1px solid var(--line); }
.portfolio-metrics strong { display: block; margin-top: 7px; color: var(--ink); font: 700 25px Georgia,serif; }
.operations-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(34px,6vw,80px); }
.operations-columns h3 { font: 700 20px Georgia,serif; }
.show-row-wrap { border-bottom: 1px solid var(--line); }
.show-row { width: 100%; display: grid; grid-template-columns: 1fr auto 22px; gap: 20px; padding: 15px 0; border: 0; background: transparent; color: var(--ink); text-align: left; }
.show-row:hover { color: var(--green-dark); }
.show-row > div { display: grid; gap: 4px; }
.show-row > div:nth-child(2) { text-align: right; }
.show-row > i { align-self: center; color: var(--green); font-size: 19px; font-style: normal; font-weight: 800; text-align: right; }
.show-row span { color: var(--muted); font-size: 11px; }
.show-row-wrap.active-show { border-left: 3px solid var(--green); padding-left: 13px; }
.show-row-detail { display: grid; grid-template-columns: repeat(3,minmax(100px,1fr)); gap: 14px 22px; padding: 3px 22px 18px 0; }
.show-row-detail span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.show-row-detail strong { display: block; margin-top: 4px; color: var(--ink); font-size: 13px; text-transform: none; letter-spacing: 0; }
.school-database-head { padding-bottom: 12px; }
.school-database-head > div:first-child { max-width: 760px; }
.school-database-head > div:first-child p:last-child { color: var(--muted); line-height: 1.6; }
.school-database-head .portfolio-metrics { min-width: 430px; grid-template-columns: repeat(3,1fr); margin: 0; }
.profile-coverage { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 12px 0 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.profile-coverage span { padding: 18px 20px; color: var(--muted); font-size: 11px; border-right: 1px solid var(--line); }
.profile-coverage span:last-child { border-right: 0; }
.profile-coverage strong { display: block; margin-top: 5px; color: var(--ink); font-size: 24px; }
.school-filter-grid { display: grid; grid-template-columns: minmax(210px,1.5fr) repeat(5,minmax(130px,1fr)); gap: 10px; align-items: end; }
.school-filter-grid.enriched-filters { grid-template-columns: repeat(4,minmax(160px,1fr)); }
.school-expand { width: 100%; border: 0; background: transparent; padding: 0 22px 0 0; text-align: left; color: var(--ink); position: relative; }
.school-expand::after { content: "+"; position: absolute; right: 2px; top: 1px; color: var(--green); font-weight: 800; }
.school-expand[aria-expanded="true"]::after { content: "−"; }
.school-expand span, .school-expand small { display: block; }
.school-expand span { font-weight: 750; }
.school-expand small { color: var(--muted); margin-top: 3px; }
.school-summary-row:hover td { background: #f8faf8; }
.school-detail-row td { padding: 18px 14px 22px; background: #f8faf8; }
.school-profile-source { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; margin-bottom: 18px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.school-profile-source span { color: var(--muted); font-size: 11px; }
.school-detail-grid { display: grid; grid-template-columns: repeat(6,minmax(110px,1fr)); gap: 15px; margin-bottom: 12px; }
.school-detail-grid span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.school-detail-grid strong { display: block; margin-top: 5px; color: var(--ink); font-size: 12px; text-transform: none; letter-spacing: 0; }
.school-location-section { padding: 26px 0 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.school-location-section h2 { margin: 5px 0 8px; font-size: 25px; }
.school-location-section .card-head > div:first-child { max-width: 700px; }
.school-location-map { width: 100%; background: #eef3ef; overflow: hidden; }
.school-location-map svg { display: block; width: 100%; height: auto; min-height: 390px; }
.school-map-field { fill: #f7faf7; stroke: #cfd9d2; stroke-width: 1; }
.school-map-grid { fill: none; stroke: #e3eae5; stroke-width: 1; }
.school-map-dot { cursor: pointer; stroke: rgba(255,255,255,.8); stroke-width: .7; transition: r .12s ease; }
.school-map-dot.directory { fill: #78978a; opacity: .55; }
.school-map-dot.reached { fill: #0a7050; opacity: .9; }
.school-map-dot.selected { fill: #d77b00; opacity: 1; stroke: #6e3e00; stroke-width: 1.5; }
.school-map-dot:hover { r: 5; opacity: 1; }
.theatre-marker path { fill: #b23838; stroke: #fff; stroke-width: 1; }
.map-direction { fill: #85928c; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.legend-dot.map-directory { background: #78978a; }
.legend-dot.map-reached { background: #0a7050; }
.legend-dot.map-filtered { background: #f2a900; box-shadow: 0 0 0 2px #fff4cf; }
.legend-dot.map-theatre { width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 11px solid #b23838; border-radius: 0; }
.map-selection { display: grid; grid-template-columns: minmax(220px,1.7fr) repeat(3,minmax(110px,1fr)) auto; align-items: center; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.map-selection div { display: grid; gap: 4px; }
.map-selection span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.map-selection strong { font-size: 13px; }
.compact-button { padding: 8px 11px; font-size: 11px; }
.crm-workspace-bar { display: grid; grid-template-columns: minmax(280px,1fr) auto; gap: 18px 28px; align-items: end; padding: 22px; border: 1px solid #d4e2da; border-radius: 16px; background: #f5faf7; }
.crm-workspace-bar h2 { margin: 4px 0 7px; }
.crm-workspace-bar p { margin: 0; color: var(--muted); }
.file-button { cursor: pointer; }
.file-button input { display: none; }
.shortlist-chips { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 7px; }
.shortlist-chips button { padding: 6px 9px; border: 1px solid #b9d7c8; border-radius: 999px; background: #fff; color: var(--green-dark); font-size: 11px; font-weight: 750; }
.school-crm-editor { padding: 20px; border: 1px solid #bad4c7; border-radius: 14px; background: #fff; }
.school-crm-heading { display: grid; grid-template-columns: 1fr minmax(220px,.45fr); gap: 25px; align-items: start; }
.school-crm-heading h3 { margin: 3px 0 5px; font-size: 20px; }
.school-crm-heading p { margin: 0; color: var(--muted); }
.next-opportunity-check { display: flex; gap: 10px; padding: 13px; border-radius: 10px; background: #fff5df; }
.next-opportunity-check input { width: auto; }
.next-opportunity-check span, .next-opportunity-check small { display: block; }
.next-opportunity-check small { margin-top: 3px; color: var(--muted); }
.school-crm-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin-top: 18px; }
.school-crm-fields .field-wide { grid-column: 1 / -1; }
.school-crm-footer { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: 15px; }
.crm-signals { display: flex; flex-wrap: wrap; gap: 18px; }
.crm-signals label { display: flex; align-items: center; gap: 7px; }
.crm-signals input { width: auto; }
.public-school-profile { margin-top: 14px; padding: 13px 17px; border-top: 1px solid var(--line); }
.public-school-profile summary { cursor: pointer; color: var(--green-dark); font-weight: 800; }
.public-school-profile[open] summary { margin-bottom: 16px; }
.gate-checklist { display: grid; gap: 8px; width: min(500px,100%); margin: 6px 0 12px; padding: 0; list-style: none; text-align: left; }
.gate-checklist li { display: grid; grid-template-columns: 24px 1fr; padding: 8px 0; border-bottom: 1px solid var(--line); color: var(--ink); }
.gate-checklist li span { color: var(--muted); font-weight: 800; }
.gate-checklist li.done { color: var(--muted); }
.gate-checklist li.done span { color: var(--green); }
.school-strategy-report { display: grid; gap: 30px; }
.school-strategy-report > header p { max-width: 800px; color: var(--muted); line-height: 1.6; }
.school-reasons { display: grid; gap: 0; border-top: 1px solid var(--line); }
.school-reasons article { display: grid; grid-template-columns: minmax(300px,1.2fr) minmax(380px,.8fr); gap: 40px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.school-reasons article > div > span { color: var(--green); font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.school-reasons h3 { margin: 6px 0 8px; font: 700 21px Georgia,serif; }
.school-reasons p { margin: 0; color: var(--muted); line-height: 1.55; }
.school-reasons dl { display: grid; grid-template-columns: repeat(2,1fr); gap: 13px; margin: 0; }
.school-reasons dl div { display: grid; gap: 3px; }
.school-reasons dt { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.school-reasons dd { margin: 0; font-size: 12px; font-weight: 700; }
.strategy-editor { display: grid; grid-template-columns: minmax(210px,.55fr) minmax(360px,1.45fr); gap: clamp(28px,5vw,70px); padding: 26px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.strategy-editor h3, .school-closeout-report h3 { margin: 5px 0 9px; font-size: 20px; }
.school-selector-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.school-selector-grid .secondary-button { grid-column: 1/-1; justify-self: end; }
.school-strategy-chat { padding-top: 4px; border-bottom: 1px solid var(--line); }
.school-strategy-chat .chat-thread { max-height: 430px; overflow: auto; }
.chat-message.thinking { min-width: min(330px,90%); }
.school-closeout-reports { display: grid; gap: 0; margin-top: 28px; border-top: 1px solid var(--line); padding-top: 22px; }
.school-closeout-report { padding: 0; border-bottom: 1px solid var(--line); }
.school-closeout-report summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 17px 0; list-style: none; }
.school-closeout-report summary::-webkit-details-marker { display: none; }
.school-closeout-report summary span { display: grid; gap: 3px; }
.school-closeout-report summary small { color: var(--muted); font-weight: 600; }
.school-closeout-report summary b { color: var(--green); }
.school-closeout-report summary { cursor: pointer; }
.school-closeout-report summary::after { content: 'Read report ↓'; flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 10px; font-weight: 900; }
.school-closeout-report[open] summary::after { content: 'Hide report ↑'; }
.school-closeout-report > div { padding: 0 0 22px; max-width: 900px; }
.school-closeout-report > div > p, .school-closeout-report li { color: var(--muted); line-height: 1.55; }
.smart-seating-view { display: grid; gap: 18px; }
.smart-seating-view > header p { color: var(--muted); }
.seating-alternatives { padding: 23px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.seating-alternatives > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.seating-alternatives h3 { margin: 5px 0 7px; font-size: 23px; }
.seating-alternatives header p { max-width: 720px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.alternative-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(285px,1fr)); gap: 14px; margin-top: 18px; }
.seating-alternative { display: grid; gap: 14px; padding: 17px; border: 1px solid #d7dfda; background: #fff; }
.seating-alternative.selected { border: 2px solid var(--green); background: #f4faf7; }
.alternative-head { display: flex; justify-content: space-between; gap: 15px; align-items: flex-start; }
.alternative-head > div { display: grid; gap: 4px; min-width: 0; }
.alternative-head small { color: #9b5508; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.alternative-head strong { overflow: hidden; text-overflow: ellipsis; font-size: 11px; white-space: nowrap; }
.alternative-metrics { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.alternative-metrics span { display: grid; gap: 4px; padding: 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; }
.alternative-metrics strong { color: var(--ink); font-size: 16px; }
.family-directory { padding-top: 28px; border-top: 1px solid var(--line); }
.family-directory > div h2 { margin: 5px 0 18px; font: 700 25px Georgia,serif; }
.family-directory article { display: grid; grid-template-columns: 13px minmax(300px,1fr) auto; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); align-items: start; }
.family-directory article > i { width: 12px; height: 12px; border-radius: 50%; margin-top: 4px; }
.family-directory article div { display: grid; gap: 3px; }
.family-directory article span { color: var(--muted); font-size: 11px; }
.family-directory article p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.family-directory article b { font-size: 11px; color: var(--green); }
dialog { border: 0; border-radius: 16px; padding: 0; width: min(520px,calc(100% - 32px)); box-shadow: 0 24px 80px rgba(0,0,0,.25); }
dialog::backdrop { background: rgba(9,24,18,.55); }
.dialog-card { padding: 24px; display: grid; gap: 18px; }
.dialog-head { display: flex; justify-content: space-between; align-items: flex-start; }
.dialog-head h2 { margin: 3px 0 0; font: 700 24px Georgia,serif; }
.dialog-card p { color: var(--muted); line-height: 1.55; margin: 0; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; }
.icon-button { border: 0; background: transparent; font-size: 26px; color: var(--muted); }
.toast { position: fixed; right: 18px; top: 82px; z-index: 6000; display: flex; align-items: center; gap: 12px; max-width: min(380px,calc(100vw - 36px)); background: #18352a; color: #fff; border-radius: 10px; padding: 11px 11px 11px 14px; transform: translateY(-14px); opacity: 0; transition: .18s; pointer-events: none; box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.toast.show { transform: translateY(0); opacity: 1; pointer-events: auto; }
.toast span { line-height: 1.45; }
.toast button { flex: 0 0 auto; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: transparent; color: white; font-size: 20px; line-height: 1; cursor: pointer; }
.founder-closeout { padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.founder-closeout > h2 { margin: 6px 0 10px; }
.founder-report-summary { max-width: 900px; font-size: 17px; line-height: 1.65; }
.founder-closeout .grid article { padding-top: 18px; border-top: 1px solid var(--line); }
.founder-closeout .grid h3 { font-size: 16px; }

/* Opportunity Agent pilot redesign: AI agent | decision | workflow */
body[data-view="decisions"] { background: #f7f2e8; }
body[data-view="decisions"] .sidebar { background: #062d22; }
body[data-view="decisions"] .sidebar { height: auto; min-height: 100vh; overflow: visible; align-self: start; }
body[data-view="decisions"] .agent-key-card { margin-bottom: 12px; }
body[data-view="decisions"] .sidebar-agent-context { display: block; }
.opportunity-agent-workspace { min-height: calc(100vh - 116px); display: flex; flex-direction: column; gap: 10px; padding: 10px 5px 4px; }
.active-agent-label { display: flex; gap: 8px; align-items: center; color: #f0b94e; font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.active-agent-label span { font-size: 17px; line-height: 1; }
.agent-identity-block { display: grid; justify-items: center; text-align: center; gap: 6px; padding: 5px 10px 11px; border-bottom: 1px solid #2d584b; }
.agent-identity-block h2 { margin: 0; color: #fff; font-size: 23px; }
.agent-identity-block p { margin: 2px 0 0; color: #c7d8d1; font-size: 11px; line-height: 1.4; }
.agent-connection { display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; padding: 6px 10px; background: #193d31; color: #b8cec5; font-size: 11px; font-weight: 800; }
.agent-connection i { width: 7px; height: 7px; border-radius: 50%; background: #849c92; }
.agent-connection.connected { background: #174834; color: #c9eeaf; }.agent-connection.connected i { background: #7ed957; }
.agent-panel-section { border: 1px solid #2b594b; border-radius: 11px; padding: 11px 12px; background: rgba(255,255,255,.025); }
.agent-panel-section h3 { margin: 0; color: #f7fbf8; font-size: 12px; letter-spacing: .04em; }
.agent-panel-heading { display: flex; justify-content: space-between; align-items: center; }
.agent-panel-heading > span { color: #a6c2b7; font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.agent-panel-heading .reasoning-live { color: #f0bb58; }
.agent-checks > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; color: #d8e6df; font-size: 10px; font-weight: 850; }
.agent-checks > summary::-webkit-details-marker { display: none; }
.agent-checks > summary::after { content: '+'; color: #f0b94e; }
.agent-checks[open] > summary::after { content: '−'; }
.agent-checks > summary b { margin-left: auto; border-radius: 999px; padding: 3px 7px; background: #154537; color: #d7eee4; font-size: 9px; }
.live-reasoning ul { list-style: none; display: grid; gap: 5px; margin: 9px 0; padding: 0; }
.live-reasoning li { display: grid; grid-template-columns: 18px 1fr; gap: 6px; color: #aec2ba; font-size: 11px; line-height: 1.35; }.live-reasoning li i { width: 16px; height: 16px; display:grid; place-items:center; border-radius:50%; background:#173c30; color:#83b6a0; font-style:normal; font-weight:900; }.live-reasoning li.complete { color:#e8f1ed; }.live-reasoning li.complete i { background:#284f32; color:#b7e68e; }
.current-reasoning { margin: 8px 0 0; padding-top: 8px; border-top: 1px solid #2a5145; color: #f4d499; font-size: 10px; line-height: 1.45; }
.agent-reasoning-detail summary, .inputs-reviewed > summary { cursor: pointer; color: #bcd0c7; font-size: 10px; font-weight: 800; }
.agent-reasoning-detail summary { padding-top: 3px; }
.inputs-reviewed > summary { display: flex; justify-content: space-between; gap: 12px; list-style: none; }
.inputs-reviewed > summary::-webkit-details-marker { display: none; }
.inputs-reviewed > summary::after { content: '+'; color: #f0b94e; }
.inputs-reviewed[open] > summary::after { content: '−'; }
.inputs-reviewed > summary b { margin-left: auto; color: #8fb1a3; font-size: 9px; }
.inputs-reviewed dl { display: grid; gap: 7px; margin: 11px 0 0; }.inputs-reviewed dl div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.inputs-reviewed dt { color:#b9cbc4; font-size:10px; }.inputs-reviewed dd { margin:0; border-radius:999px; padding:3px 8px; background:#154537; color:#d7eee4; font-size:9px; font-weight:900; }
.agent-evidence > div { display:grid; gap:3px; }.agent-evidence small { color:#d8a94a; font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.agent-evidence strong { font-size:13px; }.agent-evidence span { color:#aac2b8; font-size:10px; }
.agent-main-action { width: 100%; min-height: 46px; margin: 0; border: 0; border-radius: 9px; background: #0b7a56; color: #fff; font-weight: 850; box-shadow: none; }.agent-main-action:hover { background:#0c8a60; }
.gemini-star { display: inline-block; margin-right: 2px; background: linear-gradient(145deg,#7cb8ff 10%,#a78bfa 48%,#f28bbb 75%,#f6bf67); background-clip: text; -webkit-background-clip: text; color: transparent; font-size: 1.08em; line-height: 1; filter: drop-shadow(0 0 5px rgba(159,131,246,.28)); }
.agent-identity-block h2 { display: flex; align-items: center; justify-content: center; gap: 5px; }
.confidence-graphic { display: flex; align-items: center; gap: 11px; min-width: 0; }
.confidence-ring { --confidence: 72%; position: relative; width: 58px; height: 58px; flex: 0 0 58px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#9dde65 var(--confidence),rgba(255,255,255,.11) 0); box-shadow: 0 0 18px rgba(157,222,101,.12); }
.confidence-ring::before { content: ''; position: absolute; inset: 6px; border-radius: 50%; background: #0a3227; }
.confidence-ring b { position: relative; z-index: 1; color: #f5fbf7; font-size: 13px; }
.confidence-graphic > div { display: grid; gap: 2px; }
.confidence-graphic small { color: #95aea3; font-size: 8px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.confidence-graphic strong { color: #fff; font-size: 12px; }
.specialist-agent-workspace > .confidence-graphic,
.opportunity-agent-workspace > .confidence-graphic { padding: 2px 6px; }

body[data-view="decisions"] .page { background: #f7f2e8; }
body[data-view="decisions"] .workspace-layout { grid-template-columns: minmax(0,1fr) 318px; }
.decision-workspace { display: grid; gap: 22px; }
.strategy-hero { padding: 8px 2px 2px; }
.strategy-hero h2 { margin: 5px 0 0; color: #15221d; font-size: clamp(30px,2.3vw,38px); letter-spacing: -.03em; }
.strategy-title-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }.strategy-title-row .tag { margin-top:8px; }
.strategy-hero > div > p:last-child, .strategy-hero > p:last-child { max-width: 900px; margin: 12px 0 0; color: #4f5c56; font-size: 15px; line-height: 1.55; }
.strategy-hero .strategy-freshness { display:flex; align-items:center; gap:10px; width:fit-content; max-width:100%; margin-top:14px; padding:8px 11px; border:1px solid #dce9df; border-radius:10px; background:#f5faf6; color:#315b49; font-size:12px; line-height:1.4; }
.strategy-freshness span { flex:none; color:#087a58; font-size:9px; font-weight:900; letter-spacing:.08em; }
.role-handoff { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:12px 14px; border:1px solid #d5e2da; border-radius:12px; background:#eef6f1; color:#334b41; }
.role-handoff span { display:flex; gap:7px; align-items:center; font-size:12px; }.role-handoff span b { color:#086448; font-size:9px; letter-spacing:.09em; }.role-handoff > i { color:#9bab9f; font-style:normal; }.role-handoff .founder b { color:#a05e0c; }
.strategy-school-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 14px; align-items: stretch; }
.strategy-school-card { position:relative; overflow:hidden; display:flex; flex-direction:column; min-height: 390px; border:1px solid #ded8cb; border-radius:14px; background:#fffdf9; }
.school-rank { position:absolute; left:0; top:0; width:46px; height:46px; display:grid; place-items:center; background:#096246; color:#fff; clip-path:polygon(0 0,100% 0,0 100%); padding:0 17px 17px 0; font-size:13px; font-weight:900; }
.school-card-top { padding: 20px 18px 12px 28px; }.school-card-top h3 { margin:10px 0 5px; font-size:18px; line-height:1.3; }.school-card-top p { margin:0; color:#5d6863; font-size:12px; }
.evidence-chip { display:inline-flex; border-radius:999px; padding:5px 8px; background:#e8f2ec; color:#236a4f; font-size:8px; font-weight:900; letter-spacing:.06em; }.evidence-chip.new { background:#eef4f7; color:#376a7d; }
.school-evidence-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0; margin:0 18px; border-top:1px solid #e8e3d9; border-left:1px solid #e8e3d9; }.school-evidence-grid div { display:grid; gap:3px; padding:10px; border-right:1px solid #e8e3d9; border-bottom:1px solid #e8e3d9; }.school-evidence-grid dt { color:#717b76; font-size:9px; text-transform:uppercase; }.school-evidence-grid dd { margin:0; font-size:11px; font-weight:750; line-height:1.25; }
.school-card-reason { padding:14px 18px; }.school-card-reason small { color:#86500d; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.school-card-reason p { margin:7px 0 0; color:#46544e; font-size:12px; line-height:1.5; }
.school-card-next { margin:auto 12px 12px; padding:11px 12px; border-radius:9px; background:#edf5f0; display:grid; gap:3px; }.school-card-next span { color:#63736c; font-size:9px; text-transform:uppercase; }.school-card-next strong { color:#07593f; font-size:13px; }
.strategy-summary-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr); gap:14px; }.portfolio-summary-card,.code-validation-card { border:1px solid #ded8cb; border-radius:14px; padding:18px; background:#fffdf9; }.section-title h3 { margin:5px 0 0; font-size:19px; }.portfolio-summary-metrics { display:grid; grid-template-columns:repeat(4,1fr); margin:17px 0 12px; }.portfolio-summary-metrics span { display:grid; gap:5px; padding:0 13px; border-left:1px solid #e3ded3; color:#65726c; font-size:10px; }.portfolio-summary-metrics span:first-child { padding-left:0; border-left:0; }.portfolio-summary-metrics strong { color:#0b5e44; font-size:22px; }.portfolio-summary-card > p { margin:0; color:#66726d; font-size:11px; line-height:1.45; }
.code-validation-card { background:#f2f8f4; border-color:#cedfd5; }.code-validation-card ul { list-style:none; display:grid; gap:8px; margin:16px 0 0; padding:0; }.code-validation-card li { display:grid; grid-template-columns:18px 1fr; gap:7px; color:#355046; font-size:11px; }.code-validation-card li i { color:#07805a; font-style:normal; font-weight:900; }
.founder-decision-card { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(460px,1.3fr); gap:22px; align-items:center; border:1px solid #ead5b4; border-radius:14px; padding:18px; background:#fff8ec; }.founder-decision-card h3 { margin:5px 0; font-size:19px; }.founder-decision-card p:last-child { margin:0; color:#695f50; font-size:11px; }.founder-action-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:9px; }.founder-action-grid button { min-height:46px; padding:9px 12px; font-size:11px; }
.decision-drawer { border:1px solid #ded8cb; border-radius:13px; background:#fffdf9; }.decision-drawer summary { display:flex; justify-content:space-between; align-items:center; padding:15px 18px; cursor:pointer; list-style:none; }.decision-drawer summary span { display:grid; gap:3px; }.decision-drawer summary small { color:#9a590a; font-size:9px; font-weight:900; letter-spacing:.1em; }.decision-drawer summary strong { font-size:15px; }.decision-drawer summary > i { color:#69766f; font-size:11px; font-style:normal; }.decision-drawer .strategy-editor { margin:0 18px 18px; padding:18px 0 0; border-bottom:0; }
.decision-infographics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.decision-infographics > article,
.decision-infographics > .confidence-graphic { min-height: 82px; display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid #ded8cb; border-radius: 13px; background: #fffdf9; }
.decision-infographics > article > i { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 50%; background: #e8f3ed; color: #087151; font-style: normal; font-size: 17px; font-weight: 900; }
.decision-infographics article span { display: grid; gap: 4px; }
.decision-infographics article small { color: #6c7772; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.decision-infographics article strong { color: #14231d; font-size: 18px; }
.decision-infographics .confidence-ring { width: 54px; height: 54px; flex-basis: 54px; }
.decision-infographics .confidence-ring::before { background: #fffdf9; }

.pilot-evidence-panel { border: 1px solid #d7dfda; border-radius: 14px; background: rgba(255,253,249,.92); overflow: hidden; }
.pilot-evidence-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; cursor: pointer; list-style: none; }
.pilot-evidence-panel > summary::-webkit-details-marker { display: none; }
.pilot-evidence-panel > summary span { display: grid; gap: 4px; }
.pilot-evidence-panel > summary small { color: var(--green); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.pilot-evidence-panel > summary strong { font-size: 18px; }
.pilot-evidence-panel > summary b { color: var(--green); font-size: 11px; }
.pilot-evidence-panel[open] > summary { border-bottom: 1px solid #e3e8e4; }
.pilot-evidence-grid { display: grid; grid-template-columns: 1fr 1fr .75fr; gap: 0; }
.pilot-evidence-grid > * { padding: 20px; }
.pilot-evidence-grid > * + * { border-left: 1px solid #e3e8e4; }
.pilot-evidence-grid h3 { margin: 6px 0 10px; font-size: 16px; }
.pilot-evidence-grid .honesty-list { margin-bottom: 0; }
.pilot-evidence-grid aside { display: grid; align-content: center; gap: 6px; background: #eef6f1; }
.pilot-evidence-grid aside span { color: var(--green); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.pilot-evidence-grid aside strong { font-size: 21px; }
.pilot-evidence-grid aside p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.pilot-evidence-source { margin: 0; padding: 0 20px 16px; color: var(--muted); font-size: 10px; }
.decision-log-entry .secondary-button { margin-top: 12px; }
.decision-infographics .confidence-ring b { color: #0a6349; }
.decision-infographics .confidence-graphic small { color: #6c7772; }
.decision-infographics .confidence-graphic strong { color: #14231d; }
.report-detail-drawer .report-columns { margin: 0 18px 18px; padding-top: 16px; border-top: 1px solid #e5ded1; }
.compact-valid { display: inline-flex; align-items: center; margin-top: 13px; border-radius: 999px; padding: 7px 10px; background: #e7f3eb; color: #087050; font-size: 11px; font-weight: 850; }
.strategy-start-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:14px; }.strategy-brief-card,.evidence-ready-card { border:1px solid #ded8cb; border-radius:14px; padding:22px; background:#fffdf9; }.strategy-brief-card h3,.evidence-ready-card h3 { margin:5px 0 14px; font-size:20px; }.strategy-brief-card label { font-size:13px; font-weight:750; }.strategy-brief-card textarea { margin-top:8px; }.strategy-brief-card .button-row { margin-top:12px; }.evidence-ready-card { background:#eef6f1; border-color:#cedeD5; }.evidence-ready-card dl { display:grid; gap:0; margin:14px 0; }.evidence-ready-card dl div { display:flex; justify-content:space-between; gap:20px; padding:10px 0; border-bottom:1px solid #d6e3dc; }.evidence-ready-card dt { color:#5b6c64; font-size:11px; }.evidence-ready-card dd { margin:0; color:#075a40; font-size:13px; font-weight:850; }.evidence-ready-card > p { color:#54655e; font-size:12px; line-height:1.5; }
body[data-view="decisions"] .school-strategy-chat { border:1px solid #d7dfda; border-radius:14px; padding:20px; background:#fffdf9; }

body[data-view="decisions"] .dated-workflow { padding:18px; background:#fffdf9; border-color:#ded8cb; border-radius:14px; box-shadow:none; }
body[data-view="decisions"] .dated-workflow > div strong { font-size:21px; }
body[data-view="decisions"] .dated-workflow li { opacity:.42; padding:6px 0; }
body[data-view="decisions"] .dated-workflow li.complete { opacity:.86; }
body[data-view="decisions"] .dated-workflow li.current { opacity:1; }
body[data-view="decisions"] .dated-workflow li.current button { border:1px solid #f0d8ae; background:#fff1db; }
body[data-view="decisions"] .dated-workflow li strong { font-size:12px; }
body[data-view="decisions"] .dated-workflow li span { font-size:9px; }
body[data-view="decisions"] .phase-progress { display:none; }

/* Approved operations workspace: rolled out from the Strategy & Approval pilot. */
.sidebar { height: auto; min-height: 100vh; overflow: visible; align-self: start; background: #062d22; padding: 15px 14px 16px; }
.brand { padding: 0 6px 15px; }
.brand-logo { width: 39px; height: 39px; }
.brand strong { font-size: 18px; }
.brand span { font-size: 10px; }
.agent-key-card { margin: -3px 3px 9px; padding: 6px 8px; }
.sidebar-agent-context { display: block; min-height: 0; }
.sidebar .opportunity-agent-workspace { min-height: 0; padding: 8px 3px 2px; }
.specialist-agent-workspace .agent-identity-block { padding-bottom: 10px; }
.specialist-agent-workspace .agent-identity-block h2 { font-size: 21px; }
.specialist-agent-workspace .agent-identity-block p { max-width: 250px; }
.specialist-agent-workspace .agent-main-action { margin-top: 2px; }
.agent-used-history { padding: 0; overflow: hidden; }
.agent-used-history > summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; color: #c2d4cc; font-size: 10px; font-weight: 800; }
.agent-used-history > summary::-webkit-details-marker { display: none; }
.agent-used-history > summary::after { content: '+'; margin-left: 7px; color: #f0b94e; }
.agent-used-history[open] > summary::after { content: '−'; }
.agent-used-history > summary b { margin-left: auto; border-radius: 999px; padding: 3px 7px; background: #154537; color: #d7eee4; font-size: 9px; }
.agent-used-history > div { display: grid; gap: 2px; margin-top: 9px; padding-top: 7px; border-top: 1px solid #2a5145; }
.agent-used-history button { display: grid; grid-template-columns: 8px 1fr; gap: 7px; align-items: center; width: 100%; border: 0; background: transparent; color: #b8cbc3; padding: 5px 0; text-align: left; font-size: 10px; }
.agent-used-history button:hover { color: #fff; }
.agent-used-history button i { width: 6px; height: 6px; border-radius: 50%; background: #62a98d; }

main { background: #f7f2e8; }
.page { background: transparent; }
.workspace-main { display: grid; gap: 18px; }
.topbar { background: rgba(255,253,248,.96); }
.topbar h1 { letter-spacing: -.025em; }
.stage-rail { scrollbar-width: thin; scrollbar-color: #c4cfc8 transparent; }
.dated-workflow { padding: 18px; border-color: #ded8cb; border-radius: 14px; background: rgba(255,253,249,.94); box-shadow: 0 8px 24px rgba(30,45,37,.055); }
.dated-workflow > div strong { font-size: 20px; letter-spacing: -.02em; }
.dated-workflow li { padding: 6px 0; opacity: .43; }
.dated-workflow li.complete { opacity: .78; }
.dated-workflow li.current { opacity: 1; }
.dated-workflow li.current button { border: 1px solid #f0d8ae; background: #fff1db; }
.dated-workflow li strong { font-size: 12px; }
.dated-workflow li span { font-size: 9px; }
.dated-workflow .phase-progress { display: none; }

.plain-section,
.card,
.decision-report,
.booking-dashboard,
.settlement-view,
.founder-closeout { border: 1px solid #ded8cb; border-radius: 14px; background: rgba(255,253,249,.92); box-shadow: 0 5px 18px rgba(31,45,38,.035); }
.plain-section,
.card { padding: 20px; }
.plain-section { border-top: 1px solid #ded8cb; }
.decision-report,
.booking-dashboard,
.settlement-view { padding: 22px; }
.plain-section h2,
.card h2,
.booking-dashboard h2,
.decision-report > header h2,
.operations-board h2,
.school-database-head h2,
.school-strategy-report h2,
.smart-seating-view h2 { letter-spacing: -.025em; }
.why-step-panel,
.payment-explanation { border: 1px solid #cfe0d7; border-left: 5px solid var(--green); border-radius: 12px; background: #eef6f1; }
.supplier-settlement-panel,
.final-supplier-booking-panel { border-radius: 13px; border-top: 1px solid rgba(130,110,70,.15); border-right: 1px solid rgba(130,110,70,.15); border-bottom: 1px solid rgba(130,110,70,.15); }
.school-database-head,
.smart-seating-view > header,
.settlement-view > header,
.booking-dashboard > header,
.decision-report > header { padding: 2px 0 19px; }
.profile-coverage { overflow: hidden; border: 1px solid #ded8cb; border-radius: 12px; background: rgba(255,253,249,.72); }
.operations-board { padding-top: 22px; }
.table-wrap { overflow: auto; border: 1px solid #ded8cb; border-radius: 12px; background: #fff; }
.table-wrap table { margin: 0; }
input,
select,
textarea { border-radius: 9px; }
.primary-button,
.secondary-button,
.download-link,
.upload-box { border-radius: 9px; }

body[data-workspace="guided_demo"] main { background: #fffaf0; }
body[data-workspace="real"] main { background: #f2fafb; }
body[data-workspace="preview"] main { background: #f8f6ff; }
body[data-workspace="guided_demo"] .plain-section,
body[data-workspace="guided_demo"] .card,
body[data-workspace="guided_demo"] .decision-report,
body[data-workspace="guided_demo"] .booking-dashboard,
body[data-workspace="guided_demo"] .settlement-view { background: rgba(255,253,247,.94); }
body[data-workspace="real"] .plain-section,
body[data-workspace="real"] .card,
body[data-workspace="real"] .decision-report,
body[data-workspace="real"] .booking-dashboard,
body[data-workspace="real"] .settlement-view { background: rgba(255,255,255,.94); border-color: #cbdfe2; }
body[data-workspace="preview"] .plain-section,
body[data-workspace="preview"] .card,
body[data-workspace="preview"] .decision-report,
body[data-workspace="preview"] .booking-dashboard,
body[data-workspace="preview"] .settlement-view { background: rgba(255,255,255,.93); border-color: #d8d1ed; }

/* Skovan OS uses one sans-serif type system throughout the operator interface. */
.decision-hero .price,
.startup-card h2,
.intro-hero h2,
.lock-mark,
.welcome-simple h2,
.operation-choice span,
.operation-summary h2,
.current-task strong,
.plain-section h2,
.decision-report > header h2,
.report-columns h3,
.founder-edit h3,
.ai-chat h3,
.price-equation strong,
.chat-body h4,
.booking-dashboard h2,
.operations-board h2,
.school-database-head h2,
.school-strategy-report h2,
.smart-seating-view h2,
.portfolio-metrics strong,
.operations-columns h3,
.school-reasons h3,
.family-directory > div h2,
.dialog-head h2 { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-weight: 800; }

/* Jury file lab: generate a safe fixture, then drag it through the real reader. */
.file-reader-flow { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; align-items: stretch; margin-top: 18px; }
.file-reader-flow.has-generator { grid-template-columns: minmax(220px,.9fr) 28px minmax(260px,1.1fr); }
.synthetic-file-source { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: center; min-height: 112px; padding: 16px; border: 1px solid #e0c68f; border-radius: 11px; background: #fff5df; color: #473419; text-align: left; cursor: pointer; }
.synthetic-file-source:hover { border-color: #c9871d; background: #ffefcc; }
.synthetic-file-source.is-generating { opacity: .72; }
.synthetic-file-source.is-generated { border-color: #18805f; background: #e8f3ed; cursor: grab; }
.synthetic-file-source.is-dragging { opacity: .48; cursor: grabbing; }
.synthetic-file-source .file-glyph { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #d8891c; color: #fff; font-size: 20px; font-weight: 900; }
.synthetic-file-source.is-generated .file-glyph { background: #147a5a; }
.synthetic-file-source span:last-child { display: grid; gap: 4px; min-width: 0; }
.synthetic-file-source small { color: #936019; font-size: 9px; font-style: normal; font-weight: 850; letter-spacing: .11em; }
.synthetic-file-source strong { color: #24372f; font-size: 13px; line-height: 1.3; overflow-wrap: anywhere; }
.synthetic-file-source em { color: #6b706d; font-size: 11px; font-style: normal; font-weight: 500; line-height: 1.4; }
.file-flow-arrow { display: grid; place-items: center; color: #b67a1d; font-size: 23px; }
.file-drop-zone { min-height: 112px; display: grid; place-items: center; align-content: center; gap: 5px; margin: 0; border-width: 1px; background: rgba(255,255,255,.72); color: #30443c; }
.file-drop-zone .drop-glyph { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #e6f0eb; color: #147a5a; font-size: 17px; font-weight: 900; }
.file-drop-zone strong { font-size: 13px; }
.file-drop-zone small { color: var(--muted); font-size: 10px; font-weight: 500; }
.file-drop-zone.is-drag-over { border-color: #147a5a; background: #dff1e8; box-shadow: inset 0 0 0 2px rgba(20,122,90,.12); }
.file-drop-zone.is-processing { border-style: solid; border-color: #d58b18; background: #fff1d3; box-shadow: inset 0 0 0 2px rgba(213,139,24,.12); cursor: progress; }
.file-drop-zone.is-processing .drop-glyph { background: #d58b18; color: #fff; animation: reader-pulse 1.1s ease-in-out infinite; }
.file-drop-zone.is-complete { border-style: solid; border-color: #16805e; background: #e3f3eb; box-shadow: inset 0 0 0 2px rgba(22,128,94,.1); }
.file-drop-zone.is-complete .drop-glyph { background: #16805e; color: #fff; }
.file-drop-zone.is-error { border-style: solid; border-color: #b34b43; background: #fff0ed; }
.file-drop-zone.is-error .drop-glyph { background: #b34b43; color: #fff; }
.reader-progress { display: flex; gap: 4px; margin-top: 3px; }
.reader-progress i { width: 5px; height: 5px; border-radius: 50%; background: #b66c05; animation: reader-dot 1s ease-in-out infinite; }
.reader-progress i:nth-child(2) { animation-delay: .14s; }
.reader-progress i:nth-child(3) { animation-delay: .28s; }
@keyframes reader-pulse { 50% { transform: scale(.88); opacity: .75; } }
@keyframes reader-dot { 0%,100% { opacity: .25; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } }
.file-flow-help { margin: 8px 0 0; color: #6d7772; font-size: 11px; }

.booking-import-confirmation { margin-bottom: 18px; display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid #9dceb9; border-radius: 10px; background: #e5f3ec; color: #174b3b; }
.booking-import-confirmation > span { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #16805e; color: #fff; font-size: 16px; font-weight: 900; }
.booking-import-confirmation div { display: grid; gap: 2px; }
.booking-import-confirmation strong { font-size: 13px; }
.booking-import-confirmation small { color: #486c5f; font-size: 10px; line-height: 1.45; }

/* Type hierarchy: fewer competing headlines, quieter support copy, clearer tasks. */
.workspace-main { color: #21342d; font-size: 14px; line-height: 1.55; }
.workspace-main p { margin-top: 7px; margin-bottom: 10px; color: #5d6d66; font-size: 13.5px; line-height: 1.62; }
.workspace-main .eyebrow { font-size: 9px; letter-spacing: .13em; font-weight: 850; }
.workspace-main h2 { color: #172a23; line-height: 1.16; }
.workspace-main h3 { color: #20342c; font-size: 16px; line-height: 1.28; }
.plain-section h2,
.card h2 { margin: 4px 0 8px; font-size: 20px; font-weight: 760; }
.decision-report > header h2,
.booking-dashboard h2,
.operations-board h2,
.school-strategy-report h2,
.smart-seating-view h2 { font-size: clamp(27px,2.4vw,36px); font-weight: 780; line-height: 1.08; }
.school-database-head h2 { font-size: clamp(28px,2.7vw,38px); font-weight: 780; line-height: 1.08; }
.why-step-panel h2,
.payment-explanation h2 { margin: 4px 0 6px; font-size: 18px; font-weight: 760; }
.why-step-panel > p:not(.eyebrow),
.payment-explanation > p:not(.eyebrow) { font-size: 12.5px; line-height: 1.55; }
.why-step-panel li { font-size: 12px; }
.portfolio-metrics span { font-size: 10px; }
.portfolio-metrics strong { margin-top: 5px; font-size: 22px; font-weight: 780; }
.profile-coverage span,
.detail-grid span { font-size: 10.5px; }
.profile-coverage strong,
.detail-grid strong { font-size: 15px; }
.card-head { margin-bottom: 13px; }
.status,
.tag { padding: 4px 8px; font-size: 9px; letter-spacing: .03em; }
.primary-button,
.secondary-button,
.danger-button,
.ghost-button { padding: 9px 12px; font-size: 12px; font-weight: 760; }
.honesty-list,
.rule-list { font-size: 12.5px; line-height: 1.5; }
th { font-size: 9.5px; }
td { font-size: 12px; }
details > summary { font-size: 12.5px; }

@media (max-width: 950px) {
  .workspace-layout { grid-template-columns: 1fr; }
  .decision-infographics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stage-rail { position: static; max-height: none; overflow: visible; }
  .founder-decision-card, .strategy-summary-grid, .strategy-start-grid { grid-template-columns: 1fr; }
  .founder-action-grid { grid-template-columns: 1fr; }
  .portfolio-summary-metrics { grid-template-columns: repeat(2,1fr); gap:14px 0; }
  .stage-agent-sticky { position: static; }
  .next-step-banner { min-width: 220px; }
  .founder-sliders { grid-template-columns: 1fr; }
  .outreach-agent { grid-template-columns: 1fr; }
  .school-leaflet-map { height: 440px; }
  .grid.metrics { grid-template-columns: repeat(2,1fr); }
  .grid.two, .grid.three { grid-template-columns: 1fr; }
  .intro-hero { grid-template-columns: 1fr; }
  .report-columns, .ai-chat { grid-template-columns: 1fr; }
  .ai-chat form { grid-column: 1; }
  .school-performance { grid-template-columns: repeat(2,1fr); }
  .operations-columns, .school-reasons article { grid-template-columns: 1fr; }
  .strategy-editor { grid-template-columns: 1fr; }
  .school-database-head { display: grid; }
  .school-database-head .portfolio-metrics { min-width: 0; }
  .school-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .school-detail-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .map-selection { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .school-performance > div:nth-child(3) { border-left: 0; }
}
@media (max-width: 1500px) {
  .mode-tabs #mode-explanation { display: none; }
}
@media (max-width: 1400px) {
  .workspace-layout,
  body[data-view="decisions"] .workspace-layout { grid-template-columns: 1fr; }
  .stage-rail { position: static; max-height: none; overflow: visible; }
  .dated-workflow > summary { margin-bottom: 0; }
  .dated-workflow[open] > summary { margin-bottom: 16px; }
  .dated-workflow ol { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
  .dated-workflow li:nth-child(2n)::before { display: none; }
  .pilot-evidence-grid { grid-template-columns: 1fr 1fr; }
  .pilot-evidence-grid aside { grid-column: 1 / -1; border-left: 0; border-top: 1px solid #e3e8e4; }
}
@media (max-width: 700px) {
  .file-reader-flow.has-generator { grid-template-columns: 1fr; }
  .file-flow-arrow { transform: rotate(90deg); }
  .topbar { align-items: flex-start; flex-direction: column; }
  .decision-infographics { grid-template-columns: 1fr; }
  .topbar-actions { width: 100%; flex-wrap: wrap; }
  .topbar-actions > .live-dot, #system-state { display: none; }
  .next-step-banner { width: 100%; min-width: 0; }
  .next-step-banner small { grid-row: auto; writing-mode: horizontal-tb; transform: none; align-self: auto; }
  .stage-agent-sticky { position: static; }
  .local-map-shell svg { height: 440px; }
  .school-selector-grid { grid-template-columns: 1fr; }
  .fee-preview { grid-template-columns: 1fr; }
  .booking-links > article { align-items: flex-start; flex-direction: column; }
  .reasoning-list li { grid-template-columns: 1fr; gap: 4px; }
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; min-height: auto; overflow: visible; padding: 14px; }
  .sidebar-agent-context { display: none; }
  .brand { padding-bottom: 12px; }
  nav { grid-template-columns: repeat(3,1fr); }
  .nav-item { text-align: center; font-size: 11px; padding: 8px 4px; }
  .sidebar-foot { display: none; }
  .topbar { height: auto; min-height: 78px; }
  .grid.metrics, .fields { grid-template-columns: 1fr; }
  .operation-choices, .school-performance { grid-template-columns: 1fr; }
  .portfolio-metrics { grid-template-columns: repeat(2,1fr); }
  .portfolio-metrics span:nth-child(3) { border-left: 0; }
  .school-database-head .portfolio-metrics { grid-template-columns: 1fr; }
  .school-database-head .portfolio-metrics span + span { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .family-directory article { grid-template-columns: 13px 1fr; }
  .family-directory article b { grid-column: 2; }
  .school-performance > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .booking-dashboard > header, .decision-report > header { display: grid; }
  .target-chart > div { grid-template-columns: 1fr 80px 30px; }
  .current-task { grid-template-columns: 1fr; }
  .school-filter-grid, .school-detail-grid { grid-template-columns: 1fr; }
  .map-selection { grid-template-columns: 1fr; }
  .show-row-detail { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mode-tabs { padding: 7px 10px; gap:8px; }
  .workspace-switch button { min-width: 88px; padding: 0 9px; }
  .mode-reset { min-height: 34px; padding: 0 9px; font-size: 10px; }
  .mode-tabs > span { display: none; }
  .mode-tabs .next-step-banner { display:none; }
  .supplier-settlement-panel { grid-template-columns: 1fr; }
  .final-supplier-booking-panel { grid-template-columns: 1fr; }
  .supplier-settlement-metrics { grid-template-columns: 1fr 1fr; }
  .dated-workflow ol { grid-template-columns: 1fr; }
  .dated-workflow li:nth-child(2n)::before { display: block; }
  .dated-workflow li:last-child::before { display: none; }
  .pilot-evidence-panel > summary { align-items: flex-start; }
  .pilot-evidence-grid { grid-template-columns: 1fr; }
  .pilot-evidence-grid > * + * { border-left: 0; border-top: 1px solid #e3e8e4; }
  .toast { left: 12px; right: 12px; top: 76px; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Founder journey redesign — one operation moving from input to archive. */
:root {
  --journey-green: #073f31;
  --journey-green-2: #0b6249;
  --journey-honey: #d99518;
  --journey-ink: #14241e;
  --journey-muted: #65736d;
  --journey-line: #dfe5e1;
  --journey-canvas: #f6f7f5;
  --journey-ai: #edf3ff;
  --journey-code: #edf8f4;
  --journey-founder: #fff7e8;
  --journey-warning: #a84c3f;
}

html { scroll-padding-top: 104px; }
body { background: var(--journey-canvas); color: var(--journey-ink); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.journey-shell { min-height: 100vh; }
.journey-shell > main { min-width: 0; }
.journey-header {
  position: sticky; top: 0; z-index: 6000; min-height: 76px; padding: 10px clamp(18px,3vw,42px);
  display: grid; grid-template-columns: auto minmax(220px,1fr) minmax(250px,390px) auto; align-items: center; gap: 24px;
  background: linear-gradient(112deg,#063728,#0a503b); color: #fff; border-bottom: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 8px 28px rgba(7,39,30,.15);
}
body[data-workspace="real"] .journey-header { background: linear-gradient(112deg,#123b46,#17606d); }
.journey-brand { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; padding-right: 22px; border-right: 1px solid rgba(255,255,255,.25); }
.journey-brand img { width: 46px; height: 46px; object-fit: contain; }
.journey-brand strong { font-size: 22px; letter-spacing: .02em; }
.journey-product { min-width: 0; }
.journey-product h1 { margin: 0 0 3px; color: #fff; font-size: 18px; font-weight: 800; letter-spacing: -.01em; }
.journey-product p { margin: 0; color: #c8ded5; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.journey-current { min-width: 0; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 8px 10px; text-align: left; color: #fff; background: rgba(0,0,0,.11); border: 1px solid rgba(255,255,255,.18); border-radius: 10px; }
.journey-current:hover { background: rgba(255,255,255,.08); }
.gemini-live-star { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: rgba(244,181,48,.14); color: #ffc542; font-size: 21px; font-style: normal; box-shadow: inset 0 0 0 1px rgba(255,197,66,.22); }
.gemini-live-copy { min-width: 0; display: grid; gap: 2px; }
.journey-current .gemini-live-copy strong { overflow: hidden; color: #fff; font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.journey-current .gemini-live-copy small { overflow: hidden; color: #bcd1c8; font-size: 9px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.gemini-model-badge { padding: 5px 7px; border-radius: 999px; background: rgba(255,255,255,.09); color: #dff5e8; font-size: 9px; font-weight: 850; text-transform: capitalize; white-space: nowrap; }
.journey-current.ready .gemini-live-star { background: rgba(244,181,48,.18); color: #ffd15c; box-shadow: 0 0 18px rgba(255,197,66,.12), inset 0 0 0 1px rgba(255,209,92,.3); }
.journey-current.not-connected .gemini-live-star { background: rgba(255,255,255,.06); color: #9eb0a8; box-shadow: none; }
.journey-header-actions { display: flex; align-items: center; gap: 8px; }
.journey-header .workspace-switch { display: flex; padding: 3px; border: 1px solid rgba(255,255,255,.2); border-radius: 9px; background: rgba(0,0,0,.12); }
.journey-header .workspace-switch button { min-width: 58px; min-height: 32px; padding: 0 11px; border: 0; border-radius: 6px; background: transparent; color: #bcd1c8; font-size: 10px; font-weight: 800; }
.journey-header .workspace-switch button.active { background: #fff; color: var(--journey-green); box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.journey-header .workspace-switch button.public-locked { opacity: .42; }
.journey-header .mode-reset, .journey-settings { min-height: 38px; padding: 0 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; background: transparent; color: #e7f2ed; font-size: 10px; font-weight: 800; }
.journey-header .mode-reset:hover, .journey-settings:hover { background: rgba(255,255,255,.08); }
.journey-settings { display: flex; align-items: center; gap: 6px; }
.journey-settings b { font-size: 9px; max-width: 62px; overflow: hidden; text-overflow: ellipsis; }
.journey-settings.connected { border-color: rgba(137,210,154,.55); color: #b8f3c3; }

@media (max-width: 1300px) {
  .journey-product { min-width: 150px; }
  .journey-product p { display: none; }
  .journey-header { grid-template-columns: auto minmax(150px,.7fr) minmax(260px,360px) auto; gap: 16px; }
}

.journey-page { width: min(1220px,calc(100% - 40px)); margin: 0 auto; padding: 28px 0 90px; }
.journey-welcome { min-height: 560px; display: grid; place-content: center; justify-items: center; text-align: center; }
.journey-welcome img { width: 74px; margin-bottom: 18px; }
.journey-welcome h2 { max-width: 680px; margin: 3px 0 16px; font-size: clamp(36px,5vw,62px); line-height: 1.02; letter-spacing: -.045em; }
.journey-welcome p:not(.eyebrow) { max-width: 590px; color: var(--journey-muted); font-size: 17px; line-height: 1.65; }
.journey-welcome .button-row { justify-content: center; }

.journey-progress-card { margin-bottom: 24px; padding: 25px 28px; display: grid; grid-template-columns: 270px 1fr; gap: 18px 34px; background: #fff; border: 1px solid var(--journey-line); border-radius: 14px; box-shadow: 0 5px 18px rgba(20,36,30,.05); }
.journey-progress-copy h2 { margin: 3px 0 4px; font-size: 28px; letter-spacing: -.035em; }
.journey-progress-copy p:last-child { margin: 0; color: var(--journey-muted); font-size: 12px; }
.journey-progress-track { --journey-progress:0%; position: relative; display: flex; align-items: center; justify-content: space-between; align-self: center; padding: 0 6px; }
.journey-progress-track::before, .journey-progress-track::after { content: ""; position: absolute; left: 22px; right: 22px; top: 50%; height: 3px; transform: translateY(-50%); border-radius: 3px; background: #e6ebe8; }
.journey-progress-track::after { right: auto; width: var(--journey-progress); max-width: calc(100% - 44px); background: var(--journey-green-2); }
.journey-progress-track span { position: relative; z-index: 1; }
.journey-progress-track i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #d6deda; background: #f3f5f4; color: #718079; font-style: normal; font-size: 10px; font-weight: 850; }
.journey-progress-track span.complete i { border-color: var(--journey-green-2); background: var(--journey-green-2); color: #fff; }
.journey-progress-track span.current i { width: 34px; height: 34px; border: 5px solid #cfe4d9; background: var(--journey-green); color: #fff; box-shadow: 0 4px 11px rgba(7,63,49,.24); }
.journey-progress-track small { display: none; }
.journey-progress-badges { grid-column: 2; display: flex; gap: 10px; justify-content: center; }
.journey-progress-badges span { display: flex; align-items: center; gap: 7px; padding: 6px 11px; border: 1px solid var(--journey-line); border-radius: 7px; color: var(--journey-muted); background: #fbfcfb; font-size: 10px; font-weight: 750; }
.journey-progress-badges i { width: 8px; height: 8px; border-radius: 50%; background: #cfd7d3; }
.journey-progress-badges i.complete { background: var(--journey-green-2); }
.journey-progress-badges i.current { background: var(--journey-honey); box-shadow: 0 0 0 3px #f8e7c2; }

.journey-steps { position: relative; display: grid; gap: 12px; padding-left: 58px; }
.journey-steps::before { content: ""; position: absolute; left: 26px; top: 24px; bottom: 24px; width: 2px; background: #d8e0dc; }
.journey-step { position: relative; scroll-margin-top: 96px; background: #fff; border: 1px solid var(--journey-line); border-radius: 13px; box-shadow: 0 3px 12px rgba(20,36,30,.045); }
.journey-step.current { border-color: #b9d5c7; box-shadow: 0 8px 28px rgba(9,76,56,.09); }
.journey-step.locked { background: #fafbfa; box-shadow: none; }
.journey-spine-marker { position: absolute; z-index: 2; left: -58px; top: 20px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #cfd8d4; background: #fff; color: #798680; font-size: 13px; font-weight: 850; }
.journey-step.completed .journey-spine-marker { border-color: var(--journey-green-2); background: var(--journey-green-2); color: #fff; }
.journey-step.current .journey-spine-marker { width: 44px; height: 44px; left: -61px; top: 17px; border: 5px solid #d6e9df; background: var(--journey-green); color: #fff; font-size: 17px; }
.journey-step.locked .journey-spine-marker { border-style: dashed; color: #9ba6a1; }
.journey-step-head { width: 100%; min-height: 77px; padding: 15px 20px; display: grid; grid-template-columns: 34px 1fr auto 22px; align-items: center; gap: 13px; text-align: left; border: 0; border-radius: 13px; background: transparent; color: inherit; }
.journey-step-head:not(:disabled):hover { background: #fbfcfb; }
.journey-step-number { color: #3e4b45; font-size: 20px; font-weight: 650; font-variant-numeric: tabular-nums; }
.journey-step-copy { display: grid; gap: 4px; min-width: 0; }
.journey-step-copy strong { font-size: 14px; letter-spacing: -.01em; }
.journey-step-copy small { color: var(--journey-muted); font-size: 10.5px; line-height: 1.45; }
.journey-step-status { padding: 5px 9px; border-radius: 6px; font-size: 9px; font-weight: 850; white-space: nowrap; }
.journey-step-status.completed { color: #1c704f; background: #ebf6ef; border: 1px solid #cbe5d5; }
.journey-step-status.current { color: #6f4900; background: #fff6e3; border: 1px solid #eed7a7; }
.journey-step-status.locked { color: #7a8580; background: #f0f3f1; border: 1px solid #dfe5e1; }
.journey-chevron { font-style: normal; font-size: 19px; color: #7b8882; }
.journey-unlock { margin: -16px 55px 15px; color: #9aa49f; font-size: 9px; }
.journey-step-body { border-top: 1px solid var(--journey-line); padding: 20px; animation: journeyReveal .24s ease both; }
@keyframes journeyReveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.journey-active-heading { margin: 0 0 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.journey-active-heading span { color: var(--journey-green-2); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.journey-active-heading strong { color: var(--journey-muted); font-size: 11px; font-weight: 600; }
.journey-step-content { min-width: 0; }
.journey-step-content > :first-child { margin-top: 0; }
.journey-step-content h2 { font-size: clamp(20px,2.5vw,29px); letter-spacing: -.035em; }
.journey-step-content h3 { font-size: 15px; }
.journey-step-content p, .journey-step-content li, .journey-step-content td, .journey-step-content th, .journey-step-content label { font-size: 11px; }
.journey-step-content .eyebrow { font-size: 9px; }
.journey-step-content .school-database-head h2 { font-size: clamp(25px,3vw,38px); }
.journey-step-content .plain-section, .journey-step-content .card, .journey-step-content .why-step-panel { border-radius: 10px; box-shadow: none; }

.journey-process { margin: 0 0 18px; padding: 10px 14px; display: flex; align-items: center; justify-content: center; gap: 14px; border: 1px solid var(--journey-line); border-radius: 10px; background: #fbfcfb; }
.journey-process span { min-width: 96px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 11px; border-radius: 7px; color: #77837d; }
.journey-process span.done { color: #246b50; background: var(--journey-code); }
.journey-process span.active { color: #345daa; background: var(--journey-ai); box-shadow: inset 0 0 0 1px #cbd9f4; }
.journey-process i { font-style: normal; font-size: 15px; }
.journey-process b { font-size: 9px; letter-spacing: .04em; }
.journey-process em { color: #a3ada8; font-style: normal; }

.journey-step.current[id$="commercial_plan"] .journey-step-body,
.journey-step.current[id$="smart_seating"] .journey-step-body { padding: 24px; }
.journey-step.current[id$="commercial_plan"] { border-top: 4px solid var(--journey-honey); }
.journey-step.current[id$="smart_seating"] { border-top: 4px solid #6d72c9; }
.journey-step-body .founder-decision-card, .journey-step-body .founder-closeout { background: var(--journey-founder); border-color: #ebd8ae; }
.journey-step-body .ai-code-boundary { background: var(--journey-ai); border-color: #cddaf2; }
.journey-step-body .code-validation-card, .journey-step-body .validation-panel { background: var(--journey-code); }

.journey-evidence { margin: 22px 0 0 58px; border: 1px solid var(--journey-line); border-radius: 12px; background: #fff; }
.journey-evidence > summary { padding: 17px 20px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; }
.journey-evidence > summary span { display: grid; gap: 3px; }
.journey-evidence > summary small { color: var(--journey-green-2); font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.journey-evidence > summary strong { font-size: 13px; }
.journey-evidence > summary b { color: var(--journey-muted); font-size: 9px; }
.journey-evidence > div { padding: 0 20px 20px; border-top: 1px solid var(--journey-line); }

@media (max-width: 980px) {
  .journey-header { grid-template-columns: auto 1fr auto; gap: 14px; }
  .journey-current { display: none; }
  .journey-product p { max-width: 340px; }
  .journey-progress-card { grid-template-columns: 1fr; }
  .journey-progress-badges { grid-column: 1; }
  .journey-process { gap: 5px; overflow-x: auto; justify-content: flex-start; }
  .journey-process span { min-width: 86px; }
}

@media (max-width: 700px) {
  html { scroll-padding-top: 126px; }
  .journey-header { min-height: 112px; grid-template-columns: auto 1fr; padding: 10px 14px; }
  .journey-brand { padding-right: 12px; }
  .journey-brand img { width: 38px; height: 38px; }
  .journey-brand strong { display: none; }
  .journey-product h1 { font-size: 16px; }
  .journey-product p { max-width: 230px; }
  .journey-header-actions { grid-column: 1 / -1; justify-content: space-between; }
  .journey-page { width: min(100% - 20px,1220px); padding-top: 14px; }
  .journey-progress-card { padding: 20px 16px; }
  .journey-progress-track i { width: 23px; height: 23px; }
  .journey-progress-track span.current i { width: 29px; height: 29px; }
  .journey-progress-badges { flex-wrap: wrap; justify-content: flex-start; }
  .journey-steps { padding-left: 41px; }
  .journey-steps::before { left: 18px; }
  .journey-spine-marker { left: -41px; width: 30px; height: 30px; }
  .journey-step.current .journey-spine-marker { left: -44px; width: 36px; height: 36px; }
  .journey-step-head { grid-template-columns: 25px 1fr 20px; padding: 13px; gap: 9px; }
  .journey-step-status { display: none; }
  .journey-step-body { padding: 14px; }
  .journey-active-heading { align-items: flex-start; flex-direction: column; }
  .journey-unlock { margin-left: 47px; }
  .journey-process em { display: none; }
  .journey-evidence { margin-left: 41px; }
}

/* Refined jury journey: quieter explanations, clear AI state and inspectable demo files. */
.next-step-banner { cursor: default; padding-right: 10px; background: #183a30; }
.next-step-banner::after { content: none; }
.next-step-banner.ready { background: #0b694d; border-color: #5aa98b; box-shadow: none; }
.next-step-banner.not-connected { background: #273d35; border-color: #5b7068; }
.next-step-banner:hover { transform: none; box-shadow: none; }

.why-step-panel { margin: 0 0 14px; padding: 0; border: 0; border-left: 0; border-radius: 0; background: transparent; }
.why-step-panel summary { width: fit-content; display: inline-flex; align-items: center; gap: 7px; padding: 5px 0; color: #a45a08; cursor: pointer; list-style: none; }
.why-step-panel summary::-webkit-details-marker { display: none; }
.why-step-panel summary strong { font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.why-step-panel summary small { color: #8e918f; font-size: 9px; }
.why-step-star { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: #fff2d6; color: #c77408; font-size: 11px; }
.why-step-body { max-width: 880px; margin-top: 6px; padding: 13px 16px; border-left: 3px solid #d8891c; background: #fff8e9; }
.why-step-body h3 { margin: 0 0 5px; font-size: 14px; }
.why-step-body p { margin: 0; }
.why-step-panel ul { margin-top: 10px; }
.journey-step-content .payment-explanation { display: none; }

.optional-tool-toggle { border-color: #166c51; background: #0b5a43; color: #fff; padding: 14px 16px; }
.optional-tool-toggle:hover { border-color: #2c8a6c; background: #09674b; }
.optional-tool-toggle small, .optional-tool-toggle em { color: #bfe3d4; }
.optional-tool-toggle strong { color: #fff; font-size: 14px; }
.optional-tool-toggle b { color: #d9f99d; }
.optional-tool { border-color: #b9d7cb; background: #f3faf6; }

.theatre-reference-icon { background: transparent; border: 0; }
.theatre-reference-icon span { display: block; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 18px solid #b93636; filter: drop-shadow(0 1px 1px rgba(30,20,20,.35)); }

.school-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; padding: 16px 8px 4px; }
.school-pagination button { min-width: 34px; min-height: 32px; border: 1px solid #d2dbd6; border-radius: 7px; background: #fff; color: #365149; padding: 6px 9px; font-size: 10px; font-weight: 800; }
.school-pagination button.current { border-color: #0a7658; background: #0a7658; color: #fff; }
.school-pagination button:disabled { opacity: .38; cursor: default; }

.file-reader-flow.has-generator { grid-template-columns: minmax(220px,1.15fr) minmax(130px,.55fr) 24px minmax(240px,1fr); }
.synthetic-file-source, .synthetic-file-inspect, .file-drop-zone { position: relative; }
.file-step-number { position: absolute; top: 8px; left: 8px; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #173e32; color: #fff; font-size: 9px; font-weight: 900; }
.synthetic-file-source { padding-top: 30px; }
.synthetic-file-inspect { min-height: 112px; display: grid; align-content: center; gap: 4px; padding: 26px 14px 14px; border: 1px solid #ddcfad; border-radius: 11px; background: #fffdf7; color: #35443e; text-align: center; text-decoration: none; }
.synthetic-file-inspect:hover { border-color: #c9871d; background: #fff7e5; }
.synthetic-file-inspect strong { font-size: 12px; }
.synthetic-file-inspect small { color: #7a807d; font-size: 9px; }
.file-drop-zone { padding-top: 28px; border: 2px dashed #9bb8ac; }
.file-flow-help { color: #9a5c0c; font-weight: 750; }

.map-scroll { border: 1px solid #d8ddd9; background: #f7f6f1; }
.import-map { background: #f7f6f1; }
.import-map::before { content: "STAGE"; position: absolute; z-index: 1; top: 3%; left: 32%; right: 32%; height: 4%; display: grid; place-items: center; border-radius: 5px; background: #3f4743; color: #fff; font-size: 12px; letter-spacing: .2em; }
.map-seat.visual-context { background: #b9c0bc; opacity: .72; pointer-events: none; }
.map-seat.held { background: #2c9a6f; }

.school-target-control { display: grid; grid-template-columns: minmax(0,1fr) 120px; gap: 8px; padding: 10px; border: 1px solid #dce5df; border-radius: 9px; background: #fbfcfb; }
.school-target-control > small { grid-column: 1 / -1; color: #7b5a14; font-weight: 750; }
.school-card-next small { color: #75623c; font-size: 9px; }
.school-strategy-report > .role-handoff, .strategy-start > .role-handoff { display: none; }
.approved-portfolio-readonly { display: grid; gap: 5px; padding: 12px 14px; border: 1px solid #d9e3dd; border-radius: 9px; background: #f7faf8; }
.approved-portfolio-readonly span { color: #718078; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.approved-portfolio-readonly strong { font-size: 11px; }
.smart-seating-agent-actions { margin: 0 0 15px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 17px; border-radius: 10px; background: #0b5d45; color: #fff; }
.smart-seating-agent-actions h3 { margin: 3px 0; color: #fff; }
.smart-seating-agent-actions p { margin: 0; color: #cce7dc; }
.smart-seating-agent-actions .eyebrow { color: #d9f99d; }
.smart-seating-agent-actions .button-row { margin: 0; justify-content: flex-end; }
.smart-seating-agent-actions .primary-button { background: #ef9d16; color: #211608; }
.smart-seating-agent-actions .secondary-button { border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.08); color: #fff; }

.journey-step-head { grid-template-columns: 34px minmax(0,1fr) auto auto 22px; }
.journey-deadline { display: grid; justify-items: end; gap: 2px; color: #a86006; font-size: 9px; white-space: nowrap; }
.journey-deadline b { color: #a88655; font-size: 7px; letter-spacing: .06em; text-transform: uppercase; }

@media (max-width: 980px) {
  .file-reader-flow.has-generator { grid-template-columns: 1fr 1fr; }
  .file-flow-arrow { display: none; }
  .journey-deadline { display: none; }
  .journey-step-head { grid-template-columns: 34px minmax(0,1fr) auto 22px; }
}

@media (max-width: 700px) {
  .file-reader-flow.has-generator, .school-target-control { grid-template-columns: 1fr; }
  .school-target-control > small { grid-column: auto; }
  .journey-step-head { grid-template-columns: 25px minmax(0,1fr) 20px; }
  .smart-seating-agent-actions { align-items: flex-start; flex-direction: column; }
}
