:root {
  --navy: #173e55;
  --green: #1d5645;
  --amber: #a66c12;
  --soft-green: #e8f2ed;
  --soft-blue: #e7eef2;
  --soft-amber: #f7eedc;
}

main { max-width: 1540px; }
.navigator-decisions { margin: 12px 0; }

.active-project-rail {
  position: sticky;
  z-index: 8;
  top: 72px;
  min-height: 58px;
  padding: 9px clamp(16px, 3vw, 48px);
  display: grid;
  grid-template-columns: minmax(230px, 1.3fr) repeat(3, minmax(150px, 1fr)) auto;
  gap: 20px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: #f7f5eef5;
  backdrop-filter: blur(14px);
}
.active-project-rail > div { min-width: 0; display: grid; gap: 3px; }
.active-project-rail small { color: var(--muted); font: 800 7px ui-monospace, monospace; letter-spacing: .1em; }
.active-project-rail strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.active-project-rail .healthy { color: var(--green); }
.active-project-rail .risk { color: var(--danger); }
.active-project-rail > a { color: var(--navy); font-size: 9px; font-weight: 850; text-decoration: none; }

.setup-intro,
.project-heading {
  min-height: 220px;
  padding: 45px 0 28px;
  display: flex;
  gap: 48px;
  align-items: end;
  justify-content: space-between;
  border-bottom: 1px solid var(--ink);
}
.setup-intro h1,
.project-heading h1 {
  max-width: 970px;
  margin: 10px 0 0;
  font-size: clamp(42px, 5.8vw, 78px);
  line-height: .91;
  letter-spacing: -.06em;
  text-transform: uppercase;
}
.setup-intro h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 1.2px var(--ink); }
.setup-intro-copy,
.project-heading > p {
  max-width: 420px;
  margin: 0 0 6px;
  padding-left: 18px;
  border-left: 3px solid var(--navy);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}
