/* NJUBEEL V33 — Visionneuse et écrans de parcours — 2026-07-23 14:11:51 CEST (+0200) — Europe/Zurich */
.journey-hero-art{position:relative;min-height:220px;display:grid;place-items:center}.journey-hero-orbit{position:relative;width:220px;height:220px;border:1px solid rgba(255,255,255,.26);border-radius:50%}.journey-hero-orbit::before,.journey-hero-orbit::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.20);border-radius:50%}.journey-hero-orbit::before{inset:24px}.journey-hero-orbit::after{inset:52px}.journey-hero-persona{position:absolute;inset:68px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--brand-800);font:900 2.6rem/1 var(--font);box-shadow:0 18px 42px rgba(0,0,0,.25)}.journey-hero-node{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.12)}.journey-hero-node:nth-child(2){left:20px;top:46px}.journey-hero-node:nth-child(3){right:8px;top:94px}.journey-hero-node:nth-child(4){left:72px;bottom:0}.journey-summary{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px;margin:28px 0}.journey-summary>article{padding:26px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-sm)}.journey-summary h2{font-size:1.65rem}.journey-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.journey-metrics div{padding:16px;border-radius:12px;background:var(--brand-050)}.journey-metrics strong,.journey-metrics small{display:block}.journey-metrics strong{font:900 1.9rem/1 var(--font-display);color:var(--brand-800)}.journey-metrics small{margin-top:6px;color:var(--ink-600)}.journey-phase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.journey-phase{padding:20px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;box-shadow:var(--shadow-sm)}.journey-phase span{display:grid;place-items:center;width:36px;height:36px;margin-bottom:12px;border-radius:50%;background:var(--brand-700);color:#fff;font-weight:900}.journey-phase strong,.journey-phase small{display:block}.journey-phase small{margin-top:4px;color:var(--ink-600)}
.journey-launch{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 30px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--brand-gradient-start),var(--brand-gradient-end));color:#fff;box-shadow:var(--shadow-md)}.journey-launch h2{color:#fff}.journey-launch p{margin:0;color:rgba(255,255,255,.78)}.journey-launch button,.journey-launch-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border:0;border-radius:10px;background:#fff;color:var(--brand-800);font-weight:900;cursor:pointer;white-space:nowrap;text-decoration:none}.journey-launch-button:hover,.journey-launch-button:focus-visible{color:var(--brand-900);box-shadow:0 0 0 4px rgba(255,255,255,.20);outline:none}
.journey-viewer{margin:32px 0;border:1px solid rgba(41,7,15,.24);border-radius:22px;overflow:hidden;background:#151013;box-shadow:var(--shadow-lg)}.journey-viewer[hidden]{display:none}.journey-viewer{scroll-margin-top:calc(var(--header-h) + 8px)}.viewer-toolbar{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:16px;align-items:center;padding:12px 14px;background:linear-gradient(90deg,var(--brand-gradient-start),var(--brand-gradient-end));color:#fff}.viewer-nav,.viewer-tools{display:flex;gap:7px;align-items:center}.viewer-toolbar button,.viewer-toolbar select{height:38px;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-weight:800}.viewer-toolbar button{min-width:38px;padding:0 11px;cursor:pointer}.viewer-toolbar button:hover,.viewer-toolbar button:focus-visible{background:#fff;color:var(--brand-800);outline:none}.viewer-toolbar button:disabled{opacity:.35;cursor:not-allowed}.viewer-title{min-width:0;text-align:center}.viewer-title strong,.viewer-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-title small{color:rgba(255,255,255,.68)}.viewer-progress{height:5px;background:rgba(255,255,255,.12)}.viewer-progress progress{display:block;width:100%;height:5px;border:0;appearance:none}.viewer-progress progress::-webkit-progress-bar{background:transparent}.viewer-progress progress::-webkit-progress-value{background:var(--gold)}.viewer-progress progress::-moz-progress-bar{background:var(--gold)}
.viewer-workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;min-height:720px;background:#eceff3}.viewer-workspace.is-details-hidden{grid-template-columns:minmax(0,1fr)}.viewer-screen-region{min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.viewer-canvas{min-width:0;min-height:0;display:grid;place-items:center;padding:18px;overflow:auto;background:radial-gradient(circle at 50% 30%,#fff,#e7e9ee 65%,#d8dbe1)}.viewer-canvas.fit-screen .nj-screen{width:min(100%,1180px)}.viewer-canvas.fit-width{display:block}.viewer-canvas.fit-width .nj-screen{width:100%;max-width:none}.viewer-canvas.fit-actual .nj-screen{width:1180px;max-width:none}.viewer-thumbs{display:flex;gap:8px;padding:10px 12px;overflow-x:auto;background:#21191d;scrollbar-color:var(--brand-500) transparent}.viewer-thumb{flex:0 0 168px;min-height:74px;display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center;padding:9px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.05);color:#fff;text-align:left;cursor:pointer}.viewer-thumb:hover,.viewer-thumb.is-active{border-color:var(--gold);background:rgba(255,255,255,.12)}.viewer-thumb span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--brand-700);font-weight:900}.viewer-thumb strong,.viewer-thumb small{display:block;line-height:1.2}.viewer-thumb strong{font-size:.72rem}.viewer-thumb small{margin-top:4px;color:rgba(255,255,255,.55);font-size:.63rem}.viewer-context{min-width:0;overflow:auto;border-left:1px solid #d2d6dd;background:#fff}.viewer-context-header{position:sticky;top:0;z-index:2;padding:22px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.viewer-context-header span{color:var(--brand-600);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.viewer-context-header h2{margin:6px 0 4px;font:900 1.35rem/1.18 var(--font)}.viewer-context-header p{margin:0;color:var(--ink-600);font-size:.9rem}.viewer-context-body{padding:20px}.viewer-context-card{margin-bottom:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--brand-050)}.viewer-context-card h3{font-size:.9rem}.viewer-context-card p,.viewer-context-card li{font-size:.84rem;color:var(--ink-600)}.viewer-context-card ul{margin:8px 0 0;padding-left:18px}.viewer-tags{display:flex;flex-wrap:wrap;gap:6px}.viewer-tags span,.viewer-tags a{padding:5px 8px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--brand-800);font-size:.69rem;font-weight:800;text-decoration:none}
.journey-viewer:fullscreen,.journey-viewer:-webkit-full-screen{width:100%;height:100%;border-radius:0}.journey-viewer:fullscreen .viewer-workspace,.journey-viewer:-webkit-full-screen .viewer-workspace{height:calc(100vh - 82px);min-height:0}.journey-viewer:fullscreen .viewer-screen-region,.journey-viewer:-webkit-full-screen .viewer-screen-region{min-height:0}.journey-viewer:fullscreen .viewer-canvas,.journey-viewer:-webkit-full-screen .viewer-canvas{min-height:0}
/* Application NJUBEEL simulée */
.nj-screen{overflow:hidden;border:1px solid #c8ccd4;border-radius:13px;background:#f5f7fa;box-shadow:0 20px 55px rgba(16,12,14,.24);font:14px/1.35 var(--font);color:#252126}.nj-app-top{height:54px;display:flex;align-items:center;gap:18px;padding:0 18px;background:linear-gradient(92deg,var(--brand-gradient-start),var(--brand-gradient-end));color:#fff}.nj-app-brand{display:flex;align-items:center;gap:9px;font-weight:900;letter-spacing:.1em}.nj-app-mark{width:29px;height:29px;display:grid;place-items:center;border-radius:7px;background:#fff;color:var(--brand-700);font-size:.7rem}.nj-app-search{flex:1;max-width:440px;display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:8px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.72);font-size:.78rem}.nj-app-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.nj-app-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.1)}.nj-app-persona{display:flex;align-items:center;gap:8px}.nj-app-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--brand-800);font-weight:900}.nj-app-persona small{display:block;color:rgba(255,255,255,.65)}.nj-app-shell{display:grid;grid-template-columns:184px minmax(0,1fr);min-height:610px}.nj-app-side{padding:16px 10px;border-right:1px solid #dfe2e8;background:#fff}.nj-app-side-context{margin:0 5px 14px;padding:10px;border-radius:8px;background:var(--brand-050)}.nj-app-side-context strong,.nj-app-side-context small{display:block}.nj-app-side-context strong{color:var(--brand-800)}.nj-app-side-context small{color:#81777a;font-size:.68rem}.nj-app-menu{display:grid;gap:3px}.nj-app-menu span{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:7px;color:#595156;font-size:.76rem}.nj-app-menu span::before{content:"";width:7px;height:7px;border-radius:2px;background:#bdb6b9}.nj-app-menu span.is-active{background:var(--brand-100);color:var(--brand-900);font-weight:900}.nj-app-menu span.is-active::before{background:var(--brand-600)}.nj-app-main{min-width:0;padding:20px}.nj-app-breadcrumb{margin-bottom:6px;color:#81777a;font-size:.68rem}.nj-app-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.nj-app-heading h2{margin:2px 0 4px;font:900 1.45rem/1.15 var(--font);color:#252126}.nj-app-heading p{margin:0;color:#746b6f;font-size:.78rem}.nj-primary{height:36px;padding:0 13px;border:0;border-radius:7px;background:var(--brand-700);color:#fff;font-size:.72rem;font-weight:900}.nj-block-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.nj-block{grid-column:span 12;margin:0;padding:14px;border:1px solid #e0e3e9;border-radius:9px;background:#fff;box-shadow:0 2px 7px rgba(20,16,18,.05)}.nj-block.half{grid-column:span 6}.nj-block.third{grid-column:span 4}.nj-block h3{margin:0 0 10px;font:900 .78rem/1.2 var(--font);color:#5b171f;text-transform:uppercase;letter-spacing:.05em}.nj-kpis{grid-column:span 12;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.nj-kpi{padding:13px;border:1px solid #e0e3e9;border-radius:9px;background:#fff}.nj-kpi strong,.nj-kpi span,.nj-kpi small{display:block}.nj-kpi strong{font-size:1.45rem;color:var(--brand-700)}.nj-kpi span{font-size:.69rem;font-weight:800}.nj-kpi small{margin-top:5px;color:#7d7478;font-size:.6rem}.nj-table-wrap{overflow:auto}.nj-table{width:100%;min-width:620px;border-collapse:collapse}.nj-table th,.nj-table td{position:static;padding:8px 9px;border-bottom:1px solid #e8e9ed;background:transparent;color:#342f31;font-size:.66rem}.nj-table th{background:#f4eef0;color:#6c1a25}.nj-table tbody tr:hover{background:#faf5f6}.nj-status{display:inline-flex;padding:3px 6px;border-radius:999px;background:var(--brand-100);color:var(--brand-800);font-size:.59rem;font-weight:900}.nj-timeline{display:grid;gap:8px}.nj-event{position:relative;padding:7px 8px 7px 28px;border-radius:7px;background:#faf7f8}.nj-event::before{content:"";position:absolute;left:10px;top:13px;width:8px;height:8px;border-radius:50%;background:var(--brand-600);box-shadow:0 0 0 3px var(--brand-100)}.nj-event strong,.nj-event span,.nj-event small{display:block}.nj-event strong{font-size:.69rem}.nj-event span{color:#746b6f;font-size:.62rem}.nj-event small{position:absolute;right:8px;top:8px;color:#8a8185;font-size:.58rem}.nj-alert{grid-column:span 12;padding:12px 14px;border-left:5px solid var(--info);border-radius:8px;background:#edf4fb}.nj-alert.warning{border-color:var(--warning);background:#fff7e7}.nj-alert.critical{border-color:var(--danger);background:var(--brand-050)}.nj-alert strong,.nj-alert span{display:block}.nj-alert strong{font-size:.73rem}.nj-alert span{margin-top:3px;color:#625a5e;font-size:.68rem}.nj-form{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.nj-field{display:grid;gap:4px}.nj-field.wide{grid-column:1/-1}.nj-field label{font-size:.62rem;font-weight:800;color:#5f575a}.nj-control{min-height:34px;padding:8px;border:1px solid #dcdfe5;border-radius:6px;background:#fafbfc;color:#6c6468;font-size:.66rem}.nj-checks{display:grid;gap:7px}.nj-check{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:7px;background:#f8faf9}.nj-check::before{content:"✓";display:grid;place-items:center;width:18px;height:18px;border-radius:5px;background:#e2f3ea;color:var(--success);font-weight:900}.nj-check span{font-size:.67rem}.nj-check small{color:var(--success);font-size:.58rem;font-weight:900}.nj-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.nj-card{padding:10px;border:1px solid #e4e5ea;border-radius:8px;background:#fafbfc}.nj-card strong,.nj-card span,.nj-card small{display:block}.nj-card strong{font-size:.69rem;color:var(--brand-800)}.nj-card span{margin-top:3px;font-size:.65rem}.nj-card small{margin-top:6px;color:#81787c;font-size:.57rem}.nj-people{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.nj-person{padding:12px;border:1px solid #e1e3e8;border-radius:8px;text-align:center}.nj-person b{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 7px;border-radius:50%;background:var(--brand-100);color:var(--brand-800)}.nj-person strong,.nj-person span,.nj-person small{display:block}.nj-person strong{font-size:.68rem}.nj-person span{color:#746b6f;font-size:.59rem}.nj-person small{margin-top:5px;color:var(--success);font-size:.57rem}.nj-kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.nj-kanban-col{padding:8px;border-radius:7px;background:#f2f3f6}.nj-kanban-col>strong{display:block;margin-bottom:7px;color:#6e6468;font-size:.62rem}.nj-ticket{margin-top:6px;padding:8px;border-left:3px solid var(--brand-500);border-radius:5px;background:#fff;font-size:.61rem}.nj-schedule{display:grid;gap:7px}.nj-slot{display:grid;grid-template-columns:84px 1fr auto;gap:8px;align-items:center;padding:9px;border-radius:7px;background:#faf7f8}.nj-slot b{color:var(--brand-800);font-size:.65rem}.nj-slot strong{font-size:.67rem}.nj-slot small{color:#776e72;font-size:.58rem}.nj-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.nj-detail div{padding:8px;border-radius:7px;background:#f8f5f6}.nj-detail dt{color:#857b7f;font-size:.57rem;text-transform:uppercase}.nj-detail dd{margin:2px 0 0;font-size:.66rem;font-weight:800}.nj-custody{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.nj-custody div{padding:11px;border-radius:8px;background:linear-gradient(135deg,var(--brand-950),var(--brand-700));color:#fff}.nj-custody strong,.nj-custody span{display:block}.nj-custody strong{font-size:.72rem}.nj-custody span{margin-top:5px;color:rgba(255,255,255,.72);font-size:.59rem}.nj-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.nj-signature{padding:14px;border:1px dashed #bcaeb2;border-radius:8px;text-align:center}.nj-signature::before{content:"✓";display:grid;place-items:center;width:30px;height:30px;margin:0 auto 7px;border-radius:50%;background:#e2f3ea;color:var(--success);font-weight:900}.nj-signature strong{display:block;font-size:.65rem}.nj-chart{height:150px;display:flex;align-items:end;gap:9px;padding:10px 4px 0}.nj-chart-bar{flex:1;min-height:20px;border-radius:5px 5px 0 0;background:linear-gradient(var(--brand-500),var(--brand-800));position:relative}.nj-chart-bar::after{content:attr(data-label);position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);color:#756c70;font-size:.55rem}.nj-activity{display:grid;gap:7px}.nj-activity div{padding:8px 10px;border-left:3px solid var(--brand-500);border-radius:0 6px 6px 0;background:#faf7f8;font-size:.65rem}.nj-decision-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.nj-decision-option{padding:12px;border:1px solid #dedfe4;border-radius:8px;background:#fff;font-size:.66rem;font-weight:800}.nj-decision-option.is-selected{border-color:var(--brand-600);background:var(--brand-050);color:var(--brand-800)}
/* Catalogue */
.journey-catalog-tools{position:sticky;top:calc(var(--header-h) + 10px);z-index:20;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px;padding:14px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(255,255,255,.94);box-shadow:var(--shadow-sm);backdrop-filter:blur(12px)}.journey-catalog-tools input,.journey-catalog-tools select{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.journey-catalog-tools input{flex:1;min-width:240px}.journey-catalog-count{display:flex;align-items:center;margin-left:auto;color:var(--ink-600);font-weight:800}.journey-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.journey-screen-card{display:grid;grid-template-rows:auto 1fr auto;min-height:245px;padding:20px;border:1px solid var(--line);border-top:5px solid var(--brand-600);border-radius:var(--r-md);background:#fff;box-shadow:var(--shadow-sm)}.journey-screen-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.journey-screen-card header{display:flex;gap:12px}.journey-screen-number{flex:0 0 42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--brand-100);color:var(--brand-800);font-weight:900}.journey-screen-card h2{margin:0;font:900 1.05rem/1.2 var(--font)}.journey-screen-card header small{color:var(--ink-600)}.journey-screen-card p{margin:14px 0;color:var(--ink-600);font-size:.9rem}.journey-screen-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.journey-screen-card a{font-weight:900;text-decoration:none}.catalog-empty{padding:40px;border:1px dashed var(--line);border-radius:var(--r-lg);text-align:center;color:var(--ink-600)}
@media(max-width:1120px){.viewer-workspace{grid-template-columns:minmax(0,1fr) 320px}.nj-app-shell{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:900px){.journey-summary{grid-template-columns:1fr}.journey-phase-grid{grid-template-columns:repeat(2,1fr)}.viewer-toolbar{grid-template-columns:1fr auto}.viewer-title{grid-column:1/-1;grid-row:1;text-align:left}.viewer-nav{grid-row:2}.viewer-tools{grid-row:2;justify-content:flex-end}.viewer-workspace{grid-template-columns:1fr}.viewer-context{max-height:440px;border-left:0;border-top:1px solid #d2d6dd}.viewer-workspace.is-details-hidden .viewer-context{display:none}.viewer-canvas{padding:8px}.nj-screen{font-size:13px}.nj-app-side{display:none}.nj-app-shell{grid-template-columns:1fr}.nj-kpis{grid-template-columns:repeat(2,1fr)}.nj-block.half,.nj-block.third{grid-column:span 12}.nj-kanban{grid-template-columns:repeat(2,1fr)}.nj-people{grid-template-columns:1fr}.nj-custody{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.journey-phase-grid{grid-template-columns:1fr}.journey-launch{align-items:flex-start;flex-direction:column}.viewer-toolbar{display:flex;flex-wrap:wrap}.viewer-title{order:-1;flex-basis:100%;text-align:left}.viewer-tools select{display:none}.viewer-thumb{flex-basis:145px}.nj-app-persona small,.nj-app-search{display:none}.nj-app-main{padding:10px}.nj-app-heading{align-items:flex-start;flex-direction:column}.nj-primary{width:100%}.nj-kpis,.nj-form,.nj-cards,.nj-detail,.nj-decision-options,.nj-signatures{grid-template-columns:1fr}.nj-kanban{grid-template-columns:1fr}.nj-table{min-width:560px}.journey-catalog-tools{position:static}.journey-catalog-count{flex-basis:100%;margin-left:0}}

.nj-chart-bar.h10{height:10%}.nj-chart-bar.h15{height:15%}.nj-chart-bar.h20{height:20%}.nj-chart-bar.h25{height:25%}.nj-chart-bar.h30{height:30%}.nj-chart-bar.h35{height:35%}.nj-chart-bar.h40{height:40%}.nj-chart-bar.h45{height:45%}.nj-chart-bar.h50{height:50%}.nj-chart-bar.h55{height:55%}.nj-chart-bar.h60{height:60%}.nj-chart-bar.h65{height:65%}.nj-chart-bar.h70{height:70%}.nj-chart-bar.h75{height:75%}.nj-chart-bar.h80{height:80%}.nj-chart-bar.h85{height:85%}.nj-chart-bar.h90{height:90%}.nj-chart-bar.h95{height:95%}.nj-chart-bar.h100{height:100%}

/* V33 — Visionneuse immersive dédiée */
body[data-layout="viewer"]{height:100dvh;min-height:100dvh;overflow:hidden;background:#151013;color:var(--ink-950)}body[data-layout="viewer"]::before,body[data-layout="viewer"]::after{display:none}.dedicated-viewer{height:100dvh;display:grid;grid-template-rows:auto 5px minmax(0,1fr) auto;overflow:hidden;background:#151013}.viewer-dedicated-toolbar{position:relative;z-index:30;display:grid;grid-template-columns:auto auto minmax(180px,1fr) auto auto;gap:12px;align-items:center;min-height:76px;padding:10px max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));background:linear-gradient(105deg,var(--brand-gradient-start),var(--brand-gradient-mid) 58%,var(--brand-gradient-end));color:#fff;box-shadow:0 5px 20px rgba(41,7,15,.26)}.viewer-back,.viewer-dedicated-toolbar button{height:42px;min-width:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-weight:900;cursor:pointer}.viewer-back:hover,.viewer-back:focus-visible,.viewer-dedicated-toolbar button:hover,.viewer-dedicated-toolbar button:focus-visible{background:#fff;color:var(--brand-800);outline:none}.viewer-brand{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none}.viewer-brand:hover,.viewer-brand:focus-visible{color:#fff;outline:none}.viewer-brand-logo{width:48px;height:42px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#fff}.viewer-brand-logo img{width:44px;height:36px;object-fit:contain}.viewer-brand strong,.viewer-brand small{display:block}.viewer-brand strong{letter-spacing:.09em}.viewer-brand small{color:rgba(255,255,255,.72);font-size:.68rem}.viewer-dedicated-toolbar .viewer-title{text-align:left}.viewer-dedicated-toolbar .viewer-title strong,.viewer-dedicated-toolbar .viewer-title span,.viewer-dedicated-toolbar .viewer-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-dedicated-toolbar .viewer-title strong{color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.viewer-dedicated-toolbar .viewer-title span{font-size:1rem;font-weight:900}.viewer-dedicated-toolbar .viewer-title small{color:rgba(255,255,255,.72);font-size:.72rem}.viewer-fit-control{height:42px;display:grid;grid-template-columns:auto auto;align-items:center;gap:7px;padding:0 7px 0 11px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.08)}.viewer-fit-control span{font-size:.7rem;font-weight:800}.viewer-fit-control select{display:block;height:32px;max-width:170px;border:0;border-radius:7px;padding:0 8px;background:#fff;color:var(--brand-900);font-weight:800;cursor:pointer}.viewer-dedicated-workspace{position:relative;min-height:0;overflow:hidden;background:#e8ebf0}.viewer-stage{position:absolute;inset:0;min-width:0;min-height:0;overflow:auto;display:block;padding:18px;overscroll-behavior:contain;scrollbar-color:var(--brand-400) #d8dce3;background:radial-gradient(circle at 50% 26%,#fff,#e7e9ee 65%,#d6dae1)}.viewer-stage-frame{position:relative;margin:auto}.viewer-canvas{position:absolute;left:0;top:0;display:block;padding:0;overflow:visible;background:transparent}.viewer-canvas .nj-screen{width:1180px;max-width:none}.viewer-info-panel{position:absolute;z-index:45;right:0;top:0;bottom:0;width:min(420px,92vw);overflow:auto;border-left:1px solid #d2d6dd;background:#fff;box-shadow:-18px 0 44px rgba(24,5,10,.22);transform:translateX(105%);visibility:hidden;transition:transform .24s ease,visibility 0s linear .24s}.viewer-info-open .viewer-info-panel{transform:none;visibility:visible;transition:transform .24s ease,visibility 0s}.viewer-info-panel .viewer-context-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.viewer-context-header>button{flex:0 0 40px;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--brand-050);color:var(--brand-900);font-size:1.4rem;cursor:pointer}.viewer-info-backdrop{position:absolute;z-index:40;inset:0;border:0;background:rgba(24,5,10,.32);backdrop-filter:blur(1px);opacity:0;pointer-events:none;transition:opacity .2s}.viewer-info-open .viewer-info-backdrop{opacity:1;pointer-events:auto}.viewer-info-backdrop[hidden]{display:block}.viewer-dedicated-footer{position:relative;z-index:25;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:stretch;min-height:94px;padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#21191d;transition:min-height .2s,padding .2s}.viewer-thumbs-toggle{min-width:74px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(255,255,255,.07);color:#fff;font-weight:900;cursor:pointer}.viewer-dedicated-footer .viewer-thumbs{padding:0;background:transparent}.viewer-thumbs-collapsed .viewer-dedicated-footer{min-height:48px}.viewer-thumbs-collapsed .viewer-thumbs{display:none}.viewer-thumbs-collapsed .viewer-thumbs-toggle{height:40px}.dedicated-viewer .viewer-progress{background:rgba(255,255,255,.18)}.dedicated-viewer:fullscreen,.dedicated-viewer:-webkit-full-screen{height:100vh}.dedicated-viewer .nj-screen{box-shadow:0 18px 50px rgba(16,12,14,.24)}
@media(max-width:1100px){.viewer-dedicated-toolbar{grid-template-columns:auto auto minmax(140px,1fr) auto}.viewer-fit-control span{display:none}.viewer-brand small{display:none}.viewer-dedicated-toolbar .viewer-tools{grid-column:4}.viewer-dedicated-toolbar .viewer-nav{grid-row:2;grid-column:1/3}.viewer-dedicated-toolbar .viewer-tools{grid-row:2;grid-column:3/5;justify-content:flex-end}.viewer-dedicated-toolbar .viewer-title{grid-column:3/5}}
@media(max-width:700px){.dedicated-viewer{grid-template-rows:auto 5px minmax(0,1fr) auto}.viewer-dedicated-toolbar{display:flex;flex-wrap:wrap;min-height:126px;padding-top:max(8px,env(safe-area-inset-top));gap:7px}.viewer-back{order:1}.viewer-brand{order:2;flex:1}.viewer-brand-logo{width:42px;height:38px}.viewer-brand-logo img{width:38px;height:32px}.viewer-dedicated-toolbar .viewer-title{order:3;flex-basis:100%;padding:2px 0}.viewer-dedicated-toolbar .viewer-title strong{font-size:.68rem}.viewer-dedicated-toolbar .viewer-title span{font-size:.9rem}.viewer-dedicated-toolbar .viewer-title small{font-size:.67rem}.viewer-dedicated-toolbar .viewer-nav{order:4}.viewer-dedicated-toolbar .viewer-tools{order:5;margin-left:auto}.viewer-fit-control{padding-left:7px}.viewer-fit-control select{width:145px;max-width:145px;font-size:.72rem}.viewer-stage{padding:10px}.viewer-info-panel{top:auto;left:0;right:0;bottom:0;width:100%;height:min(76dvh,100%);max-height:100%;border-left:0;border-top:1px solid var(--line);border-radius:22px 22px 0 0;transform:translateY(105%);box-shadow:0 -18px 44px rgba(24,5,10,.25)}.viewer-info-open .viewer-info-panel{transform:none}.viewer-context-header{border-radius:22px 22px 0 0}.viewer-dedicated-footer{min-height:86px}.viewer-thumb{flex-basis:142px;min-height:66px}.viewer-thumbs-toggle{min-width:60px;font-size:.72rem}}
@media(max-width:430px){.viewer-brand span:last-child{display:none}.viewer-dedicated-toolbar .viewer-tools{gap:5px}.viewer-fit-control select{width:145px;max-width:145px}.viewer-dedicated-toolbar button,.viewer-back{min-width:40px;height:40px}.viewer-dedicated-footer{grid-template-columns:52px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.viewer-info-panel,.viewer-info-backdrop,.viewer-dedicated-footer{transition:none!important}}


/* V33 — navigation mobile immersive */
.viewer-mobile-counter,.viewer-display-trigger,.viewer-mobile-nav,.viewer-sheet{display:none}
.viewer-sheet{position:absolute;z-index:46;right:0;top:0;bottom:0;width:min(420px,92vw);overflow:auto;background:#fff;box-shadow:-18px 0 44px rgba(24,5,10,.22);transform:translateX(105%);visibility:hidden;transition:transform .24s ease,visibility 0s linear .24s}
.viewer-steps-open .viewer-steps-panel,.viewer-display-open .viewer-display-panel{display:block;transform:none;visibility:visible;transition:transform .24s ease,visibility 0s}
.viewer-sheet-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
.viewer-sheet-header span{color:var(--brand-600);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.viewer-sheet-header h2{margin:5px 0 0;font:900 1.25rem/1.15 var(--font)}
.viewer-sheet-header button{flex:0 0 40px;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--brand-050);color:var(--brand-900);font-size:1.4rem;cursor:pointer}
.viewer-step-list{display:grid;gap:8px;padding:14px}.viewer-step-item{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-950);text-align:left;cursor:pointer}.viewer-step-item:hover,.viewer-step-item:focus-visible,.viewer-step-item.is-active{border-color:var(--brand-500);background:var(--brand-050);outline:none}.viewer-step-item>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand-700);color:#fff;font-weight:900}.viewer-step-item strong,.viewer-step-item small{display:block}.viewer-step-item strong{font-size:.88rem}.viewer-step-item small{margin-top:3px;color:var(--ink-600);font-size:.72rem}
.viewer-display-options{display:grid;gap:9px;padding:16px}.viewer-display-options button{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-950);text-align:left;cursor:pointer}.viewer-display-options button:hover,.viewer-display-options button:focus-visible,.viewer-display-options button.is-active{border-color:var(--brand-500);background:var(--brand-050);outline:none}.viewer-display-options strong,.viewer-display-options small{display:block}.viewer-display-options small{color:var(--ink-600)}
.viewer-steps-open .viewer-info-backdrop,.viewer-display-open .viewer-info-backdrop{opacity:1;pointer-events:auto}

@media(max-width:700px){
 body[data-layout="viewer"]{overscroll-behavior:none}
 .dedicated-viewer{grid-template-rows:62px 4px minmax(0,1fr) calc(62px + env(safe-area-inset-bottom));height:100dvh}
 .viewer-dedicated-toolbar{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:6px;align-items:center;min-height:62px;height:62px;padding:max(7px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 7px max(8px,env(safe-area-inset-left));flex-wrap:nowrap}
 .viewer-back{grid-column:1;grid-row:1;width:40px;min-width:40px;height:40px}
 .viewer-brand{display:none}
 .viewer-dedicated-toolbar .viewer-title{grid-column:2;grid-row:1;min-width:0;padding:0;text-align:left}
 .viewer-dedicated-toolbar .viewer-title strong{display:block;font-size:.76rem;line-height:1.15;letter-spacing:.04em;text-transform:none}
 .viewer-dedicated-toolbar .viewer-title span,.viewer-dedicated-toolbar .viewer-title small{display:none}
 .viewer-mobile-counter{grid-column:3;grid-row:1;display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:34px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:.72rem;font-weight:900}
 .viewer-nav-desktop{display:none}
 .viewer-dedicated-toolbar .viewer-tools{grid-column:4;grid-row:1;display:flex;gap:4px;margin:0;justify-content:flex-end}
 .viewer-fit-control{display:none}
 .viewer-display-trigger{display:grid}
 .viewer-dedicated-toolbar button{width:38px;min-width:38px;height:38px;padding:0;font-size:1rem}
 .viewer-stage{padding:8px 8px 12px;scroll-padding-top:8px}
 .viewer-dedicated-footer{display:block;min-height:calc(62px + env(safe-area-inset-bottom));height:calc(62px + env(safe-area-inset-bottom));padding:0 max(7px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(7px,env(safe-area-inset-left));background:#21191d}
 .viewer-mobile-nav{height:62px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;align-items:stretch}
 .viewer-mobile-nav button{min-width:0;display:grid;grid-template-rows:1fr auto;place-items:center;padding:5px 3px 6px;border:0;border-radius:9px;background:transparent;color:#fff;cursor:pointer}
 .viewer-mobile-nav button:hover,.viewer-mobile-nav button:focus-visible{background:rgba(255,255,255,.1);outline:none}.viewer-mobile-nav button:disabled{opacity:.32;cursor:not-allowed}
 .viewer-mobile-nav span{font-size:1.38rem;line-height:1}.viewer-mobile-nav small{font-size:.63rem;font-weight:800;color:rgba(255,255,255,.76)}
 .viewer-thumbs-toggle,.viewer-dedicated-footer>.viewer-thumbs{display:none!important}
 .viewer-sheet{display:block;top:auto;left:0;right:0;bottom:0;width:100%;height:min(78dvh,680px);max-height:calc(100dvh - 48px);border-left:0;border-top:1px solid var(--line);border-radius:22px 22px 0 0;transform:translateY(105%);box-shadow:0 -18px 44px rgba(24,5,10,.25)}
 .viewer-steps-open .viewer-steps-panel,.viewer-display-open .viewer-display-panel{transform:none}
 .viewer-display-panel{height:auto;max-height:72dvh}
 .viewer-info-panel{height:min(78dvh,680px)}
 .viewer-info-open .viewer-info-backdrop,.viewer-steps-open .viewer-info-backdrop,.viewer-display-open .viewer-info-backdrop{opacity:1;pointer-events:auto}
}
@media(max-width:360px){.viewer-dedicated-toolbar{grid-template-columns:38px minmax(0,1fr) auto auto;padding-left:5px;padding-right:5px}.viewer-dedicated-toolbar .viewer-tools button{width:34px;min-width:34px}.viewer-mobile-counter{min-width:38px}.viewer-dedicated-toolbar .viewer-title strong{font-size:.69rem}}
@media(prefers-reduced-motion:reduce){.viewer-sheet{transition:none!important}}
/* La zone immersive ne doit jamais hériter des marges éditoriales des sections du Wiki. */
body[data-layout="viewer"] .viewer-stage{margin:0}
