/* La fenêtre appartient au travail ; la navigation tient dans un bandeau. */
.app-project [hidden]{display:none!important}
body:has(.app-project){overflow:hidden}
.app-project{height:100vh;height:100dvh;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.workbench-header{flex:none;display:grid;grid-template-columns:minmax(140px,1fr) auto minmax(180px,1fr);align-items:center;gap:12px;height:54px;padding:4px 12px;border-bottom:1px solid var(--line);background:var(--panel);z-index:8}
.workbench-context{display:flex;align-items:center;gap:9px;min-width:0}.workbench-context .brandmark{flex:none;width:28px;height:28px;font-size:1rem}
.workbench-project{min-width:0;display:flex;flex-direction:column;line-height:1.3}.workbench-project h1{margin:0;line-height:1.3;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workbench-project span{font-size:0.8571rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workbench-classification{font-size:0.7857rem;padding:2px 5px;flex:none}
.workbench-header .steps{position:static;padding:0;margin:0;gap:0;border:0;background:transparent;white-space:nowrap;min-width:0}
.workbench-header .steps button{min-height:44px;padding:8px 12px;font-size:1rem}.workbench-header .stepnum{margin-right:6px;font-size:0.7857rem}
.workbench-actions{display:flex;align-items:center;justify-content:end;gap:8px;min-width:0}.workbench-actions>button,.workbench-menu>summary{font-size:0.9286rem;padding:8px 10px;min-height:36px;line-height:1.4;white-space:nowrap}
.workbench-menu{position:relative}.workbench-menu>summary{display:flex;align-items:center;justify-content:center;gap:6px;list-style:none;border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--text);background:transparent}.workbench-menu>summary::-webkit-details-marker{display:none}.workbench-menu>summary:after{content:'⌄';font-size:0.8571rem;color:var(--muted)}.workbench-menu[open]>summary{background:var(--raised);border-color:var(--accent)}
.workbench-popover{position:absolute;right:0;top:calc(100% + 7px);width:280px;max-width:calc(100vw - 24px);max-height:min(75dvh,650px);overflow:auto;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);z-index:20;white-space:normal}
.workbench-popover>strong{display:block;overflow-wrap:anywhere}.workbench-popover>button{display:block;text-align:left;width:100%;margin:5px 0;min-height:40px;font-size:1rem}.workbench-popover hr{margin:12px 0}.workbench-popover p{margin:8px 0}
.workbench-popover .panel-controls{display:flex;flex-direction:column;align-items:stretch;border:0;padding:0;gap:6px}.workbench-popover .panel-controls>span{display:none}.workbench-popover .panel-controls button{text-align:left;min-height:40px;padding:8px 10px;margin:0;font-size:1rem}.workbench-popover .panel-reset{margin-left:0;margin-top:8px!important}
.app-project>.panel-frame{flex:1;min-height:0;height:auto;overflow:hidden;margin:0;padding:0;max-width:none}
.app-project .work-panel{min-height:0}.app-project .panel-body{flex:1;min-height:0}.app-project .panel-heading{height:36px;padding:3px 10px;gap:8px}.app-project .panel-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-project .panel-heading button{min-height:28px;padding:3px 7px;font-size:0.8571rem;white-space:nowrap}
.app-project .panel-body>.sheet,.app-project .panel-body>.center{padding:20px 24px}.app-project .panel-body>.docnav{padding:10px 10px 6px}.app-project .spec-nav-heading{padding:0 4px 6px}.app-project .spec-nav-heading h2{display:none}.app-project .spec-nav-heading p{margin:0;font-size:0.8571rem}.app-project .spec-nav-tools{padding-bottom:6px}.app-project .spec-nav-tools button{min-height:32px;padding:5px;font-size:0.8571rem}.app-project .spec-nav-footer{margin-top:6px;padding-top:5px}
.app-project>.analysis-status{flex:none;margin:0;padding:6px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--raised);z-index:6;font-size:0.9286rem}.app-project>.analysis-status strong{font-size:0.9286rem}.app-project>.analysis-status .actions{margin:0;gap:6px}.app-project>.analysis-status .actions button{font-size:0.8571rem;min-height:30px;padding:4px 8px}.activity-details{margin-left:auto}.activity-details>summary{padding:4px 8px;min-height:30px;font-size:0.8571rem}.activity-details .workbench-popover{width:350px}
@media(min-width:800px){
 .app-project>.panel-frame{flex-direction:row;align-items:stretch;gap:10px}.app-project .work-panel{border-bottom:0;border-right:1px solid var(--line)}.app-project .panel-body{height:auto}.app-project .panel-last{padding-right:10px}
 .app-project .panel-resizer{left:auto;right:-10px;top:0;bottom:0;width:10px;height:auto;cursor:col-resize}.app-project .panel-last>.panel-resizer{right:0}.app-project .panel-resizer:after{width:3px;height:44px}
}
@media(max-width:1099px){
 .workbench-header{grid-template-columns:minmax(140px,1fr) auto;height:88px;row-gap:0;padding:2px 10px}.workbench-context{grid-column:1;grid-row:1}.workbench-actions{grid-column:2;grid-row:1}.workbench-header .steps{grid-column:1/-1;grid-row:2;justify-self:center}
}
@media(max-width:799px){
 .app-project>.panel-frame{flex-direction:column;align-items:stretch;overflow:auto;gap:12px;overscroll-behavior:contain}.app-project .work-panel{flex:none}.app-project .panel-body{flex:none}.app-project .panel-heading{height:36px}
 .workbench-context .brandmark,.workbench-classification{display:none}.workbench-header{height:88px;padding:2px 8px;column-gap:6px}.workbench-project h1{font-size:0.9286rem}.workbench-project span{font-size:0.7857rem}.workbench-actions{gap:4px}.workbench-actions>button,.workbench-menu>summary{font-size:0.8571rem;padding:6px 7px}.project-menu>summary{font-size:0;width:32px;padding:6px}.project-menu>summary:before{content:'⋯';font-size:1.1429rem}.project-menu>summary:after{display:none}
 .workbench-header .steps button{padding:7px 13px;min-height:40px;font-size:1rem}.workbench-header .stepnum{margin-right:5px}.workbench-project{max-width:100%}
 .app-project .panel-body>.sheet,.app-project .panel-body>.center{padding:16px 18px}.app-project .panel-body>.docnav #spec-nav-panel:not([hidden]){padding-top:0}
}
@media(pointer:coarse){.workbench-menu>summary,.workbench-actions>button,.app-project .panel-heading button{min-height:40px}.app-project .panel-heading{height:44px}.workbench-header{min-height:54px}}

