/* ═══ NEW DESIGN for the dashboard (Ethan 22/10) — opt-in via ?nd=1 (html.nd), ?nd=0 to leave.
   Same language as the landing: paper + ink, thin rules, IBM Plex Mono labels/numbers, no soft shadows.
   Scope (22/10): sidebar + logos only — main dashboard area reverted to the original. ═══ */
html.nd body:not(.guest){
  --nd-paper:#F6F5F1;--nd-paper2:#FAF9F5;--nd-rule:#DAD6CB;--nd-rule2:#ECE8DE;--nd-ink:#0B1A3C;--nd-ink2:#2B3345;--nd-muted:#8A8576;--nd-accent:#005FF6;--nd-ok:#15803D;--nd-warn:#C2410C;
  --nd-mono:'IBM Plex Mono',ui-monospace,monospace;--nd-sans:'IBM Plex Sans',Inter,sans-serif;
}

/* ── Sidebar ── */
html.nd body:not(.guest) aside{background:var(--nd-paper)!important;border-right:1px solid var(--nd-rule)!important;box-shadow:none!important;}
html.nd body:not(.guest) aside #nc-btn,html.nd body:not(.guest) aside #rd-btn{border-radius:4px!important;font-weight:600!important;}
html.nd body:not(.guest) aside #nc-btn.on,html.nd body:not(.guest) aside #rd-btn.on{background:#fff!important;box-shadow:inset 0 0 0 1px var(--nd-rule)!important;}
html.nd body:not(.guest) aside #nc-btn:hover,html.nd body:not(.guest) aside #rd-btn:hover{background:#EFEDE6!important;}
html.nd body:not(.guest) aside .side-lab,html.nd body:not(.guest) aside [class*="sec-t"],html.nd body:not(.guest) #camps-h{font-family:var(--nd-mono)!important;font-size:10.5px!important;letter-spacing:.06em!important;color:var(--nd-muted)!important;}
html.nd body:not(.guest) #camps .camp{border-radius:4px!important;}
html.nd body:not(.guest) #camps .camp:hover{background:#EFEDE6!important;}
html.nd body:not(.guest) #camps .camp.on{background:#fff!important;box-shadow:inset 2px 0 0 var(--nd-accent),inset 0 0 0 1px var(--nd-rule)!important;}
html.nd body:not(.guest) #camps .camp .t{color:var(--nd-ink)!important;}
html.nd body:not(.guest) .up-card{background:#fff!important;border:1px solid var(--nd-rule)!important;border-radius:4px!important;box-shadow:none!important;}
html.nd body:not(.guest) .side-foot{border-top:1px solid var(--nd-rule)!important;}



/* new logo (Ethan 22/10) — sidebar + mobile top bar + demo mock */
html.nd body:not(.guest) .side-brand img,html.nd body:not(.guest) .rail-logo{content:url('/assets/logo_v2.webp');height:30px!important;width:auto!important;}
html.nd .hdm-logo{content:url('/assets/logo_v2.webp');width:104px!important;}
html.nd #gtop .glogo,html.nd .lg-logo{content:url('/assets/logo_v2.webp');}
html.nd #gtop .glogo{height:34px!important;}
@media(max-width:760px){html.nd #gtop .glogo{height:27px!important;}}

/* sidebar without blue tints (Ethan 22/10) — warm neutrals only */
html.nd body:not(.guest) aside{--nd-warm:#6B675C;}
html.nd body:not(.guest) aside #ws-pill{background:#fff!important;background-image:none!important;border:1px solid var(--nd-rule)!important;box-shadow:none!important;border-radius:6px!important;}
html.nd body:not(.guest) aside #ws-pill:hover{border-color:#BFB9AA!important;}
html.nd body:not(.guest) aside #camps .camp .ow{color:var(--nd-muted)!important;}
html.nd body:not(.guest) aside #sb-tog,html.nd body:not(.guest) aside .ws-chev,html.nd body:not(.guest) aside .dots,html.nd body:not(.guest) aside .up-card .d,html.nd body:not(.guest) aside #acct-plan{color:var(--nd-warm)!important;}
html.nd body:not(.guest) aside #rd-try{color:var(--nd-warm)!important;border-color:var(--nd-rule)!important;background:#fff!important;}
html.nd body:not(.guest) aside .up-card .ic{background:#F1EEE6!important;color:var(--nd-ink)!important;}
html.nd body:not(.guest) aside #nc-btn svg,html.nd body:not(.guest) aside #rd-btn svg{color:var(--nd-ink)!important;}

/* missions label removed (Ethan 22/10) */
html.nd body:not(.guest) aside .side-lab{display:none!important;}

/* selected item = soft pressed fill, ChatGPT-style (Ethan 22/10): no white card, no border, no blue bar */
html.nd body:not(.guest) #camps .camp,html.nd body:not(.guest) aside #nc-btn,html.nd body:not(.guest) aside #rd-btn{border-radius:10px!important;}
html.nd body:not(.guest) #camps .camp.on,html.nd body:not(.guest) aside #nc-btn.on,html.nd body:not(.guest) aside #rd-btn.on{background:#E9E6DD!important;box-shadow:none!important;border:none!important;}
html.nd body:not(.guest) #camps .camp:hover:not(.on),html.nd body:not(.guest) aside #nc-btn:hover:not(.on),html.nd body:not(.guest) aside #rd-btn:hover:not(.on){background:#EFEDE6!important;}

/* LIGHT HARMONY of the main area (Ethan 22/10 « un peu, juste pour que ça ne fasse pas choc ») —
   same layout & components, cool slate greys swapped for warm greys matching the sidebar */
html.nd body:not(.guest){background:#F5F4F0!important;}
html.nd body:not(.guest) .main{background:#FAF9F6!important;}
html.nd body:not(.guest) .searchrow{background:#FDFCFA!important;border-bottom-color:#E4E0D6!important;}
html.nd body:not(.guest) #list{border-color:#BDB7A9!important;}
html.nd body:not(.guest) #list .lhead{background:#F2F0EA!important;border-bottom-color:#8F897C!important;}
html.nd body:not(.guest) #list .lhead .hcell{background:#F5F3EE!important;border-right-color:#D6D0C3!important;}
html.nd body:not(.guest) #list .row{border-bottom-color:#E1DCD1!important;}
html.nd body:not(.guest) #list .row>*{border-right-color:#E1DCD1!important;}
html.nd body:not(.guest) #list .row:nth-child(even):not(.best):not(.on):not(.sel){background:#F8F7F3!important;}
html.nd body:not(.guest) #list .row .rnum{background:#F5F3EE!important;}
html.nd body:not(.guest) #list .tb{background:#FAF9F6!important;border-color:#D6D0C3!important;}
html.nd body:not(.guest) .hd-btn{border-color:#D7D1C3!important;}
html.nd body:not(.guest) #list .lhead>*{background:#F5F3EE!important;}

/* connected home: new dove + beige background instead of the blue aurora (Ethan 22/10) */
html.nd body:not(.guest) .home-mark{content:url('/assets/dove_v2.webp');width:59px!important;}
html.nd body:not(.guest) #home{background:#F6F5F1!important;}
html.nd body:not(.guest) #home::before{background:
    radial-gradient(42% 46% at 18% 24%, rgba(233,222,200,.55), transparent 70%),
    radial-gradient(46% 50% at 84% 18%, rgba(240,232,216,.5), transparent 70%),
    radial-gradient(54% 58% at 50% 78%, rgba(228,219,201,.45), transparent 72%),
    linear-gradient(180deg,#F8F7F3 0%,#F6F5F1 50%,#F3F1EB 100%)!important;}
html.nd body:not(.guest) #home .home-bar{border-color:#E1DCD1!important;box-shadow:0 10px 30px -18px rgba(60,50,30,.25)!important;}

/* warm aurora halos (Ethan 22/10 « le délire d'halo », en beige) — same animated aurora as before, sand/cream tones */
html.nd body:not(.guest) #home::before{display:block!important;background:
    linear-gradient(180deg, rgba(246,245,241,0) 74%, #F6F5F1 94%),
    radial-gradient(42% 46% at 18% 24%, rgba(222,196,150,.55), transparent 70%),
    radial-gradient(46% 50% at 84% 18%, rgba(236,214,176,.50), transparent 70%),
    radial-gradient(54% 58% at 50% 72%, rgba(214,190,150,.38), transparent 72%),
    radial-gradient(42% 46% at 80% 92%, rgba(230,205,165,.45), transparent 70%),
    radial-gradient(38% 42% at 10% 86%, rgba(210,184,140,.40), transparent 70%),
    linear-gradient(180deg,#FBFAF7 0%,#F7F3EA 30%,#F2EADB 62%,#F5EFE4 100%)!important;}
/* lines: original strength −10 % (Ethan 22/10), warm instead of slate */
html.nd body:not(.guest) #list{border-color:#8A8478!important;}
html.nd body:not(.guest) #list .lhead{border-bottom-color:#6E685E!important;}
html.nd body:not(.guest) #list .lhead .hcell,html.nd body:not(.guest) #list .lhead>*{border-right-color:#ACA598!important;}
html.nd body:not(.guest) #list .row{border-bottom-color:#ACA598!important;}
html.nd body:not(.guest) #list .row>*{border-right-color:#ACA598!important;}

/* brief screen legibility (Ethan 22/10) — solid white cards on the beige halo, ink instead of blue */
html.nd body:not(.guest) .hf-why{background:#fff!important;border:1px solid #DDD7CA!important;color:#2B3345!important;box-shadow:0 1px 2px rgba(60,50,30,.05);}
html.nd body:not(.guest) .hf-why svg{color:var(--nd-ink)!important;}
html.nd body:not(.guest) .hf-opts{background:#fff!important;border:1px solid #DDD7CA!important;box-shadow:0 1px 2px rgba(60,50,30,.05);}
html.nd body:not(.guest) .hf-o+.hf-o{border-top:1px solid #EFEBE3;}
html.nd body:not(.guest) .hf-o:hover{background:#FAF8F4!important;}
html.nd body:not(.guest) .hf-o>i{border-color:#8F897C!important;}
html.nd body:not(.guest) .hf-o span small{color:#6B675C!important;}
html.nd body:not(.guest) .hf-t{font-size:17px!important;}
html.nd body:not(.guest) .hf-skip{border-color:#DDD7CA!important;color:#4A463E!important;}
html.nd body:not(.guest) .hf-think{color:#6B675C!important;}

/* every old dove / old logo picture in the app → new artwork */
html.nd body:not(.guest) img[src$="/assets/favicon.png"]{content:url('/assets/dove_v2.webp');object-fit:contain;}
html.nd body:not(.guest) img[src$="/assets/logo.png"]{content:url('/assets/logo_v2.webp');}
