:root {
  color-scheme: light;
  --navy-950: #191916;
  --navy-900: #201f1b;
  --navy-800: #302e29;
  --blue-700: #9b4c32;
  --blue-600: #b75f40;
  --blue-100: #f6e9e3;
  --slate-900: #25241f;
  --slate-700: #4f4c45;
  --slate-600: #69655d;
  --slate-500: #888279;
  --slate-300: #d0ccc4;
  --slate-200: #e1ded7;
  --slate-100: #efede8;
  --slate-50: #f7f6f3;
  --white: #fffefa;
  --canvas: var(--slate-50);
  --line: var(--slate-200);
  --line-strong: #c3beb5;
  --green-700: #237653;
  --green-100: #e4f3eb;
  --red-700: #a43b3b;
  --red-100: #fae8e8;
  --sidebar-width: 248px;
  --layout-gap: 16px;
  --shadow-sm: 0 1px 2px rgba(17, 27, 46, .06);
}

@font-face {
  font-display: swap;
  font-family: "Manrope Variable";
  font-style: normal;
  font-weight: 200 800;
  src: url("/static/fonts/manrope-latin-wght-normal.woff2") format("woff2-variations");
}

* { box-sizing: border-box; }
html { min-width: 0; }
body {
  margin: 0;
  background: var(--slate-50);
  color: var(--slate-900);
  font: 14px/1.5 "Manrope Variable", "Aptos", sans-serif;
  font-optical-sizing: auto;
}
a { color: inherit; }
button, input, select, textarea { font: inherit; }
form { margin: 0; }

.skip-link {
  background: var(--white);
  border: 2px solid var(--blue-600);
  left: 12px;
  padding: 8px 12px;
  position: fixed;
  top: -60px;
  z-index: 100;
}
.skip-link:focus { top: 12px; }

