:root{font-family:"Segoe UI",system-ui,sans-serif;color:#263b37;background:#f6f8f7;font-synthesis:none;--green:#166451;--line:#e1e8e4;--muted:#71817a}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;background:white;border:1px solid var(--line);border-radius:7px;color:inherit;padding:9px 13px}button:hover{background:#edf4f0;border-color:#b8cec3}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #76b69e;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}header{height:78px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 42px;gap:30px}.brand{display:flex;align-items:center;gap:10px;color:#203d33;text-decoration:none;font-size:23px;font-weight:700;letter-spacing:-.8px}.brand em{font-style:normal;font-weight:400;color:#8a9a91}.logo{background:var(--green);color:white;width:35px;height:35px;border-radius:9px;font-size:29px;line-height:31px;text-align:center;position:relative}.logo span{font-size:16px;position:absolute;right:2px;bottom:-5px}.workspace{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#89968e;border-left:1px solid var(--line);padding-left:30px}#connection{margin-left:auto;font-size:12px;color:var(--muted)}main{max-width:1600px;margin:auto;padding:40px 42px 24px}.eyebrow{font-size:10px;color:var(--green);letter-spacing:2px;font-weight:700;margin-bottom:9px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.project-name{border:0;background:none;padding:0;font-size:32px;font-weight:650;letter-spacing:-1px;text-align:left}.project-name span{font-size:18px;color:#9aaa9f;margin-left:8px}.heading p{font-size:14px;color:var(--muted);margin:10px 0 0}.primary{background:var(--green);color:white;border-color:var(--green);font-weight:600;padding:11px 17px}.primary:hover{background:#104d3e;color:white}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:30px 0}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:18px 21px;display:flex;justify-content:space-between;align-items:center}.stat small{font-size:12px;color:var(--muted)}.stat strong{display:block;font-size:27px;font-weight:600;margin-top:6px;letter-spacing:-1px}.stat .stat-icon{color:#48816b;background:#edf4f0;padding:10px;border-radius:9px}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.filters{display:flex;gap:3px;white-space:nowrap}.filters button{border:0;background:transparent;color:var(--muted);font-size:12px}.filters .active{background:#e3eee7;color:var(--green);font-weight:600}.filters span{margin-left:6px;font-size:10px;background:white;padding:2px 6px;border-radius:5px}.tools{display:flex;gap:7px;align-items:center}.tools button{font-size:11px}.tools input{font-size:12px;width:220px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:white}.board-head,.request-row{display:grid;grid-template-columns:30% 35% 35%}.board-head{background:#edf2ee;border:1px solid var(--line);border-radius:9px 9px 0 0;font-size:12px;font-weight:600}.board-head>div{padding:15px 20px}.number{color:#819589;font-size:10px;margin-right:9px}.request-row{background:white;border:1px solid var(--line);border-top:0}.request-row:last-child{border-radius:0 0 9px 9px}.cell{padding:23px 21px;min-width:0}.cell+.cell{border-left:1px solid var(--line)}.request-meta{display:flex;align-items:center;gap:9px;margin-bottom:12px;font-size:10px}.request-id{font-family:Consolas,monospace;color:#8c9b91}.badge{display:inline-block;padding:4px 7px;border-radius:4px;background:#f0f3f1;color:#748379;font-size:10px;font-weight:600}.badge.validated,.badge.passed{background:#e7f3eb;color:#317650}.badge.failed{background:#fbeae6;color:#ab4939}.badge.progress{background:#fff2db;color:#97712d}.request-title{display:flex;align-items:flex-start;gap:10px}.request-title h2{font-size:15px;font-weight:600;margin:0;line-height:1.5}.request-title input,.step input{accent-color:var(--green);width:17px;height:17px;flex-shrink:0;margin:3px 0 0;cursor:pointer}.description{font-size:12px;line-height:1.7;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0 27px}.row-actions{display:flex;gap:14px;margin:14px 0 0 27px}.link-button{border:0;background:none;padding:0;font-size:11px;color:var(--muted)}.danger{color:#a95d53}.mini-progress{display:flex;align-items:center;gap:9px;font-size:10px;color:var(--muted);margin-bottom:17px}.track{height:4px;background:#edf1ee;border-radius:4px;overflow:hidden;flex:1}.fill{height:100%;background:#4f9474}.step{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;margin-top:12px}.step.done span{text-decoration:line-through;color:#92a096}.test{display:block;text-align:left;width:100%;background:#fafcfb;border:1px solid #e6ece8;border-radius:7px;padding:10px 12px;margin-top:9px}.test-top{display:flex;align-items:center;gap:7px}.test-name{flex:1;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.type{font-size:9px;font-weight:600;color:#648474;background:#eaf0ec;padding:3px 5px;border-radius:3px;white-space:nowrap}.evidence{font-size:10px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0}.muted{font-size:12px;color:var(--muted);line-height:1.7}.empty{text-align:center;background:white;padding:55px 20px;border:1px solid var(--line);border-top:0;border-radius:0 0 9px 9px}.empty-icon{font-size:28px;color:var(--green)}.empty h2{font-size:20px;font-weight:600}.empty p{font-size:13px;color:var(--muted)}.empty button{margin:12px 5px 0}footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#8b9b90;margin-top:24px}.dot{margin:0 7px}dialog{border:1px solid var(--line);border-radius:14px;width:min(620px,calc(100% - 28px));padding:28px;box-shadow:0 20px 80px #173a2829;color:inherit}dialog::backdrop{background:#18362e66;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-heading h2,dialog h2{font-size:21px;margin:0 0 15px}.dialog-heading button{border:0;font-size:24px;padding:0 6px}label{display:block;font-size:12px;font-weight:600;margin:16px 0}label input,label textarea,label select{display:block;width:100%;border:1px solid #ccd9d1;border-radius:6px;padding:10px;margin-top:7px;background:white;color:inherit}textarea{resize:vertical;line-height:1.6}.hint{font-size:11px;color:var(--muted);font-weight:400;line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;padding:13px 20px;border-radius:9px;background:#203e32;color:white;box-shadow:0 5px 20px #0002;font-size:13px;z-index:10}.mobile-label{display:none}h2,span{overflow-wrap:anywhere}@media(min-width:1600px){main{padding-top:50px}}@media(max-width:1050px){header{padding:0 24px}main{padding:28px 24px}.toolbar{align-items:flex-start;flex-direction:column}.tools{width:100%}.tools input{flex:1}.cell{padding:18px 14px}.test-top{flex-wrap:wrap}.stat{padding:15px}.stat-icon{display:none}}@media(max-width:680px){header{height:65px;padding:0 18px;gap:12px}.brand{font-size:20px}.workspace{display:none}#connection{font-size:10px}main{padding:26px 16px}.heading{align-items:flex-start;flex-direction:column}.project-name{font-size:29px}.heading p{font-size:12px}.heading>.primary{width:100%;margin-top:5px}.stats{grid-template-columns:repeat(2,1fr);gap:9px;margin:23px 0}.stat{padding:14px}.stat strong{font-size:24px}.tools{flex-wrap:wrap}.tools input{flex-basis:100%;width:100%}.toolbar{gap:10px}.board-head{display:none}.request-row{display:block;border:1px solid var(--line);border-radius:10px!important;margin-bottom:16px;overflow:hidden}.cell{padding:18px}.cell+.cell{border-left:0;border-top:1px solid #edf1ee}.mobile-label{display:block;font-size:10px;letter-spacing:1px;font-weight:650;color:#72907e;margin-bottom:15px}.description{font-size:13px}.step,.test-name{font-size:13px}.empty{border-top:1px solid var(--line);border-radius:9px}footer{flex-direction:column;gap:6px}.dialog-actions button{font-size:12px}dialog{padding:22px}}
.tools{flex-wrap:wrap}.tools input{min-width:180px}.download-link{display:inline-block;text-decoration:none;border-radius:7px;font-size:13px}dialog h3{font-size:14px;margin-top:24px}dialog code{overflow-wrap:anywhere}.row-actions{flex-wrap:wrap}.launch-button{color:#166451;font-weight:650}#agentDialog{width:min(760px,calc(100% - 28px))}.agent-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.agent-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.agent-message{font-size:12px;line-height:1.7;color:#9c5334;white-space:pre-wrap}.agent-message:empty{display:none}.agent-output{background:#f3f6f4;border:1px solid #e0e8e2;border-radius:7px;padding:14px;font:12px/1.7 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:370px;overflow:auto}#agentControls>details{background:#f5f8f6;border:1px solid #e1e8e4;border-radius:8px;padding:13px}summary{cursor:pointer;font-size:12px;font-weight:600}.agent-run{display:block;text-align:left;font-size:11px;width:100%;margin:7px 0;line-height:1.6}#agentRunDetail{margin-top:20px}#agentDialog h4{font-size:12px;margin-bottom:8px}@media(max-width:680px){.agent-options{grid-template-columns:1fr;gap:0}.agent-output{font-size:11px}.agent-inline>button{font-size:11px}}.project-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.project-bar label{display:flex;align-items:center;gap:13px;letter-spacing:1.4px;font-size:10px;color:#71817a;margin:0}.project-bar select{margin:0;min-width:220px;max-width:380px;padding:9px 35px 9px 12px;letter-spacing:normal;font-size:13px;font-weight:600;border-color:#cdded4;color:#245440}.project-bar-actions{display:flex;gap:8px}.project-bar-actions button{font-size:12px}.project-entry{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.project-entry strong{font-size:14px;overflow-wrap:anywhere}.project-entry small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.project-entry-actions{display:flex;gap:7px}.project-entry-actions button{font-size:11px;white-space:nowrap}@media(max-width:680px){.project-bar{align-items:stretch;flex-direction:column;gap:12px}.project-bar label{display:block}.project-bar select{width:100%;max-width:none;margin-top:8px}.project-bar-actions button{flex:1;font-size:11px}.project-entry{align-items:flex-start;flex-direction:column;gap:12px}.project-entry-actions{width:100%}.project-entry-actions button{flex:1}}#agentConsole{margin:22px 0;padding-top:5px}.agent-messages{max-height:460px;min-height:80px;overflow:auto;background:#f2f6f3;border:1px solid #dbe6df;border-radius:9px;padding:14px}.agent-chat{background:white;border:1px solid #e0e7e2;border-radius:8px;padding:12px 14px;margin:0 0 12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}.agent-chat strong{display:block;font-size:10px;color:#6f8478;margin-bottom:8px}.agent-chat.user{background:#e5f1e9;border-color:#c7ddce;margin-left:35px}.agent-chat.assistant{margin-right:15px}.agent-chat.queued{border-style:dashed}.agent-chat div{white-space:pre-wrap}#agentMission{border:1px solid var(--line);border-radius:8px;padding:13px;margin:15px 0}#agentReplyForm>.agent-inline{justify-content:space-between;align-items:flex-end}#agentReplyForm label{flex:1}#agentReplyForm button{margin-bottom:16px}@media(max-width:680px){.agent-messages{max-height:420px;padding:9px}.agent-chat{padding:10px;font-size:12px}.agent-chat.user{margin-left:12px}.agent-chat.assistant{margin-right:4px}#agentReplyForm>.agent-inline{align-items:stretch;flex-direction:column}#agentReplyForm button{width:100%}}
.sources-details{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.65;white-space:normal}.sources-details>summary{list-style:none;display:flex;align-items:center;gap:7px;width:fit-content;padding:4px 0;color:#587765;font-size:11px;font-weight:600;cursor:pointer}.sources-details>summary::-webkit-details-marker{display:none}.sources-details>summary::before{content:'▸';font-size:12px}.sources-details[open]>summary::before{content:'▾'}.sources-details>summary:focus-visible{outline:3px solid #76b69e;outline-offset:3px;border-radius:3px}.sources-content{padding:10px 12px;margin-top:5px;background:#f3f6f4;border-left:2px solid #c5d8cb;border-radius:0 5px 5px 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#6c7e72}.cell>.sources-details{margin-left:27px}.test{padding:0;overflow:hidden}.test-open{display:block;text-align:left;width:100%;border:0;border-radius:6px;background:transparent;padding:10px 12px}.test>.sources-details{margin:0 12px 8px}.test>.sources-details>summary{font-size:10px}.source-main-text{white-space:pre-wrap;overflow-wrap:anywhere}.agent-chat .sources-details{margin-top:10px}.agent-chat .sources-content{font-family:inherit;font-size:11px}#testSources{margin:18px 0}#testSources>summary{font-size:12px}#testSources label{margin-top:10px}.agent-output .sources-content{font:11px/1.7 "Segoe UI",system-ui,sans-serif}

/* Thèmes : les couleurs natives des formulaires suivent aussi le choix. */
:root{color-scheme:light}
.theme-toggle{flex-shrink:0;font-size:12px;white-space:nowrap;padding:8px 11px}
:root[data-theme="dark"]{color-scheme:dark;color:#e0eae5;background:#101a17;--green:#80d2b1;--line:#34483e;--muted:#adbbb3}
[data-theme="dark"] button,[data-theme="dark"] header,[data-theme="dark"] .stat,[data-theme="dark"] .request-row,[data-theme="dark"] .empty,[data-theme="dark"] dialog,[data-theme="dark"] .agent-chat{background:#1a2923}
[data-theme="dark"] button:hover{background:#2a4035;border-color:#668e7a}
[data-theme="dark"] .brand,[data-theme="dark"] .project-bar select{color:#d1eade}
[data-theme="dark"] .brand em,[data-theme="dark"] .workspace,[data-theme="dark"] .project-name span,[data-theme="dark"] .number,[data-theme="dark"] .request-id,[data-theme="dark"] footer{color:#a2b5a9}
[data-theme="dark"] .logo{background:#166451;color:white}
[data-theme="dark"] .primary{background:#80d2b1;border-color:#80d2b1;color:#10291e}
[data-theme="dark"] .primary:hover{background:#a3e4c7;border-color:#a3e4c7;color:#10291e}
[data-theme="dark"] .project-name,[data-theme="dark"] .link-button,[data-theme="dark"] .dialog-heading button,[data-theme="dark"] .filters button,[data-theme="dark"] .test-open{background:transparent}
[data-theme="dark"] .link-button:hover,[data-theme="dark"] .project-name:hover,[data-theme="dark"] .test-open:hover{background:#263c31}
[data-theme="dark"] .tools input,[data-theme="dark"] label input,[data-theme="dark"] label textarea,[data-theme="dark"] label select{background:#13211b;color:#e0eae5;border-color:#486050}
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:#99aa9f;opacity:1}
[data-theme="dark"] .project-bar label{color:var(--muted)}
[data-theme="dark"] .board-head,[data-theme="dark"] .stat .stat-icon,[data-theme="dark"] .filters .active{background:#263c31;color:#a3e4c7}
[data-theme="dark"] .filters span{background:#15271e;color:#d1eade}
[data-theme="dark"] .badge{background:#2c3b32;color:#c0cfc4}
[data-theme="dark"] .badge.validated,[data-theme="dark"] .badge.passed{background:#214333;color:#a4e5ba}
[data-theme="dark"] .badge.failed{background:#4b2928;color:#ffb5a8}
[data-theme="dark"] .badge.progress{background:#443b24;color:#f1d08b}
[data-theme="dark"] .track{background:#304337}
[data-theme="dark"] .fill{background:#80d2b1}
[data-theme="dark"] .step.done span{color:#a0b0a5}
[data-theme="dark"] .test{background:#16241d;border-color:#34483e}
[data-theme="dark"] .type{background:#293e31;color:#b1d3bd}
[data-theme="dark"] .danger{color:#ffb5a8}
[data-theme="dark"] .launch-button{color:#a3e4c7}
[data-theme="dark"] .agent-message{color:#f1bc96}
[data-theme="dark"] .agent-output,[data-theme="dark"] #agentControls>details,[data-theme="dark"] .agent-messages{background:#122019;border-color:#34483e}
[data-theme="dark"] .agent-chat{border-color:#3a4f41}
[data-theme="dark"] .agent-chat.user{background:#213e2e;border-color:#466d53}
[data-theme="dark"] .agent-chat strong,[data-theme="dark"] .mobile-label,[data-theme="dark"] .sources-details>summary{color:#a6c8b3}
[data-theme="dark"] .sources-content{background:#122019;border-color:#527d62;color:#bdccc1}
[data-theme="dark"] .cell+.cell{border-color:var(--line)}
[data-theme="dark"] dialog{box-shadow:0 20px 80px #0008}
[data-theme="dark"] dialog::backdrop{background:#020b07a6}
[data-theme="dark"] a:not(.brand):not(.primary){color:#99d9bd}
@media(max-width:680px){header{flex-wrap:wrap;height:auto;min-height:65px;padding-top:12px;padding-bottom:12px;gap:10px}.theme-toggle{font-size:11px;padding:7px 9px}#connection{max-width:115px;text-align:right}}
@media(max-width:680px){.theme-toggle{margin-left:auto}#connection{order:3;flex-basis:100%;max-width:none;margin-left:0}}
/* Les étiquettes précèdent le texte, y compris en trois colonnes sur écran déplié. */
.test-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 8px}
.test-top>.type{grid-column:1;grid-row:1;justify-self:start}
.test-top>.badge{grid-column:2;grid-row:1;justify-self:end;white-space:nowrap}
.test-top>.test-name{grid-column:1 / -1;grid-row:2;min-width:0;width:100%}

/* Un glissement natif entre les trois parties de chaque demande sur téléphone. */
.request-panels{display:contents}
.swipe-heading{display:none}
@media(max-width:680px){
 .swipe-heading{display:block;padding:15px 18px;border-bottom:1px solid var(--line)}
 .swipe-heading>strong{display:block;font-size:13px;line-height:1.5}
 .swipe-heading>div{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font-size:10px;color:var(--muted)}
 .swipe-position{color:var(--green);font-weight:600}
 .request-panels{display:flex;align-items:stretch;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--muted) transparent}
 .request-panels:focus-visible{outline:3px solid #76b69e;outline-offset:-3px}
 .request-panels>.cell{flex:0 0 100%;width:100%;min-width:0;max-height:70vh;max-height:70dvh;overflow-y:auto;scroll-snap-align:start;scroll-snap-stop:always;border:0}
}

/* Palettes communes aux modes clair et sombre. Les statuts conservent leur sens. */
:root{--hue:160}
:root[data-palette="blue"]{--hue:212}
:root[data-palette="purple"]{--hue:277}
:root[data-palette="amber"]{--hue:37}
:root[data-palette]{--green:hsl(var(--hue) 65% 28%);--theme-accent-hover:hsl(var(--hue) 65% 23%);--theme-bg:hsl(var(--hue) 18% 97%);--theme-surface:#fff;--theme-inset:hsl(var(--hue) 25% 95%);--theme-tint:hsl(var(--hue) 30% 91%);--theme-ink:hsl(var(--hue) 22% 19%);--theme-on-accent:#fff;--muted:hsl(var(--hue) 10% 43%);--line:hsl(var(--hue) 15% 87%);--theme-border:hsl(var(--hue) 20% 65%);--theme-focus:hsl(var(--hue) 40% 55%);background:var(--theme-bg);color:var(--theme-ink)}
:root[data-palette][data-theme="dark"]{--green:hsl(var(--hue) 55% 68%);--theme-accent-hover:hsl(var(--hue) 60% 78%);--theme-bg:#000;--theme-surface:#141414;--theme-inset:#0b0b0b;--theme-tint:#242424;--theme-ink:#e6e6e6;--theme-on-accent:hsl(var(--hue) 40% 10%);--muted:#b5b5b5;--line:#3f3f3f;--theme-border:#686868;--theme-focus:hsl(var(--hue) 50% 65%)}
:root[data-palette] button,:root[data-palette] header,:root[data-palette] .stat,:root[data-palette] .request-row,:root[data-palette] .empty,:root[data-palette] dialog,:root[data-palette] .agent-chat{background:var(--theme-surface)}
:root[data-palette] button:hover{background:var(--theme-tint);border-color:var(--theme-border)}
:root[data-palette] .brand,:root[data-palette] .project-bar select{color:var(--theme-ink)}
:root[data-palette] .brand em,:root[data-palette] .workspace,:root[data-palette] .project-name span,:root[data-palette] .number,:root[data-palette] .request-id,:root[data-palette] footer,:root[data-palette] .project-bar label,:root[data-palette] .step.done span{color:var(--muted)}
:root[data-palette] .logo,:root[data-palette] .primary{background:var(--green);border-color:var(--green);color:var(--theme-on-accent)}
:root[data-palette] .primary:hover{background:var(--theme-accent-hover);border-color:var(--theme-accent-hover);color:var(--theme-on-accent)}
:root[data-palette] .project-name,:root[data-palette] .link-button,:root[data-palette] .dialog-heading button,:root[data-palette] .filters button,:root[data-palette] .test-open{background:transparent}
:root[data-palette] .link-button:hover,:root[data-palette] .project-name:hover,:root[data-palette] .test-open:hover{background:var(--theme-tint)}
:root[data-palette] .tools input,:root[data-palette] label input,:root[data-palette] label textarea,:root[data-palette] label select{background:var(--theme-inset);color:var(--theme-ink);border-color:var(--theme-border)}
:root[data-palette] input::placeholder,:root[data-palette] textarea::placeholder{color:var(--muted)}
:root[data-palette] .board-head,:root[data-palette] .stat .stat-icon,:root[data-palette] .filters .active,:root[data-palette] .type,:root[data-palette] .agent-chat.user{background:var(--theme-tint);color:var(--green);border-color:var(--theme-border)}
:root[data-palette] .filters span{background:var(--theme-surface);color:var(--theme-ink)}
:root[data-palette] .track{background:var(--line)}
:root[data-palette] .fill{background:var(--green)}
:root[data-palette] .test,:root[data-palette] .agent-output,:root[data-palette] #agentControls>details,:root[data-palette] .agent-messages{background:var(--theme-inset);border-color:var(--line)}
:root[data-palette] .agent-chat{border-color:var(--line)}
:root[data-palette] .launch-button,:root[data-palette] .agent-chat strong,:root[data-palette] .mobile-label,:root[data-palette] .sources-details>summary,:root[data-palette] a:not(.brand):not(.primary){color:var(--green)}
:root[data-palette] .sources-content{background:var(--theme-inset);border-color:var(--theme-border);color:var(--muted)}
:root[data-palette] .cell+.cell{border-color:var(--line)}
:root[data-palette] :is(button,a,input,textarea,select,summary,.request-panels):focus-visible{outline-color:var(--theme-focus)}
.palette-control{display:flex;align-items:center;gap:7px;margin:0;font-size:11px;color:var(--muted);white-space:nowrap}
.palette-control select{width:auto;margin:0;padding:8px 26px 8px 10px;font-size:12px;border:1px solid var(--line);border-radius:7px}
header{gap:18px}
@media(max-width:1050px){.palette-control>span{display:none}.workspace{display:none}}
@media(max-width:680px){header{gap:10px}.palette-control{order:2;margin-left:auto}.palette-control select{max-width:132px;font-size:11px}.theme-toggle{order:2;margin-left:0}#connection{order:3}}

.appearance-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
@media(max-width:680px){.appearance-controls{order:2;flex-basis:100%;justify-content:flex-end}#connection{order:0;flex-basis:auto;max-width:115px;margin-left:auto}}

/* Le fond noir reste le choix initial ; la teinte est une préférence explicite. */
:root[data-palette][data-theme="dark"][data-dark-background="tinted"]{--theme-bg:hsl(var(--hue) 20% 8%);--theme-surface:hsl(var(--hue) 18% 13%);--theme-inset:hsl(var(--hue) 20% 10%);--theme-tint:hsl(var(--hue) 24% 20%);--theme-ink:hsl(var(--hue) 18% 90%);--muted:hsl(var(--hue) 10% 71%);--line:hsl(var(--hue) 15% 27%);--theme-border:hsl(var(--hue) 22% 43%)}
.tint-control{display:flex;align-items:center;gap:6px;margin:0;white-space:nowrap;font-size:11px;font-weight:400;color:var(--muted);cursor:pointer}
.tint-control[hidden]{display:none}
:root[data-palette] .tint-control input{display:inline-block;width:15px;height:15px;margin:0;padding:0;accent-color:var(--green);cursor:pointer}
@media(max-width:680px){.appearance-controls{flex-wrap:wrap;gap:8px}.tint-control{order:2;font-size:10px}.palette-control select{max-width:125px}}

.step-sync{display:block;font-size:10px;font-weight:400;color:var(--muted);text-decoration:none;margin-top:4px}.step input:disabled{cursor:default;opacity:1}

.request-title input:disabled{cursor:default;opacity:1}

.request-meta{flex-wrap:wrap}
:root[data-palette] .agent-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border:1px solid var(--theme-border);border-radius:5px;background:var(--theme-tint);color:var(--green);font-size:10px;font-weight:600;white-space:nowrap}
.agent-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:currentColor}
.agent-indicator.active .agent-dot{animation:agent-pulse 1.5s ease-in-out infinite}
.agent-indicator.waiting .agent-dot{border-radius:2px}
.swipe-heading>.agent-indicator{margin-top:9px}
@keyframes agent-pulse{50%{opacity:.35;transform:scale(.8)}}
@media(prefers-reduced-motion:reduce){.agent-indicator.active .agent-dot{animation:none}}

.step-sync{display:inline-block;width:100%;text-decoration:none}


.agent-status-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 42px;background:var(--theme-surface);color:var(--muted);border-bottom:1px solid var(--line);font-size:12px;box-shadow:0 2px 8px #0002}
.agent-status-bar.needs-reply{background:#fff1d6;color:#70420b;border-color:#d69b3b}
.agent-status-bar button{font-size:12px;padding:5px 10px;flex-shrink:0}
:root[data-theme="dark"] .agent-status-bar.needs-reply{background:#38280c;color:#ffcf7d;border-color:#936a28}
.agent-attention-item{display:flex;flex-direction:column;gap:8px;text-align:left;width:100%;margin:10px 0;padding:14px;line-height:1.5}
.agent-attention-item strong{font-size:12px;color:var(--green)}
.agent-attention-item span{font-size:13px;overflow-wrap:anywhere}
.agent-attention-item small{font-size:11px;color:var(--muted)}
#agentAttentionDialog{max-height:85dvh;overflow:auto}
.filters{flex-wrap:wrap}
@media(max-width:680px){.agent-status-bar{padding:8px 16px;gap:8px;font-size:11px}.agent-status-bar button{font-size:11px;max-width:145px}.filters button{padding:8px 9px}}

.agent-status-bar.has-reports:not(.needs-reply){color:var(--green);border-bottom-color:var(--green)}
.agent-attention-item.report-unread{border-left:4px solid var(--green)}
#agentAttentionList>h3{margin-top:22px}

.login-page{max-width:480px;margin:8vh auto;padding:32px;background:var(--theme-surface,white);border:1px solid var(--line);border-radius:16px}.login-page h1{font-size:27px;line-height:1.3;margin-top:30px}.login-page p{line-height:1.7;font-size:14px}.login-page .primary{width:100%}#loginError{color:#a4422e;white-space:pre-wrap}.session-bar{display:flex;justify-content:flex-end;gap:16px;align-items:center;padding:10px 42px;font-size:12px}.session-bar[hidden]{display:none}.install-button{margin:12px 42px}.install-button[hidden]{display:none}@media(max-width:680px){.login-page{margin:24px 16px;padding:24px}.session-bar{padding:10px 16px;flex-wrap:wrap}.install-button{margin:12px 16px}}

.account-entry{display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px 0;border-bottom:1px solid var(--line)}.account-entry strong,.account-entry small{grid-column:1/-1;overflow-wrap:anywhere}.account-entry small{color:var(--muted)}.account-entry select{max-width:100%;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--theme-surface,white);color:inherit}.signup-panel{margin-top:24px}[data-account-role="viewer"] #newRequest,[data-account-role="viewer"] #newProject,[data-account-role="viewer"] [data-action="edit"],[data-account-role="viewer"] [data-action="delete"],[data-account-role="viewer"] #agentLaunchForm,[data-account-role="viewer"] #agentReplyForm,[data-account-role="viewer"] #agentStop{display:none}[data-account-role="viewer"] .step input{pointer-events:none;opacity:.5}

/* Garder tous les filtres lisibles avant les outils, sur PC et mobile. */
.toolbar{flex-wrap:wrap}.filters{flex-basis:100%}

#pcsList label{min-width:0}#pcsList input{width:100%;min-width:0}@media(max-width:680px){#pcsList .account-entry{grid-template-columns:1fr}#pcsList .account-entry button{width:100%}}

#pairingPanel{margin:20px 0;padding:14px;border:1px solid var(--line);border-radius:9px}#pairingPanel>summary{cursor:pointer;font-weight:600}#pairingPanel fieldset{margin:16px 0;border:1px solid var(--line);border-radius:7px}#pairingPanel input[type=text],#pairingName,#pairingLimit{width:100%;min-width:0}.pairing-project{display:flex;gap:10px;align-items:center;margin:10px 0!important}.pairing-project input{width:auto}.pairing-actions,.pairing-entry{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pairing-entry{justify-content:space-between;margin:10px 0}#pairingCode{display:block;font:600 19px/1.6 Consolas,monospace;letter-spacing:1px;overflow-wrap:anywhere;user-select:all}#pairingResult[hidden]{display:none}@media(max-width:680px){.pairing-actions>*{width:100%;text-align:center}#pairingCode{font-size:16px;letter-spacing:0}}
