:root{font-family:system-ui,Segoe UI,sans-serif;color:#1c3140;background:#ecf2f5}*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(135deg,#eaf2f5 0%,#f3f7f7 54%,#e9f0f3 100%)}
header{background:rgba(23,61,83,.96);color:white;padding:12px max(16px,calc((100vw - 950px)/2));display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.36)}
main{max-width:950px;margin:16px auto;padding:0 16px}.card{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(243,249,251,.88));border:1px solid #cbdce4;box-shadow:0 6px 20px rgba(23,61,83,.07),inset 0 1px rgba(255,255,255,.9);border-radius:14px;padding:16px;margin:0 0 12px;backdrop-filter:blur(8px)}
h1{font-size:22px;margin:0 0 12px}h2{font-size:18px;margin:0 0 8px}p{line-height:1.45;margin:8px 0 15px}
label{display:block;font-weight:600;margin:10px 0 4px}input,select{display:block;width:100%;max-width:440px;padding:8px;font:inherit;color:#1c3140;background:rgba(255,255,255,.96);border:1px solid #8c9ca5;border-radius:8px;margin-top:4px}
button{border:0;border-radius:8px;background:#17627c;color:white;padding:8px 12px;font:inherit;cursor:pointer;margin:6px 8px 4px 0;box-shadow:0 2px 6px rgba(23,61,83,.12)}button:hover{filter:brightness(1.08)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #17627c;outline-offset:2px}
button.secondary{background:#e5edf1;color:#173d53}button:disabled{opacity:.55;cursor:wait}.actions{display:flex;flex-wrap:wrap}
#notice:not(:empty){background:#f8edc7;padding:10px;border-radius:8px}#dossiers{display:flex;gap:8px;overflow-x:auto;margin-bottom:12px}
.row{padding:8px 0;border-bottom:1px solid #dfe5e9}.muted{color:#526473;font-size:14px}[hidden]{display:none!important}
.download{display:inline-block;margin:4px 12px 4px 0;color:#17627c}
.chat-messages{max-height:340px;overflow:auto;border:1px solid #cbdce4;border-radius:8px;padding:8px;background:#fff}
.chat-messages .row{white-space:pre-wrap;overflow-wrap:anywhere}
textarea{display:block;width:100%;padding:8px;font:inherit;color:#1c3140;background:#fff;border:1px solid #8c9ca5;border-radius:8px;margin-top:4px;resize:vertical}
@media(prefers-reduced-transparency:reduce){.card{background:#fff;backdrop-filter:none}}

header{flex-wrap:wrap;gap:8px}header nav{display:flex;gap:16px;flex-wrap:wrap}header nav a{color:#fff;text-decoration:underline;text-underline-offset:3px}
