/* Palette commune aux espaces enseignants, sans modifier les espaces publics. */
body[data-teacher-area]{--monitor-blue:#075da8;--monitor-green:#087d73;--monitor-orange:#df751e;--monitor-muted:#4b637c;--monitor-line:#bdd8ea}
body[data-teacher-area] .monitor-header{border-bottom:3px solid #11a8a0;background:#fff;box-shadow:0 3px 18px #075da810}
body[data-teacher-area] .teacher-area-nav{background:#e7f4fb;border-color:#b9d8ed;box-shadow:none}
body[data-teacher-area] .teacher-area-nav a{color:#234b6a}
body[data-teacher-area] .teacher-area-nav a:hover{background:#fff;color:#075da8}
body[data-teacher-area] .teacher-area-nav a.is-active{background:#075da8;color:#fff}
body[data-teacher-area] .teacher-area-nav a.moto-nav-link:not(.is-active){background:#ffda84;color:#4d340d}
body[data-teacher-area] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #df751e;outline-offset:3px}
body[data-teacher-area] .teacher-login-card{border:1px solid #bbd9e8;border-top:6px solid #0b9a91;background:linear-gradient(155deg,#fff 65%,#e4f8f3);box-shadow:0 18px 46px #075da81c}
body[data-teacher-area] .teacher-login-submit{background:#075da8;min-height:48px;font-size:15px;border-radius:12px}
body[data-teacher-area] .teacher-login-submit:hover{background:#064a85}
body[data-teacher-area] .teacher-login-form label{font-size:14px}
body[data-teacher-area] .teacher-demo-submit{background:#e1f5f0;border-color:#9bcfc3;color:#07665d;font-size:14px;border-radius:12px}
body[data-teacher-area] .teacher-login-security{background:#e9f6fb;color:#36576c;font-size:14px}
/* Accueil : une couleur franche pour chaque action. */
.teacher-home-final-page{background:#edf7fc}
.teacher-home-final{background:linear-gradient(140deg,#e4f3ff,#f2fbff 48%,#e4f7f0)}
.teacher-home-final-header{background:linear-gradient(115deg,#075da8,#087d83);border:0;border-radius:20px;margin:0;padding:22px 26px;box-shadow:0 9px 25px #075da820}
.teacher-home-final-welcome h1{color:#fff;font-size:clamp(28px,4vw,38px);letter-spacing:-.025em}
.teacher-home-final-header .teacher-home-final-kicker{color:#d8efff;font-size:14px;letter-spacing:.04em}
.teacher-home-final-stat{margin-top:4px;background:#fff;color:#08675e;border:0;padding:10px 14px;font-size:14px;border-radius:12px}
.teacher-home-final-success{border:2px solid #eba43e;background:linear-gradient(140deg,#fff8df,#ffe8a8);box-shadow:0 12px 28px #c8881320}
.teacher-home-final-success-star{color:#e99518;text-shadow:0 4px 0 #fff;opacity:.65}
.teacher-home-final-success-copy .teacher-home-final-kicker{color:#805012;font-size:14px;letter-spacing:.03em;max-width:75%}
.teacher-home-final-success-copy p{font-size:16px;color:#584d36;max-width:440px}
.teacher-home-final-success-footer{color:#715327;font-size:14px;letter-spacing:0;flex-wrap:wrap}
.teacher-home-final-success-footer b{color:#805012}
.teacher-home-final-urgent{border:2px solid #077769;background:#087d73;box-shadow:0 9px 24px #087d7320}
.teacher-home-final-urgent:hover{background:#06685f}
.teacher-home-final-urgent small{font-size:14px;color:#e1fff7}
.teacher-home-final-urgent>b{font-size:14px;letter-spacing:0}
.teacher-home-final-exams{border:2px solid #08538f;background:#075da8;color:#fff;box-shadow:0 9px 24px #075da820}
.teacher-home-final-exams:hover{background:#064e8d}
.teacher-home-final-exams-icon{background:#e7f5ff;box-shadow:none}
.teacher-home-final-exams strong{font-size:17px}
.teacher-home-final-exams small{color:#e0efff;font-size:14px}
.teacher-home-final-exams b{color:#fff;font-size:14px}
.teacher-home-final-harmobil{border:2px solid #e69742;background:#ffcb79;color:#51320c;box-shadow:0 9px 24px #df751e15}
.teacher-home-final-harmobil:hover{background:#ffc164}
.teacher-home-final-harmobil strong{font-size:16px;letter-spacing:0;text-transform:none}
.teacher-home-final-harmobil small,.teacher-home-final-harmobil>b{font-size:14px}
.teacher-home-final-footer{background:#ffffffd9;border-top:1px solid #bdd8ea}
.teacher-home-final-footer-note{color:#4b637c;font-size:14px}
.teacher-home-final-version{color:#4b637c;font-size:12px;letter-spacing:0}
/* Examen : carte neutre, zones de commandes identifiables. */
body.exam-page[data-teacher-area],.exam-page .exam-app{background:#eaf5fb;color:#173852}
.exam-page .exam-heading h1,.exam-page .exam-eyebrow{color:#075da8}
.exam-page .exam-private{background:#d4f2ea;color:#08675e;font-size:14px}
.exam-page .exam-console-tabs{background:#cfe6f5;border:1px solid #b0d0e5}
.exam-page .exam-console-tabs button[aria-selected=true]{background:#075da8;color:#fff;box-shadow:0 4px 12px #075da820}
.exam-page .exam-card[data-exam-panel]{border:2px solid #b6d6ea;background:#fff;box-shadow:0 8px 24px #075da810}
.exam-page .exam-controls [data-exam-start],.exam-page .exam-save{background:#075da8;color:#fff;border-color:#075da8}
.exam-page .exam-local-map,.exam-page .exam-app[data-session=live] [data-exam-live-map-host] .exam-local-map{background:#f2f8fc;border-color:#b4d6e8}
.exam-page .exam-path-map{border-color:#8dbbd5}
.exam-page .exam-path-help,.exam-page .exam-app[data-session=live] [data-exam-live-map-host] .exam-path-help{color:#315c78}
.exam-page .exam-local-map [data-exam-map-orientation]{border-color:#9dbfd5;color:#075da8;background:#fff}
.exam-page .exam-live-manoeuvres{background:#e7f7f1;border-color:#9ecfc1}
.exam-page .exam-live-manoeuvres h3{color:#08675e}
.exam-page .exam-live-manoeuvres button{background:#fff;border:2px solid #82beaf;color:#08675e}
.exam-page .exam-live-manoeuvres button:active{background:#ceeae0}
.exam-page .exam-simple-note{background:#fff3de;border-color:#e6bd81}
.exam-page .exam-simple-note h3{color:#805012}
.exam-page .exam-simple-buttons button{background:#fff;border:2px solid #ddb375;color:#805012}
.exam-page .exam-simple-buttons button:active{background:#ffe6b9}
.exam-page .exam-inspector-appreciation{background:#e8f3fc;border-color:#98bddb;color:#234e72}
.exam-page .exam-flow-next{background:#edf5fb;border-color:#b4d6e8}
.exam-page .exam-flow-next button{background:#075da8;color:#fff;border-color:#075da8}
.exam-page .exam-review-notes{border-color:#a8cddf;background:#f5fbff}
.exam-page .exam-review-notes h3{color:#075da8}
.exam-page .exam-review-notes li{border-bottom-color:#dbeaf2}
@media(max-width:620px){.teacher-home-final-header{margin:0;padding:18px}.teacher-home-final-welcome h1{font-size:28px}.teacher-home-final-exams,.teacher-home-final-harmobil,.teacher-home-final-urgent{flex-wrap:wrap}.teacher-home-final-cockpit a>span:nth-child(2){min-width:0;flex-basis:55%}.teacher-home-final-exams b,.teacher-home-final-harmobil>b,.teacher-home-final-urgent>b{margin-left:auto}.teacher-home-final-success-copy .teacher-home-final-kicker{max-width:70%}}
@media(prefers-reduced-motion:reduce){body[data-teacher-area] *,body[data-teacher-area] *:before,body[data-teacher-area] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Commandes hors ligne : secondaires et compactes, cibles tactiles conservées. */
body[data-teacher-area] .teacher-offline-panel{margin:12px auto;padding:12px 16px;border-radius:12px;background:#f0f8fc;border-color:#c4dce9;box-shadow:none}
body[data-teacher-area] .teacher-offline-panel h2{font-size:16px;margin:0 0 6px}
body[data-teacher-area] .teacher-offline-panel p{font-size:14px;line-height:1.45;margin:6px 0 10px}
body[data-teacher-area] .teacher-offline-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}
body[data-teacher-area] .teacher-offline-panel button{display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;width:auto;max-width:100%;height:auto;min-height:44px;padding:8px 12px;border:1px solid #94bed7;border-radius:9px;background:#fff;color:#075da8;font:700 14px/1.3 'DM Sans',sans-serif;letter-spacing:0;text-transform:none;text-align:center;box-shadow:none;white-space:normal}
body[data-teacher-area] .teacher-offline-panel button:hover:not(:disabled){background:#e1f1fa;border-color:#075da8}
body[data-teacher-area] .teacher-offline-panel [data-offline-status]{margin:9px 0 0;color:#4b637c}
/* Retour d’action et sauvegarde visibles dans la console d’examen. */
.exam-page .exam-flow-next{flex-wrap:wrap}
.exam-page .exam-flow-next [data-exam-undo]{background:#fff;color:#075da8;border:1px solid #96bdd7;min-height:48px}
.exam-page .exam-flow-next [data-exam-undo]:disabled{opacity:.5;cursor:not-allowed}
.exam-page .exam-flow-next [data-exam-save-state]{flex-basis:100%;margin:0;padding:6px 10px;border-radius:8px;background:#e2eff8;color:#234e72;font-size:14px;font-weight:700}
/* Télécommande : faits en direct, trajet facultatif au bilan. */
.exam-page [data-exam-live-map-host]{display:none}
.exam-page .exam-remote,.exam-page .exam-remote-back{display:none}
.exam-page .exam-app[data-session=setup] .exam-live-manoeuvres,.exam-page .exam-app[data-session=setup] .exam-simple-note,.exam-page .exam-app[data-session=setup] .exam-quick-note,.exam-page .exam-app[data-session=setup] .exam-extra-buttons{display:none}
.exam-page .exam-app[data-session=live] .exam-card[data-exam-panel=control]{display:flex;flex-direction:column;gap:12px}
.exam-page .exam-app[data-session=live] .exam-remote{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}
.exam-page .exam-remote button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:140px;padding:18px;border:2px solid #83b6d4;border-radius:18px;background:#e7f3ff;color:#075da8;font-size:32px;cursor:pointer;touch-action:manipulation}
.exam-page .exam-remote button strong{font-size:20px;line-height:1.25}
.exam-page .exam-remote [data-remote-panel=manoeuvre]{background:#dff5eb;color:#08675e;border-color:#88c6ad}
.exam-page .exam-remote [data-remote-panel=difficulty]{background:#fff0d6;color:#805012;border-color:#dfb57b}
.exam-page .exam-app[data-session=live] .exam-live-manoeuvres,.exam-page .exam-app[data-session=live] .exam-simple-note{display:none;width:100%}
.exam-page .exam-app[data-session=live][data-remote-panel=manoeuvre] .exam-live-manoeuvres,.exam-page .exam-app[data-session=live][data-remote-panel=difficulty] .exam-simple-note{display:block}
.exam-page .exam-app[data-session=live][data-remote-panel=manoeuvre] .exam-remote,.exam-page .exam-app[data-session=live][data-remote-panel=difficulty] .exam-remote{display:none}
.exam-page .exam-app[data-session=live][data-remote-panel=manoeuvre] .exam-remote-back,.exam-page .exam-app[data-session=live][data-remote-panel=difficulty] .exam-remote-back{display:block;min-height:48px;padding:10px 16px;border:1px solid #83b6d4;border-radius:10px;background:#fff;color:#075da8;font-size:16px;cursor:pointer}
.exam-page .exam-app[data-session=live] .exam-flow-next{width:100%;position:sticky;bottom:0}
@media(max-width:550px){.exam-page .exam-remote button{min-height:112px;padding:12px}.exam-page .exam-remote button strong{font-size:17px}}
.exam-running-status{display:none;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:8px 12px;border-radius:10px;background:#edf5fb;color:#234e72}
.exam-app[data-session=live] .exam-running-status{display:flex}
.exam-running-status strong{font:800 26px/1.2 'DM Sans',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.exam-running-status span{font-size:15px;font-weight:700}
.exam-page [data-exam-resume]{min-height:44px;padding:8px 12px;border:1px solid #a8c5d8;border-radius:9px;background:#fff;color:#315c78;font-size:14px;cursor:pointer}
.exam-page [data-exam-resume]:disabled{display:none}
.exam-page .exam-remote button:active{transform:scale(.98);filter:brightness(.96)}
.exam-note-places{display:grid;gap:10px;margin:16px 0}
.exam-note-places label{padding:12px;border:1px solid #bed7e6;border-radius:10px;background:#f4faff}
.exam-map-optional{margin:14px 0;border:1px solid #bed7e6;border-radius:12px;padding:12px;background:#f7fbff}
.exam-map-optional>summary{font-size:16px;font-weight:700;color:#075da8;cursor:pointer;min-height:40px}
.exam-story{display:none;width:100%;padding:14px;border:1px solid #b2cfe2;border-radius:14px;background:#f2f8fc}
.exam-app[data-session=live][data-remote-panel=story] .exam-story{display:block}
.exam-page .exam-app[data-session=live][data-remote-panel=story] .exam-remote{display:none}
.exam-page .exam-app[data-session=live][data-remote-panel=story] .exam-remote-back{display:block;min-height:48px;padding:10px 16px;border:1px solid #83b6d4;border-radius:10px;background:#fff;color:#075da8;font-size:16px}
.exam-story h3{margin:0 0 12px;font-size:20px;color:#234e72}
.exam-story-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.exam-story-choices button,.exam-story form button{min-height:64px;padding:12px;border:1px solid #83b6d4;border-radius:12px;background:#fff;color:#234e72;font:700 17px/1.25 'DM Sans',sans-serif;cursor:pointer;touch-action:manipulation}
.exam-story form{margin-top:14px}
.exam-story form button{min-height:44px;font-size:15px}
.exam-page .exam-remote [data-story-open=route]{background:#e3f3fb;color:#075da8}
.exam-page .exam-remote [data-story-open=facts]{background:#def5eb;color:#08675e}
@media(max-width:550px){.exam-story-choices button{font-size:15px;min-height:60px}}

.exam-app [data-moto-setup][hidden]{display:none!important}
.exam-app[data-moto-phase="plateau"] .exam-route-environments,.exam-app[data-moto-phase="plateau"] .exam-route-result,.exam-app[data-moto-phase="plateau"] [data-exam-map-details]{display:none!important}

.exam-app[data-permit="moto"] .exam-verification-result,.exam-app[data-permit="moto"] .exam-verification-note{display:none!important}
