@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&family=Inter:wght@400;500;600;700&family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=JetBrains+Mono:wght@400;500;700&display=swap');
:root{
  --navy-deep:#081424;--navy:#0E2138;--navy-line:#1E3A5C;--navy-soft:#12294399;
  --gold:#C9A24B;--gold-bright:#E7CB7E;--gold-dim:#8A7234;
  --paper:#F1EBDC;--paper-line:#D8CDB3;--ink:#211D17;--ink-soft:#54493A;
  --white:#EAF1FA;--steel:#7D90A8;--steel-dim:#516074;
  --ok:#4FB36A;--ok-dim:#2f6e44;--bad:#D6584F;--bad-dim:#6e2f2f;--warn:#E8861E;
  --purple:#8159C0;--blue:#2E6FE0;--pink:#D98AA8;--r:8px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:radial-gradient(1200px 700px at 50% -240px,#14304f 0%,transparent 60%),linear-gradient(180deg,#081424,#06101d);background-attachment:fixed;color:var(--white);font-family:'Inter',sans-serif;line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased}
.wrap{max-width:1240px;margin:0 auto;padding:0 22px}
a{color:inherit}[data-go]{cursor:pointer}button{font-family:inherit}
.hidden{display:none!important}

/* ---------- auth ---------- */
#auth{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(rgba(6,16,29,.84),rgba(5,13,24,.95)),url(/assets/exterior.jpg) center/cover}
.auth-card{width:100%;max-width:400px;background:#0c1d31;border:1px solid var(--navy-line);border-radius:16px;padding:34px 30px;box-shadow:0 40px 90px -30px #000;text-align:center}
.auth-card img{width:92px;height:92px;margin-bottom:14px;filter:drop-shadow(0 10px 26px rgba(0,0,0,.5))}
.auth-card h2{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:1.35rem}
.auth-card .sub{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--steel);text-transform:uppercase;margin:4px 0 22px}
.auth-card .field{text-align:left;margin-bottom:14px}
.auth-err{color:#f0b5b0;font-size:.82rem;min-height:18px;margin-bottom:6px}
.auth-card .btn{width:100%;justify-content:center;margin-top:6px}

/* ---------- nav ---------- */
#app{padding-top:58px}
#app.hidden{padding-top:0}
.topbar{position:fixed;top:0;left:0;right:0;z-index:70;height:58px;display:flex;align-items:center;gap:14px;padding:0 18px;background:rgba(7,16,28,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--navy-line)}
.hamburger{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:42px;height:38px;padding:0 9px;background:#0e2138;border:1px solid var(--navy-line);border-radius:8px;cursor:pointer;flex:0 0 auto}
.hamburger span{display:block;height:2px;width:100%;background:#cfe0f2;border-radius:2px;transition:transform .44s cubic-bezier(.16,1,.3,1),opacity .2s ease}
.hamburger:hover span{background:var(--gold)}
#app:not(.sb-closed) .hamburger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
#app:not(.sb-closed) .hamburger span:nth-child(2){opacity:0}
#app:not(.sb-closed) .hamburger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.tb-brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.tb-brand img{width:32px;height:32px}
.tb-brand b{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.9rem}
.tb-brand span{display:block;font-family:'JetBrains Mono',monospace;font-size:.52rem;letter-spacing:.2em;color:var(--steel);text-transform:uppercase}
.tb-user{margin-left:auto;display:flex;align-items:center;gap:10px}
.tb-user .who{text-align:right;line-height:1.1}
.tb-user .who b{font-size:.84rem}
.tb-user .who .g{display:block;margin-top:2px}
.sidebar{position:fixed;top:58px;left:0;bottom:0;width:248px;overflow-y:auto;overscroll-behavior:contain;background:rgba(8,18,32,.97);border-right:1px solid var(--navy-line);z-index:65;padding:16px 12px;transition:transform .44s cubic-bezier(.16,1,.3,1);will-change:transform}
.content{margin-left:248px;transition:margin-left .44s cubic-bezier(.16,1,.3,1);min-height:calc(100vh - 58px)}
#app.sb-closed .sidebar{transform:translateX(-100%)}
#app.sb-closed .content{margin-left:0}
.sb-backdrop{position:fixed;inset:58px 0 0 0;background:rgba(4,10,18,.55);z-index:64;opacity:0;visibility:hidden;transition:opacity .26s ease,visibility .26s ease}
.side-group{margin-bottom:14px}
.side-cap{font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);padding:6px 12px 7px}
.side-nav a{display:flex;align-items:center;gap:11px;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;color:#b9cadf;padding:10px 12px;border-radius:8px;transition:.16s;cursor:pointer;margin-bottom:2px}
.side-nav a svg{width:17px;height:17px;flex:0 0 auto;opacity:.85}
.side-nav a:hover{color:#fff;background:#10243d}
.side-nav a.active{color:var(--navy-deep);background:var(--gold)}
.side-nav a.active svg{opacity:1}
.side-nav a.logout{color:#e7a59e}
.side-nav a.logout:hover{background:#3a1f1f;color:#ffd0c9}
@media(max-width:900px){
  .content{margin-left:0}
  .sidebar{transform:translateX(-100%);box-shadow:0 24px 70px rgba(0,0,0,.55)}
  #app:not(.sb-closed) .sidebar{transform:translateX(0)}
  #app:not(.sb-closed) .sb-backdrop{opacity:1;visibility:visible}
  .tb-brand span{display:none}
}
.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background-size:cover;background-position:center;background-color:#14304f;border:1px solid var(--navy-line);color:var(--gold-bright);font-family:'Oswald',sans-serif;font-weight:600;flex:0 0 auto}
.avatar.btn-av{cursor:pointer}

/* grade tags */
.gtag{display:inline-flex;align-items:center;gap:5px;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:.64rem;padding:3px 9px;border-radius:6px;color:#fff;white-space:nowrap;background:var(--gc,#5E76A0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);text-shadow:0 1px 1.5px rgba(0,0,0,.4)}

/* ---------- views/common ---------- */
.view{display:none;padding:36px 0 60px}.view.active{display:block;animation:fade .35s ease}
#v-accueil{padding-top:0}
.view:has(> .view-head){padding-top:0}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;display:flex;align-items:center;gap:11px;margin-bottom:14px}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--gold)}
h1.title{font-family:'Oswald',sans-serif;font-weight:600;font-size:clamp(2rem,4.6vw,3.3rem);line-height:1;text-transform:uppercase}
h1.title em{font-style:normal;color:var(--gold)}
.lead{margin-top:14px;color:#B9C6D6;max-width:64ch}
.btn{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;border:1px solid var(--navy-line);background:#10243d;color:var(--white);padding:10px 16px;border-radius:6px;cursor:pointer;transition:.18s;display:inline-flex;align-items:center;gap:8px}
.btn:hover{border-color:var(--gold-dim);color:var(--gold-bright)}
.btn.primary{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}
.btn.primary:hover{background:var(--gold-bright)}
.btn.sm{padding:6px 11px;font-size:.72rem}.btn.icon{padding:7px 9px}
.btn.danger:hover{border-color:var(--bad);color:var(--bad)}
.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0 16px}
.toolbar .grow{flex:1 1 auto}
.search{position:relative;flex:1 1 220px;max-width:360px}
.search input{width:100%;padding:10px 12px 10px 36px;background:#0b1c31;border:1px solid var(--navy-line);border-radius:7px;color:var(--white);font-family:inherit;font-size:.9rem}
.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--steel)}
.select-min{background:#0b1c31;border:1px solid var(--navy-line);border-radius:7px;color:var(--white);padding:10px 12px;font-family:inherit;font-size:.86rem}

/* tables */
.tablewrap{overflow-x:hidden;border:1px solid var(--navy-line);border-radius:12px;background:rgba(11,28,49,.4)}
table{width:100%;border-collapse:collapse;font-size:.82rem}
thead th{background:#0c2742;text-align:left;padding:10px 11px;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;color:var(--gold-bright);border-bottom:1px solid var(--navy-line)}
tbody td{padding:10px 11px;border-bottom:1px solid #16314f;vertical-align:middle;color:#CFDAE6;overflow-wrap:anywhere}
tbody tr:hover{background:#0e2742}
tbody tr.bl{background:rgba(120,40,40,.14)}tbody tr.bl:hover{background:rgba(120,40,40,.22)}
.yearrow td{background:#0a2036;font-family:'Oswald',sans-serif;font-weight:600;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:.9rem}
.muted{color:var(--steel)}.rowact{display:flex;gap:6px}
.dcref{color:#aebfd2;font-family:'JetBrains Mono',monospace;font-size:.74rem;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.dccopy{background:none;border:1px solid var(--navy-line);color:var(--steel);border-radius:4px;cursor:pointer;font-size:.72rem;line-height:1;padding:2px 5px}
.dccopy:hover{border-color:var(--gold-dim);color:var(--gold-bright)}

/* status tags */
.tag{display:inline-flex;align-items:center;gap:5px;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;padding:4px 10px;border-radius:5px;white-space:nowrap;color:#fff}
.tag--mr{background:var(--purple)}.tag--vp{background:#C0392B}
.tag--homme{background:var(--blue)}.tag--femme{background:#C2538C}.tag--autre{background:var(--steel-dim)}
.tag--ok{background:var(--ok-dim);color:#bff0cd}.tag--no{background:var(--bad-dim);color:#f2c9c5}
.tag--accepte{background:var(--ok);color:#06140a}.tag--refuse{background:var(--bad);color:#1a0606}.tag--avoir{background:var(--warn);color:#1a0d02}
.tag--bl-yes{background:#C0392B}.tag--bl-no{background:#173a26;color:#9fdcb4}
.lock{font-size:.65rem;opacity:.8}
.pctcell{display:flex;align-items:center;gap:8px;min-width:120px}
.pctbar{flex:1;height:6px;background:#0a1c30;border-radius:99px;overflow:hidden}
.pctbar i{display:block;height:100%;border-radius:99px}
.pctnum{font-family:'JetBrains Mono',monospace;font-weight:500;width:40px;text-align:right}
.qbadge{font-family:'JetBrains Mono',monospace;font-size:.58rem;background:rgba(201,162,75,.18);color:var(--gold-bright);border:1px solid var(--gold-dim);border-radius:4px;padding:1px 5px;margin-left:2px}

/* tabs */
.tabs{display:flex;gap:6px;margin-bottom:6px;border-bottom:1px solid var(--navy-line)}
.tab{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;background:none;border:none;color:var(--steel);padding:12px 16px;cursor:pointer;border-bottom:3px solid transparent;transition:.18s}
.tab:hover{color:var(--white)}.tab.active{color:var(--gold-bright);border-bottom-color:var(--gold)}
.tab .badge{font-family:'JetBrains Mono',monospace;font-size:.64rem;background:#10243d;border:1px solid var(--navy-line);border-radius:99px;padding:1px 8px;margin-left:7px;color:var(--steel)}

/* modal */
.backdrop{position:fixed;inset:0;background:rgba(4,9,16,.74);backdrop-filter:blur(3px);z-index:120;display:none;align-items:flex-start;justify-content:center;padding:40px 18px;overflow:auto}
.backdrop.open{display:flex}
.modal{background:#0c1d31;border:1px solid var(--navy-line);border-radius:14px;width:100%;max-width:560px;box-shadow:0 30px 80px -20px #000}
.modal.wide{max-width:760px}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--navy-line)}
.modal-head h3{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:1.2rem}
.modal-head button{background:none;border:none;color:var(--steel);font-size:1.5rem;cursor:pointer;line-height:1}
.modal-head button:hover{color:var(--white)}
.modal-body{padding:20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.modal-foot{padding:16px 22px;border-top:1px solid var(--navy-line);display:flex;justify-content:flex-end;gap:10px}
.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}
.field label{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.field input,.field select,.field textarea{background:#0b1c31;border:1px solid var(--navy-line);border-radius:7px;color:var(--white);padding:10px 12px;font-family:inherit;font-size:.92rem;width:100%}
.field textarea{resize:vertical;min-height:60px;font-family:'Lora',serif}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-dim)}
input[readonly]{opacity:.6;cursor:not-allowed}
.bl-flag{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;font-size:.86rem;border:1px solid var(--navy-line)}
.bl-flag.yes{background:rgba(192,57,43,.14);border-color:#7a2a24;color:#f0b5b0}
.bl-flag.no{background:rgba(23,58,38,.4);border-color:#2f6e44;color:#9fdcb4}
.status-preview{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:.86rem;color:var(--steel)}
.pw-show{grid-column:1/-1;text-align:center;background:#0a2036;border:1px dashed var(--gold-dim);border-radius:10px;padding:16px}
.pw-show .pw{font-family:'JetBrains Mono',monospace;font-size:1.5rem;color:var(--gold-bright);letter-spacing:.1em;margin:8px 0;word-break:break-all}

/* home */
.home-hero{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:center;margin-bottom:42px}
.home-hero .seal{display:flex;justify-content:center}.home-hero .seal img{width:230px;height:230px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.55))}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr) 190px;gap:14px;margin-bottom:40px}
.stat{background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:12px;padding:18px 20px}
.stat .k{font-family:'Oswald',sans-serif;font-weight:600;font-size:2.2rem;color:var(--gold-bright);line-height:1}
.stat .l{font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.16em;color:var(--steel);text-transform:uppercase;margin-top:6px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:14px;padding:22px;transition:.2s;cursor:pointer}
.card:hover{border-color:var(--gold-dim);transform:translateY(-3px)}
.card .cnum{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.2em;color:var(--gold)}
.card h3{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:1.25rem;margin:8px 0 6px}
.card p{color:var(--steel);font-size:.88rem}

/* procedure */
.proc-grid{display:grid;grid-template-columns:1.5fr .9fr;gap:36px;align-items:center;margin-bottom:30px}
.shield-card{display:flex;flex-direction:column;align-items:center;gap:12px;background:rgba(13,30,52,.55);border:1px solid var(--navy-line);border-radius:14px;padding:24px 20px}
.shield-svg{width:140px}
.shield-pct{font-family:'Oswald',sans-serif;font-size:2.1rem;font-weight:600;color:var(--gold-bright);line-height:1}
.shield-pct small{font-size:.62rem;color:var(--steel);font-family:'JetBrains Mono',monospace;display:block;letter-spacing:.18em;margin-top:3px}
.shield-bar{width:100%;height:5px;background:#0a1c30;border-radius:99px;overflow:hidden}
.shield-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright));transition:width .5s}
.phase{padding:32px 0 4px}
.phase-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;border-bottom:1px solid var(--navy-line);padding-bottom:14px}
.phase-idx{font-family:'Oswald',sans-serif;font-weight:300;font-size:3rem;line-height:.8;color:var(--gold);opacity:.85}
.phase-head h2{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:1.5rem}
.phase-head .sub{font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.18em;color:var(--steel);text-transform:uppercase;margin-top:3px}
.steps{display:flex;flex-direction:column;gap:9px}
.step{display:flex;gap:14px;align-items:flex-start;background:rgba(14,33,56,.5);border:1px solid var(--navy-line);border-left:4px solid var(--mk,#2E6FE0);border-radius:var(--r);padding:13px 16px;cursor:pointer;transition:.18s}
.step:hover{background:rgba(20,46,76,.6)}.step.done{background:rgba(14,33,56,.3);border-left-color:var(--ok)}
.step.done .step-txt{color:var(--steel)}
.marker{flex:0 0 auto;width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-weight:600;color:#0b1119;background:var(--mk,#2E6FE0)}
.step-body{flex:1;min-width:0}.step-txt{font-size:.94rem;color:#CFDAE6}.step-txt strong{color:var(--white)}
.check{flex:0 0 auto;width:23px;height:23px;border-radius:50%;border:2px solid var(--steel-dim);margin-top:4px;position:relative;transition:.2s}
.step.done .check{border-color:var(--ok);background:var(--ok)}
.check svg{position:absolute;inset:0;margin:auto;width:12px;height:12px;opacity:0;transform:scale(.4);transition:.2s}
.step.done .check svg{opacity:1;transform:scale(1)}
.oath{background:radial-gradient(900px 500px at 50% 40%,#fbf7ec,var(--paper) 70%);color:var(--ink);border-radius:4px;padding:44px clamp(24px,5vw,60px) 40px;position:relative;overflow:hidden;box-shadow:0 28px 60px -30px #000,inset 0 0 0 1px var(--paper-line);border-top:5px solid var(--gold)}
.oath-eyebrow{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-dim);text-align:center;margin-bottom:9px}
.oath h3{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;text-align:center;font-size:clamp(1.2rem,3vw,1.7rem);letter-spacing:.03em;color:#1c2a3a;line-height:1.1}
.oath .rule{width:80px;height:2px;background:var(--gold);margin:13px auto 22px;position:relative}
.oath .rule::before,.oath .rule::after{content:"";position:absolute;top:-2px;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
.oath .rule::before{left:-12px}.oath .rule::after{right:-12px}
.oath p{font-family:'Lora',serif;font-size:1rem;color:var(--ink-soft);margin-bottom:13px}
.oath p.strong{color:var(--ink);font-weight:600}
.oath .led{font-family:'Lora',serif;font-weight:600;color:#1c2a3a;margin:22px 0 11px;font-size:1.03rem}
.oath ul{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:8px}
.oath li{font-family:'Lora',serif;color:var(--ink-soft);padding-left:28px;position:relative;font-size:.98rem}
.oath li::before{content:"";position:absolute;left:4px;top:.55em;width:9px;height:9px;background:var(--gold);transform:rotate(45deg)}
.oath li strong{color:var(--ink)}
.oath .closing{margin-top:24px;padding-top:16px;border-top:1px dashed var(--paper-line)}
.oath .pledge{font-family:'Lora',serif;font-style:italic;color:#1c2a3a;font-weight:500;background:#e9e0c9;border-left:3px solid var(--gold);padding:12px 16px;border-radius:0 4px 4px 0;margin-top:16px}

/* questionnaire taking */
.q-legend{display:flex;flex-direction:column;gap:4px;margin:18px 0;max-width:520px}
.q-legend div{font-size:.82rem;padding:7px 14px;border-radius:6px;font-weight:500}
.q-legend .l-ref{background:rgba(214,88,79,.18);border:1px solid #7a2a24;color:#f0b5b0}
.q-legend .l-avoir{background:rgba(232,134,30,.16);border:1px solid #8a5a1e;color:#f0cda0}
.q-legend .l-acc{background:rgba(79,179,106,.16);border:1px solid #2f6e44;color:#a7e8bb}
.q-setup{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:12px;padding:18px;margin-bottom:18px}
.q-chooser{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.qtable{}
.qtable th.qcol{text-align:center;width:54px;font-size:.95rem;color:#fff;font-family:'Oswald',sans-serif}
.qcol-E{background:#9a1f1f!important}.qcol-1{background:#c0563f!important}.qcol-2{background:#d98c4e!important;color:#3a2407!important}.qcol-3{background:#e3c64f!important;color:#3a2f07!important}.qcol-4{background:#5cb98a!important;color:#06281a!important}
.qtable td.qcell{text-align:center;background:rgba(11,28,49,.3)}
.qtable td.qtext{font-size:.9rem;color:#dce6f0}
.elim{display:inline-block;font-family:'Oswald',sans-serif;font-size:.6rem;letter-spacing:.08em;background:#9a1f1f;color:#fff;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:middle}
.qtable input[type=radio]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--steel-dim);border-radius:4px;cursor:pointer;position:relative;vertical-align:middle}
.qtable input[type=radio]:checked{border-color:var(--gold);background:var(--gold)}
.qtable input[type=radio]:checked::after{content:"";position:absolute;inset:3px;background:#0b1119;border-radius:1px}
.qtable tr.totrow td{background:#0a2036;font-family:'Oswald',sans-serif;font-weight:600;color:var(--gold-bright);font-size:1rem}
.q-scorebar{position:sticky;bottom:0;display:flex;align-items:center;gap:20px;background:rgba(8,18,32,.94);backdrop-filter:blur(8px);border:1px solid var(--navy-line);border-radius:12px;padding:14px 20px;margin-top:12px;flex-wrap:wrap;z-index:30}
.q-score{font-family:'Oswald',sans-serif;font-weight:600;font-size:2.4rem;color:var(--gold-bright);line-height:1}
.q-score small{font-size:1rem;color:var(--steel);margin-left:2px}
.q-scoremeta{display:flex;flex-direction:column;gap:7px;font-size:.86rem}

/* accounts */
.acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.acc{background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:12px;padding:16px;display:flex;gap:14px;align-items:flex-start}
.acc .info{flex:1;min-width:0}
.acc .info b{font-size:1rem}
.acc .info .meta{font-family:'JetBrains Mono',monospace;font-size:.66rem;color:var(--steel);margin-top:3px}
.acc .acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}

/* profile */
.prof{display:grid;grid-template-columns:auto 1fr;gap:30px;background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:16px;padding:28px;max-width:760px}
.prof .photo{text-align:center}
.prof .photo .avatar{margin-bottom:12px}
.prof .pblock{margin-bottom:18px}
.prof .pblock h4{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.95rem;color:var(--gold-bright);margin-bottom:10px}
.prow{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}

/* questionnaire editor */
.qe-card{background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:12px;padding:18px;margin-bottom:16px}
.qe-head{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.qe-q{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.qe-q input[type=text]{flex:1;background:#0b1c31;border:1px solid var(--navy-line);border-radius:6px;color:var(--white);padding:8px 10px;font-size:.88rem}
.qe-q label{font-family:'JetBrains Mono',monospace;font-size:.62rem;color:var(--steel);display:flex;align-items:center;gap:5px;white-space:nowrap}

/* ---------- section banners ---------- */
.view-head{position:relative;background-size:cover;background-position:center 35%;border-bottom:1px solid var(--navy-line);margin-bottom:30px}
.view-head::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,16,29,.96),rgba(6,16,29,.8) 48%,rgba(6,16,29,.5))}
.vh-inner{position:relative;z-index:2;padding:40px 22px}
.vh-inner .eyebrow{margin-bottom:12px}
.vh-inner .title{font-size:clamp(1.7rem,4vw,2.7rem)}
.vh-inner .lead{margin-top:10px}
.bg-q{background-image:url(/assets/banner-questionnaire.jpg)}
.bg-bl{background-image:url(/assets/banner-blacklist.jpg)}
.bg-ck{background-image:url(/assets/banner-checklists.jpg)}
.bg-stat{background-image:url(/assets/banner-stats.jpg)}

/* ---------- hero banner ---------- */
.hero-banner{position:relative;background-size:cover;background-position:center;border-bottom:1px solid var(--navy-line);margin-bottom:36px}
.hero-banner .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,16,29,.96),rgba(6,16,29,.82) 45%,rgba(6,16,29,.45));}
.hero-inner{position:relative;z-index:2;padding:54px 22px}
.hero-inner .home-hero{margin-bottom:0}
/* showcase / poster / gallery */
.showcase{display:grid;grid-template-columns:300px 1fr;gap:30px;margin-top:40px;align-items:center;background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:16px;padding:24px}
.poster img{width:100%;border-radius:10px;display:block;box-shadow:0 18px 40px -16px #000;border:1px solid var(--navy-line)}
.sc-title{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:1.8rem;line-height:1.05;margin:6px 0 10px}
.sc-title em{font-style:normal;color:var(--gold)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid var(--navy-line);filter:grayscale(.15) contrast(1.02);transition:.25s}
.gallery img:hover{filter:none;transform:translateY(-3px);border-color:var(--gold-dim)}
.sub-h{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:1.3rem;margin:34px 0 14px;color:var(--gold-bright)}
/* mini stats (profil) */
.mini-stats{display:flex;flex-wrap:wrap;gap:10px}
.ms{background:#0b1c31;border:1px solid var(--navy-line);border-radius:10px;padding:12px 16px;min-width:86px;text-align:center}
.msk{display:block;font-family:'Oswald',sans-serif;font-weight:600;font-size:1.7rem;color:var(--gold-bright);line-height:1}
.msl{display:block;font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin-top:5px}
/* checklist filters */
.ck-filters{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-family:'Oswald',sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;background:#0b1c31;border:1px solid var(--navy-line);color:var(--steel);padding:8px 13px;border-radius:99px;cursor:pointer;transition:.16s}
.chip:hover{color:var(--white);border-color:var(--gold-dim)}
.chip.active{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}
/* blacklist */
.bl-banner{display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:linear-gradient(90deg,rgba(120,40,40,.18),var(--navy-soft) 60%);border:1px solid #5e2a26;border-left:4px solid var(--bad);border-radius:14px;padding:18px 22px;margin:18px 0 4px}
.bl-stat{text-align:center}
.bl-stat .k{font-family:'Oswald',sans-serif;font-weight:600;font-size:2rem;color:#f0b5b0;line-height:1}
.bl-stat .l{font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);display:block;margin-top:4px}
.bl-note{flex:1;min-width:200px;font-size:.84rem;color:#e7c3bf;padding-left:18px;border-left:1px solid #5e2a26}
.bl-ava{width:30px;height:30px;border-radius:7px;background:#3a1f1f;border:1px solid #6e2f2f;display:inline-flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-weight:600;font-size:.74rem;color:#f0b5b0;flex:0 0 auto}
.bl-timer{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.6rem;background:#15324a;border:1px solid var(--navy-line);color:#9fd0e0;border-radius:4px;padding:1px 6px;margin-left:6px;white-space:nowrap}
.bl-timer.soon{background:#4a2a16;border-color:#8a5a1e;color:#f0c79a}
tr.bl-vp td:first-child{box-shadow:inset 3px 0 0 var(--bad)}
tr.bl-mr td:first-child{box-shadow:inset 3px 0 0 var(--purple)}
.matin{background:#0b1c31;border:1px solid var(--navy-line);border-radius:5px;color:var(--gold-bright);padding:3px 7px;font-family:'JetBrains Mono',monospace;font-size:.72rem;width:120px}
.matin:focus{outline:none;border-color:var(--gold-dim)}
#toast-wrap{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{background:#0c1d31;border:1px solid var(--gold-dim);border-left:4px solid var(--gold);border-radius:9px;padding:12px 18px;color:var(--white);font-size:.88rem;box-shadow:0 16px 40px -14px #000;animation:toastin .25s ease;max-width:90vw}
@keyframes toastin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pwbox{font-family:'JetBrains Mono',monospace;font-size:1.3rem;color:var(--gold-bright);letter-spacing:.08em;background:#0a2036;border:1px dashed var(--gold-dim);border-radius:8px;padding:12px;text-align:center;margin:10px 0;word-break:break-all}

.empty{text-align:center;padding:44px 20px;color:var(--steel)}
.empty svg{width:40px;height:40px;color:var(--steel-dim);margin-bottom:12px}
footer{border-top:1px solid var(--navy-line);padding:24px 0 44px;margin-top:50px}
.foot-in{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.foot-in p{font-family:'JetBrains Mono',monospace;font-size:.64rem;color:var(--steel-dim);letter-spacing:.1em}

@media(max-width:900px){.home-hero{grid-template-columns:1fr}.home-hero .seal{order:-1}.stat-row{grid-template-columns:1fr 1fr}.stat-chart{grid-column:1/-1}.cards{grid-template-columns:1fr}.proc-grid{grid-template-columns:1fr}.modal-body{grid-template-columns:1fr}.q-setup{grid-template-columns:1fr 1fr}.prof{grid-template-columns:1fr}.showcase{grid-template-columns:1fr}.poster{max-width:300px;margin:0 auto}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* --- Rôles multiples & journal --- */
.role-picker{display:flex;flex-wrap:wrap;gap:8px}
.role-picker label{display:flex;align-items:center;gap:7px;background:#0b1c31;border:1px solid var(--navy-line);border-radius:7px;padding:8px 12px;cursor:pointer;font-size:.8rem;color:#cfe0f2;transition:.15s}
.role-picker label:hover{border-color:#2c557f}
.role-picker input{accent-color:var(--gold)}
.role-picker label.on{background:#13243a;border-color:var(--gold);color:#fff}
.gtag+.gtag{margin-left:4px}
.acc .roles-edit{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.acc .roles-edit label{display:flex;align-items:center;gap:5px;font-size:.7rem;background:#0b1c31;border:1px solid var(--navy-line);border-radius:5px;padding:4px 8px;cursor:pointer;color:#bcd0e6}
.acc .roles-edit label.on{border-color:var(--gold);color:#fff}
.acc .roles-edit input{accent-color:var(--gold)}
.log-action-tag{font-family:'JetBrains Mono',monospace;font-size:.66rem;padding:2px 7px;border-radius:4px;background:#10243d;border:1px solid #1E3A5C;color:#bcd0e6;white-space:nowrap}
.log-action-tag.warn{background:#3a1f1f;border-color:#6e2f2f;color:#f0b5b0}
.log-action-tag.good{background:#16301f;border-color:#2c5a3a;color:#9fdcb4}
.log-action-tag.act{background:#2a2342;border-color:#473a6b;color:#c9b8f0}
#log-body td{font-size:.78rem}
#log-body .lt-time{font-family:'JetBrains Mono',monospace;color:#9fb4cc;white-space:nowrap;font-size:.72rem}
#log-body .lt-ip{font-family:'JetBrains Mono',monospace;color:#6f8298;font-size:.68rem}

/* --- Panneau permissions --- */
.perm-panel{background:linear-gradient(180deg,#0c1d33,#0a1729);border:1px solid var(--navy-line);border-radius:14px;padding:18px 20px;margin-bottom:22px}
.perm-title{display:flex;flex-direction:column;gap:3px;margin-bottom:14px}
.perm-title h3{font-family:'Oswald',sans-serif;font-size:1.1rem;color:#fff;margin:0;letter-spacing:.3px}
.perm-table th,.perm-table td{text-align:center}
.perm-table th:first-child,.perm-table td.perm-cap{text-align:left}
.perm-cap{color:#d6e4f5;font-size:.82rem;max-width:340px}
.perm-cell input{width:17px;height:17px;accent-color:var(--gold);cursor:pointer}
.perm-foot{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:14px}

/* --- Hiérarchie des rôles --- */
.role-hier{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:18px}
.role-card{background:#0b1c31;border:1px solid var(--navy-line);border-radius:11px;padding:13px 14px;position:relative}
.role-card.r-admin{border-color:#5a4a1e;background:linear-gradient(180deg,#1a1606,#0b1c31)}
.rc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.rc-lvl{font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.rc-rights{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.rc-rights li{font-size:.76rem;color:#cfe0f2;padding-left:16px;position:relative;line-height:1.35}
.rc-rights li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.rc-rights li.none{color:var(--steel)}
.rc-rights li.none::before{background:#3a4d63}
.perm-subtitle{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:#9fb4cc;margin:6px 0 10px;padding-top:12px;border-top:1px solid var(--navy-line)}

/* --- Statut à évaluer --- */
.tag--attente{background:#1c3050;color:#a9c2e2;border:1px solid #34537d}
/* --- Bannière questionnaire rattaché --- */
.q-linked{background:#13243a;border:1px solid var(--gold);border-radius:9px;padding:11px 15px;margin-bottom:16px;font-size:.86rem;color:#f0e2c0}
/* --- Récapitulatif --- */
.rc-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:22px;align-items:start}
.rc-field-row{display:flex;gap:12px;flex-wrap:wrap}
.rc-field-row .field{flex:1;min-width:120px}
.rc-recruiters-head{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;color:#9fb4cc;margin:14px 0 8px}
#rc-recruiters{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto;margin-bottom:14px;padding-right:4px}
.rc-recr{display:flex;align-items:center;gap:10px;background:#0b1c31;border:1px solid var(--navy-line);border-radius:8px;padding:8px 12px;cursor:pointer}
.rc-recr input{accent-color:var(--gold)}
.rc-recr .rc-mat{font-family:'JetBrains Mono',monospace;font-weight:700;color:#fff;font-size:.82rem}
.rc-recr .rc-nm{font-size:.76rem}
.rc-recr .rc-cnt{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--gold)}
.rc-out-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;color:#9fb4cc}
#rc-output{width:100%;background:#06101d;border:1px solid var(--navy-line);border-radius:10px;color:#dfeaf6;font-family:'JetBrains Mono',monospace;font-size:.76rem;line-height:1.5;padding:14px;resize:vertical}
#rc-comment{width:100%;background:#0b1c31;border:1px solid var(--navy-line);border-radius:8px;color:#fff;padding:9px 11px;font-family:'Inter',sans-serif;resize:vertical}
@media(max-width:900px){.rc-grid{grid-template-columns:1fr}}
.rc-pres{font-family:'JetBrains Mono',monospace;font-size:.62rem;padding:2px 8px;border-radius:5px;white-space:nowrap}
.rc-pres.ok{background:#16301f;border:1px solid #2c5a3a;color:#9fdcb4}
.rc-pres.no{background:#2a1a1a;border:1px solid #4d2f2f;color:#d6a6a0}

/* --- Sections panel admin --- */
.admin-sec{background:linear-gradient(180deg,#0c1d33,#0a1729);border:1px solid var(--navy-line);border-radius:14px;padding:18px 20px;margin-bottom:22px}
.admin-sec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.admin-h2{font-family:'Oswald',sans-serif;font-size:1.25rem;color:#fff;margin:0;letter-spacing:.4px;text-transform:uppercase}
.admin-sub{margin:4px 0 0;font-size:.82rem;color:#9fb4cc;max-width:640px;line-height:1.45}
.perm-block-title{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.84rem;color:#cfe0f2;margin:18px 0 12px;padding-bottom:7px;border-bottom:1px solid var(--navy-line)}
.perm-table thead th{background:#0e2138;font-size:.74rem}
.perm-cell input{width:18px;height:18px;accent-color:var(--gold);cursor:pointer}

/* --- Récap : présence manuelle --- */
.rc-recr{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rc-check{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.72rem;color:#cfe0f2;background:#0e2138;border:1px solid var(--navy-line);border-radius:6px;padding:5px 9px;transition:.15s}
.rc-check:hover{border-color:var(--gold)}
.rc-check input{accent-color:var(--gold)}
.rc-info{font-family:'JetBrains Mono',monospace;font-size:.66rem}

/* --- Animations menu latéral --- */
.side-nav a{position:relative;transition:background .16s ease,color .16s ease,transform .16s ease}
.side-nav a svg{transition:transform .16s ease}
.side-nav a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;border-radius:0 3px 3px 0;background:var(--gold);transition:height .18s ease}
.side-nav a:hover{transform:translateX(5px)}
.side-nav a:hover svg{transform:scale(1.15)}
.side-nav a:hover::before{height:62%}
.side-nav a.active{transform:none}
.side-nav a.active::before{height:0}
.tb-user .btn-av,.tb-brand img{transition:transform .18s ease}
.tb-user .btn-av:hover{transform:scale(1.08)}
.tb-brand:hover img{transform:rotate(-6deg)}
.acc{transition:transform .15s ease,border-color .15s ease}
.acc:hover{transform:translateY(-2px);border-color:#2c557f}

/* --- Aide flux checklist --- */
.flow-help{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#0e2138;border:1px solid var(--navy-line);border-radius:10px;padding:11px 15px;margin-top:18px;font-size:.82rem;color:#cfe0f2}
.flow-step{flex:1;min-width:220px}
.flow-step b{color:var(--gold)}
.flow-arrow{color:var(--gold);font-size:1.2rem;font-weight:700}

/* --- Effectifs / annuaire --- */
.ef-group{margin-bottom:26px}
.ef-cat{display:flex;align-items:center;gap:10px;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.92rem;color:var(--gold);padding:0 2px 10px;border-bottom:1px solid var(--navy-line);margin-bottom:14px}
.ef-cnt{font-family:'JetBrains Mono',monospace;font-size:.66rem;color:#8fa1b8;background:#0e2138;border:1px solid var(--navy-line);border-radius:20px;padding:2px 9px;letter-spacing:.04em}
.ef-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.ef-card{display:flex;align-items:center;gap:14px;background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:12px;padding:13px 15px;transition:border-color .15s,transform .15s}
.ef-card:hover{border-color:#2c557f;transform:translateY(-1px)}
.ef-ava{width:42px;height:42px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-weight:600;font-size:.95rem;color:#fff;background:linear-gradient(135deg,var(--ac,#46607f),rgba(0,0,0,.25));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.ef-main{flex:1;min-width:0}
.ef-name{font-family:'Oswald',sans-serif;font-weight:500;font-size:1rem;color:#f3f7fc;line-height:1.15}
.ef-tags{display:flex;flex-wrap:wrap;gap:4px;margin:5px 0 4px}
.ef-l2{font-size:.74rem;color:#8fa1b8;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.ef-mat{font-family:'JetBrains Mono',monospace;color:#cfe0f2}
.ef-l2 a{color:#7fb8e0}
.ef-end{flex:none;display:flex;align-items:center;gap:5px}
.ef-badge{font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:#8fa1b8;background:#0e2138;border:1px solid var(--navy-line);border-radius:6px;padding:4px 8px}
#arch-list .ef-card{margin-bottom:9px}
.arch-card .ef-l2{font-size:.72rem}
@media(max-width:560px){.ef-cards{grid-template-columns:1fr}}
.bl-duree{color:#E06A60;font-weight:600}

/* ===== Gestion des rôles (workbench) ===== */
.rolewb{margin:18px 0 44px}
.rolewb-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.rolewb-bar-l{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rolewb-eyebrow{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:#7f93ad}
.mini-search{display:flex;align-items:center;gap:7px;background:#091627;border:1px solid var(--line,#1c2c44);border-radius:8px;padding:6px 10px}
.mini-search svg{width:13px;height:13px;color:#647391}
.mini-search input{background:none;border:none;outline:none;color:#dce6f3;font-size:.82rem;width:130px}
/* Bandeau horizontal de tuiles de rôles */
.roles-strip{display:flex;flex-wrap:wrap;gap:10px;padding:4px 0 12px;margin-bottom:18px}
.rtile{flex:1 1 168px;max-width:240px;text-align:left;background:#0b1a2e;border:1px solid var(--line,#1c2c44);border-radius:13px;padding:13px 15px 12px;cursor:pointer;transition:.16s;position:relative;overflow:hidden;color:inherit}
.rtile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gc,#5E76A0);opacity:.55;transition:.16s}
.rtile:hover{border-color:#33507a;transform:translateY(-2px)}
.rtile.on{border-color:var(--gc,#5E76A0);background:#10223a;box-shadow:0 6px 18px -10px var(--gc,#5E76A0)}
.rtile.on::before{opacity:1;width:5px}
.rtile.draft{border-style:dashed}
.rtile-top{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.rtile-dot{width:11px;height:11px;border-radius:50%;background:var(--gc,#5E76A0);flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--gc,#5E76A0) 22%,transparent)}
.rtile-name{font-family:'Oswald',sans-serif;font-weight:500;font-size:.96rem;color:#eaf1fb;white-space:nowrap}
.rtile-lock{color:var(--gold,#C9A24B);font-size:.8rem;margin-left:auto}
.rtile-sub{font-size:.72rem;color:#8195af}
/* Éditeur pleine largeur */
.role-editor{position:relative;background:var(--panel,#0d1b2f);border:1px solid var(--line,#1c2c44);border-radius:16px;padding:24px 26px 0;overflow:hidden}
.re-empty{padding:60px 20px;text-align:center;color:#7f93ad}
.re-empty-ic{font-size:2.4rem;opacity:.5;margin-bottom:8px}
.re-accent{position:absolute;left:0;right:0;top:0;height:4px}
.re-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.re-head .role-ava.lg{width:54px;height:54px;border-radius:14px;font-size:1.45rem;flex:none}
.re-titles{flex:1;min-width:220px;display:flex;flex-direction:column;gap:8px}
.re-name{font-family:'Oswald',sans-serif;font-size:1.45rem;font-weight:600;color:#f3f7fc;background:transparent;border:none;border-bottom:1.5px solid transparent;padding:2px 0;width:100%}
.re-name:hover{border-bottom-color:#23375a}.re-name:focus{outline:none;border-bottom-color:var(--gold,#C9A24B)}
.re-desc{font-size:.86rem;color:#c4d2e4;background:transparent;border:none;border-bottom:1px solid transparent;padding:3px 0;width:100%}
.re-desc:hover{border-bottom-color:#23375a}.re-desc:focus{outline:none;border-bottom-color:var(--gold,#C9A24B)}
.re-side{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.re-chip{background:#0b1a2e;border:1px solid var(--line,#1c2c44);border-radius:11px;padding:7px 13px;text-align:center;min-width:60px}
.re-chip-k{display:block;font-family:'Oswald',sans-serif;font-size:1.3rem;font-weight:600;color:#eaf1fb;line-height:1}
.re-chip-l{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:#7f93ad}
.re-field label{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:#7f93ad;margin-bottom:4px}
.re-field input[type=color]{width:46px;height:36px;padding:2px;border:1px solid var(--line,#1c2c44);border-radius:9px;background:#091627;cursor:pointer}
.re-field input[type=number]{width:62px;height:36px;background:#091627;border:1px solid var(--line,#1c2c44);border-radius:9px;color:#eaf1fb;padding:0 9px;font-family:'JetBrains Mono',monospace}
.re-protected{background:rgba(201,162,75,.1);border:1px solid rgba(201,162,75,.3);color:#e7d3a3;border-radius:11px;padding:11px 14px;font-size:.82rem;margin-bottom:16px;line-height:1.45}
.re-permhead{display:flex;align-items:baseline;justify-content:space-between;margin:4px 0 8px}
.re-permhead>span:first-child{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;color:#aebdd2}
.re-pct{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--gold,#C9A24B)}
.re-progress{height:6px;border-radius:6px;background:#091627;overflow:hidden;margin-bottom:18px}
.re-progress i{display:block;height:100%;border-radius:6px;transition:width .25s}
/* Catégories en accordéon simple, pleine largeur */
.pcats{display:flex;flex-direction:column;gap:11px;padding-bottom:90px}
.pcat{background:#0b1a2e;border:1px solid var(--line,#1c2c44);border-radius:13px;overflow:hidden}
.pcat-h{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#0e1f36}
.pcat-name{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;color:#eaf1fb;flex:1}
.pcat-frac{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:#8aa0bd;background:#091627;border-radius:6px;padding:2px 8px}
.pcat-rows{padding:6px 8px 8px}
.prow{display:flex;align-items:center;gap:16px;padding:12px 12px;border-radius:10px;transition:.14s}
.prow+.prow{margin-top:2px}
.prow:hover{background:#0e1f36}
.prow.on{background:color-mix(in srgb,var(--blue,#5E76A0) 9%,transparent)}
.prow-t{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.prow-n{font-size:.9rem;color:#eaf1fb;font-weight:500}
.prow-d{font-size:.74rem;color:#8195af;line-height:1.4}
/* Interrupteurs */
.sw{position:relative;display:inline-flex;flex:none;cursor:pointer}
.sw input{position:absolute;opacity:0;width:0;height:0}
.sw-tr{width:42px;height:24px;border-radius:30px;background:#1b2c46;border:1px solid #2a3e5e;position:relative;transition:.2s}
.sw-tr::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#7d92ae;transition:.2s}
.sw input:checked+.sw-tr{background:var(--gold,#C9A24B);border-color:var(--gold,#C9A24B)}
.sw input:checked+.sw-tr::after{transform:translateX(18px);background:#0b1119}
.sw input:disabled+.sw-tr{opacity:.45;cursor:not-allowed}
.sw-master .sw-tr{width:38px;height:22px}
.sw-master .sw-tr::after{width:16px;height:16px}
.sw-master.part .sw-tr{background:#3a5278;border-color:#46618c}
.sw-master.part .sw-tr::after{transform:translateX(9px);background:#cdd9e8}
/* Barre d'enregistrement collante */
.re-foot{position:sticky;bottom:0;left:0;right:0;margin:0 -26px;padding:13px 26px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(to top,var(--panel,#0d1b2f) 70%,transparent);border-top:1px solid var(--line,#1c2c44);opacity:.65;transition:.18s}
.re-foot.dirty{opacity:1}
.re-dirty{font-size:.78rem;color:#E8861E;opacity:0;transition:.18s}
.re-foot.dirty .re-dirty{opacity:1}
.re-foot-a{display:flex;align-items:center;gap:10px;margin-left:auto}
.btn.ghost{background:transparent}
/* ===== Consultation questionnaire (compacte, 1 page) ===== */
.modal.lg{max-width:780px;width:95vw}
#qv-body{display:block;max-height:80vh;overflow:auto}
.qv-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--navy-line)}
.qv-name{font-family:'Oswald',sans-serif;font-size:1.35rem;font-weight:600;color:#f3f7fc;line-height:1.1}
.qv-sub{font-size:.8rem;color:var(--gold);margin-top:2px}
.qv-meta{display:flex;flex-direction:column;gap:3px;font-size:.76rem;color:#8fa1b8}
.qv-meta b{color:#dce6f3}
.qv-score{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.qv-pct{font-family:'Oswald',sans-serif;font-weight:700;font-size:2.2rem;line-height:.9;color:var(--gold)}
.qv-pct i{font-size:1rem;font-style:normal;color:#8fa1b8;margin-left:2px}
.qv-elim{background:rgba(214,88,79,.12);border:1px solid rgba(214,88,79,.4);color:#f0a59d;border-radius:9px;padding:9px 13px;font-size:.82rem;margin-bottom:14px}
#qv-modal .modal{max-width:980px}
.qv-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media(max-width:780px){.qv-cols{grid-template-columns:1fr}}
.qv-tot{margin-top:14px;text-align:center;font-family:'Oswald',sans-serif;font-size:1rem;color:#dce6f3;background:#0a2036;border:1px solid var(--navy-line);border-radius:10px;padding:11px}
.qv-tot b{color:var(--gold-bright)}
.qtable-ro{width:100%}
.qtable-ro th{padding:7px 8px;font-size:.78rem}
.qtable-ro th.qcol{width:30px;font-size:.82rem}
.qtable-ro td.qtext{padding:7px 9px;font-size:.78rem;line-height:1.35}
.qtable-ro td.qcell{padding:4px 2px;width:30px}
.qtable-ro .elim{font-size:.52rem;padding:1px 4px;margin-left:4px}
.qtable-ro .qmark{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:5px;font-family:'Oswald',sans-serif;font-weight:600;font-size:.75rem;color:#0b1119}
.qcell-on.on-e .qmark{background:#D6584F;color:#fff}
.qcell-on.on-mid .qmark{background:#E8861E}
.qcell-on.on-good .qmark{background:#4FB36A}
.qv2-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line,#1c2c44);flex-wrap:wrap}
.qv2-name{font-family:'Oswald',sans-serif;font-size:1.4rem;font-weight:600;color:#f3f7fc;line-height:1.1}
.qv2-sub{font-size:.82rem;color:var(--gold,#C9A24B);margin-top:2px}
.qv2-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.76rem;color:#8fa1b8;margin-top:7px}
.qv2-meta b{color:#dce6f3}
.qv2-score{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.qv2-pct{font-family:'Oswald',sans-serif;font-weight:700;font-size:2.5rem;line-height:.9;color:var(--gold,#C9A24B)}
.qv2-pct i{font-size:1.1rem;font-style:normal;color:#8fa1b8;margin-left:2px}
.qv2-elim{margin-top:12px;background:rgba(214,88,79,.12);border:1px solid rgba(214,88,79,.4);color:#f0a59d;border-radius:9px;padding:9px 13px;font-size:.82rem}
.qv2-legend{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0 10px;font-size:.72rem;color:#8fa1b8}
.qv2-legend b{margin-right:5px;width:20px;height:20px;font-size:.66rem}
.qv2-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
@media(max-width:600px){.qv2-grid{grid-template-columns:1fr}.qv2-pct{font-size:2rem}}
.qvc{display:flex;align-items:center;gap:10px;background:#0b1a2e;border:1px solid var(--line,#1c2c44);border-radius:9px;padding:8px 11px}
.qvc-i{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:#647391;min-width:16px;text-align:right}
.qvc-q{flex:1;font-size:.82rem;color:#dce6f3;line-height:1.3;min-width:0}
.qvc-elim{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:6px;border-radius:50%;background:#D6584F;color:#fff;font-size:.62rem;font-weight:700;vertical-align:middle}
.qvc-note{flex:none;width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-weight:600;font-size:.82rem;color:#0b1119}
.qvc-note.na{background:#1b2c46;color:#647391}
.qvc-note.e{background:#D6584F;color:#fff}
.qvc-note.mid{background:#E8861E}
.qvc-note.good{background:#4FB36A}
#a-roles label{--gc:#5E76A0}
#a-roles label.on{border-color:var(--gc);box-shadow:0 0 0 1px var(--gc) inset}

/* Logo LSPD sur les rôles + bouton supprimer */
.rtile-ico{flex:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--gc,#5E76A0) 26%,#0a1626);box-shadow:inset 0 0 0 1.5px var(--gc,#5E76A0)}
.rtile-ico img{width:21px;height:21px;object-fit:contain}
.role-ava.lg{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.role-ava.lg .ra-seal{width:64%;height:64%;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.re-watermark{position:absolute;right:-30px;top:-24px;width:190px;height:190px;object-fit:contain;opacity:.05;pointer-events:none}
.re-head{position:relative;z-index:1}
.re-del{margin-left:4px;align-self:center}
/* Anti-scroll horizontal : tout tient sur une page */
html,body{max-width:100%;overflow-x:hidden}
.wrap{max-width:1180px}
.rowact{flex-wrap:wrap}

/* ===== Ressources (liens utiles) ===== */
.res-root{margin:18px 0 44px;display:flex;flex-direction:column;gap:26px}
.res-group-h{display:flex;align-items:center;gap:10px;margin-bottom:13px}
.res-emoji{font-size:1.15rem}
.res-group-h h2{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:1.02rem;color:#eaf1fb;margin:0}
.res-staff{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;background:rgba(201,162,75,.16);color:var(--gold,#C9A24B);padding:2px 8px;border-radius:20px;font-weight:600}
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:13px}
.res-card{position:relative;display:flex;flex-direction:column;gap:5px;background:#0b1a2e;border:1px solid var(--line,#1c2c44);border-radius:13px;padding:15px 16px 14px;text-decoration:none;transition:.16s;overflow:hidden}
.res-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#5865F2;transition:.16s}
.res-card.k-canva::before{background:#7C5CFF}
.res-card.k-invite::before{background:#3FB6B0}
.res-card:hover{transform:translateY(-3px);border-color:#33507a;box-shadow:0 12px 26px -16px #000}
.res-kind{font-size:.6rem;text-transform:uppercase;letter-spacing:.07em;color:#8195af;font-weight:600}
.res-label{font-family:'Oswald',sans-serif;font-weight:500;font-size:1.02rem;color:#f1f6fc}
.res-desc{font-size:.78rem;color:#90a2ba;line-height:1.4;flex:1}
.res-go{font-size:.76rem;color:var(--gold,#C9A24B);font-weight:600;margin-top:6px;transition:.16s}
.res-card:hover .res-go{letter-spacing:.04em}

/* Liens cliquables dans la procédure */
.step-link{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-size:.74rem;font-weight:600;color:var(--gold,#C9A24B);text-decoration:none;background:rgba(201,162,75,.1);border:1px solid rgba(201,162,75,.28);border-radius:7px;padding:4px 10px;transition:.15s;width:fit-content}
.step-link:hover{background:rgba(201,162,75,.2);border-color:var(--gold,#C9A24B);transform:translateX(2px)}
.step.done .step-link{opacity:.85}

/* Rôle verrouillé (rang >= au mien) dans le picker */
.role-picker label.locked{cursor:not-allowed;opacity:.6;background:#0a1626;border-style:dashed;color:#9fb1c8}
.role-picker label.locked:hover{border-color:var(--navy-line)}

/* ===== Barre de navigation par semaine (checklist) ===== */
.ck-weekbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;background:#0b1c31;border:1px solid var(--navy-line);border-radius:11px}
.wk-nav{width:32px;height:32px;border-radius:8px;background:#0e2742;border:1px solid var(--navy-line);color:#cfe0f2;font-size:1.15rem;line-height:1;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center}
.wk-nav:hover{border-color:var(--gold);color:#fff}
.wk-nav:disabled{opacity:.35;cursor:not-allowed}
.wk-select{background:#0e2742;border:1px solid var(--navy-line);border-radius:8px;color:#eaf1fb;padding:8px 12px;font-family:'Oswald',sans-serif;font-size:.86rem;letter-spacing:.02em;cursor:pointer;min-width:230px}
.wk-select:focus{outline:none;border-color:var(--gold)}
.wk-count{font-size:.78rem;color:#8fa1b8;margin-left:4px}
.wk-tag{margin-left:auto;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#4FB36A;font-weight:600}
.ck-weekbar .btn.sm{margin-left:auto}

/* ===== Mon espace ===== */
.me-root{margin:18px 0 44px}
.me-hero{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#0e2138,#0b1a2e);border:1px solid var(--navy-line);border-radius:16px;padding:20px 22px;margin-bottom:26px;flex-wrap:wrap}
.me-ava{width:64px;height:64px;border-radius:16px;overflow:hidden;flex:none;background:#13243a;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px var(--navy-line)}
.me-ava img{width:100%;height:100%;object-fit:cover}
.me-ava span{font-family:'Oswald',sans-serif;font-size:1.7rem;font-weight:600;color:var(--gold)}
.me-id{flex:1;min-width:200px}
.me-hello{font-family:'Oswald',sans-serif;font-size:1.3rem;color:#f1f6fc;margin-bottom:6px}
.me-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}
.me-meta{display:flex;flex-wrap:wrap;gap:5px 16px;font-size:.78rem;color:#8fa1b8}
.me-meta b{color:#dce6f3}
.me-week{text-align:right}
.me-week-l{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:#7f93ad}
.me-week-v{display:block;font-family:'Oswald',sans-serif;font-size:.96rem;color:var(--gold);margin-top:3px}
.me-sec{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.86rem;color:#aebdd2;margin:0 0 12px}
.me-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:26px}
@media(max-width:820px){.me-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.me-stats{grid-template-columns:repeat(2,1fr)}}
.me-stat{background:#0b1a2e;border:1px solid var(--navy-line);border-radius:12px;padding:15px 14px;text-align:center}
.me-k{font-family:'Oswald',sans-serif;font-size:1.7rem;font-weight:600;color:#eaf1fb;line-height:1}
.me-l{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#8195af;margin-top:6px}
.me-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
@media(max-width:820px){.me-grid{grid-template-columns:1fr}}
.me-panel{background:#0b1a2e;border:1px solid var(--navy-line);border-radius:14px;padding:18px 20px}
.me-panel-h{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.76rem;color:#aebdd2;margin-bottom:12px}
.me-rows{display:flex;flex-direction:column;gap:7px}
.me-row{display:flex;align-items:center;gap:12px;background:#0e1f36;border:1px solid var(--navy-line);border-radius:9px;padding:9px 12px}
.me-row-n{flex:1;font-size:.88rem;color:#eaf1fb;font-weight:500}
.me-row-d{font-size:.74rem;white-space:nowrap}
.me-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.me-mini .me-k{font-size:1.4rem}
.me-actions{display:flex;flex-wrap:wrap;gap:9px}

/* ===== Mon espace · graphiques ===== */
.me-charts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
@media(max-width:900px){.me-charts{grid-template-columns:1fr}}
.cdonut-wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cdonut{width:150px;height:150px;flex:none}
.cd-num{fill:#f1f6fc;font-family:'Oswald',sans-serif;font-weight:600;font-size:30px}
.cd-lbl{fill:#8195af;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.cl{flex:1;min-width:120px;display:flex;flex-direction:column;gap:8px}
.cl-row{display:flex;align-items:center;gap:9px;font-size:.82rem}
.cl-dot{width:11px;height:11px;border-radius:3px;flex:none}
.cl-l{flex:1;color:#cfdae6}
.cl-v{font-family:'JetBrains Mono',monospace;color:#eaf1fb;font-weight:600}
.cbars{width:100%;height:auto;display:block}
.cb-v{fill:#dce6f3;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600}
.cb-x{fill:#8195af;font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:.02em}

/* Masquer toutes les barres de défilement partout (le défilement reste possible à la molette/au toucher) */
*{scrollbar-width:none;-ms-overflow-style:none}
*::-webkit-scrollbar{width:0;height:0;display:none}
.sidebar,.tablewrap,#qv-body,.backdrop,.roles-list{scrollbar-width:none}


/* ===== Guide d'utilisation (frise) ===== */
.guide-root{margin:20px 0 56px}
.gd-lead{font-family:'Lora',Georgia,serif;font-size:1.22rem;line-height:1.6;color:#e3ebf5;max-width:760px;margin:0 0 18px}
.gd-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px}
.gd-chip{display:inline-flex;align-items:center;gap:8px;background:#0b1a2e;border:1px solid var(--navy-line);border-radius:22px;padding:6px 14px 6px 8px;font-size:.78rem;color:#aebdd2;cursor:pointer;transition:.15s}
.gd-chip span{font-family:'JetBrains Mono',monospace;font-size:.66rem;background:#13243a;color:var(--gold);border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}
.gd-chip:hover{border-color:var(--gold);color:#fff;transform:translateY(-1px)}
.gd-timeline{position:relative}
.gd-timeline::before{content:"";position:absolute;left:21px;top:18px;bottom:18px;width:2px;background:linear-gradient(180deg,transparent,#23375a 8%,#23375a 92%,transparent)}
.gd-item{position:relative;display:grid;grid-template-columns:44px 1fr;gap:18px;margin-bottom:16px;opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.gd-item.in{opacity:1;transform:none}
.gd-node{width:44px;height:44px;border-radius:50%;background:#0e2138;border:1px solid #2a3e5e;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-weight:600;font-size:1rem;color:var(--gold);position:relative;z-index:1;box-shadow:0 0 0 4px var(--navy)}
.gd-card{background:#0b1a2e;border:1px solid var(--navy-line);border-radius:14px;padding:18px 22px}
.gd-item:hover .gd-card{border-color:#2c557f}
.gd-tag{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:#7f93ad;margin-bottom:4px}
.gd-title{font-family:'Oswald',sans-serif;font-weight:600;font-size:1.22rem;color:#f1f6fc;margin:0 0 12px}
.gd-body{font-size:.92rem;line-height:1.65;color:#cdd9e8}
.gd-body p{margin:0 0 10px}
.gd-body p:last-child{margin-bottom:0}
.gd-body ul{margin:0 0 10px;padding-left:20px;display:flex;flex-direction:column;gap:5px}
.gd-body b{color:#f3f7fc}
.gd-tip{background:#0e2138;border-left:3px solid var(--gold);border-radius:0 9px 9px 0;padding:11px 14px;font-size:.86rem;color:#dbe5f1;margin-top:4px}
.gd-item-support .gd-node{background:rgba(201,162,75,.16);border-color:var(--gold);color:var(--gold)}
.gd-item-support .gd-card{border-color:rgba(201,162,75,.45);background:linear-gradient(135deg,#13203a,#0b1a2e)}
.gd-item-support .gd-title{color:var(--gold)}
@media(max-width:560px){.gd-item{grid-template-columns:36px 1fr;gap:12px}.gd-node{width:36px;height:36px;font-size:.85rem}.gd-timeline::before{left:17px}.gd-card{padding:15px 16px}}

/* Sélecteur de type de récapitulatif */
.rc-typesel{display:inline-flex;gap:4px;background:#091627;border:1px solid var(--navy-line);border-radius:10px;padding:4px;margin-bottom:16px}
.rc-tbtn{background:none;border:none;color:#9fb1c8;font-family:'Oswald',sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;padding:7px 14px;border-radius:7px;cursor:pointer;transition:.15s}
.rc-tbtn:hover{color:#dce6f3}
.rc-tbtn.active{background:var(--gold);color:#0b1119}

/* Carte graphique de l'accueil */
.stat-chart{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px}
.stat-chart .cdonut{width:120px;height:120px}
.sc-lbl{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:#8195af;text-align:center}

/* Fenêtre profil agent (casier) */
#agent-modal .modal{max-width:980px}
#agent-body{max-height:82vh;overflow:auto}
#agent-body .me-hero,#agent-body .me-charts,#agent-body .me-grid{margin-bottom:18px}
#agent-body .me-root{margin:0}

.ef-ava-img{padding:0;background:#13243a}
.ef-ava-img img{width:100%;height:100%;object-fit:cover;border-radius:11px}
