.dashboard-body{background:#f5f7f2}.dashboard-body .header{background:#fff;max-width:none;padding-left:max(28px,calc((100vw - 1280px)/2));padding-right:max(28px,calc((100vw - 1280px)/2))}.dashboard-main{max-width:1280px;margin:0 auto;padding:44px 28px}.dashboard-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:30px}.dashboard-heading .eyebrow{margin-bottom:15px}.dashboard-heading h1{font-size:clamp(28px,3.5vw,46px);line-height:1.2}.dashboard-heading p{font-size:13px;color:var(--muted);margin-top:16px}.dashboard-heading .button{white-space:nowrap}.access-panel{display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.access-panel>div{padding:32px}.access-panel h2{font-size:23px}.access-panel p{font-size:13px;color:var(--muted);margin:14px 0 24px}.demo-entry{background:var(--mist)}.login-row{display:flex;gap:12px;align-items:center}.login-row input{margin:0;min-width:0}.login-row button{white-space:nowrap}.login-row .code-input{flex:0 0 9.5em;text-align:center}.login-row .code-input:not(:placeholder-shown){letter-spacing:.2em}.access-panel .code-help{margin:10px 0 0}#login label{display:block;font-size:12px;margin-bottom:8px}.mode-banner{background:var(--forest);color:#fff;padding:15px 21px;border-radius:10px;display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}.mode-banner strong{font-size:13px;display:block;color:var(--lime)}.mode-banner p{font-size:11px;color:var(--mist);margin-top:2px}.mode-banner button{font-size:11px;white-space:nowrap}.live-banner{background:#e6efe8;color:var(--forest)}.live-banner strong{color:var(--forest)}.live-banner p{color:var(--muted)}.dashboard-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.dashboard-toolbar .updated{font:10px var(--mono);color:var(--muted);margin-left:auto}.dashboard-toolbar .button{font-size:11px;min-height:38px;padding:8px 13px}.filter-bar{display:grid;grid-template-columns:1fr 1.3fr 1fr 1fr 1fr auto;gap:12px;background:white;padding:18px;border:1px solid var(--line);border-radius:12px;margin-top:20px;align-items:end}.filter-bar label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;display:block;color:var(--muted);font-weight:700}.filter-bar select,.filter-bar input{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:9px 8px;font-size:11px;margin-top:6px;background:#fbfcf9;color:var(--ink);min-height:38px}.filter-bar button{font-size:11px;min-height:38px;padding:8px 10px}.filter-note{color:var(--muted);font-size:10px;margin-top:8px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0}.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;position:relative}.kpi:first-child{background:var(--forest);color:white;border-color:var(--forest)}.kpi-label{font-size:11px;color:var(--muted);display:block}.kpi:first-child .kpi-label,.kpi:first-child p{color:var(--mist)}.kpi strong{display:block;font:36px var(--mono);margin-top:11px;letter-spacing:-.05em}.kpi:first-child strong{color:var(--lime)}.kpi p{font-size:10px;color:var(--muted);margin-top:8px}.kpi .kpi-icon{position:absolute;right:18px;top:17px;font-size:18px;color:var(--green)}.kpi:first-child .kpi-icon{color:var(--lime)}.chart-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-bottom:18px;align-items:start}.chart-grid.equal{grid-template-columns:1fr 1fr}.chart-card{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;min-width:0;break-inside:avoid}.chart-card h2{font:700 16px var(--sans);letter-spacing:-.02em}.chart-card .sub{font-size:11px;line-height:1.6;color:var(--muted);margin:7px 0 18px}.card-kicker{font:9px var(--mono);text-transform:uppercase;color:var(--green);letter-spacing:.1em;margin-bottom:10px}.data-chart{display:block;width:100%;height:auto;font-family:var(--sans)}.inline-legend{display:flex;gap:20px;font-size:10px;color:var(--muted);margin-bottom:15px}.inline-legend span{display:flex;gap:7px;align-items:center}.inline-legend i,.legend-dot{display:inline-block;width:9px;height:9px;border-radius:3px;flex-shrink:0}.donut-layout{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:17px;min-height:234px}.chart-legend{list-style:none;margin:0;padding:0;display:grid;gap:15px}.chart-legend li{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;font-size:11px}.chart-legend small{grid-column:2/4;color:var(--muted);font-size:10px;margin-top:-5px}.chart-data{font-size:11px;margin-top:14px;color:var(--muted)}.chart-data summary{cursor:pointer;text-underline-offset:3px}.chart-data table{font-size:10px}.chart-empty{min-height:165px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);gap:9px;font-size:12px}.chart-empty>span{font-size:36px;color:#afc6b0}.funnel{padding:0;list-style:none;margin:0;display:grid;gap:12px}.funnel-label{font-size:11px;color:var(--muted);display:block;margin-bottom:4px}.funnel-row{height:25px;position:relative;display:flex;align-items:center;gap:9px}.funnel-shape{height:24px;min-width:3px;border-radius:3px;max-width:76%}.funnel-row strong{font:12px var(--mono)}.funnel-row small{font-size:10px;color:var(--muted)}.bar-chart{display:grid;gap:13px}.bar-label{display:flex;justify-content:space-between;align-items:start;gap:14px;font-size:11px;margin-bottom:6px}.bar-label>span{max-width:82%}.bar-label strong{white-space:nowrap;font-family:var(--mono);font-size:11px}.bar-label small{font:10px var(--sans);color:var(--muted)}.bar-rail{height:8px;background:#eef2ea;border-radius:3px;overflow:hidden}.bar-rail>span{display:block;height:100%;border-radius:3px;min-width:0}.section-title{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:35px 0 18px}.section-title h2{font-size:24px}.section-title p{font-size:11px;color:var(--muted)}.population-bars{display:grid;gap:22px;margin-top:20px}.population-row .bar-label{font-size:12px}.population-row .bar-rail{height:12px}.population-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:7px}.actor-dot{width:8px;height:8px;display:inline-block;margin-right:8px;border-radius:50%}.response-controls{display:grid;grid-template-columns:170px 1fr;gap:12px;margin-bottom:20px}.response-controls label{font-size:10px;color:var(--muted)}.response-controls select{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;margin-top:5px;font-size:12px;background:#fff;min-width:0}.response-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.response-meta span{background:#f0f4ee;border-radius:5px;padding:5px 9px;font-size:10px;color:var(--muted)}.response-title{font-size:17px;line-height:1.5;letter-spacing:0;margin:18px 0}.response-distribution .bar-chart{gap:17px}.response-distribution .bar-rail{height:12px}.response-distribution .bar-label{font-size:12px}.heatmap{width:100%;border-collapse:separate;border-spacing:5px;font-size:11px;table-layout:fixed}.heatmap th{font-size:10px;color:var(--muted);border:0}.heatmap th:first-child{width:40%}.heatmap td{border:0;padding:12px 8px;border-radius:5px;text-align:center}.heatmap td:first-child{text-align:left}.heatmap td strong{font:13px var(--mono)}.heatmap td small{display:block;font-size:9px;margin-top:4px}.chart-footnote{font-size:10px;color:var(--muted);margin-top:16px;line-height:1.7}.school-card{margin-top:18px}.school-card table{font-size:11px}.school-progress{display:flex;align-items:center;gap:7px}.school-progress i{width:45px;height:5px;display:block;background:#eef2ea;border-radius:3px}.school-progress i span{display:block;background:var(--green);height:100%;border-radius:3px}.tag-complete,.tag-pending{display:inline-block;border-radius:30px;font-size:9px;padding:4px 9px;background:var(--mist);color:var(--forest);white-space:nowrap}.tag-pending{background:#f4eadb;color:#765223}.school-link{font-size:11px;text-align:left;color:var(--forest)}.export-note{font-size:10px;color:var(--muted)}.explore-callout{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--mist);padding:25px;border-radius:12px;margin:25px 0 10px}.explore-callout h2{font-size:20px}.explore-callout p{font-size:12px;margin-top:9px;color:var(--green)}.branch-layout{display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:start}.branch-controls{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;position:sticky;top:20px}.branch-controls h2{font-size:20px;margin-bottom:18px}.branch-controls label{display:block;font-size:12px;margin-top:15px}.branch-controls select{width:100%;padding:10px;margin-top:6px;border:1px solid var(--line);border-radius:6px;background:white;font-size:12px}.branch-controls .button{margin-top:18px;font-size:11px}.sim-note{font-size:11px;color:var(--muted);margin-top:18px}.branch-board{background:#f9fbf5;border:1px solid var(--line);border-radius:14px;padding:25px;min-width:0}.branch-board h2{font-size:20px}.branch-board .sub{font-size:12px;color:var(--muted);margin-top:10px}.decision-node{max-width:440px;margin:25px auto 0;padding:22px;border:2px solid var(--forest);border-radius:12px;background:white;text-align:center}.decision-node h3{font:600 15px/1.5 var(--sans);letter-spacing:0}.decision-node p{font-size:11px;color:var(--green);margin-top:9px}.branch-arrow{text-align:center;color:var(--green);font-size:23px;line-height:1.5}.branch-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;position:relative}.branch-path{padding:18px;border:1px dashed #b9c7b9;background:white;border-radius:9px;position:relative;min-width:0}.branch-path.active{border:2px solid var(--green);background:#eff7e7}.branch-path .branch-label{font:11px var(--mono);color:var(--muted);margin-bottom:12px;display:block}.branch-path.active .branch-label{color:var(--green)}.branch-path ul{padding:0 0 0 15px;margin:0;font-size:12px;display:grid;gap:8px}.branch-path .choose-branch{margin-top:13px;font-size:11px;color:var(--green)}.branch-merge{max-width:440px;border:1px solid var(--line);margin:auto;border-radius:10px;background:var(--mist);padding:16px;text-align:center;font-size:12px}.branch-route{margin-top:20px;list-style:none;padding:0;display:grid;gap:0}.branch-route li{border-left:2px solid var(--line);padding:9px 0 9px 20px;margin-left:8px;position:relative;font-size:12px}.branch-route li:before{content:'';width:8px;height:8px;background:var(--green);border:3px solid #fff;border-radius:50%;position:absolute;left:-8px;top:12px}.branch-route .route-conditional{color:var(--green);font-weight:700}.branch-route small{display:block;color:var(--muted);font-weight:400;font-size:10px}.sim-multi{display:grid;gap:8px;margin-top:12px}.sim-multi label{margin:0;font-size:11px;display:flex;align-items:center;gap:9px}.sim-multi input{accent-color:var(--green)}.simulator-summary{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0}.simulator-summary span{font-size:11px;background:#fff;padding:8px 12px;border-radius:7px;border:1px solid var(--line)}.simulator-summary strong{font:20px var(--mono);margin-right:6px}.branch-hidden{font-size:11px;color:var(--muted);margin-top:20px}.branch-hidden li{margin-bottom:7px}.branch-preview{margin-top:18px;padding:18px;background:var(--ivory);border-radius:8px}.branch-preview strong{font-size:12px}.branch-preview p{font-size:11px;margin-top:8px}.print-label{display:none}@media(max-width:1000px){.filter-bar{grid-template-columns:repeat(3,1fr)}.chart-grid{grid-template-columns:1fr 1fr}.donut-layout{grid-template-columns:1fr}.donut-layout svg{max-width:200px;margin:auto}.chart-legend{grid-template-columns:1fr;gap:10px}.branch-layout{grid-template-columns:250px 1fr}.branch-paths{grid-template-columns:1fr}}@media(max-width:700px){.dashboard-main{padding:28px 16px}.dashboard-heading{display:block}.dashboard-heading>.button{margin-top:20px}.dashboard-heading h1{font-size:29px}.access-panel{grid-template-columns:1fr}.access-panel>div{padding:24px}.login-row{display:block}.login-row button{margin-top:12px}.login-row .code-input{margin-top:12px}.filter-bar{grid-template-columns:1fr 1fr;padding:14px;gap:12px}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:16px}.kpi strong{font-size:29px}.kpi .kpi-icon{display:none}.chart-grid,.chart-grid.equal{grid-template-columns:1fr}.chart-card{padding:20px}.donut-layout{grid-template-columns:1fr 1fr}.chart-legend{gap:12px}.chart-legend li{font-size:10px}.mode-banner{align-items:flex-start;flex-direction:column}.response-controls{grid-template-columns:1fr}.heatmap{font-size:10px;border-spacing:3px}.heatmap th:first-child{width:34%}.heatmap td{padding:9px 5px}.heatmap td strong{font-size:11px}.section-title{display:block}.section-title p{margin-top:10px}.dashboard-toolbar .updated{margin-left:0;width:100%}.explore-callout{display:block}.explore-callout .button{margin-top:18px}.branch-layout{grid-template-columns:1fr}.branch-controls{position:static}.branch-board{padding:18px}.branch-paths{grid-template-columns:1fr}.branch-board h2{font-size:18px}}@media print{body{background:white!important}.header,.footer,#access-panel,.filter-bar,.dashboard-toolbar,.dashboard-heading>.button,.explore-callout,.mode-banner button,.chart-data,.response-controls,.choose-branch,.branch-controls .button{display:none!important}.dashboard-main{padding:0;max-width:none}.dashboard-heading h1{font-size:28px}.chart-grid,.chart-grid.equal{grid-template-columns:1fr 1fr}.chart-card{padding:14px}.kpi-grid{grid-template-columns:repeat(4,1fr)}.kpi,.chart-card{break-inside:avoid}.mode-banner{print-color-adjust:exact;-webkit-print-color-adjust:exact}.bar-rail,.bar-rail>span,.funnel-shape,.heatmap td,.kpi,.branch-path,.branch-merge{print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-label{display:block;font-size:10px;margin:15px 0}.branch-layout{display:block}.branch-controls{display:none}}

.demo-mode .chart-card>.card-kicker:after{content:" · DONNÉES FICTIVES";color:#795223}@media(max-width:700px){.dashboard-heading h1{font-size:clamp(22px,6.8vw,29px)}}
.registry-card{margin-top:18px}.registry-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:4px 0 10px}.registry-tools label,.school-form label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;display:block;color:var(--muted);font-weight:700}.registry-tools input,.registry-tools select,.school-form input:not([type=checkbox]),.school-form select{display:block;width:100%;min-width:0;border:1px solid #7d8f81;border-radius:6px;padding:9px 10px;font:13px var(--sans);margin-top:6px;background:#fff;color:var(--ink);min-height:40px;text-transform:none;letter-spacing:0}.registry-search{flex:1 1 240px}.registry-tools .button{font-size:11px;min-height:40px;padding:8px 14px;margin-left:auto}.registry-tools .button:disabled{opacity:.5;cursor:not-allowed}.registry-count{font:10px var(--mono);color:var(--muted)}.registry-status{font-size:12px;color:var(--green);min-height:18px;margin-top:6px}.registry-table{font-size:11px;margin-top:10px}.registry-table td{vertical-align:top}.registry-table small{color:var(--muted)}.registry-actions{display:flex;flex-direction:column;gap:24px;align-items:flex-start}.registry-card .table-wrap{position:relative}.registry-error{font-size:12px;margin:0 0 6px}.registry-error:empty{display:none}.registry-actions .text-button{font-size:11px;color:var(--forest);text-align:left}.registry-links td{padding-top:0;border-bottom-style:dashed}.registry-links summary{cursor:pointer;font-size:11px;color:var(--green);text-underline-offset:3px}.link-field{margin-top:10px}.registry-links label{display:block;font-size:10px;color:var(--muted)}.link-row{display:flex;gap:8px;margin-top:4px}.link-row input{flex:1;min-width:0;font:11px var(--mono);border:1px solid var(--line);border-radius:6px;padding:8px;background:#fbfcf9;color:var(--ink)}.link-row .button{font-size:11px;min-height:36px;padding:6px 12px}.school-form{border:1px solid var(--line);background:var(--ivory);border-radius:12px;padding:20px;margin:6px 0 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.school-form .wide{grid-column:1/-1}.school-form h3{grid-column:1/-1;font-size:16px;letter-spacing:-.01em}.school-form-id{grid-column:1/-1;font:10px var(--mono);color:var(--muted);margin-top:-8px}.school-form .school-check{display:flex;gap:10px;align-items:center;font-size:12px;text-transform:none;letter-spacing:0;font-weight:600;color:var(--ink)}.school-check input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0}.school-form-note{font-size:10px;color:var(--muted)}.school-form .error{margin:0;min-height:0}.school-form .form-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:700px){.school-form{grid-template-columns:1fr;padding:16px}.registry-tools .button{margin-left:0;width:100%}.link-row{flex-direction:column}}@media print{.registry-card{display:none!important}}
