/* Espace enseignant : navigation tactile, repères par usage. */
.teacher-ui{--accent:#087d79;--accent-dark:#075a58;--accent-soft:#e8f7f4;--ink:#26354a;background:#f5f7fb;color:var(--ink);font-size:16px;line-height:1.5}
.teacher-ui.teacher-lists{--accent:#a35b08;--accent-dark:#824500;--accent-soft:#fff4db}
.teacher-ui.teacher-evaluations{--accent:#7054b3;--accent-dark:#59408d;--accent-soft:#f2edfc}
.teacher-ui *, .teacher-login *{box-sizing:border-box}
.teacher-ui>header{background:#fff;color:var(--ink);padding:22px max(24px,calc((100vw - 1200px)/2));border-bottom:1px solid #e0e6ef;box-shadow:0 4px 22px #243a5310}
.teacher-brand{display:flex!important;align-items:center!important;gap:16px!important;flex-wrap:wrap}
.teacher-brand-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#263d5d;color:white;opacity:1;font-size:1rem;flex:none}
.teacher-brand-icon svg{width:32px;height:32px}
.teacher-brand-name{display:grid!important;gap:1px!important;align-items:start!important}
.teacher-brand-name b{font-size:1.45rem;letter-spacing:-.03em}.teacher-brand-name>span{font-size:.85rem;opacity:1;color:#5a687c}
.teacher-brand-name small{font-size:.7rem;margin-left:12px;color:#687487}
.teacher-account{margin-left:auto;display:flex!important;align-items:center!important;gap:9px!important}
.teacher-account>div{display:grid!important;gap:0!important}.teacher-account small{color:#697589;font-size:.75rem}.teacher-account strong{font-size:.9rem}
.teacher-account-dot{width:10px;height:10px;border-radius:50%;background:#339a83;opacity:1}
.teacher-main-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 0!important;align-items:stretch}
.teacher-nav-tile{--tile:#e8f7f4;--tone:#076a65;display:flex;align-items:center;gap:14px;min-height:108px;padding:18px;border-radius:19px;background:var(--tile);color:var(--tone);border:2px solid transparent;box-shadow:0 3px 0 #1d293906;text-decoration:none;transition:transform .15s,box-shadow .15s;touch-action:manipulation}
.teacher-nav-tile.tone-amber{--tile:#fff3d9;--tone:#855000}.teacher-nav-tile.tone-violet{--tile:#f0eafa;--tone:#63439d}.teacher-nav-tile.tone-rose{--tile:#f9edf0;--tone:#974e60}
.teacher-nav-tile.active{border-color:var(--tone);box-shadow:0 4px 0 color-mix(in srgb,var(--tone) 18%,transparent)}
.teacher-nav-icon{display:grid;place-items:center;width:48px;height:48px;background:#ffffffa6;border-radius:14px;opacity:1;flex:none}
.teacher-nav-icon svg{width:32px;height:32px}
.teacher-nav-text{display:grid;gap:3px;opacity:1;font-size:1rem;min-width:0;color:inherit}
.teacher-nav-text strong{font-size:1.2rem;line-height:1.2}.teacher-nav-text small{font-size:.77rem;line-height:1.3}
.teacher-ui>main{max-width:1240px;margin:34px auto;padding:0 24px 40px}
.teacher-ui h1{font-size:clamp(1.6rem,2.6vw,2.15rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 8px}
.teacher-ui h2{font-size:1.4rem;letter-spacing:-.02em}.teacher-ui .top{gap:20px;flex-wrap:wrap;margin-bottom:24px}.teacher-ui .top p{margin:0}
.teacher-ui .muted{color:#657187}.teacher-ui .top>.actions{margin:0}
.teacher-ui .card,.teacher-ui .sheet{border-radius:20px;border-color:#e1e6ee;box-shadow:0 4px 18px #29426506}
.teacher-ui:not(.individual-eval-page) :where(button:not(.tactile-status,.tactile-pupil-trigger,.tactile-close,.eval-row-reset),.button,.photo-capture-button){min-height:54px;padding:13px 20px;border-radius:13px;font:inherit;font-weight:650;line-height:1.3;display:inline-flex;align-items:center;justify-content:center;gap:8px;touch-action:manipulation;text-align:center}
.teacher-ui:not(.individual-eval-page) :where(.button:not(.secondary,.danger,.orange,.green,.blue),button:not([class])){background:var(--accent-dark)}
.teacher-ui .button.secondary,.teacher-ui button.secondary{background:#edf1f6;color:#43546a;border:1px solid #dbe2eb}
.teacher-ui .button.danger,.teacher-ui button.danger{background:#9b1c1c;color:#fff}
.teacher-ui .actions{gap:12px}.teacher-ui .actions>form{margin:0;max-width:100%}
.teacher-ui :where(input[type=text],input[type=search],input[type=date],input[type=email],input[type=number],input[type=password],select,textarea){min-height:50px;max-width:100%;border-radius:11px;padding:11px 13px;font:inherit;border:1px solid #cbd6e2;background:#fff;color:#26354a}
.teacher-ui:not(.individual-eval-page) :where(select){white-space:normal;min-width:0}
.teacher-ui .flash{border-radius:14px;padding:16px 20px}.teacher-ui .note{border-radius:14px;line-height:1.6;padding:16px 20px}
.teacher-ui :is(a,button,input,select,textarea,summary):focus-visible,.teacher-login :is(a,button,input):focus-visible{outline:3px solid #e99b13;outline-offset:4px}
.teacher-ui a,.teacher-ui button,.teacher-ui summary{touch-action:manipulation}
.teacher-ui .student-class-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}
.teacher-ui .student-class-card{min-height:190px;border-radius:22px;padding:25px;gap:9px;border:1px solid #cce6e1;background:#ebf7f4;box-shadow:0 4px 0 #c4e3db}
.teacher-ui .student-class-card:nth-child(3n+2){background:#eef0fc;border-color:#d5dcf6;box-shadow:0 4px 0 #d9dff4}
.teacher-ui .student-class-card:nth-child(3n){background:#fff5e6;border-color:#f3dfbf;box-shadow:0 4px 0 #eedebe}
.teacher-ui .student-class-card strong{font-size:1.3rem;color:#26354a}.teacher-ui .student-class-card small{font-size:.88rem;color:#526678}
.teacher-ui .student-class-card .class-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#ffffffb0;font-size:1.8rem}
.teacher-ui .student-filter-bar{border-radius:18px;gap:16px;padding:20px}.teacher-ui .student-filter-bar label{font-size:.88rem}
.teacher-student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.teacher-student-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px 18px;border-radius:22px;background:#fff;border:1px solid #dce6ed;text-decoration:none;color:#26354a;box-shadow:0 5px 0 #e0ece9;min-width:0;text-align:center;transition:transform .15s}
.teacher-student-portrait{display:grid;place-items:center;width:106px;height:106px;border-radius:50%;background:#eaf6f2;box-shadow:0 0 0 5px #f5faf8;color:#367b73;font-size:1.8rem;font-weight:750;margin-bottom:8px;overflow:hidden}
.teacher-student-portrait img{width:100%;height:100%;object-fit:cover}.teacher-student-card>strong{font-size:1.13rem;line-height:1.4}.teacher-student-card>strong>span{display:block}
.teacher-student-level{font-size:.83rem;color:#4a6d69}.teacher-student-card>small{font-size:.75rem;color:#697588}
.teacher-student-open{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:auto;padding-top:12px;font-size:.85rem;font-weight:700;color:#076a65}.teacher-student-open svg{width:22px;height:22px}
.teacher-class-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.teacher-document-class{display:flex;align-items:center;gap:18px;padding:24px;min-height:150px;background:#fff6e6;border:1px solid #f0dcb8;border-radius:22px;box-shadow:0 4px 0 #ebd8b5;text-decoration:none;color:#3d3324;transition:transform .15s}
.teacher-card-icon{display:grid;place-items:center;flex:none;width:58px;height:64px;border-radius:15px;background:#fff;color:#9b610e}.teacher-card-icon svg{width:34px;height:34px}
.teacher-document-class>div{display:grid;gap:5px;min-width:0}.teacher-document-class strong{font-size:1.3rem}.teacher-document-class small{color:#78644a;font-size:.8rem}.teacher-card-arrow{margin-left:auto;color:#926019;flex:none}.teacher-card-arrow svg{width:28px;height:28px}
.teacher-ui .teacher-document-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.teacher-ui .teacher-document-actions .button{min-height:96px;background:#fff4dc;color:#82500c;border:1px solid #efd6a5;font-size:1.04rem;box-shadow:0 3px 0 #efdfbf}
.teacher-ui .teacher-document-actions .button:nth-child(3n+2){background:#eaf5f9;color:#24617b;border-color:#c5e2eb;box-shadow:0 3px 0 #d2e7ee}
.teacher-ui .teacher-document-actions .button:nth-child(3n){background:#f0edfa;color:#62468e;border-color:#dcd1f0;box-shadow:0 3px 0 #e0d9f1}
.teacher-ui .eval-classes{gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.teacher-ui .eval-classes .card{display:grid;gap:6px;min-height:145px;border-radius:20px;background:#f5f1fc;border-color:#ded4ef}.teacher-ui .eval-classes .card strong{color:#6b4a9f;font-size:1.85rem}.teacher-ui .eval-classes .card small{margin:0;color:#796589}
.teacher-ui .selected-card{outline:2px solid #7854b0;outline-offset:2px}.teacher-ui .school-banner{border-radius:20px;padding:20px;background:#f0edfa;border-color:#e3dbf1}
.teacher-ui .evaluation-class-header{border-left-color:#9571c6;padding:22px 24px;border-radius:19px}.teacher-ui .class-photo-hint{background:#eef6fa;border-color:#d6e6ef}
.teacher-ui .pupil-gallery{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:20px}.teacher-ui .pupil-card{padding:22px 12px 15px;border-radius:24px;box-shadow:0 5px 0 #e4deef}.teacher-ui .pupil-card-main{min-height:210px;gap:5px}.teacher-ui .pupil-card strong{font-size:1.2rem}
.teacher-ui .pupil-photo-wrap img,.teacher-ui .pupil-photo-placeholder{width:120px;height:120px}.teacher-ui .pupil-camera-button{width:50px;height:50px}.teacher-ui .pupil-quick-photo{right:10px;top:13px}
.teacher-ui .eval-subjects{gap:20px}.teacher-ui .eval-subject{--subject:#ede7f7;--subject-ink:#62418d;border:1px solid #e0d6ef;border-radius:22px;box-shadow:0 4px 0 #e5dff0;margin-bottom:7px}
.teacher-ui .eval-subject:nth-child(4n+2){--subject:#e7f5f1;--subject-ink:#096a5b;border-color:#d5e9e2;box-shadow:0 4px 0 #d7eae3}
.teacher-ui .eval-subject:nth-child(4n+3){--subject:#fff2da;--subject-ink:#825507;border-color:#f0e0bf;box-shadow:0 4px 0 #eddfc4}
.teacher-ui .eval-subject:nth-child(4n){--subject:#e9f2fc;--subject-ink:#285c91;border-color:#d4e3f4;box-shadow:0 4px 0 #dbe6f4}
.teacher-ui .eval-subject summary{background:var(--subject);min-height:115px;padding:24px;gap:16px;color:var(--subject-ink);border-radius:20px}.teacher-ui .eval-subject[open] summary{border-radius:20px 20px 0 0}
.teacher-ui .eval-subject-title{align-items:center;gap:16px}.teacher-ui .eval-subject-title strong{display:grid;place-items:center;min-width:55px;height:55px;padding:5px;background:#ffffffbd;border-radius:17px;font-size:1.5rem;color:var(--subject-ink)}
.teacher-ui .eval-subject-title span{font-size:1.15rem;color:var(--subject-ink);line-height:1.35}.teacher-ui .eval-subject-action{font-size:.8rem;color:var(--subject-ink)}
.teacher-ui .eval-subentries{padding:16px;gap:12px}.teacher-ui .eval-subentry{min-height:68px;padding:15px 18px;border-radius:13px;line-height:1.4}.teacher-ui .eval-subentry strong{background:var(--subject);color:var(--subject-ink)}
.teacher-ui .period-toolbar,.teacher-ui .planning-toolbar{background:#fff;border-left:5px solid #ac90d3}.teacher-ui .period-toolbar .inline-form{max-width:100%}.teacher-ui .period-toolbar select{width:100%}
.teacher-ui .level-tabs>.button{min-width:72px;min-height:58px;font-size:1.1rem}.teacher-ui .planning-item{min-height:78px;padding:18px;border-radius:14px;align-items:center;gap:16px}.teacher-ui .planning-item:has(input:checked){background:#eee8f7}.teacher-ui .planning-item input[type=checkbox]{width:26px;height:26px;accent-color:#7054b3;margin:0}
.teacher-ui .planning-domain>summary{min-height:54px;display:flex;align-items:center}.teacher-ui .planning-save{border-radius:16px 16px 0 0;box-shadow:0 -6px 20px #2a3e5310}
.teacher-ui .table-scroll{border-radius:16px;max-width:100%;overflow:auto}.teacher-ui th{font-size:.83rem;background:#f0f3f8}.teacher-ui td{padding:14px 12px}.teacher-ui td>a:not(:has(img)){display:inline-flex;align-items:center;min-height:48px;font-weight:600;color:var(--accent-dark)}
.teacher-ui .student-photo-actions{gap:14px}.teacher-ui .student-photo-actions form{max-width:100%}.teacher-ui .student-profile-head{gap:28px}.teacher-ui .student-profile-data p{margin-top:0}
.teacher-login{margin:0;background:#f4f6fb;color:#26354a;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}
.teacher-login-card{max-width:520px;margin:54px auto;padding:36px;border-radius:26px;box-shadow:0 12px 45px #23395012;border:1px solid #dce4ed}
.teacher-login-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:#edf7f4;color:#096d66;margin-bottom:20px}.teacher-login-icon svg{width:44px;height:44px}
.teacher-login-card h1{font-size:1.85rem;line-height:1.2}.teacher-login-card input{width:100%;min-height:56px;border-radius:12px;font:inherit;padding:14px;margin-top:7px}.teacher-login-card button{width:100%;min-height:60px;border-radius:14px;font:inherit;font-weight:700;background:#096d66;margin-top:10px}
/* La saisie individuelle conserve ses panneaux et son bandeau vertical. */
.teacher-ui.individual-eval-page{background:#087efa;color:#123457}.teacher-ui.individual-eval-page>header{display:none}.teacher-ui.individual-eval-page>main{max-width:none;margin:0;padding:0}
.teacher-ui.individual-eval-page .individual-topbar a{display:flex;align-items:center;min-height:44px;padding:5px 8px;border-radius:9px}.teacher-ui.individual-eval-page .individual-planning{display:flex;align-items:center;min-height:48px;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid #c7dfef;text-decoration:none}
.teacher-ui.individual-eval-page .individual-controls input,.teacher-ui.individual-eval-page .individual-controls select{min-height:48px}
@media(hover:hover){.teacher-nav-tile:hover,.teacher-student-card:hover,.teacher-document-class:hover{transform:translateY(-3px);box-shadow:0 8px 24px #324b6216}.teacher-ui .teacher-document-actions .button:hover{filter:brightness(.97)}}
@media(max-width:1000px){.teacher-main-nav{gap:10px}.teacher-nav-tile{flex-direction:column;gap:10px;padding:16px 10px;text-align:center;min-height:136px}.teacher-nav-text strong{font-size:1.1rem}.teacher-ui .teacher-document-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-ui .eval-subject summary{padding:20px}.teacher-ui .student-filter-bar{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.teacher-ui>header{padding:18px 16px}.teacher-brand{gap:12px!important}.teacher-brand-name b{font-size:1.22rem}.teacher-brand-name>span{font-size:.72rem}.teacher-brand-name small{display:block;margin:2px 0 0}.teacher-brand-icon{width:44px;height:44px}.teacher-account{width:100%;margin:4px 0 0 56px}.teacher-main-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px!important;gap:12px}.teacher-nav-tile{flex-direction:row;text-align:left;min-height:94px;padding:13px;gap:10px;border-radius:16px}.teacher-nav-icon{width:36px;height:42px;border-radius:11px}.teacher-nav-icon svg{width:26px;height:26px}.teacher-nav-text strong{font-size:.98rem}.teacher-nav-text small{font-size:.65rem}.teacher-ui>main{padding:0 16px 28px;margin-top:26px}.teacher-ui .card,.teacher-ui .sheet{padding:20px}.teacher-ui .top{align-items:flex-start}.teacher-ui .top>.actions{width:100%}.teacher-ui .student-class-grid,.teacher-class-list{grid-template-columns:1fr}.teacher-document-class{min-height:140px;padding:20px}.teacher-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-student-card{padding:18px 10px 14px}.teacher-student-portrait{width:82px;height:82px}.teacher-student-card>strong{font-size:1rem}.teacher-student-level{font-size:.75rem}.teacher-student-open{font-size:.75rem}.teacher-ui .student-filter-bar{grid-template-columns:1fr;padding:18px}.teacher-ui .teacher-document-actions{grid-template-columns:1fr}.teacher-ui .pupil-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-ui .pupil-card{padding:22px 8px 12px}.teacher-ui .pupil-card-main{min-height:190px}.teacher-ui .pupil-photo-wrap img,.teacher-ui .pupil-photo-placeholder{width:88px;height:88px}.teacher-ui .pupil-camera-button{width:46px;height:46px}.teacher-ui .eval-subject summary{min-height:100px;padding:18px;gap:10px}.teacher-ui .eval-subject-title strong{min-width:44px;height:48px;font-size:1.2rem}.teacher-ui .eval-subject-title span{font-size:1.05rem}.teacher-ui .eval-subject-action{font-size:.72rem}.teacher-ui .eval-subject-title{gap:12px}.teacher-login-card{margin:28px auto;padding:26px}.teacher-ui .period-toolbar{min-width:0}.teacher-ui .period-toolbar .actions{display:grid;grid-template-columns:1fr}.teacher-ui .period-toolbar .actions>form>button{width:100%}.teacher-ui .planning-tools input{width:100%}.teacher-ui .eval-subject-title span{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.teacher-ui *{scroll-behavior:auto!important;transition:none!important}}
@media print{.teacher-ui{background:white}.teacher-ui>header,.teacher-ui .teacher-student-open{display:none}.teacher-ui>main{margin:0;padding:0}.teacher-ui .card,.teacher-ui .sheet,.teacher-student-card{box-shadow:none}}
