:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1d293b;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:11px 15px;font-weight:650}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#2563eb;color:white}.primary:hover{background:#1d4ed8}.secondary{background:#e9eef6;color:#263b59}.shell{min-height:100vh;display:flex}.sidebar{background:#111e32;color:white;width:247px;flex-shrink:0;display:flex;flex-direction:column;padding:24px 15px;gap:30px}.logo{font-size:22px;display:flex;gap:12px;align-items:center;margin:4px 10px 0}.logo span{font-size:17px;letter-spacing:.4px}.logo small{display:block;color:#a6b4cb;font-size:12px;font-weight:400;margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav button{background:transparent;color:#bcc9da;text-align:left}.sidebar nav button:hover,.sidebar nav button.selected{background:#253b5a;color:#fff}.sidebar-foot{margin-top:auto;padding:12px;color:#c7d4e8;font-size:13px}.sidebar-foot small{display:block;margin-top:9px;color:#8a9db8}main{width:100%;max-width:1450px;padding:32px 38px;margin:0 auto}header{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:30px}h1{font-size:29px;margin:0 0 7px}h2{font-size:19px;margin:0}p{margin:0}header p,.muted{color:#68778d;font-size:14px}.header-actions{display:flex;align-items:center;gap:12px}.identity{font-size:13px;color:#596980}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:24px}.stat{background:white;border:1px solid #e1e7f0;border-radius:14px;padding:20px;box-shadow:0 2px 8px #1c35510a}.stat strong{display:block;font-size:32px;margin-bottom:5px}.stat span{font-size:13px;color:#697a91}.panel{background:white;border:1px solid #e0e7f0;border-radius:15px;box-shadow:0 4px 18px #1c355109;overflow:hidden}.toolbar{padding:22px;border-bottom:1px solid #edf0f5;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.toolbar .muted{display:block;margin-top:4px}.filters{display:flex;gap:9px;flex-wrap:wrap}input,select,textarea{border:1px solid #d8e0eb;border-radius:9px;background:#fff;color:#26344a;padding:11px;width:100%}.filters input{width:200px}.filters select{width:150px}.items{min-height:190px}.item{padding:20px 24px;border-bottom:1px solid #edf0f4;display:flex;justify-content:space-between;gap:18px;align-items:start}.item:last-child{border-bottom:0}.item h3{font-size:16px;margin:6px 0}.item p{white-space:pre-wrap;word-break:break-word;font-size:14px;color:#586982;line-height:1.6;max-width:800px}.meta{font-size:12px;color:#8290a2}.item-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-shrink:0}.tag{font-size:12px;border-radius:100px;padding:6px 9px;font-weight:700;background:#eef3fc;color:#476288}.tag.urgent{background:#fee9e9;color:#ae3030}.tag.done{background:#def7e9;color:#18714b}.tag.wait{background:#fff0d4;color:#94610d}.edit{font-size:12px;color:#245cc0;background:#e9f0ff;padding:8px 11px}.empty{padding:50px 20px;text-align:center;color:#718198}.notice{padding:14px 18px;background:#fff5d7;border:1px solid #f0d27a;color:#694c09;border-radius:12px;margin-bottom:20px}.hidden{display:none!important}footer{margin:22px 0;color:#8996a8;font-size:12px}dialog{border:0;border-radius:18px;box-shadow:0 20px 80px #15294244;padding:25px;width:min(94vw,520px)}dialog::backdrop{background:#0b1830a6}dialog form{display:flex;flex-direction:column;gap:16px}dialog label{font-size:13px;font-weight:650;display:flex;flex-direction:column;gap:7px}dialog .checkbox{flex-direction:row;align-items:center;line-height:1.5;font-weight:450}.checkbox input{width:18px;flex-shrink:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-head{display:flex;justify-content:space-between;align-items:center}.close{background:#eef2f7}.full{width:100%}.error{color:#b32632;font-size:13px}.mobile-nav{display:none}@media(max-width:900px){.sidebar{display:none}main{padding:19px}.mobile-nav{display:flex;gap:6px;overflow-x:auto;margin-bottom:20px}.mobile-nav button{white-space:nowrap;background:#e5eaf2;font-size:12px;padding:10px}.mobile-nav button.selected{background:#213c62;color:white}header{align-items:flex-start}h1{font-size:23px}.header-actions{flex-wrap:wrap;justify-content:flex-end}.identity{width:100%;text-align:right}}@media(max-width:600px){.stats{gap:8px}.stat{padding:13px}.stat strong{font-size:25px}.stat span{font-size:11px}.filters{width:100%}.filters input{flex:1;min-width:140px;width:0}.filters select{width:130px}.filters button{width:100%}.item{padding:17px;flex-direction:column;gap:13px}.item-right{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.two{grid-template-columns:1fr}header{margin-bottom:20px}dialog{padding:18px}}
.access-gate{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;background:linear-gradient(145deg,#111e32,#243e60)}.gate-card{width:min(100%,430px);padding:34px;background:white;border-radius:18px;box-shadow:0 20px 70px #040e2299}.gate-card h1{font-size:24px;text-align:center}.gate-mark{text-align:center;font-size:42px;margin-bottom:12px}.gate-card>p{text-align:center;margin:9px 0}.gate-hint{color:#64748b;font-size:13px;padding-bottom:12px}.gate-card form{display:grid;gap:14px}.gate-card label,.member-form label{display:grid;gap:5px;font-size:13px;font-weight:650}.admin-nav{background:#253b5a;color:white;text-align:left}.member-form{display:grid;grid-template-columns:2fr 1fr auto;align-items:end;gap:10px;margin:15px 0 20px}.members-list{display:grid;gap:8px}.member-row{padding:12px;background:#f4f7fb;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.member-row code{font-size:12px;overflow-wrap:anywhere}.member-row select{width:auto}.member-row button{padding:7px 10px}.member-row>div{display:flex;gap:8px;align-items:center}@media(max-width:650px){.member-form{grid-template-columns:1fr}.member-row>div{flex-wrap:wrap}}

/* Identité rouge incendie / anthracite */
:root {
  --page: #f3f4f6; --surface: #ffffff; --surface-soft: #f0f1f3;
  --text: #252a32; --muted: #626d79; --edge: #dce0e5;
  --sidebar: #22262d; --sidebar-hover: #353a43; --nav-text: #e2e5e9;
  --accent: #b52a32; --accent-hover: #952128; --accent-soft: #fbe9eb;
  --shadow: 0 6px 20px rgba(27,30,38,.045);
}
:root[data-theme="dark"] {
  --page: #181b20; --surface: #252a31; --surface-soft: #30363e;
  --text: #f0f1f3; --muted: #b4bcc6; --edge: #414852;
  --sidebar: #11151a; --sidebar-hover: #323942; --nav-text: #e8ebee;
  --accent: #d0454c; --accent-hover: #b83139; --accent-soft: #48282e;
  --shadow: 0 6px 22px rgba(0,0,0,.14);
  color-scheme: dark;
}
html { color: var(--text); background: var(--page); }
body { background: var(--page); color: var(--text); }
.sidebar { background: var(--sidebar); color: #fff; }
.sidebar nav button { color: var(--nav-text); }
.sidebar nav button:hover, .sidebar nav button.selected,
.admin-nav:hover, .admin-nav.selected { background: var(--accent); color: #fff; }
.admin-nav { background: var(--sidebar-hover); color: #fff; }
.sidebar-foot { color: #d7d9dd; }
.sidebar-foot small, .logo small { color: #c4c8ce; }
.logo { margin: 4px 6px 0; align-items: flex-start; }
.logo span { font-size: 17px; letter-spacing: .2px; line-height: 1.4; }
.logo em, .gate-card h1 em { font-style: normal; color: #ed6269; }
.logo small { font-size: 10px; letter-spacing: .9px; text-transform: uppercase; margin-top: 7px; }
.primary { background: var(--accent); color: #fff; }
.primary:hover { background: var(--accent-hover); }
.secondary, .close { background: var(--surface-soft); color: var(--text); border: 1px solid var(--edge); }
.secondary:hover, .close:hover { background: var(--edge); }
header p, .muted, .identity, .stat span, .item p, .meta, .empty, footer { color: var(--muted); }
.stat, .panel, dialog { background: var(--surface); color: var(--text); border-color: var(--edge); box-shadow: var(--shadow); }
.toolbar, .item { border-color: var(--edge); }
input,select,textarea { background: var(--surface); color: var(--text); border-color: var(--edge); }
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.member-row { background: var(--surface-soft); }
.edit { color: var(--accent); background: var(--accent-soft); }
.tag { color: var(--text); background: var(--surface-soft); }
:root[data-theme="dark"] .tag.done { background: #214b3c; color: #a1f2cc; }
:root[data-theme="dark"] .tag.urgent { background: #4b282c; color: #ffadb3; }
:root[data-theme="dark"] .tag.wait { background: #4c3b22; color: #f8cf82; }
:root[data-theme="dark"] .notice { background: #403420; color: #ffe5a4; border-color: #756135; }
:root[data-theme="dark"] .error { color: #ff9aa2; }
:root[data-theme="dark"] dialog::backdrop { background: rgba(0,0,0,.75); }
.access-gate { background: linear-gradient(145deg, #161a21, #323942); }
:root[data-theme="light"] .access-gate { background: linear-gradient(145deg, #24282f, #414953); }
.gate-card { background: var(--surface); border: 1px solid var(--edge); box-shadow: 0 20px 70px rgba(0,0,0,.25); }
.gate-card h1 { font-size: clamp(19px, 3vw, 25px); font-weight: 800; letter-spacing: .3px; }
.gate-card .brand-subtitle { font-size: 12px; font-weight: 750; letter-spacing: 1.4px; color: var(--accent); }
.gate-card .gate-hint { color: var(--muted); }
.theme-switch { background: var(--surface); border: 1px solid var(--edge); color: var(--text); padding: 9px 11px; font-size: 12px; display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.theme-switch:hover { background: var(--surface-soft); }
.theme-icon { font-size: 17px; line-height: 1; color: var(--accent); }
:root[data-theme="dark"] .mobile-nav button { background: var(--surface-soft); color: var(--text); }
.mobile-nav button.selected, :root[data-theme="dark"] .mobile-nav button.selected { background: var(--accent); color: #fff; }
@media(max-width:900px) { .header-actions { gap: 7px; } .theme-switch { padding: 9px; } }
@media(max-width:600px) { .theme-switch .theme-label { display: none; } .logo small { font-size: 10px; } }

/* Annuaire administrateur : le nom est prioritaire, l’identifiant reste secondaire. */
.member-row { align-items: center; }
.member-row .member-identity { display: flex; flex-direction: column; align-items: stretch; gap: 5px; flex: 1 1 270px; min-width: 220px; }
.member-name-label { font-size: 12px; font-weight: 700; color: var(--muted); }
.member-row .member-name { width: 100%; font-weight: 600; min-width: 160px; }
.member-row .member-uid { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.member-row .member-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.member-row .member-actions select { width: auto; min-width: 115px; }
@media(max-width:650px){ .member-row .member-identity, .member-row .member-actions { width: 100%; } .member-row .member-actions button { flex: 1 1 auto; } }

/* Détails, pièces jointes et chronologie */
.details-dialog{width:min(94vw,790px);max-height:88vh;overflow:auto;background:var(--surface);color:var(--text)}
.details-dialog h3{margin:24px 0 10px;font-size:16px}
.details-summary{display:grid;gap:10px;margin-top:14px;font-size:14px;line-height:1.6}
.details-summary .pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}
.file-row,.history-row{padding:13px 0;border-bottom:1px solid var(--edge);display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px}
.file-row strong{overflow-wrap:anywhere}.file-row .meta{margin-top:5px}.file-row button{white-space:nowrap}
.history-row{display:block;line-height:1.65}.history-row .muted{margin-top:5px;overflow-wrap:anywhere}
.detail-button{font-size:12px;padding:8px 11px}.file-summary{font-size:12px;overflow-wrap:anywhere;color:var(--muted)}
@media(max-width:600px){.details-dialog{padding:18px}.file-row{align-items:flex-start;flex-direction:column}.item-right{flex-wrap:wrap}}

/* Notifications de confirmation et alertes non bloquantes. */
.toast{position:fixed;z-index:3000;right:24px;top:22px;display:flex;align-items:center;gap:16px;max-width:min(460px,calc(100vw - 32px));padding:14px 16px;border-radius:12px;background:#184835;border:1px solid #319b6e;color:#f0fff6;box-shadow:0 12px 35px #0005;line-height:1.4;font-size:14px;font-weight:600}
.toast[data-kind="warning"]{background:#4b341c;border-color:#c6914c;color:#fff0ce}
.toast[data-kind="error"]{background:#56262c;border-color:#df636e;color:#fff1f2}
.toast button{padding:3px 7px;color:inherit;background:transparent;border:1px solid currentColor;opacity:.85;flex-shrink:0}
.toast button:hover{opacity:1}
.toast.hidden{display:none}
.file-main{display:flex;align-items:flex-start;gap:10px;min-width:0}
.file-main .file-type{font-size:23px;color:var(--accent);line-height:1}
.file-main div{min-width:0}
.details-files{padding:2px 0 8px}
.details-dialog h3{padding-top:5px}
@media(max-width:600px){.toast{left:16px;right:16px;top:12px;max-width:none}}

/* Confort et accessibilité */
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; } }
@media (max-width: 600px) { .member-row .member-identity { min-width: 0; } .details-dialog { max-height: 92dvh; } .gate-card { padding: 24px; } }
@media (max-width: 390px) { main { padding: 12px; } .stats { grid-template-columns: 1fr; } .header-actions { width: 100%; justify-content: flex-start; } }
button, input, select, textarea { min-height: 40px; }
.details-dialog .modal-head { position: sticky; top: -25px; z-index: 2; background: var(--surface); padding: 8px 0 12px; }

/* WIKI EIC — identité rouge incendie / anthracite, sans encadrement doré. */
.wiki-brand b{font-size:19px;letter-spacing:.045em;font-weight:800}
.wiki-brand em,.gate-card h1 em{font-style:normal;color:#ef535b}
.wiki-intro{background:var(--surface);border:1px solid var(--edge);border-left:4px solid var(--accent);box-shadow:var(--shadow);border-radius:13px;padding:17px 20px;display:flex;flex-direction:column;gap:7px;margin-bottom:20px}
.wiki-intro strong{font-size:17px;color:var(--text)}
.wiki-intro span{font-size:14px;line-height:1.6;color:var(--muted)}
@media(max-width:600px){.wiki-intro{padding:14px}.wiki-brand b{font-size:17px}}

/* Base de connaissances WIKI EIC */
.wiki-panel{background:var(--surface);border:1px solid var(--edge);border-radius:15px;padding:22px;box-shadow:var(--shadow)}
.wiki-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.wiki-toolbar h2{margin:0 0 5px}.wiki-toolbar p{margin:0}
.wiki-filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.wiki-filters input{flex:1 1 240px}.wiki-list{display:grid;gap:12px}
.wiki-card{border:1px solid var(--edge);background:var(--surface-soft);border-radius:12px;padding:17px;display:flex;justify-content:space-between;gap:15px;align-items:center}
.wiki-card h3{margin:8px 0;font-size:17px}.wiki-card p{margin:0 0 10px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.wiki-card .meta{font-size:12px}.wiki-card button{flex-shrink:0}
.wiki-empty{padding:34px 12px;text-align:center;color:var(--muted)}.wiki-dialog{width:min(94vw,780px);max-height:90dvh;overflow-y:auto}
.wiki-dialog label{display:block;margin:12px 0}.wiki-dialog textarea{width:100%;min-height:190px}.wiki-dialog h3{margin:24px 0 10px}.wiki-dialog .modal-head{position:sticky;top:0;background:var(--surface);z-index:2}
.wiki-copy{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.wiki-file{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--edge);align-items:center}.wiki-file strong{overflow-wrap:anywhere}.wiki-history{border-bottom:1px solid var(--edge);padding:10px 0;line-height:1.5}.wiki-view-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.wiki-pill{font-size:12px;background:var(--accent-soft);color:var(--text);padding:5px 9px;border-radius:30px}.wiki-pill.approved{background:#235341;color:#d2ffeb}
@media(max-width:650px){.wiki-card{align-items:flex-start;flex-direction:column}.wiki-panel{padding:14px}.wiki-dialog{padding:16px}.wiki-file{align-items:flex-start;flex-direction:column}}

/* WIKI EIC : suivi et rappels */
.record-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;line-height:1.5}
.record-heading .tag{font-size:11px;vertical-align:middle;white-space:nowrap}
.item{display:flex;align-items:stretch;min-height:180px}
.item>div:first-child{flex:1;min-width:0}
.item-right{display:flex;flex-direction:row;align-items:flex-end;justify-content:flex-end;align-self:flex-end;gap:8px;flex-wrap:wrap}
.archive-button{font-size:12px;padding:8px 11px}
.reminder-filters{padding:14px 22px;border-bottom:1px solid var(--edge)}
.reminder-filters select{max-width:270px}
.reminder-list{padding:10px 22px;display:grid;gap:10px}
.reminder-card{border:1px solid var(--edge);background:var(--surface-soft);border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.reminder-card p{margin-top:8px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.reminder-label{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.reminder-due{border-left:4px solid var(--accent)}
@media(max-width:650px){.item-right{width:100%;justify-content:flex-end}.reminder-card{align-items:stretch;flex-direction:column}.reminder-filters{padding:12px}.reminder-list{padding:12px}}
