/* One reviewed routing map, with a focused notebook conversation on demand. */
body:has(#notebook:not([hidden]) #editor-screen:not([hidden])) .notebook-brief {
  margin:22px 0 28px;padding:0;border:1px solid #30384a;border-radius:18px;
  background:linear-gradient(145deg,#1c2230,#151a23 60%);overflow:hidden;
}
.notebook-brief .brief-title {padding:25px 28px 20px;margin:0;border-bottom:1px solid #30394a;align-items:center}
.notebook-brief .brief-title .eyebrow,.notebook-brief .brief-title p {display:block}
.notebook-brief .brief-title .eyebrow {font-size:10px;margin:0 0 9px;color:#9aaad0}
.notebook-brief .brief-title h2 {font-size:25px;letter-spacing:-.7px;margin:0 0 5px;color:#edf0fa}
.notebook-brief .brief-title p {font-size:13px;color:#9eabc2;margin:0;max-width:600px}
.map-actions {display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.map-actions button {font-size:12px;padding:9px 13px;white-space:nowrap}
.map-review-status {font-size:11px;color:#b5c3d9;padding-right:8px;white-space:nowrap}
.notebook-source-map {display:grid;grid-template-columns:1.15fr repeat(3,minmax(0,1fr));gap:0;padding:22px 24px 20px}
.map-identity {min-width:0;display:flex;flex-direction:column;gap:8px;padding:11px 19px 11px 4px;border-right:1px solid #354052}
.map-kicker,.map-fact-label {font-size:10px;letter-spacing:.11em;color:#8fa4c6;font-weight:650;text-transform:uppercase}
.map-identity strong {font-size:19px;line-height:1.25;color:#f0f3fb;overflow-wrap:anywhere}
.map-identity small {font-size:12px;line-height:1.5;color:#aab8ce}
.notebook-source-map .source-summary {border:0;border-right:1px solid #354052;border-radius:0;background:transparent;padding:12px 17px;min-height:106px}
.notebook-source-map .source-summary:last-child {border-right:0}
.notebook-source-map .source-summary:hover {background:#252d3d;box-shadow:none}
.notebook-source-map .source-summary.unattached {opacity:.72;border-style:solid}
.notebook-source-map .source-mark {width:34px;height:34px;border-radius:10px;font-size:10px;flex-shrink:0}
.notebook-source-map .source-summary-info {gap:5px}
.notebook-source-map .source-summary-info strong {font-size:13px;color:#e7ecfa}
.notebook-source-map .source-resource {font-size:11px;line-height:1.45;color:#aec0de}
.notebook-source-map .source-check {font-size:10px;color:#8d9ab2}
.notebook-source-map .source-arrow {margin-left:auto}
.map-policy {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 24px 24px}
.map-empty {grid-column:1/-1;padding:19px 21px;border:1px dashed #475168;border-radius:11px;background:#1d2430}
.map-empty strong {font-size:14px;color:#dce4f5}
.map-empty p {font-size:12px;color:#9eabc2;margin:5px 0 0}
.map-missing-note {grid-column:1/-1;margin:2px 4px 0;font-size:11px;color:#9eabc2}
.map-fact {background:#202735;border:1px solid #354057;border-radius:11px;padding:15px 16px;min-height:90px;overflow-wrap:anywhere}
.map-fact:is(button) {display:block;width:100%;text-align:left;cursor:pointer}
.map-fact:is(button):hover {background:#293449;border-color:#687aa0}
.map-fact p {font-size:13px;line-height:1.55;color:#d2dbea;margin:8px 0 0}
.map-fact.map-unknown {background:#1a202a;border-style:dashed}
.map-fact.map-unknown p {color:#8998af}
.map-fact.map-gap {background:#28261f;border-color:#544936}
.map-fact.map-gap .map-fact-label {color:#d4b989}
.map-fact.map-gap p {color:#e0d3b8}
body:has(#notebook:not([hidden]) #editor-screen:not([hidden])) #editor-layout {display:grid;grid-template-columns:190px minmax(0,820px);gap:28px;justify-content:center}
body:has(#notebook:not([hidden]) #editor-screen:not([hidden])) .notebook-outline {top:32px}
body:has(#notebook:not([hidden]) #editor-screen:not([hidden])) #document-editor .notebook-prose {font-size:16px;line-height:1.75}
body:has(#notebook:not([hidden]) #editor-screen:not([hidden])) #document-editor .notebook-prose p {font-size:15px;line-height:1.75}
body:has(#notebook:not([hidden]) #editor-screen:not([hidden])) .copilot-toggle {display:block;position:fixed;right:28px;bottom:26px;z-index:19;padding:12px 18px;font-size:13px;box-shadow:0 12px 35px #0008}
body:has(.notebook-copilot.drawer-open)::after {content:"";position:fixed;inset:0;background:#05070bc9;backdrop-filter:blur(5px);z-index:20}
body:has(#notebook:not([hidden]) #editor-screen:not([hidden])) .notebook-copilot,
body:has(#notebook:not([hidden]) #editor-screen:not([hidden])) .notebook-copilot.drawer-open {
  display:none;position:fixed;inset:5vh max(16px,calc((100vw - 960px)/2));width:auto;height:90vh;max-height:none;
  z-index:21;border:1px solid #46536c;border-radius:18px;background:#171d28;box-shadow:0 30px 110px #000b;overflow:hidden;
}
body:has(#notebook:not([hidden]) #editor-screen:not([hidden])) .notebook-copilot.drawer-open {display:flex}
.notebook-copilot .assistant-header {padding:20px 25px;background:#1d2635;border-bottom:1px solid #39465c}
.notebook-copilot .assistant-header strong {font-size:17px;color:#e8eefb}
.notebook-copilot .assistant-header small {font-size:12px;color:#a3b2cc}
.notebook-copilot .pig-avatar {width:38px;height:38px;font-size:18px}
.notebook-copilot .copilot-close {display:block;margin-left:auto;padding:4px 11px;font-size:24px;background:transparent;border:0;color:#bbc9dc}
.notebook-copilot .copilot-shortcuts {padding:16px 28px 8px;gap:9px}
.notebook-copilot .copilot-shortcuts button {font-size:12px;padding:8px 12px}
.notebook-copilot .chat-feed {flex:1;max-height:none;min-height:0;overflow:auto;padding:12px max(26px,calc((100% - 740px)/2)) 25px}
.notebook-copilot .chat-message {font-size:14px;line-height:1.7;margin-bottom:14px}
.notebook-copilot .chat-message small {font-size:11px}
.notebook-copilot .chat-copy {max-height:none!important;overflow:visible!important}
.notebook-copilot .chat-copy p,.notebook-copilot .chat-copy li {font-size:14px;line-height:1.75}
.notebook-copilot #chat-form {padding:17px max(26px,calc((100% - 740px)/2)) 10px;background:#1b2330;border-top:1px solid #39465c}
.notebook-copilot #chat-message {font-size:14px;min-height:74px;max-height:180px}
.notebook-copilot .composer-bottom span {font-size:11px}
.notebook-copilot .copilot-boundary {font-size:11px!important;padding:0 28px 13px;text-align:center;background:#1b2330}
.service-map-dialog {width:min(900px,calc(100vw - 32px));max-height:90vh;overflow:auto}
.service-map-dialog>form>p {font-size:13px;max-width:690px}
.map-fields {display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;margin:20px 0}
.map-field label {margin:12px 0 5px;font-size:13px}
.map-field textarea {width:100%;min-height:78px;resize:vertical;font-size:13px;line-height:1.5}
.map-field small {display:block;font-size:11px;line-height:1.5;margin-top:4px;color:#8999b0}
.map-field:last-child {grid-column:1/-1}
.map-review-list {padding:15px 18px;margin:0;max-height:55vh;overflow:auto}
.map-review-list dt {font-size:11px;color:#9eafd0;text-transform:uppercase;letter-spacing:.08em;margin:13px 0 4px}
.map-review-list dd {margin:0;color:#d2dbeb;font-size:13px;line-height:1.5;white-space:pre-wrap}
@media(max-width:1150px){.notebook-source-map{grid-template-columns:repeat(2,minmax(0,1fr))}.map-identity,.notebook-source-map .source-summary{border:0;border-bottom:1px solid #354052}.map-policy{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.notebook-brief .brief-title{padding:20px;align-items:flex-start;flex-direction:column}.map-actions{justify-content:flex-start}.notebook-source-map{padding:12px 18px;grid-template-columns:1fr}.map-identity,.notebook-source-map .source-summary{min-height:auto;padding:13px 4px;border-bottom:1px solid #354052}.map-policy{grid-template-columns:1fr;padding:0 18px 18px}.map-fact{min-height:0}.map-fields{grid-template-columns:1fr}.map-field:last-child{grid-column:auto}body:has(#notebook:not([hidden]) #editor-screen:not([hidden])) #editor-layout{display:block}body:has(#notebook:not([hidden]) #editor-screen:not([hidden])) .notebook-copilot.drawer-open{inset:8px;height:calc(100vh - 16px)}.notebook-copilot .chat-feed{padding-inline:18px}.notebook-copilot #chat-form{padding-inline:18px}}
