
/* Maquette : deux vues (client / équipe) sur un même état partagé. Charte Ô Canada (claire, assumée). */
:root {
  --navy-950: #081629; --navy-900: #0c213d; --navy: #14335c; --navy-700: #1c4478; --navy-600: #2a5a96;
  --navy-300: #a9bfdc; --navy-100: #e7eef7; --navy-50: #f3f6fb;
  --ink: #1b2230; --ink-700: #3a4352; --ink-600: #525c6c; --ink-500: #6b7585; --ink-400: #9aa3b1;
  --line: #e3e7ed; --line-soft: #edf0f4; --surface: #f6f7f9; --white: #ffffff;
  --maple: #c1272d;
  --ok: #1d7a55; --ok-soft: #e8f5ef; --warn: #9a6a12; --warn-soft: #fdf5e4; --bad: #b42318; --bad-soft: #fdecea;
  --font: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --serif: "Instrument Serif", Georgia, serif;
  --r-sm: 10px; --r-md: 14px; --r-lg: 20px;
  --shadow: 0 2px 4px rgba(12,33,61,.04), 0 12px 28px -12px rgba(12,33,61,.16);
  --ease: cubic-bezier(.22,1,.36,1);
  color-scheme: light;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body {
  margin: 0; background: var(--surface); color: var(--ink); font-family: var(--font);
  font-size: 15px; line-height: 1.55; -webkit-font-smoothing: antialiased;
}
h1, h2, h3, p, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
h1, h2, h3 { letter-spacing: -.02em; line-height: 1.2; text-wrap: balance; font-weight: 600; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid #3b82c4; outline-offset: 2px; border-radius: 6px; }
.serif { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--navy-700); }
.wrap { max-width: 1180px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
svg.i { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* En-tête d'application */
.app-head { background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 30; background: #fff; }
.app-head .wrap { display: flex; align-items: center; gap: 14px; height: 64px; }
.brand { display: flex; align-items: center; gap: 10px; font-weight: 650; letter-spacing: -.02em; }
.brand img { width: 40px; height: 40px; display: block; }
.brand small { display: block; font-weight: 500; font-size: 12px; color: var(--ink-500); letter-spacing: 0; }
.head-right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.bell { position: relative; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); background: #fff; display: grid; place-items: center; color: var(--navy); }
.bell .count { position: absolute; top: -2px; right: -2px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 99px; background: var(--maple); color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; border: 2px solid #fff; }
.avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--navy); color: #fff; display: grid; place-items: center; font-weight: 600; font-size: 14px; }
.who { font-size: 13px; line-height: 1.3; }
.who b { display: block; }
.who span { color: var(--ink-500); }
@media (max-width: 520px) { .who { display: none; } }

/* Panneau notifications */
.notif-panel { position: absolute; right: max(16px, env(safe-area-inset-right, 0px)); top: 60px; width: min(380px, calc(100vw - 32px)); background: #fff; border: 1px solid var(--line); border-radius: var(--r-md); box-shadow: var(--shadow); z-index: 40; overflow: hidden; }
.notif-panel h3 { font-size: 14px; padding: 14px 16px; border-bottom: 1px solid var(--line-soft); }
.notif { display: flex; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line-soft); font-size: 13.5px; }
.notif:last-child { border-bottom: 0; }
.notif.unread { background: var(--navy-50); }
.notif .ic { width: 34px; height: 34px; border-radius: 10px; background: var(--navy-100); color: var(--navy); display: grid; place-items: center; flex-shrink: 0; }
.notif time { display: block; color: var(--ink-500); font-size: 12px; margin-top: 2px; }
.notif-empty { padding: 16px; color: var(--ink-500); font-size: 13.5px; }

main { padding-block: 28px 64px; }
.page-title { margin-bottom: 22px; }
.page-title p { color: var(--ink-500); font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 6px; }
.page-title h1 { font-size: clamp(24px, 4vw, 32px); }

.grid { display: grid; gap: 18px; }
@media (min-width: 980px) { .grid--client { grid-template-columns: 1.55fr 1fr; align-items: start; } .grid--admin { grid-template-columns: 330px 1fr; align-items: start; } }
.grid > * { min-width: 0; }
.stack { display: grid; gap: 18px; min-width: 0; }

.panel { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(16px, 3vw, 24px); box-shadow: 0 1px 2px rgba(12,33,61,.04); min-width: 0; }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.panel-head h2 { font-size: 18px; }
.panel-head p { color: var(--ink-600); font-size: 13.5px; margin-top: 3px; }

/* Résumé */
.summary { display: grid; gap: 16px; background: var(--navy); color: #fff; border: 0; }
@media (min-width: 640px) { .summary { grid-template-columns: auto 1fr; align-items: center; } }
.summary .ring { width: 96px; height: 96px; position: relative; }
.summary .ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.summary .ring circle { fill: none; stroke-width: 9; }
.summary .ring .bg { stroke: rgba(255,255,255,.15); }
.summary .ring .fg { stroke: #fff; stroke-linecap: round; transition: stroke-dashoffset .9s var(--ease); }
.summary .ring span { position: absolute; inset: 0; display: grid; place-items: center; font-size: 22px; font-weight: 600; }
.summary .k { color: rgba(255,255,255,.65); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.summary h2 { font-size: 22px; margin: 4px 0 6px; color: #fff; }
.summary h2 .serif { color: var(--navy-300); }
.summary p { color: rgba(255,255,255,.8); font-size: 14px; }
.next-action { margin-top: 12px; display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--navy-900); border: 0; border-radius: 999px; padding: 10px 16px; font-weight: 600; font-size: 14px; min-height: 44px; }

/* Ligne de temps */
.timeline { position: relative; display: grid; gap: 0; }
.tl-item { position: relative; display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding-bottom: 16px; }
.tl-item:last-child { padding-bottom: 0; }
.tl-item::before { content: ""; position: absolute; left: 16px; top: 30px; bottom: 0; width: 2px; background: var(--line); }
.tl-item:last-child::before { display: none; }
.tl-item.done::before { background: var(--navy-300); }
.tl-dot { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; border: 2px solid var(--line); background: #fff; color: var(--ink-400); font-size: 12px; font-weight: 700; position: relative; z-index: 1; }
.tl-item.done .tl-dot { background: var(--navy); border-color: var(--navy); color: #fff; }
.tl-item.current .tl-dot { border-color: var(--navy); color: var(--navy); box-shadow: 0 0 0 5px var(--navy-100); }
.tl-body { padding-top: 5px; min-width: 0; }
.tl-title { font-weight: 600; font-size: 14.5px; }
.tl-item.todo .tl-title { color: var(--ink-500); font-weight: 500; }
.tl-meta { font-size: 12.5px; color: var(--ink-500); }
.tl-item.current .tl-meta { color: var(--navy-700); font-weight: 600; }
.tl-note { margin-top: 6px; font-size: 13px; color: var(--ink-600); background: var(--navy-50); border-radius: 10px; padding: 8px 10px; }
.tl-toggle { margin-top: 10px; border: 0; background: none; color: var(--navy-700); font-weight: 600; font-size: 13.5px; padding: 6px 0; }

/* Documents */
.req { border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; }
.req + .req { margin-top: 14px; }
.req-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 14px 16px; background: var(--navy-50); border-bottom: 1px solid var(--line); }
.req-head h3 { font-size: 15.5px; }
.req-head .meta { font-size: 12.5px; color: var(--ink-500); width: 100%; }
.req-intro { padding: 12px 16px 0; font-size: 13.5px; color: var(--ink-600); }
.doc { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; align-items: center; padding: 13px 16px; border-bottom: 1px solid var(--line-soft); }
.doc:last-of-type { border-bottom: 0; }
.doc-name { font-weight: 600; font-size: 14px; }
.doc-hint { font-size: 12.5px; color: var(--ink-500); }
.doc-file { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--ink-600); margin-top: 4px; word-break: break-all; }
.doc-comment { margin-top: 6px; font-size: 12.5px; color: var(--bad); background: var(--bad-soft); padding: 6px 9px; border-radius: 8px; }
.doc-actions { display: flex; align-items: center; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
@media (max-width: 560px) { .doc { grid-template-columns: 1fr; } .doc-actions { justify-content: flex-start; } }
.req-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; border-top: 1px solid var(--line); background: #fff; }
.req-foot p { font-size: 13px; color: var(--ink-600); }

.chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.chip.todo { background: var(--surface); color: var(--ink-600); border: 1px solid var(--line); }
.chip.sent { background: var(--navy-100); color: var(--navy-700); }
.chip.ok { background: var(--ok-soft); color: var(--ok); }
.chip.fix { background: var(--bad-soft); color: var(--bad); }
.chip.review { background: var(--warn-soft); color: var(--warn); }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid transparent; font-weight: 600; font-size: 13.5px; white-space: nowrap; transition: background-color .2s var(--ease), border-color .2s var(--ease), transform .12s var(--ease); }
.btn:active { transform: scale(.98); }
.btn-primary { background: var(--navy); color: #fff; }
.btn-primary:hover { background: var(--navy-900); }
.btn-secondary { background: #fff; border-color: var(--line); color: var(--ink); }
.btn-secondary:hover { border-color: var(--ink-400); }
.btn-ok { background: var(--ok); color: #fff; }
.btn-bad { background: #fff; border-color: #f2c3be; color: var(--bad); }
.btn[disabled] { background: var(--line-soft); color: var(--ink-400); border-color: transparent; cursor: not-allowed; transform: none; }
.btn-lg { min-height: 46px; padding: 0 18px; font-size: 14.5px; }
.upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.upload { position: relative; }

/* Messages */
.msgs { display: grid; gap: 10px; max-height: 330px; overflow-y: auto; padding-right: 4px; margin-bottom: 12px; }
.msg { max-width: 88%; padding: 10px 12px; border-radius: 14px; font-size: 13.5px; }
.msg time { display: block; font-size: 11.5px; opacity: .7; margin-top: 3px; }
.msg.them { background: var(--surface); border: 1px solid var(--line-soft); border-bottom-left-radius: 4px; }
.msg.me { background: var(--navy); color: #fff; margin-left: auto; border-bottom-right-radius: 4px; }
.msg.sys { max-width: 100%; background: transparent; color: var(--ink-500); font-size: 12.5px; text-align: center; padding: 2px; }
.composer { display: flex; gap: 8px; }
.composer input { flex: 1; min-width: 0; min-height: 44px; border: 1px solid var(--ink-400); border-radius: 999px; padding: 0 14px; font-size: 16px; background: #fff; }
.composer input:focus { outline: none; border-color: var(--navy-600); box-shadow: 0 0 0 4px rgba(59,130,196,.2); }

/* Admin */
.client-list { display: grid; gap: 8px; }
.client-row { display: grid; grid-template-columns: 40px 1fr auto; gap: 10px; align-items: center; width: 100%; text-align: left; border: 1px solid var(--line); background: #fff; border-radius: var(--r-md); padding: 10px 12px; transition: border-color .2s var(--ease), background-color .2s var(--ease); }
.client-row:hover { border-color: var(--navy-300); }
.client-row[aria-current="true"] { border-color: var(--navy); background: var(--navy-50); box-shadow: 0 0 0 1px var(--navy); }
.client-row b { display: block; font-size: 14px; }
.client-row span.step { font-size: 12.5px; color: var(--ink-500); display: block; }
.client-row .avatar { width: 40px; height: 40px; font-size: 13px; }
.badge-n { min-width: 22px; height: 22px; border-radius: 99px; background: var(--warn-soft); color: var(--warn); font-size: 12px; font-weight: 700; display: grid; place-items: center; padding: 0 6px; }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.stat { background: var(--surface); border-radius: var(--r-sm); padding: 10px; }
.stat b { display: block; font-size: 20px; font-variant-numeric: tabular-nums; }
.stat span { font-size: 12px; color: var(--ink-500); }
.step-control { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.step-control select { min-height: 44px; border: 1px solid var(--ink-400); border-radius: var(--r-sm); padding: 0 12px; font-size: 15px; background: #fff; max-width: 100%; }
.templates { display: grid; gap: 8px; }
@media (min-width: 640px) { .templates { grid-template-columns: 1fr 1fr; } }
.tpl { text-align: left; border: 1px dashed var(--ink-400); background: #fff; border-radius: var(--r-md); padding: 12px 14px; display: grid; gap: 2px; transition: border-color .2s var(--ease), background-color .2s var(--ease); }
.tpl:hover { border-style: solid; border-color: var(--navy); background: var(--navy-50); }
.tpl b { font-size: 14px; }
.tpl span { font-size: 12.5px; color: var(--ink-500); }
.builder { margin-top: 16px; border: 1px solid var(--navy-300); border-radius: var(--r-md); background: var(--navy-50); padding: 16px; display: grid; gap: 12px; }
.builder h3 { font-size: 15.5px; }
.b-field { display: grid; gap: 5px; }
.b-field label, .b-row-label { font-size: 13px; font-weight: 600; }
.b-field label small, .b-row-label small { font-weight: 400; color: var(--ink-500); }
.b-input { width: 100%; min-height: 44px; border: 1px solid var(--ink-400); border-radius: var(--r-sm); padding: 8px 12px; font-size: 16px; background: #fff; }
textarea.b-input { min-height: 70px; resize: vertical; line-height: 1.5; }
.b-input:focus { outline: none; border-color: var(--navy-600); box-shadow: 0 0 0 4px rgba(59,130,196,.2); }
.b-rows { display: grid; gap: 10px; }
.b-row { display: grid; grid-template-columns: 28px 1fr 1fr 40px; gap: 8px; align-items: start; background: #fff; border: 1px solid var(--line); border-radius: var(--r-sm); padding: 10px; }
.b-row .num { width: 28px; height: 28px; border-radius: 50%; background: var(--navy); color: #fff; display: grid; place-items: center; font-size: 12px; font-weight: 700; margin-top: 8px; }
.b-remove { width: 40px; height: 44px; border-radius: var(--r-sm); border: 1px solid var(--line); background: #fff; color: var(--bad); display: grid; place-items: center; }
@media (max-width: 640px) { .b-row { grid-template-columns: 28px 1fr 40px; } .b-row .b-desc { grid-column: 2 / 3; } }
.b-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; }
.b-error { color: var(--bad); font-size: 13px; }
.fix-box { grid-column: 1 / -1; display: flex; gap: 8px; flex-wrap: wrap; }
.fix-box input { flex: 1; min-width: 180px; min-height: 40px; border: 1px solid var(--ink-400); border-radius: var(--r-sm); padding: 0 10px; font-size: 15px; }
.empty { padding: 18px; text-align: center; color: var(--ink-500); font-size: 13.5px; border: 1px dashed var(--line); border-radius: var(--r-md); }

/* Aperçu de fichier */
.viewer { position: fixed; inset: 0; z-index: 70; background: rgba(8,22,41,.6); display: grid; place-items: center; padding: max(16px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); }
.viewer-box { background: #fff; border-radius: var(--r-lg); width: min(860px, 100%); max-height: 100%; display: grid; grid-template-rows: auto 1fr; overflow: hidden; box-shadow: 0 30px 60px -20px rgba(0,0,0,.5); }
.viewer-head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.viewer-head div { min-width: 0; }
.viewer-head b { display: block; font-size: 15px; word-break: break-all; }
.viewer-head span { font-size: 12.5px; color: var(--ink-500); }
.viewer-close { margin-left: auto; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; display: grid; place-items: center; flex-shrink: 0; }
.viewer-body { overflow: auto; background: var(--surface); padding: 16px; display: grid; gap: 12px; justify-items: center; min-height: 240px; }
.viewer-body img, .viewer-body canvas { max-width: 100%; height: auto; border-radius: 6px; box-shadow: 0 2px 10px rgba(12,33,61,.15); background: #fff; }
.viewer-msg { align-self: center; text-align: center; color: var(--ink-600); font-size: 14px; max-width: 46ch; }
.viewer-actions { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; padding: 0 0 4px; width: 100%; }
.btn-view { background: #fff; border-color: var(--line); color: var(--navy-700); }
.btn-view:hover { border-color: var(--navy-300); background: var(--navy-50); }


/* Étapes cliquables + documents par étape */
.tl-hint { font-size: 12.5px; color: var(--ink-500); margin-bottom: 12px; }
button.tl-body { display: block; width: 100%; text-align: left; border: 0; background: transparent; padding: 5px 8px 6px; margin: -5px 0 0 -8px; border-radius: 10px; cursor: pointer; transition: background-color .2s var(--ease); }
button.tl-body:hover { background: var(--surface); }
.tl-item.is-selected button.tl-body { background: var(--navy-50); box-shadow: inset 0 0 0 1px var(--navy-300); }
.tl-title, .tl-meta { display: block; }
.step-docs-head { margin-bottom: 14px; display: grid; gap: 4px; }
.step-docs-head .k { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-500); }
.step-docs-head h2 { font-size: 19px; }
.link-btn { justify-self: start; border: 0; background: none; padding: 4px 0; color: var(--navy-700); font-weight: 600; font-size: 13.5px; text-decoration: underline; text-underline-offset: 3px; }
.panel > .tl-note { margin-bottom: 14px; }
.preview { border: 1px dashed var(--ink-400); border-radius: var(--r-md); padding: 16px; display: grid; gap: 10px; background: var(--surface); }
.preview p { font-size: 13.5px; color: var(--ink-600); }
.preview ul { display: grid; gap: 6px; }
.preview li { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--ink-600); }
.preview li .i { width: 16px; height: 16px; color: var(--ink-400); }
.preview li.more { color: var(--ink-500); font-style: italic; padding-left: 24px; }
.preview .btn { justify-self: start; }
.doc-group { padding: 10px 16px 6px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--navy-700); background: var(--surface); border-bottom: 1px solid var(--line-soft); }
.opt { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 99px; background: var(--surface); border: 1px solid var(--line); font-size: 11px; font-weight: 600; color: var(--ink-500); vertical-align: 1px; }
.doc.is-optional .doc-name { font-weight: 500; color: var(--ink-700); }
.deadline { display: inline-flex; align-items: center; gap: 4px; color: var(--bad); font-weight: 600; }
.deadline .i { width: 14px; height: 14px; }
.as-link { border: 0; background: none; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; text-align: left; }
.eval-form { border: 1px solid var(--navy-300); background: var(--navy-50); border-radius: var(--r-md); padding: 16px; display: grid; gap: 12px; margin-bottom: 14px; }
.eval-form h3 { font-size: 15.5px; display: flex; align-items: center; gap: 8px; }
.eval-grid { display: grid; gap: 10px; }
@media (min-width: 640px) { .eval-grid { grid-template-columns: repeat(3, 1fr); } }
.custom-req { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); display: grid; gap: 10px; }
.custom-req .builder { margin-top: 4px; }

/* Toast */
.toast { position: fixed; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%) translateY(20px); opacity: 0; background: var(--navy-900); color: #fff; padding: 12px 18px; border-radius: 999px; font-size: 14px; font-weight: 500; box-shadow: var(--shadow); transition: all .35s var(--ease); z-index: 60; max-width: calc(100vw - 32px); }
.toast.show { opacity: 1; transform: translateX(-50%); }
.fineprint { margin-top: 26px; font-size: 12.5px; color: var(--ink-500); text-align: center; }
@media (prefers-reduced-motion: reduce) { * { transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* ===== Ajouts version en ligne ===== */
.brand-logo { width: 40px; height: 40px; display: block; flex-shrink: 0; border-radius: 8px; background: #fff url("data:image/webp;base64,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") center/contain no-repeat; }
.brand--center { justify-content: center; margin-bottom: 18px; }
.who { display: grid; text-align: right; }
.who a { color: var(--ink-500); font-size: 12.5px; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 520px) { .who { display: grid; } .who b { font-size: 12.5px; } }
.loading, .error-box { padding: 40px 0; text-align: center; color: var(--ink-500); }
.error-box { color: var(--bad); }
.w-full { width: 100%; }
body.is-login { min-height: 100vh; display: grid; place-items: center; background: radial-gradient(60% 50% at 80% 0%, rgba(169,191,220,.35), transparent 70%), var(--surface); }
.login-wrap { width: 100%; padding: 32px max(16px, env(safe-area-inset-right, 0px)) 32px max(16px, env(safe-area-inset-left, 0px)); display: grid; justify-items: center; gap: 16px; }
.login-card { width: min(440px, 100%); background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(22px, 5vw, 36px); box-shadow: var(--shadow); }
.login-card h1 { font-size: clamp(24px, 5vw, 30px); text-align: center; }
.login-lead { text-align: center; color: var(--ink-600); margin: 10px 0 20px; font-size: 14.5px; }
.login-form { display: grid; gap: 8px; }
.login-form label { font-size: 13.5px; font-weight: 600; margin-top: 6px; }
.login-form input[type=text], .login-form input[type=password] { min-height: 48px; border: 1px solid var(--ink-400); border-radius: var(--r-sm); padding: 0 14px; font-size: 16px; }
.login-form input:focus { outline: none; border-color: var(--navy-600); box-shadow: 0 0 0 4px rgba(59,130,196,.2); }
.login-form .check { display: flex; align-items: center; gap: 8px; font-weight: 400; margin: 6px 0 10px; }
.login-links { text-align: center; margin-top: 14px; font-size: 14px; }
.login-links a, .login-foot a { color: var(--navy-700); font-weight: 600; }
.login-note { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line-soft); font-size: 13px; color: var(--ink-500); text-align: center; }
.login-error { background: var(--bad-soft); color: var(--bad); border-radius: var(--r-sm); padding: 10px 12px; font-size: 14px; margin-bottom: 8px; text-align: center; }
.login-foot { font-size: 12.5px; color: var(--ink-500); }
.viewer-head .btn { flex-shrink: 0; }
.viewer-body iframe { width: 100%; height: 70vh; border: 0; background: #fff; border-radius: 6px; }
.new-client { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.new-client .grid2 { display: grid; gap: 10px; }
@media (min-width: 520px) { .new-client .grid2 { grid-template-columns: 1fr 1fr; } }
.client-row .muted { font-size: 11.5px; color: var(--warn); font-weight: 600; display: block; }
.team-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; }
.team-tabs button { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 8px 14px; font-weight: 600; font-size: 13.5px; min-height: 40px; }
.team-tabs button[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.back-link { border: 0; background: none; color: var(--navy-700); font-weight: 600; padding: 6px 0; margin-bottom: 8px; }
.search { width: 100%; min-height: 44px; border: 1px solid var(--ink-400); border-radius: var(--r-sm); padding: 0 12px; font-size: 16px; margin-bottom: 10px; }
.inline-note { font-size: 12.5px; color: var(--ink-500); }
.upload.is-busy { opacity: .6; pointer-events: none; }

.invite-box{margin-top:14px;padding:16px;border:1px solid #c9d6ea;background:#f2f6fc;border-radius:14px;display:grid;gap:10px}
.invite-box p{margin:0}
.invite-box input{width:100%;min-width:0;font:13px/1.4 ui-monospace,Menlo,Consolas,monospace;padding:10px 12px;border:1px solid #d5dce6;border-radius:10px;background:#fff;color:#1b2230}
.invite-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn-ghost{background:transparent;border-color:transparent;color:#4a5566}
.btn-ghost:hover{background:#e8eef7;color:#14335c}
.invite-box a.btn{text-decoration:none}

/* Fiche d'appel */
.cs-title{margin:18px 0 8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#14335c}
.cs-rule{margin:10px 0 0;padding:10px 12px;background:#f2f6fc;border-radius:10px;font-size:13.5px;color:#36414f}
.cs-static{margin:0;font-size:14px;line-height:1.4}.cs-static small{color:#6b7585}
.cs-details summary{cursor:pointer;font-weight:600;margin-top:14px;color:#14335c}
.cs-q{padding:12px 0;border-top:1px solid #e8ecf2}
.cs-q-t{margin:0 0 8px;font-weight:600;font-size:14.5px;display:flex;gap:8px;align-items:flex-start}
.cs-q-t .num{flex:none;width:22px;height:22px;border-radius:50%;background:#e8eef7;color:#14335c;font-size:12px;display:grid;place-items:center}
.cs-cols{display:grid;gap:10px}
@media(min-width:760px){.cs-cols.two{grid-template-columns:1fr 1fr}}
.cs-col{min-width:0;background:#fafbfc;border:1px solid #eef1f5;border-radius:10px;padding:10px;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-end}
.cs-who{width:100%;margin:0;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7585}
.cf{margin:0;border:0;padding:0;min-width:0}
.cf-text{display:grid;gap:3px;flex:1 1 160px}.cf-text.cf-small{flex:0 1 90px}
.cf-text span,.cf-opts legend{font-size:12px;color:#6b7585;padding:0}
.cf-text .b-input{padding:7px 9px;font-size:14px}
.cf-opts{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.cf-opts legend{width:100%;margin-bottom:4px}
.pill{position:relative;display:inline-flex}
.pill input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pill span{padding:6px 11px;border:1px solid #d5dce6;border-radius:999px;background:#fff;font-size:13px;line-height:1.2}
.pill input:checked+span{background:#14335c;border-color:#14335c;color:#fff}
.pill input:focus-visible+span{outline:2px solid #14335c;outline-offset:2px}
/* Réponses écrites et modèles */
.answer-form{display:grid;gap:8px;margin-top:8px}
.answer-form .btn{justify-self:start}
.doc-answer{margin:8px 0 0;padding:10px 12px;background:#f2f6fc;border-radius:10px;white-space:pre-wrap;font-size:14px}
.doc-tpl{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-weight:600;color:#14335c;font-size:14px}
.doc-tpl .i{width:16px;height:16px}
.doc-tpl-team{margin:6px 0 0;font-size:13px}
.tpl-up{cursor:pointer;margin-left:6px}
.tpl-panel{margin-top:18px;padding-top:14px;border-top:1px solid #e8ecf2}
.tpl-panel ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.tpl-panel li{display:flex;gap:10px;align-items:center;justify-content:space-between}
.tpl-panel li>span{display:grid;gap:2px;font-size:13px;min-width:0}
.tpl-panel li a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.btn-xs{padding:5px 10px;font-size:12.5px;min-height:0;cursor:pointer}
.b-text{display:flex;gap:6px;align-items:center;font-size:12.5px;white-space:nowrap;align-self:end;padding-bottom:10px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.b-row{grid-template-columns:28px 1fr 1fr auto 40px}
@media (max-width:640px){.b-row{grid-template-columns:28px 1fr 40px}.b-row .b-text{grid-column:2/3;padding-bottom:0}}

/* Édition des documents (équipe) */
.doc-tools{display:flex;gap:12px;margin-top:6px}
.doc-tools .link-btn{display:inline-flex;align-items:center;gap:4px;font-size:12.5px}
.doc-tools .i{width:14px;height:14px}
.link-btn.danger{color:#b42318}
.doc-edit{display:grid;gap:10px;padding:14px;margin:8px 0;border:1px dashed #9fb3cf;border-radius:12px;background:#f7f9fc}
.doc-edit .grid2{display:grid;gap:10px}
@media(min-width:700px){.doc-edit .grid2{grid-template-columns:1fr 1fr}}
.de-checks{display:flex;gap:16px;flex-wrap:wrap}
.de-checks .b-text{padding:0}
.req-add{padding:12px 0 2px}
.upload.is-disabled{opacity:.55;pointer-events:none}
.tpl .i{width:15px;height:15px;vertical-align:-2px}

/* Sections masquables (équipe) */
.doc-group--toggle { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; cursor: pointer; user-select: none; }
.doc-group--toggle input { width: 18px; height: 18px; margin: 0; accent-color: var(--navy-700, #14335c); cursor: pointer; flex: none; }
.doc-group--toggle small { font-size: 11.5px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--muted, #6b7585); }
.doc-group--toggle.is-off { opacity: .75; }
.doc-group--toggle.is-off span { text-decoration: line-through; }

/* Fenêtre de confirmation */
.ask { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 16px; background: rgba(15, 28, 48, .45); }
.ask-box { width: 100%; max-width: 440px; background: #fff; border-radius: 16px; padding: 22px; box-shadow: 0 20px 50px rgba(15, 28, 48, .25); }
.ask-box p { margin: 0 0 18px; font-size: 15px; line-height: 1.55; color: #1b2230; }
.ask-btns { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }

.btn-danger-soft { color: #b3261e !important; }
.btn-danger-soft:hover { background: #fbeceb !important; border-color: #f2cfcb !important; }

.doc-date { display: block; margin-top: 4px; font-size: 12.5px; color: var(--muted, #6b7585); }

/* Date limite (équipe) */
.dl-open { margin-left: auto; }
.dl-form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; margin-top: 8px; }
.dl-form label { font-size: 13px; font-weight: 600; }
.dl-form .b-input { width: auto; min-width: 170px; }

/* Listes par personne, traduction, case par document */
.tr-banner { display: flex; gap: 12px; align-items: flex-start; margin: 14px 0 6px; padding: 14px 16px; border-radius: 14px; background: #fff3e2; border: 1.5px solid #f2c98f; color: #7a3e00; }
.tr-ico { flex: none; width: 34px; height: 34px; border-radius: 10px; background: #fde2bd; display: grid; place-items: center; font-weight: 800; font-size: 13px; }
.tr-banner .tb-title { display: block; font-size: 15px; margin-bottom: 2px; }
.tr-banner p { margin: 0; font-size: 13.5px; color: #6b4a14; }
.tr-badge { display: inline-flex; align-items: center; gap: 6px; margin: 6px 0 2px; padding: 3px 10px; border-radius: 8px; background: #fff3e2; border: 1px solid #f2c98f; color: #7a3e00; font-size: 12.5px; font-weight: 800; }
.tr-badge.soft { font-weight: 700; }
.member { margin: 14px 0; border: 1.5px solid var(--line); border-radius: 16px; overflow: hidden; background: #fff; }
.member.is-off { opacity: .65; border-style: dashed; }
.m-head { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; padding: 12px 14px; background: var(--navy-50); border-bottom: 1px solid var(--line); }
.member.is-off .m-head { border-bottom: 0; }
.m-title { display: flex; align-items: center; gap: 10px; font-weight: 800; color: var(--navy); font-size: 15.5px; }
.m-ico { width: 32px; height: 32px; border-radius: 9px; background: var(--navy); color: #fff; display: grid; place-items: center; font-size: 13px; font-weight: 800; }
.m-name { flex: 1 1 240px; display: flex; align-items: center; gap: 8px; min-width: 0; }
.m-name label { font-size: 12.5px; font-weight: 700; color: var(--ink-600); white-space: nowrap; }
.m-name .b-input { flex: 1; min-width: 0; }
.m-count { font-size: 12.5px; font-weight: 600; color: var(--ink-500); }
.m-toggle { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--navy-700); cursor: pointer; }
.m-toggle input, .d-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--navy-700, #14335c); cursor: pointer; }
.doc-row { display: flex; gap: 12px; flex: 1 1 320px; min-width: 0; }
.d-check { flex: none; padding-top: 2px; }
.doc.is-off { background: var(--surface); }
.doc.is-off .doc-name { text-decoration: line-through; color: var(--ink-500); }
.doc.is-off .doc-hint, .doc.is-off .tr-badge { opacity: .55; }
.off-note { display: block; margin-top: 6px; font-size: 12.5px; font-weight: 700; color: var(--ink-500); }
.opt.later { background: var(--navy-50); color: var(--navy-700); }
.upload-tr { border-color: #e8b46b !important; color: #7a3e00 !important; background: #fffaf2 !important; }
.doc-actions .upload + .upload { margin-top: 6px; }