.schedule-body { background: #eee9dc; }
.schedule-grid { position: fixed; inset: 78px 0 0; z-index: -1; pointer-events: none; background-image: linear-gradient(rgba(7,26,27,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(7,26,27,.035) 1px,transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(to bottom,black,transparent 72%); }
.schedule-masthead { grid-template-columns: minmax(260px,1fr) auto minmax(260px,1fr); }
.schedule-masthead nav { gap: .25rem; }
.product-link { position: relative; display: grid; place-items: center; padding: 0 1rem; color: rgba(255,255,255,.5); font: 500 .55rem/1 "IBM Plex Mono",monospace; text-decoration: none; text-transform: uppercase; }
.product-link::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 0; height: 4px; background: var(--acid); transition: left .25s,right .25s; }
.product-link:hover,.product-link.active { color: white; }.product-link.active::after { left: 12%; right: 12%; }
.local-badge { padding: .55rem .7rem; color: var(--acid); border: 1px solid rgba(215,255,79,.34); font: 500 .48rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }
.local-badge i { width: 7px; height: 7px; display: inline-block; margin-right: .35rem; background: var(--acid); border-radius: 50%; box-shadow: 0 0 12px var(--acid); }

.schedule-hero { min-height: 680px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 4vw; padding: 6rem max(4vw,2rem) 5rem; overflow: hidden; }
.schedule-hero-copy > p:last-of-type { max-width: 760px; margin: 2rem 0 0; color: #435452; font-size: clamp(1rem,1.5vw,1.3rem); line-height: 1.6; }
.schedule-hero h1 { margin: 0; font: 400 clamp(3.6rem,6.6vw,7.4rem)/.86 "Archivo Black",sans-serif; letter-spacing: -.075em; text-transform: uppercase; }
.schedule-hero h1 em { color: var(--orange); font-style: normal; -webkit-text-stroke: 1px var(--ink); text-shadow: 6px 6px 0 var(--ink); }
.evidence-machine { position: relative; min-height: 470px; padding: 1.3rem; color: white; background: var(--ink); box-shadow: 18px 18px 0 var(--cyan); overflow: hidden; }
.evidence-machine::before { content: ""; position: absolute; width: 430px; height: 430px; right: -180px; top: -180px; border: 1px solid rgba(83,215,210,.2); border-radius: 50%; box-shadow: inset 0 0 0 70px rgba(83,215,210,.03),inset 0 0 0 140px rgba(83,215,210,.03); animation: spin 18s linear infinite; }
.machine-top,.panel-label { position: relative; z-index: 1; display: flex; justify-content: space-between; color: rgba(255,255,255,.46); font: 500 .5rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }
.machine-top b { color: var(--acid); }
.machine-flow { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: .5rem; margin-top: 5rem; }
.machine-flow > div { min-height: 150px; padding: .9rem; display: flex; flex-direction: column; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.15); }
.machine-flow i { color: var(--acid); font: normal 500 .48rem/1 "IBM Plex Mono",monospace; }.machine-flow strong { margin-top: auto; font: 400 1.05rem/1 "Archivo Black",sans-serif; text-transform: uppercase; }.machine-flow small { margin-top: .5rem; color: rgba(255,255,255,.42); font-size: .55rem; line-height: 1.35; }.machine-flow > span { color: var(--orange); font: 400 1.5rem/1 "Archivo Black",sans-serif; }
.machine-output { position: relative; z-index: 1; display: grid; grid-template-columns: 18px repeat(3,1fr); gap: .55rem; align-items: center; margin-top: 2.2rem; color: rgba(255,255,255,.65); font: 500 .48rem/1.2 "IBM Plex Mono",monospace; text-transform: uppercase; }
.machine-output span { height: 2px; background: var(--orange); box-shadow: 0 0 12px var(--orange); }.machine-output b { padding: .75rem .4rem; text-align: center; border: 1px solid rgba(215,255,79,.25); }

.privacy-strip { display: grid; grid-template-columns: repeat(3,1fr); color: white; background: var(--ink-2); border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
.privacy-strip div { min-height: 110px; padding: 1.2rem max(2vw,1rem); border-right: 1px solid rgba(255,255,255,.12); }.privacy-strip div:last-child { border: 0; }
.privacy-strip strong,.privacy-strip span { display: block; }.privacy-strip strong { color: var(--acid); font: 400 1.1rem/1 "Archivo Black",sans-serif; text-transform: uppercase; }.privacy-strip span { max-width: 360px; margin-top: .55rem; color: rgba(255,255,255,.48); font-size: .66rem; line-height: 1.45; }

.intake-section,.material-section,.action-section { padding: 6.5rem max(4vw,2rem); }
.intake-grid { display: grid; grid-template-columns: repeat(2,1fr) 1.1fr; gap: .8rem; }
.file-drop,.narrative-input { position: relative; min-height: 280px; padding: 1.2rem; display: flex; flex-direction: column; color: var(--ink); background: rgba(255,255,255,.46); border: 1px solid var(--line); }
.file-drop { cursor: pointer; transition: transform .2s,background .2s,box-shadow .2s; }.file-drop:hover,.file-drop.dragging { background: var(--paper-2); transform: translateY(-5px); box-shadow: 10px 10px 0 var(--cyan); }.file-drop.current:hover,.file-drop.current.dragging { box-shadow-color: var(--acid); }
.file-drop input,.compact-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.file-drop > span,.narrative-input label span { color: var(--orange); font: 600 .5rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.file-drop strong { max-width: 270px; margin: auto 0 .65rem; font: 400 1.75rem/.95 "Archivo Black",sans-serif; overflow-wrap: anywhere; text-transform: uppercase; }.file-drop small { color: var(--muted); font: 500 .5rem/1.4 "IBM Plex Mono",monospace; text-transform: uppercase; }.file-drop > i { position: absolute; right: 1rem; top: 1rem; color: rgba(7,26,27,.13); font: normal 400 4.5rem/.8 "Archivo Black",sans-serif; }.file-drop.loaded { color: white; background: var(--ink); }.file-drop.loaded small { color: rgba(255,255,255,.48); }.file-drop.loaded > i { color: rgba(215,255,79,.13); }
.narrative-input label { display: flex; justify-content: space-between; gap: 1rem; }.narrative-input label small { color: var(--muted); font-size: .5rem; }.narrative-input textarea { width: 100%; flex: 1; margin: 1rem 0 .7rem; padding: .9rem; resize: vertical; color: var(--ink); background: rgba(255,255,255,.7); border: 1px solid var(--line); font: 400 .68rem/1.55 "DM Sans",sans-serif; }.compact-upload { align-self: flex-start; padding: .55rem .7rem; border: 1px solid var(--ink); font: 600 .48rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; cursor: pointer; }
.evidence-kit { margin-top: 1rem; padding: 1.2rem; color: white; background: var(--ink-2); }.evidence-kit-heading { display: grid; grid-template-columns: 1fr minmax(280px,.65fr); gap: 2rem; align-items: end; }.evidence-kit-heading span { color: var(--acid); font: 600 .48rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.evidence-kit-heading h3 { max-width: 760px; margin: .6rem 0 0; font: 400 clamp(1.7rem,3vw,3rem)/.9 "Archivo Black",sans-serif; letter-spacing: -.05em; text-transform: uppercase; }.evidence-kit-heading p { margin: 0; color: rgba(255,255,255,.48); font-size: .67rem; line-height: 1.55; }.evidence-kit-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .55rem; margin-top: 1.2rem; }.evidence-file { position: relative; min-height: 130px; padding: .9rem; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.16); cursor: pointer; transition: border-color .2s,transform .2s,background .2s; }.evidence-file:hover { border-color: var(--cyan); transform: translateY(-3px); }.evidence-file.loaded { color: var(--ink); background: var(--acid); border-color: var(--acid); }.evidence-file input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }.evidence-file span { color: var(--cyan); font: 600 .45rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.evidence-file.loaded span { color: #375125; }.evidence-file strong { margin: auto 0 .55rem; font-size: .72rem; overflow-wrap: anywhere; }.evidence-file small { color: rgba(255,255,255,.45); font-size: .5rem; line-height: 1.4; }.evidence-file.loaded small { color: rgba(7,26,27,.6); }
.rule-panel { margin-top: .8rem; background: rgba(255,255,255,.4); border: 1px solid var(--line); }.rule-panel summary { padding: 1rem 1.2rem; display: flex; justify-content: space-between; cursor: pointer; list-style: none; }.rule-panel summary::-webkit-details-marker { display: none; }.rule-panel summary span { font: 600 .55rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.rule-panel summary small { color: var(--muted); font-size: .58rem; }.rule-panel[open] summary { border-bottom: 1px solid var(--line); }
.rule-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .7rem; padding: 1rem; }.rule-grid label { min-height: 90px; padding: .75rem; background: var(--paper-2); border: 1px solid var(--line); }.rule-grid span,.rule-grid small { display: block; }.rule-grid span { font-size: .62rem; }.rule-grid small { margin-top: .35rem; color: var(--muted); font-size: .5rem; }.rule-grid input[type="number"] { width: 100%; margin-top: .7rem; padding: .45rem; background: var(--paper); border: 1px solid var(--line); }.rule-grid .check-rule { display: grid; grid-template-columns: auto 1fr; gap: .4rem .7rem; align-content: center; }.check-rule input { width: 20px; height: 20px; grid-row: 1/3; }.check-rule small { margin: 0; }
.run-bar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1rem; padding: 1rem 1.2rem; color: white; background: var(--ink); }.run-bar span,.run-bar small { display: block; }.run-bar span { color: var(--acid); font: 500 .53rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.run-bar small { margin-top: .4rem; color: rgba(255,255,255,.45); font-size: .58rem; }.run-review { min-width: 235px; padding: .95rem 1.1rem; color: var(--ink); background: var(--acid); border: 0; font: 600 .55rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.run-review i { width: 8px; height: 8px; display: inline-block; margin-right: .4rem; background: var(--orange); border-radius: 50%; }.run-review:disabled { opacity: .32; cursor: not-allowed; }

.review-results { border-top: 12px solid var(--ink); }.review-toolbar { position: sticky; top: 78px; z-index: 12; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 1rem; padding: .8rem max(4vw,2rem); color: white; background: rgba(7,26,27,.98); border-bottom: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(14px); }.review-toolbar > div:first-child span,.review-toolbar > div:first-child strong,.review-toolbar > div:first-child small { display: block; }.review-toolbar > div:first-child span { color: var(--acid); font: 500 .45rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.review-toolbar > div:first-child strong { margin-top: .32rem; font-size: .68rem; }.review-toolbar > div:first-child small { margin-top: .2rem; color: rgba(255,255,255,.4); font-size: .5rem; }
.mode-switch { display: flex; padding: .2rem; border: 1px solid rgba(255,255,255,.2); }.mode-switch button,.export-actions button { padding: .6rem .75rem; color: rgba(255,255,255,.55); background: transparent; border: 0; font: 600 .48rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.mode-switch button.active { color: var(--ink); background: var(--acid); }.export-actions { display: flex; gap: .45rem; }.export-actions button { color: white; border: 1px solid rgba(255,255,255,.25); }.export-actions button:last-child { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.review-pulse { display: grid; grid-template-columns: repeat(5,1fr); border-bottom: 1px solid var(--line); }.review-pulse article { min-height: 160px; padding: 1.4rem max(2vw,1rem); border-right: 1px solid var(--line); }.review-pulse article:last-child { border: 0; }.review-pulse span,.review-pulse small { display: block; color: var(--muted); font: 500 .49rem/1.3 "IBM Plex Mono",monospace; text-transform: uppercase; }.review-pulse strong { display: block; margin: .8rem 0 .4rem; font: 400 3.5rem/.8 "Archivo Black",sans-serif; letter-spacing: -.07em; }.review-pulse .signal strong { color: var(--orange); }.review-pulse .warning strong { color: #ad311d; }.review-pulse .coverage { color: white; background: var(--ink); }.review-pulse .coverage span,.review-pulse .coverage small { color: rgba(255,255,255,.48); }.review-pulse .coverage strong { color: var(--acid); font-size: 2.7rem; }
.completeness-section { padding: 5.5rem max(4vw,2rem); }.completeness-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: .55rem; }.completeness-card { min-height: 155px; padding: 1rem; display: flex; flex-direction: column; background: rgba(255,255,255,.35); border: 1px solid var(--line); }.completeness-card span { color: var(--muted); font: 600 .46rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.completeness-card strong { margin: auto 0 .55rem; font: 400 1.35rem/1 "Archivo Black",sans-serif; text-transform: uppercase; }.completeness-card small { color: var(--muted); font-size: .53rem; line-height: 1.45; }.completeness-card.present { box-shadow: inset 0 4px 0 var(--cyan); }.completeness-card.missing { background: #fff1e8; box-shadow: inset 0 4px 0 var(--orange); }.completeness-boundary { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; margin-top: .7rem; padding: 1rem; color: white; background: var(--ink); }.completeness-boundary strong { color: var(--acid); font: 400 .9rem/1 "Archivo Black",sans-serif; text-transform: uppercase; }.completeness-boundary span { color: rgba(255,255,255,.55); font-size: .6rem; line-height: 1.5; }
.executive-grid { display: grid; grid-template-columns: 1.15fr .85fr; padding: 6rem max(4vw,2rem); gap: 1rem; color: white; background: var(--ink); }.executive-grid article { min-height: 450px; padding: 1.4rem; border: 1px solid rgba(255,255,255,.14); }.executive-grid .panel-label i,.question-section .panel-label i { color: var(--acid); font-style: normal; }.executive-brief h2 { max-width: 850px; margin: 4rem 0 1.2rem; font: 400 clamp(2.6rem,5vw,5.4rem)/.85 "Archivo Black",sans-serif; letter-spacing: -.06em; text-transform: uppercase; }.executive-brief > p { max-width: 800px; color: rgba(255,255,255,.58); font-size: .9rem; line-height: 1.65; }
.headline-evidence { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; margin-top: 2rem; }.headline-evidence div { padding: .8rem; background: rgba(255,255,255,.05); border-left: 3px solid var(--cyan); }.headline-evidence span,.headline-evidence strong { display: block; }.headline-evidence span { color: rgba(255,255,255,.4); font: 500 .44rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.headline-evidence strong { margin-top: .45rem; font-size: .66rem; line-height: 1.35; }
.contradiction-panel { background: var(--acid); color: var(--ink); }.contradiction-panel .panel-label { color: rgba(7,26,27,.52); }.contradiction-panel .panel-label i { color: var(--ink); font-style: normal; }.contradiction-panel > div:last-child { display: grid; gap: .55rem; margin-top: 2rem; }.contradiction-card { padding: 1rem; background: var(--ink); color: white; }.contradiction-card span { color: var(--cyan); font: 500 .46rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.contradiction-card strong { display: block; margin: .7rem 0 .45rem; font-size: .76rem; }.contradiction-card p { margin: 0; color: rgba(255,255,255,.52); font-size: .63rem; line-height: 1.5; }.empty-panel { padding: 2rem; color: var(--muted); border: 1px dashed currentColor; font-size: .7rem; }
.evidence-focus-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; padding: 5.5rem max(4vw,2rem); }.evidence-focus-grid > article { min-height: 480px; padding: 1.2rem; background: var(--paper-2); border: 1px solid var(--line); }.evidence-focus-grid .panel-label { color: var(--muted); }.evidence-focus-grid .panel-label i { color: var(--orange); font-style: normal; }.evidence-focus-grid h2 { margin: 2.4rem 0 .8rem; font: 400 2.1rem/.9 "Archivo Black",sans-serif; letter-spacing: -.05em; text-transform: uppercase; }.evidence-focus-grid > article > p { min-height: 48px; color: var(--muted); font-size: .62rem; line-height: 1.5; }.focus-list { display: grid; gap: .45rem; margin-top: 1.3rem; }.focus-list article { padding: .75rem; border: 1px solid var(--line); }.focus-list article > span,.focus-list article > strong,.focus-list article > small { display: block; }.focus-list article > span { color: var(--orange); font: 600 .43rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.focus-list article > strong { margin: .5rem 0 .35rem; font-size: .61rem; }.focus-list article > small { color: var(--muted); font-size: .49rem; line-height: 1.4; }.focus-list article.linked { box-shadow: inset 3px 0 0 var(--cyan); }.focus-list article.unlinked { background: #fff1e8; box-shadow: inset 3px 0 0 var(--orange); }
.section-heading.compact { margin-bottom: 1.5rem; }.section-heading.compact h2 { font-size: clamp(2.3rem,4vw,4.2rem); }.change-filters { display: flex; gap: .4rem; margin-bottom: .8rem; }.change-filters button { padding: .6rem .75rem; color: var(--ink); background: transparent; border: 1px solid var(--line); font: 600 .48rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.change-filters button.active { color: white; background: var(--ink); border-color: var(--ink); }
.change-list { display: grid; border: 1px solid var(--line); }.change-row { width: 100%; min-height: 108px; display: grid; grid-template-columns: 72px minmax(220px,1.2fr) minmax(300px,1fr) 44px; align-items: center; gap: 1rem; padding: 1rem; text-align: left; color: var(--ink); background: rgba(255,255,255,.38); border: 0; border-bottom: 1px solid var(--line); }.change-row:last-child { border-bottom: 0; }.change-row:hover { background: var(--paper-2); }.change-score { display: grid; place-items: center; width: 54px; height: 54px; color: white; background: var(--ink); border-radius: 50%; font: 400 1.3rem/1 "Archivo Black",sans-serif; }.change-row.high .change-score { color: var(--ink); background: var(--orange); }.change-title span,.change-evidence-summary span { display: block; color: var(--muted); font: 500 .45rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.change-title strong { display: block; margin-top: .45rem; font-size: .74rem; }.change-title small { display: block; margin-top: .35rem; color: var(--muted); font-size: .54rem; }.change-evidence-summary strong { display: block; margin-top: .45rem; font-size: .65rem; line-height: 1.4; }.change-row > i { font-style: normal; font-size: 1.2rem; }.no-changes { padding: 3rem; text-align: center; color: var(--muted); background: rgba(255,255,255,.3); }
.analyst-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 0 max(4vw,2rem) 6rem; }.analyst-grid > article { min-height: 390px; padding: 1.3rem; background: var(--paper-2); border: 1px solid var(--line); }.analyst-grid .panel-label { color: var(--muted); }.analyst-grid .panel-label i { color: var(--orange); font-style: normal; }
body[data-mode="executive"] .analyst-only { display: none; }
.fitness-grid,.integrity-list { display: grid; gap: .5rem; margin-top: 1.5rem; }.fitness-item,.integrity-item { padding: .8rem; display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; border: 1px solid var(--line); }.fitness-item span,.integrity-item span { font-size: .65rem; }.fitness-item strong,.integrity-item strong { font: 600 .5rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.fitness-item small,.integrity-item small { grid-column: 1/-1; color: var(--muted); font-size: .54rem; line-height: 1.4; }.status-good { color: #12675d; }.status-warn { color: #a84b1d; }.status-info { color: #286f76; }
.question-section { padding: 6rem max(4vw,2rem); color: white; background: var(--ink-2); }.question-section .section-heading > div > span { color: var(--acid); }.question-section .section-heading p { color: rgba(255,255,255,.48); }.question-list { display: grid; grid-template-columns: repeat(2,1fr); gap: .7rem; }.question-card { min-height: 180px; padding: 1rem; display: flex; flex-direction: column; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); }.question-card > span { color: var(--cyan); font: 500 .46rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.question-card strong { margin: 1rem 0 .7rem; font-size: .8rem; line-height: 1.35; }.question-card small { color: rgba(255,255,255,.45); font-size: .56rem; line-height: 1.45; }.question-card button { align-self: flex-start; margin-top: auto; padding: .55rem .7rem; color: var(--ink); background: var(--acid); border: 0; font: 600 .46rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }
.action-form { display: grid; grid-template-columns: 1.6fr .7fr .6fr auto; gap: .7rem; padding: 1rem; color: white; background: var(--ink); }.action-form label span { display: block; margin-bottom: .35rem; color: rgba(255,255,255,.48); font: 500 .45rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.action-form input { width: 100%; height: 42px; padding: 0 .7rem; color: white; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); }.action-form button { align-self: end; height: 42px; padding: 0 .9rem; color: var(--ink); background: var(--acid); border: 0; font: 600 .48rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }
.follow-through-section { padding: 6rem max(4vw,2rem); color: white; background: var(--ink-2); }.follow-through-section .section-heading > div > span { color: var(--acid); }.follow-through-section .section-heading p { color: rgba(255,255,255,.48); }.follow-through-list { display: grid; gap: .55rem; }.follow-through-row { display: grid; grid-template-columns: 180px 1fr auto; gap: 1rem; align-items: center; padding: 1rem; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.13); }.follow-through-row > span { padding: .5rem; color: var(--ink); background: var(--cyan); font: 600 .45rem/1 "IBM Plex Mono",monospace; text-align: center; text-transform: uppercase; }.follow-through-row div strong,.follow-through-row div small { display: block; }.follow-through-row div strong { font-size: .68rem; }.follow-through-row div small { margin-top: .35rem; color: rgba(255,255,255,.45); font-size: .53rem; }.follow-through-row > i { color: var(--acid); font: normal 500 .5rem/1 "IBM Plex Mono",monospace; }.follow-through-row > span[class*="repeated"],.follow-through-row > span[class*="not-effective"] { background: var(--orange); }
.action-list { display: grid; margin-top: .7rem; border: 1px solid var(--line); }.action-row { display: grid; grid-template-columns: auto 1fr auto minmax(135px,auto) auto; gap: 1rem; align-items: center; padding: 1rem; background: rgba(255,255,255,.38); border-bottom: 1px solid var(--line); }.action-row:last-child { border: 0; }.action-row input { width: 20px; height: 20px; accent-color: var(--ink); }.action-row strong,.action-row small { display: block; }.action-row strong { font-size: .68rem; }.action-row small { margin-top: .3rem; color: var(--muted); font-size: .52rem; }.action-row.done strong { color: var(--muted); text-decoration: line-through; }.action-row > span { color: var(--muted); font: 500 .48rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.action-row select { min-height: 36px; padding: 0 .45rem; color: var(--ink); background: var(--paper-2); border: 1px solid var(--line); font-size: .53rem; }.action-row button { color: var(--ink); background: transparent; border: 0; font-size: 1rem; }
.boundary-panel { display: grid; grid-template-columns: auto 1fr; gap: 1.5rem; margin: 0 max(4vw,2rem) 6rem; padding: 1.3rem; color: var(--ink); background: var(--cyan); }.boundary-panel strong { font: 400 1.2rem/1 "Archivo Black",sans-serif; text-transform: uppercase; }.boundary-panel p { max-width: 900px; margin: 0; font-size: .68rem; line-height: 1.55; }
.format-note { display: grid; grid-template-columns: .45fr 1fr auto; gap: 1.5rem; align-items: start; margin: -5rem max(4vw,2rem) 6rem; padding: 1.2rem; border: 1px solid var(--line); }.format-note strong { font: 400 .9rem/1 "Archivo Black",sans-serif; text-transform: uppercase; }.format-note p { margin: 0; color: var(--muted); font-size: .6rem; line-height: 1.55; }.format-note div { display: grid; gap: .45rem; }.format-note a { color: var(--ink); font: 600 .46rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; text-decoration: underline; text-underline-offset: .25rem; }

.change-dialog { width: min(850px,calc(100% - 2rem)); color: var(--ink); background: var(--paper-2); }.change-dialog article { position: relative; padding: 1.5rem; }.change-dialog .panel-label { color: var(--muted); }.change-dialog .panel-label i { color: var(--orange); font-style: normal; }.change-dialog h2 { max-width: 700px; margin: 2rem 0 1rem; font: 400 clamp(2rem,4vw,4rem)/.88 "Archivo Black",sans-serif; letter-spacing: -.055em; text-transform: uppercase; }.change-dialog > article > p { color: var(--muted); font-size: .76rem; line-height: 1.6; }.change-evidence { display: grid; grid-template-columns: repeat(2,1fr); gap: .6rem; margin-top: 1rem; }.change-evidence div { min-height: 105px; padding: .8rem; background: var(--paper); border: 1px solid var(--line); }.change-evidence span,.change-evidence strong { display: block; }.change-evidence span { color: var(--muted); font: 500 .44rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }.change-evidence strong { margin-top: .6rem; font-size: .68rem; line-height: 1.4; }
.review-loader { position: fixed; inset: 0; z-index: 80; display: grid; place-content: center; justify-items: center; color: white; background: rgba(7,26,27,.97); }.loader-network { position: relative; width: 130px; height: 130px; margin-bottom: 1.5rem; border: 1px solid rgba(83,215,210,.2); border-radius: 50%; animation: spin 4s linear infinite; }.loader-network i { position: absolute; width: 12px; height: 12px; background: var(--acid); border-radius: 50%; box-shadow: 0 0 16px var(--acid); }.loader-network i:nth-child(1) { top: -6px; left: 59px; }.loader-network i:nth-child(2) { right: 2px; bottom: 20px; background: var(--orange); }.loader-network i:nth-child(3) { left: 2px; bottom: 20px; background: var(--cyan); }.loader-network span { position: absolute; inset: 38px; border: 1px solid rgba(255,255,255,.24); transform: rotate(45deg); }.review-loader strong { font: 400 1.5rem/1 "Archivo Black",sans-serif; text-transform: uppercase; }.review-loader small { margin-top: .6rem; color: rgba(255,255,255,.45); font: 500 .5rem/1 "IBM Plex Mono",monospace; text-transform: uppercase; }

@media (max-width: 1100px) {
  .schedule-masthead { grid-template-columns: 230px 1fr auto; }.schedule-hero { grid-template-columns: 1fr 430px; }.intake-grid { grid-template-columns: 1fr 1fr; }.narrative-input { grid-column: 1/-1; min-height: 230px; }.evidence-kit-grid { grid-template-columns: repeat(2,1fr); }.rule-grid { grid-template-columns: repeat(2,1fr); }.review-toolbar { grid-template-columns: 1fr auto; }.export-actions { grid-column: 1/-1; justify-content: flex-end; }.review-pulse { grid-template-columns: repeat(3,1fr); }.completeness-grid { grid-template-columns: repeat(2,1fr); }.headline-evidence { grid-template-columns: 1fr; }.evidence-focus-grid { grid-template-columns: 1fr; }.action-form { grid-template-columns: 1fr 1fr; }.action-form button { align-self: end; }
}
@media (max-width: 760px) {
  .schedule-grid { inset: 64px 0 62px; }.schedule-masthead { grid-template-columns: 1fr auto; }.schedule-masthead nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; height: 62px; display: grid; grid-template-columns: repeat(3,1fr); background: var(--ink); border-top: 1px solid rgba(255,255,255,.12); }.product-link { padding: 0 .35rem; font-size: .43rem; }.local-badge { padding: .5rem; font-size: .4rem; }.schedule-masthead .mast-actions > a { display: none; }
  .schedule-hero { min-height: 0; grid-template-columns: 1fr; padding: 4rem 1rem 3rem; }.schedule-hero h1 { font-size: 3.25rem; }.evidence-machine { min-height: 430px; box-shadow: 8px 8px 0 var(--cyan); }.machine-flow { grid-template-columns: 1fr; margin-top: 2.5rem; }.machine-flow > div { min-height: 80px; }.machine-flow > span { display: none; }.machine-output { grid-template-columns: 10px 1fr; }.machine-output b { grid-column: 2; }
  .privacy-strip { grid-template-columns: 1fr; }.privacy-strip div { min-height: 90px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .intake-section,.material-section,.action-section { padding: 4rem 1rem; }.intake-grid { grid-template-columns: 1fr; }.narrative-input { grid-column: auto; }.evidence-kit-heading { grid-template-columns: 1fr; }.evidence-kit-grid { grid-template-columns: 1fr; }.rule-panel summary { display: block; }.rule-panel summary small { display: block; margin-top: .5rem; }.rule-grid { grid-template-columns: 1fr; }.run-bar { align-items: stretch; flex-direction: column; }.run-review { min-width: 0; }
  .review-toolbar { top: 64px; grid-template-columns: 1fr; }.mode-switch,.export-actions { width: 100%; }.mode-switch button,.export-actions button { flex: 1; }.review-pulse { grid-template-columns: repeat(2,1fr); }.review-pulse article { min-height: 130px; }.review-pulse article:nth-child(2n) { border-right: 0; }.review-pulse article { border-bottom: 1px solid var(--line); }.review-pulse article:last-child { grid-column: 1/-1; border-bottom: 0; }.review-pulse strong { font-size: 2.7rem; }.completeness-section { padding: 4rem 1rem; }.completeness-grid { grid-template-columns: 1fr; }.completeness-boundary { grid-template-columns: 1fr; }
  .executive-grid { grid-template-columns: 1fr; padding: 4rem 1rem; }.executive-grid article { min-height: 390px; }.executive-brief h2 { margin-top: 3rem; font-size: 2.8rem; }.evidence-focus-grid { padding: 4rem 1rem; }.change-filters { overflow-x: auto; }.change-filters button { flex: 0 0 auto; }.change-row { grid-template-columns: 55px 1fr 28px; }.change-evidence-summary { grid-column: 2; }.analyst-grid { grid-template-columns: 1fr; padding: 0 1rem 4rem; }.question-section,.follow-through-section { padding: 4rem 1rem; }.question-list { grid-template-columns: 1fr; }.follow-through-row { grid-template-columns: 1fr; }.action-form { grid-template-columns: 1fr; }.action-row { grid-template-columns: auto 1fr auto; }.action-row > span,.action-row select { grid-column: 2; }.boundary-panel { grid-template-columns: 1fr; margin: 0 1rem 4rem; }.format-note { grid-template-columns: 1fr; margin: -3rem 1rem 4rem; }.change-evidence { grid-template-columns: 1fr; }
}
