:root {
  color-scheme: light;
  --bg: #ffffff; --sidebar: #f7f7f5; --surface: #fbfbfa; --hover: #eeeeec;
  --ink: #30302e; --muted: #666661; --faint: #666661; --border: #e8e8e4;
  --strong-border: #d3d3cf; --yellow: #ffcb03; --navy: #171630; --yellow-soft: #fff6cc;
  --green: #337856; --green-bg: #eaf4ed; --blue: #476982; --blue-bg: #eaf1f7;
  --red: #a3493f; --red-bg: #f9eeea; --amber: #88611b; --amber-bg: #faf1df;
  --shadow: 0 12px 52px #17163018;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --line: var(--border); --accent: var(--ink); --tint: var(--hover); --warn: var(--amber); --radius: 5px;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #191919; --sidebar: #202020; --surface: #232323; --hover: #2c2c2b;
  --ink: #e9e9e6; --muted: #a2a29d; --faint: #a2a29d; --border: #343432;
  --strong-border: #53534e; --yellow-soft: #3c341b;
  --green: #a7ccb4; --green-bg: #243a2d; --blue: #adc6d9; --blue-bg: #283740;
  --red: #e2aca5; --red-bg: #442d2a; --amber: #e1c78c; --amber-bg: #3d3526;
  --shadow: 0 12px 52px #0008;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { font: 14px/1.55 var(--font); background: var(--bg); color: var(--ink); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
button { border: 1px solid var(--strong-border); background: var(--bg); color: var(--ink); border-radius: 5px; padding: 6px 10px; font-size: 12px; line-height: 1.5; min-height: 32px; cursor: pointer; overflow-wrap: anywhere; }
button:hover { background: var(--hover); }
button.primary, .button.primary { background: var(--yellow); color: var(--navy); border-color: var(--yellow); font-weight: 600; }
button.primary:hover { background: #efbd00; border-color: #efbd00; }
button:disabled { opacity: .55; cursor: not-allowed; }
button:disabled:hover { background: var(--bg); }
a { color: var(--blue); text-underline-offset: 3px; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
svg { width: 18px; height: 18px; flex: 0 0 18px; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
strong { font-weight: 600; }
[hidden] { display: none !important; }
h1 { font-size: 33px; letter-spacing: -.9px; line-height: 1.17; margin: 9px 0 11px; font-weight: 700; }
h2 { font-size: 16px; margin: 0 0 13px; line-height: 1.4; letter-spacing: -.1px; }
h3 { font-size: 14px; margin: 0 0 8px; line-height: 1.45; }
p { margin: 0 0 12px; }
hr { border: 0; border-top: 1px solid var(--border); margin: 24px 0; }
.skip { position: fixed; top: 8px; left: 260px; z-index: 150; transform: translateY(-180%); background: var(--yellow); color: var(--navy); padding: 8px 16px; border-radius: 4px; }
.skip:focus { transform: translateY(0); }
.shell { display: grid; grid-template-columns: 238px minmax(0, 1fr); min-height: 100dvh; }
.sidebar { background: var(--sidebar); border-right: 1px solid var(--border); display: flex; flex-direction: column; padding: 23px 12px 12px; position: sticky; top: 0; height: 100dvh; overflow-y: auto; }
.brand { height: 84px; padding-left: 14px; position: relative; flex: 0 0 84px; }
.brand a { display: inline-block; }
.logo { width: 96px; height: 74px; object-fit: contain; object-position: left center; }
.logo-dark { display: none; }
[data-theme="dark"] .logo-dark { display: block; }
[data-theme="dark"] .logo-light { display: none; }
.workspace-heading { display: flex; gap: 9px; align-items: center; margin: 14px 8px 17px; line-height: 1.4; }
.workspace-heading > div { flex: 1; min-width: 0; }
.workspace-heading strong { font-size: 13px; display: block; }
.workspace-heading div span { font-size: 11px; color: var(--muted); }
.workspace-square { height: 28px; width: 28px; flex: 0 0 28px; background: var(--yellow); color: var(--navy); font-weight: 700; display: grid; place-items: center; border-radius: 5px; }
.search-button { display: flex; gap: 9px; width: 100%; align-items: center; color: var(--muted); font-size: 13px; padding: 7px 10px; border: 0; background: transparent; margin-bottom: 16px; }
.nav-link { position: relative; display: flex; gap: 10px; align-items: center; text-align: left; width: 100%; padding: 8px 10px; margin: 2px 0; font-size: 13px; border: 0; background: transparent; }
.nav-link svg { color: var(--muted); }
.nav-link[aria-current="page"], .nav-link.active { background: var(--hover); font-weight: 600; }
.nav-link[aria-current="page"]::before, .nav-link.active::before { content: ""; position: absolute; left: -12px; width: 3px; height: 22px; background: var(--yellow); border-radius: 0 2px 2px 0; }
.tiny-label, .nav-count { margin-left: auto; color: var(--muted); font-size: 11px; }
.tiny-label { border: 1px solid var(--border); border-radius: 3px; padding: 0 4px; font-size: 9px; }
.nav-link.inactive, .nav-link:disabled { color: var(--faint); opacity: 1; }
.nav-link.inactive svg { color: var(--faint); }
.nav-link:disabled:hover { background: transparent; }
.sidebar-section { margin: 27px 10px 5px; color: var(--faint); font-weight: 600; font-size: 9px; letter-spacing: .09em; }
.sidebar-shortcuts button { display: flex; align-items: center; text-align: left; width: 100%; gap: 9px; font-size: 12px; padding: 7px 10px; border: 0; background: transparent; border-radius: 4px; line-height: 1.35; }
.sidebar-shortcuts svg { width: 15px; height: 15px; flex-basis: 15px; color: var(--muted); }
.sidebar-bottom { margin-top: auto; padding-top: 38px; }
.theme-row { display: flex; gap: 8px; align-items: center; font-size: 12px; color: var(--muted); margin: 0 8px 16px; }
.theme-row svg { width: 16px; height: 16px; flex-basis: 16px; }
.theme-row label { display: inline; margin: 0; font-size: 12px; font-weight: 400; }
.theme-row select { width: auto; margin-left: auto; font-size: 11px; padding: 4px 6px; border-color: var(--border); background: var(--sidebar); }
.sidebar-note { color: var(--muted); font-size: 10px; margin: 0 10px; line-height: 1.65; }
.workspace { min-width: 0; display: flex; flex-direction: column; }
.topbar { height: 54px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; padding: 0 28px; gap: 14px; }
.breadcrumb { display: flex; align-items: center; gap: 11px; font-size: 12px; min-width: 0; }
.crumb-workspace, .crumb-slash { color: var(--muted); white-space: nowrap; }
#breadcrumb { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.icon-button { width: 32px; height: 32px; min-height: 32px; padding: 5px; border: 0; background: transparent; border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; }
.icon-button svg { width: 16px; height: 16px; flex-basis: 16px; color: var(--muted); }
.topbar-logout { border: 0; background: transparent; display: inline-flex; align-items: center; gap: 6px; color: var(--muted); }
.topbar-logout svg { width: 15px; height: 15px; flex-basis: 15px; }
.menu-toggle, .close-mobile { display: none; }
main { padding: 55px 64px 46px; flex: 1; width: 100%; max-width: 1350px; margin: 0 auto; min-width: 0; }
#content { overflow-wrap: anywhere; }
.page-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 34px; }
.page-heading p { color: var(--muted); font-size: 13px; margin-bottom: 0; max-width: 600px; }
.page-symbol { width: 35px; height: 35px; border-radius: 6px; background: var(--surface); border: 1px solid var(--border); display: grid; place-items: center; color: var(--muted); margin-bottom: 14px; }
.page-symbol svg { width: 20px; height: 20px; }
.eyebrow { font-size: 9px; font-weight: 600; letter-spacing: .11em; color: var(--muted); display: block; }
.heading-actions { padding-top: 16px; display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.muted, small { color: var(--muted); }
small { font-size: 11px; line-height: 1.5; }
.grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)); gap: 17px; }
.card, .panel { background: var(--bg); border: 1px solid var(--border); border-radius: 5px; padding: 20px; margin: 0 0 18px; min-width: 0; overflow-wrap: anywhere; }
.card .number { font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: -.4px; }
.toolbar, .actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 14px 0 17px; }
.toolbar .spacer { flex: 1; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.text-button { border: 0; padding: 2px 0; min-height: auto; background: transparent; font-size: 12px; color: var(--muted); display: inline-flex; align-items: center; gap: 5px; }
.text-button:hover { color: var(--ink); background: none; text-decoration: underline; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.section-heading h2 { font-size: 15px; margin: 0; }
.section-heading .muted { font-size: 11px; }
.intro-callout { background: var(--yellow-soft); border: 1px solid color-mix(in srgb,var(--yellow) 28%,var(--border)); padding: 15px 19px; border-radius: 5px; display: flex; align-items: center; gap: 13px; margin-bottom: 33px; }
.intro-callout > div { flex: 1; min-width: 0; }
.intro-callout strong { display: block; font-size: 13px; margin-bottom: 2px; }
.intro-callout p { margin: 0; font-size: 12px; color: var(--muted); }
.summary-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); margin-bottom: 32px; }
.summary-cell { padding: 17px 20px; border: 0; border-left: 1px solid var(--border); text-align: left; border-radius: 0; background: transparent; }
.summary-cell:first-child { border-left: 0; padding-left: 0; }
.summary-cell span { display: block; font-size: 11px; color: var(--muted); margin-bottom: 4px; }
.summary-cell strong { font-size: 24px; line-height: 1.3; letter-spacing: -.4px; }
.summary-cell strong em { font-size: 11px; font-style: normal; font-weight: 400; margin-left: 5px; color: var(--muted); }
.home-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 36px; }
.home-grid > section { min-width: 0; }
.action-list, .document-list { border-top: 1px solid var(--border); }
.action-item, .document-row { display: flex; gap: 11px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--border); }
.action-item > div, .document-row > div { flex: 1; min-width: 0; }
.action-mark { width: 26px; height: 26px; flex: 0 0 26px; display: grid; place-items: center; color: var(--muted); background: var(--surface); border-radius: 4px; }
.action-item .item-title, .document-row .item-title { font-size: 12px; font-weight: 500; display: block; text-align: left; padding: 0; border: 0; min-height: auto; background: transparent; line-height: 1.5; }
.action-item .item-title:hover, .document-row .item-title:hover { text-decoration: underline; }
.item-meta, .doc-meta { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; margin-top: 3px; font-size: 10px; color: var(--muted); }
.document-section { margin-top: 32px; }
.file-symbol { font-size: 8px; letter-spacing: .04em; font-weight: 600; border: 1px solid var(--border); border-radius: 3px; height: 28px; width: 26px; flex: 0 0 26px; display: grid; place-items: center; color: var(--muted); background: var(--surface); }
.project-card { display: block; text-align: left; width: 100%; border: 1px solid var(--border); padding: 16px 17px; border-radius: 5px; margin-bottom: 11px; background: var(--bg); }
.project-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; gap: 12px; }
.project-card h3 { font-size: 13px; margin: 0 0 5px; line-height: 1.4; font-weight: 600; }
.project-card p { font-size: 11px; color: var(--muted); margin: 0; }
.project-card-bottom { margin-top: 14px; display: flex; gap: 15px; color: var(--muted); font-size: 10px; align-items: center; flex-wrap: wrap; }
.project-grid { display: grid; gap: 15px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.project-grid .project-card { min-height: 172px; padding: 22px; }
.project-grid .project-card h3 { font-size: 16px; }
.project-grid .project-card p { font-size: 12px; }
.page-tabs { display: flex; gap: 19px; border-bottom: 1px solid var(--border); margin: 20px 0 25px; overflow-x: auto; scrollbar-width: thin; }
.page-tabs button { color: var(--muted); font-size: 12px; padding: 9px 0 10px; white-space: nowrap; border: 0; border-radius: 0; background: transparent; border-bottom: 2px solid transparent; }
.page-tabs button:hover { background: none; color: var(--ink); }
.page-tabs button[aria-selected="true"], .page-tabs button[aria-current="page"] { color: var(--ink); border-bottom-color: var(--ink); font-weight: 600; }
.view-switcher { display: inline-flex; border: 1px solid var(--border); border-radius: 5px; padding: 2px; }
.view-switcher button { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; color: var(--muted); padding: 4px 8px; border: 0; background: transparent; border-radius: 3px; }
.view-switcher button[aria-selected="true"], .view-switcher button[aria-pressed="true"] { background: var(--hover); color: var(--ink); font-weight: 500; }
.badge { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; padding: 2px 6px; border-radius: 3px; line-height: 1.4; background: var(--hover); color: var(--muted); max-width: 100%; overflow-wrap: anywhere; }
.badge.warn, .badge.amber { background: var(--amber-bg); color: var(--amber); }
.badge.green { color: var(--green); background: var(--green-bg); }
.badge.blue { color: var(--blue); background: var(--blue-bg); }
.badge.red { color: var(--red); background: var(--red-bg); }
.empty { padding: 25px; border: 1px dashed var(--strong-border); border-radius: 5px; color: var(--muted); font-size: 12px; }
label { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; font-size: 12px; font-weight: 500; }
input, select, textarea { width: 100%; min-width: 0; padding: 8px 10px; border: 1px solid var(--strong-border); border-radius: 5px; color: var(--ink); background: var(--bg); }
textarea { min-height: 95px; resize: vertical; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--navy); }
[data-theme="dark"] input[type="checkbox"], [data-theme="dark"] input[type="radio"] { accent-color: var(--yellow); }
form { margin: 14px 0; }
form .fields { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,210px),1fr)); gap: 14px; }
label.check { display: flex; flex-direction: row; align-items: flex-start; font-weight: 400; }
label.check input { width: auto; flex: 0 0 auto; margin-top: 4px; }
.table-wrap { overflow: auto; max-width: 100%; border-top: 1px solid var(--border); }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: 12px; }
th { color: var(--muted); font-weight: 400; white-space: nowrap; font-size: 11px; }
td, th { border-bottom: 1px solid var(--border); padding: 12px 10px; vertical-align: top; }
td { overflow-wrap: anywhere; }
.table-wrap tr:hover td { background: var(--surface); }
.compact td, .compact th { padding: 7px; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; font: 11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; max-height: 60dvh; overflow: auto; background: var(--surface); padding: 12px; border-radius: 5px; }
details { margin: 15px 0; }
summary { cursor: pointer; font-weight: 600; }
#notice:not(:empty) { padding: 12px 16px; margin-bottom: 20px; border: 1px solid var(--border); background: var(--surface); border-radius: 5px; overflow-wrap: anywhere; font-size: 12px; }
#notice.error { background: var(--red-bg); border-color: color-mix(in srgb,var(--red) 30%,var(--border)); color: var(--red); }
#context { position: fixed; right: 0; top: 0; height: 100dvh; width: min(470px,100%); background: var(--bg); border-left: 1px solid var(--border); box-shadow: -10px 0 40px #0000000b; padding: 23px 20px; overflow: auto; z-index: 100; overflow-wrap: anywhere; }
.context-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--border); padding-bottom: 16px; margin-bottom: 21px; }
.context-head h2 { font-size: 15px; margin: 7px 0 0; line-height: 1.4; letter-spacing: -.2px; }
#context-content { font-size: 12px; }
#context-content > .panel { padding: 15px; }
#context-content h1 { font-size: 23px; }
#context-content label { font-size: 12px; }
#context-content .grid { grid-template-columns: 1fr; }
#context-content .page-tabs { gap: 14px; }
#context-notice:not(:empty) { margin: 0 0 14px; font-size: 12px; }
.kanban { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.kanban section { min-width: 0; background: var(--surface); padding: 14px; border-radius: 5px; }
.task { background: var(--bg); border: 1px solid var(--border); padding: 13px 12px; border-radius: 5px; margin: 12px 0; min-width: 0; }
.timeline { display: grid; grid-template-columns: minmax(130px,1fr) minmax(150px,2fr); gap: 12px; align-items: center; border-bottom: 1px solid var(--border); padding: 12px 0; }
.track { height: 28px; position: relative; background: var(--hover); border-radius: 4px; }
.bar { height: 20px; top: 4px; position: absolute; background: var(--yellow); border-radius: 3px; min-width: 3px; }
.danger { color: var(--red); }
.session-form { max-width: 560px; margin: 3rem auto; padding: 28px; }
.session-form form { display: grid; gap: 12px; }
.session-form button { margin-top: 8px; }
.session-form h1 { font-size: 28px; }
.session-form > p:not(.eyebrow) { color: var(--muted); font-size: 13px; }
.menu-scrim { display: none; }
.noscript { padding: 20px; position: fixed; inset: auto 0 0; background: var(--yellow); color: var(--navy); z-index: 150; }
@media (min-width: 1700px) { main { padding-left: 90px; padding-right: 90px; } }
@media (max-width: 1250px) { main { padding: 44px 40px; } }
@media (max-width: 1050px) {
  .shell { grid-template-columns: 215px minmax(0,1fr); }
  .sidebar { padding-left: 10px; padding-right: 10px; }
  .nav-link[aria-current="page"]::before, .nav-link.active::before { left: -10px; }
  main { padding: 37px 30px; }
  h1 { font-size: 29px; }
  .home-grid { grid-template-columns: 1fr; gap: 30px; }
  .topbar { padding: 0 22px; }
  .crumb-workspace, .crumb-slash { display: none; }
}
@media (max-width: 760px) {
  .shell { display: block; }
  .sidebar { position: fixed; inset: 0 auto 0 0; width: 260px; z-index: 120; transform: translateX(-100%); border-right-color: var(--strong-border); transition: transform 160ms ease; }
  body.menu-open { overflow: hidden; }
  body.menu-open .sidebar { transform: translateX(0); }
  body.menu-open .menu-scrim { display: block; position: fixed; inset: 0; border: 0; border-radius: 0; background: #0004; z-index: 110; width: 100%; height: 100dvh; }
  .menu-toggle { display: inline-flex; width: 40px; height: 40px; }
  .close-mobile { display: inline-flex; position: absolute; top: 0; right: 5px; width: 40px; height: 40px; }
  .workspace { min-height: 100dvh; }
  .topbar { padding: 0 16px; height: 54px; gap: 8px; }
  .breadcrumb { gap: 7px; }
  .topbar-actions { gap: 4px; }
  .topbar-logout { width: 40px; height: 40px; min-height: 40px; padding: 10px; }
  .topbar-logout span { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .topbar #refresh { width: 40px; height: 40px; }
  main { padding: 30px 24px 36px; }
  h1 { font-size: 28px; }
  .page-heading { gap: 12px; margin-bottom: 26px; flex-wrap: wrap; }
  .page-heading p { font-size: 12px; }
  .heading-actions { padding-top: 0; justify-content: flex-start; }
  .intro-callout { align-items: flex-start; padding: 13px; gap: 10px; margin-bottom: 24px; flex-wrap: wrap; }
  .intro-callout > div { flex: 1 1 200px; }
  .summary-row { margin-bottom: 25px; }
  .summary-cell { padding: 13px 10px; }
  .summary-cell span { font-size: 10px; }
  .summary-cell strong { font-size: 21px; }
  .summary-cell strong em { display: none; }
  .project-grid { grid-template-columns: 1fr; }
  .page-tabs { gap: 17px; margin-bottom: 20px; }
  .page-tabs button { font-size: 13px; }
  .toolbar { gap: 7px; }
  .toolbar .spacer { display: none; }
  .card, .panel { padding: 17px; }
  .grid { gap: 10px; }
  .kanban { grid-template-columns: 1fr; gap: 19px; }
  .timeline { grid-template-columns: 1fr; }
  #context { padding: 18px; }
  #context .context-head .icon-button { width: 40px; height: 40px; flex: 0 0 40px; }
  table { font-size: 13px; }
  td, th { padding: 10px 6px; }
  .skip { left: 10px; }
  .session-form { margin-top: 16px; padding: 20px; }
  .session-form h1 { font-size: 25px; }
}
@media (max-width: 400px) {
  main { padding-left: 19px; padding-right: 19px; }
  .topbar { padding: 0 10px; }
  h1 { font-size: 25px; }
  .section-heading h2 { font-size: 14px; }
  .section-heading { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
@media print {
  .sidebar, .topbar, .toolbar, .actions, button, #notice, #context, .menu-scrim { display: none !important; }
  .shell { display: block; }
  main { padding: 0; }
  .panel, .card { break-inside: avoid; border-color: #d3d3cf; }
  body { background: white; color: #30302e; }
}

.review-banner { display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background: var(--yellow-soft); border: 1px solid color-mix(in srgb,var(--yellow) 28%,var(--border)); border-radius: 5px; padding: 15px 19px; margin-bottom: 33px; font-size: 12px; }
.review-banner p { color: var(--muted); }
.recent-documents { margin-top: 32px; }
.project-tab-panel { min-width: 0; }

.summary-cell > small { display:block; font-size:12px; line-height:1.45; margin-bottom:6px; }
.summary-cell > strong { display:block; overflow-wrap:normal; }
@media(max-width:760px){.project-tab-panel .summary-cell:first-child strong{font-size:17px;letter-spacing:0;}.summary-cell > small{font-size:11px;}}

.table-wrap table{min-width:520px}.table-wrap button{white-space:nowrap;overflow-wrap:normal}.table-wrap td:nth-child(3){white-space:nowrap;}

/* Workspace UX: readable hierarchy, quiet surfaces and yellow selection marks. */
#work { max-width: none; width: 100%; margin-inline: auto; }
#content { min-width: 0; }
.home-summary { display: flex; flex-wrap: wrap; gap: 10px 30px; margin: 21px 0 31px; padding-bottom: 18px; border-bottom: 1px solid var(--border); color: var(--muted); }
.home-summary strong { color: var(--ink); margin-right: 4px; }
.dashboard-top { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(260px,1fr); gap: 34px; }
.workspace-block { padding: 8px 0 25px; margin: 0 0 24px; min-width: 0; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.section-heading h2 { margin: 0; font-size: 17px; }
.section-heading p { margin-bottom: 0; }
.text-button { background: transparent; border: 0; color: var(--muted); padding: 4px 5px; }
.text-button:hover { color: var(--ink); }
.inline-filter { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 12px; font-weight: 400; color: var(--muted); }
.inline-filter select { width: auto; max-width: 220px; min-width: 120px; margin: 0; }
.segmented { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 15px; }
.segmented button { background: transparent; border-color: transparent; font-size: 13px; color: var(--muted); display: flex; align-items: center; gap: 7px; }
.segmented button[aria-pressed="true"] { background: var(--yellow-soft); color: var(--ink); font-weight: 600; }
.pill-count { border-radius: 4px; padding: 0 5px; background: var(--hover); font-size: 11px; }
.phase-dot { height: 7px; width: 7px; border-radius: 50%; background: var(--muted); display: inline-block; flex: 0 0 7px; }
.phase-dot.ideation { background: var(--amber); }
.phase-dot.production { background: var(--blue); }
.phase-dot.recette { background: var(--green); }
.project-board { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.project-board.single-group { grid-template-columns: minmax(0,1fr); max-width: 620px; }
.project-group { min-width: 0; background: var(--surface); padding: 13px 11px 4px; border-radius: 7px; border: 1px solid var(--border); }
.project-group > h3 { display: flex; gap: 7px; align-items: center; font-size: 12px; margin: 0 3px 13px; }
.project-group > h3 > .muted { margin-left: auto; }
.project-group .project-card { padding: 15px; margin-bottom: 11px; background: var(--bg); box-shadow: 0 1px 3px #00000005; }
.project-title { font-size: 14px; line-height: 1.4; font-weight: 600; padding: 0; border: 0; text-align: left; min-height: auto; background: transparent; width: 100%; margin-bottom: 11px; }
.project-card-meta { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; color: var(--muted); }
.project-progress { font-size: 11px; color: var(--muted); margin-top: 15px; }
.project-progress progress { display: block; width: 100%; height: 4px; border: 0; appearance: none; margin-top: 8px; border-radius: 2px; background: var(--hover); }
.project-progress progress::-webkit-progress-bar { background: var(--hover); border-radius: 2px; }
.project-progress progress::-webkit-progress-value { background: var(--yellow); border-radius: 2px; }
.project-progress progress::-moz-progress-bar { background: var(--yellow); border-radius: 2px; }
.group-empty { padding: 23px 8px; font-size: 12px; color: var(--muted); }
.week-calendar { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); border: 1px solid var(--border); border-radius: 6px; padding: 8px 5px; margin: 0 0 17px; background: var(--surface); }
.calendar-day { text-align: center; display: grid; justify-items: center; gap: 4px; padding: 5px 0; }
.calendar-day small { text-transform: capitalize; color: var(--muted); font-size: 10px; }
.calendar-day strong { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 5px; font-size: 14px; }
.calendar-day.today strong { background: var(--yellow); color: var(--navy); }
.calendar-day span { font-size: 9px; color: var(--muted); min-height: 14px; }
.agenda-item { display: flex; gap: 12px; align-items: center; padding: 11px 0; border-bottom: 1px solid var(--border); }
.agenda-item > time { width: 55px; flex: 0 0 55px; color: var(--muted); font-size: 11px; }
.agenda-item > time.overdue { color: var(--red); }
.agenda-item > div { flex: 1; min-width: 0; }
.agenda-item button { background: transparent; border: 0; text-align: left; padding: 0; font-size: 12px; min-height: auto; display: block; }
.agenda-item small { display: block; color: var(--muted); font-size: 10px; }
.system-actions { display: grid; gap: 6px; }
.system-actions > button { display: flex; align-items: flex-start; gap: 12px; background: transparent; border: 0; text-align: left; padding: 10px 8px; }
.system-actions > button:hover { background: var(--surface); }
.system-actions > button > span:nth-child(2) { flex: 1; min-width: 0; }
.system-actions strong { display: block; font-size: 12px; }
.system-actions small { display: block; margin-top: 2px; font-size: 11px; color: var(--muted); }
.action-mark { height: 24px; width: 24px; flex: 0 0 24px; display: grid; place-items: center; background: var(--yellow-soft); border-radius: 4px; color: var(--ink); }
.loading-inline { font-size: 12px; color: var(--muted); padding: 12px 0; }
.partial-state { padding: 12px; border: 1px solid var(--amber); border-radius: 5px; background: var(--amber-bg); font-size: 12px; margin-bottom: 16px; }
.partial-state p { margin-bottom: 6px; }
.todo-row { display: flex; align-items: flex-start; gap: 12px; padding: 14px 2px; border-bottom: 1px solid var(--border); }
.task-check { height: 20px; min-height: 20px; width: 20px; flex: 0 0 20px; padding: 0; border: 1px solid var(--strong-border); margin-top: 2px; font-size: 11px; line-height: 18px; border-radius: 4px; }
.completed .task-check { background: var(--hover); }
.todo-text { flex: 1; min-width: 0; }
.todo-title { text-align: left; font-size: 13px; font-weight: 500; border: 0; background: transparent; min-height: auto; padding: 0; margin-bottom: 4px; }
.completed .todo-title { color: var(--muted); text-decoration: line-through; }
.todo-text small { display: block; font-size: 11px; color: var(--muted); }
.todo-meta { display: grid; justify-items: end; gap: 6px; flex: 0 0 auto; max-width: 35%; }
.todo-meta small { font-size: 10px; color: var(--muted); }
.project-page-head { margin-bottom: 6px; }
.project-head-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.export-menu { position: relative; margin: 0; font-size: 12px; }
.export-menu summary { min-height: 32px; padding: 6px 10px; border: 1px solid var(--strong-border); border-radius: 5px; cursor: pointer; }
.export-menu > div { position: absolute; right: 0; top: 36px; z-index: 15; background: var(--bg); box-shadow: var(--shadow); border: 1px solid var(--border); padding: 7px; width: 150px; border-radius: 5px; }
.export-menu button { display: block; width: 100%; text-align: left; border: 0; }
.business-trail { padding: 11px 0 7px; margin-top: 24px; border-top: 1px solid var(--border); }
.business-trail ol { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; }
.business-trail button { display: flex; gap: 7px; text-align: left; border: 0; background: transparent; width: 100%; padding: 7px 2px; }
.trail-index { display: grid; place-items: center; height: 20px; width: 20px; flex: 0 0 20px; background: var(--hover); color: var(--muted); font-size: 10px; border-radius: 50%; }
.business-trail strong { display: block; font-size: 11px; }
.business-trail small { display: block; font-size: 9px; color: var(--muted); line-height: 1.5; overflow-wrap: anywhere; margin-top: 3px; }
.trail-note { color: var(--muted); font-size: 10px; margin: 0 0 20px; }
.crumb-button { background: transparent; border: 0; padding: 0 2px; min-height: auto; color: var(--muted); font-size: 12px; }
.project-overview-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,1fr); gap: 32px; }
.project-overview-grid > div > .workspace-block { border-left: 1px solid var(--border); padding-left: 26px; }
.project-facts { margin: 14px 0; font-size: 12px; }
.project-facts > div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--border); padding: 8px 0; }
.project-facts dt { color: var(--muted); }
.project-facts dd { margin: 0; text-align: right; }
.task-scope { margin: 3px 0 13px; }
.task-scope .segmented { margin-bottom: 7px; }
.add-task { margin-top: 12px; }
.footnote { font-size: 11px; color: var(--muted); margin-top: 15px; }
.graph-explorer { border: 1px solid var(--border); border-radius: 7px; overflow: hidden; background: var(--surface); margin: 15px 0; }
.graph-toolbar { display: flex; gap: 15px; align-items: flex-end; flex-wrap: wrap; padding: 13px; border-bottom: 1px solid var(--border); background: var(--bg); }
.graph-toolbar label { margin: 0; font-size: 11px; }
.graph-toolbar input, .graph-toolbar select { margin: 4px 0 0; min-height: 32px; font-size: 12px; }
.graph-search { flex: 1; min-width: 170px; }
.graph-tools { display: flex; gap: 5px; flex-wrap: wrap; }
.graph-body { display: grid; grid-template-columns: minmax(0,1fr) 240px; }
.graph-canvas { position: relative; min-width: 0; overflow: hidden; }
.knowledge-graph { width: 100%; height: clamp(320px,42vw,580px); display: block; touch-action: none; cursor: grab; }
.knowledge-graph:active { cursor: grabbing; }
.graph-edge { stroke: var(--strong-border); stroke-width: 1.1; opacity: .7; }
.graph-edge.contradiction { stroke: var(--red); stroke-dasharray: 5 4; }
.graph-edge.highlighted { stroke: var(--amber); stroke-width: 2; opacity: 1; }
.graph-node { cursor: pointer; transition: opacity 120ms; }
.graph-node circle { fill: var(--blue); stroke: var(--bg); stroke-width: 2; }
.graph-node[data-kind="problem"] circle { fill: var(--red); }
.graph-node[data-kind="constraint"] circle { fill: var(--amber); }
.graph-node[data-kind="project"] circle, .graph-node[data-kind="operational-project"] circle { fill: var(--yellow); stroke: var(--amber); }
.graph-node[data-kind="specification"] circle, .graph-node[data-kind="scenario"] circle { fill: var(--green); }
.graph-node[data-kind="source"] circle { fill: var(--muted); }
.graph-node[data-kind="result"] circle, .graph-node[data-kind="indicator"] circle { fill: var(--green); }
.graph-node.selected circle { stroke: var(--ink); stroke-width: 3; }
.graph-node.dimmed { opacity: .24; }
.graph-node text { font: 12px var(--font); fill: var(--ink); stroke: none; paint-order: stroke; }
.graph-node:hover text { font-weight: 600; }
.graph-selection { padding: 18px 15px; border-left: 1px solid var(--border); background: var(--bg); max-height: 580px; overflow-y: auto; font-size: 12px; }
.graph-selection h3 { font-size: 14px; margin-top: 7px; }
.graph-selection h4 { margin: 20px 0 12px; font-size: 11px; }
.graph-selection small, .graph-relation small { color: var(--muted); font-size: 10px; }
.graph-relation { border-top: 1px solid var(--border); padding: 8px 0; margin: 0; }
.graph-hint { position: absolute; bottom: 8px; left: 12px; margin: 0; color: var(--muted); font-size: 10px; pointer-events: none; background: var(--surface); padding: 3px 6px; border-radius: 3px; }
.graph-status { padding: 9px 13px; border-top: 1px solid var(--border); font-size: 11px; color: var(--muted); background: var(--bg); }
.graph-list { max-height: 350px; overflow-y: auto; padding: 8px; background: var(--bg); border-top: 1px solid var(--border); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.graph-list button { text-align: left; padding: 10px; background: var(--surface); border-color: var(--border); }
.graph-list small { display: block; color: var(--muted); font-size: 10px; }
.project-consultation { max-width: 850px; }
.chat-shortcuts { display: flex; gap: 7px; flex-wrap: wrap; margin: 18px 0 24px; }
.chat-shortcuts button { border-color: var(--border); background: var(--surface); font-size: 11px; }
.chat-history { display: grid; gap: 15px; margin-bottom: 20px; }
.chat-message { padding: 14px 17px; border-radius: 7px; max-width: 92%; }
.chat-message.user { background: var(--hover); justify-self: end; }
.chat-message.assistant { background: var(--surface); border: 1px solid var(--border); justify-self: start; }
.chat-message > small { color: var(--muted); font-size: 10px; display: block; margin-bottom: 6px; }
.chat-message p { margin-bottom: 5px; }
.chat-message h3 { font-size: 12px; margin: 15px 0 4px; }
.chat-message ul { padding-left: 20px; margin: 5px 0; font-size: 12px; }
.chat-references { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 12px; }
@media (max-width: 1100px) {
 .dashboard-top, .project-overview-grid { grid-template-columns: minmax(0,1fr); gap: 8px; }
 .project-overview-grid > div > .workspace-block { border-left: 0; padding-left: 0; border-top: 1px solid var(--border); padding-top: 24px; }
 .business-trail ol { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px 20px; }
 .graph-body { grid-template-columns: minmax(0,1fr) 200px; }
}
@media (max-width: 760px) {
 .project-board { grid-template-columns: minmax(0,1fr); }
 .dashboard-top { gap: 0; }
 .workspace-block { margin-bottom: 16px; }
 .home-summary { gap: 7px 18px; font-size: 12px; }
 .business-trail ol { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 .project-head-actions { width: 100%; }
 .graph-body { grid-template-columns: minmax(0,1fr); }
 .graph-selection { border-left: 0; border-top: 1px solid var(--border); max-height: 260px; }
 .graph-toolbar { gap: 10px; }
 .graph-toolbar > label:not(.graph-search) { min-width: 110px; flex: 1; }
 .graph-tools { width: 100%; }
 .knowledge-graph { height: 350px; }
 .graph-list { grid-template-columns: minmax(0,1fr); }
 .todo-row { gap: 9px; padding: 12px 0; }
 .todo-meta { max-width: 31%; }
 .todo-meta .badge { font-size: 9px; }
 .todo-meta small { font-size: 9px; }
 .todo-title { font-size: 12px; }
 .todo-text small { font-size: 10px; }
 .week-calendar { padding-inline: 2px; }
 .calendar-day span { font-size: 8px; }
 .agenda-item { gap: 8px; }
 .agenda-item > .badge { font-size: 9px; }
 .agenda-item > time { width: 45px; flex-basis: 45px; font-size: 10px; }
 .inline-filter { flex-wrap: wrap; }
 .chat-message { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .graph-node { transition: none; } }

/* Navigation refinement: three destinations, a workspace cover, and task-first projects. */
:root { --phase-ideation: #8564b6; --phase-production: #39749f; --phase-recette: #368061; --phase-ideation-bg: #f2edf8; --phase-production-bg: #eaf1f7; --phase-recette-bg: #eaf4ef; }
html[data-theme="dark"] { --phase-ideation: #bba0e0; --phase-production: #9bbddc; --phase-recette: #9acbb1; --phase-ideation-bg: #30283c; --phase-production-bg: #25343f; --phase-recette-bg: #25372d; }
.phase-dot.ideation { background: var(--phase-ideation); }
.phase-dot.production { background: var(--phase-production); }
.phase-dot.recette { background: var(--phase-recette); }
.page-banner { margin: -4px 0 24px; }
.banner-accent { height: 42px; background: var(--yellow-soft); border-radius: 6px; border-left: 4px solid var(--yellow); margin-bottom: 18px; }
.page-banner.phase-ideation .banner-accent { background: var(--phase-ideation-bg); border-left-color: var(--phase-ideation); }
.page-banner.phase-production .banner-accent { background: var(--phase-production-bg); border-left-color: var(--phase-production); }
.page-banner.phase-recette .banner-accent { background: var(--phase-recette-bg); border-left-color: var(--phase-recette); }
.page-banner .page-heading { margin: 0; align-items: center; }
.banner-title { display: flex; gap: 15px; align-items: center; min-width: 0; }
.banner-title > div { min-width: 0; }
.banner-title h1 { margin: 0 0 7px; }
.banner-title p { margin-bottom: 0; font-size: 12px; }
.page-emblem { background: var(--yellow-soft); border: 1px solid var(--border); display: grid; place-items: center; border-radius: 8px; height: 49px; width: 49px; flex: 0 0 49px; }
.page-emblem svg { width: 25px; height: 25px; }
.banner-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.appearance-switch { display: flex; padding: 4px; margin: 0 6px 15px; background: var(--hover); border: 1px solid var(--border); border-radius: 6px; gap: 4px; }
.appearance-switch button { display: flex; align-items: center; justify-content: center; gap: 7px; flex: 1; border: 0; background: transparent; font-size: 11px; padding: 6px; color: var(--muted); }
.appearance-switch button[aria-pressed="true"] { background: var(--bg); box-shadow: 0 1px 3px #0000000a; color: var(--ink); }
.appearance-switch svg { width: 15px; height: 15px; flex-basis: 15px; }
.home-command-grid { display: grid; grid-template-areas: "projects todo"; grid-template-columns: minmax(0,1fr) minmax(0,1.12fr); gap: 38px; align-items: start; }
.home-projects { grid-area: projects; }
.home-todo { grid-area: todo; padding-left: 30px; border-left: 1px solid var(--border); }
.home-todo > .section-heading { margin-bottom: 18px; }
.todo-display { margin-bottom: 12px; }
.home-todo .todo-list { max-height: 520px; overflow-y: auto; padding-right: 8px; }
.project-lists { display: grid; gap: 22px; }
.project-list-group { border-left: 3px solid var(--border); min-width: 0; padding-left: 15px; }
.project-list-group.phase-ideation { border-left-color: var(--phase-ideation); }
.project-list-group.phase-production { border-left-color: var(--phase-production); }
.project-list-group.phase-recette { border-left-color: var(--phase-recette); }
.project-list-group > h3 { display: flex; align-items: center; gap: 8px; font-size: 12px; margin: 0 0 8px; }
.project-list-group > h3 .pill-count { font-weight: 400; color: var(--muted); }
.project-list-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 3px; border-bottom: 1px solid var(--border); }
.project-row-title { display: flex; align-items: center; gap: 11px; min-width: 0; flex: 1; text-align: left; background: transparent; border: 0; padding: 4px 0; line-height: 1.45; font-size: 13px; font-weight: 500; }
.project-row-title > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.project-row-title small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 400; }
.project-row-icon { display: grid; place-items: center; width: 26px; height: 26px; flex: 0 0 26px; background: var(--hover); border-radius: 5px; color: var(--muted); font-size: 11px; }
.project-row-meta { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px; max-width: 42%; }
.project-row-meta > small { color: var(--muted); font-size: 10px; }
.project-lists:not(.compact-project-lists) .project-row-title { font-size: 14px; }
.compact-project-lists .project-row-meta > small { display: none; }
.project-lists .group-empty { padding: 14px 0; margin-bottom: 0; }
.home-month { border-top: 1px solid var(--border); padding-top: 28px; }
.month-controls { display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap; margin-bottom: 18px; }
.month-step { display: flex; align-items: center; gap: 13px; }
.month-step h3 { text-transform: capitalize; font-size: 17px; min-width: 150px; margin: 0; text-align: center; }
.month-step button { font-size: 18px; min-width: 32px; padding: 1px 9px; border-color: var(--border); }
.month-navigation { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.month-navigation > label { display: flex; gap: 6px; align-items: center; margin: 0; font-size: 11px; font-weight: 400; color: var(--muted); }
.month-navigation input { width: 78px; padding: 4px 6px; font-size: 12px; margin: 0; }
.month-navigation select { width: 130px; padding: 4px 6px; font-size: 12px; margin: 0; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.month-weekdays { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); padding: 7px 0; color: var(--muted); font-size: 11px; text-align: center; }
.month-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); border-top: 1px solid var(--border); border-left: 1px solid var(--border); border-radius: 5px; overflow: hidden; }
.month-day { border: 0; border-bottom: 1px solid var(--border); border-right: 1px solid var(--border); border-radius: 0; min-width: 0; min-height: 93px; padding: 7px; text-align: left; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; background: var(--bg); }
.month-day > time { display: grid; place-items: center; font-size: 11px; width: 23px; height: 23px; border-radius: 5px; }
.month-day.outside { background: var(--surface); color: var(--muted); }
.month-day.today > time { background: var(--yellow); color: var(--navy); font-weight: 600; }
.month-day.selected { box-shadow: inset 0 0 0 2px var(--yellow); }
.month-day:hover { background: var(--surface); }
.month-events { width: 100%; min-width: 0; display: grid; gap: 3px; }
.calendar-event { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-left: 2px solid var(--muted); background: var(--hover); font-size: 9px; padding: 2px 5px; border-radius: 2px; }
.calendar-event.phase-ideation { border-left-color: var(--phase-ideation); background: var(--phase-ideation-bg); }
.calendar-event.phase-production { border-left-color: var(--phase-production); background: var(--phase-production-bg); }
.calendar-event.phase-recette { border-left-color: var(--phase-recette); background: var(--phase-recette-bg); }
.calendar-event.completed { opacity: .65; text-decoration: line-through; }
.month-events > small { font-size: 9px; color: var(--muted); }
.mobile-event-count { display: none; }
.day-agenda { margin: 20px 0 0; padding: 18px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); }
.day-agenda .section-heading { margin-bottom: 6px; }
.day-agenda .section-heading h3 { font-size: 13px; text-transform: capitalize; margin: 0; }
.day-agenda .section-heading small { color: var(--muted); font-size: 11px; }
.home-next-actions { border-top: 1px solid var(--border); padding: 17px 0; color: var(--muted); }
.home-next-actions > summary { font-size: 12px; cursor: pointer; }
.home-next-actions .system-actions { margin-top: 12px; }
.task-project-picker { display: grid; gap: 5px; margin: 18px 0; }
.task-project-picker button { display: flex; gap: 10px; align-items: center; text-align: left; border-color: var(--border); padding: 10px; }
.task-project-picker button > span:nth-child(2) { flex: 1; }
.task-project-picker small { display: block; color: var(--muted); font-size: 10px; }
.project-flow { font-size: 12px; padding: 9px 0 16px; border-bottom: 1px solid var(--border); }
.project-flow > summary { display: flex; gap: 12px; flex-wrap: wrap; cursor: pointer; color: var(--muted); align-items: center; }
.project-flow > summary > span { color: var(--ink); font-weight: 500; }
.project-flow summary small { font-size: 10px; }
.project-flow ol { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 15px 0; }
.project-flow button { text-align: left; border-color: var(--border); width: 100%; background: var(--surface); padding: 10px; }
.project-flow strong { display: block; font-size: 11px; }
.project-flow button small { display: block; color: var(--muted); font-size: 10px; margin-top: 5px; }
.project-plan-surface { border: 0; padding: 0; box-shadow: none; background: var(--bg); }
.project-plan-surface > h2 { font-size: 16px; margin-top: 20px; }
.plan-primary-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 17px; }
.project-plan-surface .task-scope { margin-bottom: 9px; }
.project-plan-surface .task-scope .segmented { margin: 0; }
.compact-task-filters { padding: 0; margin: 17px 0 8px; }
.task-quick-filters { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.task-search { margin: 0; font-size: 0; flex: 1; min-width: 180px; max-width: 340px; }
.task-search input { margin: 0; font-size: 12px; min-height: 32px; }
.status-chips { display: flex; gap: 3px; flex-wrap: wrap; }
.status-chips button { border: 0; background: transparent; font-size: 11px; color: var(--muted); }
.status-chips button[aria-pressed="true"] { background: var(--yellow-soft); color: var(--ink); }
.advanced-task-filters { font-size: 11px; color: var(--muted); margin-top: 8px; }
.advanced-task-filters summary { cursor: pointer; }
.advanced-task-filters .fields { margin-top: 10px; }
.project-objectives { padding: 17px 0; border-top: 1px solid var(--border); margin-top: 25px; }
.project-objectives > summary { font-size: 12px; cursor: pointer; margin-bottom: 14px; }
.project-source-dossier { margin-top: 25px; }
.project-source-dossier h3 { margin-top: 18px; }
.follow-section { border-bottom: 1px solid var(--border); padding: 16px 0; }
.follow-section > summary { cursor: pointer; font-size: 13px; font-weight: 500; }
.follow-section > .panel { margin-top: 17px; border: 0; background: var(--bg); padding: 0; }
.manual-entry-state { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--border); color: var(--muted); font-size: 12px; }
.manual-entry-state h3 { color: var(--ink); }
.knowledge-list-tools { display: flex; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.knowledge-list-tools > form { flex: 1; min-width: 230px; }
.knowledge-list-tools > label { min-width: 180px; font-size: 11px; }
.knowledge-review-tools { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.knowledge-relations { border-top: 1px solid var(--border); padding-top: 15px; }
.knowledge-relations > summary { cursor: pointer; font-size: 12px; margin-bottom: 15px; }
.information-meta { display: flex; gap: 5px; flex-wrap: wrap; }
.info-evidence { margin: 12px 0; font-size: 11px; }
.info-evidence > summary { cursor: pointer; color: var(--muted); }
.graph-selection blockquote { font-size: 11px; margin: 10px 0; padding: 10px; }
.graph-selection blockquote small { display: block; margin-top: 4px; }
@media (max-width: 1150px) {
 .home-command-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
 .home-todo { padding-left: 20px; }
 .home-todo .section-heading { align-items: flex-start; }
 .project-flow ol { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
 .home-command-grid { grid-template-columns: minmax(0,1fr); grid-template-areas: "todo" "projects"; gap: 30px; }
 .home-todo { border-left: 0; padding-left: 0; }
 .home-projects { border-top: 1px solid var(--border); padding-top: 24px; }
 .home-todo .todo-list { max-height: none; }
 .banner-actions { margin-top: 12px; }
 .month-day { min-height: 82px; padding: 5px; }
 .calendar-event { font-size: 8px; padding: 2px 3px; }
}
@media (max-width: 760px) {
 .banner-accent { height: 28px; margin-bottom: 15px; }
 .banner-title { gap: 11px; align-items: flex-start; }
 .page-emblem { width: 40px; height: 40px; flex-basis: 40px; }
 .page-emblem svg { width: 21px; height: 21px; }
 .banner-title h1 { font-size: 27px; }
 .banner-title p { font-size: 11px; }
 .banner-actions { width: 100%; }
 .project-list-group { padding-left: 10px; }
 .project-list-row { padding: 9px 0; gap: 7px; }
 .project-row-meta { max-width: 30%; gap: 4px; }
 .project-row-meta > small { display: none; }
 .project-row-meta .badge { font-size: 8px; }
 .project-row-title { gap: 8px; font-size: 12px; }
 .project-row-icon { height: 22px; width: 22px; flex-basis: 22px; }
 .month-controls { gap: 12px; }
 .month-step { width: 100%; justify-content: space-between; }
 .month-navigation { width: 100%; gap: 7px; }
 .month-navigation select { width: 110px; }
 .month-day { min-height: 61px; padding: 4px 2px; gap: 5px; }
 .month-day > time { width: 22px; height: 22px; font-size: 10px; }
 .month-events { display: none; }
 .mobile-event-count { display: block; font-size: 9px; padding: 0 5px; border-bottom: 2px solid var(--yellow); color: var(--muted); }
 .month-weekdays { font-size: 9px; }
 .day-agenda { padding: 13px 10px; }
 .project-flow ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .project-flow summary small { line-height: 1.6; }
 .task-quick-filters { gap: 7px; }
 .task-search { max-width: none; flex-basis: 100%; }
 .status-chips { flex: 1; }
 .status-chips button { padding: 5px 7px; font-size: 10px; }
 .knowledge-tabs { margin-top: 6px; }
}

/* Approved Notion composition, Pro Tect brand and explicit task hierarchy. */
.page-banner {background:var(--surface);padding:24px 26px;border-radius:9px;margin-bottom:28px;}
.page-banner .banner-accent{background:var(--yellow);width:4px;border-radius:2px;}
h1{letter-spacing:-.5px;font-size:30px;}.page-heading p{margin-top:5px;}
.home-command-grid{grid-template-columns:minmax(0,2.6fr) minmax(250px,1fr);gap:28px;}
.project-lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.project-list-group{min-width:0;border:1px solid var(--border);border-top:3px solid var(--phase);border-radius:7px;padding:13px 11px;background:var(--surface);}
.project-list-group h3{font-size:13px;gap:5px;}.project-list-row{background:var(--bg);border-radius:6px;padding:12px 7px;margin:8px 0;border:1px solid var(--border);}
.project-row-title{font-size:13px;gap:7px;}.project-row-title>span{min-width:0;overflow-wrap:anywhere;}.project-row-meta{display:flex;flex-wrap:wrap;gap:6px;margin-left:0;}
.project-row-icon{width:28px;min-width:28px;background:var(--hover);}.project-row-icon svg{width:17px;}
.compact-project-lists .project-row-meta>small{display:block;font-size:10px;}.home-todo{min-width:0;}.home-todo .section-heading button{font-size:11px;padding:4px 7px;}
.home-todo .todo-row{align-items:flex-start;gap:7px;padding:11px 0;}.home-todo .todo-meta{gap:5px;}.home-todo .todo-meta small{font-size:10px;}.home-todo .todo-title{font-size:12px;}
.priority{display:inline-flex;font-size:10px;line-height:1.4;white-space:nowrap;border-radius:4px;padding:2px 6px;border:1px solid transparent;}
.priority-urgent{background:var(--red-bg);color:var(--red);}.priority-medium{background:var(--amber-bg);color:var(--amber);}.priority-low{background:var(--hover);color:var(--muted);}
.task-scrim{position:fixed;inset:0;z-index:90;background:#0004;cursor:default;border:0;border-radius:0;}
#context.task-modal{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(740px,calc(100vw - 32px));max-height:calc(100dvh - 40px);height:auto;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);z-index:100;overflow-y:auto;}
#context.task-modal .context-head{position:sticky;top:0;background:var(--bg);z-index:1;}#context.task-modal .eyebrow{display:none;}.task-properties select{min-width:0;}
.symbol-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:16px 0;}.symbol-grid button{display:flex;align-items:center;flex-direction:column;gap:6px;min-height:66px;}.symbol-grid button[aria-pressed=true]{border-color:var(--yellow);background:var(--yellow-soft);}.symbol-grid small{font-size:10px;}.symbol-categories{display:flex;flex-wrap:wrap;gap:5px;}.symbol-categories button[aria-pressed=true]{background:var(--hover);}.project-symbol{border:0;background:var(--yellow-soft);padding:7px;}.project-identity{display:flex;align-items:center;gap:12px;margin:-14px 0 20px;}.project-identity .muted{font-size:12px;}
.portfolio-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:15px 0;}.portfolio-controls label{display:flex;gap:8px;align-items:center;font-size:12px;}.portfolio-controls select{width:auto;}.portfolio-gantt .timeline small{display:block;}.portfolio-gantt .bar{background:var(--phase);}.phase-period{margin:12px 0;border:1px solid var(--border);border-left:3px solid var(--phase);border-radius:5px;}.phase-period legend{padding:0 7px;font-size:12px;}
.calendar-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-bottom:16px;color:var(--muted);font-size:10px;}.calendar-legend span{display:flex;align-items:center;gap:5px;}.calendar-legend svg{width:13px;height:13px;flex-basis:13px;}.calendar-period{display:flex;align-items:center;gap:4px;border-left:3px solid var(--phase);background:var(--phase-soft);color:var(--ink);padding:3px 4px;font-size:9px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;}.calendar-period svg{display:none;}.month-day{min-width:0;overflow:hidden;}.month-events{max-width:100%;}.month-day time{flex:none;}
.sprint-list{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0;}.sprint-card{flex:1 1 220px;border:1px solid var(--border);border-radius:7px;background:var(--surface);padding:13px;}.sprint-card small{display:block;color:var(--muted);font-size:11px;}.sprint-card p{font-size:11px;margin:8px 0;}.todo-sprint-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}.associated-global{margin:24px 0;}.associated-task{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);}.subtask-ready{outline:2px solid var(--yellow);background:var(--yellow-soft)!important;}.subtask-ready::after{content:'Relâcher pour proposer une sous-tâche';font-size:10px;color:var(--ink);}.human-empty{border:1px dashed var(--strong-border);padding:45px 22px;text-align:center;border-radius:8px;}.human-empty p{max-width:600px;margin:14px auto;color:var(--muted);}.human-empty .actions{justify-content:center;}.human-empty-icon{display:inline-flex;background:var(--yellow-soft);padding:18px;border-radius:50%;margin-bottom:15px;}.human-empty-icon svg{width:32px;height:32px;}.human-access{margin-top:28px;}
@media(max-width:1200px){.home-command-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:'projects' 'todo';}.home-todo{max-width:700px;}.project-lists{gap:9px;}.project-row-title{font-size:12px;}}
@media(max-width:760px){.project-lists{grid-template-columns:minmax(0,1fr);}.page-banner{padding:17px 14px;}.home-command-grid{grid-template-areas:'projects' 'todo';}.symbol-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.portfolio-controls{align-items:flex-start;flex-wrap:wrap;}.project-identity{flex-wrap:wrap;}.month-day{min-height:88px;}.calendar-period{font-size:8px;}.calendar-legend{justify-content:flex-start;}.project-row-title{font-size:14px;}#context.task-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);}.task-properties{grid-template-columns:minmax(0,1fr);}.human-empty{padding:24px 14px;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}

.phase-ideation{--phase:var(--phase-ideation);--phase-soft:var(--phase-ideation-bg);}.phase-production{--phase:var(--phase-production);--phase-soft:var(--phase-production-bg);}.phase-recette{--phase:var(--phase-recette);--phase-soft:var(--phase-recette-bg);}
.project-list-row{flex-direction:column;align-items:stretch;}.project-row-meta{max-width:100%;justify-content:flex-start;}.project-row-title{width:100%;}.home-todo{padding-left:18px;}.home-next-actions{margin-top:26px;}.candidate-row{border-style:dashed;background:transparent;}
@media(max-width:1200px){.home-todo{border-left:0;padding-left:0;max-width:none;}}

.home-todo .todo-text{flex:1;min-width:0;}.home-todo .todo-meta{flex:0 0 76px;min-width:0;}.global-todo-list>.todo-row{display:flex;width:100%;}

.human-organization{padding:20px 0;}.organization-root{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px auto 35px;padding:15px;max-width:350px;background:var(--yellow-soft);border-radius:8px;}.division-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;}.division-card{border:1px solid var(--border);border-radius:8px;padding:15px;background:var(--surface);position:relative;}.division-card::before{content:'';position:absolute;top:-25px;left:50%;height:25px;border-left:1px solid var(--strong-border);}.division-card h2 button{border:0;background:transparent;font-weight:bold;}.human-person{width:100%;display:flex;gap:9px;align-items:center;text-align:left;margin:7px 0;border-color:var(--border);}.human-person small{display:block;color:var(--muted);font-size:10px;}.person-avatar{display:grid;place-items:center;flex:none;width:28px;height:28px;background:var(--hover);border-radius:50%;}.human-list-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:12px 0;}.human-unassigned{margin-top:25px;}

/* Approved Notion V4. Local assets and native controls; no external font. */
:root{--text:var(--ink);--soft:var(--surface);--cover:#111111}html[data-theme=dark]{--cover:#51451e}
.notion-banner{background:none;padding:0;border-radius:0;margin:-4px -28px 23px}.notion-banner .page-cover{height:96px;background:var(--cover)}.notion-banner .page-heading{display:block;padding:0 28px;margin:0}.notion-banner .page-emblem{display:flex;position:relative;margin-top:-27px;margin-bottom:15px;width:52px;height:52px;background:var(--yellow);color:#171630;border-radius:8px;align-items:center;justify-content:center;border:0}.page-emblem svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.banner-heading-row{display:flex;align-items:center;gap:16px;justify-content:space-between}.notion-banner .banner-title{display:flex;gap:10px;align-items:center;min-width:0}.notion-banner h1{margin:0;font-size:32px;overflow-wrap:anywhere}.notion-banner .page-heading>p{font-size:14px;max-width:700px;margin:12px 0 0}.notion-banner .banner-actions{display:flex;gap:7px;flex:none}.banner-actions button svg{width:17px;height:17px;fill:none;stroke:currentColor;vertical-align:middle}.banner-actions .export-menu>div{z-index:22}.project-identity{font-size:12px;gap:15px;margin-bottom:20px;flex-wrap:wrap}.rename-project{opacity:0;border:0;padding:3px 6px;color:var(--muted)}.banner-title:hover .rename-project,.rename-project:focus-visible{opacity:1}
.menu-toggle{display:inline-flex}.sidebar-collapsed .shell{grid-template-columns:64px minmax(0,1fr)}.sidebar-collapsed .sidebar{padding:18px 6px;overflow:visible}.sidebar-collapsed .brand a{width:44px;overflow:hidden}.sidebar-collapsed .brand img{width:96px;max-width:none}.sidebar-collapsed .workspace-heading,.sidebar-collapsed .sidebar-note,.sidebar-collapsed .search-button{display:none}.sidebar-collapsed .nav-link{font-size:0;justify-content:center;padding:10px 4px}.sidebar-collapsed .nav-link svg{width:22px;height:22px;flex:none}.sidebar-collapsed .appearance-switch{flex-direction:column}.sidebar-collapsed .appearance-switch button{font-size:0}.sidebar-collapsed .appearance-switch svg{width:19px;height:19px}.nav-project-row{display:flex;align-items:center}.nav-project-row>.nav-link{flex:1;min-width:0}.nav-project-row>#projects-disclosure{width:27px;border:0;flex:none;background:none;padding:4px}#project-tree{padding:2px 0 9px 16px}#project-tree section>button{display:flex;align-items:center;gap:6px;border:0;background:none;width:100%;text-align:left;font-size:12px}#project-tree section>button small{margin-left:auto;color:var(--muted)}#project-tree section>div{padding-left:12px}#project-tree section>div>button{display:flex;gap:7px;align-items:start;width:100%;border:0;text-align:left;font-size:12px;padding:7px 4px;background:none}#project-tree svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none;margin-top:3px}#project-tree [aria-current=page]{background:var(--hover);font-weight:600}.sidebar-collapsed .nav-project-row{display:block}.sidebar-collapsed #projects-disclosure{display:block;margin:auto}.sidebar-collapsed #project-tree{display:none;position:absolute;left:62px;top:170px;z-index:30;width:230px;background:var(--bg);border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow);padding:10px}.sidebar-collapsed .nav-links:has(.nav-project-row:focus-within,#project-tree:focus-within,.nav-project-row:hover,#project-tree:hover) #project-tree{display:block}#project-tree[hidden],#project-tree div[hidden]{display:none!important}
.brain-journey{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:0 0 22px}.brain-journey button{font-size:11px;min-height:24px;padding:3px 6px;border:0;background:var(--surface)}.brain-library{display:grid;grid-template-columns:175px minmax(0,1fr);gap:28px}.brain-poles{border-right:1px solid var(--border);padding-right:16px}.brain-poles h2{font-size:13px;color:var(--muted);font-weight:500;margin:0 0 10px}.brain-poles>button{display:block;width:100%;text-align:left;border:0;background:none;font-size:12px;margin:4px 0}.brain-poles>button[aria-pressed=true]{background:var(--hover);font-weight:600}.brain-poles p{font-size:11px;color:var(--muted);margin-top:20px}.brain-library-content{min-width:0}.brain-library-views{display:flex;gap:7px;margin-bottom:15px}.brain-library-views button{border:0}.brain-library-views [aria-pressed=true]{background:var(--surface);font-weight:600}.brain-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.brain-filter>label{flex:1;min-width:150px}.brain-filter details{max-width:230px}.information-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.information-card{border:1px solid var(--border);border-radius:5px;overflow:hidden;min-width:0;background:var(--bg)}.information-card-main{display:block;text-align:left;width:100%;border:0;padding:17px;min-height:200px}.information-card-meta{display:flex;gap:14px;justify-content:space-between;color:var(--muted);font-size:11px}.information-card h3{font-size:14px;font-weight:600;line-height:1.5;margin:15px 0 9px}.information-card p{font-size:12px;color:var(--muted)}.information-card-main>small{display:block;border-top:1px solid var(--border);padding-top:13px;margin-top:17px;color:var(--muted);font-size:10px}.information-context-tags{display:flex;gap:5px;flex-wrap:wrap}.information-context-tags span{font-size:10px;background:var(--surface);color:var(--muted);padding:2px 5px;border-radius:3px}.clarification-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px}.clarification-layout>section{min-width:0}.clarification-inbox{border-right:1px solid var(--border);padding-right:18px}.clarification-inbox h2{font-size:15px}.clarification-inbox button{display:block;width:100%;text-align:left;border:0;padding:12px;background:none;margin-bottom:5px}.clarification-inbox button[aria-pressed=true]{background:var(--surface)}.clarification-inbox small{display:block;color:var(--muted);font-size:10px;margin-top:7px}.callout{background:var(--surface);border-left:3px solid var(--yellow);padding:14px 18px;margin:18px 0}.callout h2,.callout h3{margin-top:0}.callout p{font-size:13px}.clarification-layout textarea{width:100%;resize:vertical}
.plan-primary-actions{display:flex;align-items:end;gap:7px;flex-wrap:wrap}.plan-primary-actions label{margin:0}.plan-primary-actions .select-wrap{min-width:160px}.plan-primary-actions [aria-pressed=true]{background:var(--hover)}.project-plan-surface{background:none;border:0;padding:0}.project-plan-surface>.toolbar{margin-bottom:15px}.project-plan-surface>.toolbar>button[data-save-view]{margin-left:auto}.v4-kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.kanban-column{background:var(--surface);border-radius:6px;padding:10px;min-width:0;min-height:210px}.kanban-column-head{display:flex;gap:5px;align-items:center;justify-content:space-between;margin-bottom:13px}.kanban-column-head h3{font-size:12px;margin:0;display:flex;align-items:center;gap:7px}.kanban-column-head h3 small{color:var(--muted)}.kanban-column-head>button{font-size:17px;min-height:25px;border:0;padding:0 6px;background:none}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}.status-doing{background:var(--blue)}.status-done{background:var(--green)}.kanban-task{background:var(--bg);border:1px solid var(--border);border-radius:5px;overflow:hidden;margin-bottom:9px;min-width:0}.kanban-task-main{display:block;width:100%;text-align:left;padding:12px;border:0}.kanban-task-main strong{display:block;font-size:13px;font-weight:550;line-height:1.5;margin-bottom:10px}.kanban-task-main small{display:block;font-size:10px;color:var(--muted);margin-top:10px}.task-parent,.task-dependencies button{display:block;font-size:10px;color:var(--muted);text-align:left;padding:6px 10px;width:100%;border:0;border-top:1px solid var(--border);background:none}.task-children{border-top:1px solid var(--border);padding:4px 7px}.task-children button{display:flex;align-items:start;gap:7px;text-align:left;width:100%;font-size:10px;min-height:25px;background:none;border:0;padding:4px 3px}.task-children span{flex:1;min-width:0}.task-children small{font-size:9px;color:var(--muted);flex:none}.task-organize{font-size:10px;color:var(--muted);border:0;display:block;padding:4px 10px;background:none}.column-create{width:100%;border:0;background:none;text-align:left;font-size:11px;color:var(--muted);padding:7px 4px}.kanban-column .empty{font-size:11px;text-align:center}.sprint-task-group{margin-bottom:24px}.project-activity{border-top:1px solid var(--border);margin-top:28px;padding-top:16px}.activity-feed{padding:10px 0}.activity-entry{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;position:relative;padding-bottom:23px}.activity-entry:not(:last-child)::before{content:'';position:absolute;left:13px;top:25px;bottom:0;border-left:1px solid var(--border)}.activity-dot{display:flex;align-items:center;justify-content:center;width:27px;height:27px;background:var(--surface);border:1px solid var(--border);border-radius:50%;font-size:12px}.activity-entry>div>small{display:block;color:var(--muted);font-size:10px}.activity-entry p{font-size:12px;margin:8px 0}.activity-entry details{font-size:12px;border:1px solid var(--border);border-radius:5px;padding:10px}.ideation-proposals{border:1px solid var(--border);border-radius:5px;margin:20px 0;padding:13px}.ideation-proposals p{font-size:12px}.project-flow{margin-bottom:18px}.project-tab-panel .graph-explorer{min-height:430px}.symbol-grid button{min-height:52px}.symbol-grid svg{width:26px;height:26px}
.brain-conversation{max-width:850px;margin:0 auto;min-width:0}.conversation-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--muted);margin-bottom:20px}.conversation-stream{min-height:280px;max-height:600px;overflow:auto;overscroll-behavior:contain;padding:0 6px 20px}.conversation-welcome{text-align:center;padding:65px 20px 30px}.conversation-welcome h2{font-size:25px;line-height:1.35;margin:0 auto 12px;max-width:580px}.conversation-welcome p{font-size:13px;color:var(--muted)}.conversation-user{background:var(--surface);border-radius:13px;margin:15px 0 22px auto;max-width:85%;padding:12px 17px}.conversation-user small,.conversation-answer>small{color:var(--muted);font-size:11px}.conversation-user p{margin:8px 0}.conversation-answer{padding:0 4px 22px;border-bottom:1px solid var(--border);line-height:1.7;margin-bottom:20px}.conversation-answer p{font-size:14px}.conversation-suggestions{display:grid;gap:7px;max-width:640px;margin:15px auto}.conversation-suggestions button{padding:11px 13px;text-align:left;border-color:var(--border);border-radius:7px}.brain-conversation form{border:1px solid var(--border);border-radius:16px;padding:12px 14px;box-shadow:0 2px 8px #00000006}.brain-conversation form label{font-size:12px;color:var(--muted);margin:0}.brain-conversation textarea{width:100%;border:0;background:none;padding:8px 0;margin:0;resize:vertical;color:var(--ink);font-size:14px}.brain-conversation form>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.brain-conversation form small{font-size:10px;color:var(--muted)}.clarification-suggestion{display:block;width:100%;text-align:left;border-color:var(--border);margin:10px 0}.clarification-suggestion small{display:block;color:var(--muted);font-size:11px}.chat-unavailable{font-size:12px;color:var(--muted);padding:14px;background:var(--surface)}.legacy-project-consultation{margin-top:25px;font-size:12px}.project-consultation.panel{background:none;border:0;padding:10px 0}.brain-conversation blockquote{font-size:13px;overflow-wrap:anywhere}
/* Local select enhancement retains the native value and form validation. */
.native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;padding:0!important;pointer-events:none!important;clip-path:inset(50%)}.select-wrap{position:relative;display:inline-block;max-width:100%;min-width:0}.notion-select{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;min-width:100px;width:100%;max-width:100%;background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:7px 9px}.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.select-chevron{color:var(--muted);flex:none}.notion-menu{position:fixed;z-index:1100;overflow:auto;padding:6px;background:var(--bg);color:var(--ink);border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow);animation:workspace-menu-enter 120ms ease-out}.menu-search{display:block;width:100%;border:0;border-bottom:1px solid var(--border);border-radius:0;font-size:12px;padding:9px;outline-offset:-2px}.menu-options{padding-top:5px}.menu-options button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:none;min-height:33px;font-size:12px;padding:7px}.menu-options button:hover,.menu-options button:focus-visible{background:var(--hover)}.option-mark{width:14px;flex:none}.menu-group{font-size:10px;color:var(--muted);padding:10px 7px 4px}.notion-select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.notion-select[aria-invalid=true]{border-color:var(--red)}.task-modal .properties .select-wrap{width:100%}.fields label>.select-wrap,label>.select-wrap{width:100%}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 1px var(--yellow)}@keyframes workspace-menu-enter{from{opacity:0;translate:0 -3px}to{opacity:1;translate:0 0}}
@media(max-width:1050px){.brain-library{grid-template-columns:140px minmax(0,1fr);gap:18px}.information-card-grid{grid-template-columns:1fr}.clarification-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}.task-children button{display:block}.task-children small{display:block}}
@media(max-width:760px){.notion-banner{margin:-4px -18px 23px}.notion-banner .page-cover{height:72px}.notion-banner .page-heading{padding:0 18px}.notion-banner h1{font-size:27px}.notion-banner .banner-actions{flex-wrap:wrap}.banner-heading-row{align-items:start;flex-wrap:wrap}.rename-project{opacity:1}.brain-library,.clarification-layout{display:block}.brain-poles{display:flex;overflow:auto;border:0;padding:0;margin-bottom:18px;gap:5px}.brain-poles h2,.brain-poles p{display:none}.brain-poles button{flex:none;width:auto;border:1px solid var(--border);white-space:nowrap;margin:0;font-size:11px}.brain-journey{gap:4px;font-size:10px}.brain-journey button{font-size:10px}.clarification-inbox{display:flex;overflow:auto;gap:7px;border:0;margin-bottom:18px;padding:0}.clarification-inbox h2{display:none}.clarification-inbox button{flex:0 0 175px;background:var(--surface);font-size:12px}.v4-kanban{grid-template-columns:1fr}.kanban-column{min-height:100px}.task-children button{display:flex}.project-identity{gap:8px}.project-tab-panel .graph-explorer{min-height:380px}.conversation-welcome{padding:30px 5px 20px}.conversation-welcome h2{font-size:23px}.conversation-stream{max-height:550px}.conversation-top{align-items:start;flex-wrap:wrap}.brain-conversation form>div{align-items:end}.project-plan-surface .toolbar{flex-wrap:wrap}.page-tabs{overflow:auto;flex-wrap:nowrap;white-space:nowrap;gap:16px}.notion-menu{max-width:calc(100vw - 24px)}.sidebar-collapsed .shell{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.notion-menu{animation:none}.rename-project{transition:none}}

/* First scenario tranche: full workspace, readable Notion surfaces, native motion. */
:root{--glass:#ffffffed;--panel-radius:14px}
html[data-theme=dark]{--glass:#232323ed}
main{max-width:none;padding:32px 28px 46px}
.workspace{width:100%}
.notion-banner{margin:-4px 0 26px}
.notion-banner .page-cover{border-radius:var(--panel-radius)}
.notion-banner .page-heading{padding:0 20px}
.topbar{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
button,input,textarea,.notion-select{border-radius:8px}
button{transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease}
.panel,.card,.sprint-card,.project-list-group,.kanban-column,.kanban-task{border-radius:var(--panel-radius)}
#context,.notion-menu{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--panel-radius)}
#context:not(.task-modal){border-radius:var(--panel-radius) 0 0 var(--panel-radius)}
.sidebar-collapsed .shell{grid-template-columns:minmax(0,1fr)}
.sidebar-collapsed .sidebar{display:none}
.project-open-card{position:relative;display:flex;width:100%;text-align:left;gap:14px;padding:16px;border-radius:12px}
.project-open-card:hover,.project-open-card:focus-visible{border-color:var(--phase);box-shadow:0 3px 16px #0000000b}
.project-open-card .project-row-title{display:flex;padding:0;gap:10px;min-width:0;align-items:flex-start;font-weight:600}
.project-open-card .project-row-title small{display:block;margin-top:6px;font-size:11px;font-weight:400}
.project-open-card .project-row-icon{display:grid;place-items:center;height:32px;width:32px;flex:0 0 32px;border-radius:9px}
.project-open-card .project-row-meta{display:flex;width:100%;gap:7px 12px;align-items:center;padding-top:12px;border-top:1px solid var(--border)}
.project-open-arrow{margin-left:auto;color:var(--muted);font-size:17px}
.home-todo{border-radius:var(--panel-radius);background:var(--surface);border:1px solid var(--border);padding:18px}
.home-command-grid{gap:20px;grid-template-columns:minmax(0,3fr) minmax(245px,1fr)}
.banner-title:focus-within .rename-project{opacity:1}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.brain-conversation{max-width:none;width:100%}
.conversation-stream{padding-left:clamp(0px,4vw,60px);padding-right:clamp(0px,4vw,60px)}
.auth-page .sidebar,.auth-page .topbar,.auth-page .menu-scrim{display:none!important}
.auth-page .shell{display:block}
.auth-page main{padding:24px;min-height:100dvh}
.auth-page #notice{max-width:460px;margin:0 auto 15px}
.login-page{min-height:calc(100dvh - 48px);display:flex;flex-direction:column}
.login-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.login-top .appearance-switch{width:auto;margin:0}
.session-form{width:100%;max-width:460px;margin:auto;padding:34px;background:var(--glass);border-radius:20px;box-shadow:var(--shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.session-form h1{font-size:29px}
.session-form>p:not(.eyebrow){color:var(--muted)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.icon-button:not(:disabled):hover>svg{animation:protect-icon-turn 500ms cubic-bezier(.2,.7,.2,1)}}
@keyframes protect-icon-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes protect-workspace-entry{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.workspace-entry #content{animation:protect-workspace-entry 280ms ease-out}}
@media(max-width:1200px){.home-command-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){
 main{padding:22px 18px 35px}
 .notion-banner{margin:0 0 22px}
 .notion-banner .page-heading{padding:0 12px}
 .notion-banner .page-cover{height:80px}
 .banner-actions{width:100%}
 .banner-actions .export-menu{margin:0}
 .auth-page main{padding:18px}
 .login-page{min-height:calc(100dvh - 36px)}
 .session-form{padding:24px;margin:24px auto}
 .login-top .logo{width:76px;height:60px}
}

:root{--symbol-yellow:#a57900;--symbol-orange:#ac5b1d}
html[data-theme=dark]{--symbol-yellow:#ffcb03;--symbol-orange:#f3ad73}
.rename-project{display:inline-flex;flex:none;align-items:center;min-width:32px;min-height:32px}
.symbol-color-gray{color:var(--muted)!important}
.symbol-color-yellow{color:var(--symbol-yellow)!important}
.symbol-color-blue{color:var(--phase-production)!important}
.symbol-color-purple{color:var(--phase-ideation)!important}
.symbol-color-green{color:var(--phase-recette)!important}
.symbol-color-red{color:var(--red)!important}
.symbol-color-orange{color:var(--symbol-orange)!important}
.page-emblem[class*="symbol-color-"]{background:var(--surface);border:1px solid var(--border)}
.symbol-color-options{display:flex;flex-wrap:wrap;gap:10px;border:1px solid var(--border);border-radius:10px;padding:12px}
.symbol-color-options label{display:flex;flex-direction:row;align-items:center;gap:7px;margin:0}
.symbol-color-options input{width:auto}
.symbol-color-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;background:currentColor}

.login-top .appearance-switch{display:flex;flex:none;min-width:136px}
.login-top .appearance-switch button{white-space:nowrap;flex:0 0 auto;min-width:60px;padding:6px 10px}

/* Source originals remain legible inside the existing modal in either theme. */
.contribution-original{white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;max-height:min(48dvh,420px);padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-family:inherit;}
.contribution-library .card{min-width:0;overflow-wrap:anywhere;}
#context [data-form^="ux-contribution-"] textarea{width:100%;min-height:100px;resize:vertical;}
#context [data-form="ux-contribution-submit"] label{display:flex;align-items:flex-start;gap:9px;}
#context [data-form="ux-contribution-submit"] input[type="checkbox"]{width:auto;flex:none;margin-top:3px;}


/* Accueil / to-do: final approved composition, shared native theme tokens. */
.home-command-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"projects" "todo";gap:30px}
.home-summary{gap:20px;margin-bottom:28px;color:var(--muted);font-size:12px}
.home-summary strong{color:var(--ink);font-variant-numeric:tabular-nums}
.home-section-hint{font-size:12px;color:var(--muted);margin:4px 0 0;line-height:1.5}
.home-projects .section-heading,.home-todo .section-heading{align-items:center;margin-bottom:18px}
.home-projects .compact-project-lists{gap:16px;align-items:start}
.home-projects .project-list-group{padding:12px;background:var(--surface);border-top:0;border-left:0;min-height:170px}
.home-projects .project-list-group>h3{display:flex;padding:8px 9px;margin:0 0 12px;border-radius:6px;background:var(--phase-soft);color:var(--phase);font-weight:600}
.home-projects .project-list-group>h3 .pill-count{margin-left:auto;background:var(--bg);color:var(--phase)}
.home-projects .project-open-card{padding:13px;margin:0 0 9px;gap:0;border-left:3px solid var(--phase);box-shadow:0 1px 2px #00000004;transition:border-color 160ms ease,box-shadow 160ms ease}
.home-projects .project-row-title{line-height:1.45;font-size:14px}
.home-projects .project-row-title small{font-size:11px;font-weight:400;line-height:1.5;margin:6px 0 0}
.home-projects .project-row-meta{margin:12px 0 0;padding-top:10px;gap:7px 10px;font-size:11px;line-height:1.5}
.home-projects .compact-project-lists .project-row-meta>small{font-size:11px}
.home-projects .group-empty{padding:12px 9px;font-size:12px}
.home-todo{border:0;border-radius:0;background:transparent;padding:26px 0 0;border-top:1px solid var(--border);max-width:none}
.home-todo .section-heading button{font-size:12px;padding:7px 10px}
.todo-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.todo-column{min-width:0;border-radius:10px;padding:10px;background:var(--surface);border:1px solid var(--border)}
.todo-column-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:10px}
.todo-column-heading h3{display:flex;align-items:center;gap:7px;margin:0;font-size:12px;line-height:1.5;font-weight:600}
.todo-column-heading .pill-count{font-size:11px;font-variant-numeric:tabular-nums}
.todo-column-add{display:grid;place-items:center;background:transparent;border:0;min-width:32px;min-height:32px;padding:0;font-size:19px;color:var(--muted)}
.todo-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}
.todo-status-doing .todo-status-dot{background:var(--blue)}
.todo-status-done .todo-status-dot{background:var(--green)}
.todo-card{position:relative;min-width:0;margin:0 0 9px;border:1px solid var(--border);border-radius:8px;background:var(--bg);box-shadow:0 1px 2px #00000004;transition:border-color 160ms ease,box-shadow 160ms ease}
.todo-card:hover,.todo-card:focus-within{border-color:var(--strong-border);box-shadow:0 3px 10px #00000008}
.todo-card-open{display:block;width:100%;padding:13px 29px 12px 35px;text-align:left;border:0;background:transparent;border-radius:8px;min-width:0}
.todo-card-open:hover{background:transparent}
.todo-card-sprint{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-bottom:4px;overflow-wrap:anywhere}
.todo-card-title{display:block;font-size:13px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.todo-card-parent{display:block;margin:5px 0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.todo-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:10px}
.todo-card-meta .priority,.todo-card-meta .badge{font-size:10px}
.todo-card-context{display:block;color:var(--muted);font-size:11px;margin-top:7px;line-height:1.5}
.todo-card-check,.todo-card-order{position:absolute;display:grid;place-items:center;padding:0;background:transparent;color:var(--muted)}
.todo-card-check{left:9px;top:15px;width:16px;height:16px;min-height:16px;border-radius:4px;border:1px solid var(--strong-border);font-size:11px}
.todo-card-order{right:2px;top:7px;min-height:32px;width:26px;border:0;font-size:18px}
.todo-card-done .todo-card-check{color:var(--green);background:var(--green-bg);border-color:var(--green)}
.todo-card-done .todo-card-title{color:var(--muted);text-decoration:line-through}
.todo-card-subtask{margin-left:20px;border-left:2px solid var(--strong-border)}
.todo-depth-2,.todo-depth-3{margin-left:32px}
.todo-board-preview .todo-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.todo-board-preview .todo-card-context{display:none}
.todo-column-more{display:block;width:100%;border:0;background:transparent;color:var(--muted);font-size:11px;text-align:left;padding:7px 4px}
.todo-empty-column{padding:18px 6px;margin:0;color:var(--muted);font-size:12px}
.todo-preview-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px;font-size:11px;color:var(--muted);flex-wrap:wrap}
.todo-column.todo-drop-ready{outline:2px solid var(--yellow);outline-offset:2px}
.home-month{margin-top:32px;padding-top:26px}
.home-month .calendar-legend{font-size:11px;gap:7px 14px;margin-bottom:14px}
.home-month .month-controls{gap:12px}
.home-month .month-step h3{font-size:18px;text-transform:capitalize;line-height:1.5}
#context.todo-manager{width:min(1120px,calc(100vw - 40px))}
.todo-manager-body,.todo-editor{min-width:0}
.todo-manager-heading{display:flex;align-items:flex-start;gap:16px;justify-content:space-between}
.todo-manager-heading h2,.todo-editor h2{font-size:23px;margin:0;letter-spacing:-.3px}
.todo-manager-heading p{font-size:12px;color:var(--muted);max-width:620px;margin:6px 0 0}
.todo-manager-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:23px 0 15px;flex-wrap:wrap}
.todo-manager-count{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.todo-manager-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.8fr) auto;gap:12px;align-items:end;padding:14px 0;margin:0 0 16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.todo-manager-filters label{font-size:11px;color:var(--muted);margin:0;min-width:0}
.todo-manager-filters input,.todo-manager-filters .notion-select{font-size:12px;margin-top:6px}
.todo-manager-filters .select-wrap{display:block;width:100%}
.todo-manager-results{min-width:0}
.todo-manager-list>.todo-card{margin-bottom:8px}
.todo-manager-list .todo-card-open{padding-right:40px}
.todo-manager-sprints{margin-top:22px;padding-top:16px;border-top:1px solid var(--border);font-size:12px}
.todo-manager-help{font-size:11px;color:var(--muted);margin-top:18px;line-height:1.6}
.todo-editor-back{margin-bottom:17px}
.todo-editor form{margin-top:22px}
.todo-editor form>.primary{margin-top:12px}
.todo-gantt-scale{display:flex;justify-content:space-between;margin-left:47%;padding:0 0 12px;font-size:11px;color:var(--muted);gap:12px}
.todo-gantt-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px;align-items:center;margin-bottom:9px}
.todo-gantt-row>.todo-card{margin-bottom:0}
.todo-gantt-row.todo-depth-1,.todo-gantt-row.todo-depth-2,.todo-gantt-row.todo-depth-3{margin-left:0}
.todo-gantt-dates{font-size:11px;color:var(--muted);min-width:0}
.todo-gantt-dates .track{height:12px;margin-top:10px;border-radius:5px;background:var(--hover)}
.todo-gantt-dates .bar{background:var(--blue);height:8px;top:2px;border-radius:4px}
.todo-gantt-dates .todo-milestone{min-width:6px;background:var(--amber)}
@media(min-width:761px){.home-projects .compact-project-lists{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
 .home-command-grid{gap:24px}.home-projects{padding-top:0;border-top:0}
 .home-summary{gap:12px;margin-bottom:20px}.home-projects .section-heading,.home-todo .section-heading{align-items:flex-start;gap:10px}
 .home-projects .section-heading>button,.home-todo .section-heading>button{flex:none;max-width:42%}
 .home-projects .compact-project-lists{grid-template-columns:minmax(0,1fr)}
 .home-projects .project-list-group{min-height:110px}
 .todo-board{grid-template-columns:minmax(0,1fr);gap:12px}
 .todo-manager-heading{flex-wrap:wrap}.todo-manager-filters{grid-template-columns:minmax(0,1fr)}
 #context.todo-manager{width:calc(100vw - 16px)}
 .todo-gantt-row{grid-template-columns:minmax(0,1fr);gap:0;padding-bottom:14px;border-bottom:1px solid var(--border)}
 .todo-gantt-scale{margin-left:0}.todo-gantt-dates{padding:0 10px}
 .home-month .month-controls{align-items:flex-start}.home-month .month-step h3{font-size:16px}
}
@media(pointer:coarse){.todo-card-check{width:32px;height:32px;min-height:32px;left:3px;top:8px}.todo-card-order{width:32px;min-height:40px}.todo-card-open{padding-left:42px;padding-right:37px}.todo-column-add{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.home-projects .project-open-card,.todo-card,.home-todo button,.todo-manager-body button{transition:none;animation:none}}

.todo-board-preview .todo-card-open{min-height:124px}
.todo-board-preview .todo-card-sprint,.todo-board-preview .todo-card-parent{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#context.todo-manager>.context-head{justify-content:flex-end}
#context.todo-manager>.context-head>div{display:none}
@media(pointer:coarse){.todo-card-check{width:44px;height:44px;min-height:44px;left:0;top:4px}.todo-card-order{width:44px;min-height:44px}.todo-card-open{padding-left:50px;padding-right:46px}}