.documents-list{padding:18px 16px}.documents-list h2{font-size:1.1429rem;margin-top:0}.documents-list nav{margin-top:20px}.document-entry{padding:10px 0;border-bottom:1px solid var(--line)}.document-select{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;padding:10px}.document-select strong{font-weight:600}.document-select.active{background:var(--raised);border-color:var(--accent)}.document-entry>button:not(.document-select){margin:4px 0;font-size:0.9286rem}.documents-next{border-top:1px solid var(--line);margin-top:22px;padding-top:8px}.documents-next button{display:block;width:100%;margin:8px 0;text-align:left}.retired-documents{margin-top:18px}.retired-documents summary{cursor:pointer;padding:8px 0}.retired-documents p{font-size:1rem}
.document-reading{padding:20px 28px}.document-reading>.source-reader{position:static;padding:0;border:0;display:block;max-height:none}.document-reading .reader-scroll{max-height:none;overflow:visible}.document-reading .reader-text{max-width:75ch;line-height:1.7;margin:16px 0}.document-reading .reader-title h3{font-size:1.5rem}.document-reading .reader-head{justify-content:start;margin-bottom:16px}.document-reading .reader-head h2{display:none}.document-reading .reader-head button{display:none}.document-reading .reader-details{max-height:none;overflow:visible}.document-reading .reader-title{align-items:start;gap:12px}.document-task-actions{display:flex;justify-content:end;margin-bottom:16px}.document-answer{padding:20px}.document-answer h2{font-size:1.1429rem}.document-answer .answer-form{padding:0;position:static;max-height:none}.document-answer .question h2{font-size:1.1429rem}.document-answer .actions{flex-wrap:wrap}
@media(max-width:799px){.document-reading{padding:16px 18px}.document-reading .reader-title{flex-direction:column}.document-reading .reader-title h3{font-size:1.2857rem}.document-reading .reader-pagination{flex-wrap:wrap}.documents-list{padding:16px}}

