.dossier-entry {margin:20px 0;padding:22px 24px;border:1px solid #ded9d5;border-radius:14px;background:#F7F3EB}
.dossier-entry h3 {margin:0 0 8px;font-size:20px;font-weight:500}
.dossier-entry .form-actions {display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.dossier-entry .fine {margin:0;max-width:65ch}
.narrative-dialog {width:min(900px,calc(100% - 32px));max-height:90vh;max-height:90dvh;padding:0;border:1px solid #ddd8d4;border-radius:18px;overflow:auto;color:#242D2A;background:#F7F3EB}
.narrative-dialog::backdrop {background:rgba(32,27,27,.42)}
.narrative-dialog * {box-sizing:border-box}
.narrative-dialog .narrative-head {display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;top:0;z-index:1;padding:22px 28px;background:#F7F3EB;border-bottom:1px solid #e8e4e1}
.narrative-head h2 {font-size:25px;font-weight:500;line-height:1.3;margin:4px 0;overflow-wrap:anywhere}
.narrative-head small {font-size:10px;color:#242D2A;letter-spacing:.12em}
.narrative-x {flex:none;display:grid;place-items:center;min-width:44px;width:44px;min-height:44px;height:44px;padding:10px;border:1px solid #ddd8d4;border-radius:9px;background:#F7F3EB;color:#242D2A}
.narrative-x svg {width:20px;height:20px}
.narrative-dialog :is(button,input,select,textarea):focus-visible {outline:3px solid #245b82;outline-offset:3px}
#narrativeContent {padding:24px 28px}
.narrative-dialog p,.narrative-dialog li {font-size:14px;line-height:1.6}
.narrative-dialog h3 {font-size:17px;font-weight:600}
.narrative-intro {margin:0 0 18px;max-width:70ch}
.narrative-hints {display:flex;flex-wrap:wrap;gap:8px 18px;font-size:11px;color:#242D2A;margin-bottom:15px}
.narrative-dialog label,.narrative-dialog #narrativePromptBox>label {display:block;font-size:12px;line-height:1.5;color:#242D2A}
.narrative-dialog input,.narrative-dialog select,.narrative-dialog textarea {font:inherit;font-size:16px;background:#F7F3EB;color:#242D2A;border:1px solid #cdc7c2;border-radius:7px;padding:11px;min-width:0;width:100%;margin-top:6px}
.narrative-dialog textarea {resize:vertical;line-height:1.6;display:block}
.narrative-dialog input,.narrative-dialog select {min-height:44px}
.narrative-dialog input[type=checkbox] {width:20px;min-height:20px;height:20px;margin:0;accent-color:#244B4A;flex:none}
.narrative-muted {color:#242D2A;font-size:12px!important}
.narrative-dialog details {margin:14px 0}
.narrative-dialog summary {font-size:13px;min-height:44px;display:flex;align-items:center;cursor:pointer;gap:9px}
.narrative-dialog summary::before {content:'+';color:#244B4A;font-size:18px}
.narrative-dialog details[open]>summary::before {content:'−'}
.narrative-settings,.narrative-external,.narrative-context {border-top:1px solid #e8e4e1;padding-top:6px}
.narrative-external>label {margin-top:18px}
.narrative-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.narrative-actions {display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:24px 0 10px}
.narrative-dialog button {min-height:44px;line-height:1.4;white-space:normal}
.narrative-dialog button:not(.narrative-x) {font-size:13px;padding:11px 17px}
.narrative-review-name {max-width:420px;margin:20px 0}
.narrative-questions {border-left:3px solid #244B4A;padding:0 0 0 18px;margin:24px 0}
.narrative-questions ul {padding-left:18px}
.narrative-questions button {margin-top:10px}
.narrative-ai-notice {padding:12px 15px;background:#F1EADD;border-left:2px solid #244B4A;border-radius:0 7px 7px 0;color:#242D2A;font-size:12px!important;line-height:1.6}
.narrative-coverage {display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.narrative-coverage>span {flex:1 1 145px;min-width:0;max-width:100%;padding:9px 12px;border-radius:7px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.narrative-coverage .known {color:#286341;background:#edf4ee}
.narrative-coverage .pending {color:#65573f;background:#f6f3ed}
.narrative-chat-questions {display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:22px 0}
.narrative-chat-question {min-width:0;max-width:100%;border:1px solid #e2dedb;border-radius:12px;padding:18px;background:#fcfbfa}
.narrative-dialog .narrative-chat-question>label {display:flex;align-items:flex-start;gap:10px;color:#242D2A;font-size:14px;line-height:1.6}
.narrative-chat-question label>strong {flex:1 1 0;min-width:0;max-width:100%;font-weight:500;overflow-wrap:anywhere;word-break:normal;white-space:normal}
.narrative-question-number {display:grid;place-items:center;flex:0 0 24px;min-width:24px;height:24px;border-radius:50%;font-size:11px;color:#8c2931;background:#f5e9e8;margin-top:1px}
.narrative-chat-question :is(p,textarea) {min-width:0;max-width:100%;overflow-wrap:anywhere}
.narrative-chat-question textarea {background:#F7F3EB}
.narrative-chat-question>button {margin-top:5px}
.narrative-history {border-top:1px solid #e8e4e1;margin-top:24px!important;padding-top:7px}
.narrative-answer {min-width:0;padding:9px 0;border-bottom:1px solid #ece8e5;overflow-wrap:anywhere}
.narrative-answer>p {color:#242D2A;font-size:12px!important;margin-bottom:4px}
.narrative-summary {border-left:2px solid #244B4A;padding-left:15px;overflow-wrap:anywhere}
.narrative-household,.narrative-continuity {font-size:12px!important;color:#242D2A;overflow-wrap:anywhere}
.narrative-continuity {background:#edf4ee;color:#286341;border-radius:6px;padding:9px 12px}
.narrative-working {font-size:13px!important;color:#8c2931;margin:20px 0 5px}
#narrativeWorking:empty {display:none}
.narrative-item {border:1px solid #e2dedb;border-radius:12px;padding:20px;margin-bottom:16px;overflow-wrap:anywhere}
.narrative-item.selected {border-color:#b9ada8;background:#fcfbfa}
.narrative-dialog .narrative-pick {display:flex;gap:12px;align-items:center;color:#242D2A;margin-bottom:18px}
.narrative-pick strong {font-size:16px;display:block}
.narrative-pick small {display:block;color:#242D2A;font-size:11px;margin-top:3px}
.narrative-dialog .narrative-check {display:flex;align-items:flex-start;gap:12px;margin:20px 0;line-height:1.6;font-size:13px}
.narrative-check input {margin-top:2px!important}
.narrative-callout {background:#f6f3ed;padding:14px 16px;border-radius:8px;font-size:12px!important;color:#242D2A}
.narrative-dialog blockquote {white-space:pre-wrap;margin:8px 0;padding:14px;border-left:2px solid #ddd8d4;background:#f9f8f7;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.narrative-transition {padding:18px;border:1px solid #e2dedb;border-radius:12px;margin:20px 0}
.narrative-preview:not(:empty) {border:1px solid #ddd8d4;border-radius:10px;padding:16px;margin:16px 0;background:#F7F3EB}
.narrative-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.narrative-metrics span {font-size:11px;color:#242D2A}
.narrative-metrics strong {display:block;font-size:19px;font-weight:500;color:#242D2A;margin-top:4px;overflow-wrap:anywhere}
#narrativeStatus {font-size:13px;padding:0 28px 22px;margin:0;color:#286341}
#narrativeStatus:empty {padding-bottom:0}
#narrativeStatus.error {color:#a8323b}
.narrative-choice {max-width:620px}
.narrative-choice-content {padding:24px 28px}
.narrative-choice-content>p {margin-top:0}
.narrative-choice-content>button {width:100%;display:flex;align-items:center;gap:16px;text-align:left;border:1px solid #d8d1cc;border-radius:10px;background:#F7F3EB;margin:14px 0;color:#242D2A}
.narrative-choice-content>button strong {display:block;font-size:17px;font-weight:500}
.narrative-choice-content>button small {display:block;margin-top:7px;font-size:13px;color:#242D2A;line-height:1.5}
.narrative-choice-content>button:hover {border-color:#244B4A}
.dossier-mode-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.dossier-mode-grid>button {display:flex;align-items:center;gap:12px;text-align:left;white-space:normal;padding:15px;min-width:0;min-height:74px;background:#F7F3EB}
.dossier-mode-grid>button>.ux-icon,.dossier-mode-icon {flex:none;color:#244B4A;width:28px;height:28px;display:grid;place-items:center}
.dossier-mode-icon .ux-icon {width:28px;height:28px;margin:0}
.dossier-mode-copy {display:block;flex:1 1 0;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
:root .dossier-mode-grid>button {white-space:normal;overflow-wrap:anywhere}
.dossier-mode-copy strong {display:block;font-size:14px;font-weight:600;line-height:1.4}
.dossier-mode-copy small {display:block;font-size:12px;line-height:1.5;color:#242D2A;margin-top:4px}
.dossier-entry .form-actions {margin-top:10px}
.template-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.narrative-dialog .template-profile {display:flex;align-items:center;gap:16px;min-width:0;text-align:left;border:1px solid #d8d1cc;border-radius:12px;background:#F7F3EB;color:#242D2A;padding:18px}
.template-profile strong {display:block;font-size:15px;line-height:1.4}
.template-profile small {display:block;font-size:12px;color:#242D2A;line-height:1.5;margin-top:6px}
.template-profile:hover {border-color:#244B4A;background:#F7F3EB}
.template-back {margin:0 0 16px;padding-left:0!important}
#templateContent {padding:24px 28px}
#templateStatus {font-size:13px;padding:0 28px 22px;margin:0;color:#286341}
#templateStatus:empty {padding-bottom:0}
#templateStatus.error {color:#a8323b}
.template-summary {margin-top:24px}
.template-budget {padding:4px 0}
.template-budget ul {list-style:none;margin:0;padding:0}
.template-budget li {display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #ece8e5;align-items:baseline}
.template-budget li span {min-width:0}
.template-budget li strong {flex:none;text-align:right;font-weight:500;font-size:13px}
.template-references a {color:#8c2931;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.flow-template {border:1px solid #d8c8b1;background:#faf6ed;border-radius:10px;padding:16px 20px;margin:18px 0;font-size:13px;line-height:1.6}
.flow-template p {margin:7px 0}
.flow-template summary {cursor:pointer;min-height:44px;display:flex;align-items:center}
.flow-template a {color:#8c2931;overflow-wrap:anywhere}
.flow-origin {display:flex;align-items:center;gap:8px;font-size:12px;color:#242D2A}
.flow-origin .ux-icon {width:18px;height:18px;flex:none}
@media(max-width:780px) {.dossier-mode-grid {grid-template-columns:minmax(0,1fr);gap:8px}.dossier-mode-grid>button {min-height:64px}}
@media(max-width:600px) {
 .dossier-entry {padding:18px}
 .narrative-dialog {width:calc(100% - 20px);max-height:94vh;max-height:94dvh;border-radius:14px}
 .narrative-dialog .narrative-head {padding:16px 18px;gap:12px}
 .narrative-head h2 {font-size:21px}
 #narrativeContent,#templateContent,.narrative-choice-content {padding:20px 18px}
 .narrative-fields {grid-template-columns:minmax(0,1fr)}
 .narrative-item {padding:16px}
 .narrative-chat-question {padding:15px}
 .narrative-coverage>span {flex-basis:100%}
 .narrative-actions {align-items:stretch}
 .narrative-actions button {flex:1 1 100%}
 .narrative-metrics {grid-template-columns:minmax(0,1fr);gap:12px}
 .narrative-metrics span {display:flex;align-items:center;justify-content:space-between;gap:12px}
 .narrative-metrics strong {margin:0;font-size:17px}
 #narrativeStatus {padding:0 18px 20px}
 #templateStatus {padding:0 18px 20px}
 .template-grid {grid-template-columns:minmax(0,1fr)}
 .template-budget li {gap:12px;flex-wrap:wrap}
 .template-budget li strong {margin-left:auto}
 .flow-template {padding:14px 16px}
}
