:root{--background:#f3f5f9;--foreground:#17243b;--border:#e4e9f1;--muted:#65748a;--blue:#3458dc;--navy:#111f36;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--shadow:0 3px 12px #182a4404}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--foreground);font:16px/1.6 var(--font);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button,a{transition:background .18s,color .18s,box-shadow .18s,transform .18s}a{color:var(--blue)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7998ff;outline-offset:3px}button:disabled{opacity:.55;cursor:wait}main{max-width:1600px;margin:auto;min-height:100vh}main.dashboard,main.report,main.programmes,main.students{padding-left:236px}.sidebar{position:fixed;top:0;bottom:0;width:236px;left:max(0px,calc((100vw - 1600px)/2));background:var(--navy);color:#d9e1ef;padding:34px 24px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;color:#172c50;text-decoration:none;font-weight:750;font-size:23px;line-height:1.2;letter-spacing:-.5px}.brand-mark{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;background:#3458dc;border-radius:11px;color:white;font-size:26px;line-height:1}.brand-name>span{display:block;font-size:10px;letter-spacing:2.2px;font-weight:550;margin-top:6px;color:#8290a6}.sidebar .brand{color:#fff}.sidebar .brand-name>span{color:#8b9bb3}.nav-label{font-size:11px;letter-spacing:1.9px;font-weight:650;color:#8190a9;margin:48px 0 16px}.sidebar nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 12px;border:0;border-radius:8px;background:none;color:#aab8ce;font:550 14px/1.4 var(--font);cursor:pointer;text-align:left;width:100%}.nav-item:hover{background:#20314e;color:white}.nav-item.selected{background:#2d4b99;color:white;box-shadow:inset 3px 0 #85a5ff}.icon{width:20px;height:20px;flex-shrink:0}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:11px;border-top:1px solid #2b3a50;padding-top:24px;font-size:12px;color:#8394ac}.sidebar-bottom strong{display:block;font-size:13px;color:#dce4f2;font-weight:550}.sidebar-bottom span{display:block;margin-top:3px}.workspace{min-width:0}header{height:85px;margin:0 40px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px}.breadcrumb{display:flex;gap:13px;align-items:center;font-size:14px;color:var(--muted)}.breadcrumb>span{color:#b5bfcd}.breadcrumb strong{font-weight:550;color:#253a58}.badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#65748a;border:1px solid #dfe6ef;background:#fff9;padding:7px 11px;border-radius:7px;white-space:nowrap}.badge .icon{width:14px;height:14px}.page-content{padding:0 40px 30px}.title{padding:34px 0 26px}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:700;color:var(--blue);margin:0 0 10px}.title h1{font-size:clamp(28px,3vw,36px);line-height:1.2;letter-spacing:-1.3px;font-weight:700;margin:8px 0 10px}.title>p:not(.eyebrow){color:var(--muted);margin:0;font-size:15px}.title .topline{margin-bottom:8px}.title .topline .eyebrow{margin:0}h2{font-size:18px;line-height:1.4;font-weight:650;letter-spacing:-.35px;margin:0 0 18px}h3{font-size:16px;font-weight:650;line-height:1.4;margin:12px 0 8px}p{margin:10px 0}.muted{color:var(--muted);font-size:13px;line-height:1.65}.small{font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:25px}.stat-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:12px;padding:23px 24px;box-shadow:var(--shadow)}.stat-card>div>span{font-size:13px;font-weight:550;color:var(--muted)}.stat-card strong{display:block;font-size:34px;letter-spacing:-1px;font-weight:650;line-height:1.4;margin-top:6px}.stat-card>p{font-size:12px;color:#8491a4;margin:8px 0 0}.stat-icon{position:absolute;top:23px;right:24px;padding:11px;border-radius:10px;background:#edf0ff;color:#4967de;display:flex}.stat-icon.amber{color:#b87923;background:#fff5e5}.stat-icon.teal{color:#258473;background:#eaf6f3}.grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px}.panel{background:white;border:1px solid var(--border);border-radius:12px;padding:26px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;gap:13px;margin-bottom:24px}.panel-heading h2{margin:0}.panel-heading p{margin:4px 0 0}.panel-icon{display:flex;background:#f0f3fa;color:#657eaf;padding:10px;border-radius:9px}label{display:block;font-weight:550;font-size:13px;margin-bottom:17px}input:not([type=radio]):not([type=checkbox]),textarea,select{display:block;width:100%;border:1px solid #d8e0ed;border-radius:7px;background:#fbfcfe;padding:12px 13px;font-size:14px;line-height:1.5;font-weight:400;color:var(--foreground);margin-top:7px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#9aa6b8}input:focus,textarea:focus,select:focus{border-color:#6e8aea;box-shadow:0 0 0 3px #3458dc0c;background:#fff}textarea{min-height:110px;resize:vertical}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border:1px solid transparent;border-radius:7px;background:var(--blue);color:#fff;cursor:pointer;text-decoration:none;font:600 13px/1.45 var(--font);box-shadow:0 2px 4px #3458dc0b}button:hover,.button:hover{background:#2845ba;box-shadow:0 3px 10px #3458dc24}button.secondary,.button.secondary{background:#fff;color:#3a4d70;border-color:#dce3ef;box-shadow:0 1px 2px #17243b08}button.secondary:hover{background:#f4f7fd;border-color:#bacbe6}button.ghost{background:none;border-color:transparent;color:#6c7b90;box-shadow:none;padding:7px 9px;font-weight:500}button.ghost:hover{background:#edf1f7;color:#3458dc}button.danger{color:#a63d50;background:#fff0f2;border-color:#f8dbe0}#createButton,#loginButton{width:100%;padding:13px 18px;margin-top:5px}#create .muted{margin-top:-4px;margin-bottom:20px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.topline{display:flex;align-items:center;justify-content:space-between;gap:18px}.programme-summary{display:flex;gap:14px;padding:20px 0;border-top:1px solid var(--border)}.programme-summary:first-of-type{border:0}.programme-summary h3{margin:0 0 6px;font-size:16px}.programme-summary p{margin:0 0 9px}.programme-icon{width:38px;height:38px;border:1px solid #dfe7f4;background:#f8faff;border-radius:9px;display:grid;place-items:center;color:#466497;flex-shrink:0}.status{display:inline-flex;align-items:center;gap:6px;background:#edf1fa;color:#59709b;padding:4px 9px;border-radius:5px;font-size:11px;font-weight:600;white-space:nowrap}.status.done{background:#eaf7f2;color:#32826b}.sessionlist{margin-top:26px}.sessionlist h2{margin:0}.sessionlist h2>.muted{background:#f0f3f8;padding:2px 8px;border-radius:5px;margin-left:5px;font-size:12px}.list-caption{margin:10px 0 20px}.row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding:19px 0}.row>span:first-child{flex:1}.row>strong{white-space:nowrap}.session-row{gap:14px}.session-identity{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.session-identity strong{font-size:14px}.session-identity .muted{font-size:11px}.candidate-avatar{display:grid;place-items:center;background:#eef2fa;color:#617aa3;border:1px solid #e2e8f3;border-radius:9px;width:38px;height:38px;flex-shrink:0;font-size:12px;font-weight:650}.programme-label{display:inline-block;color:#7185a4;font-size:11px;margin-left:9px}.session-row .actions button{font-size:11px;padding:8px 10px}.session-row .actions .ghost{padding:5px 6px}.notice{color:#5c7191;border:1px solid #dfe8f7;background:#edf3ff;padding:15px 18px;border-radius:8px;font-size:13px;line-height:1.65}.page-content>.notice{margin-top:24px}.error{background:#fff1f3;color:#a6384f;border:1px solid #f3d4db;border-radius:7px;padding:12px 14px;font-size:14px}.hidden{display:none!important}.foot{display:flex;justify-content:space-between;gap:20px;margin:0 40px;padding:20px 0 25px;border-top:1px solid var(--border);color:#8996a9;font-size:11px}.linkbox{word-break:break-all;background:#f1f5fc;border:1px dashed #c7d4eb;border-radius:7px;padding:12px;font-size:12px;margin:12px 0}.empty-state{text-align:center;padding:35px 20px;color:#8395b3}.empty-state>.icon{width:32px;height:32px;margin-bottom:5px}.empty-state h3{font-size:15px;color:#536a8b}.empty-state p{max-width:380px;margin:8px auto}.login-grid{display:grid;grid-template-columns:1.08fr 1fr;max-width:1100px;margin:45px auto 30px;min-height:510px;border:1px solid #dfe5ef;border-radius:18px;overflow:hidden;box-shadow:0 18px 50px #162a4710;background:white}.login-intro{background:#142744;color:white;padding:55px 45px;display:flex;flex-direction:column;background-image:radial-gradient(ellipse at 10% 0,#2d4770 0,transparent 65%)}.login-intro>.eyebrow{color:#8ea8dc;font-size:10px}.login-intro h1{font-size:clamp(28px,3vw,41px);font-weight:600;letter-spacing:-1.4px;line-height:1.2;margin:17px 0 18px}.login-intro>p{color:#a8b8d0;font-size:14px;line-height:1.9;max-width:350px}.login-features{display:grid;gap:17px;margin:35px 0;color:#dce5f5;font-size:13px}.login-features>div{display:flex;gap:12px;align-items:center}.login-features .icon{color:#8dace6;width:17px;height:17px}.login-foot{display:flex;justify-content:space-between;border-top:1px solid #3b4a61;padding-top:22px;margin-top:auto;font-size:10px;letter-spacing:1.6px;color:#8b9cb7}.login-form-wrap{display:grid;place-items:center;padding:40px 38px}.login-panel{width:100%;border:0;box-shadow:none;padding:0}.login-lock{display:grid;place-items:center;width:47px;height:47px;border:1px solid #dfe6f3;border-radius:13px;background:#f4f7fc;color:#5275b8;margin-bottom:28px}.login-panel h2{font-size:29px;letter-spacing:-.7px;margin:8px 0 8px}.login-description{font-size:14px;color:var(--muted);margin-bottom:28px}.login-security{display:flex;gap:7px;align-items:center;justify-content:center;margin-top:22px!important;font-size:11px}.login-security .icon{width:13px;height:13px}.candidate{max-width:1030px}.candidate .page-content{max-width:880px;margin:auto}.candidate header{height:95px}.candidate .title{padding-top:40px}.candidate .title h1{font-size:32px}.candidate .panel{padding:30px 34px}.candidate .notice{margin-bottom:23px}.candidate .title .eyebrow{max-width:calc(100% - 145px)}.candidate .title .topline{position:relative}.timer-card{position:fixed;top:105px;right:max(24px,calc((100vw - 970px)/2));padding:10px 16px;background:#fff;border:1px solid #dfe6f3;border-radius:10px;box-shadow:0 5px 16px #17243b09;z-index:8;text-align:center;min-width:108px}.timer-card>span{display:block;font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:#8a98ac}.timer{font:600 23px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px;color:var(--blue)}.stepbar{list-style:none;display:flex;padding:0;margin:27px 0 0;gap:6px;overflow-x:auto;padding-bottom:6px}.stepbar li{min-width:60px;flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative}.stepbar li:before{content:"";position:absolute;left:calc(-50% - 3px);right:50%;top:15px;height:2px;background:#e0e6f1}.stepbar li:first-child:before{display:none}.stepbar li>span{z-index:1;background:#e9eef7;color:#8a99af;width:31px;height:31px;border:3px solid var(--background);border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:650}.stepbar li>span .icon{width:13px;height:13px}.stepbar li>small{font-size:10px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#95a1b4}.stepbar li.active>span{background:var(--blue);color:white;box-shadow:0 0 0 3px #dbe4ff}.stepbar li.active>small{color:#3458dc;font-weight:600}.stepbar li.done>span{background:#dce7fb;color:#4e75be}.stepbar li.done:before{background:#c1d2f2}.testrow{display:flex;align-items:center;gap:16px;border-top:1px solid var(--border);padding:17px 0}.testrow strong{flex:1;font-size:14px;font-weight:550}.testrow>span:last-child{font-size:11px;color:#8291a8}.number{font:500 12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#7990b8}.question{padding:26px 0;border-bottom:1px solid var(--border);min-width:0}.question:last-of-type{border-bottom:0}.question legend{display:block;width:100%;font-weight:600;font-size:15px;line-height:1.7;margin-bottom:15px;padding-top:14px}.question-number{display:inline-flex;color:#6e86b3;border:1px solid #dde6f4;background:#f3f6fb;font:600 11px monospace;line-height:1;justify-content:center;align-items:center;min-width:26px;height:26px;border-radius:6px;margin-right:10px;vertical-align:middle}.required-label{font-size:9px;color:#93a0b3;font-weight:400;margin-left:10px;display:inline-block}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option{display:flex!important;align-items:center;gap:11px;position:relative;border:1px solid #dfe5ef;background:#fbfcfe;border-radius:8px;padding:14px!important;min-height:52px;cursor:pointer;font-size:14px;line-height:1.55;font-weight:450;margin:0;transition:background .15s,border-color .15s,box-shadow .15s}.option:hover{background:#f2f6ff;border-color:#a9bce9}.option:has(input:checked){background:#edf2ff;border-color:#5576dc;color:#2448af;box-shadow:inset 0 0 0 1px #5576dc10}.option input{appearance:auto;width:17px;height:17px;accent-color:var(--blue);margin:0;flex-shrink:0}.option-image{max-width:150px;max-height:120px;object-fit:contain}.option:has(.option-image){flex-wrap:wrap}.question-image{display:block;max-width:100%;max-height:380px;object-fit:contain;border:1px solid #e3e9f2;border-radius:9px;background:#f9fbfe;margin:5px 0 20px}.likert{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.likert .option{justify-content:center;padding:15px 8px!important;flex-direction:column;gap:8px;font-weight:650}.likert .option input{width:15px;height:15px}fieldset{padding:0;margin:0;border:0;min-width:0}.spatial{font:44px/1.2 monospace;white-space:pre;background:#f4f7fc;padding:22px;border:1px solid #e3e9f4;border-radius:9px;display:inline-block;margin-bottom:15px}.completion-title{text-align:center;padding:60px 0 32px!important}.completion-mark{display:grid;place-items:center;background:#e6f6ef;border:1px solid #c7e8dc;color:#3c947c;border-radius:50%;width:65px;height:65px;margin:0 auto 26px}.completion-mark .icon{width:29px;height:29px}.reportgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.metric{background:#fbfcff;border:1px solid #e2e9f4;border-radius:10px;padding:22px 20px}.metric-heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;min-height:44px}.metric-heading h3{margin:0;font-size:14px;font-weight:550;line-height:1.5}.metric-heading>.number{padding-top:3px}.score{font-size:29px;font-weight:650;line-height:1.3;letter-spacing:-.8px;color:#3458dc}.score .muted{font-size:12px;font-weight:500;letter-spacing:0;display:block;margin-top:4px}.bar{height:5px;background:#e7edf8;border-radius:4px;overflow:hidden;margin:16px 0}.bar>span{display:block;height:100%;background:#5878db;border-radius:4px}.metric .small{font-size:11px;color:#607597}.metric>.muted{font-size:11px;margin-top:14px;line-height:1.7}.detail{padding:15px 0;border-bottom:1px solid var(--border)}.detail summary{cursor:pointer;font-size:14px;font-weight:550;color:#4c6182;padding:3px 0}.detail[open] summary{color:#3458dc}.detail .question{font-size:14px}.report .title .actions{margin-bottom:25px}.report .notice{font-size:12px}.report .panel .row{font-size:14px}.report .panel .row>strong{background:#eef3ff;color:#5c77b0;padding:5px 9px;border-radius:6px;font-size:12px}.report .panel .row>.muted{font-size:12px}dialog{border:1px solid #dde5f2;border-radius:15px;padding:30px;max-width:480px;width:90%;color:var(--foreground);box-shadow:0 30px 100px #0e213840}dialog::backdrop{background:#11223e6b;backdrop-filter:blur(4px)}dialog h2{font-size:21px}dialog p{font-size:14px;color:#65748a}dialog .actions{justify-content:flex-end;margin-top:25px}.loading{padding:80px;text-align:center;color:var(--muted)}.printonly{display:none}.programme-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.programme-card h2{font-size:22px}.programme-card .actions{margin-top:22px}.editor-section{margin-top:22px}.editor-question{padding:17px 0;border-top:1px solid var(--border)}.editor-question textarea{min-height:62px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.editor-options{display:grid;gap:9px}.editor-option{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:center}.editor-option input[type=radio],.editor-option input[type=checkbox]{width:17px;height:17px;accent-color:var(--blue)}.editor-option textarea{margin:0;min-height:48px}.editor-check{display:flex;gap:10px;align-items:center;margin:18px 0}.editor-check input{accent-color:var(--blue)}.module-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.module-header h3{margin:0}.module-switch{display:flex;align-items:center;gap:10px}.module-switch input{accent-color:var(--blue)}.editor-actions{position:sticky;bottom:16px;margin-top:25px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px;box-shadow:0 8px 32px #1b30401a;z-index:5}.config-note{font-size:13px;color:#72829a;margin:15px 0}.survey-editor{min-height:220px}.section-help{font-size:13px;color:var(--muted);margin-top:-9px;margin-bottom:20px}.badge .icon{width:14px}.compact{font-size:12px}.editor-subtle{margin-top:20px;color:#8d9bb0;font-size:11px}@media(min-width:1100px){.programme-card{padding:30px}}@media(max-width:1250px){main.dashboard,main.report,main.programmes,main.students{padding-left:208px}.sidebar{width:208px;padding:30px 18px}header{margin:0 28px}.page-content{padding:0 28px 25px}.foot{margin:0 28px}.reportgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-row{flex-wrap:wrap}.session-row>.actions{margin-left:50px;width:calc(100% - 50px)}}@media(max-width:900px){.stats-grid{gap:12px}.stat-card{padding:18px}.stat-icon{top:18px;right:15px;padding:8px}.stat-card>div>span{max-width:100px;display:block}.stat-card>p{font-size:10px}.grid{grid-template-columns:1fr}.sidebar{width:184px}.sidebar .brand{font-size:21px}.brand-mark{width:33px;height:33px;flex-basis:33px}.nav-item{font-size:12px;padding:12px 10px}.nav-item .icon{width:17px}.sidebar-bottom{font-size:10px}.sidebar-bottom strong{font-size:11px}main.dashboard,main.report,main.programmes,main.students{padding-left:184px}.login-intro{padding:40px 32px}.login-form-wrap{padding:35px 30px}.breadcrumb{font-size:12px;gap:8px}.badge{font-size:10px;padding:6px 8px}.programme-cards{grid-template-columns:1fr}}@media(max-width:650px){main.dashboard,main.report,main.programmes,main.students{padding:0}.sidebar{position:relative;left:auto;width:100%;padding:18px 20px 12px;display:block}.sidebar .brand{font-size:21px}.sidebar .brand-name>span{font-size:9px}.sidebar nav{display:flex;margin-top:18px;gap:8px;overflow:auto}.sidebar nav .nav-item{width:auto;white-space:nowrap;padding:10px 13px;flex-shrink:0}.nav-label,.sidebar-bottom{display:none}header{height:68px;margin:0 20px}.page-content{padding:0 20px 25px}.foot{margin:0 20px;flex-direction:column;gap:4px}.title{padding:27px 0 22px}.title h1{font-size:29px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.stat-card{padding:14px 11px}.stat-card strong{font-size:28px}.stat-card>div>span{font-size:10px;max-width:100%;min-height:32px}.stat-card>p{display:none}.stat-icon{position:static;display:inline-flex;padding:5px;border-radius:6px;margin-top:7px}.stat-icon .icon{width:14px;height:14px}.panel{padding:22px}.programme-summary{gap:10px}.programme-summary h3{font-size:15px}.programme-summary p{font-size:11px}.login-grid{grid-template-columns:1fr;margin:25px auto}.login-intro{padding:32px}.login-intro h1{font-size:32px}.login-features{margin:15px 0 25px}.login-foot{font-size:9px}.login-form-wrap{padding:32px}.login-lock{margin-bottom:20px}.login-panel h2{font-size:25px}.login-description{font-size:13px}.candidate header{height:80px}.candidate .title{padding-top:30px}.candidate .title h1{font-size:27px;padding-right:15px}.candidate .panel{padding:20px}.candidate .title .eyebrow{font-size:9px;max-width:calc(100% - 105px)}.timer-card{right:16px;top:91px;min-width:87px;padding:7px 10px}.timer-card>span{font-size:8px}.timer{font-size:19px}.candidate .title:has(.timer-card) h1{padding-right:105px;min-height:50px}.stepbar li{min-width:50px}.stepbar li>small{font-size:9px;max-width:54px}.question legend{font-size:14px}.options{grid-template-columns:1fr}.option{font-size:14px}.likert{gap:6px}.likert .option{padding:10px 5px!important;font-size:13px}.testrow{gap:10px}.testrow strong{font-size:12px}.testrow>span:last-child{font-size:10px;max-width:95px;text-align:right}.reportgrid{grid-template-columns:1fr}.metric{padding:22px}.metric-heading{min-height:0}.score .muted{display:inline;font-size:12px;margin-left:8px}.metric .small,.metric>.muted{font-size:12px}.session-identity{min-width:100%}.session-row>.actions{margin-left:0;width:100%}.session-row .actions button{font-size:12px}.session-row>.status{margin-left:50px}.editor-grid{grid-template-columns:1fr}.editor-actions{bottom:8px}.report .title .actions button{font-size:11px;padding:9px 10px}.question-image{max-height:300px}.row>span:first-child{min-width:0}.report .panel .row{gap:12px}.completion-title{padding-top:45px!important}.completion-title h1{padding:0!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button,a,.option{transition:none}}@media print{body{background:white;color:black;font-size:11px}.sidebar,header,.no-print,button,.timer-card{display:none!important}main.dashboard,main.report,main.programmes,main.students{padding:0;max-width:none}.page-content{padding:0}.panel{border:0;box-shadow:none;padding:12px 0}.title{padding:0 0 15px}.title h1{font-size:24px}.reportgrid{grid-template-columns:repeat(2,1fr);gap:12px}.metric{break-inside:avoid;padding:15px}.metric-heading{min-height:0}.metric .score{font-size:22px}.metric .small,.metric>.muted{font-size:10px}.notice{font-size:10px}.printonly{display:block}.detail{break-inside:avoid}.foot{margin:0;font-size:9px}.report .panel .row{font-size:10px}.report .panel .row>strong{font-size:10px}}

/* Local font resources. */
@font-face{font-family:GearUp Sans;src:url('/assets/brand/gearup-sans.woff2') format('woff2');font-display:swap;font-weight:100 900}
@font-face{font-family:Poppins;src:url('/assets/brand/poppins-semibold.ttf') format('truetype');font-display:swap;font-weight:600}
:root{--background:#f8fafc;--foreground:#0f172a;--border:#e2e8f0;--muted:#64748b;--blue:#046cdc;--navy:#023873;--font:'GearUp Sans',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--shadow:0 1px 2px #00000008,0 1px 6px -1px #00000005,0 2px 4px #00000005}
h1,h2,h3,.brand-name{font-family:Poppins,'GearUp Sans',sans-serif;font-weight:600}button{background:var(--blue)}button:hover{background:#035bb9}.secondary{background:white}.sidebar{background:#f1f5f9;color:#475569;border-right:1px solid #e2e8f0;padding:26px 18px;overflow:hidden}.sidebar:before,.sidebar:after{content:'';position:absolute;width:220px;height:220px;border-radius:50%;background:#ffffff9c;pointer-events:none;z-index:-1}.sidebar:before{right:-130px;top:90px}.sidebar:after{left:-140px;bottom:140px}.gearup-logo{height:44px;width:46px;object-fit:contain}.brand{gap:10px}.brand-name{font-size:23px;letter-spacing:-.8px}.brand-name>span{font-family:var(--font);font-size:9px;letter-spacing:1.7px;color:#64748b;font-weight:600}.sidebar .brand{color:#0f172a}.sidebar .brand-name>span{color:#64748b}.nav-label{color:#94a3b8;font-size:10px;letter-spacing:1.5px;margin:40px 12px 12px}.nav-item{position:relative;color:#64748b;background:transparent;border-radius:10px;font-size:13px;padding:12px;gap:10px}.nav-item:hover{background:#e2e8f0;color:#0f172a}.nav-item.selected{background:#fbeae5;color:#0f172a;box-shadow:var(--shadow);font-weight:700}.nav-item.selected:before{content:'';position:absolute;left:0;top:9px;bottom:9px;width:4px;border-radius:4px;background:#e05a33}.nav-item.selected .icon{color:#e05a33}.sidebar-bottom{border-color:#e2e8f0;color:#64748b}.sidebar-bottom strong{color:#334155}.workspace>header{min-height:64px;background:#fff;box-shadow:0 1px 3px #00000004}.breadcrumb{font-size:13px}.breadcrumb strong{font-family:Poppins,sans-serif;font-weight:600}.panel,.stat-card,.programme-card{box-shadow:var(--shadow);border-color:#e2e8f0;border-radius:12px}.panel-icon,.programme-icon{color:#e05a33;background:#fdf0ec}.stat-icon{background:#e8f1fd;color:#046cdc}.badge{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.login-intro{background:linear-gradient(165deg,#0357b0,#023e80,#022958)}.login-intro .eyebrow{color:#f9b94d}.login-grid{box-shadow:0 18px 55px #023e8012}.candidate .workspace{background:radial-gradient(ellipse at top,#e8f1fd55,transparent 60%)}.programme-card{border-top:3px solid #e05a33}.programme-editor .panel-heading{border-bottom-color:#e2e8f0}select{background-color:#fff;border-color:#e2e8f0;border-radius:10px;color:#334155}.question-option:has(input:checked){border-color:#046cdc;background:#e8f1fd}.foot{font-size:11px;color:#94a3b8}
@media(max-width:760px){.sidebar{background:#f1f5f9;border-bottom:1px solid #e2e8f0}.brand-name{font-size:20px}.gearup-logo{width:35px;height:35px}.nav-label{margin:16px 0 8px}}
.gearup-select{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;color:#334155;background:white;font-weight:400;text-align:left}.gearup-select:hover{background:#f8fafc}.gearup-select-menu{position:fixed;z-index:1000;max-height:280px;overflow:auto;padding:5px;background:white;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 24px #0f172a22}.gearup-select-menu button{display:block;width:100%;text-align:left;padding:10px 12px;color:#475569;background:white;border:0;box-shadow:none;font-weight:400}.gearup-select-menu button:hover,.gearup-select-menu button:focus{background:#f1f5f9}.gearup-select-menu button[aria-selected=true]{color:#046cdc;background:#e8f1fd}.sidebar .nav-item{box-shadow:none}.sidebar .nav-item.selected{box-shadow:var(--shadow)}

select[hidden]{display:none!important}
@media(max-width:760px){.sidebar nav{overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}.sidebar .nav-item{flex-shrink:0}.breadcrumb{min-width:0}.stat-card{padding:15px 10px}}
/* Aperçu interactif des programmes, réservé au responsable. */
.preview-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px;margin:0 0 28px;padding:18px 20px;border:1px solid #cfe3fb;border-radius:12px;background:#edf5ff}.preview-toolbar strong{font-family:Poppins,sans-serif;font-size:15px;color:#023873}.preview-toolbar p{margin:2px 0 0;font-size:12px;color:#475569}.preview-toolbar label{flex:1;min-width:220px;max-width:360px;font-size:12px;margin:0}.preview-toolbar .gearup-select{margin-top:4px;padding:9px 12px;font-size:13px}.preview-toolbar>small{flex-basis:100%;color:#64748b;font-size:11px}.preview-shortcut{display:block;padding:7px 0 0;color:var(--blue);font-size:12px;background:transparent;box-shadow:none}.preview-shortcut:hover{background:transparent;color:#035bb9}.preview-toolbar .secondary{padding:10px 14px;font-size:12px}@media(max-width:760px){.preview-toolbar{align-items:stretch}.preview-toolbar label{max-width:none;flex-basis:100%}.preview-toolbar>button{flex:1}}
.preview-mode .timer-card{position:static;flex-shrink:0}.preview-mode .title .topline{align-items:center}.stepbar li>small{max-width:100%;display:block}.preview-mode .title:has(.timer-card) h1{padding-right:0;min-height:0}
/* Parcours candidat : une liste, puis une page par test. */
.course-title{padding-top:24px!important}.course-title>p{max-width:660px}.course-progress{margin:24px 0 0;padding:16px 18px;border:1px solid #e2e8f0;border-radius:12px;background:white}.course-progress>div{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;margin-bottom:10px}.course-progress span{color:#64748b}.course-progress progress{display:block;appearance:none;width:100%;height:6px;border:none;border-radius:10px;overflow:hidden;background:#e2e8f0}.course-progress progress::-webkit-progress-bar{background:#e2e8f0}.course-progress progress::-webkit-progress-value{background:#046cdc;border-radius:10px}.course-progress progress::-moz-progress-bar{background:#046cdc}.course-consignes{padding:15px 20px!important;margin-bottom:18px}.course-consignes summary{cursor:pointer;font-size:13px;font-weight:600;color:#475569}.course-consignes p{font-size:13px}.course-ack{padding:14px 16px!important;margin:0 0 20px!important;background:#fff}.course-list-panel{padding:0!important;overflow:hidden}.course-list-heading{padding:22px 24px 17px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0}.course-list-heading h2{font-size:16px;margin:0}.course-list-heading>span{font-size:12px;color:#64748b}.course-test-list{list-style:none;margin:0;padding:0}.course-test{display:grid;grid-template-columns:40px minmax(0,1fr) 72px 130px;align-items:center;gap:16px;padding:22px 24px;border-bottom:1px solid #edf1f6}.course-test:last-child{border-bottom:0}.course-number{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#f1f5f9;color:#64748b;font-weight:600;font-size:12px}.course-number .icon{width:17px;height:17px}.course-test-copy h2{font-size:14px;margin:0 0 4px}.course-test-copy p{font-size:11px;color:#64748b;margin:0}.course-status{font-size:10px;font-weight:600;border-radius:6px;padding:5px 7px;color:#64748b;background:#f1f5f9;text-align:center}.course-status.active{color:#035bb9;background:#e8f1fd}.course-status.done{color:#047857;background:#ecfdf5}.course-test.is-done .course-number{background:#ecfdf5;color:#047857}.course-test.is-active{background:#f8fbff}.course-test.is-active .course-number{background:#e8f1fd;color:#046cdc}.course-test button{font-size:11px;padding:10px 12px;white-space:nowrap}.course-lock{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#94a3b8}.course-lock .icon{width:13px;height:13px}.course-running{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 2px;color:#64748b;font-size:12px}.course-running>span{display:flex;align-items:center;gap:8px}.course-running .icon{width:16px;height:16px}.back-to-tests{padding:7px 0;color:#046cdc;font-size:12px;margin:12px 0 0;box-shadow:none}.back-to-tests:hover{background:transparent;color:#035bb9}.candidate .timer-card{position:static;flex-shrink:0}.candidate .title .topline{align-items:center}.candidate .title:has(.timer-card) h1{padding-right:0;min-height:0}.preview-banner{align-items:center;padding:14px 18px;margin-bottom:20px}.preview-banner>div{flex:1}.preview-banner>button{flex:none}@media(max-width:600px){.course-test{grid-template-columns:34px minmax(0,1fr) auto;gap:10px 12px;padding:18px}.course-test-copy{grid-column:2/4}.course-status{grid-column:2;justify-self:start}.course-test button,.course-lock{grid-column:3}.course-number{width:32px;height:32px;grid-row:1/3}.course-progress>div{align-items:flex-start}.course-progress span{max-width:45%;text-align:right}.course-list-heading{padding:18px}.course-running{align-items:flex-start}.preview-banner{gap:8px}.preview-banner>button{font-size:10px;padding:8px}.preview-banner strong{font-size:12px}.preview-banner p{font-size:10px}.course-test-copy h2{font-size:13px}}
/* Laboratoire d’aptitudes GearUp : instruments vectoriels et cartes de réponse. */
[hidden]{display:none!important}.candidate header{height:72px}.candidate .test-title{padding-top:14px;margin-bottom:24px}.test-title h1{letter-spacing:-1px;margin-top:8px}.test-title .course-progress{margin-top:14px;padding:0;border:0;background:transparent}.test-title .course-progress>div{font-size:10px;margin-bottom:7px}.test-title .course-progress progress{height:4px}.test-title .back-to-tests{margin-top:2px}.test-title .timer-card{padding:8px 14px;background:#fff;border-color:#e2e8f0;box-shadow:var(--shadow)}.test-title .timer{font-size:22px}.candidate .test-workspace{padding:26px}.test-brief{font-size:16px;line-height:1.8;font-weight:500;color:#17324d;background:#edf5ff;border:1px solid #cfe0f4;border-left:4px solid #046cdc;border-radius:10px;padding:18px 22px;margin:0 0 24px}.test-brief-title{display:block;font-size:14px;font-weight:700;color:#035bb9;margin-bottom:8px}.test-brief p{font-size:inherit;line-height:inherit;color:inherit;margin:0;white-space:pre-line}.test-instructions{border-bottom:1px solid #e2e8f0;padding:0 0 16px;margin-bottom:22px;font-size:12px;color:#64748b}.test-instructions summary{cursor:pointer;font-weight:600}.question-navbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.question-navbar>div:first-child{flex-shrink:0}.deck-label{font-size:9px;letter-spacing:1.8px;color:#94a3b8;font-weight:700;display:block;margin-bottom:4px}.question-navbar strong{font-size:12px;color:#475569}.question-pips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.question-pip{position:relative;width:32px;height:32px;padding:0;border:1px solid #e2e8f0;border-radius:8px;color:#94a3b8;background:#f8fafc;box-shadow:none;font-size:10px}.question-pip:hover{background:#e8f1fd;color:#046cdc}.question-pip.answered{color:#046cdc;background:#edf5ff;border-color:#cfe3fb}.question-pip.answered:after{content:'';position:absolute;right:3px;top:3px;border-radius:50%;height:4px;width:4px;background:#e05a33}.question-pip[aria-current=step]{background:#046cdc;color:#fff;border-color:#046cdc;box-shadow:0 3px 8px #046cdc25}.deck-question{border:0;padding:0;margin:0;min-width:0}.deck-question legend{font-family:Poppins,sans-serif;font-size:15px;font-weight:600;line-height:1.65;margin-bottom:20px;max-width:100%}.deck-question .question-number{font-family:var(--font);font-size:10px;margin-right:10px;color:#e05a33;background:#fdf0ec;vertical-align:middle}.visual-stimulus{position:relative;margin:0 0 22px;padding:0;overflow:hidden;background:#091b32;border:1px solid #233750;border-radius:16px;box-shadow:0 8px 24px #0f172a0d}.visual-stimulus-svg{display:block;width:100%;height:auto;max-height:310px}.visual-operations{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px;background:#102540;border-top:1px solid #ffffff0a;flex-wrap:wrap}.visual-operation{display:flex;align-items:center;gap:8px;padding:8px 14px;color:#e5edf9;background:#ffffff06;border:1px solid #ffffff0f;border-radius:10px;font-size:11px}.visual-operation svg{height:20px;width:20px;stroke:#f99a78}.visual-operation strong{color:#fff;font-size:15px}.visual-operation span{color:#a0b5d0}.answer-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:0}.answer-card{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-height:65px;padding:16px 42px 16px 14px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.answer-card:hover{border-color:#94bcef;background:#f8fbff;box-shadow:0 3px 12px #046cdc09}.answer-card input{position:absolute;right:13px;top:15px;accent-color:#046cdc;width:15px;height:15px}.answer-card:has(input:checked){background:#edf5ff;border-color:#046cdc;box-shadow:0 0 0 1px #046cdc}.answer-letter{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:7px;background:#f1f5f9;color:#94a3b8;font-size:10px;font-weight:650}.answer-card:has(input:checked) .answer-letter{background:#046cdc;color:white}.answer-text{font-size:12px;line-height:1.4;color:#475569}.answers-visual{grid-template-columns:repeat(4,minmax(0,1fr))}.answers-visual .answer-card{min-height:148px;flex-direction:column;padding:18px 10px 12px;gap:8px;text-align:center;justify-content:flex-end}.answers-visual .answer-letter{position:absolute;top:12px;left:12px;width:20px;height:20px;font-size:9px}.visual-option-svg{display:block;width:100%;max-width:100px;height:84px;overflow:visible;color:#046cdc}.answers-visual .answer-text{font-size:10px;font-weight:600}.deck-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:22px;margin-top:25px;border-top:1px solid #e2e8f0}.deck-footer #saveStatus{font-size:10px;margin:3px 0 0}.deck-answer-count{font-size:11px;font-weight:600;color:#475569}.deck-footer .actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.deck-footer button{font-size:11px;padding:11px 14px}.deck-footer button:disabled{cursor:default}.study-stage{padding:32px;border-radius:16px;background:linear-gradient(140deg,#0d2948,#06182e);color:#c8d9ec}.study-stage h2{color:white;font-size:23px;margin:12px 0 20px}.study-stage p{font-size:16px;line-height:1.9;max-width:640px}.study-stage .deck-label{color:#f99a78}.study-foot{display:block;margin-top:25px;color:#87a4c6;font-size:11px}.editor-visual-preview{margin:20px 0}.editor-visual-preview .visual-stimulus{max-width:580px}.editor-visual-preview .muted{font-size:11px}
@media(max-width:700px){.answers-visual{grid-template-columns:repeat(2,minmax(0,1fr))}.answers-visual .answer-card{min-height:132px}.visual-stimulus-svg{max-height:none}.candidate .test-workspace{padding:20px}.deck-footer{align-items:flex-start;flex-direction:column}.deck-footer .actions{width:100%;justify-content:space-between}.question-navbar{gap:12px;align-items:flex-start}.question-pips{gap:4px}.question-pip{width:27px;height:27px;font-size:9px}.deck-question legend{font-size:13px}.answer-text{font-size:11px}.answer-card{padding:14px 34px 14px 12px}.study-stage{padding:24px}.study-stage p{font-size:14px}.visual-operation{padding:7px 10px;font-size:10px}.visual-operation strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.answer-card,.question-pip{transition:none}}
.visual-stimulus:has(+ .visual-operations){margin-bottom:0;border-radius:16px 16px 0 0;border-bottom:0}.visual-operations{margin-bottom:22px;border-radius:0 0 16px 16px;border:1px solid #233750;border-top:1px solid #ffffff0a}.visual-operation b{display:block;font-size:13px;font-weight:600;color:#eaf4ff}.visual-operation small{display:block;font-size:9px;color:#93aac3}.visual-stimulus svg text{font-family:'GearUp Sans',Arial,sans-serif}.visual-option-svg text{font-family:'GearUp Sans',Arial,sans-serif}
.test-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.test-heading .eyebrow{margin:0;max-width:none!important;font-size:9px}.candidate .test-heading h1{font-size:27px;margin:6px 0 0}.candidate .test-title{padding:16px 0 10px;margin-bottom:18px}.test-title .back-to-tests{margin:10px 0 0}.preview-mode:has(.test-title) .preview-banner{padding:8px 14px;margin-bottom:4px}.preview-mode:has(.test-title) .preview-banner>div{display:flex;gap:12px;align-items:center}.preview-mode:has(.test-title) .preview-banner strong{font-size:11px}.preview-mode:has(.test-title) .preview-banner p{font-size:9px;margin:0}.preview-mode:has(.test-title) .preview-banner button{padding:8px 10px;font-size:10px}.deck-question legend{margin-bottom:16px}.question-navbar{margin-bottom:18px}
@media(max-width:600px){.candidate .test-heading h1{font-size:21px;letter-spacing:-.7px}.test-heading{gap:12px}.test-heading .timer-card{min-width:72px;padding:7px 9px}.test-heading .timer{font-size:18px}.preview-mode:has(.test-title) .preview-banner>div{display:block}.preview-mode:has(.test-title) .preview-banner p{font-size:8px;margin-top:2px}.test-heading .eyebrow{font-size:8px}}
.visual-stimulus--cube .visual-stimulus-svg{max-height:390px}.answer-card:hover{transform:translateY(-2px)}.answer-card:has(input:focus-visible){outline:3px solid #82b3f4;outline-offset:3px}.answer-card:has(input:checked){transform:none}.deck-question:focus{outline:none}.visual-stimulus--cube{box-shadow:0 10px 28px #0523441c}@media(prefers-reduced-motion:reduce){.answer-card:hover{transform:none}html{scroll-behavior:auto}}
.report-question>strong{display:block;margin-bottom:18px}.report-question .visual-stimulus,.report-question .visual-operations{max-width:760px}.report-answer-status{font-weight:600;color:#475569}.report-answer-group{display:flex;gap:16px;align-items:center;margin:12px 0}.report-answer-label{width:135px;flex-shrink:0;font-size:11px;color:#64748b}.report-answer-options{display:flex;gap:10px;flex-wrap:wrap}.report-answer-option{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:12px}.report-answer-option .visual-option-svg{width:64px;height:64px}.report-answer-option .option-image{width:80px;max-height:80px;object-fit:contain}@media(max-width:600px){.report-answer-group{display:block}.report-answer-label{display:block;width:auto;margin-bottom:6px}}@media print{.report-question{break-inside:avoid}.report-question .visual-stimulus{max-width:500px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-answer-option{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.visual-stimulus--cube:has(+ .visual-cube-reference){margin-bottom:0;border-radius:16px 16px 0 0;border-bottom:0}.visual-cube-reference{margin-bottom:22px;padding:16px 22px 20px;background:#091a34;border:1px solid #233750;border-top:1px solid #25415f;border-radius:0 0 16px 16px}.visual-cube-reference>h4{font-size:9px;letter-spacing:1.3px;color:#93aac3;margin:0 0 12px;font-weight:600}.cube-face-legend{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.cube-face-reference{display:flex;align-items:center;flex-direction:column;gap:8px;padding:12px 6px;background:#102743;border:1px solid #25415f;border-radius:10px}.cube-face-letter{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;font-size:17px;font-weight:600;color:#091a34;background:#eef2ff}.cube-face-reference[data-face-legend=A] .cube-face-letter{background:#4596ff}.cube-face-reference[data-face-legend=B] .cube-face-letter{background:#70d6cb}.cube-face-reference[data-face-legend=C] .cube-face-letter{background:#b49cff}.cube-face-reference[data-face-legend=D] .cube-face-letter{background:#ffb775}.cube-face-reference[data-face-legend=F] .cube-face-letter{background:#ff9b9b}.cube-face-reference small{font-size:9px;letter-spacing:.5px;color:#93aac3}.report-question .visual-cube-reference{max-width:760px}@media(max-width:500px){.cube-face-legend{grid-template-columns:repeat(3,minmax(0,1fr))}.cube-face-reference{padding:10px 6px}.visual-cube-reference{padding:14px}.visual-cube-reference>h4{font-size:8px;letter-spacing:.5px}}@media print{.report-question .visual-cube-reference{max-width:500px;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Réponses filmées et bilan initial des compétences. */
.oral-rules{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.oral-rules span{padding:6px 11px;background:#edf5ff;border:1px solid #d8e9fb;border-radius:100px;color:#205a92;font-size:12px;font-weight:600}.oral-prompt{padding:24px;background:#f3f7fc;border-left:3px solid #046cdc;border-radius:8px;margin:24px 0}.oral-prompt h2{font:500 22px/1.65 var(--font);margin:10px 0 0;color:#153a61}.oral-capture{display:grid;grid-template-columns:minmax(200px,1fr) minmax(200px,1fr);gap:24px;align-items:center}.oral-camera{aspect-ratio:4/3;background:#0c223d;border-radius:12px;overflow:hidden;border:2px solid #cfdaea}.oral-camera video{display:block;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.oral-camera-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:#abc1db;font-size:13px}.oral-camera-placeholder .icon{width:38px;height:38px}.oral-capture-copy p{font-size:14px;line-height:1.75}.oral-recording-label{display:flex;gap:9px;align-items:center;font-weight:700;color:#345a7f}.oral-dot{width:9px;height:9px;border-radius:50%;background:#7298bf;flex-shrink:0}.is-recording .oral-dot{background:#da414d;box-shadow:0 0 0 4px #fce8eb}.is-recording .oral-camera{border-color:#da414d}.is-recording .oral-recording-label{color:#b92734}.oral-actions{margin-top:28px}.oral-one-shot-note{margin:22px 0 0!important;font-size:12px!important}.oral-preview-note{font-size:13px!important}.report-section{margin-top:24px}.competency-table-wrap{overflow-x:auto}.competency-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:24px;table-layout:fixed}.competency-table th,.competency-table td{padding:17px 16px;text-align:left;vertical-align:top;border-bottom:1px solid #e5edf4}.competency-table thead th{font-size:10px;letter-spacing:.7px;text-transform:uppercase;background:#f1f6fb;color:#5b7693}.competency-table th:first-child{width:34%}.competency-table tbody th strong{font:600 13px var(--font);color:#174671}.competency-table tbody th>span{display:block;font-weight:400;color:#77879b;font-size:11px;line-height:1.7;margin-top:6px}.competency-evidence{margin:0 0 12px}.competency-evidence:last-child{margin-bottom:0}.competency-evidence span,.competency-evidence strong{display:block}.competency-evidence span{color:#687b90;font-size:11px}.competency-evidence strong{color:#315c87;font-weight:600;margin-top:2px}.unobserved{color:#8490a1!important;font-size:11px;font-weight:400!important}.not-observed{padding:18px 20px;margin-top:22px;background:#f7f8fb;border-radius:8px;border:1px dashed #d7e0eb;font-size:13px}.not-observed p{margin:5px 0 0;color:#738299;font-size:12px}.review-scale{padding:17px 20px;background:#f4f8fd;border-radius:10px;font-size:13px;margin-bottom:20px}.review-scale summary{cursor:pointer;color:#315c87;font-weight:600}.review-scale-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:18px}.review-scale-grid>div{padding:13px;background:white;border:1px solid #e4edf7;border-radius:8px}.review-scale-grid strong{font-size:12px;color:#245785}.review-scale-grid p{font-size:11px;color:#74859a;margin:7px 0 0}.oral-review summary{line-height:1.8}.oral-review summary>.status{margin-left:8px;vertical-align:middle}.oral-review summary>.muted{display:inline-block;font-weight:400;font-size:11px;margin-left:10px}.oral-report-prompt{margin:20px 0 12px;padding:18px 20px;background:#f5f8fc;border-radius:8px;border:0}.oral-report-prompt .muted{font-size:11px;margin:8px 0 0}.report-recording{display:block;width:100%;max-width:520px;max-height:390px;background:#0c223d;border-radius:10px;margin:16px 0 10px}.rubric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:25px 0}.rubric-grid>label{padding:17px;border:1px solid #e1e9f4;border-radius:10px;margin:0;display:flex;flex-direction:column}.rubric-label{font-size:13px;color:#244969}.rubric-grid .muted{font-size:11px;line-height:1.7;display:block;margin:7px 0 13px;flex:1}.rubric-grid .gearup-select{font-size:12px}.editor-rubric{padding:13px 0;border-top:1px solid #e5edf4;font-size:13px}.editor-rubric p{font-size:12px;margin:5px 0}.editor-grid input[readonly]{background:#f2f6fb;color:#63768e;cursor:default}
@media(max-width:650px){.oral-capture{grid-template-columns:1fr;gap:14px}.oral-camera{max-width:420px;width:100%;margin:auto}.oral-prompt{padding:20px}.oral-prompt h2{font-size:19px}.oral-rules{gap:6px}.oral-rules span{font-size:10px}.oral-actions>button{width:100%}.rubric-grid,.review-scale-grid{grid-template-columns:1fr}.competency-table{min-width:640px}.competency-table th,.competency-table td{padding:15px 12px}.oral-review summary>.status,.oral-review summary>.muted{display:block;width:fit-content;margin:8px 0 0}.oral-review summary{padding:8px 0}.oral-camera-placeholder{min-height:180px}}
@media print{.competency-table{table-layout:fixed;font-size:10px;min-width:0}.competency-table th,.competency-table td{padding:10px 8px}.competency-table tr,.rubric-grid>label,.not-observed{break-inside:avoid}.competency-table tbody th>span,.competency-evidence span,.unobserved{font-size:9px}.review-scale-grid{grid-template-columns:repeat(2,1fr)}.rubric-grid{grid-template-columns:repeat(2,1fr)}.rubric-grid .gearup-select{display:flex!important;border:0;padding:0;color:#111}.rubric-grid .gearup-select svg{display:none}.oral-review{break-inside:auto}.report-recording{display:none}.report-section{margin-top:12px}.oral-review textarea{border:0;min-height:0;resize:none}.not-observed{margin-top:12px}}
.competency-evidence>a{font-size:11px;display:block;text-decoration:underline;text-underline-offset:3px}.evidence-ratings{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.evidence-rating{display:block!important;padding:7px 9px;background:#eff5fc;border-radius:6px;font-size:10px!important;line-height:1.5;color:#58718f!important;border:1px solid #e2ebf6}.evidence-rating b{display:block;font-size:10px;font-weight:600;color:#264d77}.evidence-rating[data-level="1"]{background:#fff7ed;border-color:#f7e6d1}.evidence-rating[data-level="2"]{background:#f7f8fc}.competency-evidence .evidence-rating{max-width:100%}@media print{.evidence-rating{padding:4px 5px;font-size:8px!important}.evidence-rating b{font-size:8px}.evidence-ratings{gap:3px}}

/* Parcours candidat : quatre blocs, avec une activité à la fois. */
.journey-intro{display:block;margin:0 0 22px}
.journey-intro>div{min-width:0}
.journey-intro>p:not(.eyebrow){margin:5px 0;color:var(--muted);font-size:13px}
.journey-duration{display:inline-flex;align-items:center;gap:8px;max-width:100%;margin-top:16px;padding:9px 12px;background:#edf5ff;border:1px solid #d8e9fb;border-radius:10px;color:#315c87;font-size:11px;line-height:1.6;text-align:left}
.journey-duration>.icon{width:15px;height:15px;flex-shrink:0}
.journey-duration strong{color:#164b81;font-size:16px;font-weight:650}
.course-list-panel:has(.journey-grid){background:transparent;border:0;box-shadow:none;overflow:visible}
.course-list-panel:has(.journey-grid) .course-list-heading{padding:0 0 16px;border:0}
.journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.journey-grid>.journey-block{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto 1fr auto auto;align-items:start;gap:16px;padding:22px;min-width:0;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.journey-grid>.journey-block.is-active{background:#fafdff;border-color:#92bff0;box-shadow:0 0 0 1px #046cdc0a,var(--shadow)}
.journey-grid>.journey-block.is-done{border-color:#cde9dd}
.journey-block .course-number{grid-column:1;grid-row:1;width:38px;height:38px}
.journey-block .course-status{grid-column:2;grid-row:1;justify-self:end;align-self:center;padding:5px 9px}
.journey-block .course-test-copy{grid-column:1/-1;grid-row:2;min-width:0}
.journey-block .course-test-copy h2{font-size:16px;line-height:1.45;margin:0 0 8px;letter-spacing:-.35px}
.journey-block .course-test-copy p{font-size:12px;line-height:1.75;max-width:100%}
.journey-meta{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;color:#71849c;font-size:11px;line-height:1.6}
.journey-meta>.icon{width:14px;height:14px;flex-shrink:0}
.journey-meta strong{color:#315c87;font-size:11px;font-weight:600}
.course-test-copy .journey-meta{margin-top:13px}
.journey-action{grid-column:1/-1;align-self:end;min-width:0;padding-top:2px}
.journey-action>button,.journey-action>.button{width:100%;min-height:40px;font-size:12px;white-space:normal}
.journey-block .course-lock{grid-column:1/-1;justify-content:flex-start;min-height:40px;font-size:11px}
.journey-preview-details{margin:22px 0 0;border-top:1px solid var(--border);padding-top:17px}
.journey-preview-details>summary{width:fit-content;cursor:pointer;color:#64748b;font-size:12px;font-weight:600}
.journey-preview-details[open]>summary{margin-bottom:14px;color:#046cdc}
.journey-preview-details .course-test-list{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}
.journey-preview-details .course-test{padding:16px 18px}
.journey-block>.journey-preview-details{grid-column:1/-1;margin:0;padding-top:13px;min-width:0}
.journey-block>.journey-preview-details>summary{font-size:10px}
.journey-block>.journey-preview-details>ul{list-style:none;margin:0;padding:0}
.journey-block>.journey-preview-details li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #edf1f6;font-size:11px;color:#64748b}
.journey-block>.journey-preview-details li:last-child{border:0}
.journey-block>.journey-preview-details li>span{min-width:0}
.journey-block>.journey-preview-details li>button{flex-shrink:0;font-size:10px;padding:6px 8px}
.journey-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;margin:0 0 10px;color:#64748b;font-size:11px;line-height:1.6}
.journey-breadcrumb strong{font-weight:600;color:#315c87}
.journey-breadcrumb>span{color:#71849c}
.candidate .journey-transition{max-width:640px;margin:18px auto 32px;padding:32px}
.journey-kicker{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.6;font-weight:600;color:#047857;margin:0 0 24px}
.journey-kicker .icon{width:16px;height:16px;flex-shrink:0}
.journey-next{padding:24px;background:#f4f8fd;border:1px solid #e1ebf7;border-radius:11px}
.journey-next h2{font-size:23px;line-height:1.4;letter-spacing:-.7px;margin:5px 0 12px;color:#173d66}
.journey-next p{font-size:13px;line-height:1.8;color:#64748b;margin:0}
.journey-next-duration{display:inline-flex;align-items:center;gap:6px;margin-top:16px;color:#315c87;font-size:11px;font-weight:600}
.journey-next-duration .icon{width:14px;height:14px}
.journey-transition>.actions{margin-top:25px;gap:12px}
.journey-transition>.actions>button:first-child{min-width:180px}
@media(max-width:600px){
  .journey-intro{margin-bottom:20px}
  .journey-duration{align-items:flex-start;font-size:10px}
  .journey-duration strong{font-size:14px}
  .journey-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .journey-grid>.journey-block{grid-template-columns:34px minmax(0,1fr);gap:13px;padding:20px}
  .journey-block .course-number{width:34px;height:34px}
  .journey-block .course-test-copy h2{font-size:15px}
  .journey-block .course-test-copy p{font-size:12px}
  .journey-block .journey-action>button{grid-column:auto}
  .journey-preview-details .course-test{padding:16px}
  .journey-breadcrumb{font-size:10px;gap:3px 10px}
  .candidate .journey-transition{padding:22px;margin:12px auto 24px}
  .journey-kicker{margin-bottom:18px}
  .journey-next{padding:20px}
  .journey-next h2{font-size:20px}
  .journey-transition>.actions{align-items:stretch;flex-direction:column;margin-top:20px}
  .journey-transition>.actions>button{width:100%;min-width:0}
}

/* Iroise Aero Formation — shared visual identity. */
@media screen {
  :root{--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--background:#f3f6f8;--foreground:#142c40;--muted:#526578;--border:#dce4ea;--blue:#17689a;--navy:#102d46;--shadow:0 4px 20px #102d4605}
  body{font-size:15px;line-height:1.65;background:var(--background);color:var(--foreground)}
  main,main.candidate{max-width:none}
  h1,h2,h3,.brand-name{font-family:var(--font);font-weight:700}
  button,.button{border-radius:8px;min-height:44px;font-size:14px;font-weight:600;box-shadow:none;padding:11px 18px}
  button:hover{background:#12567f}
  button.secondary:hover{background:#edf3f7;color:#102d46}
  button.ghost:hover{background:#e8eff4;color:#102d46}
  a,button,input,textarea,select{outline-offset:4px}
  :focus-visible{outline:3px solid #3791c6}
  .workspace>header{height:auto;min-height:88px;margin:0;padding:0 40px;background:#102d46;border:0;box-shadow:none;color:#fff}
  .header-inner{width:100%;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:auto}
  .candidate .header-inner,.login .header-inner{max-width:1080px}
  .brand{gap:16px;color:inherit;letter-spacing:0}
  .iaf-monogram{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 52px;border:1px solid #ffffff60;border-radius:4px;font-family:Arial,sans-serif;font-size:24px;font-weight:800;letter-spacing:-1px;color:inherit}
  .brand-name{font-size:17px;letter-spacing:1px;line-height:1.35}
  .brand-name>span{font-family:var(--font);font-size:10px;font-weight:500;letter-spacing:2px;margin-top:6px;color:#b9cddb}
  .workspace>header .badge{border:0;border-radius:0;background:transparent;color:#d0e0eb;font-size:12px;padding:0;gap:9px}
  .breadcrumb{font-size:14px;color:#b9cddb}
  .breadcrumb strong{font-family:var(--font);color:white}
  .breadcrumb span{color:#7091a9}
  main.dashboard,main.report,main.programmes,main.students{padding-left:264px}
  .sidebar{width:264px;background:#102d46;border-right:1px solid #ffffff18;padding:30px 22px;color:#fff}
  .sidebar:before,.sidebar:after{display:none}
  .sidebar .brand{align-items:flex-start;gap:12px;color:#fff}
  .sidebar .iaf-monogram{width:42px;height:42px;flex-basis:42px;font-size:21px}
  .sidebar .brand-name{font-size:12px;line-height:1.55;letter-spacing:.7px;max-width:155px}
  .sidebar .brand-name>span{color:#a6bfce;font-size:8px;letter-spacing:1px;line-height:1.7;margin-top:8px}
  .nav-label{color:#93afc2;font-size:10px;letter-spacing:2px;margin:44px 12px 16px}
  .sidebar .nav-item{color:#c2d3df;font-size:14px;padding:14px 12px;border-radius:7px;margin-bottom:6px}
  .sidebar .nav-item:hover{background:#ffffff0c;color:#fff}
  .sidebar .nav-item.selected{background:#ffffff12;color:#fff;box-shadow:none}
  .sidebar .nav-item.selected:before{background:#60b6dd;top:14px;bottom:14px;width:3px}
  .sidebar .nav-item.selected .icon{color:#7ac7e9}
  .sidebar-bottom{border-color:#ffffff24;color:#adc5d4}
  .sidebar-bottom strong{color:#fff}
  .page-content{max-width:1440px;margin:auto;padding:0 40px 40px}
  .candidate .workspace{background:var(--background)}
  .candidate .page-content{max-width:1080px;padding:0 40px 48px}
  .title{padding:40px 0 28px}
  .title h1{font-size:36px;letter-spacing:-1.2px;line-height:1.2}
  .title>p:not(.eyebrow){font-size:15px;color:#526578;line-height:1.7}
  .eyebrow{font-size:11px;letter-spacing:1.6px;color:#17689a;font-weight:700}
  .panel,.stat-card,.programme-card{border-radius:12px;border-color:#dce4ea;box-shadow:var(--shadow)}
  .panel{padding:30px}
  .panel h2{font-size:22px;letter-spacing:-.5px}
  .panel-heading p,.programme-summary p,.session-identity .muted,.list-caption{font-size:13px;line-height:1.7}
  .panel-icon,.programme-icon{color:#17689a;background:#edf4f8;border-radius:8px}
  .programme-card{border-top:3px solid #17689a}
  .stat-card{padding:25px}
  .stat-card>div>span{font-size:13px;color:#526578}
  .stat-card>p{font-size:12px;color:#526578}
  .stat-card strong{color:#102d46;font-size:38px}
  .stat-icon,.stat-icon.amber,.stat-icon.teal{background:#edf4f8;color:#17689a}
  .muted{color:#526578}
  .foot{max-width:1360px;margin:0 auto;padding:24px 40px;font-size:12px;color:#667a8a;border-top:1px solid #dce4ea}
  .candidate .foot{max-width:1000px}
  .preview-mode .preview-banner,.preview-mode:has(.test-title) .preview-banner{margin:24px 0 0;padding:12px 16px;border:1px solid #dce4ea;border-radius:8px;background:#eaf0f4;box-shadow:none;gap:16px}
  .preview-mode .preview-banner>div,.preview-mode:has(.test-title) .preview-banner>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}
  .preview-mode .preview-banner strong,.preview-mode:has(.test-title) .preview-banner strong{font-family:var(--font);font-size:13px;color:#173b55}
  .preview-mode .preview-banner p,.preview-mode:has(.test-title) .preview-banner p{font-size:12px;line-height:1.5;margin:0;color:#526578}
  .preview-mode .preview-banner button,.preview-mode:has(.test-title) .preview-banner button{font-size:12px;min-height:36px;padding:8px 12px;background:transparent;border:1px solid #c1ced8;color:#173b55}
  .candidate .test-title{padding-top:32px;margin-bottom:26px}
  .candidate .test-heading h1{font-size:34px;line-height:1.25;margin-top:12px;letter-spacing:-1px}
  .journey-breadcrumb{font-size:12px;letter-spacing:.4px;color:#526578;gap:6px 16px}
  .test-title .back-to-tests{font-size:13px;margin-top:16px;min-height:36px;padding:6px 0;color:#17689a}
  .test-title .timer-card{min-width:132px;padding:16px 20px;background:#102d46;color:#fff;border:0;border-radius:10px;box-shadow:none}
  .timer-card>span{font-size:10px;letter-spacing:1px;color:#b9cddb}
  .test-title .timer{font-size:30px;color:#fff;line-height:1.4;font-variant-numeric:tabular-nums}
  .test-title .course-progress{margin-top:18px}
  .test-title .course-progress>div{font-size:12px;margin-bottom:10px}
  .test-title .course-progress progress{height:5px}
  .candidate .test-workspace{padding:32px}
  .test-brief{font-size:16px;line-height:1.8;background:#f0f6fa;border:1px solid #d8e6ef;border-left:3px solid #17689a;padding:18px 22px;border-radius:8px;margin-bottom:30px}
  .test-brief-title{font-size:12px;color:#17689a;letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px}
  .question-navbar{padding-bottom:24px;border-bottom:1px solid #e2e8ed;margin-bottom:28px}
  .deck-label{font-size:10px;color:#63798b;letter-spacing:1.5px}
  .question-navbar strong{font-size:14px;color:#173b55}
  .question-pips{gap:8px}
  .question-pip{width:38px;height:38px;min-height:38px;font-size:12px;background:#fff;color:#526578;border-color:#dce4ea;border-radius:7px;padding:0}
  .question-pip[aria-current=step]{background:#102d46;border-color:#102d46;box-shadow:none}
  .deck-question legend{font-family:var(--font);font-size:20px;line-height:1.6;margin-bottom:24px;color:#142c40;font-weight:650}
  .deck-question .question-number{color:#17689a;background:#edf4f8;font-size:12px}
  .deck-question .option{font-size:16px;line-height:1.6;min-height:76px;background:#fff;border:1px solid #d3dfe7;border-radius:8px;padding:18px!important;color:#213e54}
  .deck-question .option:hover{background:#f3f8fb;border-color:#87b2cc}
  .deck-question .option:has(input:checked){background:#edf6fb;border-color:#17689a;box-shadow:inset 0 0 0 1px #17689a;color:#102d46}
  .deck-question .option-letter{background:#edf3f7;color:#526578;font-size:12px}
  .deck-footer{margin-top:28px;padding-top:24px}
  .deck-answer-count{font-size:13px;color:#173b55}
  .deck-footer #saveStatus{font-size:12px;line-height:1.6}
  .journey-intro h1{font-size:36px}
  .journey-intro>p:not(.eyebrow){font-size:15px}
  .journey-block .course-test-copy h2{font-size:21px;line-height:1.35}
  .journey-block .course-test-copy p{font-size:14px;line-height:1.7;color:#526578}
  .journey-meta{font-size:12px}
  .journey-action>button{font-size:14px;min-height:46px}
  .course-consignes summary,.course-consignes p{font-size:14px;color:#213e54;line-height:1.8}
  .login-intro{background:#102d46}
  .login-intro h1{font-size:40px}
  .login-description{font-size:15px}
}
@media screen and (max-width:1000px){
  main.dashboard,main.report,main.programmes,main.students{padding-left:220px}
  .sidebar{width:220px;padding:26px 16px}
  .sidebar .brand{gap:9px}
  .sidebar .brand-name{font-size:11px}
  .workspace>header{padding:0 28px}
  .page-content{padding:0 28px 32px}
  .candidate .page-content{padding:0 28px 36px}
}
@media screen and (max-width:650px){
  main.dashboard,main.report,main.programmes,main.students{padding-left:0}
  .sidebar{position:relative;width:100%;padding:20px;border-right:0}
  .sidebar .brand-name{max-width:none;font-size:13px}
  .sidebar nav{margin-top:20px;gap:8px}
  .sidebar .nav-item{font-size:12px;padding:10px 12px;margin:0}
  .workspace>header{padding:0 20px;min-height:80px}
  .header-inner{min-height:80px;gap:12px}
  .brand{gap:10px}
  .iaf-monogram{width:40px;height:40px;flex-basis:40px;font-size:20px}
  .brand-name{font-size:12px;letter-spacing:.5px;max-width:200px}
  .brand-name>span{font-size:8px;letter-spacing:1px}
  .workspace>header .badge{font-size:10px;max-width:85px;line-height:1.5}
  .workspace>header .badge .icon{display:none}
  .breadcrumb{font-size:12px;flex-wrap:wrap}
  .page-content,.candidate .page-content{padding:0 18px 28px}
  .title h1,.journey-intro h1{font-size:29px}
  .candidate .test-heading h1{font-size:27px;padding-right:0}
  .test-heading{align-items:flex-start;gap:16px}
  .test-title .timer-card{min-width:96px;padding:12px}
  .test-title .timer{font-size:23px}
  .timer-card>span{font-size:8px}
  .journey-breadcrumb{font-size:11px}
  .panel,.candidate .test-workspace{padding:22px 18px}
  .test-brief{padding:15px 17px;font-size:16px}
  .question-navbar{align-items:flex-start;flex-direction:column;gap:16px}
  .question-pips{justify-content:flex-start;gap:7px}
  .question-pip{width:35px;height:35px;min-height:35px}
  .deck-question legend{font-size:18px}
  .deck-question .option{font-size:16px;min-height:66px;padding:16px!important}
  .preview-mode .preview-banner>div,.preview-mode:has(.test-title) .preview-banner>div{display:block}
  .preview-mode .preview-banner p,.preview-mode:has(.test-title) .preview-banner p{font-size:11px;margin-top:4px}
  .preview-mode .preview-banner,.preview-mode:has(.test-title) .preview-banner{gap:12px;padding:12px}
  .preview-mode .preview-banner button,.preview-mode:has(.test-title) .preview-banner button{font-size:11px;max-width:125px;white-space:normal}
  .foot{padding:22px 18px;font-size:11px}
  .stats-grid{gap:8px}
  .stat-card{padding:16px 12px}
  .stat-card strong{font-size:30px}
  .stat-card>div>span{font-size:11px}
}

/* Compact candidate screens: one list and one focused question. */
@media screen {
 .candidate .header-inner{max-width:1000px;min-height:64px}
 .candidate .workspace>header{min-height:64px}
 .candidate .iaf-monogram{width:38px;height:38px;flex-basis:38px;font-size:20px}
 .candidate .brand-name{font-size:14px}
 .candidate .brand-name>span{font-size:8px;margin-top:3px}
 .candidate .title,.candidate .course-title{padding:20px 0 16px!important;margin-bottom:0}
 .candidate .title h1,.candidate .journey-intro h1{font-size:28px;margin:4px 0 8px;line-height:1.25}
 .candidate .journey-duration{margin-top:8px;padding:0;border:0;background:none;font-size:13px}
 .candidate .course-progress{padding:0;margin:12px 0 0;border:0;background:none}
 .candidate .course-progress>div{font-size:12px;margin-bottom:6px}
 .candidate .preview-banner,.preview-mode:has(.test-title) .preview-banner{margin:12px 0 0;padding:8px 12px}
 .candidate .course-consignes{padding:10px 16px!important;margin:0 0 12px}
 .candidate .course-list-panel:has(.journey-grid){background:white;border:1px solid #dce4ea;overflow:hidden;border-radius:8px}
 .journey-grid{display:block}
 .journey-grid>.journey-block{display:grid;grid-template-columns:32px minmax(0,1fr) 110px 160px;grid-template-rows:auto auto;gap:5px 16px;border:0;border-bottom:1px solid #e2e8ed;border-radius:0;padding:16px 18px;box-shadow:none;align-items:center;background:#fff}
 .journey-grid>.journey-block:last-child{border-bottom:0}
 .journey-grid>.journey-block.is-active{background:#f1f7fb;box-shadow:none}
 .journey-block .course-number{grid-column:1;grid-row:1/3;width:32px;height:32px;font-size:12px}
 .journey-block .course-test-copy{grid-column:2;grid-row:1}
 .journey-block .course-test-copy h2{font-size:17px;margin:0 0 3px;line-height:1.35}
 .journey-block .course-test-copy p{font-size:13px;margin:0;line-height:1.5}
 .journey-block .course-status{grid-column:3;grid-row:1;justify-self:start;font-size:11px;background:transparent;padding:0}
 .journey-block .journey-meta{grid-column:2;grid-row:2;font-size:12px;gap:6px}
 .journey-block .journey-action{grid-column:4;grid-row:1/3;padding:0;align-self:center}
 .journey-action>button{min-height:38px;font-size:12px;padding:8px 12px}
 .journey-block>.journey-preview-details{grid-column:2/-1;grid-row:3;padding-top:5px;border:0}
 .journey-block>.journey-preview-details>summary{font-size:11px}
 .journey-block>.journey-preview-details[open]{margin-top:5px}
 .candidate .journey-transition{margin:0;max-width:none;padding:20px}
 .journey-kicker{margin-bottom:12px}
 .journey-next{padding:16px}
 .journey-next h2{font-size:22px;margin:0 0 8px}
 .journey-transition>.actions{margin-top:14px}
 .candidate-info h2{font-size:18px;margin:20px 0 8px}
 .candidate-info h2:first-child{margin-top:0}
 .candidate-info p{font-size:14px;line-height:1.7;margin:8px 0}
 .candidate-info a{text-decoration:underline;color:#17689a}
 .info-ack{display:flex;gap:10px;align-items:center;margin:20px 0 14px;font-size:14px}
 .info-ack input{width:18px;height:18px;margin:0;flex-shrink:0}
 .device-check{margin-top:20px;padding-top:16px;border-top:1px solid #dce4ea}
 .device-check-layout{display:grid;grid-template-columns:240px 1fr;gap:20px;margin:16px 0}
 #deviceVideo{display:block;background:#102d46;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
 #microLevel{display:block;width:100%;height:20px}
 #devicePlayback{display:block;width:100%;max-width:320px;margin-top:12px;border-radius:8px}
 #devicePlayback[hidden]{display:none}
 .device-check .actions{gap:8px}
 .device-check button{font-size:12px;padding:8px 12px;min-height:38px}
 .test-active .foot{display:none}
 .test-active .workspace>header,.test-active .header-inner{min-height:48px}
 .test-active .iaf-monogram{height:30px;width:30px;flex-basis:30px;font-size:16px}
 .test-active .brand-name{font-size:12px}
 .test-active .brand-name>span{display:none}
 .test-active .preview-banner,.test-active.preview-mode:has(.test-title) .preview-banner{padding:4px 10px;margin:8px 0 0;min-height:30px}
 .test-active.preview-mode .preview-banner p{display:none}
 .test-active.preview-mode .preview-banner button{min-height:26px;padding:4px 8px;font-size:11px}
 .candidate.test-active .test-title{position:relative;padding:12px 0 10px!important;margin:0}
 .candidate.test-active .test-heading h1{font-size:23px;margin:3px 0 0;line-height:1.25}
 .test-active .journey-breadcrumb{font-size:10px;line-height:1.4;margin:0}
 .test-active .test-title .timer-card{min-width:100px;padding:6px 12px;border-radius:6px}
 .test-active .test-title .timer{font-size:22px;line-height:1.25}
 .test-active .timer-card>span{font-size:8px}
 .test-active .test-title .back-to-tests{font-size:11px;min-height:24px;margin:2px 0 0;padding:0;line-height:1.5}
 .test-active .test-title .course-progress{display:none}
 .candidate.test-active .test-workspace,.candidate.test-active .oral-workspace{padding:18px 22px}
 .test-active .test-brief{font-size:14px;line-height:1.5;padding:9px 12px;margin:0 0 12px;border-radius:5px}
 .test-active .test-brief-title{font-size:10px;margin:0 0 4px}
 .test-active .question-navbar{padding:0 0 10px;margin:0 0 14px;gap:12px}
 .test-active .question-navbar strong{font-size:12px}
 .test-active .deck-label{font-size:9px;margin-bottom:2px}
 .test-active .question-pips{gap:5px}
 .test-active .question-pip{height:30px;width:30px;min-height:30px;font-size:11px;border-radius:5px}
 .test-active .deck-question legend{font-size:17px;line-height:1.45;margin-bottom:14px}
 .test-active .deck-question .option{min-height:52px;padding:10px 14px!important;font-size:14px;line-height:1.5}
 .test-active .answer-cards{gap:8px}
 .test-active .deck-question.has-stimulus{display:block}
 .test-active .question-stimulus{min-width:0;margin-bottom:14px}
 .test-active .question-stimulus .visual-stimulus{padding:0;margin:0;border:0;box-shadow:none}
 .test-active .visual-stimulus-svg{display:block;width:100%;max-height:220px}
 .test-active .visual-operations{margin:8px 0 0;gap:6px}
 .test-active .visual-operation{padding:6px 8px}
 .test-active .visual-cube-reference{margin:8px 0}
 .test-active .cube-face-legend{padding:6px;gap:4px}
 .test-active .cube-face-legend span{font-size:10px}
 .test-active .deck-footer{margin-top:14px;padding-top:12px;gap:10px}
 .test-active .deck-footer button{min-height:36px;padding:8px 14px;font-size:12px}
 .test-active .deck-answer-count{font-size:12px}
 .test-active .deck-footer #saveStatus{font-size:11px;margin:2px 0 0}
 .test-active .question-image{max-height:200px;margin:0 0 12px;object-fit:contain}
 .test-active .study-stage{padding:16px}
 .test-active .study-stage p{font-size:15px;line-height:1.65}
 .test-active .oral-rules{margin:0 0 10px}
 .test-active .oral-rules span{padding:4px 8px;font-size:10px}
 .test-active .oral-preview-note{font-size:12px;padding:8px 12px;margin:0 0 12px}
 .test-active .oral-prompt{padding:12px 16px;margin:0 0 12px}
 .test-active .oral-prompt h2{font-size:20px;line-height:1.45;margin:4px 0 0}
 .test-active .oral-capture{grid-template-columns:280px 1fr;gap:20px;margin:0 0 12px;align-items:center}
 .test-active .oral-camera-placeholder{min-height:160px}
 .test-active .oral-camera video{max-height:180px;object-fit:cover}
 .test-active .oral-capture-copy p{font-size:13px;line-height:1.55;margin:6px 0}
 .test-active .oral-one-shot-note{font-size:11px;line-height:1.5;margin:8px 0 0}
 .test-active .oral-actions button{font-size:12px;min-height:36px;padding:8px 14px}
}
@media screen and (max-height:750px) and (min-width:800px){
 .test-active .visual-stimulus-svg{max-height:170px}
 .candidate.test-active .test-workspace,.candidate.test-active .oral-workspace{padding:14px 18px}
 .test-active .test-brief{font-size:13px;line-height:1.45;padding:8px 10px;margin-bottom:10px}
 .test-active .question-navbar{margin-bottom:10px;padding-bottom:8px}
 .test-active .deck-question legend{margin-bottom:10px;font-size:16px}
 .test-active .oral-camera video{max-height:140px}
 .test-active .oral-capture-copy .muted{font-size:12px}
}
@media screen and (max-width:650px){
 .journey-grid>.journey-block{grid-template-columns:28px minmax(0,1fr);gap:5px 12px;padding:14px}
 .journey-block .course-test-copy{grid-column:2;grid-row:1}
 .journey-block .course-status{grid-column:2;grid-row:3;font-size:11px}
 .journey-block .journey-meta{grid-column:2;grid-row:2}
 .journey-block .journey-action{grid-column:2;grid-row:4;margin-top:6px}
 .journey-block>.journey-preview-details{grid-column:2;grid-row:5}
 .journey-block .course-test-copy h2{font-size:16px}
 .journey-block .course-test-copy p{font-size:12px}
 .device-check-layout{grid-template-columns:1fr}
 #deviceVideo{max-width:300px}
 .test-active .question-navbar{flex-direction:row;align-items:center;flex-wrap:wrap}
 .test-active .deck-question.has-stimulus{display:block}
 .test-active .question-stimulus{margin-bottom:12px}
 .test-active .visual-stimulus-svg{max-height:170px}
 .candidate.test-active .test-workspace,.candidate.test-active .oral-workspace{padding:14px}
 .test-active .test-heading{gap:10px;align-items:center}
 .candidate.test-active .test-heading h1{font-size:20px}
 .test-active .test-title .timer-card{min-width:80px;padding:6px 8px}
 .test-active .test-title .timer{font-size:19px}
 .test-active .deck-question legend{font-size:16px}
 .test-active .deck-question .option{min-height:44px;padding:8px 10px!important}
 .test-active .oral-capture{grid-template-columns:1fr;gap:12px}
 .test-active .oral-camera{max-width:260px}
}
@media screen {
 .candidate.test-active .page-content{padding-bottom:4px}
 .test-active .deck-question legend{padding-top:0}
 .test-active .visual-cube-reference{padding:6px 8px;margin:6px 0;background:#f0f5f8;border:1px solid #dce4ea;border-radius:5px}
 .test-active .visual-cube-reference h4{font-size:9px;line-height:1.3;letter-spacing:.3px;color:#526578;margin:0 0 4px}
 .test-active .cube-face-legend{padding:0;gap:4px}
 .test-active .cube-face-reference{display:flex;flex-direction:row;align-items:center;gap:4px;padding:3px;border:0;border-radius:3px;background:transparent;min-width:0}
 .test-active .cube-face-letter{width:18px;height:18px;flex:0 0 18px;font-size:11px!important;border-radius:3px}
 .test-active .cube-face-reference small{font-size:9px;color:#213e54;letter-spacing:0;line-height:1.2}
 .test-active .question-stimulus .visual-stimulus-svg{max-height:180px}
}
@media screen and (max-height:750px) and (min-width:800px){
 .test-active .question-stimulus .visual-stimulus-svg{max-height:140px}
}
@media screen {
 .candidate .info-return{font-size:12px;min-height:28px;padding:0;margin:0 0 10px;color:#17689a}
 .journey-grid>.journey-block{padding-top:12px;padding-bottom:12px}
}
@media screen {
 .candidate.test-active .preview-banner{display:none}
 .header-preview-exit{color:#d0e0eb;border:1px solid #ffffff40;font-size:11px;min-height:28px;padding:4px 9px;margin-left:8px}
 .header-preview-exit:hover{background:#ffffff18!important;color:white!important}
}
@media screen and (max-width:650px){
 .test-active .workspace>header .badge{max-width:none}
 .test-active .workspace>header .badge>span{display:none}
 .header-preview-exit{font-size:10px;margin:0}
}

/* Activity information on the left, question on the right. */
@media screen {
 .candidate.test-active .page-content{max-width:1440px;padding-top:20px;padding-bottom:8px}
 .test-active .header-inner{max-width:1360px}
 .activity-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}
 .activity-aside{padding:20px;background:#f0f5f8;border:1px solid #dce4ea;box-shadow:none}
 .activity-aside .journey-breadcrumb{font-size:10px;line-height:1.5;letter-spacing:.2px;gap:4px;display:block;margin:0 0 10px}
 .activity-aside .journey-breadcrumb>span{display:block;margin-top:4px}
 .activity-aside h1{font-size:23px;line-height:1.3;letter-spacing:-.6px;margin:0 0 18px}
 .activity-time{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#102d46;color:#fff;border-radius:6px;padding:12px 14px;margin-bottom:20px}
 .activity-time>span{font-size:12px;color:#c2d6e4}
 .activity-time .timer{font-size:26px;line-height:1.25;color:#fff;font-variant-numeric:tabular-nums}
 .activity-instructions h2{font-size:12px;letter-spacing:.7px;text-transform:uppercase;color:#17689a;margin:0 0 8px}
 .activity-instructions p{font-size:14px;line-height:1.65;color:#213e54;margin:0;white-space:pre-line}
 .activity-aside .back-to-tests{min-height:30px;font-size:12px;color:#17689a;padding:0;margin:20px 0 0;white-space:normal;text-align:left}
 .activity-rules,.activity-preview{font-size:12px;line-height:1.6;color:#526578;margin:16px 0 0;border-top:1px solid #d5e0e8;padding-top:12px}
 .candidate.test-active .test-workspace,.candidate.test-active .oral-workspace{padding:22px}
 .test-active .question-navbar{margin-bottom:20px;padding-bottom:14px}
 .test-active .deck-question legend{font-size:18px;line-height:1.5;margin-bottom:18px;padding-top:0}
 .test-active .question-stimulus .visual-stimulus-svg{max-height:220px}
 .test-active .deck-question .option{font-size:15px;min-height:56px;padding:12px!important}
 .test-active .deck-footer{padding-top:16px;margin-top:20px}
 .test-active .deck-footer button{min-height:38px}
 .test-active .oral-prompt{background:transparent;border:0;padding:0 0 16px;border-bottom:1px solid #dce4ea}
 .test-active .oral-prompt h2{font-size:23px;line-height:1.5}
 .test-active .oral-capture{grid-template-columns:minmax(220px,40%) minmax(0,1fr);margin:18px 0;gap:20px}
 .test-active .oral-camera video{max-height:none;object-fit:cover}
}
@media screen and (max-height:750px) and (min-width:900px){
 .candidate.test-active .page-content{padding-top:14px}
 .activity-aside{padding:16px}
 .activity-aside h1{font-size:21px;margin-bottom:14px}
 .activity-time{padding:10px 12px;margin-bottom:16px}
 .activity-instructions p{font-size:13px;line-height:1.6}
 .candidate.test-active .test-workspace,.candidate.test-active .oral-workspace{padding:18px}
 .test-active .question-stimulus .visual-stimulus-svg{max-height:180px}
 .test-active .deck-question legend{font-size:17px;margin-bottom:14px}
 .test-active .oral-camera video{max-height:none}
}
@media screen and (max-width:1000px) and (min-width:701px){
 .activity-layout{grid-template-columns:230px minmax(0,1fr);gap:14px}
 .activity-aside{padding:16px}
 .activity-aside h1{font-size:20px}
 .test-active .deck-question.has-stimulus{display:block}
 .test-active .question-stimulus{margin-bottom:16px}
 .test-active .question-stimulus .visual-stimulus-svg{max-height:150px}
}
@media screen and (max-width:700px){
 .candidate.test-active .page-content{padding-top:12px}
 .activity-layout{display:block}
 .activity-aside{padding:14px;margin:0 0 12px}
 .activity-aside h1{font-size:19px;margin:0 90px 8px 0}
 .activity-aside .journey-breadcrumb{font-size:9px;margin-bottom:5px}
 .activity-aside .journey-breadcrumb>span{display:inline;margin-left:5px}
 .activity-aside{position:relative}
 .activity-time{position:absolute;right:14px;top:14px;display:block;margin:0;padding:6px 10px;text-align:center}
 .activity-time>span{font-size:9px}
 .activity-time .timer{font-size:20px}
 .activity-instructions h2{font-size:10px;margin-bottom:4px}
 .activity-instructions p{font-size:13px;line-height:1.5}
 .activity-aside .back-to-tests{margin-top:8px;min-height:24px;font-size:11px}
 .candidate.test-active .test-workspace,.candidate.test-active .oral-workspace{padding:14px}
 .test-active .question-navbar{padding-bottom:10px;margin-bottom:12px}
 .test-active .deck-question legend{font-size:16px;margin-bottom:12px}
 .test-active .question-stimulus .visual-stimulus-svg{max-height:150px}
 .test-active .deck-question .option{font-size:14px;min-height:44px;padding:8px!important}
 .test-active .oral-capture{grid-template-columns:1fr;gap:12px}
}

@media screen and (min-width:701px){
 .test-active .deck-question:has(.visual-stimulus--scan) .answer-cards,
 .test-active .deck-question:has(.visual-stimulus--codes) .answer-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media screen and (max-height:750px) and (min-width:900px){
 .test-active .question-stimulus .visual-stimulus-svg{max-height:140px}
 .test-active .visual-option-svg{height:60px}
 .test-active .answers-visual .answer-card{gap:5px}
}

/* Oral: clear phases and a camera image that fills its frame. */
.oral-camera{position:relative}
.oral-camera video{position:absolute;inset:0;width:100%;height:100%;max-height:none!important;object-fit:cover!important}
.oral-steps{display:flex;gap:10px;list-style:none;padding:0;margin:0 0 18px}
.oral-steps li{display:flex;align-items:center;gap:8px;flex:1;padding:10px;background:#f0f5f8;color:#526578;border-radius:6px;font-size:13px}
.oral-steps li>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dce6ed;flex-shrink:0;font-weight:700}
.oral-steps li[aria-current]{background:#e4f1f8;color:#125f89;font-weight:700}
.oral-steps li[aria-current]>span{background:#176b98;color:white}
.oral-language{font-weight:600;color:#176b98}
.journey-transition>p{font-size:15px;line-height:1.6}
.test-active .oral-prompt{margin-top:0}
@media(max-width:700px){.oral-steps{gap:6px}.oral-steps li{font-size:11px;padding:8px 6px;gap:5px}.oral-steps li>span{width:18px;height:18px}}

.device-check #microphoneDevice{display:block;width:100%;margin:6px 0 12px;padding:10px;border:1px solid #c9d8e3;border-radius:6px;background:white;color:#213e54;font:inherit}

.activity-preflight{padding:24px;max-width:1000px;margin:0 auto}
.preflight-instructions h2{font-size:16px;margin:0 0 10px;color:#176b98}
.preflight-instructions p{font-size:17px;line-height:1.7;color:#213e54;margin:0;white-space:pre-line}
.preflight-duration{display:flex;align-items:center;gap:8px;color:#526578;font-size:14px;margin:18px 0}
.activity-preflight>.actions{margin-top:20px}
.activity-preflight>.muted{font-size:13px;margin-bottom:0}
.activity-preflight .device-check h2{font-size:18px}
@media(max-width:700px){.activity-preflight{padding:18px}.preflight-instructions p{font-size:15px}}

.survey-options{grid-template-columns:repeat(5,minmax(0,1fr))}.survey-options .answer-card{align-items:flex-start;min-height:105px!important}.survey-options .answer-text{font-size:14px;line-height:1.5}@media(max-width:900px){.survey-options{grid-template-columns:1fr}.survey-options .answer-card{min-height:44px!important}}

/* Consignes avant chaque activité : lecture libre et démarrage explicite. */
.preflight-active .preview-banner{display:none}
.preflight-active .page-content{padding-top:28px}
.preflight-active .header-preview-exit{color:#c3d3df;font-size:12px}
.candidate .activity-preflight{max-width:1100px;padding:0;overflow:hidden;border-radius:12px;box-shadow:0 8px 28px #102e4206}
.preflight-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 30px 22px}
.preflight-heading .eyebrow{margin:0 0 10px;font-size:10px;letter-spacing:1.6px}
.preflight-heading h1{font-size:30px;line-height:1.2;letter-spacing:-1px;margin:0;color:#122f42}
.preflight-status{display:flex;align-items:center;gap:7px;flex-shrink:0;font-size:12px;color:#37685c;background:#eef6f2;border:1px solid #dcebe3;padding:8px 11px;border-radius:6px}
.preflight-status .icon{width:16px;height:16px}
.preflight-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:18px 30px;background:#f5f8fa;border-top:1px solid #e2e9ed;border-bottom:1px solid #e2e9ed;gap:24px}
.preflight-facts div+div{border-left:1px solid #dce5eb;padding-left:24px}
.preflight-facts dt{font-size:12px;color:#607282;margin-bottom:5px}
.preflight-facts dd{font-size:17px;font-weight:650;color:#17374c;margin:0}
.preflight-content{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:30px;padding:28px 30px}
.preflight-content:not(:has(.preflight-example)){grid-template-columns:1fr}
.preflight-instructions h2,.preflight-example h2{font-size:17px;color:#17374c;margin:0 0 12px}
.preflight-instructions p{font-size:16px;line-height:1.7;margin:0;color:#314d60}
.preflight-example{padding:20px;background:#f0f6fa;border:1px solid #dae7ef;border-radius:8px}
.preflight-example .eyebrow{font-size:9px;letter-spacing:1.4px;color:#236a90;display:block;margin-bottom:8px}
.preflight-example h2{margin-bottom:8px}
.preflight-example p{font-size:15px;line-height:1.65;margin:0;color:#314d60}
.preflight-example-note{display:block;margin-top:12px;font-size:12px;color:#647889}
.preflight-instructions .preflight-study{font-size:13px;color:#236a90;margin-top:12px}
.preflight-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 30px;border-top:1px solid #e2e9ed}
.preflight-bottom>div{display:flex;align-items:center;gap:18px}
.preflight-bottom .muted{font-size:12px;margin:0;max-width:230px}
.preflight-bottom button{white-space:nowrap}
.activity-preflight>.oral-steps,.activity-preflight>.device-check{margin-left:30px;margin-right:30px}
.activity-preflight>.error:not(.hidden){margin:0 30px 20px}
@media(max-width:800px){
 .preflight-heading{align-items:flex-start;flex-direction:column;gap:14px;padding:22px}
 .preflight-heading h1{font-size:26px}
 .preflight-facts{padding:16px 22px;gap:12px}
 .preflight-facts div+div{padding-left:12px}
 .preflight-facts dd{font-size:14px}
 .preflight-content{grid-template-columns:1fr;padding:22px;gap:20px}
 .preflight-bottom{padding:18px 22px;align-items:flex-start}
 .preflight-bottom>div{align-items:flex-end;flex-direction:column;gap:10px}
 .preflight-bottom .muted{text-align:right}
}
@media(max-width:480px){
 .preflight-facts{grid-template-columns:1fr;gap:10px}
 .preflight-facts div{display:flex;justify-content:space-between;gap:12px}
 .preflight-facts div+div{border:0;padding:0}
 .preflight-bottom{flex-direction:column-reverse;align-items:stretch}
 .preflight-bottom>div{align-items:stretch}
 .preflight-bottom .muted{text-align:center;max-width:none}
}
/* Une action par situation, avec des réponses lisibles sous la question. */
.survey-options.scenario-options{grid-template-columns:1fr;gap:8px}
.scenario-options .option{align-items:center;padding:8px 40px 8px 12px!important}
.scenario-options .answer-text{font-size:15px;line-height:1.5}
.survey-options.scenario-options .answer-card{min-height:44px!important;align-items:center}
.scenario-options .answer-card input{top:50%;transform:translateY(-50%)}
/* Vert = renseignée ; contour foncé = question courante, même renseignée. */
.question-pip.answered{background:#e5f3ed!important;color:#225e46!important;border-color:#85b9a0!important}
.question-pip.answered::after{content:'✓';position:absolute;top:-5px;right:-4px;width:12px;height:12px;background:#28714f;color:white;border-radius:50%;font-size:8px;line-height:12px}
.question-pip[aria-current=step]{outline:2px solid #17374c;outline-offset:2px}
.candidate.test-active .page-content{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.candidate.test-active input,.candidate.test-active textarea{-webkit-user-select:text;user-select:text}
@media print{body:has(.candidate.test-active)>*{display:none!important}body:has(.candidate.test-active)::before{content:'Le contenu des tests ne peut pas être imprimé.';display:block;color:#17374c}}
/* Vue du parcours : un en-tête court, une durée, une progression. */
.journey-overview{background:#fff;border:1px solid #dce5eb;border-radius:10px;padding:22px 24px;margin:0 0 16px}
.journey-overview-top{display:flex;justify-content:space-between;align-items:center;gap:24px}
.journey-overview .eyebrow{font-size:10px;letter-spacing:1.4px;color:#236a90;margin:0 0 6px}
.journey-overview h1{font-size:28px;line-height:1.2;letter-spacing:-.8px;color:#153448;margin:0}
.journey-overview-description{font-size:14px;color:#607282;margin:8px 0 0;line-height:1.5}
.journey-overview-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}
.journey-overview-time{display:flex;align-items:center;gap:7px;font-size:13px;color:#526b7b}
.journey-overview-time strong{font-size:17px;color:#17374c}
.journey-overview-time .icon{width:17px;height:17px}
.journey-overview-actions button{min-height:32px;padding:6px 10px;font-size:12px;background:#fff;box-shadow:none}
.journey-overview-progress{margin-top:18px;padding-top:14px;border-top:1px solid #e5ebef}
.journey-overview-progress>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#607282;margin-bottom:8px}
.journey-overview-progress strong{color:#314d60;font-weight:600}
.journey-overview-progress progress{display:block;width:100%;height:5px;accent-color:#256a8c;border:0;border-radius:3px;overflow:hidden;background:#e8eef2}
.journey-overview-progress progress::-webkit-progress-bar{background:#e8eef2;border-radius:3px}
.journey-overview-progress progress::-webkit-progress-value{background:#256a8c;border-radius:3px}
.journey-overview-progress progress::-moz-progress-bar{background:#256a8c;border-radius:3px}
@media(max-width:700px){.journey-overview{padding:18px}.journey-overview-top{flex-direction:column;align-items:flex-start;gap:14px}.journey-overview-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}.journey-overview h1{font-size:25px}.journey-overview-description{font-size:13px}}

.student-toolbar,.student-pagination{display:flex;justify-content:space-between;align-items:center;gap:18px}.student-toolbar label{width:min(440px,100%)}.student-table-wrap{overflow-x:auto}.student-table{width:100%;border-collapse:collapse;font-size:13px}.student-table th,.student-table td{text-align:left;padding:16px 12px;border-bottom:1px solid #dfe7ed;vertical-align:middle}.student-table thead{background:#f0f5f8;color:#536b7c}.student-table tbody th{font-weight:600;color:#16384c}.student-table button{white-space:nowrap;padding:9px 13px}.student-pagination{margin-top:18px;font-size:13px}.student-notes{white-space:pre-wrap;line-height:1.7}.student-table summary{cursor:pointer;color:#1b6b94}.student-table details[open]{padding:10px 0}@media(max-width:700px){.student-table{min-width:720px}.student-toolbar,.student-pagination{align-items:flex-start;flex-direction:column}}

.student-report-links{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.student-report-links button{padding:4px 6px;font-size:12px}

/* Responsible dashboard: compact overview with an actionable review queue. */
.dashboard .workspace>header,.students .workspace>header,.report .workspace>header,.programmes .workspace>header{background:#fff;color:#18374a;border-bottom:1px solid #dae4ea;min-height:64px}
.dashboard .header-inner,.students .header-inner,.report .header-inner,.programmes .header-inner{min-height:64px}
.dashboard .breadcrumb,.students .breadcrumb,.report .breadcrumb,.programmes .breadcrumb{color:#667b8b;font-size:12px}
.dashboard .breadcrumb strong,.students .breadcrumb strong,.report .breadcrumb strong,.programmes .breadcrumb strong{color:#19384a}
.dashboard .workspace>header .badge,.students .workspace>header .badge,.report .workspace>header .badge,.programmes .workspace>header .badge{color:#607788;font-size:11px}
.dashboard .page-content{padding:0 32px 32px}.dashboard-title{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 22px}.dashboard-title h1{font-size:29px;letter-spacing:-1px;margin:5px 0 8px}.dashboard-title .eyebrow{font-size:9px;letter-spacing:1.8px}.dashboard-title p{margin:0;color:#657a89;font-size:13px}.dashboard-title>.actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.dashboard-title #logout{font-size:11px;padding:8px}.dashboard-title button .icon{width:16px;height:16px}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.dashboard-metric{display:flex;align-items:center;justify-content:flex-start;gap:14px;text-align:left;padding:19px 18px;background:#fff;border:1px solid #dde6ec;box-shadow:none;color:#17384b;border-radius:10px;min-width:0}.dashboard-metric:hover{background:#f8fbfc;border-color:#89b8cf;box-shadow:0 3px 10px #15394e09}.dashboard-metric>span:nth-child(2){flex:1;min-width:0}.dashboard-metric>span:nth-child(2)>span{display:block;color:#607684;font-weight:500;font-size:11px}.dashboard-metric strong{display:block;font-size:29px;font-weight:700;line-height:1.3;letter-spacing:-.7px;margin-top:3px}.metric-symbol{background:#eef4f7;border-radius:8px;display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;color:#307b9a}.metric-symbol .icon{width:18px;height:18px}.metric-arrow{color:#8096a4;font-size:15px;align-self:flex-start}.dashboard-metric.metric-priority{background:#edf6fa;border-color:#bcd8e6}.metric-priority:hover{background:#e3f0f7}.metric-priority .metric-symbol{background:#d8eaf3;color:#166c95}
.dashboard .panel{padding:22px;border-radius:10px}.dashboard .panel h2{font-size:16px;margin:0}.dashboard .panel .topline{align-items:center;margin-bottom:16px;gap:12px}.dashboard .panel .topline p{margin:4px 0 0;font-size:12px}.queue-count{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:#edf3f6;color:#5a7484;padding:2px 7px;font-size:11px;font-weight:600;margin-left:6px;vertical-align:middle}.review-queue{margin-bottom:20px}.review-queue .eyebrow{font-size:9px;margin-bottom:6px}.review-queue-list{display:grid;gap:8px}.review-queue-item{display:flex;align-items:center;gap:13px;padding:13px 14px;border:1px solid #e0e9ee;border-radius:8px;background:#fbfdfe}.review-queue-item>div{flex:1;min-width:0}.review-queue-item strong{font-size:13px;font-weight:650}.review-queue-item p{font-size:11px;color:#738695;margin:3px 0 0}.review-queue-item button{font-size:12px;padding:9px 14px}.review-mark{display:flex;align-items:center;justify-content:center;width:34px;height:40px;color:#287da0;background:#eaf3f8;border-radius:6px}.review-mark .icon{width:17px;height:17px}.review-queue-item .status{font-size:10px;background:#f7efde;color:#8c641d;border:0}.queue-empty{display:flex;align-items:center;gap:14px;padding:14px;color:#46766c;background:#f4f9f7;border-radius:8px}.queue-empty strong{font-size:13px}.queue-empty p{font-size:12px;margin:3px 0 0;color:#6a827c}
.dashboard-tools{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start;margin-bottom:20px}.dashboard .panel-heading{margin-bottom:19px;gap:11px}.dashboard .panel-icon{padding:9px}.dashboard .panel-heading .muted{font-size:12px}.dashboard-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dashboard-form-fields label{font-size:11px;margin-bottom:10px}.dashboard-form-fields input{font-size:12px;padding:11px}.dashboard-form-fields .gearup-select{font-size:12px}.invite-form-bottom{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-top:8px}.invite-form-bottom p{font-size:11px;max-width:240px;margin:0}.invite-form-bottom button{flex-shrink:0;font-size:12px}.dashboard-programme{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e5edf1}.dashboard-programme>div{flex:1;min-width:0}.dashboard-programme h3{font-size:13px;margin:0 0 3px}.dashboard-programme p{font-size:11px;color:#748696;margin:0}.dashboard-programme .programme-icon{padding:8px;border-radius:7px;width:34px;height:34px}.dashboard-programme .programme-icon .icon{width:17px;height:17px}.dashboard-programme button{padding:7px 11px;font-size:11px}.dashboard .sessionlist{margin-top:0}.dashboard .session-row{padding:14px 0;gap:12px}.dashboard .session-identity strong{font-size:12px}.dashboard .session-identity .muted{font-size:10px}.dashboard .programme-label{font-size:11px}.dashboard .candidate-avatar{width:33px;height:33px;flex:0 0 33px;font-size:10px;border-radius:8px}.dashboard .session-row button{padding:7px 11px;font-size:11px}.dashboard .session-row .status{font-size:10px}.dashboard .session-row .actions{gap:3px}.dashboard #newLink:not(:empty){margin-top:18px;border-top:1px solid #e2ebf0;padding-top:14px}.dashboard #newLink .linkbox{word-break:break-all}
@media(max-width:1200px){.dashboard-title{align-items:flex-start}.dashboard-title>.actions{max-width:270px}.dashboard-metric{gap:9px;padding:16px 12px}.metric-symbol{width:30px;height:30px;flex-basis:30px}.dashboard-metric>span:nth-child(2)>span{font-size:10px}.dashboard-tools{grid-template-columns:1fr 1fr}.dashboard-form-fields{grid-template-columns:1fr;gap:0}.review-queue-item .status{display:none}}
@media(max-width:900px){.dashboard-title{flex-direction:column;gap:14px}.dashboard-title>.actions{max-width:none;justify-content:flex-start}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-tools{grid-template-columns:1fr}.dashboard-form-fields{grid-template-columns:1fr 1fr;gap:14px}.dashboard .page-content{padding:0 20px 28px}.dashboard-title h1{font-size:26px}}
@media(max-width:600px){.dashboard .workspace>header{padding:0 20px}.dashboard .workspace>header .badge{display:none}.dashboard .panel{padding:17px}.dashboard-form-fields{grid-template-columns:1fr;gap:0}.review-queue-item{flex-wrap:wrap}.review-queue-item button{margin-left:47px}.invite-form-bottom{flex-direction:column;align-items:flex-start;gap:12px}.dashboard-metric{padding:14px 10px}.metric-symbol{display:none}.dashboard-title>.actions #logout{width:100%;justify-content:flex-start}.dashboard .session-row{flex-wrap:wrap}.dashboard .session-identity{flex:1 1 70%}.dashboard .session-row .actions{margin-left:44px}.dashboard-metric strong{font-size:25px}.dashboard .panel .topline{flex-wrap:wrap}}
.dashboard #createButton{width:auto;margin-top:0;padding:10px 15px}.dashboard #create .invite-form-bottom .muted{margin:0;flex:1;max-width:240px}.dashboard .invite-form-bottom{align-items:center}
@media(max-width:600px){.dashboard .invite-form-bottom{align-items:flex-start}.dashboard #createButton{width:100%}}

.behaviour-profile .topline{align-items:flex-start;gap:16px}.behaviour-profile .eyebrow{font-size:9px;margin-bottom:7px}.behaviour-profile h2{margin:0}.profile-coverage{font-size:11px;padding:6px 10px;background:#edf3f7;border-radius:6px;white-space:nowrap;color:#527284}.profile-summary{font-size:14px;line-height:1.8;background:#f0f6f9;border-left:3px solid #3988a5;padding:16px 19px;border-radius:5px;margin:22px 0 12px}.profile-notice{font-size:12px;margin-bottom:22px}.profile-axes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-axis{border:1px solid #dfe7ed;border-top:3px solid #89a7b8;border-radius:8px;padding:18px;background:white}.profile-support{border-top-color:#449481}.profile-discuss{border-top-color:#c69a4b}.profile-missing{border-top-color:#b7c2cb;background:#f8fafb}.profile-axis-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-axis-heading h3{margin:0;font-size:14px}.profile-signal{font-size:10px;color:#537286;background:#edf3f7;border-radius:5px;padding:4px 7px;flex-shrink:0}.profile-support .profile-signal{background:#edf7f1;color:#397664}.profile-discuss .profile-signal{background:#fcf5e9;color:#976b25}.profile-axis>p{font-size:13px;line-height:1.7;margin:14px 0}.profile-axis details{font-size:11px}.profile-axis summary{cursor:pointer;color:#397794}.profile-axis details[open]{padding-bottom:10px}.profile-probe{margin-top:16px;padding-top:12px;border-top:1px solid #e9eef2}.profile-probe>span{font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#708594}.profile-probe p{font-size:12px;line-height:1.7;color:#506b7b;margin:6px 0 0}.profile-procedure{margin-top:20px;background:#f6f8fa;border:1px solid #dfe7ed;border-radius:8px;padding:16px 19px;font-size:13px}.profile-procedure h3{font-size:14px;margin:0 0 10px}.profile-next{font-size:12px;color:#506d7e;border-top:1px solid #e1e9ee;padding-top:16px;margin:20px 0 0}@media(max-width:750px){.profile-axes{grid-template-columns:1fr}.profile-axis-heading{flex-wrap:wrap}.behaviour-profile .topline{flex-wrap:wrap}}@media print{.profile-axes{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-axis{break-inside:avoid}.profile-summary,.profile-signal{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Direct video grading, inspired by the compact GearUp criterion rows. */
.oral-grading-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.35fr);gap:24px;align-items:start;margin:18px 0 8px}.oral-grading-media{position:sticky;top:18px}.oral-grading-media .report-recording{width:100%;max-width:none;max-height:none;aspect-ratio:16/9;object-fit:contain;margin:0;border-radius:9px}.oral-grading-media>p{font-size:11px;margin:8px 0;color:#708594}.oral-grading-form{border:1px solid #dfe8ef;border-radius:10px;overflow:hidden;background:white}.grading-heading{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;background:#f1f6fa;border-bottom:1px solid #e0e9f0}.grading-heading h3{margin:0;font-size:13px;color:#284f6a}.grading-heading>span{font-size:11px;color:#6a8190}.grading-criterion{padding:13px 15px;border-bottom:1px solid #e5ecf1}.grading-criterion-row{display:flex;align-items:center;gap:12px}.grading-criterion-copy{flex:1;min-width:0}.grading-criterion-copy strong{font-size:12px;font-weight:600;color:#284b65}.grading-criterion-copy p{font-size:10px;line-height:1.6;margin:4px 0 0;color:#758998}.grading-buttons{display:flex;gap:4px;align-items:center;flex-shrink:0}.grade-option{position:relative;display:block;margin:0!important;font-size:11px;cursor:pointer;line-height:1}.grade-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.grade-option>span{display:flex;align-items:center;justify-content:center;width:29px;height:31px;border:1px solid transparent;border-radius:6px;background:#eef3f6;color:#647b8d;font-weight:700}.grade-option[data-grade=na]{margin-left:6px!important}.grade-option[data-grade=na]>span,.grade-option[data-grade=rep]>span{width:37px;font-size:9px}.grade-option:hover>span{border-color:#a0bdd0;background:#e5eff6}.grade-option input:focus-visible+span{outline:3px solid #68a5dc;outline-offset:2px}.grade-option input:checked+span{color:#fff;background:#286fa2;border-color:#286fa2;box-shadow:0 2px 5px #1a4c7619}.grade-option[data-grade="1"] input:checked+span{background:#b85e56;border-color:#b85e56}.grade-option[data-grade="2"] input:checked+span{background:#b68a45;border-color:#b68a45}.grade-option[data-grade="4"] input:checked+span,.grade-option[data-grade="5"] input:checked+span{background:#408774;border-color:#408774}.grade-option[data-grade=na] input:checked+span{background:#75899a;border-color:#75899a}.grade-option[data-grade=rep] input:checked+span{background:#99754a;border-color:#99754a}.criterion-comment{margin-top:7px;font-size:10px;color:#748998}.criterion-comment summary{width:fit-content;cursor:pointer;font-size:10px;font-weight:400!important;line-height:1.4!important;color:#637e93}.criterion-comment textarea{min-height:65px;font-size:11px;padding:9px;margin-top:8px;background:#fbfdfe}.grading-general-note{padding:15px 17px;margin:0;font-size:11px}.grading-general-note textarea{min-height:85px;font-size:12px;padding:10px}.grading-footer{padding:13px 17px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e4ebf1;background:#fafcfd}.grading-footer>span{font-size:11px;color:#8395a2}.grading-footer button{font-size:12px;padding:9px 15px}.grading-save-status{display:block;padding:0 17px 12px;background:#fafcfd;font-size:11px;color:#4a7898;min-height:16px}.grading-save-status:empty{padding:0;min-height:0}
@media(max-width:1200px){.oral-grading-layout{grid-template-columns:1fr 1.3fr;gap:17px}.grading-criterion-row{align-items:flex-start;flex-direction:column;gap:9px}.grading-buttons{align-self:flex-end}.grading-criterion-copy p{font-size:11px}.grading-criterion{padding:12px}}
@media(max-width:850px){.oral-grading-layout{grid-template-columns:1fr}.oral-grading-media{position:static;max-width:560px}.grading-criterion-row{flex-direction:row;align-items:center}.grading-buttons{align-self:center}}
@media(max-width:560px){.grading-criterion-row{flex-direction:column;align-items:flex-start}.grading-buttons{align-self:flex-start}.grade-option>span{width:29px}.grading-footer{flex-wrap:wrap}}
@media print{.oral-grading-layout{display:block}.oral-grading-media{display:none}.oral-grading-form{border:0}.grading-criterion{break-inside:avoid}.grading-buttons{display:none}.grading-criterion-copy{flex:none}.grade-option input:checked+span{print-color-adjust:exact;-webkit-print-color-adjust:exact}.grading-save-status{display:none}}

/* Rapport : synthèse et navigation persistante */
.report-header{margin:0 0 20px}.report-return{display:flex;gap:14px;margin-bottom:14px}.report-return button{padding:0;font-size:12px}.report-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-start}.report-heading h1{font-size:27px;line-height:1.25;margin:5px 0 10px;overflow-wrap:anywhere}.report-heading .eyebrow{font-size:10px}.report-heading .muted{font-size:12px;margin:0}.report-export{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.report-pdf-button{display:inline-flex;padding:11px 18px;background:#176e97;color:white;border-radius:7px;font-size:13px;font-weight:600;text-decoration:none}.report-export-option{display:flex;align-items:center;gap:7px;font-size:11px;margin:0;font-weight:400}.report-export-option input{width:14px;height:14px;margin:0}.report-export .small{font-size:10px}#reportDraftStatus{max-width:270px;font-size:10px;color:#966221}.report-tabs{display:flex;gap:4px;position:sticky;top:0;z-index:10;background:#f3f7f8;padding:8px 0;border-bottom:1px solid #d4e0e6;margin-bottom:20px;overflow-x:auto}.report-tabs button{background:transparent;color:#5b7280;font-size:12px;white-space:nowrap;border:0;border-radius:6px;box-shadow:none;padding:11px 16px}.report-tabs button[aria-selected=true]{background:#123348;color:white}.report-tabs button span{font-size:10px;background:#ffffff20;padding:2px 5px;border-radius:4px;margin-left:4px}.report-pane[hidden]{display:none!important}.report-summary-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.report-summary-grid>.panel{padding:22px;margin:0}.report-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.report-section-heading h2{font-size:17px;margin:0}.report-section-heading button{font-size:11px;padding:0;white-space:nowrap}.report-score-table{width:100%;border-collapse:collapse;font-size:12px}.report-score-table th,.report-score-table td{padding:12px 6px;border-bottom:1px solid #e2eaf0;text-align:left;vertical-align:middle}.report-score-table thead{font-size:10px;color:#6b8190}.report-score-table tbody th{font-weight:500;width:55%}.report-score-table button{text-align:left;font-size:12px;padding:0;color:#163c51}.report-score-table td span{display:block;font-size:10px;color:#7c8c95;margin-top:3px}.report-score-table td strong{font-size:17px;color:#196d91}.report-summary-grid p{font-size:12px;line-height:1.7}.report-summary-grid .small{font-size:10px}.report-review-count{font-size:28px!important;font-weight:700;margin:10px 0!important}.report-review-count span{font-size:12px;font-weight:400;color:#607687}.report-oral-list{list-style:none;padding:0;margin:0}.report-oral-list li{padding:8px 0;border-bottom:1px solid #e2eaf0;display:flex;flex-direction:column;gap:2px}.report-oral-list button{text-align:left;padding:0;font-size:12px}.report-oral-list span{font-size:10px}.report-axis-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.report-axis-chips>span{padding:8px 10px;font-size:10px;background:#f2f6f8;border-radius:5px;border-left:3px solid #8fa9b6}.report-axis-chips .profile-support{border-color:#449481}.report-axis-chips .profile-discuss{border-color:#c69a4b}.report-axis-chips small{display:block;color:#68808e;font-size:9px;margin-top:3px}.report-notes-preview{white-space:pre-wrap;max-height:220px;overflow:auto}.report-method,.report-competencies{margin-top:18px;font-size:12px;padding:16px 20px;background:#fff;border:1px solid #dde6ec;border-radius:8px}.report-method summary,.report-competencies>summary{cursor:pointer;color:#567788;font-weight:600}.report-pane>.panel,.report-pane>.report-section{margin-top:0;margin-bottom:18px}.report-pane .panel{padding:24px}.report-pane .reportgrid{gap:12px}.report-pane .metric{padding:18px}.report-pane .metric .score{font-size:25px}.report-pane .metric h3{font-size:15px}.report-pane .metric p{font-size:11px}.report-pane .oral-review{scroll-margin-top:70px}.report-pane h2{font-size:19px}.report-pane .profile-axis{padding:15px}.report-pane .profile-axis>p{font-size:12px}.report-pane #notes{min-height:260px}.report-pane:focus{outline:none}
@media(max-width:1000px){.report-summary-grid{grid-template-columns:1fr}.report-heading{flex-direction:column;gap:16px}.report-export{align-items:flex-start}.report-tabs button{padding:9px 12px}.report-heading h1{font-size:23px}}
@media print{.report-header,.report-tabs{display:none}.report-pane[hidden]{display:block!important}.report-summary{display:none}}
.report-oral-list button.ghost{display:block;min-height:0;width:auto;margin:0;text-align:left;line-height:1.5}.report-oral-list li{align-items:flex-start}.report .report-summary-grid .panel p{margin:9px 0}.report .report-score-table th,.report .report-score-table td{padding-top:9px;padding-bottom:9px}
.microsoft-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;background:#fff;color:#203b4e;border:1px solid #c7d4de;box-shadow:none;padding:14px;font-size:14px}.microsoft-symbol{display:grid;grid-template-columns:repeat(2,9px);gap:2px;flex-shrink:0}.microsoft-symbol i{width:9px;height:9px;background:#f35325}.microsoft-symbol i:nth-child(2){background:#81bc06}.microsoft-symbol i:nth-child(3){background:#05a6f0}.microsoft-symbol i:nth-child(4){background:#ffba08}.local-login{font-size:12px;margin-top:24px;padding-top:18px;border-top:1px solid #e0e9ef}.local-login summary{cursor:pointer;color:#658091}.local-login form{margin-top:15px}

/* A readable behaviour report: first the three takeaways, then the evidence. */
.profile-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 28px}
.profile-overview-group{border:1px solid #dce6eb;border-top:3px solid #89a7b8;border-radius:8px;padding:16px;background:#fff}
.profile-overview-group.profile-support{border-top-color:#449481;background:#f5fbf8}
.profile-overview-group.profile-discuss{border-top-color:#c69a4b;background:#fffaf2}
.profile-overview-group h3{margin:0 0 6px;font-size:16px}.profile-overview-group p{line-height:1.5;margin:6px 0 12px}
.profile-overview-group ul{padding-left:18px;margin:0}.profile-overview-group li{margin:7px 0;font-size:13px;line-height:1.45}
.profile-overview-group a{color:#183d50;text-decoration:underline;text-underline-offset:3px}
.profile-reading-title{font-size:17px;margin-bottom:12px}.profile-plain-axes{display:grid;gap:10px}
.profile-plain-axes .profile-axis{scroll-margin-top:80px;padding:15px 18px;border-top-width:1px;border-left:4px solid #89a7b8}
.profile-plain-axes .profile-support{border-left-color:#449481}.profile-plain-axes .profile-discuss{border-left-color:#c69a4b}
.report-pane .profile-plain-axes .profile-axis>p{font-size:14px;line-height:1.6;margin:8px 0 10px}
.profile-plain-axes .profile-axis-heading h3{font-size:15px}.profile-plain-axes .profile-signal{font-size:11px}
.profile-plain-axes details summary{cursor:pointer;font-size:12px}.profile-evidence{font-size:13px;line-height:1.6;background:#f5f8fa;padding:12px 15px;border-radius:6px;margin-top:12px}
.behaviour-profile .profile-notice{margin:12px 0 18px;line-height:1.6}.profile-procedure details{font-size:12px}
@media(max-width:850px){.profile-overview{grid-template-columns:1fr}.profile-axis-heading{flex-wrap:wrap}}
.profile-overview-group button.ghost{padding:0;text-align:left;font-size:13px;line-height:1.45;color:#183d50;text-decoration:underline;text-underline-offset:3px}
.bulk-dialog{width:min(1000px,calc(100vw - 40px));max-height:90vh;padding:28px;border:1px solid #d8e4ec;border-radius:14px;overflow:auto;color:#18384a}.bulk-dialog::backdrop{background:#102d42a8}.bulk-dialog h2{margin:0}.bulk-dialog h3{margin-top:25px}.bulk-dialog textarea{min-height:140px;width:100%;font-family:monospace;font-size:13px}.bulk-dialog label{margin:12px 0}.bulk-settings{background:#f2f6f9;padding:13px 16px;border-radius:8px;margin:18px 0}.bulk-settings summary,.bulk-email summary{cursor:pointer;font-weight:600}.bulk-settings form{display:flex;gap:12px;align-items:flex-end}.bulk-settings form label{flex:1}.bulk-settings form button{margin-bottom:12px}.bulk-input-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.bulk-upload{font-size:12px;display:flex;flex-direction:row;align-items:center;gap:10px}.bulk-upload input{font-size:12px;width:200px}.bulk-table-wrap{overflow:auto;max-height:290px;border:1px solid #dee7ed;border-radius:8px;margin:14px 0}.bulk-email{background:#f7f9fb;border:1px solid #dee7ed;border-radius:8px;padding:14px}.bulk-email pre{white-space:pre-wrap;font:14px/1.65 inherit;max-width:720px}.bulk-dialog .bulk-send-choice{display:flex;gap:10px;align-items:center;font-weight:600}.bulk-send-choice input{width:auto}.bulk-dialog #bulkError:empty{display:none}.bulk-dialog td{font-size:12px}.bulk-dialog .notice{font-size:12px}@media(max-width:700px){.bulk-dialog{padding:18px}.bulk-settings form{display:block}.bulk-input-heading{display:block}}
dialog.bulk-dialog{max-width:min(1000px,calc(100vw - 40px))}.bulk-email pre{font-family:inherit;font-size:14px;line-height:1.65}.bulk-dialog [hidden]{display:none!important}
/* Bulk invitations use a compact two-column wizard with a fixed action bar. */
dialog.bulk-wizard{width:min(1120px,calc(100vw - 48px));max-width:min(1120px,calc(100vw - 48px));height:min(820px,90vh);max-height:90vh;padding:0;overflow:hidden;flex-direction:column;box-shadow:0 24px 100px #102d4240}
dialog.bulk-wizard[open]{display:flex}.bulk-wizard .bulk-header{height:auto;min-height:82px;margin:0;padding:20px 26px;border:0;background:#102f43;color:white;display:flex;justify-content:flex-start;gap:14px;flex-shrink:0}.bulk-header .bulk-brand{width:42px;height:42px;border:1px solid #7392a6;border-radius:7px;display:grid;place-items:center;font-weight:750}.bulk-header p{font-size:9px;letter-spacing:1.8px;margin:0 0 3px;color:#a3c3d7}.bulk-wizard .bulk-header h2{color:white;font-size:22px;line-height:1.25}.bulk-dismiss{margin-left:auto;color:#c6d8e5;background:none;border:0;padding:7px;font-size:17px}.bulk-context{display:flex;align-items:center;gap:16px;padding:10px 26px;background:#f2f6f8;border-bottom:1px solid #e2eaf0;font-size:11px;flex-shrink:0}.bulk-context button{margin-left:auto;font-size:11px;padding:3px}.bulk-context .bulk-ready{color:#237661}.bulk-context .bulk-pending{color:#896a30}.bulk-wizard .bulk-settings{margin:0;padding:8px 26px;border-radius:0;flex-shrink:0}.bulk-wizard .bulk-settings form label{margin:5px 0}.bulk-wizard .bulk-settings input{height:36px;font-size:12px}.bulk-wizard .bulk-settings button{margin:0 0 5px;padding:8px 12px;font-size:12px}.bulk-steps{list-style:none;display:flex;gap:30px;margin:0;padding:16px 26px;border-bottom:1px solid #e2eaf0;flex-shrink:0}.bulk-steps li{display:flex;align-items:center;gap:8px;font-size:12px;color:#8595a0}.bulk-steps li>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eff3f6;border:1px solid #dde6ed;font-size:11px}.bulk-steps li.active{font-weight:650;color:#153d54}.bulk-steps li.active>span{background:#1b6f92;border-color:#1b6f92;color:white}.bulk-steps li.complete{color:#36836d}.bulk-steps li.complete>span{background:#eaf7f1;color:#36836d;border-color:#cae8dd}.bulk-body{display:grid;grid-template-columns:1.15fr 1fr;flex:1;min-height:0;overflow:hidden}.bulk-main{padding:24px 26px;min-width:0;overflow:auto}.bulk-wizard label{margin:15px 0 8px;font-size:12px;font-weight:600}.bulk-wizard select{height:44px;font-size:14px}.bulk-section-title h3,.bulk-wizard .bulk-section-title h3{font-size:19px;line-height:1.3;margin:0 0 7px}.bulk-section-title p{font-size:12px;line-height:1.6;color:#6c7e8b;margin:0 0 20px}.bulk-list-label{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}.bulk-list-label label{margin:8px 0}.bulk-file-button{position:relative;overflow:hidden;display:block;cursor:pointer;background:#eff6fa;border:1px solid #d1e3ee;border-radius:6px;color:#226a8b;font-size:11px!important;padding:7px 10px}.bulk-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.bulk-wizard textarea{height:145px;min-height:120px;font-size:12px;line-height:1.7;padding:13px;border-radius:8px;resize:vertical}.bulk-list-help{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-top:8px}.bulk-list-help p{font-size:10px;line-height:1.6;color:#6c7e8b;margin:0}.bulk-list-help strong{font-weight:500;color:#3c5768}.bulk-list-help button{font-size:10px;white-space:nowrap;padding:0}.bulk-limit{font-size:10px;color:#7c8f9e;margin-top:20px}.bulk-mail{border-left:1px solid #dde6ed;background:#f6f8fa;display:flex;flex-direction:column;padding:22px;min-width:0;min-height:0}.bulk-mail-heading{display:flex;align-items:center;gap:10px;flex-shrink:0}.bulk-mail-icon{width:34px;height:34px;border-radius:8px;background:#e4eef5;display:grid;place-items:center;font-size:19px;color:#447b97}.bulk-mail-heading h3{font-size:14px;margin:0!important}.bulk-mail-heading p{font-size:10px;color:#7a8f9e;margin:3px 0}.bulk-mail-subject{font-size:11px;color:#446176;border-bottom:1px solid #dee6ec;padding-bottom:13px;margin:12px 0;flex-shrink:0}.bulk-mail-content{background:white;border:1px solid #e0e7ec;border-radius:8px;padding:20px;overflow:auto;min-height:0;font-size:12px;line-height:1.65;flex:1}.bulk-mail-content h2{font-size:14px!important;letter-spacing:.4px}.bulk-mail-content p{font-size:12px;line-height:1.7;margin:0 0 15px}.bulk-mail-content a{font-size:11px}.bulk-email-cta{display:inline-block;background:#176d92;color:white;padding:9px 13px;border-radius:5px;font-size:11px;margin:4px 0 20px}.bulk-wizard .bulk-footer{margin:0;padding:15px 26px;border:0;border-top:1px solid #dde6ed;background:white;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-shrink:0}.bulk-footer p{font-size:10px;color:#7c8e9b;max-width:42%;margin:0}.bulk-footer button{font-size:12px;padding:10px 16px}.bulk-alert{margin:0;padding:10px 26px;font-size:12px;flex-shrink:0}.bulk-alert:empty{display:none}.bulk-wizard .bulk-table-wrap{max-height:240px;margin:15px 0;border-color:#e1e7ec}.bulk-wizard .student-table th{font-size:10px;padding:10px;background:#f4f7f9;letter-spacing:.2px}.bulk-wizard .student-table td{font-size:11px;padding:12px 10px}.bulk-wizard .bulk-send-choice{margin-top:20px;gap:10px;align-items:flex-start}.bulk-send-choice input{margin-top:4px;accent-color:#176d92}.bulk-send-choice strong{font-size:12px;display:block}.bulk-send-choice small{display:block;color:#7a8f9e;font-size:10px;margin-top:2px;font-weight:400}.bulk-send-notice{background:#eff5f8;border-left:3px solid #7ba2b7;padding:12px;font-size:11px;color:#426276;border-radius:4px;line-height:1.7}.bulk-duplicate-help{font-size:10px;line-height:1.65;color:#7b8c99}.bulk-validation-error{background:#fff3f1;color:#9d4e46;padding:12px;font-size:11px;border-radius:6px}.bulk-validation-error ul{margin:6px 0;padding-left:16px}.bulk-success-mark{width:38px;height:38px;display:grid;place-items:center;background:#e7f6ed;color:#278366;border-radius:50%;margin-bottom:14px;font-size:21px}.bulk-delivery{font-size:10px;background:#f1f5f8;color:#6b8291;border-radius:4px;padding:4px 6px}.bulk-delivery.bulk-sent{background:#eaf7f0;color:#278366}.bulk-delivery.bulk-failed,.bulk-delivery.bulk-unknown{background:#fff1e0;color:#986e35}
@media(max-width:800px){dialog.bulk-wizard{width:calc(100vw - 24px);max-width:calc(100vw - 24px);height:94vh;max-height:94vh}.bulk-body{grid-template-columns:1fr;overflow:auto;display:block}.bulk-main{overflow:visible;padding:18px}.bulk-mail{border-left:0;border-top:1px solid #dde6ed;max-height:380px;padding:18px}.bulk-header{padding:16px!important}.bulk-context{padding:8px 16px;gap:10px;flex-wrap:wrap}.bulk-steps{padding:12px 16px;gap:13px}.bulk-steps li{font-size:10px;gap:5px}.bulk-wizard .bulk-footer{padding:12px 16px}.bulk-footer p{display:none}.bulk-footer .actions{margin-left:auto}.bulk-list-help{flex-wrap:wrap}.bulk-mail-content{max-height:260px}}
.bulk-wizard .bulk-header{min-height:64px;padding:12px 26px}.bulk-wizard .bulk-context{padding:6px 26px;min-height:34px}.bulk-wizard .bulk-context button{min-height:0;height:24px;line-height:1.2;padding:3px 0}.bulk-wizard .bulk-steps{padding:10px 26px}.bulk-wizard .bulk-footer{min-height:64px;padding:12px 26px}.bulk-wizard .bulk-footer .actions{min-height:0;margin:0}.bulk-wizard .bulk-footer button{height:38px;min-height:0;line-height:1.2;padding:10px 16px}.bulk-wizard textarea{height:120px}.bulk-wizard .bulk-main{padding-top:20px}.bulk-section-title p{margin-bottom:14px}

.header-account{display:flex;align-items:center;gap:16px}.sidebar .account-panel{display:flex;flex-direction:column;align-items:stretch;gap:12px}.account-identity{display:flex;align-items:center;gap:10px;min-width:0}.account-identity>div{min-width:0}.account-identity strong{display:block;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.account-identity span{font-size:11px}.account-avatar{display:grid;place-items:center;background:#ffffff18;border-radius:50%;width:36px;height:36px;flex-shrink:0}.account-logout{background:transparent;border:1px solid #ffffff30;color:#e4eef4;font-size:12px;padding:9px 12px;text-align:left}.account-logout:hover{background:#ffffff18;color:white}.account-panel #logoutError{color:#ffd1ca;font-size:12px}.account-panel #logoutError:empty{display:none}@media(max-width:760px){.sidebar .account-panel{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;margin-top:15px;padding-top:15px}.account-logout{min-width:140px}}

.bulk-entry-wrap{overflow:auto;max-height:340px;border:1px solid var(--border);border-radius:10px;margin-top:12px}.bulk-entry-table{width:100%;border-collapse:collapse;font-size:12px;min-width:510px}.bulk-entry-table thead{position:sticky;top:0;z-index:1;background:#f1f6f8}.bulk-entry-table th{padding:10px 8px;text-align:left;color:#3b5665;font-weight:600}.bulk-entry-table th small{display:block;font-weight:400;color:#748694}.bulk-entry-table td{padding:6px;border-top:1px solid var(--border)}.bulk-entry-table input{width:100%;min-width:110px;padding:9px 8px;font-size:12px;margin:0;border-radius:6px}.bulk-entry-table td:nth-child(2){width:38%}.bulk-entry-table td:last-child{width:30px}.bulk-remove-row{font-size:20px;padding:2px 7px;color:#8595a0}.bulk-remove-row:hover{background:#fce8e8;color:#b42318}.bulk-list-label>span{font-size:13px;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.login .workspace{min-height:100vh;display:flex;flex-direction:column}.login .workspace>header{min-height:64px}.login .header-inner{min-height:64px;max-width:1120px}.login .workspace>header .badge{display:none}.login .brand-name{font-size:16px}.login .iaf-monogram{width:40px;height:40px;font-size:22px}.login .page-content{flex:1;width:100%;display:grid;place-items:center;padding:40px 20px;max-width:none}.login .login-card{width:100%;max-width:460px;margin:0;padding:36px;border-radius:12px;border:1px solid #dde6eb;box-shadow:0 8px 30px #12344808}.login-card .eyebrow{font-size:10px;letter-spacing:1.5px;margin:0 0 12px}.login-card h1{font-size:26px;line-height:1.3;letter-spacing:-.8px;margin:0 0 16px}.login-card .login-description{font-size:14px;color:#617889;line-height:1.6;margin:0 0 28px}.login-card #authOptions{font-size:13px}.login-card .microsoft-button{font-size:14px;min-height:48px;padding:12px;border-radius:7px}.login-card .microsoft-button:hover{background:#f1f6f9;color:#173446;border-color:#91adbd}.login .foot{width:100%;max-width:1120px;margin:0 auto;padding:18px 24px;font-size:11px;border:0}@media(max-width:600px){.login .workspace>header{padding:0 20px}.login .brand-name{font-size:13px}.login .login-card{padding:26px}.login-card h1{font-size:24px}.login .foot{justify-content:center}.login .foot>span:last-child{display:none}}

.student-contact{overflow-wrap:anywhere}.student-table th[scope="row"]>strong{display:block}.student-table th[scope="row"] .muted{font-weight:400}