.documents-list{display:flex;flex-direction:column;height:100%;min-height:0}.documents-list>h2{display:none}.documents-list>nav{flex:1;min-height:0;overflow:auto;margin-top:14px}.documents-next{flex:none;margin-top:12px}.retired-documents{flex:none;max-height:35%;overflow:auto}.panel-resizer[hidden]{display:none!important}

/* SW2-032 : suivi discret dans les réglages, sans bandeau de lecture. */
.ai-budget{padding:12px 16px;border:1px solid var(--line);border-radius:8px;margin:12px 0}.usage-values{display:flex;gap:32px;flex-wrap:wrap}.usage-values p{margin:4px 0}

/* SW2-039 : lecture centrale des cellules, densité du reste de l'atelier. */
.spreadsheet-reader{min-width:0;width:100%;font-size:.9286rem}
.spreadsheet-tools{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:0 0 8px}
.spreadsheet-tools>label{flex:1;min-width:160px}.spreadsheet-tools select{width:100%;margin:4px 0 0}
.spreadsheet-search{flex:1;min-width:180px;margin:0}.spreadsheet-search label{font-size:.8571rem}
.spreadsheet-search>div{display:flex;gap:6px;align-items:center}.spreadsheet-search input{min-width:0;margin:4px 0 0;flex:1}
.spreadsheet-reader button{min-height:32px;font-size:.8571rem;padding:4px 8px;margin:0}
.spreadsheet-pages{display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.8571rem;margin:8px 0}
.spreadsheet-pages>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.spreadsheet-grid{overflow-x:auto;max-width:100%;width:100%;margin:8px 0;overscroll-behavior-x:contain}
.spreadsheet-grid table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-variant-numeric:tabular-nums}
.spreadsheet-grid caption.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.spreadsheet-grid th,.spreadsheet-grid td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:0;vertical-align:top;min-width:140px;max-width:240px;width:180px;white-space:pre-wrap;overflow-wrap:anywhere}
.spreadsheet-grid th{padding:6px 10px;background:var(--raised);font-size:.8571rem;color:var(--muted);font-weight:600}
.spreadsheet-grid th:first-child{min-width:52px;width:52px;position:sticky;left:0;z-index:1}
.spreadsheet-grid td>button{display:block;width:100%;height:100%;border:0;border-radius:0;background:transparent;color:var(--text);padding:7px 10px;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;font-size:.9286rem;font-weight:400}
.spreadsheet-grid .numeric>button{text-align:right}.spreadsheet-grid td>button:hover{background:var(--raised)}
.spreadsheet-grid .selected-cell{outline:2px solid var(--accent);outline-offset:-2px}
.cell-formula{margin-left:8px;color:var(--muted);font-size:.8571rem}
.spreadsheet-cell-detail{border-top:1px solid var(--line);padding:10px 0;overflow-wrap:anywhere}.spreadsheet-cell-detail p{margin:6px 0}
.spreadsheet-reader .small{line-height:1.4}.spreadsheet-reader details{margin:6px 0}
@media(max-width:799px){.spreadsheet-tools{gap:8px}.spreadsheet-tools>label,.spreadsheet-search{flex-basis:100%}.spreadsheet-reader button{min-height:44px}.spreadsheet-grid td>button{min-height:36px}}