.app-shell { display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); min-height: 100vh; }
.sidebar {
  background: var(--navy-950);
  color: #dce4ef;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 24px 16px 16px;
  position: sticky;
  top: 0;
}
.brand {
  align-items: center;
  display: flex;
  gap: 12px;
  margin: 0 8px 32px;
  text-decoration: none;
}
.brand-mark {
  align-items: center;
  background: var(--blue-600);
  border-radius: 6px;
  color: var(--white);
  display: flex;
  font-size: 12px;
  font-weight: 750;
  height: 34px;
  justify-content: center;
  letter-spacing: .06em;
  width: 34px;
}
.brand-copy { display: grid; line-height: 1.2; }
.brand-copy strong { color: var(--white); font-size: 14px; letter-spacing: .01em; }
.brand-copy small { color: #94a3b7; font-size: 11px; margin-top: 4px; }
.primary-nav { display: grid; gap: 4px; }
.primary-nav a {
  align-items: center;
  border-radius: 5px;
  color: #aebace;
  display: flex;
  font-weight: 600;
  gap: 12px;
  padding: 12px;
  text-decoration: none;
}
.primary-nav a:hover { background: rgba(255,255,255,.055); color: var(--white); }
.primary-nav a[aria-current="page"] { background: var(--navy-800); color: var(--white); }
.primary-nav a[aria-current="page"] { box-shadow: inset 2px 0 0 #cc7758; }
.primary-nav svg { fill: currentColor; height: 17px; width: 17px; }
.sidebar-status {
  align-items: flex-start;
  border-top: 1px solid rgba(255,255,255,.1);
  display: flex;
  gap: 8px;
  margin-top: auto;
  padding: 16px 12px 0;
}
.sidebar-status span:not(.status-dot) { display: grid; }
.sidebar-status strong { color: #dce4ef; font-size: 11px; font-weight: 650; }
.sidebar-status small { color: #8290a5; font-size: 10px; margin-top: 4px; }
.status-dot { background: #45b982; border-radius: 50%; box-shadow: 0 0 0 3px rgba(69,185,130,.12); height: 7px; margin-top: 4px; width: 7px; }

.workspace { min-width: 0; }
.topbar {
  align-items: center;
  background: var(--white);
  border-bottom: 1px solid var(--slate-200);
  display: flex;
  height: 64px;
  justify-content: flex-start;
  padding: 0 32px;
}
.topbar-context { color: var(--slate-600); font-size: 12px; font-weight: 600; }

.account-menu { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.account-copy { display: grid; text-align: right; line-height: 1.2; }
.account-copy strong { color: var(--slate-900); font-size: 12px; font-weight: 700; }
.account-copy small { color: var(--slate-500); font-size: 10px; text-transform: capitalize; }
.account-menu form { margin: 0; }
.account-logout {
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255,255,255,.78);
  color: var(--slate-700);
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  padding: 8px 12px;
}
.account-logout:hover { background: #fff; border-color: #b9b4aa; }

.auth-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 50% 0, rgba(255,255,255,.92), transparent 48%),
    var(--canvas);
}
.auth-shell { display: grid; min-height: 100vh; place-items: center; padding: 24px; }
.auth-card {
  width: min(100%, 430px);
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 24px 70px rgba(28,27,24,.11), 0 2px 8px rgba(28,27,24,.05);
  padding: 32px;
}
.auth-card.wide { width: min(100%, 500px); }
.auth-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 32px; }
.auth-brand > span:last-child { display: grid; }
.auth-brand strong { color: var(--slate-900); font-size: 14px; }
.auth-brand small { color: var(--slate-500); font-size: 11px; }
.auth-card h1 { margin: 4px 0 8px; }
.auth-form { display: grid; gap: 8px; margin-top: 24px; }
.auth-form label { color: var(--slate-700); font-size: 12px; font-weight: 700; margin-top: 8px; }
.auth-form input {
  width: 100%;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  background: #fff;
  color: var(--slate-900);
  min-height: 44px;
  padding: 8px 12px;
}
.auth-form input:focus { border-color: #777168; box-shadow: 0 0 0 3px rgba(53,51,47,.09); outline: 0; }
.auth-form .button { justify-self: stretch; margin-top: 16px; }
.form-alert { border: 1px solid #e4b9ae; border-radius: 10px; background: #fff4f1; color: #8b3324; margin-top: 24px; padding: 12px 16px; font-size: 12px; }
.form-success { border: 1px solid #b9d9ca; border-radius: 10px; background: #f0faf5; color: #256147; margin-top: 24px; padding: 12px 16px; font-size: 12px; }
.microsoft-signin { justify-content: center; margin-top: 24px; width: 100%; }
.microsoft-signin.disabled { cursor: not-allowed; opacity: .58; pointer-events: none; }
.microsoft-mark { display: grid; flex: 0 0 auto; gap: 2px; grid-template-columns: repeat(2, 7px); }
.microsoft-mark i { display: block; height: 7px; width: 7px; }
.microsoft-mark i:nth-child(1) { background: #f35325; }
.microsoft-mark i:nth-child(2) { background: #81bc06; }
.microsoft-mark i:nth-child(3) { background: #05a6f0; }
.microsoft-mark i:nth-child(4) { background: #ffba08; }
.auth-note { color: var(--slate-500); font-size: 11px; line-height: 1.55; margin: 16px 0 0; text-align: center; }
.field-error { color: #a23d2c; font-size: 11px; }
.page-shell { margin: 0 auto; max-width: 1380px; padding: 32px; }

.page-heading { align-items: flex-end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 24px; }
.page-heading h1 { font-size: 28px; letter-spacing: -.025em; line-height: 1.18; margin: 4px 0 0; }
.form-page-heading { align-items: flex-start; margin-bottom: 24px; }
.section-label { color: var(--slate-500); font-size: 10px; font-weight: 750; letter-spacing: .11em; margin: 0; text-transform: uppercase; }
.page-description { color: var(--slate-600); font-size: 13px; margin: 8px 0 0; }
.page-description a { text-decoration: none; }
.header-actions, .form-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 41px;
  overflow: hidden;
  padding: 8px 16px;
  position: relative;
  text-decoration: none;
  transform: translateY(0);
  transition: border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}
.button::after {
  background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.16) 48%, transparent 66%);
  content: "";
  height: 160%;
  left: -90%;
  pointer-events: none;
  position: absolute;
  top: -30%;
  transform: skewX(-18deg);
  transition: left .55s cubic-bezier(.2,.7,.2,1);
  width: 48%;
}
.button:hover::after { left: 145%; }
.button:active { transform: translateY(1px); }
.button:focus-visible { outline: 3px solid var(--blue-700); outline-offset: 2px; }
.button.primary {
  background: linear-gradient(180deg, #3b3a36 0%, #2e2d29 58%, #272622 100%);
  border-color: #22211e;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 1px 2px rgba(0,0,0,.22), 0 5px 12px rgba(30,29,26,.13);
  color: var(--white);
}
.button.primary:hover {
  background: linear-gradient(180deg, #44433e 0%, #34332f 58%, #2a2925 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 2px 3px rgba(0,0,0,.2), 0 7px 16px rgba(30,29,26,.17);
  transform: translateY(-1px);
}
.button.secondary {
  background: linear-gradient(180deg, #fffefa 0%, #f4f1eb 100%);
  border-color: #ccc6bb;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 1px 2px rgba(37,36,31,.08), 0 4px 10px rgba(37,36,31,.035);
  color: var(--slate-700);
}
.button.secondary:hover {
  background: linear-gradient(180deg, #ffffff 0%, #f8f5ef 100%);
  border-color: #a9a298;
  box-shadow: inset 0 1px 0 #fff, 0 2px 4px rgba(37,36,31,.1), 0 7px 15px rgba(37,36,31,.06);
  color: var(--slate-900);
  transform: translateY(-1px);
}
.button.danger {
  background: var(--red-100);
  border-color: #e3b9b9;
  color: var(--red-700);
}
.button.danger:hover { background: #f7dcdc; border-color: var(--red-700); transform: translateY(-1px); }
.button-small { min-height: 34px; padding: 4px 12px; }
.button:disabled, .button:disabled:hover {
  box-shadow: none;
  cursor: not-allowed;
  opacity: .5;
  transform: none;
}
.button:disabled::after { display: none; }
.text-link { color: var(--blue-700); font-size: 12px; font-weight: 650; text-decoration: none; }
.text-link:hover { text-decoration: underline; }

.metrics { display: grid; gap: var(--layout-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: var(--layout-gap); }
.metric-card { background: var(--white); border: 1px solid var(--slate-200); border-radius: 11px; box-shadow: var(--shadow-sm); display: grid; min-height: 121px; padding: 16px; }
.metric-label { color: var(--slate-600); font-size: 12px; font-weight: 650; }
.metric-card strong { align-self: end; font-size: 30px; font-weight: 650; letter-spacing: -.025em; line-height: 1; margin-top: 16px; }
.metric-meta { color: var(--slate-500); font-size: 11px; margin-top: 8px; }
.dashboard-grid { display: grid; gap: var(--layout-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.recent-work { grid-column: span 2; }
.process-panel { grid-column: span 1; }
.panel { background: var(--white); border: 1px solid var(--slate-200); border-radius: 12px; box-shadow: var(--shadow-sm); }
.panel-heading { align-items: center; border-bottom: 1px solid var(--slate-200); display: flex; justify-content: space-between; min-height: 62px; padding: 12px 16px; }
.panel-heading h2 { font-size: 15px; line-height: 1.3; margin: 4px 0 0; }
.count-badge { background: var(--slate-100); border-radius: 10px; color: var(--slate-600); font-size: 10px; margin-left: 4px; padding: 4px 8px; vertical-align: 2px; }
.data-list { display: grid; }
.data-row { align-items: center; border-bottom: 1px solid var(--slate-100); display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) auto 16px; min-height: 67px; padding: 12px 24px; text-decoration: none; }
.data-row:last-child { border-bottom: 0; }
.data-row:hover, .table-row:hover { background: #f8fafc; }
.data-primary { display: grid; min-width: 0; }
.data-primary strong { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.data-primary small { color: var(--slate-500); font-size: 11px; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.row-arrow { color: var(--slate-500); font-size: 21px; line-height: 1; text-align: right; }
.status { border-radius: 12px; display: inline-flex; font-size: 10px; font-weight: 700; padding: 4px 8px; white-space: nowrap; }
.status-neutral { background: var(--blue-100); color: var(--blue-700); }
.status-large { font-size: 11px; padding: 8px 12px; }
.status-heading { font-size: 10px; margin-left: 8px; vertical-align: middle; }
.status-draft { background: var(--blue-100); color: var(--blue-700); }
.status-in_progress { background: #fff2d8; color: #8b5b10; }
.status-review { background: #e9e9fb; color: #53539a; }
.status-completed, .status-active { background: var(--green-100); color: var(--green-700); }
.status-archived { background: var(--slate-100); color: var(--slate-600); }

.empty-state { align-items: center; display: flex; gap: 16px; min-height: 125px; padding: 24px; }
.empty-state h2, .empty-state h3 { font-size: 14px; margin: 0 0 4px; }
.empty-state p { color: var(--slate-600); font-size: 12px; margin: 0; max-width: 510px; }
.empty-state .button { margin-left: auto; }
.empty-icon { align-items: center; background: var(--slate-100); border: 1px solid var(--slate-200); border-radius: 5px; color: var(--slate-500); display: flex; font-size: 11px; font-weight: 750; height: 38px; justify-content: center; width: 38px; }
.standalone-empty { max-width: none; }
.compact-empty { border: 0; min-height: 110px; }
.process-list { list-style: none; margin: 0; padding: 8px 24px 16px; }
.process-list li { align-items: center; border-bottom: 1px solid var(--slate-100); display: flex; gap: 12px; min-height: 58px; }
.process-list li:last-child { border-bottom: 0; }
.process-list li > span { align-items: center; background: var(--slate-100); border: 1px solid var(--slate-200); border-radius: 50%; color: var(--slate-500); display: flex; font-size: 10px; font-weight: 750; height: 25px; justify-content: center; width: 25px; }
.process-list li.is-ready > span { background: var(--green-100); border-color: transparent; color: var(--green-700); }
.process-list div { display: grid; }
.process-list strong { font-size: 12px; }
.process-list small { color: var(--slate-500); font-size: 10px; margin-top: 4px; }

.table-panel { overflow: hidden; }
.table-header, .table-row { align-items: center; display: grid; gap: 16px; }
.table-header { background: #fafbfc; border-bottom: 1px solid var(--slate-200); color: var(--slate-500); font-size: 10px; font-weight: 750; letter-spacing: .06em; min-height: 40px; padding: 0 24px; text-transform: uppercase; }
.table-row { border-bottom: 1px solid var(--slate-100); color: var(--slate-700); min-height: 66px; padding: 12px 24px; text-decoration: none; }
.table-row:last-child { border-bottom: 0; }
.companies-columns { grid-template-columns: minmax(260px, 2fr) minmax(80px, 1fr) minmax(100px, 1fr) minmax(110px, 1fr) 18px; }
.projects-columns { grid-template-columns: minmax(230px, 1.4fr) minmax(240px, 1.2fr) minmax(120px, .6fr) 18px; }
.breadcrumbs { align-items: center; color: var(--slate-500); display: flex; font-size: 11px; gap: 8px; margin-bottom: 16px; }
.breadcrumbs a { color: var(--blue-700); text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; }

.agent-project-grid { align-items: start; display: grid; gap: var(--layout-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.agent-command-panel, .document-panel, .artifact-panel { grid-column: span 3; overflow: hidden; }
.agent-chat-panel { grid-column: span 2; overflow: hidden; }
.agent-chat-panel > .panel-heading { flex-wrap: wrap; gap: 8px; }
.project-input-rail { display: grid; gap: var(--layout-gap); grid-column: span 1; min-width: 0; }
.agent-command-grid { display: grid; gap: var(--layout-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 16px; }
.command-block { min-width: 0; }
.command-label { color: var(--slate-500); display: block; font-size: 10px; font-weight: 750; letter-spacing: .08em; margin-bottom: 12px; text-transform: uppercase; }
.output-chip-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.output-chip-list li { background: var(--blue-100); border: 1px solid #e7cec4; border-radius: 8px; color: var(--blue-700); font-size: 11px; font-weight: 700; padding: 8px 12px; }
.readiness-list { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.readiness-list li { align-items: center; color: var(--slate-600); display: flex; font-size: 11px; gap: 8px; }
.readiness-list li > span { align-items: center; background: var(--slate-100); border-radius: 50%; display: inline-flex; flex: 0 0 20px; height: 20px; justify-content: center; }
.readiness-list li.is-complete { color: var(--green-700); }
.readiness-list li.is-complete > span { background: var(--green-100); }
.readiness-issues { border-top: 1px solid var(--slate-200); display: grid; padding: 0 16px; }
.readiness-issues > div { align-items: center; border-bottom: 1px solid var(--slate-100); display: grid; gap: 12px; grid-template-columns: 24px minmax(0, 1fr) auto; min-height: 64px; padding: 12px 0; }
.readiness-issues > div:last-child { border-bottom: 0; }
.readiness-issues > div > span { align-items: center; background: var(--blue-100); border-radius: 50%; color: var(--blue-700); display: flex; font-size: 11px; font-weight: 800; height: 24px; justify-content: center; }
.readiness-issues p { display: grid; margin: 0; }
.readiness-issues strong { font-size: 11px; }
.readiness-issues small { color: var(--slate-500); font-size: 10px; margin-top: 4px; }
.command-action { align-content: center; display: grid; justify-items: start; }
.command-action p { color: var(--slate-500); font-size: 10px; margin: 8px 0 0; max-width: 310px; }
.automatic-state { align-items: center; color: var(--slate-500); display: inline-flex; font-size: 10px; font-weight: 650; gap: 8px; }
.automatic-state > span { background: var(--slate-500); border-radius: 50%; height: 6px; width: 6px; }
.agent-chat-feed { background: linear-gradient(180deg, #faf9f6 0%, #f7f6f3 100%); display: grid; gap: 12px; padding: 16px; }
.chat-message { align-items: flex-start; align-self: start; display: flex; gap: 12px; max-width: 640px; min-width: 0; }
.chat-message > div { background: var(--white); border: 1px solid var(--slate-200); border-radius: 4px 12px 12px; box-shadow: var(--shadow-sm); padding: 12px 16px; }
.chat-message > div { min-width: 0; }
.chat-message-user { justify-self: end; }
.chat-message-user > div { background: #fff8f4; border-color: #ead6ce; border-radius: 12px 4px 12px 12px; }
.chat-message-meta { align-items: baseline; display: flex; flex-wrap: wrap; gap: 4px 8px; justify-content: space-between; }
.chat-message-meta strong { font-size: 12px; overflow-wrap: anywhere; }
.chat-message-meta span { color: var(--slate-500); font-size: 10px; }
.chat-message p { color: var(--slate-600); font-size: 11px; margin: 8px 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.agent-avatar { align-items: center; background: var(--navy-800); border-radius: 8px; color: var(--white); display: inline-flex; flex: 0 0 32px; font-size: 11px; font-weight: 800; height: 32px; justify-content: center; }
.agent-chat-composer { align-items: end; border-top: 1px solid var(--slate-200); display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) auto; padding: 16px; }
.agent-chat-composer > div { display: grid; gap: 8px; min-width: 0; }
.agent-chat-composer label { color: var(--slate-700); font-size: 11px; font-weight: 700; }
.agent-chat-composer textarea { background: #faf9f6; border: 1px solid var(--slate-300); border-radius: 10px; color: var(--slate-700); min-height: 72px; padding: 12px; resize: vertical; width: 100%; }
.agent-chat-composer .field-error { margin: 0; }
.agent-chat-composer .conversation-contract-note { grid-column: 1 / -1; }
.conversation-contract-note { color: var(--slate-600); font-size: 10px; margin: 0; }
.conversation-empty { color: var(--slate-600); font-size: 11px; margin: 0; padding: 16px; }
.conversation-notice { margin: 16px 16px 0; }
.conversation-read-form { margin-left: auto; }
.conversation-read-form .button { white-space: normal; }
.conversation-pagination { align-items: center; border-top: 1px solid var(--slate-200); display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; padding: 12px 16px; }
.open-question-list { display: grid; }
.open-question { border-bottom: 1px solid var(--slate-100); display: grid; gap: 8px; min-width: 0; padding: 16px; }
.open-question:last-child { border-bottom: 0; }
.open-question > strong, .open-question > p { overflow-wrap: anywhere; }
.open-question > strong { font-size: 12px; }
.open-question > p { color: var(--slate-600); font-size: 10px; margin: 0; }
.open-question-meta { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; }
.open-question-meta time { color: var(--slate-500); font-size: 10px; }
.question-answer-form { display: grid; gap: 8px; margin-top: 4px; }
.question-answer-form label { color: var(--slate-700); font-size: 11px; font-weight: 700; }
.question-answer-form textarea { min-height: 76px; resize: vertical; width: 100%; }
.question-answer-form .field-error { margin: 0; }
.question-answer-form .button { justify-self: start; }
.project-switcher { display: grid; max-height: 260px; overflow-y: auto; padding: 8px; }
.project-switcher a { border-radius: 8px; display: grid; padding: 8px 12px; text-decoration: none; }
.project-switcher a:hover { background: var(--slate-50); }
.project-switcher a[aria-current="page"] { background: var(--blue-100); box-shadow: inset 2px 0 0 var(--blue-600); }
.project-switcher strong { font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-switcher small { color: var(--slate-500); font-size: 10px; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-switcher-meta { align-items: center; display: flex; flex-wrap: wrap; gap: 4px 8px; margin-top: 4px; }
.project-switcher-meta small { margin: 0; }
.project-marker { background: var(--blue-100); border-radius: 10px; color: var(--blue-700); font-size: 9px; font-weight: 750; padding: 2px 8px; }
.project-marker-unread { background: var(--navy-800); color: var(--white); }
.input-preview-list { display: grid; list-style: none; margin: 0; padding: 8px 16px 16px; }
.input-preview-list li { border-bottom: 1px solid var(--slate-100); display: grid; padding: 12px 0; }
.input-preview-list li:last-child { border-bottom: 0; }
.input-preview-list strong { font-size: 11px; }
.input-preview-list small { color: var(--slate-500); font-size: 10px; margin-top: 4px; }
.input-preview-list .text-link { justify-self: start; margin-top: 8px; }
.input-preview-actions { display: flex; flex-wrap: wrap; gap: 4px 12px; }
.rail-empty { color: var(--slate-500); font-size: 11px; padding: 16px; }
.rail-empty p { margin: 0; }
.document-list { display: grid; }
.document-row { align-items: center; border-bottom: 1px solid var(--slate-100); display: grid; gap: 16px; grid-template-columns: 42px minmax(0, 1fr) auto; min-height: 68px; padding: 12px 24px; }
.document-row:last-child { border-bottom: 0; }
.document-icon { align-items: center; background: #fff1ed; border: 1px solid #efd2c8; border-radius: 7px; color: var(--blue-700); display: flex; font-size: 9px; font-weight: 800; height: 38px; justify-content: center; letter-spacing: .05em; width: 38px; }
.document-actions { align-items: center; display: flex; gap: 8px; }
.document-upload-form { align-items: end; background: #faf9f6; border-top: 1px solid var(--slate-200); display: grid; gap: 12px; grid-template-columns: minmax(180px, .8fr) minmax(260px, 1.4fr) auto; padding: 16px 20px; }
.document-upload-form > div { display: grid; gap: 8px; }
.document-upload-form label { color: var(--slate-700); font-size: 11px; font-weight: 700; }
.document-upload-form input[type="file"] { font-size: 11px; padding: 8px 12px; }
.document-upload-form .field-help { grid-column: 1 / -1; margin: 0; }
.inline-fields { align-items: center; display: flex; gap: 8px; }
.inline-fields select { flex: 1; }
.notice { border: 1px solid var(--slate-200); border-radius: 8px; margin-bottom: 16px; padding: 12px 16px; }
.notice-neutral { background: var(--slate-100); color: var(--slate-700); }
.notice-error { background: var(--red-100); border-color: #e3b9b9; color: var(--red-700); }

.icon-button { align-items: center; background: transparent; border: 1px solid var(--slate-200); border-radius: 8px; cursor: pointer; display: inline-flex; height: 34px; justify-content: center; width: 34px; }
.danger-icon { color: var(--red-700); font-size: 18px; }
.danger-icon:hover { background: var(--red-100); border-color: #e3b9b9; }
.form-error { margin-left: 16px; margin-right: 16px; }
.compact-field { padding: 0; }
.danger-zone { align-items: center; border: 1px solid #ead0d0; border-radius: 12px; display: flex; gap: 16px; justify-content: space-between; margin-top: 24px; padding: 16px; }
.danger-zone strong { color: var(--red-700); }
.danger-zone p { color: var(--slate-600); font-size: 11px; margin: 4px 0 0; }
.delete-confirmation-form { display: grid; gap: 8px; min-width: min(100%, 420px); }
.delete-confirmation-form label, .audit-row time, .audit-actor { color: var(--slate-600); font-size: 11px; }
.delete-confirmation-form input { min-width: 220px; }
.audit-row { grid-template-columns: minmax(0, 1fr) minmax(120px, auto) minmax(145px, auto); }
.audit-row time { text-align: right; }
.visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }

.inbox-grid { align-items: start; display: grid; gap: var(--layout-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.inbox-list-panel { grid-column: span 3; overflow: hidden; }
.inbox-list { display: grid; }
.inbox-item { align-items: start; border-bottom: 1px solid var(--slate-100); display: grid; gap: 12px 16px; grid-template-columns: minmax(0, 1fr) auto; padding: 16px 24px; }
.inbox-item:last-child { border-bottom: 0; }
.inbox-item-copy { display: grid; min-width: 0; }
.inbox-item-copy strong, .inbox-item-copy p { overflow-wrap: anywhere; }
.inbox-item-copy strong { font-size: 13px; }
.inbox-item-copy p { color: var(--slate-600); font-size: 11px; margin: 4px 0 0; }
.inbox-item-meta { align-items: flex-end; display: grid; gap: 8px; justify-items: end; }
.inbox-item-meta time { color: var(--slate-500); font-size: 10px; }
.inbox-item-meta .button { text-align: center; white-space: normal; }

.form-layout { display: grid; gap: 12px; max-width: 820px; }
.project-setup-grid { align-items: start; gap: var(--layout-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; }
.project-core-section { grid-column: span 1; }
.project-topic-section { grid-column: span 2; }
.project-setup-grid > .form-error, .project-setup-grid > .form-footer { grid-column: 1 / -1; }
.form-section { padding-bottom: 16px; }
.field-group { display: grid; padding: 16px 16px 0; }
.form-grid { display: grid; gap: 12px 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px 16px 0; }
.form-grid > div { display: grid; align-content: start; }
.topic-fieldset { border: 0; margin: 0; padding: 16px 16px 0; }
.topic-fieldset legend { color: var(--slate-700); font-size: 12px; font-weight: 650; padding: 0; }
.topic-options { display: grid; gap: 12px 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 12px; }
.topic-option { align-items: flex-start; border: 1px solid #d9d4cb; border-radius: 8px; cursor: pointer; display: flex; gap: 12px; margin: 0; padding: 12px; }
.topic-option:has(input:checked) { background: #f3f7f6; border-color: var(--green-700); }
.topic-option.is-pending { background: #fcfaf6; border-color: #ddd5c8; }
.topic-option.is-pending strong { color: var(--slate-700); }
.topic-option.is-unavailable { background: #f4f2ee; border-color: #ddd8cf; cursor: not-allowed; }
.topic-option.is-unavailable strong { color: var(--slate-500); }
.topic-option input { flex: 0 0 16px; margin: 4px 0 0; min-height: 16px; padding: 0; width: 16px; }
.topic-option span { display: grid; gap: 4px; }
.topic-option strong { color: var(--slate-900); font-size: 12px; }
.topic-option small { color: var(--slate-500); font-size: 11px; font-weight: 450; line-height: 1.45; }
.topic-list { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; list-style: none; margin: 0; padding: 0; }
.topic-list li { background: var(--slate-100); border-radius: 8px; padding: 4px 8px; }
.missing-value { color: var(--slate-500); font-weight: 500; }
label { color: var(--slate-700); font-size: 12px; font-weight: 650; margin-bottom: 8px; }
.field-help { color: var(--slate-500); font-size: 11px; margin: 0 0 8px; }
.field-optional { color: var(--slate-500); font-size: 10px; font-weight: 600; margin-left: 4px; text-transform: uppercase; }
input, select, textarea { background: #fff; border: 1px solid #c3beb5; border-radius: 8px; color: var(--slate-900); min-height: 42px; padding: 8px 12px; transition: border-color .16s ease, box-shadow .16s ease; width: 100%; }
input:hover, select:hover, textarea:hover { border-color: var(--slate-500); }
input:focus, select:focus, textarea:focus { border-color: var(--blue-600); box-shadow: 0 0 0 3px rgba(183,95,64,.14); outline: 0; }
textarea { line-height: 1.55; resize: vertical; }
.required { color: var(--red-700); }
.field-error { background: var(--red-100); border-left: 3px solid var(--red-700); color: var(--red-700); font-size: 11px; margin: 8px 0 0; padding: 8px 12px; }
.form-footer { justify-content: flex-end; padding-top: 2px; }

.intake-page-heading { align-items: flex-start; }
.success-banner { background: var(--green-100); border: 1px solid #bfdccc; border-radius: 10px; color: var(--green-700); margin-bottom: 16px; padding: 12px 16px; }
.success-banner strong { margin-right: 4px; }
.intake-form-error { margin: 0 0 16px; }
.intake-layout { align-items: start; display: grid; gap: var(--layout-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.intake-form { display: grid; gap: var(--layout-gap); grid-column: span 2; }
.intake-rail { display: grid; gap: var(--layout-gap); grid-column: span 1; }
.intake-section { overflow: hidden; }
.intake-fields { display: grid; gap: 16px; padding: 16px; }
.intake-field { display: grid; scroll-margin-top: 16px; }
.intake-field + .intake-field { border-top: 1px solid var(--slate-100); padding-top: 16px; }
.intake-field-heading { align-items: center; display: flex; gap: 8px; justify-content: space-between; }
.intake-field-heading label { margin-bottom: 8px; }
.intake-field textarea { min-height: 120px; }
.input-version-meta { color: var(--slate-500); font-size: 10px; line-height: 1.6; margin: 8px 0 0; }
.intake-actions { justify-content: flex-end; }
.readiness-summary { display: grid; gap: 12px; padding: 16px; }
.readiness-summary p { color: var(--slate-600); font-size: 11px; margin: 0; }
.readiness-meter { align-items: end; display: flex; gap: 8px; }
.readiness-meter strong { font-size: 28px; font-weight: 650; line-height: 1; }
.readiness-meter span { color: var(--slate-500); font-size: 10px; padding-bottom: 2px; text-transform: uppercase; }
.compact-check-list { border-top: 1px solid var(--slate-100); display: grid; list-style: none; margin: 0; padding: 4px 16px; }
.compact-check-list li { align-items: start; display: flex; gap: 8px; padding: 12px 0; }
.compact-check-list li > span { align-items: center; background: var(--blue-100); border-radius: 50%; color: var(--blue-700); display: flex; flex: 0 0 20px; height: 20px; justify-content: center; }
.compact-check-list li > div { display: grid; }
.compact-check-list strong { font-size: 11px; }
.compact-check-list small { color: var(--slate-500); font-size: 10px; margin-top: 4px; }
.panel-footer { border-top: 1px solid var(--slate-100); padding: 12px 16px; }
.readiness-recommendations { border-top: 1px solid var(--slate-100); color: var(--slate-600); display: grid; font-size: 10px; gap: 8px; padding: 16px; }
.readiness-recommendations > strong { color: var(--slate-700); font-size: 11px; }
.readiness-recommendations ul { display: grid; gap: 4px; margin: 0; padding-left: 16px; }
.readiness-recommendations .text-link { justify-self: start; }
.intake-review-summary p { margin: 0; }
.contract-note-panel > p { color: var(--slate-600); font-size: 11px; margin: 0; padding: 16px; }

.review-page-heading { align-items: flex-start; }
.review-form-error { margin: 0 0 16px; }
.review-layout { align-items: start; display: grid; gap: var(--layout-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.review-main { display: grid; gap: var(--layout-gap); grid-column: span 2; min-width: 0; }
.review-rail { display: grid; gap: var(--layout-gap); grid-column: span 1; min-width: 0; }
.review-notice { margin: 0; }
.review-section, .revision-history { overflow: hidden; }
.review-section-heading { gap: 16px; }
.review-field-list { display: grid; }
.review-field { display: grid; padding: 16px; }
.review-field + .review-field { border-top: 1px solid var(--slate-100); }
.review-field-heading { align-items: center; display: flex; gap: 8px; justify-content: space-between; }
.review-field h3 { font-size: 12px; margin: 0; }
.review-value { background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 8px; color: var(--slate-700); font-size: 12px; margin-top: 12px; overflow-wrap: anywhere; padding: 12px; white-space: pre-wrap; }
.review-meta { color: var(--slate-500); font-size: 10px; margin: 8px 0 0; }
.review-confirmed-meta { color: var(--green-700); }
.review-section-action { padding: 12px 16px; }
.review-confirm-form { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; }
.review-confirm-form p { color: var(--slate-500); font-size: 10px; margin: 0; }
.review-summary-numbers { display: grid; gap: 4px; padding: 16px; }
.review-summary-numbers strong { font-size: 28px; font-weight: 650; line-height: 1; }
.review-summary-numbers span { color: var(--slate-500); font-size: 10px; text-transform: uppercase; }
.review-summary-lines { border-top: 1px solid var(--slate-100); display: grid; padding: 8px 16px; }
.review-summary-lines p { align-items: center; display: flex; font-size: 11px; justify-content: space-between; margin: 0; padding: 8px 0; }
.review-summary-lines span { color: var(--slate-500); }
.revision-list { display: grid; }
.revision-entry { border-bottom: 1px solid var(--slate-100); }
.revision-entry:last-child { border-bottom: 0; }
.revision-entry summary { align-items: center; cursor: pointer; display: flex; gap: 16px; justify-content: space-between; list-style: none; padding: 12px 16px; }
.revision-entry summary::-webkit-details-marker { display: none; }
.revision-entry summary > span:first-child { display: grid; }
.revision-entry summary strong { font-size: 11px; }
.revision-entry summary small { color: var(--slate-500); font-size: 10px; margin-top: 4px; }
.revision-entry[open] summary > span:last-child { transform: rotate(45deg); }
.revision-values { background: var(--slate-50); border-top: 1px solid var(--slate-100); display: grid; padding: 4px 16px; }
.revision-values > div { border-bottom: 1px solid var(--slate-200); display: grid; gap: 8px; padding: 12px 0; }
.revision-values > div:last-child { border-bottom: 0; }
.revision-values span { display: grid; }
.revision-values strong { font-size: 11px; }
.revision-values small { color: var(--slate-500); font-size: 10px; margin-top: 4px; }
.revision-values p, .revision-empty { color: var(--slate-600); font-size: 11px; margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.history-limit-note { color: var(--slate-500); font-size: 10px; margin: 0; }
.history-pagination { align-items: center; display: grid; gap: 8px; grid-template-columns: 1fr auto 1fr; }
.history-pagination > :last-child { justify-self: end; }
.revision-empty { padding: 16px; }

.knowledge-metrics { margin-bottom: var(--layout-gap); }
.knowledge-layout { align-items: start; display: grid; gap: var(--layout-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.knowledge-layout > .panel { min-width: 0; }
.knowledge-span-2 { grid-column: span 2; }
.knowledge-column-3 { grid-column: 3; }
.knowledge-register-panel, .knowledge-history-panel, .knowledge-editor-panel, .knowledge-sources-panel { overflow: hidden; }
.knowledge-section-list { display: grid; }
.knowledge-section { border-bottom: 1px solid var(--slate-200); }
.knowledge-section:last-child { border-bottom: 0; }
.knowledge-section-heading { align-items: center; background: #faf9f6; display: flex; gap: 16px; justify-content: space-between; min-height: 48px; padding: 8px 16px; }
.knowledge-section-heading > div { align-items: center; display: flex; gap: 12px; min-width: 0; }
.knowledge-section-heading > div > span { align-items: center; background: var(--slate-100); border: 1px solid var(--slate-200); border-radius: 8px; color: var(--slate-500); display: inline-flex; flex: 0 0 32px; font-size: 10px; font-weight: 750; height: 32px; justify-content: center; }
.knowledge-section-heading h3 { font-size: 12px; margin: 0; }
.knowledge-section-heading small { color: var(--slate-500); flex: 0 0 auto; font-size: 10px; }
.knowledge-section-empty { color: var(--slate-500); font-size: 11px; margin: 0; padding: 12px 16px 16px 60px; }
.knowledge-item-list { display: grid; }
.knowledge-item-row { align-items: center; border-top: 1px solid var(--slate-100); display: grid; gap: 12px; grid-template-columns: 4px minmax(0, 1fr) auto 16px; min-height: 64px; padding: 12px 16px; text-decoration: none; }
.knowledge-section .knowledge-item-row:first-child { border-top: 0; }
.knowledge-item-row:hover { background: #fbfaf7; }
.knowledge-item-row.is-withdrawn, .knowledge-item-row.is-historical { color: var(--slate-600); }
.knowledge-kind-marker { align-self: stretch; background: var(--slate-300); border-radius: 4px; min-height: 32px; }
.knowledge-kind-marker.kind-internal_fact { background: #6d9583; }
.knowledge-kind-marker.kind-external_fact { background: #bc704e; }
.knowledge-kind-marker.kind-assumption { background: #9a83b0; }
.knowledge-item-copy { display: grid; min-width: 0; }
.knowledge-item-copy strong { display: -webkit-box; font-size: 12px; font-weight: 650; line-height: 1.5; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.knowledge-item-copy small { color: var(--slate-500); font-size: 10px; margin-top: 4px; }
.knowledge-form { display: grid; gap: 16px; padding: 16px; }
.knowledge-form > div, .knowledge-edit-form > div, .source-form > div { display: grid; align-content: start; }
.knowledge-form .button { width: 100%; }
.knowledge-guide-panel { overflow: hidden; }
.revision-pill { background: var(--slate-100); border: 1px solid var(--slate-200); border-radius: 12px; color: var(--slate-600); font-size: 10px; font-weight: 750; padding: 4px 8px; }
.knowledge-edit-form { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px; }
.knowledge-form-wide { grid-column: 1 / -1; }
.knowledge-edit-action { align-items: end; }
.knowledge-edit-action .button { justify-self: end; }
.knowledge-readonly { display: grid; gap: 16px; padding: 16px; }
.knowledge-readonly > p { font-size: 14px; line-height: 1.65; margin: 0; white-space: pre-wrap; }
.knowledge-readonly > div { background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 8px; padding: 12px; }
.knowledge-readonly > div strong { display: block; font-size: 10px; letter-spacing: .06em; margin-bottom: 8px; text-transform: uppercase; }
.knowledge-readonly > div p { color: var(--slate-700); font-size: 12px; margin: 0; white-space: pre-wrap; }
.knowledge-readonly > small { color: var(--slate-500); }
.knowledge-source-list { display: grid; }
.knowledge-source-row { align-items: start; border-bottom: 1px solid var(--slate-100); display: grid; gap: 12px; grid-template-columns: 112px minmax(0, 1fr) auto; padding: 16px; }
.source-type-badge { background: var(--slate-100); border: 1px solid var(--slate-200); border-radius: 12px; color: var(--slate-600); display: inline-flex; font-size: 9px; font-weight: 750; justify-content: center; padding: 4px 8px; text-align: center; }
.knowledge-source-copy { display: grid; min-width: 0; }
.knowledge-source-copy > strong { font-size: 12px; overflow-wrap: anywhere; }
.knowledge-source-copy > strong a { color: var(--blue-700); }
.knowledge-source-copy > small { color: var(--slate-500); font-size: 10px; margin-top: 4px; overflow-wrap: anywhere; }
.knowledge-source-copy > p { color: var(--slate-600); font-size: 11px; margin: 8px 0 0; }
.knowledge-source-copy blockquote { background: var(--slate-50); border-left: 3px solid var(--slate-300); color: var(--slate-600); font-size: 11px; margin: 8px 0 0; padding: 8px 12px; white-space: pre-wrap; }
.source-adders { background: #faf9f6; display: grid; }
.source-adder { border-top: 1px solid var(--slate-200); }
.source-adder summary { cursor: pointer; display: grid; list-style: none; padding: 12px 16px; }
.source-adder summary::-webkit-details-marker { display: none; }
.source-adder summary span { font-size: 11px; font-weight: 700; }
.source-adder summary small { color: var(--slate-500); font-size: 10px; margin-top: 4px; }
.source-adder[open] summary { background: var(--white); border-bottom: 1px solid var(--slate-100); }
.source-form { background: var(--white); display: grid; gap: 12px 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px; }
.source-form-wide { grid-column: 1 / -1; }
.source-form > .button { justify-self: start; }
.knowledge-state-summary { display: grid; gap: 8px; padding: 16px; }
.knowledge-state-summary > strong { font-size: 16px; }
.knowledge-state-summary p { color: var(--slate-600); font-size: 11px; margin: 0; }
.knowledge-state-actions { border-top: 1px solid var(--slate-100); display: grid; gap: 8px; padding: 16px; }
.knowledge-state-actions .button { width: 100%; }
.knowledge-state-panel .panel-footer p { margin: 0; }
.knowledge-meta-list { display: grid; margin: 0; padding: 8px 16px; }
.knowledge-meta-list > div { align-items: start; border-bottom: 1px solid var(--slate-100); display: grid; gap: 8px; grid-template-columns: 96px minmax(0, 1fr); padding: 8px 0; }
.knowledge-meta-list > div:last-child { border-bottom: 0; }
.knowledge-meta-list dt { color: var(--slate-500); font-size: 10px; }
.knowledge-meta-list dd { font-size: 11px; margin: 0; overflow-wrap: anywhere; }
.knowledge-revision-body { background: var(--slate-50); border-top: 1px solid var(--slate-100); display: grid; gap: 12px; padding: 16px; }
.knowledge-revision-body > div > span { color: var(--slate-500); display: block; font-size: 9px; font-weight: 750; letter-spacing: .06em; margin-bottom: 4px; text-transform: uppercase; }
.knowledge-revision-body p { color: var(--slate-700); font-size: 11px; margin: 0; white-space: pre-wrap; }
.knowledge-revision-sources > span { color: var(--slate-500); display: block; font-size: 9px; font-weight: 750; letter-spacing: .06em; margin-bottom: 4px; text-transform: uppercase; }
.knowledge-revision-sources ul { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.knowledge-revision-sources li { background: var(--white); border: 1px solid var(--slate-200); border-radius: 8px; display: grid; padding: 8px 12px; }
.knowledge-revision-sources li > strong { font-size: 10px; overflow-wrap: anywhere; }
.knowledge-revision-sources li > strong a { color: var(--blue-700); }
.knowledge-revision-sources li > small { color: var(--slate-500); font-size: 9px; margin-top: 4px; overflow-wrap: anywhere; }
.knowledge-revision-sources blockquote { border-left: 3px solid var(--slate-300); color: var(--slate-600); font-size: 10px; margin: 8px 0 0; padding: 4px 8px; white-space: pre-wrap; }
.knowledge-revision-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.knowledge-revision-meta span { background: var(--slate-100); border-radius: 8px; padding: 4px 8px; }
.knowledge-page-error { margin: 0 0 16px; }

.preview-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.preview-card { padding: 24px; }
.preview-card h2 { font-size: 16px; margin: 8px 0; }
.preview-card p { color: var(--slate-600); font-size: 12px; margin: 0; min-height: 54px; }
.preview-kicker { color: var(--slate-500); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.preview-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.preview-terracotta {
  background: linear-gradient(180deg, #bd6a4a 0%, #9a482f 54%, #88402b 100%);
  border-color: #7d3927;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(65,31,21,.2), 0 6px 14px rgba(125,57,39,.14);
  color: #fff;
}
.preview-terracotta:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 2px 3px rgba(65,31,21,.18), 0 8px 18px rgba(125,57,39,.18); transform: translateY(-1px); }
.preview-card-warm { background: #f4eee3; border-color: #ddd1be; }
.preview-champagne {
  background: linear-gradient(180deg, #f5e6c7 0%, #d5b77c 50%, #c29d5d 100%);
  border-color: #b28a4c;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 1px 2px rgba(91,65,28,.18), 0 8px 18px rgba(124,91,40,.15);
  color: #302718;
}
.preview-champagne:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 2px 4px rgba(91,65,28,.18), 0 11px 24px rgba(124,91,40,.2); transform: translateY(-1px); }
.preview-quiet { background: rgba(255,255,255,.5); border-color: #cdbd9f; color: #4d402d; }
.calendar-preview { margin-top: 16px; max-width: 560px; }
.calendar-preview-field { display: grid; padding: 16px; }

.flatpickr-calendar {
  background: #fffefa;
  border: 1px solid #d8d2c8;
  border-radius: 15px;
  box-shadow: 0 18px 50px rgba(43,38,31,.18), 0 3px 10px rgba(43,38,31,.08);
  font-family: "Manrope Variable", "Aptos", sans-serif;
  margin-top: 8px;
  overflow: hidden;
  padding: 8px;
  width: 326px;
}
.flatpickr-calendar::before, .flatpickr-calendar::after { display: none; }
.flatpickr-months { align-items: center; border-bottom: 1px solid #ece8e1; min-height: 48px; padding: 4px 4px 8px; }
.flatpickr-months .flatpickr-month { color: var(--slate-900); fill: var(--slate-900); height: 40px; }
.flatpickr-current-month { font-size: 14px; font-weight: 700; padding-top: 8px; }
.flatpickr-current-month .flatpickr-monthDropdown-months { font-weight: 700; }
.flatpickr-current-month input.cur-year { font-weight: 700; }
.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month { align-items: center; border-radius: 9px; display: flex; height: 34px; justify-content: center; margin-top: 8px; padding: 0; width: 34px; }
.flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover { background: var(--slate-100); }
.flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg { fill: none; height: 18px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 18px; }
.flatpickr-weekdays { height: 35px; }
span.flatpickr-weekday { color: var(--slate-500); font-size: 10px; font-weight: 700; }
.flatpickr-days { border: 0; width: 308px; }
.dayContainer { min-width: 308px; width: 308px; }
.flatpickr-day { border: 0; border-radius: 9px; color: var(--slate-700); font-size: 12px; height: 40px; line-height: 40px; max-width: 44px; }
.flatpickr-day:hover, .flatpickr-day:focus { background: var(--slate-100); border-color: transparent; }
.flatpickr-day.today { box-shadow: inset 0 0 0 1px #b9b1a6; color: var(--slate-900); }
.flatpickr-day.today:hover { background: var(--slate-100); border-color: transparent; }
.flatpickr-day.selected, .flatpickr-day.selected:hover, .flatpickr-day.selected:focus { background: linear-gradient(180deg, #bd6a4a 0%, #98472f 100%); border-color: #8d402b; box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 4px 10px rgba(132,61,41,.24); color: #fff; }
.flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay { color: #b4ada3; }
.numInputWrapper span { border-color: #ded9d0; }
.flatpickr-input[readonly], .datepicker-display[readonly] { cursor: pointer; }
.datepicker-display {
  background-image: url("/static/icons/calendar.svg");
  background-position: right 12px center;
  background-repeat: no-repeat;
  padding-right: 42px;
}
.flatpickr-calendar.flatpickr-monthSelect-theme-light { max-width: calc(100% - 16px); width: 326px; }
.flatpickr-calendar.flatpickr-monthSelect-theme-light .flatpickr-rContainer { width: 100%; }
.flatpickr-monthSelect-months {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 4px 0 0;
  padding: 4px;
  width: 100%;
}
.flatpickr-monthSelect-month {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--slate-700);
  display: flex;
  font-size: 12px;
  font-weight: 650;
  justify-content: center;
  margin: 0;
  min-height: 38px;
  padding: 8px 4px;
  width: auto;
}
.flatpickr-monthSelect-month:hover, .flatpickr-monthSelect-month:focus { background: var(--slate-100); border-color: transparent; }
.flatpickr-monthSelect-month:focus-visible { outline: 3px solid var(--blue-700); outline-offset: -3px; }
.flatpickr-monthSelect-month.today { border-color: #b9b1a6; color: var(--slate-900); }
.flatpickr-monthSelect-month.today:hover, .flatpickr-monthSelect-month.today:focus { background: var(--slate-100); border-color: #b9b1a6; color: var(--slate-900); }
.flatpickr-monthSelect-month.selected, .flatpickr-monthSelect-month.selected:hover, .flatpickr-monthSelect-month.selected:focus { background: linear-gradient(180deg, #bd6a4a 0%, #98472f 100%); border-color: #8d402b; box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 4px 10px rgba(132,61,41,.24); color: #fff; }
.flatpickr-monthSelect-month.flatpickr-disabled, .flatpickr-monthSelect-month.flatpickr-disabled:hover, .flatpickr-monthSelect-month.flatpickr-disabled:focus { background: transparent; border-color: transparent; color: var(--slate-300); cursor: not-allowed; }
[data-monthpicker][aria-invalid="true"], .monthpicker-display[aria-invalid="true"] { border-color: var(--red-700); }
.monthpicker-display[aria-readonly="true"] { background-color: var(--slate-100); cursor: default; }

@media (max-width: 980px) {
  :root { --sidebar-width: 210px; }
  .dashboard-grid, .agent-project-grid, .project-setup-grid, .intake-layout, .review-layout, .knowledge-layout, .inbox-grid { grid-template-columns: 1fr; }
  .recent-work, .process-panel { grid-column: auto; }
  .projects-columns { grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 1fr) minmax(110px, .6fr) 18px; }
  .preview-grid { grid-template-columns: 1fr; }
  .preview-card p { min-height: 0; }
  .agent-command-panel, .agent-chat-panel, .project-input-rail, .document-panel, .artifact-panel, .project-core-section, .project-topic-section, .inbox-list-panel { grid-column: auto; }
  .intake-form, .intake-rail, .review-main, .review-rail { grid-column: auto; }
  .knowledge-span-2, .knowledge-column-3 { grid-column: auto; }
  .agent-command-grid { grid-template-columns: 1fr; }
  .document-upload-form { grid-template-columns: 1fr; }
  .danger-zone { align-items: stretch; flex-direction: column; }
}

@media (max-width: 720px) {
  .app-shell { display: block; }
  .sidebar { min-height: auto; padding: 16px; position: static; }
  .brand { margin: 0 0 12px; }
  .brand-copy small, .sidebar-status { display: none; }
  .primary-nav { display: grid; gap: 4px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .primary-nav a { font-size: 12px; gap: 8px; justify-content: center; min-width: 0; padding: 8px 4px; }
  .primary-nav svg { height: 15px; width: 15px; }
  .topbar { display: none; }
  .page-shell { padding: 24px 16px 32px; }
  .breadcrumbs { flex-wrap: wrap; row-gap: 4px; }
  .breadcrumbs > * { min-width: 0; overflow-wrap: anywhere; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .metrics { grid-template-columns: 1fr; }
  .metric-card { min-height: 105px; }
  .table-header { display: none; }
  .companies-columns { grid-template-columns: minmax(0, 1fr) auto 16px; }
  .projects-columns { grid-template-columns: minmax(0, 1fr) 16px; }
  .companies-columns > :nth-child(2), .companies-columns > :nth-child(4), .projects-columns > :nth-child(2), .projects-columns > :nth-child(3) { display: none; }
  .form-grid { grid-template-columns: 1fr; }
  .topic-options { grid-template-columns: 1fr; }
  .topic-list { justify-content: flex-start; }
  .document-row { grid-template-columns: 42px minmax(0, 1fr); }
  .document-actions { grid-column: 2; justify-self: start; }
  .audit-row { align-items: start; grid-template-columns: 1fr; }
  .audit-row time { text-align: left; }
  .agent-chat-composer { grid-template-columns: 1fr; }
  .agent-chat-composer .button { width: 100%; }
  .conversation-read-form { margin-left: 0; width: 100%; }
  .conversation-read-form .button { width: 100%; }
  .inbox-item { grid-template-columns: 1fr; }
  .inbox-item-meta { align-items: start; justify-items: start; }
  .readiness-issues > div { align-items: start; grid-template-columns: 24px minmax(0, 1fr); }
  .readiness-issues .text-link { grid-column: 2; }
  .review-confirm-form { align-items: stretch; flex-direction: column; }
  .review-confirm-form .button { width: 100%; }
  .knowledge-edit-form, .source-form { grid-template-columns: 1fr; }
  .knowledge-form-wide, .source-form-wide { grid-column: auto; }
  .knowledge-source-row { grid-template-columns: 1fr auto; }
  .source-type-badge { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 460px) {
  .header-actions, .header-actions .button { width: 100%; }
  .empty-state { align-items: flex-start; flex-wrap: wrap; }
  .empty-state .button { margin-left: 0; }
  .inline-fields { align-items: stretch; flex-direction: column; }
  .inline-fields .button { width: 100%; }
  .danger-zone .button { width: 100%; }
  .inbox-item { padding: 16px; }
  .knowledge-item-row { grid-template-columns: 4px minmax(0, 1fr) 16px; }
  .knowledge-item-row .status { grid-column: 2; justify-self: start; }
  .knowledge-item-row .row-arrow { grid-column: 3; grid-row: 1 / span 2; }
  .knowledge-kind-marker { grid-row: 1 / span 2; }
}

/* Finance workbench: every direct surface is bound to the shared 3-column grid. */
.finance-page-heading { align-items: flex-start; }
.finance-page-heading .section-label, .finance-layout .section-label { color: var(--slate-600); font-size: 11px; }
.finance-page-error, .finance-page-notice { margin: 0 0 16px; }
.finance-layout {
  align-items: start;
  display: grid;
  gap: var(--layout-gap);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.finance-layout > .panel { min-width: 0; }
.finance-layout > [data-grid-span="1"], .finance-span-1 { grid-column: span 1; }
.finance-layout > [data-grid-span="2"], .finance-span-2 { grid-column: span 2; }
.finance-layout > [data-grid-span="3"], .finance-span-3 { grid-column: span 3; }
.finance-metrics {
  display: grid;
  gap: var(--layout-gap);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: var(--layout-gap);
}
.finance-metrics .metric-card { min-width: 0; }
.finance-metrics .metric-card strong { font-size: 22px; overflow-wrap: anywhere; }
.finance-metrics .metric-meta { color: var(--slate-600); }
.finance-lines-panel, .finance-results-panel, .finance-history-panel,
.finance-months-panel, .finance-result-table-panel, .finance-revision-inputs {
  overflow: hidden;
}
.finance-panel-body { display: grid; gap: 16px; padding: 16px; }
.finance-panel-body > p { color: var(--slate-600); font-size: 11px; margin: 0; }
.finance-panel-body > strong { font-size: 12px; }
.finance-stacked-actions { display: grid; gap: 8px; }
.finance-inline-note { color: var(--slate-600); font-size: 11px; margin: 0; }
.finance-form-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px; }
.finance-form-grid > div, .finance-line-basics > div { align-content: start; display: grid; min-width: 0; }
.finance-layout .field-help { color: var(--slate-600); }
.finance-layout .field-optional { color: var(--slate-600); font-size: 11px; }
.finance-money-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; position: relative; }
.finance-money-input input { padding-right: 48px; }
.finance-money-input > span { align-self: center; color: var(--slate-600); font-size: 11px; font-weight: 750; pointer-events: none; position: absolute; right: 12px; }
.finance-meta-list { display: grid; margin: 0; padding: 8px 16px; }
.finance-meta-list > div { align-items: baseline; border-bottom: 1px solid var(--slate-100); display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) auto; padding: 8px 0; }
.finance-meta-list > div:last-child { border-bottom: 0; }
.finance-meta-list dt { color: var(--slate-600); font-size: 11px; }
.finance-meta-list dd { font-size: 11px; font-weight: 650; margin: 0; text-align: right; }
.finance-line-list { display: grid; }
.finance-line-row { align-items: center; border-bottom: 1px solid var(--slate-100); display: grid; gap: 12px; grid-template-columns: 34px minmax(0, 1fr) auto auto; min-height: 68px; padding: 12px 16px; }
.finance-line-row:last-child { border-bottom: 0; }
.finance-line-index, .finance-revision-number { align-items: center; background: var(--slate-100); border: 1px solid var(--slate-200); border-radius: 8px; color: var(--slate-600); display: inline-flex; font-size: 11px; font-weight: 750; height: 34px; justify-content: center; width: 34px; }
.finance-line-row > div:nth-child(2), .finance-result-links span, .finance-revision-row > span:nth-child(2) { display: grid; min-width: 0; }
.finance-line-row strong, .finance-result-links strong, .finance-revision-row strong { font-size: 12px; overflow-wrap: anywhere; }
.finance-line-row small, .finance-result-links small, .finance-revision-row small { color: var(--slate-600); font-size: 11px; margin-top: 4px; overflow-wrap: anywhere; }
.finance-line-actions { align-items: center; display: flex; gap: 12px; }
.finance-link-button { background: transparent; border: 0; color: var(--red-700); cursor: pointer; font-size: 11px; font-weight: 650; min-height: auto; padding: 4px; width: auto; }
.finance-link-button:hover { text-decoration: underline; }
.finance-result-links { display: grid; }
.finance-result-links > div { align-items: center; border-bottom: 1px solid var(--slate-100); display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) auto; min-height: 68px; padding: 12px 16px; }
.finance-result-links > div:last-child { border-bottom: 0; }
.finance-history-teaser { align-items: center; grid-template-columns: minmax(0, 1fr) auto; }
.finance-kind-picker { align-items: end; display: grid; gap: 8px 16px; grid-template-columns: minmax(220px, 1fr) auto; margin-bottom: 16px; padding: 16px; }
.finance-kind-picker label { grid-column: 1 / -1; margin: 0; }
.finance-kind-picker .button { min-width: 112px; }
.finance-line-basics { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); padding: 16px; }
.finance-effect-list { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.finance-effect-list li { align-items: start; display: grid; gap: 12px; grid-template-columns: 24px minmax(0, 1fr); }
.finance-effect-list li > span { align-items: center; background: var(--slate-100); border-radius: 50%; color: var(--slate-600); display: inline-flex; font-size: 10px; font-weight: 800; height: 24px; justify-content: center; }
.finance-effect-list li > div { display: grid; }
.finance-effect-list strong { font-size: 11px; }
.finance-effect-list small { color: var(--slate-600); font-size: 11px; margin-top: 4px; }
.finance-year-list, .finance-revision-lines { display: grid; grid-template-columns: minmax(0, 1fr); }
.finance-year-group, .finance-revision-lines > details { border-bottom: 1px solid var(--slate-200); min-width: 0; }
.finance-year-group:last-child, .finance-revision-lines > details:last-child { border-bottom: 0; }
.finance-year-group > summary, .finance-revision-lines > details > summary { align-items: center; cursor: pointer; display: flex; gap: 16px; justify-content: space-between; list-style: none; min-height: 56px; padding: 12px 16px; }
.finance-year-group > summary::-webkit-details-marker, .finance-revision-lines > details > summary::-webkit-details-marker { display: none; }
.finance-year-group > summary > span:first-child, .finance-revision-lines > details > summary > span:first-child { display: grid; min-width: 0; }
.finance-year-group > summary strong, .finance-revision-lines > details > summary strong { font-size: 12px; }
.finance-year-group > summary small, .finance-revision-lines > details > summary small { color: var(--slate-600); font-size: 11px; margin-top: 4px; overflow-wrap: anywhere; }
.finance-year-group[open] > summary > span:last-child, .finance-revision-lines > details[open] > summary > span:last-child { transform: rotate(45deg); }
.finance-month-list { background: #faf9f6; border-top: 1px solid var(--slate-100); display: grid; padding: 0 16px 8px; }
.finance-month-row { align-items: start; border-bottom: 1px solid var(--slate-200); display: grid; gap: 16px; padding: 12px 0; }
.finance-month-row.finance-month-columns-3 { grid-template-columns: minmax(150px, 1fr) repeat(2, minmax(180px, 1fr)); }
.finance-month-row.finance-month-columns-2 { grid-template-columns: minmax(150px, 1fr) minmax(180px, 2fr); }
.finance-month-row:last-child { border-bottom: 0; }
.finance-month-row.has-error { background: var(--red-100); }
.finance-month-header { color: var(--slate-600); font-size: 11px; font-weight: 750; letter-spacing: .06em; padding-bottom: 8px; padding-top: 8px; text-transform: uppercase; }
.finance-month-label { display: grid; padding-top: 8px; }
.finance-month-label strong { font-size: 11px; }
.finance-month-label small { color: var(--slate-600); font-size: 11px; margin-top: 4px; }
.finance-mobile-label { display: none; }
.finance-form-actions { align-items: center; grid-template-columns: minmax(0, 1fr) auto; }
.finance-form-actions > div:first-child { display: grid; }
.finance-form-actions p { color: var(--slate-600); font-size: 11px; margin: 4px 0 0; }
.finance-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.finance-table-scroll:focus-visible { outline: 3px solid var(--blue-700); outline-offset: -3px; }
.finance-result-table { border-collapse: separate; border-spacing: 0; font-size: 10px; min-width: max-content; width: 100%; }
.finance-result-table caption { color: var(--slate-600); font-size: 11px; padding: 12px 16px; text-align: left; }
.finance-result-table th, .finance-result-table td { border-bottom: 1px solid var(--slate-100); padding: 8px 12px; text-align: right; white-space: nowrap; }
.finance-result-table thead th { background: #faf9f6; color: var(--slate-600); font-size: 10px; letter-spacing: .04em; position: sticky; top: 0; text-transform: uppercase; z-index: 1; }
.finance-result-table th:first-child { left: 0; position: sticky; text-align: left; z-index: 2; }
.finance-result-table tbody th:first-child { background: var(--white); }
.finance-result-table tbody tr:last-child th, .finance-result-table tbody tr:last-child td { border-bottom: 0; }
.finance-result-table .finance-emphasis { background: #f4f2ed; font-weight: 750; }
.finance-result-table .finance-row-warning th, .finance-result-table .finance-row-warning td { box-shadow: inset 0 -2px 0 #c68169; }
.finance-sr-note { font-size: 11px; font-weight: 750; }
.finance-input-table { min-width: 560px; }
.finance-result-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 8px 16px; }
.finance-result-meta > div { border-right: 1px solid var(--slate-100); display: grid; gap: 4px; padding: 8px 12px; }
.finance-result-meta > div:last-child { border-right: 0; }
.finance-result-meta dt { color: var(--slate-600); font-size: 11px; }
.finance-result-meta dd { font-size: 11px; margin: 0; overflow-wrap: anywhere; }
.finance-result-meta code { font-size: 10px; }
.finance-revision-list { display: grid; }
.finance-revision-row { align-items: center; border-bottom: 1px solid var(--slate-100); display: grid; gap: 12px; grid-template-columns: 34px minmax(0, 1fr) auto auto 16px; min-height: 72px; padding: 12px 16px; text-decoration: none; }
.finance-revision-row:last-child { border-bottom: 0; }
.finance-revision-row:hover { background: #fbfaf7; }
.finance-result-proof { color: var(--slate-600); font-size: 11px; }

@media (max-width: 980px) {
  .finance-layout, .finance-metrics { grid-template-columns: 1fr; }
  .finance-layout > [data-grid-span], .finance-span-1, .finance-span-2, .finance-span-3 { grid-column: 1; }
  .finance-result-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-result-meta > div:nth-child(2) { border-right: 0; }
  .finance-month-row.finance-month-columns-3 { grid-template-columns: minmax(130px, 1fr) repeat(2, minmax(150px, 1fr)); }
  .finance-month-row.finance-month-columns-2 { grid-template-columns: minmax(130px, 1fr) minmax(150px, 2fr); }
}

@media (max-width: 800px) {
  .finance-month-header { display: none; }
  .finance-month-row.finance-month-columns-2, .finance-month-row.finance-month-columns-3 { gap: 12px; grid-template-columns: 1fr; }
  .finance-month-label { padding-top: 0; }
  .finance-mobile-label { display: block; font-size: 11px; margin-bottom: 4px; }
}

@media (max-width: 720px) {
  .finance-form-grid, .finance-form-actions, .finance-history-teaser, .finance-kind-picker { grid-template-columns: 1fr; }
  .finance-kind-picker label { grid-column: auto; }
  .finance-kind-picker .button { width: 100%; }
  .finance-line-row { align-items: start; grid-template-columns: 34px minmax(0, 1fr); }
  .finance-line-row > .status, .finance-line-actions { grid-column: 2; justify-self: start; }
  .finance-result-meta { grid-template-columns: 1fr; }
  .finance-result-meta > div { border-bottom: 1px solid var(--slate-100); border-right: 0; }
  .finance-result-meta > div:last-child { border-bottom: 0; }
  .finance-revision-row { align-items: start; grid-template-columns: 34px minmax(0, 1fr) 16px; }
  .finance-revision-row > .status, .finance-result-proof { grid-column: 2; justify-self: start; }
  .finance-revision-row > .row-arrow { grid-column: 3; grid-row: 1 / span 3; }
}

@media (max-width: 460px) {
  .finance-layout .panel-heading { align-items: flex-start; flex-wrap: wrap; gap: 8px; }
  .finance-layout .panel-heading > div { flex: 1 1 100%; min-width: 0; }
  .finance-layout .panel-heading h2 { overflow-wrap: anywhere; }
  .finance-layout .panel-heading > .button { width: 100%; }
  .finance-layout .panel-heading > .status, .finance-layout .panel-heading > .count-badge { max-width: 100%; white-space: normal; }
  .finance-result-links > div { align-items: stretch; grid-template-columns: 1fr; }
  .finance-result-links .button { width: 100%; }
  .finance-form-actions .header-actions, .finance-form-actions .button { width: 100%; }
}
