/* The live project workspace follows the homepage's project-dashboard language. */
.account-body { --account-header-height: 80px; }
.account-header { min-height: var(--account-header-height); }
.is-signed-in .account-main { width: min(1510px, calc(100% - 2rem)); }
.is-signed-in .account-header .site-nav a,
.is-signed-in .account-header .site-nav a:visited { color: #eaf2fb; }
.is-signed-in .account-header .site-nav a[aria-current="page"] { color: #fff; }
.is-signed-in .dashboard-live.has-project > .dashboard-live__heading { justify-content: flex-end; min-height: 42px; padding: 0 .3rem; }
.is-signed-in .dashboard-live.has-project > .dashboard-live__heading > div,
.is-signed-in .dashboard-live.has-project > .dashboard-live__welcome { display: none; }
.is-signed-in .dashboard-live.has-project > .dashboard-live__heading > .account-top-actions { display: flex; }
.is-signed-in .dashboard-live.has-project { padding: 0; }
.project-room {
  display: grid;
  grid-template-columns: 216px minmax(0, 1fr);
  align-items: stretch;
  min-width: 0;
  margin: .35rem 0 2rem;
  border: 1px solid #cedceb;
  border-radius: 18px;
  background: #f4f8fc;
  box-shadow: 0 14px 42px rgba(18, 49, 78, .08);
}
.project-room__sidebar {
  position: sticky;
  top: calc(var(--account-header-height) + .75rem);
  align-self: start;
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: calc(100dvh - var(--account-header-height) - 1.5rem);
  box-sizing: border-box;
  overflow-y: auto;
  padding: 1.55rem .75rem 1.1rem;
  border-radius: 17px 0 0 17px;
  background: #183552;
  color: #fff;
}
.project-room__sidebar-label { margin: 0 .8rem .5rem; color: #a7c0d8; font-size: .73rem; font-weight: 800; letter-spacing: .13em; }
.project-room__sidebar-reference { margin: 0 .8rem .45rem; color: #f4c68c; font-size: .82rem; font-weight: 800; letter-spacing: .03em; }
.project-room__sidebar-title { margin: 0 .8rem 1.7rem; overflow-wrap: anywhere; font-size: 1.06rem; line-height: 1.3; }
.project-room__sidebar-nav { display: grid; gap: .25rem; }
.project-room__sidebar-nav a {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 44px;
  padding: .45rem .7rem;
  border-radius: 9px;
  color: #d6e5f2;
  font-size: .94rem;
  font-weight: 650;
  text-decoration: none;
}
.project-room__sidebar-nav a:visited { color: #d6e5f2; }
.project-room__sidebar-nav a:hover,
.project-room__sidebar-nav a:focus-visible,
.project-room__sidebar-nav a[aria-current] { background: #345775; color: #fff; }
.project-room__nav-number { display: grid; flex: none; width: 1.65rem; height: 1.65rem; place-items: center; border: 1px solid #7392aa; border-radius: 7px; font-size: .68rem; letter-spacing: .02em; }
.project-room__sidebar-role { margin: auto .8rem 0; padding-top: 1.2rem; color: #b9d0e3; font-size: .82rem; }
.project-room--detail .project-room__sidebar { min-height: 0; }
.project-room__content { min-width: 0; padding: clamp(1rem, 2vw, 1.8rem); container: project-content / inline-size; }
.project-room :is(.room-path, .room-overview, .project-board, .workflow-section, .room-people, .room-local-guide, .project-view)[hidden] { display: none !important; }
.project-room__content > * { scroll-margin-top: 1rem; }
.project-room .room-hero { display: flex; align-items: center; min-height: 112px; margin-bottom: 0; padding: 1.3rem 1.55rem; border-radius: 14px; }
.project-room .room-hero__reference { display: inline-block; margin: 0 0 .55rem; color: #f4c68c; font-size: .85rem; font-weight: 800; letter-spacing: .03em; }
.project-room .room-hero h3 { margin: .15rem 0 .3rem; font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.12; }
.project-room .room-hero p:last-child { margin: 0; }
.project-room .room-hero__status { align-self: center; white-space: nowrap; }
.project-room .room-path { margin: .8rem 0 1rem; padding: .2rem .4rem; border: 1px solid #d5e1ed; border-radius: 13px; background: #fff; box-shadow: 0 4px 15px rgba(18,49,78,.035); }
.project-room .room-path__step { min-height: 4.1rem; }
.project-room .room-path__step.is-current { border-radius: 9px; background: #edf5ff; }
.project-room .room-path__number { width: 2.45rem; height: 2.45rem; background: #e6edf5; }
.project-dashboard__columns { grid-template-columns: minmax(0, 1.55fr) minmax(280px, .95fr); gap: .85rem; }
.project-dashboard__primary,
.project-dashboard__side { gap: .85rem; }
.project-dashboard__panel,
.project-dashboard__primary .room-next { border-color: #d3e0ed; border-radius: 13px; box-shadow: 0 5px 18px rgba(20, 48, 76, .045); }
.project-dashboard__primary .room-next { min-height: 212px; padding: 1.6rem; background: linear-gradient(135deg, #edf5ff, #f7faff); }
.project-dashboard__primary .room-next h4 { margin: .55rem 0 1.1rem; max-width: 27ch; font-size: clamp(1.5rem, 2.2vw, 1.9rem); line-height: 1.2; }
.room-next__permissions { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin-top: 1rem; font-size: .83rem; color: #234862; }
.room-next__permissions span { padding: .35rem .55rem; border: 1px solid #bed3e6; border-radius: 6px; background: #fff; font-weight: 700; }
.room-next__permissions small { width: 100%; color: #526b75; }
.project-dashboard__primary .room-next__link { width: fit-content; border-radius: 8px; }
.project-dashboard__panel { padding: 1.35rem; }
.project-dashboard__panel-head { align-items: center; margin-bottom: .85rem; }
.project-dashboard__timeline-list { position: relative; }
.project-dashboard__timeline-list::before { position: absolute; top: 1.3rem; bottom: 1.3rem; left: 1.58rem; width: 2px; background: #d9e5f0; content: ''; }
.project-dashboard__timeline-row { position: relative; grid-template-columns: 2.7rem minmax(0, 1fr) auto; min-height: 4.6rem; padding: .8rem .35rem; border-top: 0; border-bottom: 1px solid #e2eaf2; }
.project-dashboard__timeline-row:last-child { border-bottom: 0; }
.project-dashboard__timeline-number { position: relative; z-index: 1; background: #e6edf5; font-size: .82rem; }
.project-dashboard__timeline-row.is-complete .project-dashboard__timeline-number { background: #183f68; color: #fff; }
.project-dashboard__timeline-row.is-current { margin-inline: 0; padding-inline: .35rem; background: #eef6ff; }
.project-dashboard__timeline-row.is-current .project-dashboard__timeline-number { background: #a8562b; color: #fff; }
.project-dashboard__stage-price { display: block; margin-top: .2rem; color: #183f68; font-weight: 800; }
.project-dashboard__budget-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); gap: .5rem; margin: .8rem 0 .55rem; }
.project-dashboard__budget-strip > div { display: grid; gap: .3rem; padding: .8rem; border: 1px solid #c4d9ec; border-radius: 9px; background: #eaf3fc; }
.project-dashboard__budget-strip > div:last-child { border-color: #9fbdd6; background: #dcecf9; }
.project-dashboard__budget-strip span { color: #466177; font-size: .82rem; font-weight: 700; }
.project-dashboard__budget-strip strong { color: #183552; font-size: 1.15rem; }
.project-dashboard__timeline > a[href="#project-budget"] { display: inline-block; margin: 0 0 .75rem; color: #19466a; font-weight: 750; }
.project-dashboard__photo { display: block; margin-top: 1rem; overflow: hidden; border: 1px solid #c4d9ec; border-radius: 10px; background: #eaf3fc; color: #183552; text-decoration: none; }
.project-dashboard__photo img { display: block; width: 100%; max-height: 300px; object-fit: cover; }
.project-dashboard__photo span { display: block; padding: .75rem .9rem; font-weight: 750; }
@media (max-width: 620px) { .project-dashboard__budget-strip { grid-template-columns: 1fr; }.project-dashboard__budget-strip > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }.project-dashboard__photo img { max-height: 240px; } }
.project-dashboard__activity { min-height: 212px; box-sizing: border-box; }
.project-dashboard__activity > p { margin-top: .75rem; padding: .8rem 0; border-top: 1px solid #e0e8ef; }
.project-dashboard__health > h4 { margin: 0 0 .75rem; color: #18324b; font-size: 1.3rem; }
.project-dashboard__health .room-pulse { grid-template-columns: 1fr; border: 0; border-radius: 0; box-shadow: none; }
.project-dashboard__health .room-pulse > div { display: grid; grid-template-columns: 4.3rem minmax(0, 1fr); align-content: center; min-height: 64px; padding: .7rem 0; border-top: 1px solid #dce7ef; }
.project-dashboard__health .room-pulse > div + div { padding-left: 0; border-left: 0; }
.project-dashboard__health .room-pulse strong { grid-row: 1 / 3; align-self: center; }
.project-dashboard__health .room-pulse strong { font-size: clamp(1.25rem, 2vw, 1.7rem); }
.project-dashboard__health .room-pulse span { font-size: .9rem; line-height: 1.3; }
.project-dashboard__health .room-pulse small { margin-top: .15rem; line-height: 1.35; }
.project-dashboard__documents .project-dashboard__doc-grid a { min-height: 76px; box-sizing: border-box; background: #fbfdff; }
.project-dashboard__documents .project-dashboard__doc-grid a:hover { background: #edf5ff; }
.project-room .room-jump--project { display: none; }
.project-room__content .project-board,
.project-room__content .room-local-guide { margin-top: 1rem; }
.project-room__content .project-board { border: 0; background: transparent; box-shadow: none; overflow: visible; }
.project-room__content .project-board::before,
.project-room__content .project-board > :is(.workflow-section, .room-people)::before { display: none; }
.project-room__content .workflow-section,
.project-room__content .room-people { max-width: none; min-height: 0; padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid #d3e0ed; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(20,48,76,.045); }
.project-room__content .project-board > :is(.workflow-section, .room-people) { padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid #d3e0ed; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(20,48,76,.045); }
.project-room__content .project-board .section-head { margin-bottom: 1.25rem; padding-bottom: 1.1rem; }
.project-room__content .workflow-section > .work-plan-body > .room-button:last-child { display: inline-flex; margin-top: 1rem; }
.project-room__content .workflow-empty + .room-button { margin-top: 1.1rem; }
.project-room__content .room-local-guide { border-radius: 14px; }
.project-room .room-disclosure > :is(p, .room-status) { margin: 1.25rem; }
.project-room .room-disclosure > :is(.room-form, .evidence-form, .workflow-prompts) { margin: 1.25rem; }
#project-stages > .work-plan-body > .room-disclosure:first-of-type { margin: 1.15rem 0; }
#project-stages > .work-plan-body > .room-disclosure:first-of-type > summary { font-weight: 750; }
#project-stages .work-plan-body[hidden] { display: none; }
#project-stages .work-plan-toggle { margin-top: .8rem; padding: .55rem .85rem; border: 1px solid #b4cbdd; border-radius: 8px; background: #fff; color: #173b59; font: inherit; font-size: .88rem; font-weight: 750; cursor: pointer; }
#project-stages .work-plan-toggle:hover { background: #eaf3fa; border-color: #3575af; }
#project-stages .work-plan-toggle:focus-visible { outline: 3px solid #3575af; outline-offset: 2px; }
#project-checks .work-plan-compliance { padding: 0; background: #f4f9fc; }
#project-checks .work-plan-compliance > .work-plan-compliance__summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .25rem 1rem; align-items: center; min-height: 3.5rem; padding: .85rem 1rem; color: #173b59; list-style: none; cursor: pointer; }
#project-checks .work-plan-compliance > .work-plan-compliance__summary::-webkit-details-marker { display: none; }
#project-checks .work-plan-compliance > .work-plan-compliance__summary::after { content: '⌄'; grid-column: 2; grid-row: 1 / 3; font-size: 1.45rem; line-height: 1; }
#project-checks .work-plan-compliance[open] > .work-plan-compliance__summary::after { transform: rotate(180deg); }
#project-checks .work-plan-compliance > .work-plan-compliance__summary:hover,
#project-checks .work-plan-compliance > .work-plan-compliance__summary:focus-visible { background: #e7f1f9; }
#project-checks .work-plan-compliance > .work-plan-compliance__summary:focus-visible { outline: 3px solid #3575af; outline-offset: -3px; }
#project-checks .work-plan-compliance__summary-status { grid-column: 1; color: #42617b; font-size: .86rem; line-height: 1.35; }
#project-checks .work-plan-compliance > :not(summary) { margin-left: 1rem; margin-right: 1rem; }
#project-checks .work-plan-compliance > :last-child { margin-bottom: 1rem; }
#project-checks .permission-assessment { margin-top: 1rem; padding: .25rem 1rem 1rem; border: 1px solid #b9d4e5; border-radius: 10px; background: #fff; }
#project-checks .permission-assessment > summary { grid-column: 1 / -1; padding: .8rem 0; color: #173b59; font-size: 1.05rem; font-weight: 800; cursor: pointer; }
#project-checks .permission-assessment > summary:focus-visible { outline: 3px solid #3575af; outline-offset: 3px; }
#project-checks .permission-assessment__step { grid-column: 1 / -1; margin: .45rem 0 0; color: #173b59; font-size: 1.05rem; }
#project-checks .permission-assessment__form { grid-column: 1 / -1; margin-top: 0; padding: .8rem 0 0; border: 0; border-top: 1px solid #d6e4ee; border-radius: 0; background: transparent; }
#project-checks .permission-assessment__form .account-button { justify-self: start; }
#project-checks .permission-assessment__form .account-button:disabled { opacity: .55; cursor: not-allowed; }
#project-checks .permission-assessment__save-hint { margin: 0; color: #405b72; }
#project-checks .permission-assessment__extra { border-top: 1px solid #d6e4ee; padding-top: .55rem; }
#project-checks .permission-assessment__extra > summary { color: #245475; cursor: pointer; font-weight: 700; }
#project-checks .permission-assessment__extra > label { margin-top: .75rem; }
#project-checks .permission-assessment__next { padding: .75rem .9rem; border-left: 4px solid #1f5d87; border-radius: 5px; background: #edf5fb; color: #173b59; font-weight: 750; }
#project-checks .permission-assessment__saved { padding: .9rem 1rem; }
#project-checks .permission-assessment__saved .permission-assessment__next { margin-top: .65rem; }
#project-checks .permission-assessment__edit,
#project-checks .permission-assessment__record { margin-top: 1rem; padding: 0; border: 1px solid #b9d4e5; border-radius: 10px; background: #fff; }
#project-checks .permission-assessment__edit > summary,
#project-checks .permission-assessment__record > summary { padding: .85rem 1rem; color: #173b59; font-weight: 750; cursor: pointer; }
#project-checks .permission-assessment__edit > summary:hover,
#project-checks .permission-assessment__record > summary:hover { background: #eef6fc; }
#project-checks .permission-assessment__edit .permission-assessment__form { margin: 0 1rem 1rem; padding: 0; border: 0; }
#project-checks .permission-assessment__record > :not(summary) { margin: 0 1rem 1rem; padding: 0; border: 0; }
#project-checks .work-plan-compliance__sources { display: block; margin-top: 1rem; }
#project-checks .work-plan-compliance__sources > summary { cursor: pointer; color: #245475; font-weight: 750; }
#project-checks .work-plan-compliance__sources > a { display: block; margin: .65rem 0 .65rem 1rem; }
#project-stages .workflow-card--collapsible { padding: 0; overflow: hidden; background: #fff; }
#project-stages .workflow-card--collapsible > summary.workflow-card__header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto 1rem; align-items: center; gap: .75rem 1rem; min-height: 4.5rem; margin: 0; padding: .9rem 1.1rem; list-style: none; cursor: pointer; }
#project-stages .workflow-card__title .workflow-card__price { display: block; margin-top: .22rem; color: #294f70; font-size: .82rem; font-weight: 800; line-height: 1.3; }
#project-stages .workflow-card--collapsible > summary::-webkit-details-marker { display: none; }
#project-stages .workflow-card--collapsible > summary::after { content: ''; width: .55rem; height: .55rem; border-right: 2px solid #42617b; border-bottom: 2px solid #42617b; transform: rotate(45deg); transition: transform .18s ease; }
#project-stages .workflow-card--collapsible[open] > summary::after { transform: rotate(225deg); }
#project-stages .workflow-card--collapsible > summary:hover, #project-stages .workflow-card--collapsible > summary:focus-visible { background: #f1f7fc; }
#project-stages .workflow-card--collapsible > summary:focus-visible { outline: 3px solid #3575af; outline-offset: -3px; }
#project-stages .workflow-card--collapsible[open] > summary { border-bottom: 1px solid #d3e0ed; background: #f6faff; }
#project-stages .workflow-card--collapsible > :not(summary) { margin-left: 1.15rem; margin-right: 1.15rem; }
#project-stages .workflow-card--collapsible > :last-child { margin-bottom: 1.15rem; }
#project-stages .stage-snapshot { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin-top: 1rem; }
#project-stages .stage-snapshot > span { display: grid; gap: .18rem; min-width: 0; color: #183552; font-size: .92rem; line-height: 1.35; }
#project-stages .stage-snapshot strong { color: #536a7b; font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; }
#project-stages .stage-snapshot__work { margin-top: .8rem; color: #40586a; line-height: 1.45; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
#project-stages .stage-snapshot__work small { font-weight: 750; white-space: nowrap; }
#project-stages .stage-edit-panel { margin-top: .75rem; margin-bottom: .8rem; border: 1px solid #d3e0ed; border-radius: 9px; background: #fbfdff; }
#project-stages .stage-edit-panel > summary { padding: .75rem .9rem; color: #17466d; font-weight: 800; cursor: pointer; }
#project-stages .stage-edit-panel > summary:hover { background: #edf5fb; }
#project-stages .stage-edit-panel > summary:focus-visible { outline: 3px solid #3575af; outline-offset: 2px; }
#project-stages .stage-edit-panel > :not(summary) { margin-left: .8rem; margin-right: .8rem; }
#project-stages .stage-edit-panel > :last-child { margin-bottom: .8rem; }
#project-stages .stage-task-editor { grid-column: 1 / -1; padding: .75rem .9rem; border: 1px solid #d3e0ed; border-radius: 8px; background: #f8fbfd; }
#project-stages .stage-task-editor > summary { color: #17466d; font-weight: 750; cursor: pointer; }
#project-stages .stage-task-editor > label { display: grid; gap: .4rem; margin-top: .75rem; }
#project-stages .stage-task-editor textarea { width: 100%; box-sizing: border-box; }
#project-stages .stage-task-editor__help { margin: .5rem 0 0; color: #536a7b; font-size: .82rem; }
#project-stages .stage-task-list { margin-top: .5rem; padding-left: 1.4rem; line-height: 1.5; }
@media (max-width: 760px) { #project-stages .stage-snapshot { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { #project-stages .stage-snapshot { grid-template-columns: 1fr; gap: .45rem; } }
#project-stages .stage-read-panel { background: #fff; }
#project-stages .stage-read-panel > summary { padding: .72rem .9rem; }
#project-stages .stage-read-content { display: grid; gap: 0; }
#project-stages .stage-read-row { display: grid; grid-template-columns: minmax(7rem, 28%) minmax(0, 1fr); gap: .8rem; padding: .75rem .1rem; border-top: 1px solid #e1e9ef; color: #304f68; line-height: 1.45; }
#project-stages .stage-read-row > strong { color: #173b59; font-size: .86rem; }
#project-stages .stage-read-row > :is(span, ul) { min-width: 0; margin: 0; }
#project-stages .stage-read-row > ul { padding-left: 1.1rem; }
#project-stages .stage-agreement-note { margin-top: .75rem; color: #405b72; font-size: .86rem; }
#project-stages .stage-manage-panel { background: #fff; border-color: #e1e9ef; }
#project-stages .stage-manage-panel > summary { color: #42617b; }
#project-stages .stage-manage-panel > :is(.room-disclosure, .stage-manage-action, .stage-checks, .stage-more-actions, .stage-edit-panel) { margin-top: 0; margin-bottom: 0; padding: 0; border: 0; border-top: 1px solid #e1e9ef; border-radius: 0; background: transparent; box-shadow: none; }
#project-stages .stage-manage-panel > :is(.room-disclosure, .stage-manage-action, .stage-checks, .stage-more-actions, .stage-edit-panel) > summary { padding: .75rem .1rem; }
#project-stages .stage-manage-panel .stage-rag-form { margin: 0 0 .7rem; padding: 0; border: 0; background: transparent; }
#project-stages .stage-agreement { margin-top: .9rem; padding: .85rem 1rem; border: 1px solid #b9d4e5; border-radius: 9px; background: #f3f8fc; }
#project-stages .stage-agreement__message { margin: 0; color: #173b59; font-weight: 750; line-height: 1.45; }
#project-stages .stage-agreement__parties { margin: .35rem 0 0; color: #405b72; font-size: .88rem; }
#project-stages .stage-agreement .workflow-actions { margin: .75rem 0 0; }
#project-stages .stage-drafts-group { margin-top: 1.15rem; border: 1px solid #c8d9e7; border-radius: 10px; background: #f7fafc; }
#project-stages .stage-drafts-group > summary { padding: .95rem 1rem; color: #173b59; font-weight: 800; cursor: pointer; }
#project-stages .stage-drafts-group > summary:hover { background: #eaf3f9; }
#project-stages .stage-drafts-group > summary:focus-visible { outline: 3px solid #3575af; outline-offset: 2px; }
#project-stages .stage-drafts-group > .workflow-card { margin: .75rem; }
@media (max-width: 600px) { #project-stages .stage-read-row { grid-template-columns: 1fr; gap: .2rem; } }
#project-stages .stage-detail-group { margin-top: .7rem; margin-bottom: .7rem; border: 1px solid #d3e0ed; border-radius: 9px; background: #fff; }
#project-stages .stage-detail-group > h6 { margin: 0; padding: .7rem .85rem; color: #183f68; font-size: .9rem; }
#project-stages .stage-detail-group > h6 + p { margin-top: 0; }
#project-stages .stage-detail-group > summary { display: flex; align-items: center; justify-content: space-between; min-height: 2.8rem; padding: .65rem .85rem; color: #183f68; font-weight: 750; list-style: none; cursor: pointer; }
#project-stages .stage-detail-group > summary::-webkit-details-marker { display: none; }
#project-stages .stage-detail-group > summary::after { content: '+'; margin-left: .8rem; font-size: 1.25rem; font-weight: 500; line-height: 1; }
#project-stages .stage-detail-group[open] > summary::after { content: '−'; }
#project-stages .stage-detail-group > summary:hover,
#project-stages .stage-detail-group > summary:focus-visible { background: #eef6fc; }
#project-stages .stage-detail-group > summary:focus-visible { outline: 3px solid #3575af; outline-offset: -3px; }
#project-stages .stage-detail-group > :not(summary) { margin-left: .85rem; margin-right: .85rem; }
#project-stages .stage-detail-group > :last-child { margin-bottom: .85rem; }
#project-stages .stage-completion { padding: 1rem 1.1rem; border: 1px solid #b9d5e9; border-left: 5px solid #245882; border-radius: 10px; background: #f2f8fd; }
#project-stages .stage-completion h6 { margin: 0 0 .4rem; color: #163b5a; font-size: 1rem; }
#project-stages .stage-completion p { margin: 0; color: #304f68; line-height: 1.5; }
#project-stages .stage-completion .workflow-actions { margin: .85rem 0 0; }
#project-stages .stage-completion .room-button { margin-top: .85rem; }
#project-stages .stage-completion .workflow-actions .room-button { margin-top: 0; }
#project-stages .stage-completion__confirmed { color: #12613d !important; font-weight: 750; }
#project-stages .stage-draft-form { display: grid; gap: .75rem; padding: 1rem; }
#project-stages .stage-draft-form > * { min-width: 0; }
#project-stages .stage-plan-section { min-width: 0; border: 1px solid #c9d9e6; border-radius: 10px; background: #fff; }
#project-stages .stage-plan-section > summary { display: flex; align-items: center; justify-content: space-between; min-height: 3rem; padding: .7rem .9rem; color: #183f68; font-weight: 800; list-style: none; cursor: pointer; }
#project-stages .stage-plan-section > summary::-webkit-details-marker { display: none; }
#project-stages .stage-plan-section > summary::after { content: '+'; margin-left: .8rem; font-size: 1.3rem; font-weight: 500; line-height: 1; }
#project-stages .stage-plan-section[open] > summary::after { content: '−'; }
#project-stages .stage-plan-section > summary:hover,
#project-stages .stage-plan-section > summary:focus-visible { background: #eef6fc; }
#project-stages .stage-plan-section > summary:focus-visible { outline: 3px solid #3575af; outline-offset: -3px; }
#project-stages .stage-plan-section[open] > summary { border-bottom: 1px solid #d9e5ee; }
#project-stages .stage-plan-group { min-width: 0; margin: 0; padding: 1rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.2rem; border: 0; background: #fff; }
#project-stages .stage-plan-group > :is(.stage-date-fields, .stage-cost-editor) { grid-column: 1 / -1; }
#project-stages .stage-plan-group > label, #project-stages .stage-plan-group > .stage-answer-choice { min-width: 0; }
#project-stages .stage-draft-form > .account-button { justify-self: start; min-width: 9rem; }
#project-stages .stage-draft-form textarea { min-height: 5rem; }
#project-stages .stage-draft-form .stage-date-fields { gap: .75rem; }
#project-stages .stage-lead-inline { margin-top: .25rem; }
#project-stages .stage-lead-form { display: flex; flex-wrap: wrap; align-items: end; gap: .7rem; padding: .85rem; border: 1px solid #d3e0ed; border-radius: 9px; background: #f8fbff; }
#project-stages .stage-lead-form label { display: grid; flex: 1 1 15rem; gap: .35rem; font-weight: 700; }
#project-stages .stage-lead-form select { min-height: 44px; padding: .55rem .8rem; border: 1px solid #9eb3b7; border-radius: 8px; background: #fff; color: #183552; font: inherit; }
#project-stages .stage-lead-form .account-button { min-height: 44px; }
#project-stages .stage-lead-form .room-status { flex-basis: 100%; }
@media (max-width: 750px) { #project-stages .stage-plan-group { grid-template-columns: 1fr; padding: .9rem; } #project-stages .stage-plan-group > :is(.stage-date-fields, .stage-cost-editor) { grid-column: auto; } }
@media (max-width: 700px) { #project-stages .workflow-card--collapsible > summary.workflow-card__header { grid-template-columns: auto minmax(0, 1fr) 1rem; gap: .55rem; } #project-stages .workflow-card--collapsible > summary .workflow-card__title { grid-column: 2; grid-row: 1; } #project-stages .workflow-card--collapsible > summary .workflow-status { grid-column: 2; grid-row: 2; justify-self: start; } #project-stages .workflow-card--collapsible > summary::after { grid-column: 3; grid-row: 1 / 3; } }
@media (prefers-reduced-motion: reduce) { #project-stages .workflow-card--collapsible > summary::after { transition: none; } }
.project-view { margin-top: 1rem; padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid #d3e0ed; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(20,48,76,.045); }
.project-view h4 { margin: .55rem 0 .55rem; font-size: clamp(1.6rem, 2.7vw, 2rem); line-height: 1.18; }
.project-view__intro { max-width: 68ch; margin: 0 0 1.5rem; color: #50657a; line-height: 1.55; }
.project-view__subhead { margin: 1.7rem 0 .9rem; color: #183552; font-size: 1.05rem; }
.project-view--timeline .project-view__toolbar { justify-content: flex-end; margin: -.4rem 0 .25rem; }
.timeline-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 1.1rem 0 1.4rem; }
.timeline-summary__card { display: grid; gap: .2rem; min-width: 0; padding: 1rem 1.1rem; border: 1px solid #cadbea; border-radius: 12px; background: #f3f8fd; }
.timeline-summary__card strong { color: #183552; font-size: 1.55rem; line-height: 1.1; }
.timeline-summary__card span { color: #405b72; font-size: .86rem; font-weight: 700; }
@media (max-width: 700px) { .timeline-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; } .timeline-summary__card { padding: .8rem; } .timeline-summary__card strong { font-size: 1.3rem; } }
@container project-content (max-width: 740px) { .timeline-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; } .timeline-summary__card { padding: .8rem; } }
.mobile-stage-timeline { display: none; }
.schedule-scroll { max-width: 100%; overflow-x: auto; border: 1px solid #cfdeec; border-radius: 11px; background: #fff; scrollbar-color: #9ab3cb #edf3f8; }
.schedule-board { --schedule-label-width: 250px; width: calc(var(--schedule-label-width) + var(--schedule-width)); min-width: 100%; }
.schedule-board__header, .schedule-board__row { display: grid; grid-template-columns: var(--schedule-label-width) var(--schedule-width); }
.schedule-board__header { min-height: 54px; border-bottom: 1px solid #cfdeec; background: #edf4fa; }
.schedule-board__sticky { position: sticky; left: 0; z-index: 2; box-sizing: border-box; width: var(--schedule-label-width); padding: .7rem .9rem; border-right: 1px solid #cfdeec; background: #fff; }
.schedule-board__header .schedule-board__sticky { z-index: 4; display: flex; align-items: center; background: #edf4fa; color: #29445d; }
.schedule-board__scale { position: relative; height: 54px; }
.schedule-board__tick { position: absolute; top: 0; bottom: 0; box-sizing: border-box; padding: 1rem .55rem; overflow: hidden; border-left: 1px solid #cfdeec; color: #29445d; font-size: .86rem; font-weight: 700; white-space: nowrap; }
.schedule-board__tick--day { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .12rem; padding: .25rem .1rem; font-size: .74rem; line-height: 1.15; }
.schedule-board__tick--day b { color: #52677a; font-weight: 700; }
.schedule-board__tick--day span { color: #183552; font-weight: 800; }
.schedule-board__tick--week { display: flex; align-items: center; padding: .5rem .6rem; font-size: .82rem; }
.schedule-board__row { min-height: 90px; border-bottom: 1px solid #e2eaf2; color: #183552; text-decoration: none; }
.schedule-board__row:last-child { border-bottom: 0; }
.schedule-board__row:hover .schedule-board__sticky, .schedule-board__row:focus-visible .schedule-board__sticky { background: #eef6ff; }
.schedule-board__row:focus-visible { outline: 3px solid #3575af; outline-offset: -3px; }
.schedule-board__item { display: grid; align-content: center; justify-items: start; gap: .18rem; }
.schedule-board__item strong { max-width: 100%; font-size: .96rem; line-height: 1.3; overflow-wrap: anywhere; }
.schedule-board__item small { color: #52677a; font-size: .8rem; line-height: 1.35; }
.schedule-board__item .rag { min-width: 0; padding: .15rem .45rem; font-size: .72rem; }
.schedule-board__track { position: relative; display: block; min-height: 90px; background-image: linear-gradient(to right, #e8eff5 1px, transparent 1px); background-repeat: repeat-x; }
.schedule-board__bar { position: absolute; top: 50%; z-index: 1; height: 24px; transform: translateY(-50%); border-radius: 6px; background: #326b9d; }
.schedule-board__bar--planned { background: #326b9d; }
.schedule-board__bar--check { background: #a8562b; }
.schedule-board__bar--green { background: #25805c; }
.schedule-board__bar--amber { background: #bb761f; }
.schedule-board__bar--red { background: #b5483e; }
.schedule-board__today { position: absolute; top: 0; bottom: 0; z-index: 1; width: 2px; background: #a8562b; opacity: .7; pointer-events: none; }
.schedule-board__undated { position: absolute; top: 50%; left: 1rem; transform: translateY(-50%); color: #52677a; font-size: .86rem; }
.tracker-disclosure { margin-top: 1rem; border: 1px solid #cfdeec; border-radius: 10px; background: #f8fbff; }
.tracker-disclosure > summary { padding: .95rem 1rem; color: #183552; font-weight: 750; cursor: pointer; }
.tracker-disclosure > :not(summary) { margin-right: 1rem; margin-left: 1rem; }
.tracker-disclosure__note { color: #50657a; font-size: .9rem; }
.tracker-disclosure .tracker-scroll { margin-bottom: 1rem; background: #fff; }
@media (max-width: 700px) { .schedule-board { --schedule-label-width: 190px; } .schedule-board__item { padding: .6rem; } }
.schedule-board { --schedule-label-width: 300px; --schedule-owner-width: 175px; --schedule-rag-width: 118px; width: calc(var(--schedule-label-width) + var(--schedule-owner-width) + var(--schedule-width) + var(--schedule-rag-width)); }
.schedule-board__header, .schedule-board__row { grid-template-columns: var(--schedule-label-width) var(--schedule-owner-width) var(--schedule-width) var(--schedule-rag-width); }
.schedule-board__row { min-height: 108px; }
.schedule-board__sticky { min-height: 108px; }
.schedule-board__header .schedule-board__sticky { min-height: 58px; }
.schedule-board__owner { display: flex; align-items: center; box-sizing: border-box; min-height: 108px; padding: .7rem .85rem; border-right: 1px solid #cfdeec; background: #fff; color: #24445f; font-size: .9rem; font-weight: 700; overflow-wrap: anywhere; }
.schedule-board__header .schedule-board__owner { min-height: 58px; background: #edf4fa; }
.schedule-board__description { display: -webkit-box; max-width: 100%; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.schedule-board__track { min-height: 108px; }
.schedule-board__rag-heading { position: sticky; right: 0; z-index: 4; display: flex; align-items: center; justify-content: center; border-left: 1px solid #cfdeec; background: #edf4fa; color: #29445d; }
.schedule-board__rag { position: sticky; right: 0; z-index: 3; display: flex; align-items: center; justify-content: center; margin: .55rem; border-radius: 8px; color: #fff; font-size: .9rem; font-weight: 800; letter-spacing: .02em; text-align: center; }
.schedule-board__rag--green { background: #25815d; }
.schedule-board__rag--amber { background: #e8b044; color: #183552; }
.schedule-board__rag--red { background: #aa2428; }
.schedule-board__rag--unset { background: #344a60; }
.schedule-board__bar--green, .schedule-board__bar--amber, .schedule-board__bar--red { background: #1e5a8b; }
@media (max-width: 700px) { .schedule-board { --schedule-label-width: 215px; --schedule-owner-width: 130px; --schedule-rag-width: 100px; } .schedule-board__row { min-height: 112px; } .schedule-board__sticky, .schedule-board__owner, .schedule-board__track { min-height: 112px; } }
.plan-timeline { display: flex; gap: .8rem; padding: .5rem .15rem 1.1rem; overflow-x: auto; scrollbar-color: #9ab3cb #edf3f8; }
.plan-timeline__item { display: grid; align-content: start; gap: .45rem; flex: 0 0 clamp(225px, 25vw, 280px); min-height: 170px; padding: 1rem; border: 1px solid #cbdceb; border-top: 4px solid #245882; border-radius: 10px; background: #f8fbff; color: #183552; text-decoration: none; }
.plan-timeline__item--check { border-top-color: #a8562b; background: #fffaf5; }
.plan-timeline__item--green { border-top-color: #25805c; }
.plan-timeline__item--amber { border-top-color: #bb761f; }
.plan-timeline__item--red { border-top-color: #b5483e; }
.plan-timeline__item .rag { justify-self: start; }
.plan-timeline__item:hover, .plan-timeline__item:focus-visible { border-color: #3575af; background: #eef6ff; }
.plan-timeline__kind { color: #50657a; font-size: .8rem; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.plan-timeline__item strong { font-size: 1rem; line-height: 1.3; }
.plan-timeline__dates { font-size: .95rem; font-weight: 700; }
.plan-timeline__item small, .plan-timeline__status { color: #50657a; font-size: .82rem; }
.schedule-note { padding: .65rem .85rem; border-radius: 8px; background: #eef6ff; color: #204562; font-weight: 700; }
.stage-date-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.stage-cost-editor { margin: .25rem 0 0; padding: 1rem; border: 1px solid #d7b69d; border-radius: .8rem; background: #fffaf6; }
.stage-cost-editor h5 { margin: 0 0 .8rem; }
.stage-cost-editor__rows { display: grid; gap: .65rem; margin-bottom: .75rem; }
.stage-cost-editor__row { display: grid; grid-template-columns: minmax(6rem, .7fr) minmax(9rem, 1.5fr) minmax(5rem, .55fr) minmax(5rem, .55fr) minmax(6rem, .7fr) minmax(12rem, 1.7fr) auto; gap: .5rem; align-items: center; }
.stage-cost-editor__row :is(input, select) { min-width: 0; width: 100%; box-sizing: border-box; }
.stage-cost-summary { font-weight: 750; }
.stage-cost-list { margin: .5rem 1.25rem 1.25rem; padding-left: 1.25rem; color: #3c5266; }
.stage-checks { margin: 1.25rem; padding: 1rem; border-radius: .8rem; border: 1px solid #d5e3ed; background: #f8fbff; }
.stage-checks--draft { margin-top: .4rem; padding-top: 1.2rem; border: 0; border-top: 1px solid #d5e3ed; border-radius: 0; background: transparent; }
.stage-checks > summary { display: flex; justify-content: space-between; align-items: center; color: #183f68; font-weight: 800; list-style: none; cursor: pointer; }
.stage-checks > summary::-webkit-details-marker { display: none; }
.stage-checks > summary::after { content: '+'; font-size: 1.3rem; font-weight: 500; line-height: 1; }
.stage-checks[open] > summary::after { content: '−'; }
.stage-checks > summary:focus-visible { outline: 3px solid #3575af; outline-offset: 3px; }
.stage-checks h5 { margin: 0 0 .5rem; }
.stage-checks__requirement { font-weight: 700; color: #285273; }
.stage-checks__choice { display: flex; gap: .7rem; align-items: end; flex-wrap: wrap; margin: .8rem 0 1rem; }
.stage-checks__choice label { min-width: min(100%, 18rem); }
.stage-checks__choice .account-button { width: auto; }
.stage-checks > .workflow-card--check { margin: .8rem 0; background: #fff; }
.stage-checks > .room-disclosure { margin-bottom: 0; }
.stage-checks__add { margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid #d5e3ed; }
.stage-checks__add h6 { margin: 0 0 .75rem; font-size: 1rem; }
.stage-checks__add .room-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1rem; }
.stage-checks__add .room-form > * { min-width: 0; }
.stage-checks__add .room-form > :is(.account-button, .room-status) { grid-column: 1 / -1; }
@media (max-width: 750px) { .stage-checks__add .room-form { grid-template-columns: 1fr; } }
.work-plan-general { margin-top: 1.5rem; }
.work-plan-general > #project-checks { margin: 1rem; }
.room-local-guide__permission-status { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0 1.25rem; }
.room-local-guide__permission-status > div { display: grid; gap: .25rem; padding: .9rem 1rem; border: 1px solid #cddfec; border-radius: .7rem; background: #fff; }
.room-local-guide__permission-status span { color: #86501f; font-weight: 750; }
.stage-date-fields label { min-width: 0; }
.stage-answer-choice { display: grid; gap: .75rem; }
.stage-answer-choice > label[hidden] { display: none !important; }
.build-check-route__steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin: 1rem 0; padding: 0; list-style: none; counter-reset: check-route; }
.build-check-route__steps li { position: relative; display: grid; align-content: start; gap: .4rem; min-width: 0; padding: 1rem 1rem 1rem 3.3rem; border: 1px solid #d4e1eb; border-radius: 10px; background: #fff; counter-increment: check-route; }
.build-check-route__steps li::before { position: absolute; top: 1rem; left: 1rem; display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; background: #e3effa; color: #204d74; content: counter(check-route); font-size: .85rem; font-weight: 800; }
.build-check-route__steps strong { font-size: .98rem; }
.build-check-route__steps span { color: #50657a; font-size: .91rem; line-height: 1.45; }
.build-check-route__note { font-size: .9rem; }
.profile-credential { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .85rem 0; border-top: 1px solid #d6e3ee; }
.profile-credential > div { display: grid; gap: .2rem; min-width: 0; }
.profile-credential span, .room-team__credential { color: #50657a; font-size: .88rem; }
.profile-credential .room-button { min-height: 40px; }
.room-team__member > div { display: grid; gap: .3rem; min-width: 0; }
@media (max-width: 700px) { .build-check-route__steps { grid-template-columns: 1fr; } }
@media (max-width: 650px) { .stage-date-fields { grid-template-columns: 1fr; } }
@media (max-width: 1100px) { .stage-cost-editor__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } .stage-cost-editor__row :is(input[aria-label="Item or trade"], select[aria-label="Linked job budget item"]) { grid-column: 1 / -1; } }
@media (max-width: 650px) { .room-local-guide__permission-status { grid-template-columns: 1fr; } }
.project-view__toolbar { display: flex; gap: .5rem; margin-bottom: 1.2rem; }
.project-view__toolbar button { min-height: 44px; padding: .55rem .9rem; border: 1px solid #b7cce0; border-radius: 9px; background: #fff; color: #183552; font: inherit; font-weight: 700; cursor: pointer; }
.project-view__toolbar button[aria-pressed="true"] { background: #183552; color: #fff; }
.project-view__toolbar button:focus-visible, .activity-timeline:focus-visible, .tracker-scroll:focus-visible { outline: 3px solid #3575af; outline-offset: 2px; }
.project-view__warning { padding: .85rem 1rem; border-radius: 8px; background: #fff3df; color: #6a3c12; }
.project-view__empty { padding: 1.5rem; border: 1px dashed #b7cce0; border-radius: 10px; background: #f6faff; }
.activity-timeline { display: flex; gap: 1rem; min-height: 230px; padding: 1.2rem .15rem 1.35rem; overflow-x: auto; border-top: 1px solid #d7e3ee; border-bottom: 1px solid #d7e3ee; scrollbar-color: #9ab3cb #edf3f8; }
.activity-timeline__group { position: relative; flex: 0 0 clamp(230px, 29vw, 310px); padding: 1rem; border: 1px solid #cbdceb; border-top: 4px solid #ac6038; border-radius: 10px; background: #f8fbff; }
.activity-timeline__group h5 { margin: 0 0 .9rem; color: #183552; font-size: 1rem; }
.activity-timeline__event { display: grid; gap: .35rem; min-height: 100px; margin-top: .65rem; padding: .85rem; border: 1px solid #d6e3ef; border-radius: 8px; background: #fff; color: #183552; text-decoration: none; }
.activity-timeline__event:hover, .activity-timeline__event:focus-visible { border-color: #3575af; background: #eef6ff; }
.activity-timeline__event time { color: #50657a; font-size: .78rem; }
.activity-timeline__event strong { line-height: 1.35; }
.activity-timeline__event span { color: #50657a; font-size: .9rem; overflow-wrap: anywhere; }
.activity-timeline__event .activity-timeline__project { color: #245882; font-size: .78rem; font-weight: 800; }
.tracker-legend { display: flex; flex-wrap: wrap; gap: .65rem 1.2rem; margin-bottom: 1.35rem; }
.tracker-legend__item { display: inline-flex; align-items: center; gap: .5rem; color: #50657a; font-size: .88rem; }
.rag { display: inline-block; min-width: 4.7rem; padding: .25rem .55rem; border-radius: 999px; font-size: .78rem; font-weight: 750; text-align: center; white-space: nowrap; }
.rag--red { background: #fce8e7; color: #9b2727; }
.rag--amber { background: #fff0d6; color: #865117; }
.rag--green { background: #dff1e7; color: #1b6143; }
.rag--not-set { background: #e9eff5; color: #43586b; }
.project-dashboard__timeline-row .rag { justify-self: start; margin-top: .3rem; }
.stage-rag-form { display: flex; flex-wrap: wrap; align-items: end; gap: .65rem; padding: .9rem; border: 1px solid #d3e0ed; border-radius: 9px; background: #f8fbff; }
.stage-rag-form label { display: grid; flex: 1 1 220px; gap: .3rem; font-weight: 700; }
.stage-rag-form select { min-height: 44px; padding: .55rem .8rem; border: 1px solid #9eb3b7; border-radius: 8px; background: #fff; color: #183552; font: inherit; }
.stage-rag-form .room-button { min-height: 44px; }
.stage-rag-form .room-status { flex-basis: 100%; }
.stage-rag-label { display: inline-block; width: fit-content; padding: .35rem .7rem; border-radius: 999px; font-weight: 750; }
.stage-rag-label--green { background: #dff1e7; color: #1b6143; }
.stage-rag-label--amber { background: #fff0d6; color: #865117; }
.stage-rag-label--red { background: #fce8e7; color: #9b2727; }
.stage-rag-label--not_set { background: #e9eff5; color: #43586b; }
.project-detail-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.project-detail-fields label { min-width: 0; }
@media (max-width: 650px) { .project-detail-fields { grid-template-columns: 1fr; } }
.tracker-scroll { max-width: 100%; overflow-x: auto; border: 1px solid #d5e2ed; border-radius: 10px; }
.tracker-table { width: 100%; min-width: 770px; border-collapse: collapse; text-align: left; }
.tracker-table :is(th, td) { padding: .85rem 1rem; border-bottom: 1px solid #e0e9f1; vertical-align: middle; line-height: 1.4; }
.tracker-table thead th { background: #edf4fa; color: #2c4963; font-size: .8rem; white-space: nowrap; }
.tracker-table tbody th { min-width: 170px; color: #183552; font-weight: 720; }
.tracker-table tbody tr:last-child :is(th, td) { border-bottom: 0; }
.tracker-table tbody tr:hover { background: #f8fbff; }
.tracker-table a { color: #174775; font-weight: 700; white-space: nowrap; }
@media (max-width: 1180px) {
  .project-room { grid-template-columns: 188px minmax(0, 1fr); }
  .project-dashboard__columns { grid-template-columns: 1fr; }
  .project-dashboard__side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-dashboard__activity { grid-column: 1 / -1; min-height: 0; }
  .project-dashboard__health .room-pulse { grid-column: auto; }
  .project-room .room-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-room .room-path__step:nth-of-type(3) { border-left: 0; }
  .project-room .room-path__step:nth-of-type(n+3) { border-top: 1px solid #d8e3ed; }
}
@media (max-width: 1080px) {
  .account-body { --account-header-height: 72px; }
  .is-signed-in .account-main { width: calc(100% - 1rem); }
  .project-room { display: block; }
  .project-room__sidebar { top: var(--account-header-height); z-index: 20; min-height: 0; max-height: none; padding: .55rem .75rem; overflow: visible; border-radius: 17px 17px 0 0; box-shadow: 0 5px 14px rgba(18, 49, 78, .16); }
  .project-room__sidebar-label, .project-room__sidebar-reference { display: none; }
  .project-room__sidebar-title { margin: 0 .35rem .35rem; font-size: .9rem; }
  .project-room__sidebar-nav { display: flex; gap: .3rem; overflow-x: auto; padding-bottom: .15rem; }
  .project-room__sidebar-nav a { flex: none; min-height: 42px; }
  .project-room__sidebar-role { display: none; }
  .project-room__content { padding: .8rem; }
  .project-room__content [id] { scroll-margin-top: 11rem; }
  .project-dashboard__side { grid-template-columns: 1fr; }
  .project-dashboard__activity { grid-column: auto; }
  .project-room .room-hero { align-items: flex-start; }
}
@media print { .project-room__sidebar { position: static; max-height: none; overflow: visible; box-shadow: none; } }
@media (max-width: 470px) {
  .project-room .room-disclosure > :is(p, .room-status, .room-form, .evidence-form, .workflow-prompts) { margin: 1rem; }
  .project-room .room-hero { display: block; }
  .project-room .room-hero__status { display: inline-flex; margin-top: .7rem; }
  .project-room .room-path { grid-template-columns: 1fr; }
  .project-room .room-path__step { border-left: 0 !important; border-top: 1px solid #d8e3ed; }
  .project-room .room-path__step:first-of-type { border-top: 0; }
  .project-dashboard__health .room-pulse > div { min-height: 0; }
}
@media (max-width: 700px) {
  .project-view--timeline { padding: 1rem; }
  .project-view--timeline .schedule-scroll { display: none; }
  .mobile-stage-timeline { display: grid; gap: .75rem; }
  .mobile-stage-timeline__item { display: grid; gap: .35rem; padding: 1rem; border: 1px solid #cadbea; border-left: 5px solid #245882; border-radius: 10px; background: #f8fbff; color: #183552; text-decoration: none; }
  .mobile-stage-timeline__item:focus-visible { outline: 3px solid #3575af; outline-offset: 2px; }
  .mobile-stage-timeline__top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
  .mobile-stage-timeline__kind { color: #50657a; font-size: .84rem; font-weight: 750; }
  .mobile-stage-timeline__title { font-size: 1.1rem; line-height: 1.3; }
  .mobile-stage-timeline__dates { font-size: 1rem; font-weight: 800; }
  .mobile-stage-timeline__meta { color: #405b72; font-size: .9rem; line-height: 1.4; }
  .mobile-stage-timeline__rag { flex: none; padding: .3rem .55rem; border-radius: 6px; color: #fff; font-size: .84rem; }
  .mobile-stage-timeline__rag--green { background: #25815d; }
  .mobile-stage-timeline__rag--amber { background: #e8b044; color: #183552; }
  .mobile-stage-timeline__rag--red { background: #aa2428; }
  .mobile-stage-timeline__rag--unset { background: #344a60; }
  .activity-timeline { display: grid; gap: .75rem; min-height: 0; overflow: visible; padding: .75rem 0; }
  .activity-timeline__group { width: auto; padding: .85rem; }
}
.stage-check-guidance { grid-column: 1 / -1; margin: 0; color: #405b72; font-size: .92rem; }
.stage-check-guidance a { margin-left: .35rem; font-weight: 750; }
.stage-plan-new-check { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1rem; padding: 1rem; border: 1px solid #d3e0ed; border-radius: 9px; background: #f8fbff; }
.stage-plan-new-check[hidden] { display: none; }
.stage-plan-new-check > * { min-width: 0; }
@media (max-width: 700px) { .stage-plan-new-check { grid-template-columns: 1fr; padding: .8rem; } }
.project-room .is-selectable { cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease; }
.project-room .is-selectable:hover, .project-room .is-selectable:focus-visible { border-color: #5488b5; box-shadow: 0 8px 22px rgba(21, 58, 89, .13); transform: translateY(-2px); }
.project-room .is-selectable:focus-visible { outline: 3px solid #d47a3d; outline-offset: 2px; }
.project-room .room-pulse > .is-selectable:hover, .project-room .room-pulse > .is-selectable:focus-visible, .project-room .project-dashboard__budget-strip.is-selectable:hover, .project-room .project-dashboard__budget-strip.is-selectable:focus-visible { background: #dcecf9; }
.project-room .room-path__step:hover, .project-room .project-dashboard__timeline-row:hover, .project-room .project-dashboard__doc-grid a:hover { background: #eaf3fc; border-color: #5488b5; }
@media (prefers-reduced-motion: reduce) { .project-room .is-selectable { transition: none; }.project-room .is-selectable:hover, .project-room .is-selectable:focus-visible { transform: none; } }
.room-hero__target { margin-top: .35rem; color: #245882; font-weight: 800; }
.project-view__completion { display: inline-flex; margin: .45rem 0 1rem; padding: .65rem .85rem; border: 1px solid #a8562b; border-radius: 8px; background: #fff3e9; color: #753714; font-weight: 800; text-decoration: none; }
.project-view__completion:hover, .project-view__completion:focus-visible { background: #ffe6d2; text-decoration: underline; }
.schedule-board__completion-label { position: absolute; z-index: 5; bottom: 0; padding: .2rem .35rem; transform: translateX(-50%); border-radius: 4px 4px 0 0; background: #8d3c17; color: #fff; font-size: .65rem; font-weight: 900; letter-spacing: .04em; white-space: nowrap; }
.schedule-board__completion-line { position: absolute; z-index: 2; top: 0; bottom: 0; width: 3px; transform: translateX(-1px); background: #8d3c17; pointer-events: none; }
.schedule-board__row--deadline .schedule-board__sticky, .schedule-board__row--deadline .schedule-board__owner { background: #fff3e9; }
.schedule-board__row--deadline .schedule-board__track { background-color: #fff8f2; }
.schedule-board__completion-date { position: absolute; z-index: 3; top: 50%; padding: .3rem .45rem; transform: translate(-50%, -50%); border-radius: 5px; background: #8d3c17; color: #fff; white-space: nowrap; }
.project-dashboard__timeline-row.is-deadline { background: #fff3e9; }
.project-dashboard__timeline-row.is-deadline .project-dashboard__timeline-number { background: #8d3c17; color: #fff; }
.project-view__start { margin-right: .5rem; border-color: #245882; background: #e9f3fb; color: #19466a; }
.project-view__start:hover, .project-view__start:focus-visible { background: #d8eafa; }
.schedule-board__start-label, .schedule-board__start-date { background: #245882; }
.schedule-board__start-line { background: #245882; }
.schedule-board__row--start .schedule-board__sticky, .schedule-board__row--start .schedule-board__owner { background: #e9f3fb; }
.schedule-board__row--start .schedule-board__track { background-color: #f4f9fd; }
.project-dashboard__timeline-row.is-start-date { background: #e9f3fb; }
.project-dashboard__timeline-row.is-start-date .project-dashboard__timeline-number { background: #245882; color: #fff; }
.timeline-project-picker { margin: 1.1rem 0 .9rem; padding: .85rem 1rem 1rem; border: 1px solid #bcd1e5; border-radius: 11px; background: #f5f9fd; }
.timeline-project-picker legend { padding: 0 .35rem; color: #183552; font-size: .95rem; font-weight: 800; }
.timeline-project-picker__single { display: grid; gap: .4rem; max-width: 28rem; margin-bottom: .8rem; color: #183552; font-size: .9rem; font-weight: 750; }
.timeline-project-picker__single select { width: 100%; min-height: 46px; box-sizing: border-box; padding: .6rem .75rem; border: 1px solid #adc6dd; border-radius: 8px; background: #fff; color: #183552; font: inherit; }
.timeline-project-picker__single select:focus-visible { outline: 3px solid #3575af; outline-offset: 2px; }
.timeline-project-picker__single select:disabled { opacity: 1; color: #183552; background: #edf4fa; }
.timeline-project-picker__modes, .timeline-project-picker__list { display: flex; flex-wrap: wrap; gap: .55rem; }
.timeline-project-picker__mode, .timeline-project-picker__project { display: inline-flex; align-items: center; gap: .5rem; min-height: 42px; box-sizing: border-box; padding: .45rem .7rem; border: 1px solid #c7d9e9; border-radius: 8px; background: #fff; color: #183552; font-size: .9rem; font-weight: 700; cursor: pointer; }
.timeline-project-picker__mode:has(input:checked), .timeline-project-picker__project:has(input:checked) { border-color: #245882; background: #e6f1fb; }
.timeline-project-picker__mode input, .timeline-project-picker__project input { width: 1rem; height: 1rem; margin: 0; accent-color: #245882; }
.timeline-project-picker__list { margin-top: .8rem; padding-top: .8rem; border-top: 1px solid #d4e2ee; }
.timeline-project-picker__project { border-left: 5px solid var(--project-colour); }
.timeline-project-key { display: flex; flex-wrap: wrap; gap: .45rem .85rem; margin: .35rem 0 1rem; }
.timeline-project-key__item { display: inline-flex; align-items: center; gap: .45rem; font-size: .86rem; font-weight: 750; color: #28465f; }
.timeline-project-key__item::before { display: inline-block; width: .8rem; height: .8rem; border-radius: 3px; background: var(--project-colour); content: ''; }
.schedule-board__row--project .schedule-board__sticky, .schedule-board__row--project .schedule-board__owner { background: #edf4fa; font-weight: 800; }
.schedule-board__row--project .schedule-board__sticky { border-left: 5px solid var(--project-colour); }
.schedule-board__row--project .schedule-board__bar { height: 30px; }
.mobile-stage-timeline__item { border-left-color: var(--project-colour, #245882); }
@media (max-width: 700px) { .timeline-project-picker { padding: .75rem; }.timeline-project-picker__modes { display: grid; grid-template-columns: 1fr; }.timeline-project-picker__mode, .timeline-project-picker__project { min-height: 46px; } }
@container project-content (max-width: 740px) {
  .project-view--timeline { padding: 1rem; }
  .timeline-project-picker { padding: .75rem; }
  .timeline-project-picker__modes { display: grid; grid-template-columns: 1fr; }
  .timeline-project-picker__mode, .timeline-project-picker__project { min-height: 46px; }
  .project-view--timeline .schedule-scroll { display: none; }
  .project-view--timeline .project-view__toolbar { display: flex; justify-content: stretch; gap: .4rem; margin: .45rem 0 .75rem; }
  .project-view--timeline .project-view__toolbar button { flex: 1 1 0; min-width: 0; padding: .55rem .25rem; font-size: .84rem; }
  .project-view--timeline .project-view__subhead { margin: 1.1rem 0 .55rem; }
  .mobile-stage-timeline { display: grid; gap: .45rem; }
  .mobile-stage-timeline__group { position: relative; min-width: 0; padding-left: 1.05rem; border-left: 2px solid #b7cde0; }
  .mobile-stage-timeline__group::before { position: absolute; top: .6rem; left: -.4rem; width: .65rem; height: .65rem; border: 2px solid #fff; border-radius: 50%; background: #245882; content: ''; }
  .mobile-stage-timeline__group-date { margin: .2rem 0 .55rem; color: #183552; font-size: .92rem; font-weight: 800; }
  .mobile-stage-timeline__group-items { display: grid; gap: .65rem; }
  .mobile-stage-timeline__item { display: grid; gap: .42rem; min-width: 0; padding: .8rem .9rem; border: 1px solid #cadbea; border-left: 5px solid var(--project-colour, #245882); border-radius: 10px; background: #fff; color: #183552; text-decoration: none; }
  .mobile-stage-timeline__item:focus-visible { outline: 3px solid #3575af; outline-offset: 2px; }
  .mobile-stage-timeline__item:hover { border-color: #3575af; background: #f1f7fd; }
  .mobile-stage-timeline__item--milestone { border-left-color: #a8562b; background: #fff8f2; }
  .mobile-stage-timeline__top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
  .mobile-stage-timeline__kind { min-width: 0; color: #50657a; font-size: .8rem; font-weight: 750; overflow-wrap: anywhere; }
  .mobile-stage-timeline__title { font-size: 1.05rem; line-height: 1.3; overflow-wrap: anywhere; }
  .mobile-stage-timeline__description { color: #405b72; font-size: .88rem; line-height: 1.45; overflow-wrap: anywhere; }
  .mobile-stage-timeline__dates { font-size: .9rem; font-weight: 800; }
  .mobile-stage-timeline__meta { color: #405b72; font-size: .88rem; line-height: 1.4; }
  .mobile-stage-timeline__rag { flex: none; padding: .3rem .55rem; border-radius: 6px; color: #fff; font-size: .8rem; font-weight: 800; }
  .mobile-stage-timeline__rag--green { background: #25815d; }
  .mobile-stage-timeline__rag--amber { background: #e8b044; color: #183552; }
  .mobile-stage-timeline__rag--red { background: #aa2428; }
  .mobile-stage-timeline__rag--unset { background: #344a60; }
  .mobile-stage-timeline__open { justify-self: start; color: #245882; font-size: .84rem; font-weight: 800; }
  .activity-timeline { display: grid; gap: .75rem; min-height: 0; overflow: visible; padding: .75rem 0; }
  .activity-timeline__group { flex: none; width: auto; min-width: 0; padding: .85rem; }
}
.project-dashboard__questions-count { margin: 0 0 .45rem; color: #496274; font-size: .88rem; font-weight: 700; }
.project-dashboard__questions-empty { margin: .4rem 0 0; color: #496274; line-height: 1.5; }
.project-dashboard__question { display: grid; gap: .2rem; padding: .8rem .2rem; border-top: 1px solid #dce7ef; color: #183552; text-decoration: none; }
.project-dashboard__question:hover, .project-dashboard__question:focus-visible { background: #eaf3fc; }
.project-dashboard__question:focus-visible { outline: 3px solid #3575af; outline-offset: 2px; }
.project-dashboard__question-location { color: #a8562b; font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.project-dashboard__question strong { overflow-wrap: anywhere; font-size: .95rem; line-height: 1.38; }
.project-dashboard__question small { color: #53687b; font-size: .8rem; }
#project-stages .stage-more-actions { margin-top: .8rem; border-top: 1px solid #e1e9f0; }
#project-stages .stage-more-actions > summary { width: fit-content; padding: .65rem 0; color: #47617a; font-size: .85rem; font-weight: 700; cursor: pointer; }
#project-stages .stage-more-actions > .room-button { margin: .45rem 0 .7rem; }
