@import url("omqd-soft-20261101-r2.css?v=2");
/* =====================================================================
   On mange quoi demain — identité visuelle reprise de 4thlvl.com
   noir · titres blancs condensés · or · rouge Artist Up-Grade · vert 4th LvL Gospel
   ===================================================================== */
@font-face{font-family:'Fira Sans Extra Condensed';font-weight:800;font-display:swap;src:url(fonts/FiraSansExtraCondensed-ExtraBold.woff2) format('woff2')}
@font-face{font-family:'Fira Sans Extra Condensed';font-weight:600;font-display:swap;src:url(fonts/FiraSansExtraCondensed-SemiBold.woff2) format('woff2')}
@font-face{font-family:'Rajdhani';font-weight:700;font-display:swap;src:url(fonts/Rajdhani-Bold.woff2) format('woff2')}
@font-face{font-family:'Rajdhani';font-weight:600;font-display:swap;src:url(fonts/Rajdhani-SemiBold.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:100 900;font-display:swap;src:url(fonts/Inter-Variable.woff2) format('woff2')}
:root{
  --bg:#000;--panel:#15120f;--panel2:#1c1915;--line:#2f2a23;--line2:#3d362c;
  --text:#f2efe9;--muted:#9a9184;--gold:#d6a74e;--gold2:#e9c27a;--red:#e3132b;--green:#03362c;--green2:#2c6a55;
  --bad:#ff6b5e;--badbg:#3a1412;--warn:#f2b24c;--warnbg:#33260d;--ok:#7fd1a8;--okbg:#12301f;
  --title:'Fira Sans Extra Condensed',Impact,'Arial Narrow',sans-serif;--sub:'Rajdhani','Arial Narrow',sans-serif;--body:'Inter',Arial,Helvetica,sans-serif
}
*{box-sizing:border-box}
html,body{background:var(--bg)}
body{margin:0;font-family:var(--body);font-size:14px;color:var(--text)}
::selection{background:var(--gold);color:#000}
.hidden{display:none!important}
.muted{color:var(--muted)}.err{color:var(--bad);min-height:1em}
a{color:var(--gold)}
.eyebrow{color:var(--red);font-family:var(--sub);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0}
.display{font-family:var(--title);font-weight:800;font-size:44px;line-height:1;margin:6px 0 4px;letter-spacing:.01em}
/* logos officiels : 4th LvL (la société) et 4th LvL Gospel (le label) */
.brand{display:flex;align-items:center;gap:14px}
.brand img{display:block;width:auto}
.b-co{height:50px}.b-label{height:38px;padding-left:14px;border-left:1px solid var(--line2)}
.brand .app{font-family:var(--sub);font-weight:700;color:var(--gold);font-size:15px;padding-left:14px;border-left:1px solid var(--line2)}
.login-logo{width:170px;height:auto;align-self:center;margin:0 auto 10px}
.login .card .eyebrow,.login .card .display,.login .card>.muted{text-align:center}
a.brand{text-decoration:none}
.login-foot{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.login-foot img{height:44px;width:auto}
/* boutons : pilules dorées comme sur le site */
.btn{font-family:var(--body);border:1px solid var(--gold);background:transparent;color:var(--text);padding:8px 16px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;transition:.15s}
.btn:hover{background:rgba(214,167,78,.12)}
.btn.primary{background:var(--gold);color:#120e08;border-color:var(--gold)}.btn.primary:hover{background:var(--gold2)}
.btn.ghost{border:none;color:var(--text)}.btn.ghost:hover{color:var(--gold);background:none}
.btn.danger{border-color:var(--bad);color:var(--bad)}
/* connexion */
.login{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:20px;
  background:radial-gradient(600px 400px at 85% 90%,rgba(227,19,43,.18),transparent 70%),radial-gradient(500px 360px at 10% 10%,rgba(214,167,78,.08),transparent 70%),#000}
.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:16px;position:relative;overflow:hidden}
.login .card{width:min(420px,94vw);display:flex;flex-direction:column;gap:14px;padding:30px;
  background:radial-gradient(260px 200px at 100% 100%,rgba(227,19,43,.16),transparent 70%),var(--panel)}
label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted);font-weight:600}
input,select,textarea{font:inherit;color:var(--text);padding:9px 10px;border:1px solid var(--line2);border-radius:6px;background:#0c0b09;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(214,167,78,.18)}
input:disabled,select:disabled,textarea:disabled{color:#bdb5a8;background:#12100d;border-color:var(--line)}
input[type=date]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator{filter:invert(.8)}
select option{background:#15120f;color:var(--text)}
textarea{min-height:76px}
/* structure */
.top{position:fixed;top:0;left:0;right:0;height:68px;background:#000;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 16px;z-index:20}
.who{margin-left:auto;font-size:12px;color:var(--muted)}
.nav{position:fixed;top:68px;bottom:0;left:0;width:240px;background:#000;border-right:1px solid var(--line);overflow:auto;padding:10px 0 30px;z-index:10}
.nav h4{margin:18px 18px 6px;font-family:var(--sub);font-size:11px;text-transform:uppercase;color:var(--red);letter-spacing:.12em}
.nav a{display:block;padding:8px 18px;color:#d9d4cb;text-decoration:none;border-left:3px solid transparent;font-size:13px}
.nav a:hover{color:#fff;background:#0d0c0a}
.nav a.active{color:var(--gold);border-left-color:var(--gold);background:linear-gradient(90deg,rgba(214,167,78,.12),transparent)}
.main{margin:68px 0 0 240px;padding:24px 28px 60px;max-width:1700px}
#menuBtn{display:none;font-size:20px}
@media(max-width:900px){.b-co{height:32px}.b-label{height:24px}#menuBtn{display:block}.nav{transform:translateX(-100%);transition:.2s;width:260px}.nav.open{transform:none}.main{margin-left:0;padding:16px 12px}.brand .app{display:none}.who{display:none}.display{font-size:34px}}
h1{font-family:var(--title);font-weight:800;font-size:38px;line-height:1.05;margin:0 0 16px;color:#fff;letter-spacing:.01em}
h2{font-family:var(--sub);font-weight:700;font-size:21px;color:var(--gold);margin:28px 0 10px}
.bar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:14px}
.bar label{min-width:170px}
/* indicateurs */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px;color:var(--muted);font-size:12px;font-weight:600}
.kpi b{display:block;font-family:var(--title);font-weight:800;font-size:34px;color:#fff;margin-top:6px;line-height:1}
.kpi.bad{border-color:#5a1d18;background:linear-gradient(180deg,rgba(227,19,43,.14),var(--panel))}.kpi.bad b{color:var(--bad)}
/* tableaux */
.tablewrap{overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:10px;max-height:75vh}
table{border-collapse:collapse;width:100%;font-size:13px}
th{position:sticky;top:0;background:#1c1915;color:var(--gold);text-align:left;padding:10px;font-family:var(--sub);font-weight:700;font-size:13px;letter-spacing:.03em;white-space:nowrap;z-index:1;border-bottom:1px solid var(--line2)}
td{padding:8px 10px;border-bottom:1px solid #221e19;vertical-align:top;color:#e6e1d8}
tbody tr:nth-child(even) td{background:#121010}
tr.click{cursor:pointer}tr.click:hover td{background:#211c15}
tr.sortie td{background:rgba(214,167,78,.10)!important;color:#fff;font-weight:600}
tr.dim td{color:#6f685e}
td select,td input{padding:5px 7px;font-size:12px}
.al-bad{background:var(--badbg)!important;color:var(--bad)!important;font-weight:700}
.al-warn{background:var(--warnbg)!important;color:var(--warn)!important;font-weight:600}
.al-ok{color:var(--ok)!important}
.al-done{background:var(--okbg)!important;color:var(--ok)!important;font-weight:700}
.pill{display:inline-block;padding:6px 14px;border-radius:999px;border:1px solid var(--gold);color:var(--gold);font-size:12px;font-weight:600}
/* fenêtres */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;z-index:50;overflow:auto;padding:34px 10px}
.modal-box{background:radial-gradient(320px 220px at 100% 100%,rgba(227,19,43,.12),transparent 70%),var(--panel);border:1px solid var(--line2);border-radius:12px;padding:24px;width:min(940px,96vw)}
.modal-box h2{margin-top:0;font-size:24px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.grid .full{grid-column:1/-1}
.grid b{color:#fff}
.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--gold);color:#120e08;font-weight:700;padding:11px 20px;border-radius:999px;z-index:60;box-shadow:0 6px 24px rgba(0,0,0,.5)}
/* créneaux libres */
.week td{min-width:118px}.free{color:var(--ok)}.busy{background:rgba(214,167,78,.12)!important;color:#fff;font-weight:600}.clash{background:var(--badbg)!important;color:var(--bad)}
.subgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
/* défilement discret */
*{scrollbar-color:#3d362c #000}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#3d362c;border-radius:6px}::-webkit-scrollbar-track{background:#000}

/* présence, pointage, discussions */
.online-pill{background:none;border:1px solid var(--line2);color:var(--ok);border-radius:999px;padding:5px 12px;font:600 12px var(--body);cursor:pointer}
.online-pill span{color:#fff}
.pt-btn{border-color:var(--gold);color:var(--gold)}.pt-btn.on{background:rgba(127,209,168,.12);border-color:var(--ok);color:var(--ok)}
.who{margin-left:0}
.badge{display:inline-block;min-width:18px;padding:1px 6px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:700;text-align:center;margin-left:6px}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#444}.dot.on{background:var(--ok);box-shadow:0 0 8px var(--ok)}
.chat{display:grid;grid-template-columns:250px 1fr;gap:14px;height:calc(100vh - 190px);min-height:420px}
.chans{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;overflow:auto;display:flex;flex-direction:column;gap:4px}
.chans a{display:block;padding:9px 10px;border-radius:8px;color:#d9d4cb;text-decoration:none}.chans a:hover{background:#1d1914}
.chans a.active{background:rgba(214,167,78,.14);color:var(--gold)}.chans small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.chans .btn{margin:8px 4px}
.room{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.room header{padding:12px 14px;border-bottom:1px solid var(--line);font-family:var(--sub);font-size:17px;color:#fff}.room header .muted{font-family:var(--body);font-size:12px}
.msgs{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:78%;background:#1d1914;border:1px solid var(--line);border-radius:10px;padding:8px 12px}.msg.mine{align-self:flex-end;background:rgba(214,167,78,.12);border-color:#4a3c22}
.mh{display:flex;gap:8px;align-items:center;font-size:12px}.mh b{color:var(--gold)}.mh span{color:var(--muted)}
.del{margin-left:auto;background:none;border:none;color:var(--muted);cursor:pointer;font-size:16px}.del:hover{color:var(--bad)}
.mb{margin-top:4px;line-height:1.45;word-wrap:break-word}.mention{color:var(--gold);font-weight:600}.mention.me{background:var(--gold);color:#120e08;border-radius:4px;padding:0 3px}
.send{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}.send textarea{min-height:44px;resize:vertical}
.checks{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.chk{flex-direction:row;align-items:center;gap:8px;color:var(--text)}.chk input{width:auto}
@media(max-width:900px){.chat{grid-template-columns:1fr;height:auto}.chans{max-height:180px}.room{height:70vh}.online-pill{display:none}.pt-btn{margin-left:auto}}

.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;background:#2a2520;display:inline-block;vertical-align:middle;border:1px solid var(--line2)}
.avatar.big{width:120px;height:120px}
.qr{background:#fff;padding:10px;border-radius:8px;display:inline-block}
.secret{font-family:monospace;font-size:16px;letter-spacing:2px;color:var(--gold);word-break:break-all}
.matrix td,.matrix th{text-align:center}.matrix td:first-child,.matrix th:first-child{text-align:left}
.matrix select{width:auto;min-width:96px}
.multi{display:flex;flex-wrap:wrap;gap:6px 14px}

/* menu par catégories dépliables */
.nav .cat h4{cursor:pointer;display:flex;justify-content:space-between;align-items:center;margin:0;padding:12px 18px 8px;user-select:none}
.nav .cat h4:hover{color:#ff4157}.nav .chev{color:var(--muted);transition:.15s;font-size:12px}
.nav .cat .items{display:none}.nav .cat.open .items{display:block}.nav .cat.open .chev{transform:rotate(90deg)}
/* mot de passe */
.pw{position:relative;display:block}.pw input{padding-right:42px}.eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;opacity:.7}.eye:hover{opacity:1}
.forgot{font-size:12px;color:var(--muted);margin:2px 0 0}

.pjbox{background:#100e0c;border:1px dashed var(--line2);border-radius:8px;padding:10px 14px;margin:12px 0}.pjbox ul{margin:6px 0;padding-left:18px}.pjbox li{margin:3px 0}
#chatFab{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:var(--gold);border:none;font-size:26px;cursor:pointer;z-index:40;box-shadow:0 8px 24px rgba(0,0,0,.6)}
#chatFab .badge{position:absolute;top:-4px;right:-4px}
#chatPop{position:fixed;right:22px;bottom:92px;width:min(380px,92vw);height:min(520px,70vh);background:var(--panel);border:1px solid var(--line2);border-radius:14px;z-index:41;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.7)}
#chatPop header{display:flex;gap:8px;padding:8px;border-bottom:1px solid var(--line)}#chatPop .msg{max-width:90%}
.artist-head{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-start}.links{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.links .pill{text-decoration:none}
.day{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin-bottom:6px}.slot{padding:6px 10px;margin-top:6px;border-radius:6px;background:#1d1914;cursor:pointer}

.search{flex:1;max-width:460px;margin-left:24px}.search input{background:#0c0b09;border-radius:999px;padding:8px 16px}
.who{line-height:1.25;text-align:right}.who b{color:#fff}.who span{font-size:11px}
@media(max-width:900px){.search{margin-left:8px}.search input{padding:6px 10px;font-size:12px}}
td select{min-width:72px}td input[type=number]{min-width:64px}
td .emo{}.emo{font-size:20px;padding:4px 6px}.send{position:relative}.emobox{position:absolute;bottom:100%;left:8px;right:8px;background:#1d1914;border:1px solid var(--line2);border-radius:10px;padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:2px;max-height:190px;overflow:auto;z-index:5}.emobox span{font-size:20px;cursor:pointer;text-align:center;padding:3px;border-radius:6px}.emobox span:hover{background:#2c261f}

/* menu : catégories lisibles */
.nav .cat{border-bottom:1px solid #1c1915}
.nav .cat h4{font-family:var(--body);font-size:14px;font-weight:700;color:#ece7df;text-transform:none;letter-spacing:.01em;padding:13px 16px;gap:10px;justify-content:flex-start}
.nav .cat h4 .ico{font-size:16px;width:22px;text-align:center}
.nav .cat h4 .lbl{flex:1}
.nav .cat h4 .chev{color:var(--gold);font-size:18px;font-weight:700;transition:.15s}
.nav .cat h4:hover{color:#fff;background:#0f0d0b}
.nav .cat.open h4{color:var(--gold);background:linear-gradient(90deg,rgba(214,167,78,.10),transparent)}
.nav .cat.open .chev{transform:rotate(90deg)}
.nav .cat .items{padding-bottom:6px}
.nav .cat .items a{padding:8px 16px 8px 48px;font-size:13.5px;color:#cfc9bf}
.nav .cat .items a.active{color:var(--gold)}

/* menu raffiné */
.nav{padding:12px 10px 30px}
.nav .cat{border:none;margin-bottom:2px}
.nav .cat h4{font-family:var(--body);font-size:14px;font-weight:600;color:#d8d2c8;letter-spacing:.005em;padding:9px 10px;border-radius:10px;gap:12px;justify-content:flex-start;transition:.15s}
.nav .cat h4 .ico{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#16130f;border:1px solid #2a251e;color:var(--gold);flex:none;transition:.15s}
.nav .cat h4 .ico svg{width:17px;height:17px}
.nav .cat h4 .chev{width:16px;height:16px;color:#6f675c;display:flex}.nav .cat h4 .chev svg{width:16px;height:16px}
.nav .cat h4:hover{background:#12100d;color:#fff}.nav .cat h4:hover .ico{border-color:#4a3e2b}
.nav .cat.open h4{color:#fff;background:#14110e}
.nav .cat.open h4 .ico{background:var(--gold);border-color:var(--gold);color:#120e08;box-shadow:0 4px 14px rgba(214,167,78,.25)}
.nav .cat.open h4 .chev{color:var(--gold);transform:rotate(90deg)}
.nav .cat .items{margin:4px 0 8px 26px;padding:2px 0 2px 0;border-left:1px solid #2a251e}
.nav .cat .items a{padding:7px 12px 7px 18px;font-size:13.5px;color:#a9a297;border-left:2px solid transparent;margin-left:-1px;border-radius:0 8px 8px 0}
.nav .cat .items a:hover{color:#fff;background:#100e0b}
.nav .cat .items a.active{color:var(--gold);border-left-color:var(--gold);background:linear-gradient(90deg,rgba(214,167,78,.12),transparent)}
/* parole du jour */
.motd{display:flex;flex-direction:column;justify-content:center;max-width:430px;min-width:0;padding-left:16px;margin-left:2px;border-left:1px solid var(--line2);line-height:1.25}
.motd-k{font-family:var(--sub);font-weight:700;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.motd-t{font-size:13px;font-style:italic;color:#e9e4dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1200px){.motd{max-width:260px}}@media(max-width:900px){.motd{display:none}}
.motd-t{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* planning : calendrier semaine / mois */
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px}
.cal-h{font-family:var(--sub);font-weight:700;color:var(--gold);font-size:13px;text-align:center;padding:4px}
.cal-d{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-height:96px;padding:6px;overflow:hidden}
.cal.semaine .cal-d{min-height:320px}.cal-d.out{opacity:.4}.cal-d.today{border-color:var(--gold)}
.cal-n{font-size:12px;color:var(--muted);margin-bottom:4px;font-weight:600}
.cal-e{font-size:11.5px;background:rgba(214,167,78,.12);border-left:3px solid var(--gold);border-radius:5px;padding:4px 6px;margin-bottom:4px;cursor:pointer;line-height:1.3}
.cal-e.bad{border-left-color:var(--bad);background:var(--badbg)}.cal-e:hover{background:rgba(214,167,78,.25)}
@media(max-width:900px){.cal{grid-template-columns:1fr}.cal-h{display:none}.cal-d{min-height:auto}}
#bellB{border-color:var(--gold);color:var(--gold)}

/* bloc-notes à droite */
#notesPan{position:fixed;top:120px;right:0;bottom:110px;width:360px;z-index:39;display:flex;transition:transform .35s ease}
#notesPan.closed{transform:translateX(360px)}
#notesTab{position:absolute;left:-44px;top:40px;width:44px;padding:12px 0;border:1px solid var(--line2);border-right:none;border-radius:10px 0 0 10px;background:#15120f;color:var(--gold);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:18px;box-shadow:-6px 6px 20px rgba(0,0,0,.4)}
#notesTab span{writing-mode:vertical-rl;transform:rotate(180deg);font:600 12px var(--body);letter-spacing:.06em;color:#e9e4dc}
#notesTab:hover{background:#1d1914}
.np-in{flex:1;background:var(--panel);border:1px solid var(--line2);border-right:none;border-radius:12px 0 0 12px;display:flex;flex-direction:column;padding:12px;gap:8px;box-shadow:-10px 0 40px rgba(0,0,0,.55);min-width:0}
.np-in header{display:flex;align-items:center;gap:8px}.np-in header b{color:var(--gold);font-family:var(--sub);font-size:17px}.np-in header .muted{font-size:11px}.np-in header button{margin-left:auto;font-size:20px;padding:0 6px}
#npT{min-height:110px;resize:vertical}.np-act{display:flex;gap:6px;align-items:center}.np-act span{flex:1;font-size:11px}
.np-list{overflow:auto;flex:1;padding-right:4px}.np-day{font-family:var(--sub);font-weight:700;color:var(--gold);font-size:13px;margin:12px 0 6px;text-transform:capitalize}
.np-note{background:#110f0c;border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:6px}.np-h{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:4px}.np-h a{color:var(--gold);text-decoration:none}
.np-b{font-size:13px;line-height:1.45;word-wrap:break-word}
@media(max-width:900px){#notesPan{width:92vw;top:70px;bottom:90px}#notesPan.closed{transform:translateX(92vw)}}

/* bienvenue */
#welcome{position:fixed;inset:0;z-index:100;background:radial-gradient(700px 500px at 80% 90%,rgba(227,19,43,.22),transparent 70%),radial-gradient(600px 400px at 15% 10%,rgba(214,167,78,.14),transparent 70%),#000;display:flex;align-items:center;justify-content:center;cursor:pointer;animation:wlIn .5s ease;transition:opacity .6s}
#welcome.out{opacity:0}@keyframes wlIn{from{opacity:0}to{opacity:1}}
.wl-in{text-align:center;max-width:640px;padding:20px}.wl-in img{height:70px;margin-bottom:20px}
.wl-k{font-family:var(--sub);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0}
.wl-in h1{font-size:64px;margin:6px 0}.wl-d{color:var(--muted);text-transform:capitalize}.wl-q{font-style:italic;font-size:18px;color:#ece7df;margin:22px 0}.wl-x{color:var(--gold);font-weight:600}
.wl-bar{height:3px;background:#2a251e;border-radius:3px;overflow:hidden;margin-top:26px}.wl-bar span{display:block;height:100%;background:var(--gold);animation:wlBar 5s linear forwards}@keyframes wlBar{from{width:0}to{width:100%}}
/* centre de notifications */
.bellc{position:relative;background:none;border:1px solid var(--line2);border-radius:999px;width:38px;height:34px;cursor:pointer;font-size:16px}.bellc .badge{position:absolute;top:-6px;right:-6px;margin:0}
#bellPan{position:fixed;top:62px;right:90px;width:min(380px,94vw);max-height:70vh;overflow:auto;background:var(--panel);border:1px solid var(--line2);border-radius:12px;z-index:60;box-shadow:0 12px 40px rgba(0,0,0,.7)}
#bellPan header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel)}#bellPan header b{color:var(--gold);font-family:var(--sub);font-size:16px}
.bn{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-bottom:1px solid #221e19;text-decoration:none;color:#d9d4cb}.bn:hover{background:#1d1914}.bn.new{border-left:3px solid var(--gold);background:rgba(214,167,78,.06)}
.bn b{color:#fff;font-size:13px}.bn span{font-size:13px}.bn small{color:var(--muted);font-size:11px}

.chg{font-size:12.5px;margin-top:3px;color:#cfc9bf}.chg s{color:#8a8277}

.langb{background:none;border:1px solid var(--line2);border-radius:999px;color:#e9e4dc;font:700 12px var(--body);padding:6px 10px;cursor:pointer}.langb:hover{border-color:var(--gold);color:var(--gold)}
.langsw{text-align:center;font-size:13px;margin:4px 0 0}.langsw a{color:var(--muted);text-decoration:none}.langsw a.on{color:var(--gold);font-weight:700}

.seen{font-size:10.5px;color:var(--muted);text-align:right;margin-top:3px}.seen.ok{color:var(--gold);font-weight:600}

.savebar{position:sticky;bottom:0;z-index:5;background:linear-gradient(180deg,transparent,#000 35%);padding:16px 0 12px;margin-top:12px}

details.grp>summary{cursor:pointer;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:15px}details.grp>summary b{color:#fff}details.grp[open]>summary{margin-bottom:10px}

/* ===== menu repliable (ordinateur) ===== */
#menuBtn{display:block}
body.nav-off .nav{transform:translateX(-100%)}
body.nav-off .main{margin-left:0}
.nav,.main{transition:transform .25s ease,margin .25s ease}
/* ===== retour et fil d'Ariane ===== */
.crumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:-6px 0 10px}
.crumb a{color:var(--gold);text-decoration:none}.crumb a:hover{text-decoration:underline}
/* ===== thèmes ===== */
body.th-nuit{--bg:#0b1a33;--panel:#132a4f;--panel2:#1a3562;--line:#26467a;--line2:#33589a;--text:#eef4ff;--muted:#a7bbdc;--gold:#5cb3ff;--gold2:#9ad0ff}
body.th-gospel{--bg:#062a20;--panel:#0b3d30;--panel2:#104c3c;--line:#1a6450;--line2:#237a62;--text:#f0fbf6;--muted:#a5cfc0;--gold:#e8b64f;--gold2:#f5cf7f}
body.th-bordeaux{--bg:#2b0a13;--panel:#40111d;--panel2:#521726;--line:#6e2335;--line2:#8a2e44;--text:#fff1f4;--muted:#d6a7b2;--gold:#f2c46d;--gold2:#ffd998}
body.th-violet{--bg:#1b1036;--panel:#2a1a52;--panel2:#352266;--line:#47308a;--line2:#5a3ea8;--text:#f5f0ff;--muted:#c4b5e6;--gold:#d7b4ff;--gold2:#e8d3ff}
body.th-clair{--bg:#f6f4ef;--panel:#ffffff;--panel2:#f1ede5;--line:#e2dccf;--line2:#d2c9b6;--text:#1d1a15;--muted:#6f675c;--gold:#a8741b;--gold2:#c08a2c;--badbg:#fde8e6;--warnbg:#fdf2dc;--okbg:#e2f5ea}
body[class*="th-"]:not(.th-or){background:var(--bg);color:var(--text)}
body[class*="th-"]:not(.th-or) .nav,body[class*="th-"]:not(.th-or) header.top{background:var(--bg)}
body[class*="th-"]:not(.th-or) .card,body[class*="th-"]:not(.th-or) .kpi,body[class*="th-"]:not(.th-or) .tablewrap,body[class*="th-"]:not(.th-or) #modal .box,body[class*="th-"]:not(.th-or) #chatPop,body[class*="th-"]:not(.th-or) .np-in,body[class*="th-"]:not(.th-or) #bellPan{background:var(--panel);border-color:var(--line)}
body[class*="th-"]:not(.th-or) input,body[class*="th-"]:not(.th-or) select,body[class*="th-"]:not(.th-or) textarea{background:var(--panel2);color:var(--text);border-color:var(--line2)}
body[class*="th-"]:not(.th-or) th{background:var(--panel2)}body[class*="th-"]:not(.th-or) td{border-color:var(--line)}
body[class*="th-"]:not(.th-or) .nav .cat h4 .ico{background:var(--panel);border-color:var(--line2)}
body[class*="th-"]:not(.th-or) .nav .cat .items a,body[class*="th-"]:not(.th-or) .nav .cat h4{color:var(--text)}
body.th-clair .nav .cat.open h4,body.th-clair .nav .cat h4:hover{background:var(--panel2)}
body.th-clair h1,body.th-clair h2,body.th-clair b,body.th-clair .bn b,body.th-clair details.grp>summary b{color:var(--text)}
body.th-clair .b-co,body.th-clair .wl-in img{filter:invert(1) hue-rotate(180deg)}
body.th-clair .msg{background:var(--panel2)}body.th-clair .btn{color:var(--text)}body.th-clair .btn.primary{color:#fff}
body.fs-petit{font-size:13px}body.fs-grand{font-size:16.5px}
.themes{display:flex;gap:10px;flex-wrap:wrap}.theme-c{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:2px solid var(--line2);background:var(--panel2);color:var(--text);cursor:pointer;font:600 13px var(--body)}
.theme-c.on{border-color:var(--gold)}.theme-c span{width:22px;height:22px;border-radius:50%;display:inline-block}
.tc-or span{background:linear-gradient(135deg,#000 50%,#d6a74e 50%)}.tc-nuit span{background:linear-gradient(135deg,#060b16 50%,#5aa9ff 50%)}.tc-gospel span{background:linear-gradient(135deg,#07201a 50%,#d6a74e 50%)}
.tc-bordeaux span{background:linear-gradient(135deg,#1d0a0f 50%,#e5b567 50%)}.tc-clair span{background:linear-gradient(135deg,#fff 50%,#a8741b 50%);border:1px solid #ccc}.tc-violet span{background:linear-gradient(135deg,#151024 50%,#c9a2ff 50%)}
/* ===== tablette ===== */
@media(max-width:1200px){.nav{width:220px}.main{margin-left:220px;padding:20px 18px 60px}.search input{width:180px}.who{max-width:160px;overflow:hidden}}
/* ===== téléphone ===== */
@media(max-width:900px){
  body.nav-off .nav{transform:translateX(-100%)}.main{margin-left:0!important;padding:14px 10px 90px}
  header.top{gap:6px;padding:0 8px}.online-pill,#bellB,.langb{display:none}.pt-btn{padding:6px 10px;font-size:12px}#logoutBtn{padding:6px 8px;font-size:12px}
  .search input{width:120px}.grid{grid-template-columns:1fr!important}.kpis{grid-template-columns:repeat(2,1fr)!important}.kpi b{font-size:18px!important}
  .bar{flex-wrap:wrap}.bar label{flex:1 1 140px}.actions{flex-wrap:wrap}.actions .btn{flex:1 1 auto}
  #modal .box{width:100vw!important;max-width:100vw!important;max-height:100vh;border-radius:0;margin:0}
  #chatPop{left:6px;right:6px;width:auto;bottom:80px;height:65vh}
  h1{font-size:28px}.crumb{margin-top:0}.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:480px){.search{display:none}.kpis{grid-template-columns:1fr!important}}
.missing{color:var(--warn);font-size:12px}.com-list{margin:8px 0;padding:0;list-style:none}.com-list li{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:6px;font-size:13px}.com-list small{color:var(--muted)}
/* tableaux : couleurs suivant le thème */
body[class*="th-"]:not(.th-or) td{color:var(--text);border-color:var(--line)}
body[class*="th-"]:not(.th-or) tbody tr:nth-child(even) td{background:var(--panel2)}
body[class*="th-"]:not(.th-or) tbody tr:nth-child(odd) td{background:var(--panel)}
body[class*="th-"]:not(.th-or) tr.click:hover td{background:color-mix(in srgb,var(--gold) 14%,var(--panel))}
body[class*="th-"]:not(.th-or) tr.sortie td{color:var(--text)}
body[class*="th-"]:not(.th-or) tr.dim td{color:var(--muted)}
body[class*="th-"]:not(.th-or) .kpi b,body[class*="th-"]:not(.th-or) .kpi{color:var(--text)}
body.th-clair .muted{color:var(--muted)}body.th-clair .pill{background:var(--panel2);color:var(--text);border-color:var(--line2)}
body.th-clair .motd-t,body.th-clair .who,body.th-clair .who *{color:var(--text)}

/* menu : se replie après un choix, réapparaît au bord gauche */
#navEdge{position:fixed;left:0;top:68px;bottom:0;width:12px;z-index:9;display:none}
body.nav-off #navEdge{display:block}
body.nav-off.nav-peek .nav{transform:none;box-shadow:12px 0 40px rgba(0,0,0,.5)}
/* menu : cadre transparent et léger zoom sur l'élément survolé (plus de carré noir) */
.nav .cat h4{border:1px solid transparent;background:transparent!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;transform-origin:left center}
.nav .cat h4:hover{background:transparent!important;border-color:color-mix(in srgb,var(--gold) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 12%,transparent);transform:scale(1.045)}
.nav .cat.open h4{background:transparent!important;border-color:color-mix(in srgb,var(--gold) 35%,transparent)}
.nav .cat .items a{border-radius:8px;transition:transform .15s ease,color .15s ease,border-color .15s ease;transform-origin:left center}
.nav .cat .items a:hover{background:transparent!important;transform:scale(1.05);color:var(--gold);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 45%,transparent)}
.nav .cat .items a.active{background:transparent!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 30%,transparent)}
.nav{overflow-x:hidden}

/* =====================================================================
   VERSION TÉLÉPHONE : grande lisibilité, une fenêtre à la fois, tableaux en fiches
   ===================================================================== */
.phone-only{display:none}
@media(max-width:900px){
  html{-webkit-text-size-adjust:100%}
  body{font-size:16px}
  .phone-only{display:inline-flex;align-items:center;justify-content:center}
  header.top{height:58px;padding:0 8px;gap:6px;position:sticky;top:0;z-index:50}
  header.top .brand img{height:30px}.motd,.search,.who,.online-pill,#bellB,.langb{display:none!important}
  .bellc{width:42px;height:42px;font-size:19px}
  #ptBtn{font-size:13px;padding:8px 10px;white-space:nowrap;max-width:46vw;overflow:hidden;text-overflow:ellipsis}
  #logoutBtn{font-size:0;padding:8px 10px}#logoutBtn::after{content:'⏻';font-size:20px}
  #menuBtn{font-size:26px;padding:4px 8px}
  /* menu en plein écran */
  .nav{width:86vw!important;max-width:380px;top:58px;z-index:60;box-shadow:12px 0 40px rgba(0,0,0,.6)}
  .nav .cat h4{font-size:17px;padding:13px 12px}.nav .cat h4 .ico{width:38px;height:38px}
  .nav .cat .items a{font-size:16px;padding:12px 14px 12px 20px}
  .nav .cat h4:hover,.nav .cat .items a:hover{transform:none}
  /* pages */
  .main{padding:12px 12px 110px!important}h1{font-size:30px;line-height:1.1}h2{font-size:21px}
  .card{padding:14px;border-radius:14px}
  input,select,textarea{font-size:16px!important;min-height:46px}textarea{min-height:90px}
  .btn{min-height:44px;font-size:15px}.btn.small{min-height:38px;font-size:14px}
  label{font-size:14px}
  /* tableaux : fiches pour les tableaux de la plateforme, défilement latéral pour les autres */
  .tablewrap{max-height:none!important;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .tablewrap:not(.tw-cards) table{min-width:560px}
  .tw-cards{border:none!important;background:transparent!important;overflow:visible!important}
  .tw-cards table.tbl,.tw-cards table.tbl tbody,.tw-cards table.tbl tr{display:block;width:100%}
  .tw-cards table.tbl thead{display:none}
  .tw-cards table.tbl tr{background:var(--panel);border:1px solid var(--line2);border-radius:14px;margin:0 0 12px;padding:6px 14px;box-shadow:0 1px 0 rgba(0,0,0,.04)}
  .tw-cards table.tbl td{display:grid;grid-template-columns:minmax(90px,38%) 1fr;gap:12px;align-items:start;width:100%;border:none!important;border-bottom:1px solid var(--line)!important;
     padding:9px 0!important;font-size:15px;text-align:right;color:var(--text);background:transparent!important;min-width:0;overflow-wrap:anywhere;word-break:break-word}
  .tw-cards table.tbl td:last-child{border-bottom:none!important}
  .tw-cards table.tbl td::before{content:attr(data-label);color:var(--muted);font-size:13px;font-weight:600;text-align:left;line-height:1.35;padding-top:1px}
  .tw-cards table.tbl td[data-label=""]{grid-template-columns:1fr}.tw-cards table.tbl td[data-label=""]::before{display:none}
  .tw-cards table.tbl td.empty{display:none}
  .tw-cards table.tbl td>*{min-width:0;max-width:100%}
  .tw-cards table.tbl td:first-child{font-size:17px;font-weight:700}
  .tw-cards table.tbl td.al-bad,.tw-cards table.tbl td.al-warn,.tw-cards table.tbl td.al-done,.tw-cards table.tbl td.al-ok{border-radius:8px;padding:8px!important;margin:2px 0}
  .tw-cards table.tbl td input,.tw-cards table.tbl td select{width:100%;min-height:40px;font-size:15px!important}
  .tw-cards table.tbl td .chg{text-align:left}
  .tw-cards+p.muted,.tablewrap+p.muted{margin:2px 0 18px;font-size:13px}
  /* rien ne dépasse de l'écran */
  html,body{overflow-x:hidden;max-width:100vw}.main{max-width:100vw;overflow-x:hidden}
  .main *{max-width:100%}.main table.tbl,.main .tablewrap:not(.tw-cards) table{max-width:none}
  .bar>label,.bar>input,.bar>select{min-width:0}
  /* plus d'ombres parasites sur les bords quand les panneaux sont fermés */
  .nav:not(.open){box-shadow:none!important}
  #notesPan.closed{visibility:hidden}#notesPan.closed .np-in{box-shadow:none}
  .kpis{gap:10px}.kpi{padding:12px 14px}
  h2{margin-top:22px}
  /* notifications : pleine largeur, bien lisibles */
  #bellPan{left:6px!important;right:6px!important;width:auto!important;top:62px!important;max-height:78vh;border-radius:16px}
  #bellPan header b{font-size:20px}.bn{padding:14px}.bn b{font-size:16px}.bn span{font-size:15px;line-height:1.4}.bn small{font-size:13px}
  /* discussion : plein écran */
  #chatPop{position:fixed;left:0!important;right:0!important;top:58px!important;bottom:0!important;width:auto!important;height:auto!important;border-radius:0;z-index:55}
  #chatPop .msg{font-size:16px}#popIn{font-size:16px!important}
  #chatFab{width:58px;height:58px;right:14px;bottom:18px}
  /* bloc-notes : bouton en haut, panneau plein écran */
  #notesTab{display:none}
  #notesPan{top:58px;bottom:0;width:100vw!important}#notesPan.closed{transform:translateX(100vw)}
  .np-in{border-radius:0}
  /* fenêtres de formulaire */
  #modal .box{padding:16px}
}
/* notifications lisibles dans tous les thèmes */
.bn{color:var(--text)}.bn span{color:var(--text);opacity:.85}.bn small{color:var(--muted)}
body.th-clair .bn span{color:#3b352d;opacity:1}
@media(max-width:900px){
  header.top{position:fixed;left:0;right:0;top:0}
  .main{margin:58px 0 0 0!important;padding-top:10px!important}
  .crumb{margin:0 0 8px}
}
/* ===== contrastes : thème clair et icônes ===== */
.bellc,.eye{color:var(--text)}
body.th-clair{--ok:#1d7a4c;--warn:#9a5800;--bad:#c0392b;--okbg:#e3f4ea;--warnbg:#fdf0d8;--badbg:#fde6e3}
body.th-clair .pjbox{background:var(--panel2);color:var(--text);border-color:var(--line2)}
body.th-clair .pjbox b,body.th-clair .pjbox a{color:var(--gold)}
body.th-clair .savebar{background:linear-gradient(180deg,transparent,var(--bg) 35%)}
body.th-clair .langb{color:var(--text);border-color:var(--line2)}
body.th-clair .online-pill{color:var(--ok);border-color:var(--ok)}
body.th-clair .np-note,body.th-clair .emobox,body.th-clair .msg,body.th-clair .cal-d,body.th-clair .slot,body.th-clair code,body.th-clair .com-list li{background:var(--panel2);color:var(--text);border-color:var(--line)}
body.th-clair #notesTab{background:var(--panel);color:var(--gold);border-color:var(--line2)}body.th-clair #notesTab span{color:var(--text)}
body.th-clair .missing{color:var(--warn)}
body.th-clair .al-ok,body.th-clair .al-done{color:var(--ok)!important}body.th-clair .al-warn{color:var(--warn)!important}body.th-clair .al-bad{color:var(--bad)!important}
body.th-clair .card.al-warn{color:var(--warn)}
body[class*="th-"]:not(.th-or) .pjbox{background:var(--panel2);color:var(--text)}
body[class*="th-"]:not(.th-or) .savebar{background:linear-gradient(180deg,transparent,var(--bg) 35%)}

@media(max-width:900px){
  .tw-cards table.tbl tr{display:flex;flex-direction:column}
  .tw-cards table.tbl td:first-child{font-size:15px;font-weight:400}
  .tw-cards table.tbl td.td-title{order:-2;font-size:19px;font-weight:700;grid-template-columns:1fr;text-align:left;border-bottom:1px solid var(--line2)!important;padding:10px 0 8px!important}
  .tw-cards table.tbl td.td-title::before{display:none}
  .tw-cards table.tbl td.td-id{order:-1;font-size:12px;color:var(--muted);grid-template-columns:1fr;text-align:left;padding:4px 0 6px!important;border-bottom:none!important;letter-spacing:.03em}
  .tw-cards table.tbl td.td-id::before{display:none}
  .tw-cards table.tbl td.td-title.td-id{font-size:19px;color:var(--text)}
}
/* écran de bienvenue : toujours sur fond sombre, quel que soit le thème */
#welcome .wl-in h1{color:#fff!important}#welcome .wl-d{color:#b9b2a6!important}#welcome .wl-q{color:#ece7df!important}
body.th-clair #welcome .wl-in img{filter:none!important}

/* assistant d'aide */
#aidePan{position:fixed;top:72px;right:16px;width:min(420px,94vw);height:min(620px,80vh);background:var(--panel);border:1px solid var(--line2);border-radius:16px;z-index:61;display:flex;flex-direction:column;box-shadow:0 14px 50px rgba(0,0,0,.55)}
#aidePan header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}#aidePan header b{color:var(--gold);font-family:var(--sub);font-size:18px}#aidePan header .muted{font-size:12px;flex:1}#aidePan header button{font-size:22px;padding:0 6px}
#aideMsgs{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px}
.aide-bot{align-self:flex-start;background:var(--panel2);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:10px 12px;font-size:14px;line-height:1.5;max-width:92%;color:var(--text)}
.aide-me{align-self:flex-end;background:color-mix(in srgb,var(--gold) 22%,var(--panel));border-radius:14px 14px 4px 14px;padding:9px 12px;font-size:14px;max-width:85%;color:var(--text)}
.aide-sugg{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.aide-sugg .btn{font-size:12px;text-align:left}
.aide-links{display:flex;flex-direction:column;gap:4px;margin-top:8px}.aide-links a{color:var(--gold);font-size:13px;text-decoration:none}
#aideF{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}#aideF textarea{flex:1;resize:none}
.aide-all{display:block;text-align:center;font-size:12px;color:var(--muted);padding:0 0 10px}
@media(max-width:900px){#aidePan{left:0;right:0;top:58px;bottom:0;width:auto;height:auto;border-radius:0}}

/* bouton Aide */
.aideb{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px 0 10px;border-radius:999px;border:1px solid var(--gold);background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--text);font:700 14px var(--body);cursor:pointer}
.aideb span{font-size:16px}.aideb:hover{background:color-mix(in srgb,var(--gold) 22%,transparent)}
@media(max-width:900px){.aideb{height:42px;padding:0 10px 0 8px;font-size:13px}}
@media(max-width:400px){.aideb{padding:0 8px;font-size:12px;gap:3px}}
/* motifs de refus */
.motifs{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow:auto;margin:8px 0 12px}
.motif{display:flex!important;gap:10px;align-items:flex-start;padding:9px 12px;border:1px solid var(--line2);border-radius:10px;background:var(--panel2);color:var(--text);font-size:14px;line-height:1.35;cursor:pointer}
.motif:has(input:checked){border-color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,var(--panel))}
/* visionneuse */
#pjViewer{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.88);display:flex;flex-direction:column}
#pjViewer header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#111;color:#fff;flex-wrap:wrap;padding-top:max(10px,env(safe-area-inset-top))}
#pjViewer header b{flex:1;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}#pjViewer header .btn{color:#fff;border-color:#d6a74e}#pjViewer header .btn.primary{color:#120e08}
.pjv-body{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:12px;-webkit-overflow-scrolling:touch}
.pjv-body img{max-width:100%;height:auto;background:#fff;border-radius:6px}.pjv-body iframe{width:100%;height:100%;min-height:70vh;border:0;background:#fff;border-radius:6px}
.motif input,.chk input[type=checkbox]{min-height:0!important;height:18px;width:18px!important;flex:none;margin-top:2px}
@media(min-width:901px){.search input{min-width:150px}}
@media(min-width:901px) and (max-width:1400px){.motd{max-width:230px}.motd-t{font-size:12px}}

/* fiche Orchard */
.orgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 18px;margin:8px 0 14px}
.orf{display:flex;flex-direction:column;gap:2px;min-width:0}.orl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.orv{font-size:15px;color:var(--text);overflow-wrap:anywhere}.orcp{border:none;background:none;color:var(--gold);cursor:pointer;font-size:15px;padding:0 4px;vertical-align:middle}
.orcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:8px 0 14px}.orh{display:block;margin-bottom:6px;color:var(--text)}
.orp{padding:4px 0;border-bottom:1px solid var(--line);font-size:14px}.orp b{color:var(--text)}
.orf{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2px 4px}.orl{grid-column:1/-1}.orcp{align-self:start}

/* tâches : validations en attente ; discussion : « écrit… » */
.pend-l{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.pend-i{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:center;padding:10px 12px;border:1px solid var(--line2);border-radius:10px;background:var(--panel2);color:var(--text);text-decoration:none}
.pend-i .muted{grid-column:2/3;font-size:12px}.pend-i .go{grid-row:1/3;grid-column:3;color:var(--gold);font-weight:700;font-size:13px}.pend-i:hover{border-color:var(--gold)}
.typing{min-height:18px;font-size:12px;font-style:italic;color:var(--gold);padding:0 12px}
.msg .del{opacity:.35}.msg:hover .del{opacity:1}

/* Fichiers (Drive) */
.fx{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}
.fx-tree{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px;max-height:75vh;overflow:auto;font-size:14px}
.fx-tree details>summary{list-style:none;cursor:pointer}.fx-tree details>summary::-webkit-details-marker{display:none}
.fx-c{margin-left:14px;border-left:1px solid var(--line);padding-left:6px}
.fx-n{display:block;padding:5px 8px;border-radius:8px;color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-n:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 45%,transparent)}.fx-n.on{color:var(--gold);font-weight:700;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 35%,transparent)}
.fx-path{font-size:14px;margin-bottom:10px}.fx-path a{color:var(--gold);text-decoration:none}
.fx-drop{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;padding:22px;border:2px dashed var(--line2);border-radius:14px;cursor:pointer;margin-bottom:12px;text-align:center;color:var(--text)}.fx-drop.on,.fx-drop:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 8%,transparent)}
.fx-pr{display:grid;grid-template-columns:1fr 160px 80px;gap:10px;align-items:center;font-size:13px;margin-bottom:6px}.fx-pr progress{width:100%}.fx-pr.err{color:var(--bad)}
.fx-list{display:flex;flex-direction:column;gap:6px}
.fx-f{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line2);border-radius:12px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer;font:inherit}.fx-f:hover{border-color:var(--gold)}
.fx-i{font-size:24px}.fx-t{flex:1;min-width:0;display:flex;flex-direction:column}.fx-t b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-t .muted{font-size:12px}
#fxView{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.9);display:flex;flex-direction:column}
#fxView header{display:flex;align-items:center;gap:8px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));background:#111;color:#fff;flex-wrap:wrap}#fxView header b{flex:1;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}#fxView header .btn{color:#fff;border-color:#d6a74e}#fxView header .btn.primary{color:#120e08}
.fxv{flex:1;display:grid;grid-template-columns:1fr 340px;min-height:0}.fxv-m{display:flex;align-items:center;justify-content:center;padding:12px;min-height:0;overflow:auto}
.fxv-m img,.fxv-m video{max-width:100%;max-height:100%;background:#000;border-radius:6px}.fxv-m audio{width:90%}.fxv-m iframe{width:100%;height:100%;background:#fff;border:0;border-radius:6px}
.fxv-s{background:var(--panel);color:var(--text);padding:14px;overflow:auto;display:flex;flex-direction:column;gap:8px}
.fxc{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:14px}.fxc small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.fxt{border:1px solid var(--gold);background:none;color:var(--gold);border-radius:999px;padding:1px 8px;font-size:12px;cursor:pointer}
ol.steps li{margin:6px 0;line-height:1.5}code{background:var(--panel2);padding:2px 6px;border-radius:6px;font-size:13px;overflow-wrap:anywhere}
@media(max-width:900px){.fx{grid-template-columns:1fr}.fx-tree{max-height:40vh}.fxv{grid-template-columns:1fr;grid-template-rows:auto 1fr}.fxv-m{max-height:45vh}.fx-pr{grid-template-columns:1fr 90px 60px}}
#fxView{background:#0b0a08}

/* fenêtres toujours devant la discussion et les panneaux */
.modal{z-index:400!important}
/* Accueil : tout l'espace de travail d'un coup d'œil */
.home-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:6px 0 22px}
.home-t{display:flex;flex-direction:column;gap:3px;padding:14px;border:1px solid var(--line2);border-radius:14px;background:var(--panel);color:var(--text);text-decoration:none;transition:transform .15s ease,border-color .15s ease}
.home-t:hover{transform:translateY(-2px);border-color:var(--gold)}.ht-i{font-size:24px}.home-t b{font-size:15px}.home-t .muted{font-size:12px}.ht-n{font-size:12px;color:var(--gold);font-weight:700;min-height:15px}
@media(max-width:900px){.home-tiles{grid-template-columns:repeat(2,1fr)}}

/* menu : Accueil en lien direct */
.nav .cat.solo .solo-a{text-decoration:none;color:inherit;display:block}.nav .cat.solo h4{cursor:pointer}.nav .cat.solo .solo-a.active h4{border-color:color-mix(in srgb,var(--gold) 45%,transparent);color:var(--gold)}
/* Fichiers : noms complets, sur plusieurs lignes si besoin */
.fx-tree .fx-n{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}.fx{grid-template-columns:340px 1fr}
/* fenêtre des envois */
#upPanel{position:fixed;left:16px;bottom:16px;width:min(380px,92vw);max-height:60vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--gold);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.5);z-index:150;color:var(--text)}
#upPanel header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--line)}#upPanel header b{flex:1}#upPanel header span{font-size:12px;color:var(--gold);font-weight:700}
#upPanel.mini{width:auto;max-width:92vw}#upPanel.mini header{border-bottom:none}
.up-l{overflow:auto;padding:8px 12px;display:flex;flex-direction:column;gap:10px}.up-t{display:flex;gap:8px;align-items:center;font-size:13px}.up-t b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.up-i progress{width:100%;height:8px}.up-m{display:block;font-size:12px;color:var(--muted);margin-top:2px}.up-i.ok .up-m{color:var(--ok)}.up-i.pause .up-m,.up-i.fichier .up-m{color:var(--warn)}
.up-x{border:none;background:none;color:var(--muted);font-size:18px;cursor:pointer}.up-n{font-size:12px;color:var(--muted);margin:0 12px 10px}#upClr{margin:0 12px 10px}
@media(max-width:900px){#upPanel{left:8px;right:8px;width:auto;bottom:86px}.fx{grid-template-columns:1fr}}

/* liste des fichiers : miniatures et écoute rapide */
.fx-f{cursor:pointer}.fx-th{width:48px;height:48px;object-fit:cover;border-radius:8px;background:var(--panel2);flex:none}
.fx-play{width:34px;height:34px;border-radius:50%;border:1px solid var(--gold);background:none;color:var(--gold);cursor:pointer;flex:none;font-size:13px}.fx-play.on{background:var(--gold);color:#120e08}
/* lecteur */
.pl{width:100%;height:100%;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center}
.pl-vid{position:relative;max-width:100%;max-height:calc(100% - 60px);display:flex;justify-content:center}.pl-vid video{max-width:100%;max-height:70vh;background:#000;border-radius:8px}
.pl-vid:fullscreen video{max-height:100vh;width:100%}
.pl-big{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;border:none;background:rgba(214,167,78,.92);color:#120e08;font-size:30px;cursor:pointer}
.pl-aud{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;color:#fff;padding:20px;text-align:center}.pl-aud b{color:#fff;max-width:80vw}
.pl-disc{width:160px;height:160px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:64px;background:radial-gradient(circle,#2a2419 30%,#0b0a08 70%);border:2px solid #d6a74e}
.pl-aud .pl-big{position:static;transform:none}
.pl-img{max-width:100%;max-height:100%;overflow:auto}.pl-img img{max-width:100%;max-height:78vh;cursor:zoom-in;border-radius:6px;background:#fff}.pl-img img.zoom{max-width:none;max-height:none;cursor:zoom-out}
.pl-bar{display:flex;align-items:center;gap:8px;width:min(900px,100%);background:#161310;border:1px solid #3a3226;border-radius:12px;padding:8px 10px;color:#fff;flex-wrap:wrap}
.pl-bar button{background:none;border:1px solid #4a3f2e;color:#f1e6d2;border-radius:8px;padding:5px 9px;cursor:pointer;font-size:13px}.pl-bar #plPP{border-color:#d6a74e;color:#d6a74e;min-width:40px}
.pl-t{font-size:12px;color:#cfc4b2;font-variant-numeric:tabular-nums;min-width:90px}
.pl-tl{position:relative;flex:1;min-width:140px;height:10px;background:#3a3226;border-radius:6px;cursor:pointer}.pl-buf{position:absolute;left:0;top:0;bottom:0;background:#5a4d38;border-radius:6px}.pl-pos{position:absolute;left:0;top:0;bottom:0;background:#d6a74e;border-radius:6px}
.pl-mk{position:absolute;inset:0}.pl-m{position:absolute;top:-4px;width:6px;height:18px;margin-left:-3px;border-radius:3px;background:#ff6b5e;box-shadow:0 0 0 2px #161310;cursor:pointer}
.pl-bar select{width:auto;min-height:0!important;padding:4px 6px;background:#0b0a08;color:#fff;border-color:#4a3f2e;font-size:13px!important}.pl-bar input[type=range]{width:80px;min-height:0!important;padding:0}
#fxView header .btn[disabled]{opacity:.35}
/* réglage des accès */
.fxa{display:flex;flex-direction:column;gap:10px}.fxa-h{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;align-items:end}.fxa-l{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px}
@media(max-width:900px){.fxa-h{grid-template-columns:1fr}.pl-bar input[type=range]{display:none}.pl-tl{flex-basis:100%;order:9}}
.fxa-l[hidden]{display:none!important}

/* Fichiers : arborescence fixe à gauche, contenu en haut, pas de noir, menu du clic droit */
.fx-tree{position:sticky;top:76px;max-height:calc(100vh - 96px)}.fx-main{min-height:60vh}.fx-main.fx-load{opacity:.55;transition:opacity .15s}
.fx-d{display:block;font-size:11px;color:var(--gold);margin-left:22px}.fx-d.sorti{color:var(--muted)}
#fxView{background:var(--bg)!important;transition:opacity .16s ease}#fxView.fx-in{animation:fxIn .16s ease}#fxView.fx-out{opacity:0}
#fxView header{background:var(--panel)!important;color:var(--text)!important;border-bottom:1px solid var(--line)}#fxView header b{color:var(--text)!important}#fxView header .btn{color:var(--text)!important;border-color:var(--line2)!important}#fxView header .btn.primary{color:#120e08!important;background:var(--gold);border-color:var(--gold)!important}
#fxView.fx-swap .fxv{animation:fxIn .18s ease}@keyframes fxIn{from{opacity:0}to{opacity:1}}
.fxv-m{background:var(--panel2)}.pl-vid video{background:transparent}.pl-aud,.pl-aud b{color:var(--text)!important}.pl-disc{background:radial-gradient(circle,var(--panel) 30%,var(--panel2) 70%)!important;border-color:var(--gold)!important}
.pl-img img{background:transparent!important}.pl-note{font-size:12px;text-align:center;margin:6px 0 0}
.pl-bar{background:var(--panel)!important;border-color:var(--line2)!important;color:var(--text)!important}.pl-bar button{color:var(--text)!important;border-color:var(--line2)!important}.pl-bar #plPP{color:var(--gold)!important;border-color:var(--gold)!important}
.pl-t{color:var(--muted)!important}.pl-tl{background:var(--line2)!important}.pl-buf{background:color-mix(in srgb,var(--gold) 30%,var(--line2))!important}.pl-bar select{background:var(--panel2)!important;color:var(--text)!important;border-color:var(--line2)!important}.pl-m{box-shadow:0 0 0 2px var(--panel)!important}
#fxCtx{position:fixed;z-index:500;min-width:210px;background:var(--panel);border:1px solid var(--line2);border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.35);padding:6px;display:flex;flex-direction:column}
#fxCtx button{text-align:left;background:none;border:none;color:var(--text);padding:9px 12px;border-radius:8px;font:14px var(--body);cursor:pointer}#fxCtx button:hover:not([disabled]){background:color-mix(in srgb,var(--gold) 14%,transparent)}#fxCtx button[disabled]{opacity:.4;cursor:default}#fxCtx hr{border:none;border-top:1px solid var(--line);margin:4px 6px}
.fxc-l{max-height:55vh;overflow:auto;display:flex;flex-direction:column;gap:2px}.fxc-d{text-align:left;background:none;border:none;color:var(--text);padding:7px 8px;border-radius:8px;cursor:pointer;font:14px var(--body)}.fxc-d:hover{background:color-mix(in srgb,var(--gold) 14%,transparent)}
table.props{width:100%;border-collapse:collapse}table.props th{text-align:left;color:var(--muted);font-weight:600;padding:6px 10px 6px 0;width:38%;vertical-align:top;background:none;position:static}table.props td{padding:6px 0;color:var(--text);overflow-wrap:anywhere}
@media(max-width:900px){.fx-tree{position:static;max-height:42vh}}
/* bloc-notes juste au-dessus de la messagerie */
#notesTab{top:auto!important;bottom:96px}
/* notifications */
.bn-tabs{display:flex;gap:6px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line)}.bn-tabs button{background:none;border:1px solid var(--line2);border-radius:999px;padding:4px 10px;color:var(--text);cursor:pointer;font-size:12px}.bn-tabs button.on{border-color:var(--gold);color:var(--gold)}.bn-tabs a{margin-left:auto;font-size:12px;color:var(--gold)}
#nfL{display:flex;flex-direction:column;gap:8px}#nfL .bn{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--text);padding:12px 14px}#nfL .bn.new{border-color:var(--gold)}#nfL .bn small{color:var(--muted)}
/* planning du studio */
.seg{display:inline-flex;gap:4px}.sp-titre{margin:0 6px}.sp-leg{font-size:12px}
.sp-head{display:grid;grid-template-columns:44px repeat(var(--n),1fr);gap:4px;margin-bottom:4px}.sp-head b{text-align:center;font-size:13px;padding:6px;border-radius:8px;background:var(--panel2)}.sp-head b.auj{background:color-mix(in srgb,var(--gold) 25%,var(--panel2))}
.sp-grid{position:relative;display:grid;grid-template-columns:44px repeat(var(--n),1fr);gap:4px;overflow:hidden}.sp-hrs{position:relative}.sp-hrs span{position:absolute;right:6px;font-size:11px;color:var(--muted);transform:translateY(-6px)}
.sp-col{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:8px;cursor:pointer}.sp-h{position:absolute;left:0;right:0;border-top:1px dashed var(--line)}
.sp-b{position:absolute;left:3px;right:3px;padding:4px 6px;border-radius:7px;font-size:12px;overflow:hidden;line-height:1.3;cursor:pointer;border:1px solid var(--line2);background:var(--panel2)}
.sp-semaine,.sp-jour{overflow-x:auto}.sp-semaine .sp-grid,.sp-semaine .sp-head{min-width:760px}

.pl-err{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;text-align:center;background:var(--panel2);border:1px solid var(--line2);border-radius:10px;color:var(--text)}.pl-aud .pl-err{position:static}.pl-err span{font-size:13px;color:var(--muted)}
.pl-dg{max-width:100%;white-space:pre-wrap;text-align:left;font-size:11px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px;margin:6px 0 0;color:var(--text)}

/* pochettes */
.cv-th{border:none;background:none;padding:0;cursor:pointer;display:block}.cv-th img{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--line2);display:block}.cv-th:hover img{border-color:var(--gold)}
.cv-add{white-space:nowrap}.cv-big{display:flex;justify-content:center;margin:6px 0 10px}.cv-big img{max-width:min(420px,100%);max-height:52vh;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.or-cover{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.or-cover h2{flex-basis:100%;margin:0}.or-cover img{width:200px;height:200px;object-fit:cover;border-radius:8px;border:1px solid var(--line2)}
@media(max-width:900px){.tw-cards table.tbl td[data-label="Pochette"]{grid-template-columns:1fr}.tw-cards table.tbl td[data-label="Pochette"]::before{display:none}.cv-th img{width:96px;height:96px}}

/* pochettes : repère site, choix dans le Drive */
.cv-th{position:relative}.cv-site{position:absolute;right:-6px;bottom:-6px;font-size:13px;background:var(--panel);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.cv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;max-height:50vh;overflow:auto;margin:10px 0}
.cv-pick{display:flex;flex-direction:column;gap:4px;background:var(--panel2);border:2px solid var(--line2);border-radius:10px;padding:6px;cursor:pointer;color:var(--text);font-size:11px;text-align:left}.cv-pick:hover,.cv-pick.on{border-color:var(--gold)}
.cv-pick img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px}.cv-pick span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* sélection multiple des fichiers */
.fx-cb{width:18px!important;height:18px;min-height:0!important;flex:none;cursor:pointer;accent-color:var(--gold)}.fx-f.sel{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,var(--panel))}
.fx-selbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}

/* =====================================================================
   RELIEF 3D — profondeur réaliste (ombres en couches, reflets, boutons qui s'enfoncent)
   ===================================================================== */
body.relief{--hl:color-mix(in srgb,#fff 10%,transparent);--hl2:color-mix(in srgb,#fff 22%,transparent);--sh1:0 1px 2px rgba(0,0,0,.28);--sh2:0 8px 22px -6px rgba(0,0,0,.45);--sh3:0 22px 44px -14px rgba(0,0,0,.55)}
body.relief.th-clair{--hl:rgba(255,255,255,.75);--hl2:rgba(255,255,255,.95);--sh1:0 1px 2px rgba(60,40,10,.12);--sh2:0 8px 20px -6px rgba(60,40,10,.18);--sh3:0 20px 40px -14px rgba(60,40,10,.25)}
/* surfaces : cartes, tableaux, indicateurs */
body.relief .card,body.relief .kpi,body.relief .tablewrap,body.relief .fx-tree,body.relief .fx-f,body.relief .fx-selbar,body.relief #modal .box,body.relief .fxa-p{
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 88%,#fff 12%) 0%,var(--panel) 38%,color-mix(in srgb,var(--panel) 92%,#000 8%) 100%);
  border:1px solid color-mix(in srgb,var(--line2) 70%,transparent);box-shadow:inset 0 1px 0 var(--hl),var(--sh1),var(--sh2);border-radius:16px}
body.relief .kpi{border-radius:14px}body.relief .kpi b{text-shadow:0 1px 0 var(--hl),0 2px 6px rgba(0,0,0,.25)}
body.relief .fx-f{border-radius:14px;transition:transform .15s ease,box-shadow .15s ease}body.relief .fx-f:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 var(--hl),var(--sh1),var(--sh3)}
/* boutons : dégradé, arête lumineuse, enfoncement au clic */
body.relief .btn{background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 80%,#fff 20%),var(--panel2) 55%,color-mix(in srgb,var(--panel2) 85%,#000 15%));
  box-shadow:inset 0 1px 0 var(--hl2),0 1px 0 rgba(0,0,0,.25),0 4px 10px -4px rgba(0,0,0,.4);transition:transform .08s ease,box-shadow .08s ease,filter .15s}
body.relief .btn:hover{filter:brightness(1.06)}body.relief .btn:active{transform:translateY(1px);box-shadow:inset 0 2px 5px rgba(0,0,0,.35),0 0 0 rgba(0,0,0,0)}
body.relief .btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 70%,#fff 30%) 0%,var(--gold) 45%,color-mix(in srgb,var(--gold) 75%,#000 25%) 100%);color:#1a1206;border-color:color-mix(in srgb,var(--gold) 70%,#000 30%);
  text-shadow:0 1px 0 rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -2px 0 rgba(0,0,0,.15),0 6px 14px -4px color-mix(in srgb,var(--gold) 60%,transparent)}
body.relief .btn.danger{box-shadow:inset 0 1px 0 var(--hl2),0 4px 10px -4px rgba(180,40,30,.45)}
/* champs gravés dans la surface */
body.relief input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.relief select,body.relief textarea{
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 88%,#000 12%),var(--panel2));box-shadow:inset 0 2px 4px rgba(0,0,0,.28),inset 0 -1px 0 var(--hl),0 1px 0 var(--hl);border-color:color-mix(in srgb,var(--line2) 80%,transparent)}
body.relief input:focus,body.relief select:focus,body.relief textarea:focus{box-shadow:inset 0 2px 4px rgba(0,0,0,.28),0 0 0 3px color-mix(in srgb,var(--gold) 30%,transparent)}
/* en-tête vitré */
body.relief header.top{background:color-mix(in srgb,var(--bg) 78%,transparent)!important;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 1px 0 var(--hl),0 10px 30px -18px rgba(0,0,0,.6)}
body.relief .pt-btn,body.relief .aideb,body.relief .bellc{box-shadow:inset 0 1px 0 var(--hl2),0 3px 8px -3px rgba(0,0,0,.35)}
/* menu : icônes en relief, élément actif bombé */
body.relief .nav .cat h4 .ico{background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 80%,#fff 20%),color-mix(in srgb,var(--panel) 85%,#000 15%));box-shadow:inset 0 1px 0 var(--hl2),0 3px 8px -2px rgba(0,0,0,.45);border-color:color-mix(in srgb,var(--line2) 60%,transparent)}
body.relief .nav .cat.open h4 .ico,body.relief .nav .cat.solo .solo-a.active h4 .ico{background:linear-gradient(145deg,color-mix(in srgb,var(--gold) 70%,#fff 30%),color-mix(in srgb,var(--gold) 80%,#000 20%));color:#1a1206;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 12px -3px color-mix(in srgb,var(--gold) 60%,transparent)}
body.relief .nav .cat.open h4{box-shadow:inset 0 1px 0 var(--hl),var(--sh2)}
/* Accueil : tuiles comme des objets, reflet qui suit la souris */
body.relief .home-t{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;transform-style:preserve-3d;
  background:linear-gradient(160deg,color-mix(in srgb,var(--panel) 80%,#fff 20%) 0%,var(--panel) 45%,color-mix(in srgb,var(--panel) 88%,#000 12%) 100%);box-shadow:inset 0 1px 0 var(--hl2),var(--sh1),var(--sh2);border-radius:18px}
body.relief .home-t::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--gx,30%) var(--gy,0%),rgba(255,255,255,.22),transparent 55%);pointer-events:none;opacity:.8}
body.relief .home-t:hover{box-shadow:inset 0 1px 0 var(--hl2),var(--sh1),var(--sh3)}
body.relief .ht-i{display:inline-block;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35));transform:translateZ(30px)}
/* pochettes : posées sur la page, avec reflet */
body.relief .cv-th img,body.relief .fx-th{box-shadow:0 2px 4px rgba(0,0,0,.3),0 8px 18px -6px rgba(0,0,0,.5)}
body.relief .cv-big img,body.relief .or-cover img{transition:transform .2s ease;box-shadow:0 2px 6px rgba(0,0,0,.3),0 24px 50px -16px rgba(0,0,0,.6)}
/* bulles, pastilles et fenêtres */
body.relief .pill{box-shadow:inset 0 1px 0 var(--hl),0 1px 2px rgba(0,0,0,.2)}
body.relief #chatFab{background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--gold) 60%,#fff 40%),var(--gold) 45%,color-mix(in srgb,var(--gold) 70%,#000 30%));box-shadow:inset 0 2px 0 rgba(255,255,255,.45),0 10px 24px -6px rgba(0,0,0,.55)}
body.relief #modal .box{box-shadow:inset 0 1px 0 var(--hl2),0 30px 70px -20px rgba(0,0,0,.7)}
body.relief th{background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 85%,#fff 15%),var(--panel2))}
/* boutons pochette */
.cv-cell{display:inline-flex;align-items:center;gap:10px}.cv-ops{display:inline-flex;gap:4px}.cv-ops .btn{padding:4px 8px;font-size:12px}.rel-cover{margin-bottom:8px}
@media(max-width:900px){.cv-cell{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){body.relief .home-t,body.relief .fx-f{transition:none}}
.cv-ops .btn{white-space:nowrap}

/* Les erreurs restent lisibles au-dessus des fenêtres et dans le formulaire. */
#toast{z-index:1000!important;max-width:min(680px,calc(100vw - 24px));width:max-content;max-height:40vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;box-sizing:border-box}
.modal-feedback{padding:12px 14px;border:1px solid #b42318;border-left-width:4px;border-radius:8px;background:#fff1f0;color:#8f1d17;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}

/* Métadonnées : carnet des contributeurs dans la fiche d'un titre */
.ctb-bar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line2);border-radius:12px;background:var(--panel2);margin-bottom:4px}
.ctb-bar .ctb-copy{display:flex;align-items:center;gap:6px;margin:0;font-size:13px}.ctb-bar .ctb-copy select{width:auto;min-width:180px}.ctb-lien{font-size:13px}.ctb-aide{flex-basis:100%;font-size:12px}
#ctbMsg{flex-basis:100%;font-size:13px}#ctbMsg:empty{display:none}.ctb-ok{color:var(--ok)}.ctb-warn{color:var(--warn)}
.ctb-add{margin-top:6px;font-size:13px!important;border-style:dashed!important}

/* Éditions : suivi éditorial des titres */
.edi-suivi{margin-bottom:16px}.edi-tete{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.edi-tete h2{margin:0;flex:1}.edi-f{display:flex;align-items:center;gap:6px;margin:0}.edi-f select{width:auto}
.edi-suivi tr[data-edt]{cursor:pointer}.edi-suivi .pill{margin:2px 2px 2px 0}

.ti-edi{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:10px 12px;border:1px dashed var(--line2);border-radius:12px;font-size:13px;color:var(--muted)}.ti-edi span{flex:1;min-width:220px}

.lc-rappel{margin:10px 0;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--warn,#c8901a) 45%,transparent);background:color-mix(in srgb,var(--warn,#c8901a) 8%,transparent)}.lc-rappel ul{margin:6px 0 10px;padding-left:20px}.lc-rappel li{margin:2px 0}
