:root {
  --canvas: #f4f2ed;
  --surface: #ffffff;
  --surface-subtle: #f8f7f3;
  --surface-hover: #efeee9;
  --ink: #232b31;
  --muted: #606b72;
  --subtle: #6b747a;
  --line: #deddd7;
  --line-strong: #c7c7c1;
  --accent: #2b4b62;
  --accent-soft: #e8eef1;
  --selected-surface: #e8eef2;
  --focus-ring: #4f7891;
  --success: #4d725b;
  --success-soft: #edf2ee;
  --warning: #8d6829;
  --warning-soft: #f5f1e8;
  --danger: #a34f49;
  --danger-soft: #f6eeec;
  --radius: 3px;
  --radius-compact: 2px;
  --rail-width: 232px;
  --control-height: 34px;
  --row-height: 38px;
  --font-caption: 11px;
  --font-secondary: 12px;
  --font-body: 13px;
  --font-section: 15px;
  --font-page-title: 23px;
  --body-font: Inter, "Yu Gothic UI", Meiryo, "Hiragino Sans", "Noto Sans JP", system-ui, sans-serif;
}

body { background: var(--canvas); color: var(--ink); font-size: 13.5px; }
.workspace { max-width: 1680px; padding: 24px 30px 42px; }
.nav-rail { align-items: stretch; background: #fff; border-right: 1px solid #e4e2dc; box-shadow: 1px 0 8px rgba(30,44,77,.025); padding: 18px 13px 13px; }
.workspace-brand { align-items: center; display: flex; gap: 10px; margin: 0 3px 24px; }
.workspace-brand > div { display: grid; gap: 2px; min-width: 0; }
.workspace-brand strong { font-size: 15px; font-weight: 720; letter-spacing: -.02em; }
.workspace-brand small { color: var(--muted); font-size: 11px; white-space: nowrap; }
.brand-mark { background: #2b4358; border-radius: 11px; box-shadow: none; font-size: 12px; height: 38px; letter-spacing: 0; margin: 0; width: 38px; }
.nav-section-label, .nav-project-heading > span { color: #929bb0; font-size: 10px; font-weight: 700; letter-spacing: .09em; }
.nav-section-label { margin: 0 10px 8px; }
.rail-nav { align-items: stretch; gap: 3px; }
.rail-link { border-radius: 8px; color: #536078; gap: 11px; height: 41px; justify-content: flex-start; padding: 0 10px; width: 100%; }
.rail-link:hover { background: #f8f7f3; color: #25314e; }
.rail-link.is-active { background: #e8eef2; color: #2b4358; font-weight: 650; }
.rail-link.is-active::before { background: #2b4358; border-radius: 0 3px 3px 0; height: 21px; left: -13px; width: 3px; }
.rail-link svg { flex: 0 0 18px; height: 18px; width: 18px; }
.nav-label { font-size: 13px; line-height: 1; }
.rail-count { border-radius: 8px; font-size: 10px; height: 17px; margin-left: auto; min-width: 18px; padding: 0 5px; position: static; }
.rail-count-muted { background: #edf2ff; color: #5568cc; }
.rail-count.has-failure { background: var(--danger-soft); color: var(--danger); }
.nav-project-heading { align-items: center; border-top: 1px solid #f0efea; display: flex; justify-content: space-between; margin: 21px 3px 7px; padding: 14px 7px 0; }
.nav-project-heading button { align-items: center; background: transparent; border: 0; border-radius: 6px; color: #728099; display: inline-flex; font-size: 18px; height: 25px; justify-content: center; width: 25px; }
.nav-project-heading button:hover { background: #eef0f7; color: var(--accent); }
.sidebar-project-list { display: grid; gap: 2px; max-height: min(35vh,310px); overflow: auto; padding: 0 1px; }
.project-shortcut { align-items: center; background: transparent; border: 0; border-radius: 7px; color: #5d6880; display: flex; gap: 9px; min-height: 34px; padding: 4px 8px; text-align: left; width: 100%; }
.project-shortcut:hover { background: #f8f7f3; color: var(--ink); }
.project-shortcut.is-active { background: #f0f2ff; color: #4559c8; font-weight: 600; }
.project-shortcut > span:nth-child(2) { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-shortcut-mark { align-items: center; background: #eff1f8; border-radius: 6px; color: #6a7492; display: inline-flex; flex: 0 0 22px; font-size: 10px; height: 22px; justify-content: center; }
.project-shortcut.is-active .project-shortcut-mark { background: #dfe4ff; color: #4559c8; }
.project-shortcut > i { background: #7989e4; border-radius: 50%; height: 5px; margin-left: auto; opacity: 0; width: 5px; }
.project-shortcut.is-active > i { opacity: 1; }
.sidebar-project-empty { color: #909aae; font-size: 11px; margin: 2px 8px; }
.rail-spacer { min-height: 18px; }
.local-storage-status { align-items: center; background: #f8f7f3; border: 1px solid #e9f0ec; border-radius: 8px; display: flex; gap: 9px; margin-top: 10px; padding: 9px 10px; }
.local-storage-status > span:last-child { display: grid; gap: 2px; }
.local-storage-status strong { color: #496455; font-size: 11px; font-weight: 650; }
.local-storage-status small { color: #809187; font-size: 10px; }
.rail-local-dot { background: #2aa477; border: 0; bottom: auto; flex: 0 0 7px; height: 7px; position: static; width: 7px; }

.main-area { min-height: 100vh; }
.topbar { background: #fff; backdrop-filter: none; border-bottom-color: #e0e3df; gap: 13px; height: 58px; padding: 0 30px; }
.topbar-scope { flex-basis: 205px; }
.topbar-scope select { border: 1px solid transparent; border-radius: 8px; font-size: 12px; min-height: 34px; }
.topbar-scope select:hover { background: #f7f8fb; border-color: var(--line); }
.global-search { background: #f5f6f9; border-color: #f8f7f3; border-radius: 9px; height: 35px; max-width: 480px; }
.global-search:focus-within { border-color: #b9c3f8; box-shadow: 0 0 0 3px rgba(82,101,212,.09); }
.global-search input { color: #27334c; font-size: 13px; }
.button { border-radius: 8px; font-size: 13px; font-weight: 600; min-height: 36px; padding: 6px 12px; transition: background .13s ease, border-color .13s ease, transform .13s ease; }
.button:active { transform: translateY(1px); }
.button.primary { background: #4c60d2; border-color: #4c60d2; box-shadow: 0 2px 4px rgba(72,93,205,.13); }
.button.primary:hover { background: #3f52bf; }
.button.subtle { border-color: transparent; color: #52607b; }
.button.subtle:hover { background: #f2f4f9; color: #303c59; }
.utility-popover { border-color: #e1e6ee; border-radius: 10px; box-shadow: 0 16px 42px rgba(25,37,67,.15); padding: 8px; }
.utility-popover button { border-radius: 7px; font-size: 13px; }
.page-head { margin-bottom: 18px; }
.page-head h1, .workspace > h1 { font-size: 24px; font-weight: 700; letter-spacing: -.035em; }
.page-head p { color: #6b758b; font-size: 13px; }
.section-title h2, .section-title h3, .workspace-section-head h2 { font-size: 16px; font-weight: 650; }
.section-title p, .workspace-section-head p { font-size: 12px; }
.eyebrow { color: #778489; font-size: 10px; font-weight: 600; letter-spacing: 0; line-height: 1.2; margin: 0 0 5px; text-transform: none; }
.panel-description { color: #6b758b; font-size: 12px; line-height: 1.5; margin: 8px 0 13px; }
.muted-small, .field label { color: #758097; font-size: 12px; }
.field input, .field select, .field textarea, .toolbar input, .toolbar select, .inline-control { border-color: #d9dfeb; border-radius: 7px; font-size: 13px; }
.field input:focus, .field select:focus, .field textarea:focus, .toolbar input:focus, .toolbar select:focus { border-color: #9eacf0; box-shadow: 0 0 0 3px rgba(82,101,212,.09); outline: 0; }
.toast { border-radius: 9px; box-shadow: 0 8px 28px rgba(22,33,54,.2); }

/* Home dashboard */
.dashboard-page { display: grid; gap: 15px; min-width: 0; }
.dashboard-heading { align-items: flex-end; margin: 0 0 1px; }
.dashboard-heading h1 { font-size: 27px; }
.dashboard-heading > div:first-child > p:last-child { color: #6f7a90; font-size: 13px; margin-top: 5px; }
.dashboard-date { background: #fff; border: 1px solid var(--line); border-radius: 8px; color: #7a859a; font-size: 11px; padding: 8px 10px; }
.dashboard-metrics { display: grid; gap: 12px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.metric-card { background: #fff; border: 1px solid #e4e2dc; border-radius: 12px; box-shadow: 0 2px 7px rgba(30,44,77,.035); color: var(--ink); min-height: 165px; min-width: 0; padding: 14px 15px; text-align: left; }
button.metric-card { cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
button.metric-card:hover { border-color: #cbd2fa; box-shadow: 0 7px 19px rgba(39,52,97,.08); transform: translateY(-1px); }
.metric-card-heading { align-items: center; display: flex; gap: 8px; min-height: 23px; }
.metric-icon { align-items: center; border-radius: 7px; display: inline-flex; flex: 0 0 25px; font-size: 13px; font-weight: 700; height: 25px; justify-content: center; }
.metric-icon-green { background: #eaf6f0; color: #278461; }
.metric-icon-violet { background: #e8eef2; color: #536d7b; }
.metric-icon-blue { background: #e9f2ff; color: #497ac0; }
.metric-icon-amber { background: #fff3df; color: #ad751f; font-size: 17px; }
.metric-label { color: #66728a; font-size: 12px; font-weight: 600; }
.metric-link { height: 24px; margin-left: auto; width: 24px; }
.metric-open-arrow { color: #9aa4b7; font-size: 13px; margin-left: auto; }
.metric-progress-content { align-items: center; display: flex; gap: 14px; margin: 12px 0 8px; }
.task-donut { align-items: center; background: #e9edf4; border-radius: 50%; display: flex; flex: 0 0 72px; height: 72px; justify-content: center; position: relative; width: 72px; }
.task-donut::after { background: #fff; border-radius: 50%; content: ""; height: 54px; position: absolute; width: 54px; }
.task-donut > span { align-items: center; display: flex; flex-direction: column; line-height: 1.15; position: relative; z-index: 1; }
.task-donut strong { color: #293754; font-size: 17px; font-variant-numeric: tabular-nums; }
.task-donut small { color: #8791a4; font-size: 9px; }
.metric-big-copy { min-width: 0; }
.metric-big-copy > strong { color: #26334f; display: block; font-size: 21px; font-variant-numeric: tabular-nums; font-weight: 720; line-height: 1.15; }
.metric-big-copy > strong small { color: #9aa2b2; font-size: 12px; font-weight: 500; }
.metric-big-copy > span { color: #808ba0; display: block; font-size: 11px; margin-top: 3px; }
.metric-sparkline { align-items: end; display: flex; gap: 4px; height: 21px; margin-top: 5px; }
.metric-sparkline i { background: #a6b2ed; border-radius: 3px 3px 1px 1px; display: block; flex: 1; max-width: 17px; min-height: 4px; }
.metric-sparkline i:last-child { background: #6074dd; }
.metric-legend { border-top: 1px solid #f8f7f3; color: #738097; display: flex; flex-wrap: wrap; font-size: 10px; gap: 8px 11px; padding-top: 8px; }
.metric-legend > span { align-items: center; display: inline-flex; gap: 4px; }
.legend-dot { background: #8895a8; border-radius: 50%; display: inline-block; height: 7px; width: 7px; }
.dot-complete { background: #31a177; }
.dot-active { background: #6578de; }
.dot-waiting { background: #9678d5; }
.metric-card-value { color: #273450; display: block; font-size: 29px; font-variant-numeric: tabular-nums; font-weight: 720; letter-spacing: -.04em; line-height: 1.15; margin: 10px 0 4px; }
.metric-card-value small { color: #778198; font-size: 12px; font-weight: 550; letter-spacing: 0; }
.metric-card-note { color: #8a94a7; display: block; font-size: 11px; line-height: 1.45; margin-top: 4px; }
.metric-review-list { border-top: 1px solid #f8f7f3; display: grid; gap: 5px; margin-top: 8px; padding-top: 7px; }
.metric-review-list > span { color: #67728a; display: block; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.metric-review-list .status-dot { display: inline-block; margin-right: 5px; vertical-align: 1px; }
.ai-status-pills { display: flex; flex-wrap: wrap; gap: 5px; margin: 10px 0 5px; }
.ai-status-pills > span { align-items: center; border-radius: 6px; display: inline-flex; font-size: 10px; gap: 4px; padding: 4px 6px; }
.ai-running-pill { background: #ecf2ff; color: #5273ba; }
.ai-failed-pill { background: #fff0ef; color: #b64d4d; }
.ai-done-pill { background: #eaf6f0; color: #35785d; }
.pulse-dot { animation: ui-pulse 1.8s infinite; background: #6480e3; border-radius: 50%; display: inline-block; height: 6px; width: 6px; }
@keyframes ui-pulse { 50% { box-shadow: 0 0 0 4px rgba(100,128,227,.16); } }
.release-card-title { color: #293651; display: block; font-size: 14px; line-height: 1.4; margin-top: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.release-progress { align-items: center; display: grid; gap: 7px; grid-template-columns: minmax(45px,1fr) auto auto; margin-top: 11px; }
.release-progress .progress-track { height: 6px; }
.release-progress b { color: #6e7a92; font-size: 10px; }
.release-progress small { color: #9099ab; font-size: 9px; }
.progress-track { background: #ebeff5; border-radius: 999px; height: 6px; overflow: hidden; }
.progress-track > span, .progress-track > i { background: #648472; border-radius: inherit; display: block; height: 100%; }

.delivery-flow-card, .dashboard-panel, .overview-card, .run-list-panel { background: #fff; border: 1px solid #e4e2dc; border-radius: 12px; box-shadow: 0 2px 7px rgba(30,44,77,.03); }
.delivery-flow-card { padding: 13px 16px 14px; }
.delivery-flow-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 10px; }
.delivery-flow-heading h2 { font-size: 14px; font-weight: 650; margin: 0; }
.flow-caption { color: #8c96a9; font-size: 10px; }
.delivery-flow { align-items: stretch; display: grid; gap: 9px; grid-template-columns: repeat(7,minmax(0,1fr)); min-width: 0; }
.flow-step { align-items: flex-start; background: #f8f9fc; border: 1px solid #eceff5; border-radius: 8px; color: #66728a; display: grid; gap: 2px 7px; grid-template-columns: 22px minmax(0,1fr); min-height: 47px; padding: 7px 8px; position: relative; text-align: left; }
.flow-step:hover { background: #f1f3ff; border-color: #dfe4ff; }
.flow-step::after { color: #a1abc0; content: "›"; font-size: 17px; position: absolute; right: -8px; top: 11px; z-index: 1; }
.flow-step:last-child::after { display: none; }
.flow-step-number { align-items: center; background: #e9edf4; border-radius: 6px; color: #6f7b92; display: inline-flex; font-size: 8px; grid-row: span 2; height: 21px; justify-content: center; width: 21px; }
.flow-step strong { color: #46536d; font-size: 10px; line-height: 1.25; white-space: nowrap; }
.flow-step small { color: #929bae; font-size: 9px; line-height: 1.2; }
.flow-step-ai .flow-step-number { background: #e8edff; color: #566cda; }
.flow-step-ai strong { color: #4c60c4; }
.flow-step-attention { background: #fff9ef; border-color: #f3e4c9; }
.flow-step-attention .flow-step-number { background: #fceccf; color: #a46b18; }
.flow-step-attention strong, .flow-step-attention small { color: #916018; }

.dashboard-content-grid { align-items: start; display: grid; gap: 14px; grid-template-columns: minmax(0,1.45fr) minmax(330px,.88fr); }
.dashboard-primary-column, .dashboard-side-column { display: grid; gap: 13px; min-width: 0; }
.dashboard-panel { min-width: 0; padding: 14px 15px; }
.dashboard-panel-head { align-items: center; display: flex; gap: 10px; justify-content: space-between; margin-bottom: 11px; min-width: 0; }
.dashboard-panel-head h2 { color: #25314b; font-size: 15px; font-weight: 680; letter-spacing: -.015em; line-height: 1.25; margin: 0; }
.dashboard-panel-head .eyebrow { margin-bottom: 4px; }
.panel-head-actions { align-items: center; display: flex; gap: 3px; }
.panel-total { color: #7c879b; font-size: 10px; }
.panel-total strong { color: #33415f; font-size: 21px; margin-right: 2px; }
.weekly-chart { align-items: end; display: grid; gap: 8px; grid-template-columns: repeat(7,minmax(0,1fr)); height: 104px; padding: 0 5px; }
.week-day { align-items: center; display: flex; flex-direction: column; gap: 3px; height: 100%; justify-content: end; }
.week-count { color: #78849a; font-size: 10px; font-variant-numeric: tabular-nums; height: 12px; }
.week-bar-track { align-items: end; background: #f1f3f8; border-radius: 6px 6px 3px 3px; display: flex; height: 57px; justify-content: center; overflow: hidden; width: min(34px,70%); }
.week-bar-track i { background: #819b8c; border-radius: 5px 5px 2px 2px; display: block; min-height: 3px; width: 100%; }
.week-day.is-today .week-bar-track { background: #e8eef0; }
.week-day.is-today .week-bar-track i { background: #55788a; }
.week-day-label { color: #6e7a91; display: flex; font-size: 10px; gap: 3px; }
.week-day-label small { color: #9ba4b4; font-size: 9px; }
.week-day.is-today .week-day-label { color: #2b4358; font-weight: 700; }
.weekly-chart-footer { align-items: center; border-top: 1px solid #f8f7f3; color: #8a94a7; display: flex; font-size: 10px; justify-content: space-between; margin-top: 9px; padding-top: 8px; }
.weekly-chart-footer > span:first-child { align-items: center; display: inline-flex; gap: 5px; }
.text-danger { color: var(--danger) !important; }
.text-success { color: var(--success) !important; }
.project-health-grid { display: grid; gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.project-health-card { align-items: flex-start; background: #faf9f6; border: 1px solid #eef0f5; border-radius: 9px; color: inherit; display: flex; gap: 10px; min-width: 0; padding: 10px; text-align: left; transition: border-color .13s,background .13s; }
.project-health-card:hover { background: #f7f8ff; border-color: #dfe3fa; }
.project-card-orb { align-items: center; background: #e8eef2; border: 1px solid #d7e0e5; border-radius: 8px; color: #2b4b62; display: inline-flex; flex: 0 0 31px; font-size: 11px; font-weight: 700; height: 31px; justify-content: center; }
.project-health-copy { display: grid; flex: 1; gap: 6px; min-width: 0; }
.project-health-title { align-items: center; display: flex; gap: 6px; justify-content: space-between; }
.project-health-title strong { color: #34415c; font-size: 12px; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-health-title > span { color: #586bd0; flex: 0 0 auto; font-size: 11px; font-weight: 700; }
.project-health-card .progress-track { height: 5px; }
.project-health-stats { align-items: center; color: #8993a6; display: flex; flex-wrap: wrap; font-size: 9px; gap: 4px 7px; min-height: 13px; }
.health-alert { color: #a36120; }
.review-alert { color: #7658b9; }
.health-next-due { margin-left: auto; }
.activity-panel { padding-bottom: 6px; }
.recent-activity-list { display: grid; }
.activity-item { align-items: center; background: transparent; border: 0; border-top: 1px solid #f8f7f3; color: inherit; display: flex; gap: 9px; min-width: 0; padding: 8px 2px; text-align: left; width: 100%; }
.activity-item:hover { background: #faf9f6; }
.activity-icon { align-items: center; background: #eaf5ef; border-radius: 7px; color: #288163; display: inline-flex; flex: 0 0 25px; font-size: 11px; font-weight: 700; height: 25px; justify-content: center; }
.activity-icon.is-danger { background: #fff0ef; color: #be5551; }
.activity-icon.is-running { background: #e8eef2; color: #2b4b62; }
.activity-icon.is-task { background: #f0f2f7; color: #758099; }
.activity-copy { display: grid; flex: 1; gap: 2px; min-width: 0; }
.activity-copy strong { color: #3a4660; font-size: 11px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.activity-copy small, .activity-item time { color: #8a94a7; font-size: 10px; }
.activity-item time { flex: 0 0 auto; white-space: nowrap; }
.attention-panel { border-color: #e5e8f0; }
.attention-panel > .dashboard-panel-head { margin-bottom: 3px; }
.attention-count { align-items: center; background: #e8eef2; border-radius: 8px; color: #536d7b; display: inline-flex; flex: 0 0 28px; font-size: 12px; font-variant-numeric: tabular-nums; font-weight: 700; height: 28px; justify-content: center; }
.attention-count-clear { background: #eaf5ef; color: #2d8163; }
.attention-count-warm { background: #fff2df; color: #a66a1d; }
.full-width-button { background: #f8f9fc; border: 1px solid #e8ebf2; border-radius: 8px; color: #596781; font-size: 11px; margin-top: 9px; min-height: 32px; width: 100%; }
.full-width-button:hover { background: #f2f4ff; border-color: #dce1fc; color: #4b5fc7; }
.review-empty { align-items: flex-start; background: #f8f9fc; border: 1px dashed #dce1eb; border-radius: 9px; display: flex; flex-direction: column; margin: 11px 0; padding: 15px; }
.empty-check { align-items: center; background: #e8f5ee; border-radius: 50%; color: #248461; display: inline-flex; font-size: 14px; height: 28px; justify-content: center; margin-bottom: 8px; width: 28px; }
.review-empty > strong { color: #3a4860; font-size: 12px; }
.review-empty > p { color: #8390a5; font-size: 11px; line-height: 1.5; margin: 4px 0 8px; }
.attention-summary { display: grid; }
.attention-summary-row { align-items: center; background: transparent; border: 0; border-top: 1px solid #f0efea; color: inherit; display: flex; gap: 8px; min-height: 54px; padding: 7px 1px; text-align: left; }
.attention-summary-row:hover { background: #faf9f6; }
.attention-symbol { align-items: center; border-radius: 7px; display: inline-flex; flex: 0 0 27px; font-size: 12px; font-weight: 750; height: 27px; justify-content: center; }
.symbol-red { background: #fff0ef; color: #bd5550; }
.symbol-amber { background: #fff3df; color: #a76e1f; }
.attention-summary-row > span:nth-child(2) { display: grid; flex: 1; gap: 2px; }
.attention-summary-row strong { color: #46516a; font-size: 11px; font-weight: 620; }
.attention-summary-row small { color: #8b95a8; font-size: 10px; }
.attention-summary-row > b { color: #69758e; font-size: 12px; }
.attention-clear { align-items: center; background: #f3faf6; border: 1px solid #e8f3ec; border-radius: 9px; color: #2c8966; display: flex; gap: 9px; margin-top: 7px; padding: 10px; }
.attention-clear > span { align-items: center; background: #e4f4eb; border-radius: 50%; display: inline-flex; flex: 0 0 24px; height: 24px; justify-content: center; }
.attention-clear div { display: grid; gap: 2px; }
.attention-clear strong { color: #3e6c57; font-size: 11px; }
.attention-clear small { color: #769080; font-size: 10px; }

.inbox-list { border: 0; }
.review-row { align-items: start; background: #fff; border: 1px solid #eaedf3; border-radius: 9px; column-gap: 8px; display: grid; grid-template-areas: "priority meta" "main main" "evidence evidence" "reason reason"; grid-template-columns: minmax(0,1fr) auto; margin: 8px 0; min-height: 0; padding: 9px 10px; row-gap: 5px; }
.review-row:hover { background: #fbfbff; border-color: #cbd3f4; }
.review-row.is-selected { background: #f2f4ff; border-color: #bdc7f4; box-shadow: inset 3px 0 #6175dc; }
.review-card-priority { align-items: center; color: #7b8497; display: inline-flex; font-size: 9px; font-weight: 650; gap: 5px; grid-area: priority; }
.review-card-priority .status-dot { height: 7px; width: 7px; }
.review-main { display: grid; gap: 2px; grid-area: main; min-width: 0; }
.review-card-context { color: #8a94a7; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.review-main strong { color: #35415c; font-size: 12px; font-weight: 680; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.review-main small { color: #8490a4; font-size: 10px; }
.review-meta { align-items: center; display: flex; flex-wrap: wrap; gap: 4px; grid-area: meta; justify-content: flex-end; }
.review-meta .status-tag, .review-meta .risk-tag { background: #f3f5f9; border-radius: 5px; font-size: 9px; padding: 2px 5px; }
.review-evidence-meter { align-items: center; color: #8791a4; display: flex; font-size: 9px; gap: 6px; grid-area: evidence; }
.review-evidence-track { background: #f0efea; border-radius: 99px; display: inline-block; height: 4px; max-width: 100px; overflow: hidden; width: 29%; }
.review-evidence-track i { background: #36a47c; border-radius: inherit; display: block; height: 100%; }
.review-evidence-meter strong { color: #68748a; font-size: 9px; font-weight: 650; }
.review-reason { border-top: 1px solid #f8f7f3; display: grid; gap: 2px; grid-area: reason; min-width: 0; padding-top: 5px; }
.review-reason strong { color: #58647b; display: -webkit-box; font-size: 10px; font-weight: 500; line-height: 1.4; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.review-reason small { color: #929bae; font-size: 9px; }
.review-workspace { border: 1px solid #e5e8f0; border-radius: 12px; box-shadow: 0 3px 12px rgba(30,44,77,.04); height: min(820px,calc(100vh - 215px)); min-height: 610px; overflow: hidden; }
.review-workspace .master-pane { background: #faf9f6; border-right: 1px solid #e4e2dc; }
.review-workspace .master-pane-head { background: #faf9f6; border-bottom-color: #e4e2dc; min-height: 52px; padding: 8px 15px; }
.review-workspace .master-pane-head h2 { color: #33405c; font-size: 14px; font-weight: 680; }
.review-workspace #reviewQueue { padding: 3px 9px; }
.review-workspace .review-row { grid-template-areas: "priority meta" "main main" "evidence evidence" "reason reason"; margin: 7px 0; min-height: 123px; padding: 10px 11px; }
.review-workspace .review-main strong { font-size: 13px; }
.review-workspace .review-reason strong { font-size: 11px; }
.review-workspace .review-reason small { font-size: 10px; }
.detail-pane-inline { background: #fff; }
.inline-detail-scroll { padding: 17px 20px 16px; }
.review-workflow-strip { align-items: center; background: #f7f8fc; border: 1px solid #f0efea; border-radius: 8px; display: flex; gap: 5px; margin: 12px 0; overflow-x: auto; padding: 7px 9px; }
.review-workflow-step { align-items: center; color: #919bad; display: inline-flex; flex: 0 0 auto; font-size: 9px; gap: 4px; white-space: nowrap; }
.review-workflow-step i { align-items: center; background: #e9edf4; border-radius: 50%; color: #7d8799; display: inline-flex; font-size: 8px; font-style: normal; height: 17px; justify-content: center; width: 17px; }
.review-workflow-step.is-complete { color: #328266; }
.review-workflow-step.is-complete i { background: #e4f4eb; color: #248461; }
.review-workflow-step.is-current { color: #5d6ecb; font-weight: 700; }
.review-workflow-step.is-current i { background: #e8ecff; color: #5268d3; }
.review-workflow-connector { color: #b1b9c8; font-size: 16px; }
.evidence-count-pill { background: #edf7f2; border-radius: 7px; color: #358267; font-size: 10px; padding: 5px 7px; white-space: nowrap; }
.review-action-box { background: rgba(255,255,255,.97); border: 1px solid #e4e8f0; border-radius: 11px; box-shadow: 0 2px 9px rgba(28,40,69,.07); gap: 8px; margin: 15px 0 0; padding: 12px; }
.review-workspace .review-action-box { bottom: 0; margin: 12px 0 0; padding: 12px; position: sticky; }
.review-action-title { display: flex; flex-wrap: wrap; gap: 3px 9px; justify-content: space-between; }
.review-action-title > span { color: #303d59; font-size: 12px; font-weight: 700; }
.review-action-title small { color: #8490a3; font-size: 10px; }
.review-action-fields { gap: 8px; }
.review-action-box .field textarea { border-radius: 7px; font-size: 11px; min-height: 45px; }
.review-action-box .field label { font-size: 10px; }
.review-action-box .field label span { color: #9aa3b4; font-size: 9px; font-weight: 400; margin-left: 4px; }
.decision-action-grid { display: grid; gap: 6px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.decision-action-grid .button { gap: 6px; min-width: 0; }
.decision-action-grid .button > span { font-size: 12px; font-weight: 800; }
.review-workspace .decision-action-grid .button.positive { background: #298668; border-color: #298668; border-radius: 7px; color: #fff; }
.review-workspace .decision-action-grid .button.positive:hover { background: #20765a; }
.review-workspace .decision-action-grid .button.warning { background: #fff6e8; border-color: #f0dcb8; border-radius: 7px; color: #956216; }
.review-workspace .decision-action-grid .button.danger { background: #fff1f0; border-color: #efd1ce; border-radius: 7px; color: #b74f4c; }
.decision-action-grid .hold-action { background: #f5f6fa; border-color: #e5e8ef; border-radius: 7px; color: #68748a; }
.review-workspace .review-action-box .page-actions { display: contents; }
.review-workspace .review-action-box .page-actions > .button { flex: initial; }

/* Project Overview */
.project-context-head { border: 0; min-height: 54px; }
.project-context-title h1, .project-context-title h2 { color: #22304a; font-size: 20px; font-weight: 700; letter-spacing: -.025em; }
.project-context-meta { color: #8d97a8; font-size: 10px; }
.project-context-actions .button { color: #68748a; }
.project-navigation { border-bottom: 1px solid #e5e8ef; margin: 0 0 18px; }
.project-groups { border-bottom-color: #e5e8ef; gap: 5px; min-height: 39px; }
.project-group { border-bottom-width: 2px; border-radius: 6px 6px 0 0; color: #79849a; font-size: 12px; font-weight: 600; min-height: 39px; padding: 7px 12px; }
.project-group.is-active { border-bottom-color: #586cda; color: #4d60cb; }
.project-tabs { gap: 5px; min-height: 39px; padding-top: 4px; }
.project-tab { border-radius: 7px; color: #778299; font-size: 12px; font-weight: 550; min-height: 32px; padding: 6px 11px; }
.project-tab.is-active { background: #e8eef2; color: #2b4b62; }
.project-summary-intro { color: #6d7890; font-size: 13px; line-height: 1.55; margin: 0 0 14px; }
.project-overview-hero { display: grid; gap: 12px; grid-template-columns: minmax(0,1.65fr) minmax(250px,.8fr); margin-bottom: 12px; }
.project-progress-hero, .project-health-summary { background: #fff; border: 1px solid #e6eaf1; border-radius: 12px; box-shadow: 0 2px 7px rgba(30,44,77,.03); }
.project-progress-hero { align-items: center; display: grid; gap: 24px; grid-template-columns: minmax(230px,.9fr) minmax(210px,1.1fr); padding: 16px 18px; }
.progress-hero-value { align-items: baseline; display: flex; gap: 11px; margin: 5px 0 8px; }
.progress-hero-value strong { color: #4d61ce; font-size: 34px; font-variant-numeric: tabular-nums; font-weight: 760; letter-spacing: -.05em; line-height: 1; }
.progress-hero-value strong small { font-size: 18px; }
.progress-hero-value > span { color: #77839a; font-size: 11px; }
.progress-track-large { height: 7px; }
.progress-hero-hint { color: #8b95a8; display: block; font-size: 10px; margin-top: 7px; }
.project-status-breakdown { border-left: 1px solid #f0efea; padding-left: 19px; }
.project-status-bar { background: #f0efea; border-radius: 99px; display: flex; height: 9px; margin: 8px 0 9px; overflow: hidden; }
.project-status-segment { display: block; height: 100%; min-width: 0; }
.project-status-segment.status-todo { background: #b1bac8; }
.project-status-segment.status-in_progress { background: #6981e0; }
.project-status-segment.status-in_review { background: #9c7bd4; }
.project-status-segment.status-blocked { background: #d26663; }
.project-status-segment.status-rework { background: #dda346; }
.project-status-segment.status-done { background: #31a078; }
.status-breakdown-legend { display: flex; flex-wrap: wrap; gap: 5px 9px; }
.status-breakdown-legend > span { align-items: center; color: #78849a; display: inline-flex; font-size: 9px; gap: 4px; }
.status-breakdown-legend .status-dot { height: 6px; width: 6px; }
.status-breakdown-legend b { color: #4b5871; font-size: 9px; }
.project-health-summary { background: #fff; padding: 14px 15px; }
.health-pill { align-items: center; border-radius: 7px; display: inline-flex; font-size: 11px; font-weight: 700; gap: 6px; padding: 5px 8px; }
.health-pill i { background: currentColor; border-radius: 50%; height: 6px; width: 6px; }
.health-good { background: #eaf6f0; color: #2b8665; }
.health-review { background: #e8eef2; color: #536d7b; }
.health-warning { background: #fff4e2; color: #a56c1c; }
.health-danger { background: #fff0ef; color: #bc5250; }
.project-health-summary > p { color: #758198; font-size: 11px; line-height: 1.5; margin: 8px 0 10px; }
.health-summary-stats { border-top: 1px solid #eceff4; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 8px; padding-top: 8px; }
.health-summary-stats > span { display: grid; gap: 1px; }
.health-summary-stats strong { color: #37445e; font-size: 15px; font-variant-numeric: tabular-nums; }
.health-summary-stats small { color: #8c96a9; font-size: 9px; }
.project-summary-grid { border: 0; gap: 9px; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 13px; }
.summary-box { background: #fff; border: 1px solid #e4e2dc; border-radius: 9px; padding: 9px 12px; }
.summary-box:first-child { padding-left: 12px; }
.summary-box:last-child { border-right: 1px solid #e4e2dc; }
.summary-box span, .summary-box small { color: #8792a6; font-size: 10px; }
.summary-box strong { color: #33415e; font-size: 17px; font-weight: 700; }
.project-overview-columns { align-items: start; display: grid; gap: 13px; grid-template-columns: minmax(0,1.35fr) minmax(310px,.85fr); }
.project-overview-primary, .project-overview-side { display: grid; gap: 13px; min-width: 0; }
.overview-card { min-width: 0; padding: 14px 15px; }
.overview-card .dashboard-panel-head h2 { font-size: 15px; }
.milestone-overview-meta { color: #7c879b; display: flex; font-size: 10px; justify-content: space-between; margin: 9px 0 6px; }
.milestone-overview-foot { align-items: center; color: #8792a6; display: flex; font-size: 10px; justify-content: space-between; margin-top: 8px; }
.milestone-icon { align-items: center; background: #fff3df; border-radius: 8px; color: #a76e1f; display: inline-flex; font-size: 18px; height: 29px; justify-content: center; width: 29px; }
.recent-task-list { display: grid; }
.recent-task-row { align-items: center; background: transparent; border: 0; border-top: 1px solid #f8f7f3; color: inherit; display: flex; gap: 9px; min-height: 49px; padding: 6px 2px; text-align: left; }
.recent-task-row:hover, .ai-run-compact:hover, .next-task-row:hover { background: #faf9f6; }
.task-type-mark { align-items: center; background: #eaf5ef; border-radius: 7px; color: #308265; display: inline-flex; flex: 0 0 25px; font-size: 10px; font-weight: 750; height: 25px; justify-content: center; }
.task-type-mark.is-bug { background: #fff0ef; color: #bd5550; }
.recent-task-copy { display: grid; flex: 1; gap: 2px; min-width: 0; }
.recent-task-copy strong { color: #38445f; font-size: 11px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recent-task-copy small, .recent-task-state small { color: #8a95a8; font-size: 9px; }
.recent-task-state { align-items: flex-end; display: grid; gap: 2px; justify-items: end; }
.recent-task-state .status-tag { background: #f4f6f9; font-size: 9px; }
.project-empty-card { align-items: center; background: #faf9f6; border: 1px dashed #dce2ec; border-radius: 9px; display: flex; flex-direction: column; padding: 19px 10px; text-align: center; }
.project-empty-card > span { align-items: center; background: #eef0ff; border-radius: 9px; color: #566bd4; display: inline-flex; font-size: 20px; height: 36px; justify-content: center; width: 36px; }
.project-empty-card strong { color: #46536c; font-size: 12px; margin-top: 8px; }
.project-empty-card p { color: #8994a7; font-size: 10px; margin: 3px 0 9px; }
.review-waiting-card .review-row { margin: 7px 0; }
.compact-review-empty { padding: 11px; }
.compact-review-empty .empty-check { height: 24px; width: 24px; }
.compact-review-empty > p { margin-bottom: 0; }
.ai-run-compact { align-items: center; background: transparent; border: 0; border-top: 1px solid #f8f7f3; color: inherit; display: flex; gap: 8px; padding: 8px 2px; text-align: left; width: 100%; }
.run-status-icon { align-items: center; background: #eaf5ef; border-radius: 7px; color: #328265; display: inline-flex; flex: 0 0 25px; font-size: 11px; font-weight: 700; height: 25px; justify-content: center; }
.run-status-icon.is-failed { background: #fff0ef; color: #bd5550; }
.run-status-icon.is-running { background: #e8eef2; color: #2b4b62; }
.ai-run-compact > span:last-child { display: grid; gap: 2px; min-width: 0; }
.ai-run-compact strong { color: #414d66; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-run-compact small { color: #8994a7; font-size: 9px; }
.next-task-row { background: transparent; border: 0; border-top: 1px solid #f8f7f3; color: inherit; display: grid; gap: 4px; padding: 8px 1px; text-align: left; width: 100%; }
.next-task-row > span { align-items: center; display: flex; gap: 6px; min-width: 0; }
.next-task-row strong { color: #48536c; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.next-task-row small { color: #8e98aa; font-size: 9px; padding-left: 13px; }
.project-footer-details { color: #8792a5; margin: 17px 2px 0; }
.project-footer-details .project-facts { border: 0; grid-template-columns: repeat(4,minmax(0,1fr)); }
.project-footer-details .project-facts > div { border: 0; padding: 7px 9px; }
.project-footer-details .project-facts dt { color: #929caf; font-size: 10px; }
.project-footer-details .project-facts dd { color: #5c6880; font-size: 11px; }
.project-footer-details .decision-item { background: #fff; border: 1px solid var(--line); border-radius: 9px; margin-top: 9px; padding: 11px; }

/* AI run workspace */
.runs-page { display: grid; gap: 14px; }
.runs-page > .page-head { margin-bottom: 0; }
.run-origin-tag { align-items: center; background: #f1f7f4; border: 1px solid #e5f0e9; border-radius: 8px; color: #50806a; display: inline-flex; font-size: 10px; gap: 7px; padding: 7px 9px; white-space: nowrap; }
.run-origin-tag .pulse-dot { background: #3d9b73; }
.runs-summary-grid { display: grid; gap: 10px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.run-summary-card { align-items: center; background: #fff; border: 1px solid #e4e2dc; border-radius: 10px; display: flex; gap: 10px; padding: 12px 14px; }
.run-summary-icon { align-items: center; background: #e8eef2; border-radius: 8px; color: #2b4b62; display: inline-flex; flex: 0 0 31px; font-size: 15px; font-weight: 750; height: 31px; justify-content: center; }
.run-summary-failed { background: #fff0ef; color: #bd5550; }
.run-summary-done { background: #eaf5ef; color: #2f8565; }
.run-summary-review { background: #e8eef2; color: #536d7b; }
.run-summary-card > span:last-child { display: grid; gap: 2px; }
.run-summary-card small { color: #8490a4; font-size: 10px; }
.run-summary-card strong { color: #34415e; font-size: 17px; font-variant-numeric: tabular-nums; }
.ai-workflow-explainer { align-items: center; background: #f8f7f3; border: 1px solid #dce2dd; border-radius: 4px; display: flex; gap: 11px; padding: 12px 14px; }
.ai-workflow-spark { align-items: center; background: #e4e8ff; border-radius: 8px; color: #5369d3; display: inline-flex; flex: 0 0 29px; font-size: 15px; height: 29px; justify-content: center; }
.ai-workflow-explainer > span:nth-child(2) { display: grid; flex: 1; gap: 3px; }
.ai-workflow-explainer strong { color: #394666; font-size: 11px; }
.ai-workflow-explainer small { color: #7985a0; font-size: 10px; line-height: 1.45; }
.run-list-panel { padding: 14px 16px; }
.run-list-panel .dashboard-panel-head { border-bottom: 1px solid #f0efea; margin: 0; padding: 0 0 10px; }
.run-workspace-list { display: grid; }
.run-workspace-row { align-items: center; background: #fff; border: 0; border-bottom: 1px solid #edf0f4; color: inherit; display: grid; gap: 11px; grid-template-columns: 30px minmax(0,1fr) auto 93px; min-height: 81px; padding: 10px 5px; text-align: left; }
.run-workspace-row:hover { background: #faf9f6; }
.run-workspace-row.run-row-failed { background: #fbf3f1; }
.run-result-icon { align-items: center; background: #e9f5ef; border-radius: 8px; color: #328568; display: inline-flex; font-size: 13px; font-weight: 750; height: 29px; justify-content: center; width: 29px; }
.run-result-icon.is-failed { background: #fff0ef; color: #bd5550; }
.run-result-icon.is-running { animation: ui-pulse 1.8s infinite; background: #e8eef2; color: #2b4b62; }
.run-workspace-main { display: grid; gap: 3px; min-width: 0; }
.run-context-line { align-items: center; color: #8792a6; display: flex; font-size: 9px; gap: 5px; overflow: hidden; white-space: nowrap; }
.run-workspace-main > strong { color: #394660; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.run-workspace-main > small { color: #8691a4; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.run-workspace-signals { align-items: center; display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-end; max-width: 350px; }
.run-workspace-signals .status-tag { background: #f3f5f9; font-size: 9px; }
.run-signal-meta { color: #8792a6; font-size: 9px; white-space: nowrap; }
.run-row-time { color: #8f99ab; font-size: 10px; text-align: right; white-space: nowrap; }
.run-workspace-list > .empty-state { align-items: center; background: #faf9f6; border-radius: 10px; margin: 17px 0 0; padding: 30px 15px; text-align: center; }
.run-workspace-list > .empty-state code { background: #edf0f8; border-radius: 6px; color: #4d5fc0; font-size: 10px; padding: 6px 8px; }

/* Project list cards */
.project-index-table { display: block; }
.project-health-table, .data-table { background: #fff; border-radius: 9px; }
.data-table th { background: #f7f8fb; color: #737e93; font-size: 11px; font-weight: 650; }
.data-table td { font-size: 13px; }
.status-tag, .risk-tag, .type-tag, .priority-text { border-radius: 5px; font-size: 10px; font-weight: 600; padding: 3px 6px; }
.status-tag::before, .risk-tag::before { height: 6px; width: 6px; }
.progress-track { height: 6px; }
.detail-panel, .form-dialog { border-radius: 13px; box-shadow: 0 15px 48px rgba(22,33,54,.19); }
.form-dialog { border-color: #e0e5ee; }
.form-dialog::backdrop { background: rgba(24,34,54,.28); backdrop-filter: none; }
.empty-state { background: #f9faff; border: 1px dashed #dfe4ee; border-radius: 10px; color: #69758b; padding: 20px; }
.empty-state strong { color: #3b4863; font-size: 13px; }
.onboarding-card { align-items: center; background: #f8f7f3; border: 1px solid #d9e1dd; border-radius: 4px; display: flex; gap: 17px; padding: 17px 20px; }
.onboarding-illustration { align-items: center; background: #fff; border: 1px solid #d7e0e5; border-radius: 13px; color: #5e70d7; display: inline-flex; flex: 0 0 48px; font-size: 24px; height: 48px; justify-content: center; }
.onboarding-card > div { flex: 1; }
.onboarding-card h2 { color: #33405f; font-size: 15px; margin: 0; }
.onboarding-card p:not(.eyebrow) { color: #727f9c; font-size: 11px; margin: 4px 0 9px; }
.onboarding-steps { align-items: center; color: #717e9b; display: flex; flex-wrap: wrap; font-size: 10px; gap: 8px 15px; }
.onboarding-steps span { align-items: center; display: inline-flex; gap: 5px; }
.onboarding-steps b { align-items: center; background: #fff; border: 1px solid #dfe4f4; border-radius: 50%; color: #5c6dca; display: inline-flex; font-size: 9px; height: 17px; justify-content: center; width: 17px; }

/* Project directory cards and denser review candidate rows. */
.project-directory-summary { align-items: center; background: #fff; border: 1px solid #e4e2dc; border-radius: 9px; color: #7d879a; display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 13px; padding: 8px 5px; }
.project-directory-summary > span { border-right: 1px solid #edf0f4; font-size: 11px; padding: 2px 15px; }
.project-directory-summary > span:last-child { border: 0; }
.project-directory-summary strong { color: #3c4965; font-size: 14px; margin-right: 3px; }
.project-directory-grid { display: grid; gap: 13px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.project-directory-card { background: #fff; border: 1px solid #e5e9f1; border-radius: 12px; box-shadow: 0 2px 8px rgba(30,44,77,.035); color: inherit; display: flex; flex-direction: column; min-width: 0; padding: 15px; text-align: left; transition: border-color .14s,box-shadow .14s,transform .14s; }
.project-directory-card:hover { border-color: #cbd2f5; box-shadow: 0 8px 22px rgba(36,49,90,.08); transform: translateY(-1px); }
.project-directory-top { align-items: center; display: flex; justify-content: space-between; }
.project-directory-icon { align-items: center; background: #e8eef2; border: 1px solid #d7e0e5; border-radius: 9px; color: #2b4b62; display: inline-flex; font-size: 12px; font-weight: 750; height: 33px; justify-content: center; width: 33px; }
.project-directory-name { color: #2d3a56; font-size: 15px; font-weight: 700; margin-top: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-directory-code { color: #909aac; font-size: 11px; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-directory-progress-head { align-items: center; color: #828da1; display: flex; font-size: 11px; justify-content: space-between; margin-top: 15px; }
.project-directory-progress-head strong { color: #4f63cf; font-size: 13px; }
.project-directory-card > .progress-track { margin: 5px 0 8px; }
.project-directory-facts { border-bottom: 1px solid #f0efea; color: #7b879b; display: flex; flex-wrap: wrap; font-size: 11px; gap: 5px 11px; padding: 2px 0 9px; }
.project-directory-alerts { align-items: center; display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; min-height: 27px; }
.project-directory-alerts .health-pill { font-size: 9px; padding: 4px 6px; }
.directory-alert { border-radius: 5px; font-size: 9px; padding: 3px 5px; }
.directory-review { background: #e8eef2; color: #536d7b; }
.directory-overdue { background: #fff4e2; color: #a4691b; }
.directory-blocked { background: #fff0ef; color: #b85350; }
.project-directory-next { border-top: 1px solid #f0efea; color: #8a95a8; display: block; font-size: 11px; margin-top: 8px; overflow: hidden; padding-top: 8px; text-overflow: ellipsis; white-space: nowrap; }
.project-directory-empty { align-items: center; display: flex; flex-direction: column; grid-column: 1/-1; margin-top: 15px; padding: 32px 15px; text-align: center; }
.project-directory-empty > p { color: #7b879b; font-size: 13px; }
.project-directory-empty .onboarding-steps { margin: 8px 0 16px; }
.review-workspace .review-row { grid-template-columns: minmax(0,1fr) auto; grid-template-rows: auto auto auto auto; }
.review-workspace .review-card-priority { grid-area: priority; grid-column: 1; grid-row: 1; }
.review-workspace .review-main { grid-area: main; grid-column: 1/-1; grid-row: 2; }
.review-workspace .review-meta { grid-area: meta; grid-column: 2; grid-row: 1; }
.review-workspace .review-evidence-meter { grid-area: evidence; grid-column: 1/-1; grid-row: 3; }
.review-workspace .review-reason { grid-area: reason; grid-column: 1/-1; grid-row: 4; }
.review-action-box, .review-workspace .review-action-box { background: #fff; }
.review-workspace .review-main small, .review-workspace .review-evidence-meter, .review-workspace .review-evidence-meter strong, .review-workspace .review-reason small { font-size: 11px; }
.review-workspace .review-card-context { font-size: 10px; }
.review-workspace .review-reason strong { font-size: 11px; }
.run-context-line, .run-workspace-main > small, .run-signal-meta { font-size: 10px; }
.metric-card-note { font-size: 12px; }
.metric-review-list > span, .ai-status-pills > span { font-size: 11px; }
.flow-step strong, .week-day-label, .weekly-chart-footer { font-size: 11px; }
.flow-step small, .project-health-stats, .activity-copy small, .activity-item time { font-size: 10px; }
.review-main strong { font-size: 13px; }
.review-card-context { font-size: 10px; }
.review-reason strong { font-size: 11px; }
.review-reason small { font-size: 10px; }
.project-summary-intro, .project-health-summary > p { font-size: 13px; }

@media (max-width: 1250px) {
  :root { --rail-width: 220px; }
  .workspace { padding-left: 22px; padding-right: 22px; }
  .topbar { padding-left: 22px; padding-right: 22px; }
  .dashboard-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric-card { min-height: 153px; }
  .dashboard-content-grid { grid-template-columns: minmax(0,1.25fr) minmax(295px,.9fr); }
  .delivery-flow { gap: 6px; }
  .flow-step { padding-left: 6px; padding-right: 5px; }
  .flow-step strong { font-size: 9px; }
  .project-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  :root { --rail-width: 206px; }
  .dashboard-content-grid { grid-template-columns: 1fr; }
  .dashboard-side-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .project-overview-hero { grid-template-columns: 1fr; }
  .project-overview-columns { grid-template-columns: 1fr; }
  .project-overview-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .review-workspace { grid-template-columns: minmax(0,1fr); height: auto; min-height: 0; overflow: visible; }
  .review-workspace .master-pane { border-bottom: 1px solid var(--line); border-right: 0; max-height: 380px; }
  .review-workspace .detail-pane-inline { min-height: 670px; }
  .review-workspace:not(.has-selection) .detail-pane-inline { display: block; }
  .review-workspace .master-pane { min-height: 200px; }
}
@media (max-width: 620px) {
  :root { --rail-width: 0px; }
  .nav-rail { align-items: stretch; background: rgba(255,255,255,.97); border-right: 0; border-top: 1px solid #e5e8f0; bottom: 0; box-shadow: 0 -5px 18px rgba(24,35,58,.07); flex-direction: row; height: calc(67px + env(safe-area-inset-bottom)); justify-content: center; left: 0; padding: 4px 3px calc(4px + env(safe-area-inset-bottom)); right: 0; top: auto; width: 100%; }
  .workspace-brand, .nav-section-label, .nav-project-heading, .sidebar-project-list, .local-storage-status, .rail-spacer { display: none; }
  .rail-nav { display: grid; flex: 1; gap: 0; grid-template-columns: repeat(8,minmax(0,1fr)); min-width: 0; }
  .rail-link { align-items: center; border-radius: 7px; flex-direction: column; gap: 3px; height: 54px; justify-content: center; min-width: 0; padding: 3px 1px; }
  .rail-link svg { flex: 0 0 17px; height: 17px; width: 17px; }
  .nav-label { font-size: 9px; letter-spacing: -.05em; line-height: 1.15; white-space: nowrap; }
  .rail-link.is-active::before { border-radius: 2px 2px 0 0; bottom: -5px; height: 2px; left: 25%; top: auto; width: 50%; }
  .rail-count { border: 1px solid white; font-size: 8px; height: 14px; min-width: 14px; padding: 0 3px; position: absolute; right: 5px; top: 0; }
  .main-area { margin-left: 0; padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .topbar { gap: 5px; height: 51px; padding: 0 8px; }
  .topbar-scope { flex: 0 1 112px; min-width: 80px; }
  .topbar-scope select { font-size: 10px; padding-left: 3px; padding-right: 14px; }
  .global-search { gap: 4px; height: 31px; min-width: 30px; padding: 0 5px; }
  .global-search input { font-size: 11px; }
  .global-search input::placeholder { color: transparent; }
  .global-search kbd { display: none; }
  .global-search svg { flex-basis: 15px; height: 15px; width: 15px; }
  .top-actions { gap: 1px; }
  .detail-panel { left: 0; max-width: 100vw; right: 0; width: auto; }
  #newTask { border-radius: 7px; height: 31px; min-height: 31px; padding: 4px 7px; }
  #newTask span { display: none; }
  .utility-menu > summary { height: 30px; width: 29px; }
  .utility-popover { right: -1px; }
  .workspace { padding: 14px 12px 22px; }
  .workspace, #workspace, .dashboard-page, .dashboard-heading, .dashboard-metrics, .delivery-flow-card, .dashboard-content-grid, .dashboard-primary-column, .dashboard-side-column { max-width: 100%; min-width: 0; width: 100%; }
  .page-head { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 13px; }
  .page-head h1, .workspace > h1 { font-size: 21px; }
  .page-head p { font-size: 12px; }
  .dashboard-page { gap: 11px; }
  .dashboard-heading { align-items: flex-start; flex-direction: row; }
  .dashboard-heading .page-actions { align-items: flex-end; flex-direction: column; }
  .dashboard-heading h1 { font-size: 23px; }
  .dashboard-date { font-size: 9px; padding: 6px 7px; }
  .dashboard-metrics { gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric-card { border-radius: 10px; min-height: 146px; padding: 10px; }
  .metric-card-heading { gap: 5px; }
  .metric-label { font-size: 10px; }
  .metric-icon { flex-basis: 22px; height: 22px; width: 22px; }
  .metric-progress-content { gap: 8px; margin: 9px 0 6px; }
  .task-donut { flex-basis: 58px; height: 58px; width: 58px; }
  .task-donut::after { height: 44px; width: 44px; }
  .task-donut strong { font-size: 14px; }
  .metric-big-copy > strong { font-size: 17px; }
  .metric-legend { gap: 5px 8px; font-size: 8px; padding-top: 6px; }
  .metric-card-value { font-size: 24px; margin: 8px 0 3px; }
  .metric-card-note { font-size: 9px; }
  .metric-review-list { margin-top: 6px; padding-top: 5px; }
  .metric-review-list > span { font-size: 8px; }
  .ai-status-pills { gap: 3px; margin: 9px 0 4px; }
  .ai-status-pills > span { font-size: 8px; padding: 3px 4px; }
  .release-card-title { font-size: 11px; margin-top: 9px; }
  .release-progress { gap: 4px; grid-template-columns: minmax(28px,1fr) auto; }
  .release-progress small { display: none; }
  .delivery-flow-card { padding: 11px 10px; }
  .delivery-flow-heading { align-items: flex-start; gap: 5px; }
  .delivery-flow-heading h2 { font-size: 12px; }
  .flow-caption { font-size: 8px; text-align: right; }
  .delivery-flow { grid-template-columns: repeat(7,minmax(91px,1fr)); max-width: 100%; overflow-x: auto; padding-bottom: 3px; }
  .flow-step { min-height: 43px; }
  .flow-step::after { font-size: 15px; right: -6px; top: 9px; }
  .dashboard-content-grid, .dashboard-primary-column, .dashboard-side-column { gap: 9px; }
  .dashboard-side-column { grid-template-columns: 1fr; }
  .dashboard-panel { border-radius: 10px; padding: 11px; }
  .dashboard-panel-head { margin-bottom: 8px; }
  .dashboard-panel-head h2 { font-size: 14px; }
  .panel-head-actions { gap: 0; }
  .panel-head-actions .button { font-size: 9px; padding: 3px 6px; }
  .weekly-chart { gap: 4px; height: 95px; padding: 0; }
  .week-bar-track { height: 51px; width: min(30px,75%); }
  .weekly-chart-footer { align-items: flex-start; flex-direction: column; gap: 4px; }
  .project-health-grid { grid-template-columns: 1fr; }
  .project-health-card { padding: 8px; }
  .activity-item time { font-size: 8px; }
  .review-row { padding: 8px; }
  .review-workspace { display: flex; flex-direction: column; }
  .review-workspace .master-pane { max-height: 43vh; min-height: 190px; }
  .review-workspace.has-selection .master-pane { display: none; }
  .review-workspace .detail-pane-inline { border-left: 0; min-height: 74vh; }
  .review-workspace:not(.has-selection) .detail-pane-inline { display: none; }
  .review-workspace .review-row { min-height: 105px; }
  .inline-detail-scroll { padding: 12px 12px 14px; }
  .review-workflow-strip { gap: 4px; margin: 8px 0; padding: 6px; }
  .review-workflow-step { font-size: 8px; gap: 3px; }
  .review-workflow-step i { height: 15px; width: 15px; }
  .review-workflow-connector { font-size: 13px; }
  .review-action-box { margin: 12px -12px -14px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
  .review-workspace .review-action-box { border-radius: 9px 9px 0 0; margin: 10px -12px -14px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
  .review-action-fields { grid-template-columns: 1fr; }
  .review-action-box .field textarea { min-height: 36px; max-height: 57px; }
  .decision-action-grid { gap: 5px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .decision-action-grid .button { font-size: 11px; min-height: 34px; }
  .project-context-head { align-items: flex-start; flex-direction: column; gap: 5px; padding: 3px 0 8px; }
  .project-context-title { align-items: flex-start; flex-direction: column; gap: 3px; }
  .project-context-title h1, .project-context-title h2 { font-size: 17px; }
  .project-context-actions { position: absolute; right: 12px; top: 62px; }
  .project-navigation { margin: 0 -12px 13px; }
  .project-groups { min-height: 34px; }
  .project-group { font-size: 10px; min-height: 34px; padding: 5px 8px; }
  .project-tabs { min-height: 34px; }
  .project-tab { font-size: 10px; min-height: 29px; padding: 4px 8px; }
  .project-summary-grid { gap: 6px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .summary-box { border-right: 1px solid #e4e2dc; padding: 7px 9px; }
  .summary-box:first-child { padding-left: 9px; }
  .summary-box strong { font-size: 15px; }
  .project-progress-hero { gap: 12px; grid-template-columns: 1fr; padding: 12px; }
  .project-status-breakdown { border-left: 0; border-top: 1px solid #f0efea; padding: 10px 0 0; }
  .progress-hero-value strong { font-size: 29px; }
  .project-overview-side { grid-template-columns: 1fr; }
  .project-footer-details .project-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .project-directory-summary { align-items: flex-start; gap: 6px; padding: 7px; }
  .project-directory-summary > span { border: 0; font-size: 9px; padding: 1px 5px; }
  .project-directory-summary strong { font-size: 12px; }
  .project-directory-grid { gap: 8px; grid-template-columns: 1fr; }
  .project-directory-card { padding: 11px; }
  .project-directory-name { font-size: 13px; }
  .runs-summary-grid { gap: 6px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .run-summary-card { gap: 7px; padding: 8px; }
  .run-summary-icon { flex-basis: 26px; height: 26px; width: 26px; }
  .run-summary-card small { font-size: 9px; }
  .ai-workflow-explainer { align-items: flex-start; flex-wrap: wrap; padding: 10px; }
  .ai-workflow-explainer > span:nth-child(2) { min-width: calc(100% - 45px); }
  .ai-workflow-explainer .button { margin-left: 40px; }
  .run-list-panel { padding: 11px; }
  .run-workspace-row { gap: 7px; grid-template-columns: 26px minmax(0,1fr); padding: 10px 2px; }
  .run-result-icon { height: 25px; width: 25px; }
  .run-workspace-signals { grid-column: 2; justify-content: flex-start; }
  .run-row-time { display: none; }
  .run-workspace-main > small { white-space: normal; }
  .onboarding-card { align-items: flex-start; flex-wrap: wrap; padding: 12px; }
  .onboarding-illustration { flex-basis: 37px; height: 37px; }
  .onboarding-card > div { min-width: calc(100% - 55px); }
  .onboarding-card > .button { margin-left: 47px; }
  .onboarding-steps { gap: 5px 9px; }
  .form-grid, .detail-grid { grid-template-columns: 1fr; }
  .form-grid .field.full { grid-column: auto; }
  .table-wrap { max-width: 100%; overflow-x: auto; }
  .project-health-table { min-width: 700px; }
  .toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .toolbar .search-field { grid-column: 1/-1; }
  .filter-more-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gantt-axis, .gantt-row { min-width: 930px; }
  .report-grid, .split-grid, .doc-grid { grid-template-columns: 1fr; }
  .server-alert { margin: 9px 12px 0; }
}

@media (max-width: 390px) {
  .topbar-scope { flex-basis: 96px; }
  .global-search { flex: 1 1 55px; }
  .topbar { gap: 3px; padding-left: 6px; padding-right: 6px; }
  .dashboard-heading > div:first-child > p:last-child { font-size: 10px; }
  .metric-card { min-height: 139px; padding: 8px; }
  .metric-label { font-size: 9px; }
  .metric-card-value { font-size: 21px; }
  .metric-card-value small { font-size: 10px; }
  .rail-link { padding-left: 0; padding-right: 0; }
  .nav-label { font-size: 8px; }
  .review-workspace .review-row { grid-template-rows: auto auto auto auto; }
}
