:root {
  color-scheme: light;
  --cream: #fbf7ed;
  --navy: #152446;
  --navy-soft: #243961;
  --purple: #6c4298;
  --purple-pale: #eee7f6;
  --gold: #d5a62e;
  --ink: #26364a;
  --muted: #667085;
  --line: #e6dfd2;
  --white: #fff;
  --green: #286a55;
  --warm: #8b552a;
  --shadow: 0 8px 28px rgba(21, 36, 70, .07);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--cream); }
body {
  margin: 0;
  background:
    radial-gradient(circle at 8% 0, rgba(213, 166, 46, .1), transparent 30rem),
    radial-gradient(circle at 94% 16%, rgba(108, 66, 152, .08), transparent 28rem),
    var(--cream);
  color: var(--ink);
  font: 16px/1.55 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid rgba(230, 223, 210, .85);
  background: rgba(251, 247, 237, .92);
  backdrop-filter: blur(18px);
}
.nav-wrap {
  width: min(1480px, calc(100% - 48px));
  min-height: 72px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 18px;
}
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; text-decoration: none; }
.brand-icon {
  width: 62px;
  height: 62px;
  flex: 0 0 auto;
  object-fit: contain;
  image-rendering: pixelated;
  filter: drop-shadow(0 5px 10px rgba(21, 36, 70, .14));
}
.brand-logo {
  width: clamp(275px, 31vw, 455px);
  height: auto;
  margin: -24px 0;
  object-fit: contain;
  object-position: left center;
  clip-path: inset(20% 0);
  image-rendering: pixelated;
  filter: drop-shadow(0 3px 0 rgba(21, 36, 70, .13));
}
.private {
  margin-left: auto;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.header-actions { display: flex; align-items: center; gap: 8px; }
.dashboard-link, .quiet {
  border: 0;
  border-radius: 10px;
  padding: 10px 14px;
  color: var(--purple);
  background: var(--purple-pale);
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.dashboard-link:hover, .quiet:hover { background: #e2d7ee; color: var(--navy); }
.dashboard-link:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid rgba(108, 66, 152, .3); outline-offset: 3px; }

main { width: min(1480px, calc(100% - 48px)); margin: 0 auto; padding: 48px 0 80px; }
h1, h2, h3 { color: var(--navy); line-height: 1.12; letter-spacing: -.02em; }
h1 { margin: .3rem 0 1rem; font-size: clamp(2.15rem, 4vw, 3.5rem); }
h2 { margin: .3rem 0 1rem; font-size: clamp(1.45rem, 2.2vw, 1.8rem); }
h3 { margin: 1.35rem 0 .25rem; font-size: 1.45rem; }
p { margin-top: .5rem; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: var(--purple);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--gold); }

.state-card, .count, .intake-card, .panel {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
}
.state-card { max-width: 620px; margin: 8vh auto; padding: 44px; border-top: 5px solid var(--purple); }
.state-card label, #provision-form label { display: block; margin: 18px 0; color: var(--navy); font-weight: 750; }
.state-card input, #provision-form input, .target-row input {
  display: block;
  width: 100%;
  min-height: 48px;
  margin-top: 6px;
  padding: 11px 13px;
  border: 1px solid #b8bdc6;
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.state-card input:focus, #provision-form input:focus, .target-row input:focus {
  border-color: var(--purple);
  box-shadow: 0 0 0 4px rgba(108, 66, 152, .1);
  outline: 0;
}
.primary {
  border: 0;
  border-radius: 10px;
  padding: 12px 18px;
  background: var(--navy);
  color: white;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.primary:hover { background: var(--navy-soft); box-shadow: 0 8px 18px rgba(21, 36, 70, .14); transform: translateY(-1px); }
.primary:disabled { opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; }

.hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 34px; align-items: center; margin-bottom: 34px; }
.hero > div:first-child > p:last-child { max-width: 760px; color: var(--muted); font-size: 1.06rem; }
.safeguard {
  position: relative;
  overflow: hidden;
  padding: 28px 30px;
  border: 1px solid rgba(213, 166, 46, .3);
  border-radius: 20px;
  background: linear-gradient(135deg, var(--navy), #34265f);
  color: white;
  box-shadow: 0 14px 34px rgba(21, 36, 70, .15);
}
.safeguard::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 6px; background: var(--gold); }
.safeguard strong, .safeguard span { display: block; }
.safeguard strong { font-size: 1.22rem; }
.safeguard span { margin-top: 5px; color: #e7e0ef; }

.counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 34px 0 52px; }
.count { position: relative; min-height: 128px; padding: 23px; overflow: hidden; }
.count::after { content: ""; position: absolute; width: 56px; height: 5px; right: 23px; top: 0; border-radius: 0 0 8px 8px; background: var(--purple); opacity: .65; }
.count:nth-child(2)::after { background: var(--gold); }
.count:nth-child(3)::after { background: var(--navy); }
.count:nth-child(4)::after { background: linear-gradient(90deg, var(--purple), var(--gold)); }
.count span { color: var(--muted); font-weight: 700; }
.count strong { display: block; margin-top: 7px; color: var(--navy); font-size: 2rem; line-height: 1.1; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 0 0 20px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p { color: var(--muted); }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.intake-card { display: flex; flex-direction: column; padding: 24px; border-top: 5px solid rgba(108, 66, 152, .8); }
.card-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.pill { display: inline-block; border-radius: 999px; padding: 6px 10px; background: var(--purple-pale); color: var(--purple); font-size: .72rem; font-weight: 850; line-height: 1.2; text-transform: capitalize; }
.id { color: var(--muted); font: .72rem ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
dt { color: var(--muted); font-size: .78rem; }
dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.intake-card dl { margin: 22px 0; }
.intake-card dl div { display: flex; flex-direction: column; gap: 3px; }
.intake-card .review { width: 100%; margin-top: auto; }

#back-home { margin-bottom: 28px; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(310px, 1fr); gap: 24px; align-items: start; }
.panel { padding: 28px; margin: 0 0 24px; }
.detail-grid > div > .panel { border-radius: 22px; }
.detail-grid aside .panel { box-shadow: 0 6px 22px rgba(21, 36, 70, .06); }
.fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; }
.fields .wide { grid-column: 1 / -1; }
.fields p { margin: .25rem 0; white-space: pre-wrap; }
.notice { border-left: 6px solid var(--gold); }
.detail-grid aside .notice { border: 1px solid rgba(108, 66, 152, .25); border-top: 6px solid var(--purple); background: linear-gradient(180deg, #fff 0%, #fbf8fe 100%); }
.account { margin: 12px 0; padding: 15px 16px; border: 1px solid #e9e2d7; border-radius: 12px; background: #faf8f3; }
.ready, .needs, .off { display: inline-block; border-radius: 999px; padding: 4px 9px; font-size: .78rem; font-weight: 850; }
.ready { background: #e2f3eb; color: var(--green); }
.needs { background: #f9eadc; color: var(--warm); }
.off{ background: var(--purple-pale); color: var(--purple); }
.target-row { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 14px; align-items: center; margin: 13px 0; color: var(--navy); font-size: .78rem; font-weight: 800; }
.target-row input { margin: 0; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.decline { background: #f5e9e3; color: #784333; box-shadow: none; }
.decline:hover { background: #ecd8cf; color: #663528; }
.message { color: #913f36; font-weight: 650; }
#provision-form small { display: block; margin: -6px 0 18px; color: var(--muted); }
#provision-form .primary { width: 100%; }
.checklist { margin: 20px -4px 0; border-top: 1px solid var(--line); }
.checklist > div { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 13px 4px; border-bottom: 1px solid var(--line); }
.checklist > div > span { color: var(--ink); font-weight: 650; }
.checklist strong { flex: 0 1 auto; max-width: 58%; text-align: right; }
.signoffs { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.signoff-action { width: 100%; margin: 5px 0; padding: 10px 12px; border: 1px solid var(--purple); border-radius: 9px; background: #fff; color: var(--purple); font-weight: 800; cursor: pointer; }
.signoff-action.signed { border-color: var(--green); background: #e2f3eb; color: var(--green); cursor: default; opacity: 1; }
.procedural-fidelity { border-top: 6px solid var(--gold); }
.fidelity-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 20px 0; }
.fidelity-summary > div { padding: 15px; border-radius: 12px; background: #f8f5ee; }
.fidelity-summary span,.fidelity-summary strong,.fidelity-summary small { display:block; }
.fidelity-summary strong { color:var(--navy); font-size:1.5rem; }
.neutral-note,.system-evidence { padding:14px; border-left:4px solid var(--purple); background:var(--purple-pale); }
.procedural-fidelity select,.procedural-fidelity input[type=date],.procedural-fidelity textarea { width:100%; margin-top:6px; padding:10px; border:1px solid #b8bdc6; border-radius:9px; font:inherit; }
.fidelity-component { margin:18px 0; padding:18px; border:1px solid var(--line); border-radius:12px; }
.fidelity-component legend { color:var(--navy); font-weight:850; }
.fidelity-component small { display:block; color:var(--muted); }

@media (max-width: 1100px) {
  .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .private { display: none; }
  .header-actions { margin-left: auto; }
}
@media (max-width: 850px) {
  .hero, .detail-grid { grid-template-columns: 1fr; }
  .counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero { gap: 22px; }
  .safeguard { padding: 24px; }
}
@media (max-width: 650px) {
  .fidelity-summary { grid-template-columns:1fr; }
  .nav-wrap, main { width: min(100% - 28px, 1480px); }
  .nav-wrap { min-height: 64px; flex-wrap: wrap; padding: 6px 0 10px; }
  .brand-icon { width: 52px; height: 52px; }
  .brand-logo { width: min(235px, 58vw); margin: -18px 0; }
  .header-actions { width: 100%; justify-content: flex-end; }
  main { padding-top: 32px; }
  .card-grid, .fields { grid-template-columns: 1fr; }
  .fields .wide { grid-column: auto; }
  .section-heading { align-items: start; flex-direction: column; gap: 4px; }
  .state-card, .panel { padding: 22px; }
  .target-row { grid-template-columns: 1fr; gap: 4px; }
  .checklist > div { align-items: flex-start; flex-direction: column; gap: 7px; }
  .checklist strong { max-width: 100%; text-align: left; }
}
@media (max-width: 430px) {
  .counts, dl { grid-template-columns: 1fr; }
  .dashboard-link, .quiet { padding: 9px 11px; font-size: .86rem; }
  .actions { flex-direction: column; }
  .actions .primary { width: 100%; }
}
.detail-navigation { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; }
.detail-navigation #back-home { margin: 0; }
.print-heading, .print-target { display: none; }
.account .primary { display: block; width: 100%; margin-top: 12px; }
.account > small { overflow-wrap: anywhere; }
#qa-result { margin-top: 12px; }
#qa-result input { width: 100%; }
@media print {
  @page { size: portrait; margin: .6in; }
  body { background: #fff; color: #111; font-size: 10.5pt; }
  .site-header, .no-print, #loading-view, #login-view, #unauthorized-view, #error-view, #home-view { display: none !important; }
  main { width: 100%; margin: 0; padding: 0; }
  #detail-view, #detail { display: block !important; }
  .print-heading { display: block; padding-bottom: 14px; border-bottom: 2px solid #222; }
  .print-heading h1 { margin: 4px 0; font-size: 22pt; }
  .hero { display: none; }
  .detail-grid { display: block; }
  .panel { break-inside: avoid; margin: 0 0 14px; padding: 14px 0; border: 0; border-bottom: 1px solid #bbb; border-radius: 0; box-shadow: none; }
  .notice { border-left: 0; }
  .fields { gap: 8px 18px; }
  .target-row { break-inside: avoid; grid-template-columns: 110px 1fr; margin: 6px 0; }
  .target-row input { display: none; }
  .print-target { display: block; color: #111; font-size: 10.5pt; font-weight: 600; }
  h2 { font-size: 15pt; }
  p { orphans: 3; widows: 3; }
}
/* Dissertation operations command center */
#study-case-list { margin-bottom: 48px; }
.attention { border-left: 6px solid #b5473c; background: #fff8f6; }
.attention-summary { margin-bottom: 20px; }
.high-attention { margin: 8px 0; padding: 10px; border-left: 5px solid #b5473c; background: #fff1ee; }
.command-status { border-top: 6px solid var(--purple); }
.operations-checklist > div { flex-wrap: wrap; }
.operations-checklist .quiet { margin-left: auto; }
.panel form > label { display: block; margin: 14px 0; color: var(--navy); font-weight: 750; }
.panel form input, .panel form select, .panel form textarea { display: block; width: 100%; min-height: 44px; margin-top: 5px; padding: 10px; border: 1px solid #b8bdc6; border-radius: 9px; font: inherit; }
.privacy-help { display: block; margin: 8px 0 16px; color: var(--muted); }
.timeline { list-style: none; padding: 0; }
.timeline li { display: grid; grid-template-columns: 110px 150px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.timeline time { color: var(--muted); }
@media(max-width:650px){.timeline li{grid-template-columns:1fr;gap:3px}.operations-checklist .quiet{margin-left:0}}
.inline-record-list { display: grid; gap: 10px; margin: 18px 0; }
.inline-record { display: grid; grid-template-columns: minmax(210px,1.5fr) minmax(130px,.6fr) minmax(180px,1fr) auto; gap: 9px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 12px; }
.baseline-checklist-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0; }
.checklist-card { display:grid; grid-template-rows:auto auto auto 1fr; gap:9px; min-width:0; padding:14px; border:1px solid var(--line); border-radius:12px; background:#fcfbf8; }
.checklist-card-label { color:var(--navy); }
.checklist-card-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px; }
.checklist-card input,.checklist-card select { width:100%; min-width:0; min-height:44px; padding:9px; border:1px solid #b8bdc6; border-radius:8px; font:inherit; }
.checklist-card-save { align-self:end; justify-self:end; min-height:40px; padding-inline:18px; }
.measure-form { grid-template-columns: minmax(190px,1.3fr) 130px 145px minmax(170px,1fr) minmax(170px,1fr) auto; }
.inline-record input,.inline-record select { width:100%; min-height:40px; padding:8px; border:1px solid #b8bdc6; border-radius:8px; font:inherit; }
.compact-form { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background:#fcfbf8; }
.check-option { display:flex!important; align-items:center; gap:8px; font-weight:650!important; }
.check-option input { width:auto!important; min-height:auto!important; margin:0!important; }
.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.row-actions { display:inline-flex; flex-wrap:wrap; gap:6px; margin-left:8px; }
.study-wide-tasks { margin-top:24px; border-top:6px solid var(--gold); }
@media(max-width:1000px){.inline-record,.measure-form{grid-template-columns:1fr 1fr}.inline-record strong{grid-column:1/-1}}
@media(max-width:800px){.baseline-checklist-grid{grid-template-columns:1fr}}
@media(max-width:650px){.inline-record,.measure-form,.choice-grid,.checklist-card-controls{grid-template-columns:1fr}}
.observation-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:1rem 0}.observation-stats>div{border:1px solid #d8dbe6;border-radius:10px;padding:.8rem;display:flex;flex-direction:column}.interval-grid{display:grid;grid-template-columns:4rem repeat(4,minmax(42px,1fr));gap:3px;max-width:720px}.grid-head{text-align:center;font-weight:700}.interval-grid strong{display:grid;place-items:center}.interval-cell{min-height:34px;border:1px solid #9ba4b7;background:#fff;border-radius:4px;font-weight:800}.interval-cell[data-status="occurrence"]{background:#fff2b8}.interval-cell[data-status="not_observed"]{background:#e4e7ee}.interval-legend{display:flex;flex-wrap:wrap;gap:1rem;margin:.75rem 0}.fidelity-entry fieldset{margin:.6rem 0}.fidelity-entry label{display:inline-block;margin-right:1rem}.observation-history>li{margin-bottom:1rem}.observer-team{margin-top:1rem}@media(max-width:600px){.interval-grid{font-size:.8rem;grid-template-columns:3rem repeat(4,1fr)}.interval-cell{padding:.25rem}.fidelity-entry label{display:block}}

/* Prepared case tab workspace */
.case-header { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:24px; padding:30px; border:1px solid var(--line); border-top:6px solid var(--purple); border-radius:20px; background:var(--white); box-shadow:var(--shadow); }
.case-header h1 { margin-bottom:.45rem; }
.case-header p:last-child { margin-bottom:0; }
.case-status { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.case-tabs { display:flex; gap:8px; margin-bottom:28px; padding:6px; border:1px solid var(--line); border-radius:15px; background:#f2ede3; }
.case-tab { flex:1; min-height:52px; border:0; border-radius:10px; padding:12px 18px; background:transparent; color:var(--muted); font:inherit; font-weight:850; cursor:pointer; }
.case-tab[aria-selected="true"] { background:var(--navy); color:#fff; box-shadow:0 6px 15px rgba(21,36,70,.16); }
.case-tab:focus-visible, .operations-subnav a:focus-visible { outline:3px solid rgba(108,66,152,.35); outline-offset:2px; }
.intake-workspace, .operations-workspace { width:100%; }
.operations-subnav { position:sticky; top:84px; z-index:10; display:flex; gap:5px; overflow-x:auto; margin:0 0 22px; padding:8px; border:1px solid var(--line); border-radius:13px; background:rgba(251,247,237,.96); box-shadow:0 5px 16px rgba(21,36,70,.08); scrollbar-width:thin; }
.operations-subnav a { flex:0 0 auto; padding:8px 11px; border-radius:8px; color:var(--purple); font-size:.83rem; font-weight:800; text-decoration:none; white-space:nowrap; }
.operations-subnav a:hover { background:var(--purple-pale); color:var(--navy); }
.operations-section { scroll-margin-top:150px; }
.success-message { color:var(--green); font-weight:800; }
.intake-edit-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:6px solid var(--purple)}.intake-edit-actions p{margin:.25rem 0}.edit-intake-form{max-width:900px;margin-inline:auto}.edit-intake-form fieldset{margin:1.4rem 0;padding:18px;border:1px solid var(--line);border-radius:12px}.edit-intake-form legend{padding:0 8px;color:var(--navy);font-size:1.15rem;font-weight:850}.edit-intake-form label{display:block;margin:14px 0;color:var(--navy);font-weight:750}.edit-intake-form input,.edit-intake-form select,.edit-intake-form textarea{display:block;width:100%;min-height:44px;margin-top:5px;padding:10px;border:1px solid #9ba4b7;border-radius:9px;font:inherit}.edit-intake-form textarea{min-height:100px;resize:vertical}.edit-intake-form small{display:block;margin-top:5px;color:var(--muted)}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.historical-answers{margin:16px 0;padding:14px;border-left:5px solid var(--gold);background:#fffaf0}.historical-answers p{margin:.4rem 0}.historical-answers .check-option input{display:inline-block;width:auto}.edit-intake-form .message{color:#b5473c;font-weight:750}@media(max-width:650px){.intake-edit-actions{align-items:flex-start;flex-direction:column}.edit-grid{grid-template-columns:1fr}}
.case-report-button { display:block; margin:14px 0 4px auto; }
.case-report-help { display:block; color:var(--muted); text-align:right; }
.baseline-assignment { margin-bottom:10px; padding:16px; border:1px solid var(--line); border-radius:12px; background:#fcfbf8; }
.baseline-assignment p { margin:5px 0 0; font-size:1.08rem; }
@media(max-width:650px){.case-header{align-items:flex-start;flex-direction:column;padding:22px}.case-status{justify-content:flex-start}.case-tabs{overflow-x:auto}.case-tab{flex:0 0 auto;min-width:170px}.operations-subnav{top:124px}.interval-grid{min-width:360px}.observation-record-form{overflow-x:auto}}
@media print { .tab-panel[hidden] { display:none!important; } .intake-workspace { display:block!important; } .operations-workspace { display:none!important; } .case-header { display:none; } }
/* Unified classroom observation workflow */
.observations-ioa{width:100%;max-width:none}.setup-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:#fcfbf8}.setup-banner p{margin:.2rem 0}.unified-observation-form{margin:1rem 0 2rem;padding:1.25rem;border:2px solid var(--purple);border-radius:14px}.observation-details{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:.8rem}.observation-details .wide{grid-column:1/-1}.ioa-choice{margin:0}.phase-helper{padding:.6rem .8rem;background:var(--purple-pale);border-radius:8px}.unified-observation-form h4{margin-top:1.5rem;text-transform:uppercase;letter-spacing:.04em}.observation-history details{margin-top:.7rem}
@media(max-width:800px){.observation-details{grid-template-columns:1fr 1fr}.setup-banner{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.observation-details{grid-template-columns:1fr}.observation-details .wide{grid-column:auto}}
/* Lifecycle-oriented Research Operations workspace */
.case-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0}.case-summary>div,.readiness-summary>*{padding:.7rem;border-radius:9px;background:#f8f5ee}.lifecycle-bar{display:grid;grid-template-columns:repeat(8,minmax(90px,1fr));gap:4px;overflow-x:auto;margin:1.25rem 0;padding:0;list-style:none}.lifecycle-bar li{display:flex;align-items:center;gap:6px;min-height:46px;padding:8px;border-radius:9px;color:#8a8d96;font-size:.76rem;font-weight:800;white-space:nowrap}.lifecycle-bar li span{display:grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%}.lifecycle-bar .lifecycle-complete{background:#e2f3eb;color:var(--green)}.lifecycle-bar .lifecycle-current{background:var(--navy);color:#fff;box-shadow:0 5px 14px rgba(21,36,70,.2)}.lifecycle-bar .lifecycle-future{background:#f4f2ed}.whats-next{display:flex;flex-direction:column;gap:5px;padding:18px 20px;border:2px solid var(--gold);border-radius:14px;background:#fffaf0}.whats-next p{margin:0}.whats-next strong{color:var(--navy);font-size:1.12rem}.whats-next small{color:var(--muted)}.operations-section>h2{text-transform:none}.operations-section>h3{margin-top:1.6rem}.active-stage{border:2px solid var(--purple);border-top:7px solid var(--purple)}.readiness-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:1rem 0}.readiness-summary span{color:var(--muted)}.inline-action{display:inline-block;margin:.7rem 0;text-decoration:none}.weekly-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:1rem 0}.weekly-status span{padding:12px;border:1px solid var(--line);border-radius:10px}.criterion-note{padding:14px;border-left:4px solid var(--gold);background:#fffaf0}.game-qa-controls{margin-top:1rem}.jump-link{font-weight:800}.coaching-work .compact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.coaching-work .compact-form fieldset,.coaching-work .compact-form .privacy-help,.coaching-work .compact-form button{grid-column:1/-1}
@media(max-width:800px){.case-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-status{grid-template-columns:1fr}}
@media(max-width:550px){.case-summary,.readiness-summary,.coaching-work .compact-form{grid-template-columns:1fr}.coaching-work .compact-form fieldset,.coaching-work .compact-form .privacy-help,.coaching-work .compact-form button{grid-column:auto}}
.summary-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem;margin-bottom:1rem}.summary-form-grid .wide{grid-column:1/-1}.observation-summary-form{max-width:760px}.observation-summary-form>h4{margin:1.25rem 0 .6rem}.observation-history>li{padding:1rem 0;border-bottom:1px solid var(--line,#d9dee5)}.observation-history p{margin:.4rem 0}.edit-summary-form{margin-top:1rem;padding:1rem;background:#f7f8fa;border-radius:.5rem}@media(max-width:800px){.summary-form-grid{grid-template-columns:1fr}.summary-form-grid .wide{grid-column:auto}}
/* Phase-aware operational disclosures */
.game-readiness-status{display:inline-block;margin:.25rem 0 1rem;padding:.55rem .8rem;border-radius:8px;font-weight:900;letter-spacing:.04em}.game-readiness-status.ready{background:#e2f3eb}.game-readiness-status.needs{background:#fff1ee}.compact-orientation{display:grid!important;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:.75rem}.compact-orientation details{grid-column:1/-1}.compact-orientation .checklist-card{margin-top:.5rem}.content-review-summary{display:flex;flex-direction:column;gap:.35rem;margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:#f4faf7}.content-review-summary.needs{background:#fff8f6}.content-review-details,.future-stage-preview details{margin-top:.8rem}.content-review-details>summary,.future-stage-preview summary,.compact-orientation summary{color:var(--purple);font-weight:800;cursor:pointer}.content-review-details[open]>summary,.future-stage-preview details[open]>summary{margin-bottom:1rem}.future-stage-preview h2{margin:.3rem 0 .65rem;font-size:1.15rem}.future-stage-preview>p:last-of-type{margin-bottom:.5rem}@media(max-width:550px){.compact-orientation{grid-template-columns:1fr auto}.content-review-summary{font-size:.92rem}}
.launch-steps{display:grid;gap:1rem;margin-top:1rem}.launch-step{padding:1.15rem;border:1px solid var(--line);border-radius:12px;background:#fff}.launch-step h3{margin:.1rem 0 .5rem;color:var(--navy)}.launch-step pre{overflow:auto;margin:.75rem 0;padding:.85rem;border-radius:8px;background:#172033;color:#f8fafc;font-size:.84rem;line-height:1.5}.private-content-warning{padding:.75rem;border-left:4px solid #b88124;background:#fff8e8;font-weight:750}.launch-status-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.launch-reviews{display:grid;gap:.6rem;margin-top:1rem}.launch-reviews .signoff-action{display:flex;justify-content:space-between;align-items:center;text-align:left}.launch-step>.checklist-card{margin-top:1rem;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) minmax(140px,1fr) auto;grid-template-rows:auto;align-items:center}.launch-step>.checklist-card .checklist-card-controls{display:grid;grid-template-columns:1fr 1fr}.launch-step>.checklist-card .checklist-card-save{align-self:center}@media(max-width:800px){.launch-step>.checklist-card{grid-template-columns:1fr}.launch-status-row{align-items:baseline}}
.current-game-case,.game-prerequisites{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:#f7fafc}.current-game-case dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.75rem 0}.current-game-case dl div{padding:.7rem;background:#fff;border-radius:8px}.current-game-case dt{font-size:.75rem;font-weight:800;text-transform:uppercase;color:var(--muted)}.current-game-case dd{margin:.2rem 0 0;font-weight:800}.step-guide h4{margin:1rem 0 .25rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.step-guide h4:first-child{margin-top:.65rem}.canonical-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem 1.25rem;padding-left:1.2rem}.training-examples{padding:.85rem;border-radius:8px;background:#eef6ff}.command-block{position:relative}.command-block pre{padding-right:5.5rem}.command-block>.copy-command{position:absolute;top:.5rem;right:.5rem;border-color:#fff;color:#fff}.copy-feedback{display:block;min-height:1.3em;color:var(--green);font-weight:800}.argument-guide{display:grid;grid-template-columns:max-content 1fr;gap:.35rem .8rem}.argument-guide div{display:contents}.argument-guide dt{font-weight:800}.argument-guide dd{margin:0}.review-explanation{padding:.75rem;border:1px solid var(--line);border-radius:8px}.review-explanation h4{margin:0;text-transform:none;font-size:1rem;letter-spacing:0;color:var(--navy)}.file-tree{white-space:pre-wrap}@media(max-width:800px){.current-game-case dl,.canonical-sections{grid-template-columns:1fr}.command-block>.copy-command{position:static;margin-top:-.4rem}}

/* Browser mission authoring */
.browser-authoring{max-width:1500px}.browser-authoring>.game-creation-heading,.mission-builder>header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.mission-bank{margin:1.5rem 0}.mission-bank-group{margin-top:1.25rem}.mission-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.65rem}.mission-slot{display:flex;min-height:92px;flex-direction:column;align-items:flex-start;text-align:left;padding:.8rem;border:2px solid #d8dbe3;border-radius:10px;background:#fff;color:inherit}.mission-slot span{margin-top:.3rem}.mission-slot small{margin-top:auto}.mission-slot.selected,.decision-tabs button.selected,.branch-tabs button.selected{border-color:#6145a5;background:#f1edff;box-shadow:0 0 0 2px #6145a522}.crisis-label,.privacy-warning{padding:.8rem;border-left:4px solid #a96d00;background:#fff8e5}.resource-map-placeholder,.case-context,.builder-section{margin:1.25rem 0;padding:1rem;border:1px solid #d8dbe3;border-radius:12px;background:#fff}.authoring-links{display:flex;flex-direction:column;gap:.4rem}.case-context dl{display:flex;flex-wrap:wrap;gap:1.5rem}.case-context dt{font-size:.8rem;text-transform:uppercase}.case-context dd{margin:0}.builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.builder-grid label,.scene-editor>label,.choice-card label,.ending-cards label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}.builder-grid .wide{grid-column:1/-1}.builder-grid fieldset{display:flex;flex-wrap:wrap;gap:.65rem}.target-option{display:flex;gap:.7rem;margin:.7rem 0}.target-option span{display:grid;grid-template-columns:minmax(110px,auto) 1fr auto;gap:1rem;width:100%}.decision-tabs,.branch-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.decision-tabs button{display:flex;flex-direction:column}.choice-cards,.ending-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.choice-card,.ending-cards fieldset{min-width:0;padding:1rem;border:1px solid #c9cbd2;border-radius:9px}.choice-card input,.choice-card select,.choice-card textarea,.ending-cards textarea,.scene-editor textarea,.scene-editor select,.builder-grid input,.builder-grid select,.builder-grid textarea{box-sizing:border-box;width:100%}.choice-card label{margin:.6rem 0}.save-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-top:2px solid #6145a5}.legacy-note{text-align:center;color:#666;font-size:.9rem}@media(max-width:850px){.builder-grid,.choice-cards,.ending-cards{grid-template-columns:1fr}.target-option span{grid-template-columns:1fr}.browser-authoring>.game-creation-heading,.mission-builder>header{display:block}}

.game-setup,.resource-map-builder{margin-top:1.25rem}.game-setup label{display:grid;gap:.45rem}.game-setup textarea{min-height:9rem}.resource-section{margin:.8rem 0;border:1px solid #d6ccb8;border-radius:10px;background:#fff}.resource-section summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer}.resource-section>p,.resource-section>label,.resource-blocks{margin:1rem}.resource-block{border:1px solid #ddd;border-radius:8px;padding:1rem;margin:.75rem 0;display:grid;gap:.65rem}.resource-block-controls{display:flex;flex-wrap:wrap;gap:.5rem}.resource-item{display:flex;align-items:end;gap:.5rem;margin:.5rem 0}.definition-item{display:grid;grid-template-columns:1fr 2fr auto}.resource-map-builder select{max-width:18rem}.unsupported{border-color:#a33;background:#fff7f7}
.weekly-labels{margin-top:1.25rem;padding:1rem;border-radius:10px;background:#f7f4fb}.weekly-labels h3{margin-top:0}.weekly-labels input{box-sizing:border-box;width:100%;min-height:42px;padding:.65rem;border:1px solid #b8bdc6;border-radius:8px}.full-draft-check{border-top:6px solid var(--purple)}.full-draft-check>.actions{display:flex;flex-wrap:wrap;gap:.75rem}.full-draft-report{margin-top:1rem}.check-category{margin:.75rem 0;padding:.8rem;border:1px solid var(--line);border-radius:9px}.check-category h4{display:flex;justify-content:space-between;gap:1rem;margin:0 0 .5rem}.check-finding{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px solid var(--line)}.check-finding:first-of-type{border-top:0}.warning{color:#8b5c00;font-weight:800}@media(max-width:650px){.check-finding{align-items:flex-start;flex-direction:column}}

.resource-heading-block{border-left:4px solid #6145a5;background:#faf8ff}.resource-heading-block>label{font-weight:700}.resource-heading-block input{box-sizing:border-box;width:100%;font-weight:700}
/* Historical study records are visually secondary; archival does not affect access. */
.case-filter-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.case-filter-toggle{padding:.45rem .7rem;font-size:.88rem}.study-card.archived-case{order:2;border-color:#c9c9c9;background:#f1f1ef;color:var(--muted);box-shadow:none}.study-card.archived-case .pill{background:#dedede;color:#4f5358}.study-card.archived-case .archive-reason{font-size:.9rem;font-style:italic}.study-card.test-case{border:3px solid #a33;background:#fff7f1}.test-participant-badge{display:inline-block;margin:0 0 .75rem;padding:.35rem .6rem;border-radius:4px;background:#8d1b1b;color:#fff;font-size:.78rem;font-weight:900;letter-spacing:.08em}
