:root{font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;color:#182e40;background:#f2f5f9}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}header{background:#102943;color:white;padding:17px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px}header strong{font-size:22px}header small{display:block;color:#bdd0e1;margin-top:4px}.shell{max-width:1250px;margin:auto;padding:22px}.nav{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:21px}.nav button{border:0;border-radius:9px;background:#e2eaf1;color:#183347;padding:11px 16px;font-weight:600}.nav button.on{background:#be2938;color:white}.card{background:#fff;border:1px solid #e1e7ec;border-radius:15px;padding:22px;margin-bottom:16px;box-shadow:0 4px 18px #11263a09}h1{font-size:24px;margin:0 0 7px}h2{font-size:19px;margin:0 0 16px}h3{font-size:16px;margin:17px 0 9px}p{line-height:1.5}.muted{color:#697b8e;font-size:13px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;margin-bottom:12px}input,select,textarea{width:100%;padding:11px;border-radius:9px;border:1px solid #c8d3df;background:#fff;color:#1c3348}textarea{min-height:80px}input[type=range]{accent-color:#b5273a}.btn{border:0;background:#bd2d3d;color:white;border-radius:9px;padding:11px 16px;font-weight:700}.btn.alt{background:#173b5a}.btn.ghost{background:#e8edf3;color:#28475f}.btn.danger{background:#fbe8e8;color:#a5222e}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.item{padding:14px;border:1px solid #e2e7eb;border-radius:10px;margin-bottom:9px}.item:hover{background:#f9fbfd}.small{font-size:12px}.pill{display:inline-block;padding:4px 9px;background:#e8eef3;color:#334a5e;border-radius:20px;font-size:12px;font-weight:600}.score{display:flex;gap:5px;flex-wrap:wrap}.score button{background:#ecf0f4;border:1px solid #dce3eb;border-radius:7px;padding:9px 12px;font-weight:700;color:#2f4659}.score button.selected{background:#153f60;color:white;border-color:#153f60}.scorerow{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e8edf1}.scorerow>div:first-child{flex:1}table{border-collapse:collapse;width:100%;font-size:13px}td,th{padding:10px;border-bottom:1px solid #e4e9ef;text-align:left;vertical-align:top}th{background:#f2f6f9}.stat{font-size:28px;font-weight:800;color:#173e5f}.bar{background:#e7edf2;border-radius:10px;height:9px;overflow:hidden}.bar span{display:block;height:100%;background:#5ca783}.alert{padding:12px;background:#fff4dc;border-left:4px solid #e1aa3b;border-radius:7px;margin-bottom:12px}.good{padding:12px;background:#e5f3ec;border-left:4px solid #41a171;border-radius:7px}.radar{max-width:350px;width:100%;height:270px}.colors{height:8px;border-radius:10px;background:linear-gradient(to right,#bd4048,#e49b56,#ddd65e,#79bd7d,#26a06b)}footer{color:#65788a;text-align:center;padding:22px;font-size:12px}@media(max-width:760px){.shell{padding:11px}header{padding:13px}.grid,.grid3{grid-template-columns:1fr}.card{padding:15px}.scorerow{display:block}.score{margin-top:8px}.nav button{flex:1;padding:9px 8px;font-size:12px}}@media print{header,.nav,.noprint,.actions,footer{display:none!important}.shell{padding:0}.card{border:0;box-shadow:none;break-inside:avoid}body{background:white}}

@media print { .card {break-inside:auto} table {break-inside:auto} tr {break-inside:avoid} .alert {color:#333} }

/* V2 UI — fidélité à la maquette */
:root{--navy:#092341;--blue:#123d64;--red:#e01c34;--line:#dce5ee;--wash:#f4f7fb}
body{background:var(--wash);font-family:Inter,Segoe UI,Arial,sans-serif;color:#172f4d}
.layout{min-height:100vh;display:grid;grid-template-columns:258px minmax(0,1fr)}
.sidebar{height:100vh;position:sticky;top:0;background:linear-gradient(160deg,#071d36,#113a63);color:white;display:flex;flex-direction:column;box-shadow:3px 0 18px #061b3022;z-index:20}
.brand{display:flex;align-items:center;gap:12px;padding:26px 17px 22px;background:#081d35}.brand img{width:58px;height:58px;border-radius:14px}.brand b{font-size:22px;letter-spacing:-.7px}.brand b span,.top strong span{color:#ff3149}.brand small{display:block;color:#c4d4e3;font-size:10px;margin-top:6px;line-height:1.5}
.side-nav{display:flex;flex-direction:column;gap:5px;padding:14px 10px}.side-nav button{background:transparent;border:0;color:#e8f1f9;padding:13px 11px;text-align:left;border-radius:9px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:12px;cursor:pointer}.side-nav button.on{background:#d71932;color:white;box-shadow:0 4px 16px #03142424}.nav-ico{font-size:21px;width:26px;text-align:center}
.side-footer{margin-top:auto;background:#06182e;padding:20px;font-size:11px;color:#c6d7e4}.side-footer b{display:block;font-size:16px;color:white}.side-footer small{color:#6fc5e7}.side-footer p{line-height:1.5}
.main{min-width:0}.top{background:white;color:var(--navy);border-bottom:1px solid var(--line);padding:14px 28px;box-shadow:0 2px 10px #10294310}.top strong{font-size:25px;color:var(--navy)}.top small{color:#607991}.top-actions{display:flex;gap:12px;align-items:center}.top .pill{background:#eaf5f0;color:#167248}.switch-profile{font-size:12px;display:flex;align-items:center;gap:7px}.switch-profile select{width:auto;padding:8px;max-width:130px}.menu-toggle{display:none;background:none;border:0;font-size:23px;color:var(--navy)}
.shell{max-width:1450px;padding:25px 30px}.page-head{margin-bottom:22px}.page-head h1{font-size:27px;margin:0;color:#082e51}.page-head p{font-size:13px;color:#667d91;margin:5px 0}
#view > .card{background:white;border-color:#dfe6ed;box-shadow:0 5px 22px #0726420a;border-radius:14px}#view h1{font-size:22px;color:#092c4f}#view h2{border-left:5px solid #d91e38;padding:6px 0 6px 12px;color:#0b345a;font-size:18px}
.nav{display:none}.btn{background:#dc1835;border-radius:9px}.btn.alt{background:#0b355b}.btn.ghost{color:#19476d;background:#eaf0f6}.btn:disabled{opacity:.4;cursor:not-allowed}
input,select,textarea{border-color:#cad8e5}.item{background:#fbfdff;border-color:#dfe8f0}.score button.selected{background:#1464a8;color:white;border-color:#1464a8}.score button[data-level="NA"].selected{background:#e63743;border-color:#e63743}.score button[data-level="EVA"].selected{background:#f2ad29;border-color:#f2ad29;color:#152d42}.score button[data-level="A"].selected{background:#1a9c5f;border-color:#1a9c5f}.score button[data-level="SO"].selected{background:#596878;border-color:#596878}
.steps{display:flex;justify-content:space-between;gap:7px!important;padding:18px!important;overflow-x:auto}.step{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap;color:#668097}.step b{background:#e6edf3;color:#5b6c7d;border-radius:50%;width:27px;height:27px;display:inline-grid;place-items:center}.step.current{font-weight:800;color:#092f55}.step.current b{background:#1163a3;color:white}.wizard-actions{background:white;border:1px solid #dbe5ee;border-radius:12px;display:flex;justify-content:space-between;align-items:center;padding:14px;gap:12px;margin-bottom:25px}.wizard-actions span{font-size:12px;color:#72869a}.wizard-summary{max-width:950px}
@media(max-width:850px){.layout{display:block}.sidebar{position:fixed;transform:translateX(-110%);width:280px;transition:transform .22s}.sidebar.open{transform:translateX(0)}.menu-toggle{display:block}.top{padding:12px 14px}.top strong{font-size:21px}.top-actions .pill{display:none}.shell{padding:15px}.page-head h1{font-size:22px}.steps{padding:11px!important}.step{flex-direction:column;gap:4px;font-size:9px}.step b{width:24px;height:24px}.wizard-actions{position:sticky;bottom:0;box-shadow:0 -3px 18px #0d315428;z-index:4}}
@media print{.sidebar,.top,.page-head,.steps,.wizard-actions,.side-footer{display:none!important}.layout{display:block}}

.welcome-hero{border-radius:19px;padding:29px;background:linear-gradient(118deg,#071d36 0%,#0b3e68 76%,#b41028);display:flex;align-items:center;justify-content:space-between;color:white;gap:18px;margin:0 0 18px;overflow:hidden;box-shadow:0 12px 30px #09264324}.welcome-hero .eyebrow{font-size:11px;letter-spacing:1.7px;color:#94c9e8;font-weight:800}.welcome-hero h2{font-size:29px;color:white;margin:11px 0}.welcome-hero p{color:#dcecf8;font-size:14px;max-width:520px;line-height:1.5}.welcome-hero img{width:165px;aspect-ratio:1;border-radius:28px;box-shadow:0 10px 24px #0003}.hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.quick-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.quick-cards button{display:flex;flex-direction:column;text-align:left;gap:6px;background:white;border:1px solid #dee9f2;border-radius:13px;padding:18px;color:#15456b;font-size:25px;box-shadow:0 4px 16px #0a2e4e0a;cursor:pointer}.quick-cards b{font-size:14px}.quick-cards small{font-size:11px;color:#6c8090}@media(max-width:900px){.quick-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-hero img{width:95px}.welcome-hero{padding:18px}.welcome-hero h2{font-size:23px}}

/* V2.2 : comparaison d'évaluation et boutons colorés */
.comparison-row{display:grid;grid-template-columns:minmax(180px,1fr) 100px minmax(240px,auto);gap:16px;align-items:center}
.self-reference{display:grid;justify-items:center;gap:4px;background:#ebf3f9;padding:8px;border-radius:10px}
.self-reference small,.score small{font-weight:700;color:#49647e}
.self-reference strong{display:block;min-width:58px;text-align:center;padding:8px;border-radius:8px}
.level-A{background:#d8f3e4;color:#136642}.level-EVA{background:#ffedc4;color:#915900}.level-NA{background:#ffe0e2;color:#a92636}.level-SO,.level-unset{background:#edf0f4;color:#546475}
.level-choice{color:#fff!important;font-weight:800!important;border:2px solid transparent!important;opacity:.67}
.choice-SO{background:#66788c!important}.choice-NA{background:#c93448!important}.choice-EVA{background:#edab34!important;color:#322500!important}.choice-A{background:#219468!important}
.level-choice.selected{opacity:1;outline:3px solid #17456e;outline-offset:1px;transform:translateY(-1px)}
button:disabled{opacity:.38!important;cursor:not-allowed!important}
.btn{background:#c42e43}.btn.alt{background:#1767a2}.btn.ghost{background:#e2e9f1;color:#25435f}.btn.danger{background:#bb293c;color:white}
#exportSessionPDF,#saveStudentPDF{background:#1d9666;color:white}
@media(max-width:760px){.comparison-row{grid-template-columns:1fr 90px;gap:8px}.comparison-row>div:first-child{grid-column:1/-1}.comparison-row .score{display:flex;flex-wrap:wrap;justify-content:end}.comparison-row .score small{width:100%;text-align:right}}