/* SW2-036 : listes compactes, menus au-dessus des panneaux. */
.document-entry,.topic-row{display:flex;align-items:center;gap:4px;position:relative;min-width:0}
.document-entry{padding:4px 0}.document-entry .document-select{flex:1;min-width:0;width:auto;padding:8px;gap:4px}
.document-select strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}
.document-metadata{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.8571rem;line-height:1.35;color:var(--muted);font-variant-numeric:tabular-nums}
.classification-label{font-weight:600;color:var(--text);border:1px solid var(--line);border-radius:3px;padding:0 3px}
.list-more,.document-entry>.list-more{flex:none;display:grid;place-items:center;width:28px;height:32px;min-height:32px;padding:0;margin:0;border-color:transparent;color:var(--muted);background:transparent}
.list-more:hover,.list-more:focus-visible{background:var(--raised);color:var(--text);border-color:var(--line)}
.topic-row .section-btn{flex:1;min-width:0;margin:0;padding:8px;min-height:48px}.topic-row .section-btn>span{display:block;overflow-wrap:anywhere}
.topic-row .topic-grip{flex:none;display:grid;place-items:center;width:14px;align-self:stretch;cursor:grab;color:var(--muted);touch-action:auto;user-select:none}
.topic-grip:active{cursor:grabbing}.topic-row.dragging{opacity:.5}.topic-row.drop-before:before,.topic-row.drop-after:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--accent);pointer-events:none}.topic-row.drop-before:before{top:0}.topic-row.drop-after:after{bottom:0}
.list-help{line-height:1.4;margin:10px 0}.section-links{display:grid;gap:4px}
.list-context-menu{position:fixed;z-index:1000;min-width:230px;width:max-content;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:6px;background:var(--panel);box-shadow:0 6px 24px #0005;border-radius:8px}
.list-menu-title{max-width:270px;padding:8px 10px;font-weight:600;font-size:.9286rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.list-context-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;min-height:36px;padding:8px 10px;margin:0;border-radius:4px;white-space:normal}
.list-context-menu button:hover:not(:disabled),.list-context-menu button:focus-visible{background:var(--raised)}
.list-context-menu button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.list-context-menu button:disabled{opacity:.5}
@media(pointer:coarse){.list-more,.document-entry>.list-more{width:44px;height:44px;min-height:44px}.list-context-menu button{min-height:44px}.topic-row .topic-grip{display:none}}
.choice .actions{flex-wrap:wrap;gap:6px}
.choice .actions button{font-size:0.9286rem;padding:5px 9px;min-height:32px}
.choice-history{font-size:0.8571rem;margin-top:10px}
.choice-history summary{color:var(--muted);cursor:pointer}
.choice-history ol{padding-left:18px;margin:8px 0 0}
.choice-history li{margin:8px 0;overflow-wrap:anywhere}
.choice-history li p{margin:3px 0}
@media(pointer:coarse),(max-width:720px){.choice .actions button{min-height:44px}}

.plan-edit label{display:block;margin:12px 0}.plan-edit input,.plan-edit textarea,.plan-edit select{display:block;width:100%;max-width:100%;margin-top:5px}.plan-edit textarea{min-height:100px;resize:vertical}.plan-edit input[data-order]{max-width:100px}.topic-context-links{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;margin:12px 0}#workspace-context-return{display:block;padding:8px 20px;border-bottom:1px solid var(--line);font-size:13px}
@media(max-width:600px){.workbench-header{gap:6px;padding:8px 10px}.workbench-context{min-width:0}.workbench-actions{flex-wrap:wrap}.design-navigation{padding:4px 8px;gap:6px}.workspace-steps{overflow-x:auto;flex-wrap:nowrap;max-width:100%;padding-bottom:4px}.workspace-steps button{white-space:nowrap;flex-shrink:0}.workbench-classification{display:none}.workbench-project .small{max-width:60vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.design-zones{display:flex}}

.plan-edit fieldset{border:0;padding:0;margin:0;min-width:0}

/* Compact shared navigation controls; keep larger targets on touch screens. */
.navigation-disclosure-tools{display:flex;gap:2px;margin-left:auto;flex-shrink:0}
.app-project .navigation-disclosure-tools button{display:grid;place-items:center;width:30px;min-height:30px;padding:5px;margin:0;flex:none;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--muted)}
.app-project .navigation-disclosure-tools button:hover{background:var(--raised);color:var(--text)}
.app-project .navigation-disclosure-tools button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.app-project .spec-nav-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.app-project .spec-nav-heading .navigation-disclosure-tools{order:2}
.app-project .topics-label{display:flex;align-items:center;gap:6px}
.app-project .topics-label .navigation-disclosure-tools{order:3}
@media(pointer:coarse){.app-project .navigation-disclosure-tools button{width:44px;min-height:44px}}