.setup-intro-copy > p { margin: 0; }
.setup-intro-copy > button { margin-top: 15px; padding: 0; border: 0; background: transparent; color: var(--navy); font-size: 9px; font-weight: 850; }
.project-heading { min-height: 148px; padding-top: 34px; }
.project-heading h1 { font-size: clamp(36px, 4.5vw, 62px); text-transform: none; }
.project-heading-side { max-width: 440px; display: grid; gap: 14px; }
.project-heading-side > p { margin: 0; padding-left: 18px; border-left: 3px solid var(--navy); color: var(--muted); font-size: 12px; line-height: 1.65; }
.project-lifecycle-actions { display: flex; gap: 7px; justify-content: flex-end; }
.project-lifecycle-actions button { padding: 9px 12px; border: 1px solid var(--navy); background: transparent; color: var(--navy); font-size: 8px; font-weight: 850; }
.project-lifecycle-actions .danger { border-color: #a44b3f; color: #8c352d; }
.project-lifecycle-dialog { width: min(570px, calc(100vw - 28px)); padding: 0; border: 1px solid var(--ink); background: #fffdf7; color: var(--ink); }
.project-lifecycle-dialog::backdrop { background: #102b3c99; backdrop-filter: blur(4px); }
.project-lifecycle-dialog header, .project-lifecycle-dialog footer { padding: 18px 20px; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.project-lifecycle-dialog header h2 { margin: 5px 0 0; font-size: 25px; }
.project-lifecycle-dialog header button { border: 0; background: transparent; font-size: 24px; }
.project-lifecycle-copy { padding: 22px 20px 8px; color: var(--muted); font-size: 11px; line-height: 1.65; }
.project-lifecycle-copy strong { display: block; margin-bottom: 8px; color: var(--ink); font-size: 13px; }
.project-lifecycle-dialog label { margin: 14px 20px; display: grid; gap: 7px; color: var(--muted); font: 800 8px ui-monospace, monospace; text-transform: uppercase; }
.project-lifecycle-dialog input { min-height: 42px; padding: 9px 11px; border: 1px solid var(--line); font: 500 11px sans-serif; text-transform: none; }
#project-lifecycle-status { min-height: 18px; margin: 10px 20px; color: #8c352d; font-size: 9px; }
.project-lifecycle-dialog footer { border-top: 1px solid var(--line); border-bottom: 0; justify-content: flex-end; }
.project-lifecycle-dialog footer button { padding: 10px 14px; border: 1px solid var(--line); background: transparent; font-size: 8px; font-weight: 850; }
.project-lifecycle-dialog footer button[type="submit"] { border-color: var(--navy); background: var(--navy); color: white; }

.setup-paths {
  margin: 20px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--ink);
  background: var(--ink);
  gap: 1px;
}
.setup-path {
  min-height: 300px;
  padding: 24px;
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 12px;
  border: 0;
  background: #fffdf7;
  color: var(--ink);
  text-align: left;
  transition: background .2s ease, color .2s ease;
}
.setup-path:hover,
.setup-path.selected { background: var(--navy); color: white; }
.setup-path > span { color: #a7a89f; font: 500 44px Georgia, serif; }
.setup-path small { color: var(--navy); font: 850 7px ui-monospace, monospace; letter-spacing: .13em; }
.setup-path:hover small,
.setup-path.selected small { color: #b9d4e1; }
.setup-path h2 { max-width: 280px; margin: 4px 0 0; font-size: 25px; letter-spacing: -.04em; }
.setup-path p { max-width: 370px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.setup-path:hover p,
.setup-path.selected p { color: #d4dfe4; }
.setup-path b { align-self: end; font-size: 9px; }

.procore-plan,
.setup-workbench {
  margin: 20px 0 48px;
  border: 1px solid var(--ink);
  background: #fffdf7;
}
.procore-plan > header,
.setup-workbench > header,
.now-panel > header,
.phase-horizon > header,
.milestone-register > header,
.ledger-shell > header,
.plan-panel > header {
  min-height: 78px;
  padding: 18px 20px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--line);
}
.procore-plan h2,
.setup-workbench h2,
.now-panel h2,
.phase-horizon h2,
.milestone-register h2,
.ledger-shell h2,
.plan-panel h2 { margin: 5px 0 0; font-size: 23px; letter-spacing: -.035em; }
.procore-plan > header > span,
.now-panel > header > span,
.phase-horizon > header > span,
.milestone-register > header > span,
.ledger-shell > header > span,
.plan-panel > header > span {
  color: var(--muted);
  font: 800 7px ui-monospace, monospace;
  letter-spacing: .08em;
}
.procore-map { display: grid; grid-template-columns: repeat(4, 1fr); }
.procore-map article { min-height: 150px; padding: 22px; border-right: 1px solid var(--line); }
.procore-map article:last-child { border: 0; }
.procore-map small { color: var(--navy); font: 850 7px ui-monospace, monospace; }
.procore-map b { display: block; margin-top: 30px; font-size: 13px; }
.procore-map p { margin: 8px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.procore-plan > footer { padding: 14px 20px; display: flex; align-items: center; gap: 16px; border-top: 1px solid var(--line); }
.procore-plan footer span { color: var(--muted); font-size: 9px; }
.procore-plan button,
.setup-workbench > header button { padding: 8px 12px; border: 1px solid var(--line); background: transparent; font-size: 8px; font-weight: 850; }

.setup-workbench form { padding: 22px; }
.fast-fields,
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fast-fields { max-width: 960px; }
.fast-fields label,
.detail-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font: 800 8px ui-monospace, monospace;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.fast-fields .wide,
.detail-grid .wide { grid-column: 1 / -1; }
.fast-fields input,
.fast-fields select,
.detail-grid input,
.detail-grid select,
.detail-grid textarea {
  width: 100%;
  min-height: 43px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: white;
  color: var(--ink);
  font-size: 11px;
  text-transform: none;
}
.detail-grid textarea { resize: vertical; }

.file-intake { margin: 20px 0; display: grid; grid-template-columns: minmax(280px, .9fr) 1.1fr; border: 1px dashed var(--navy); background: var(--soft-blue); }
.file-intake > label { min-height: 150px; padding: 22px; display: grid; align-content: center; gap: 8px; cursor: pointer; }
.file-intake > label span { color: var(--navy); font: 850 7px ui-monospace, monospace; letter-spacing: .12em; }
.file-intake > label b { max-width: 420px; font-size: 17px; }
.file-intake > label small { max-width: 480px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.file-intake > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.staged-files { min-height: 150px; display: grid; align-content: center; border-left: 1px solid #b9cbd4; background: #fff; }
.staged-files > p { padding: 20px; color: var(--muted); font-size: 10px; }
.staged-files article { padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.staged-files article span { display: grid; gap: 3px; }
.staged-files article b { font-size: 10px; }
.staged-files article small { color: var(--muted); font-size: 8px; }
.staged-files article button { border: 0; background: transparent; color: var(--muted); font-size: 18px; }

.expand-setup {
  width: 100%;
  margin: 20px 0;
  padding: 17px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
  text-align: left;
}
.expand-setup span { display: grid; gap: 4px; }
.expand-setup b { font-size: 11px; }
.expand-setup small { color: var(--muted); font-size: 9px; }
.expand-setup em { color: var(--navy); font-size: 9px; font-style: normal; font-weight: 850; }
.critical-details { margin-bottom: 20px; padding: 20px; border-left: 4px solid var(--navy); background: #f5f3ec; }
.critical-details header { margin-bottom: 18px; }
.critical-details h3 { margin: 5px 0 0; font-size: 17px; }
.permission-note { margin-top: 18px; padding: 15px 17px; display: grid; grid-template-columns: 180px 1fr; border: 1px solid #c7d9cf; background: var(--soft-green); }
.permission-note b { color: var(--green); font-size: 10px; }
.permission-note p { margin: 0; color: #496258; font-size: 9px; line-height: 1.55; }
.setup-submit { margin-top: 18px; display: flex; align-items: center; justify-content: flex-end; gap: 20px; }
.setup-submit p { flex: 1; margin: 0; color: var(--muted); font-size: 9px; }
.setup-submit button,
.plan-panel form > button { min-height: 44px; padding: 0 18px; border: 0; background: var(--navy); color: white; font-size: 9px; font-weight: 850; }
.setup-submit button:disabled { opacity: .45; }

.one-clock-control {
  margin: 16px 0 12px;
  display: grid;
  grid-template-columns: 165px repeat(4, 1fr);
  border: 1px solid var(--ink);
  background: var(--ink);
  gap: 1px;
}
.one-clock-control article { min-height: 104px; padding: 15px; display: grid; align-content: space-between; gap: 7px; background: #fffdf7; }
.one-clock-control small { color: var(--muted); font: 800 7px ui-monospace, monospace; letter-spacing: .1em; }
.one-clock-control b { font-size: 15px; }
.one-clock-control p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.one-clock-control .clock-now { place-items: center; align-content: center; background: var(--ink); color: white; text-align: center; }
.clock-now strong { color: var(--lime); font: 700 31px Georgia, serif; }
.clock-now span { color: #aeb8b3; font-size: 7px; }
.one-clock-control article.risk b { color: var(--danger); }
.one-clock-control article.healthy b { color: var(--green); }

.journey-toolbar { margin: 0 0 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.journey-toolbar > div { display: flex; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: white; }
.journey-toolbar button { padding: 10px 13px; border: 0; background: white; color: var(--muted); font-size: 9px; font-weight: 800; }
.journey-toolbar button.active { background: var(--ink); color: white; }
.journey-toolbar > a { min-height: 36px; padding: 0 13px; display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 7px; color: var(--navy); font-size: 9px; font-weight: 850; text-decoration: none; }
.planning-canvas { min-height: 420px; padding: 0; background: transparent; }

.now-grid { display: grid; grid-template-columns: 1.4fr .8fr; gap: 12px; }
.now-panel { border: 1px solid var(--line); background: #fffdf7; }
.action-list { display: grid; }
.action-row,
.milestone-row {
  width: 100%;
  padding: 13px 16px;
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 10px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: white;
  color: var(--ink);
  text-align: left;
}
.action-row i,
.milestone-row > i { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-style: normal; }
.action-row span,
.milestone-row > div { display: grid; gap: 3px; }
.action-row b,
.milestone-row b { font-size: 10px; }
.action-row small,
.milestone-row small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.action-row em,
.milestone-row em { color: var(--muted); font-size: 9px; font-style: normal; }
.action-row.risk,
.milestone-row.risk { box-shadow: inset 3px 0 var(--danger); }
.action-row.waiting,
.milestone-row.waiting { box-shadow: inset 3px 0 var(--amber); }
.action-row.complete i,
.milestone-row.complete > i { border-color: var(--green); background: var(--green); color: white; }
.quiet-empty { padding: 25px 20px; color: var(--muted); font-size: 10px; line-height: 1.6; }

.phase-panel .phase-dates { display: grid; grid-template-columns: 1fr 1fr; }
.phase-dates div { min-height: 76px; padding: 15px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.phase-dates small { display: block; color: var(--muted); font: 800 7px ui-monospace, monospace; }
.phase-dates b { display: block; margin-top: 8px; font-size: 14px; }
.phase-panel > p { padding: 15px 18px 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
.phase-panel > button,
.now-panel > header button { margin: 0 18px 18px; padding: 0; border: 0; background: transparent; color: var(--navy); font-size: 9px; font-weight: 850; }
.now-panel > header button { margin: 0; }

.phase-horizon { margin-top: 12px; border: 1px solid var(--line); background: #fffdf7; }
.phase-horizon > div { padding: 12px; display: flex; gap: 8px; overflow-x: auto; }
.phase-chip { flex: 0 0 158px; min-height: 92px; padding: 11px; display: grid; align-content: space-between; gap: 6px; border: 1px solid var(--line); background: white; color: var(--ink); text-align: left; }
.phase-chip small { color: var(--muted); font: 800 7px ui-monospace, monospace; }
.phase-chip b { font-size: 10px; }
.phase-chip span { color: var(--muted); font-size: 8px; }
.phase-chip.completed { border-color: #9fbeb0; background: var(--soft-green); }
.phase-chip.active,
.phase-chip.gate_pending { border-color: var(--navy); box-shadow: inset 0 3px var(--navy); }
.phase-chip.gate_pending { border-color: var(--amber); box-shadow: inset 0 3px var(--amber); }

.workfront-ownership { margin-top: 12px; border: 1px solid var(--navy); background: var(--soft-blue); }
.workfront-ownership > header { padding: 18px 20px; display: flex; justify-content: space-between; align-items: end; border-bottom: 1px solid var(--navy); }
.workfront-ownership > header h2 { margin: 5px 0 0; font-size: 25px; }
.workfront-ownership > header > span { color: var(--navy); font: 850 7px ui-monospace, monospace; letter-spacing: .08em; }
.workfront-ownership > div { display: grid; grid-template-columns: repeat(4, 1fr); }
.workfront-ownership button { min-height: 138px; padding: 17px; display: grid; align-content: space-between; gap: 8px; border: 0; border-right: 1px solid #9bb1bb; background: #fffdf7; color: var(--ink); text-align: left; }
.workfront-ownership button:last-child { border-right: 0; }
.workfront-ownership button:hover { background: white; }
.workfront-ownership small { color: var(--navy); font: 850 7px ui-monospace, monospace; }
.workfront-ownership b { font-size: 13px; }
.workfront-ownership p { margin: 0; color: var(--muted); font-size: 8px; }
.workfront-ownership em { color: var(--navy); font-size: 8px; font-style: normal; font-weight: 850; }
.workfront-ownership footer { padding: 12px 18px; border-top: 1px solid #9bb1bb; color: var(--muted); font-size: 8px; line-height: 1.55; }

.overview-lower { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr .8fr; gap: 12px; }
.ledger-entry { padding: 13px 17px; border-bottom: 1px solid var(--line); }
.ledger-entry span { color: var(--navy); font: 850 7px ui-monospace, monospace; text-transform: uppercase; }
.ledger-entry p { margin: 6px 0; font-size: 10px; line-height: 1.45; }
.ledger-entry small { color: var(--muted); font-size: 8px; }
.source-row { padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.source-row span { min-width: 0; display: grid; gap: 4px; }
.source-row b { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.source-row small { color: var(--muted); font-size: 8px; }
.source-row em { flex: 0 0 auto; color: var(--green); font-size: 8px; font-style: normal; font-weight: 800; }
.procurement-handoff { padding: 21px; border: 1px solid var(--navy); background: var(--navy); color: white; }
.procurement-handoff small { color: #a8c5d2; font: 800 7px ui-monospace, monospace; }
.procurement-handoff h2 { margin: 28px 0 8px; font-size: 22px; }
.procurement-handoff p { color: #d1dee4; font-size: 9px; line-height: 1.6; }
.procurement-handoff a { display: inline-block; margin-top: 18px; color: var(--lime); font-size: 9px; font-weight: 850; text-decoration: none; }

.milestone-register,
.ledger-shell { border: 1px solid var(--line); background: #fffdf7; }
.milestone-group { margin: 12px; border: 1px solid var(--line); background: white; }
.milestone-group > header,
.milestone-group > summary { min-height: 64px; padding: 13px 16px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); list-style: none; cursor: pointer; }
.milestone-group > summary::-webkit-details-marker { display: none; }
.milestone-group > header small,
.milestone-group > summary small { display: block; margin-bottom: 4px; color: var(--navy); font: 800 7px ui-monospace, monospace; }
.milestone-group > header h3 { margin: 0; }
.milestone-group > header b,
.milestone-group > summary em { color: var(--muted); font: 800 8px ui-monospace, monospace; font-style: normal; }
.milestone-row { grid-template-columns: 28px 1fr 105px 105px 52px; }
.milestone-row > span { display: grid; gap: 3px; }

.outlook-calendar { border: 1px solid var(--line); border-radius: 0; background: white; }
.outlook-calendar > header { min-height: 72px; padding: 16px 20px; display: flex; align-items: end; justify-content: space-between; border-bottom: 1px solid var(--line); }
.outlook-calendar h2 { margin: 5px 0 0; }
.calendar-actions { display: flex; gap: 6px; }
.calendar-actions button { min-width: 34px; height: 34px; padding: 0 10px; border: 1px solid var(--line); border-radius: 4px; background: white; }
.calendar-note { padding: 10px 16px; border-bottom: 1px solid var(--line); background: var(--soft-blue); color: var(--navy); font-size: 9px; }
.weekday-row,
.month-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.weekday-row b { padding: 9px; border-right: 1px solid var(--line); color: var(--muted); font-size: 8px; text-align: center; }
.calendar-day { min-height: 105px; padding: 7px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
.calendar-day.outside { background: #f5f3ee; color: #aaa; }
.calendar-day > span { font-size: 10px; font-weight: 800; }
.calendar-day.today > span { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: white; }
.calendar-event { width: 100%; margin-top: 5px; padding: 6px; display: grid; border: 0; border-left: 3px solid var(--navy); border-radius: 3px; background: var(--soft-blue); color: var(--ink); text-align: left; }
.calendar-event small { font-size: 6px; }
.calendar-event b { margin: 2px 0; font-size: 8px; }
.calendar-event em { color: var(--muted); font-size: 7px; font-style: normal; }
.calendar-event.risk { border-color: var(--danger); background: #f8e8e5; }
.calendar-event.waiting { border-color: var(--amber); background: var(--soft-amber); }
.calendar-event.complete { border-color: var(--green); background: var(--soft-green); }

.ledger-intro { max-width: 800px; margin: 0; padding: 18px 20px; color: var(--muted); font-size: 10px; line-height: 1.65; }
.ledger-shell > div { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.ledger-shell .ledger-entry { min-height: 110px; border-right: 1px solid var(--line); }

.plan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.plan-panel { border: 1px solid var(--line); background: #fffdf7; }
.anchor-grid { display: grid; grid-template-columns: 1fr 1fr; }
.anchor-grid div { min-height: 76px; padding: 14px 17px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.anchor-grid small { display: block; margin-bottom: 6px; color: var(--muted); font: 800 7px ui-monospace, monospace; }
.anchor-grid b { font-size: 11px; }
.source-library h3 { margin: 0; padding: 17px; border-bottom: 1px solid var(--line); font-size: 12px; }
.source-library > a { padding: 12px 16px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.source-library > a span { display: grid; gap: 3px; }
.source-library > a small,
.source-library > a em { color: var(--muted); font-size: 8px; font-style: normal; }
.source-library > p { padding: 17px; color: var(--muted); font-size: 9px; }
.plan-panel form { padding: 18px; }
.tuning-impact,
.upload-warning { margin: 16px 0; padding: 13px 15px; border-left: 3px solid var(--navy); background: var(--soft-blue); color: var(--navy); font-size: 9px; line-height: 1.55; }
.read-only-note { color: var(--muted); font-size: 9px; }

.milestone-dialog { width: min(720px, calc(100vw - 30px)); padding: 0; border: 1px solid var(--ink); background: #fffdf7; color: var(--ink); box-shadow: 0 28px 90px #0005; }
.milestone-dialog::backdrop { background: #111815cc; }
.milestone-dialog > header { padding: 22px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); }
.milestone-dialog > header h2 { margin: 5px 0 0; }
.milestone-dialog > header button { border: 0; background: transparent; font-size: 24px; }
.milestone-dialog > #milestone-dialog-body,
.milestone-dialog > form { padding: 20px 22px; }
.date-truth-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.date-truth-grid div { min-height: 75px; padding: 12px; border-right: 1px solid var(--line); }
.date-truth-grid small { display: block; color: var(--muted); font-size: 7px; }
.date-truth-grid b { display: block; margin-top: 8px; font-size: 12px; }
.date-truth-grid .committed { background: var(--soft-blue); }
.lock-evidence { color: var(--muted); font-size: 9px; }
.confirmation-summary { margin-top: 14px; padding: 13px; border-left: 3px solid var(--amber); background: var(--soft-amber); }
.confirmation-summary span { font-size: 7px; }
.confirmation-summary strong { display: block; margin-top: 4px; text-transform: uppercase; }
.confirmation-summary p { margin: 5px 0 0; font-size: 9px; }
.tri-date-form { grid-template-columns: 1fr 1fr; }
.decision-impact-preview { margin-top: 12px; padding: 12px; border-left: 3px solid var(--navy); background: var(--soft-blue); color: var(--navy); font-size: 9px; }
.decision-impact-preview:empty { display: none; }
.lock-date { width: 100%; margin-top: 12px; padding: 12px; border: 0; background: var(--ink); color: white; font-weight: 800; }
.milestone-dialog > footer { padding: 16px 22px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); }
.milestone-dialog > footer span { font-size: 8px; font-weight: 850; }
.milestone-dialog > footer div { display: flex; gap: 5px; }
.milestone-dialog > footer button { padding: 7px 9px; border: 1px solid var(--line); background: white; font-size: 8px; }

.field-pulse { margin-bottom: 12px; border: 1px solid var(--ink); background: #f9f7f0; }
.field-pulse > header { padding: 24px; display: flex; align-items: end; justify-content: space-between; gap: 28px; border-bottom: 1px solid var(--ink); background: var(--ink); color: white; }
.field-pulse > header h2 { margin: 5px 0 7px; font-size: clamp(24px, 3vw, 42px); letter-spacing: -.04em; }
.field-pulse > header p:not(.eyebrow) { max-width: 720px; margin: 0; color: #d9ded8; font-size: 10px; line-height: 1.6; }
.field-pulse > header .eyebrow { color: var(--lime); }
.pulse-health { display: grid; grid-template-columns: repeat(3, auto); border: 1px solid #ffffff33; }
.pulse-health span { min-width: 76px; padding: 10px 12px; display: grid; gap: 3px; border-right: 1px solid #ffffff33; color: #bbc4bf; font: 800 6px ui-monospace, monospace; text-align: center; }
.pulse-health span:last-child { border-right: 0; }
.pulse-health b { color: white; font-size: 17px; }
.pulse-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); }
.pulse-brief,
.pulse-capture { min-width: 0; padding: 20px; }
.pulse-capture { border-left: 1px solid var(--line); background: var(--soft-blue); }
.pulse-section-label { margin-bottom: 12px; display: flex; justify-content: space-between; color: var(--muted); font: 850 7px ui-monospace, monospace; letter-spacing: .08em; }
.pulse-section-label em { color: var(--navy); font-style: normal; }
.pulse-next-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.pulse-next { min-height: 118px; padding: 14px; display: grid; grid-template-columns: 8px 1fr auto; gap: 11px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fffdf7; }
.pulse-next i { width: 7px; height: 7px; margin-top: 3px; border-radius: 50%; background: var(--green); }
.pulse-next.at_risk i { background: var(--amber); }
.pulse-next span { min-width: 0; }
.pulse-next b { font-size: 10px; }
.pulse-next p { margin: 7px 0 5px; font-size: 9px; line-height: 1.45; }
.pulse-next small { color: var(--muted); font-size: 7px; line-height: 1.4; }
.pulse-next em { color: var(--navy); font: 850 7px ui-monospace, monospace; font-style: normal; }
.pulse-capture > h3 { margin: 24px 0 7px; font-size: 18px; letter-spacing: -.03em; }
.pulse-capture > p { color: var(--muted); font-size: 9px; line-height: 1.55; }
.pulse-capture form { margin-top: 14px; display: grid; gap: 9px; }
.pulse-capture form > label:not(.photo-picker) { display: grid; gap: 5px; color: var(--muted); font-size: 7px; font-weight: 800; }
.pulse-capture input,
.pulse-capture select,
.forecast-nudge input { width: 100%; min-height: 35px; padding: 8px 10px; border: 1px solid #9eabb0; background: white; color: var(--ink); font: inherit; }
.photo-picker { min-height: 88px; padding: 15px; display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; border: 1px dashed var(--navy); background: #f8fbfb; cursor: pointer; }
.photo-picker span { grid-row: 1 / span 2; font-size: 28px; font-weight: 300; }
.photo-picker b { font-size: 10px; }
.photo-picker small { color: var(--muted); font-size: 7px; }
.photo-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.pulse-capture form > button { min-height: 37px; border: 0; background: var(--navy); color: white; font-size: 8px; font-weight: 850; }
#field-photo-status { min-height: 12px; margin: 0; color: var(--navy); font-size: 8px; }
.forecast-strip { padding: 20px; border-top: 1px solid var(--ink); background: #fffdf7; }
.forecast-nudge { padding: 16px 0; display: grid; grid-template-columns: minmax(240px, .8fr) minmax(220px, 1fr) auto; gap: 16px; align-items: center; border-top: 1px solid var(--line); }
.forecast-nudge > small { grid-column: 1 / -1; color: var(--amber); font: 850 7px ui-monospace, monospace; }
.forecast-nudge h3,
.forecast-nudge p { margin: 0; }
.forecast-nudge h3 { font-size: 13px; }
.forecast-nudge p { color: var(--muted); font-size: 8px; line-height: 1.5; }
.forecast-nudge > div { display: flex; gap: 4px; }
.forecast-nudge button { padding: 9px; border: 1px solid var(--line); background: white; color: var(--ink); font-size: 7px; font-weight: 850; }
.forecast-nudge button:nth-child(1) { border-color: var(--green); color: var(--green); }
.forecast-nudge button:nth-child(2) { border-color: var(--amber); color: var(--amber); }
.forecast-nudge button:nth-child(3) { border-color: var(--danger); color: var(--danger); }
.pulse-error { grid-column: 1 / -1; color: var(--danger); font-size: 8px; }
.photo-reel { padding: 20px; border-top: 1px solid var(--line); }
.photo-reel > div:last-child { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.pulse-photo { min-width: 0; display: grid; background: white; color: var(--ink); text-decoration: none; }
.pulse-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--soft-blue); }
.pulse-photo span { padding: 9px; display: grid; gap: 4px; }
.pulse-photo b { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.pulse-photo small { color: var(--muted); font-size: 7px; }

@media (max-width: 1100px) {
  .active-project-rail { grid-template-columns: 1.4fr 1fr 1fr auto; }
  .active-project-rail > div:nth-child(3) { display: none; }
  .one-clock-control { grid-template-columns: repeat(2, 1fr); }
  .one-clock-control .clock-now { grid-row: span 2; }
  .overview-lower { grid-template-columns: 1fr 1fr; }
  .procurement-handoff { grid-column: 1 / -1; }
  .procore-map { grid-template-columns: 1fr 1fr; }
  .procore-map article:nth-child(2) { border-right: 0; }
  .procore-map article { border-bottom: 1px solid var(--line); }
  .pulse-layout { grid-template-columns: 1fr; }
  .pulse-capture { border-top: 1px solid var(--line); border-left: 0; }
  .forecast-nudge { grid-template-columns: 1fr 1fr; }
  .forecast-nudge > div { grid-column: 1 / -1; }
  .workfront-ownership > div { grid-template-columns: 1fr 1fr; }
  .workfront-ownership button:nth-child(2) { border-right: 0; }
  .workfront-ownership button:nth-child(-n+2) { border-bottom: 1px solid #9bb1bb; }
}

@media (max-width: 780px) {
  .active-project-rail { position: static; grid-template-columns: 1fr 1fr; }
  .active-project-rail > a { display: none; }
  .setup-intro,
  .project-heading { min-height: 0; padding: 30px 0 22px; display: grid; gap: 22px; }
  .setup-paths { grid-template-columns: 1fr; }
  .setup-path { min-height: 230px; }
  .file-intake,
  .now-grid,
  .overview-lower,
  .plan-grid { grid-template-columns: 1fr; }
  .staged-files { border-top: 1px solid #b9cbd4; border-left: 0; }
  .workfront-ownership > div { grid-template-columns: 1fr; }
  .workfront-ownership button { border-right: 0; border-bottom: 1px solid #9bb1bb; }
  .one-clock-control { grid-template-columns: 1fr 1fr; }
  .one-clock-control .clock-now { grid-column: 1 / -1; grid-row: auto; }
  .journey-toolbar { align-items: stretch; flex-direction: column; }
  .journey-toolbar > div { overflow-x: auto; }
  .journey-toolbar > a { justify-content: center; }
  .milestone-row { grid-template-columns: 28px 1fr 80px; }
  .milestone-row > span:nth-of-type(2),
  .milestone-row > em { display: none; }
  .field-pulse > header { align-items: start; flex-direction: column; }
  .pulse-next-list { grid-template-columns: 1fr; }
  .photo-reel > div:last-child { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 540px) {
  .active-project-rail { grid-template-columns: 1fr; }
  .active-project-rail > div:not(:first-child) { display: none; }
  .setup-intro h1 { font-size: 41px; }
  .fast-fields,
  .detail-grid,
  .permission-note,
  .procore-map,
  .ledger-shell > div { grid-template-columns: 1fr; }
  .fast-fields .wide,
  .detail-grid .wide { grid-column: auto; }
  .setup-workbench form { padding: 15px; }
  .setup-submit { align-items: stretch; flex-direction: column; }
  .setup-submit button { width: 100%; }
  .date-truth-grid { grid-template-columns: 1fr 1fr; }
  .milestone-dialog > footer { align-items: start; flex-direction: column; gap: 10px; }
  .milestone-dialog > footer div { flex-wrap: wrap; }
  .calendar-day { min-height: 65px; padding: 3px; }
  .calendar-event small,
  .calendar-event em { display: none; }
  .calendar-event b { font-size: 7px; }
  .pulse-health { width: 100%; }
  .pulse-health span { min-width: 0; }
  .forecast-nudge { grid-template-columns: 1fr; }
  .forecast-nudge > small,
  .forecast-nudge > div { grid-column: auto; }
}
