:root{--navy:#101e34;--navy2:#172840;--blue:#3475dd;--ink:#17233a;--muted:#8090a3;--border:#e8edf3;--bg:#f5f7fb;--white:#fff;--green:#249d75}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}a{text-decoration:none;color:inherit}button,input,select{font:inherit}button{cursor:pointer}.layout{display:flex;min-height:100vh}.sidebar{width:255px;background:var(--navy);color:#b2bfd2;min-height:100vh;display:flex;flex-direction:column;padding:28px 17px;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 29px;color:#fff;font-size:25px;font-weight:800;letter-spacing:-1.1px}.brand-icon{background:#3475dd;border-radius:11px;width:39px;height:39px;display:grid;place-items:center;font-size:28px}.accent{color:#73a9ff}.brand small{display:block;font-size:9px;letter-spacing:2.2px;color:#8498b5;font-weight:600;margin-top:4px}.identity{display:flex;align-items:center;gap:10px;padding:16px 12px;margin-bottom:19px;background:rgba(255,255,255,.06);border-radius:12px}.identity b,.identity small{display:block;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.identity b{color:#fff;font-size:12px}.identity small{font-size:11px;margin-top:3px}.avatar{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#3768b3;color:#fff;font-weight:700}.sidebar nav{display:grid;gap:5px}.nav{padding:13px;border-radius:9px;font-weight:600;font-size:13px}.nav:hover{background:#243a57;color:#fff}.logout{margin-top:24px}.quiet{border:0;color:#aebbd0;background:none;padding:12px;text-align:left}.side-foot{margin-top:auto;padding:30px 11px 0;font-size:10px;letter-spacing:1.2px;color:#6e839e;line-height:1.8}.side-foot span{letter-spacing:0}.main{flex:1;min-width:0}.topbar{height:107px;background:#fff;border-bottom:1px solid var(--border);padding:24px 40px;display:flex;align-items:center;justify-content:space-between}.topbar h1{font-size:23px;margin:5px 0 0;font-weight:700;letter-spacing:-.6px}.eyebrow{font-size:10px;color:#7b8da4;font-weight:800;letter-spacing:1.8px}.top-right{color:#667993;font-size:12px;background:#f3f7fb;padding:10px 14px;border-radius:30px}.statusdot{display:inline-block;background:#26b17d;border-radius:50%;width:8px;height:8px;margin-right:7px}.content{padding:32px 40px;max-width:1500px;margin:auto}.welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.welcome h2,.section-intro h2{font-size:26px;letter-spacing:-.7px;margin:7px 0}.welcome p,.section-intro p{color:#7b8ba0;margin:5px 0}.today{border:1px solid var(--border);border-radius:12px;background:#fff;padding:13px 16px;color:#91a0b0;font-size:12px}.today b{display:block;color:var(--ink);font-size:15px;margin-top:4px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.kpi{background:#fff;border:1px solid var(--border);padding:23px 23px 21px;border-radius:14px;min-height:146px}.kpi small{font-size:12px;color:#8391a2;font-weight:600}.kpi strong{font-size:29px;display:block;margin:13px 0 7px;letter-spacing:-1.3px}.kpi strong i{font-size:16px;font-style:normal;color:#94a2b5}.kpi span{font-size:11px;color:#91a0b0}.kpi.highlighted{background:#eaf2ff;border-color:#dceafe}.kpi.highlighted strong{color:#225abc}.bar{height:7px;background:#e7edf5;border-radius:20px;overflow:hidden;margin-top:9px}.bar>div{height:100%;background:#3d7dd6;border-radius:20px}.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;margin-bottom:20px;overflow:hidden}.panel-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:17px}.panel h3{font-size:15px;margin:0}.panel-title a:not(.btn){color:var(--blue);font-weight:700;font-size:12px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{background:#f8fafd;color:#8a99ac;font-weight:700;font-size:11px;letter-spacing:.5px;text-transform:uppercase}td,th{padding:13px 11px;border-bottom:1px solid #f0f3f7}td{font-size:12px}td small{color:#8f9eb0;font-size:11px}.tag{display:inline-block;background:#eaf2ff;border-radius:22px;padding:5px 10px;color:#3c6fab;font-size:10px;text-transform:capitalize;font-weight:700}.tag.realisee{background:#e0f7eb;color:#238054}.tag.programmee{background:#eaf2ff;color:#306cc2}.tag.non_effectuee{background:#fee8ec;color:#af4759}.tag.partielle{background:#fff0d8;color:#a06b1e}.quick-links>a{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--border)}.quick-links>a>span:first-child{width:34px;height:34px;background:#edf3fd;border-radius:9px;color:#417cce;display:grid;place-items:center;font-size:20px}.quick-links>a>div{flex:1}.quick-links b,.quick-links small{display:block}.quick-links b{font-size:12px}.quick-links small{color:#9babc0;margin-top:4px}.section-intro{margin-bottom:25px}.inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.inline-form label{font-size:11px;font-weight:700;color:#64748b;display:grid;gap:6px;min-width:145px;flex:1}.inline-form input,.inline-form select,input,select,textarea{border:1px solid #dfe5ee;border-radius:8px;padding:10px;color:#263b55;background:#fff;outline-color:var(--blue)}.inline-form .checkbox{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:160px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:11px 16px;border-radius:9px;font-weight:700;font-size:12px;border:1px solid transparent;white-space:nowrap}.btn.primary{background:#316ed2;color:white}.btn.outline{border-color:#d9e4f0;background:#fff;color:#3161a4}.btn.sm{padding:7px 10px}.declare-form{display:flex;align-items:center;gap:5px}.declare-form input,.declare-form select{padding:6px;font-size:11px}.flash{padding:12px 15px;background:#e4f7ed;color:#166a44;border-radius:9px;margin-bottom:15px}.flash.error{background:#fff0f0;color:#9b3030}.muted{color:#8b9bad;font-size:12px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.course-card{background:#fff;border:1px solid var(--border);padding:23px;border-radius:13px}.course-card-top{display:flex;align-items:center;justify-content:space-between}.course-card h3{margin:20px 0 5px}.course-card p,.course-card small{color:#8292a6}.divider{height:1px;background:var(--border);margin:20px 0}.calendar-panel{padding:15px}.legend{display:flex;gap:20px;margin:0 0 23px;flex-wrap:wrap;color:#6f7d8d;font-size:11px}.legend i{display:inline-block;border-radius:50%;height:9px;width:9px;margin-right:5px}.fc .fc-button-primary{background:#316ed2!important;border-color:#316ed2!important}.fc .fc-toolbar-title{font-size:17px!important}.login-body{background:#fff}.login-layout{display:grid;grid-template-columns:51% 49%;min-height:100vh}.hero-login{background:linear-gradient(145deg,#142541,#0c1525);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:46px 70px}.hero-logo{font-size:25px;font-weight:800}.hero-logo span{color:#77aaff}.hero-copy h1{font-size:64px;line-height:1.09;letter-spacing:-3px;margin:21px 0}.hero-copy em{font-style:normal;color:#8ab4ff}.hero-copy p{line-height:1.8;color:#b3c2d5;max-width:410px}.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:35px}.hero-tags span{border:1px solid #415574;border-radius:20px;color:#aec3e0;font-size:11px;padding:9px 13px}.hero-bottom{color:#66819f;font-size:11px}.login-panel{display:grid;place-items:center;padding:40px}.login-card{width:min(410px,100%)}.login-card h2{font-size:33px;letter-spacing:-1px;margin:12px 0}.login-card>p{color:#8998aa;margin-bottom:30px}.login-card form{display:grid;gap:10px}.login-card label{font-weight:700;color:#536477;font-size:12px;margin-top:10px}.login-card input{padding:14px}.btn.full{width:100%;margin-top:15px}.demo-credentials{padding:18px;margin-top:25px;background:#f5f8fc;border-radius:12px;line-height:1.9}.demo-credentials p{margin:5px 0}.demo-credentials small{font-size:11px;color:#64778d}.mobile-logo{display:none}@media(max-width:1050px){.kpis{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.content{padding:25px}.topbar{padding:20px 25px}.sidebar{width:215px}.card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.layout{display:block}.sidebar{width:100%;min-height:auto;padding:12px}.sidebar nav{display:flex;overflow-x:auto}.sidebar .nav{white-space:nowrap}.sidebar .identity,.side-foot,.sidebar .logout{display:none}.brand{padding:4px 8px 12px;font-size:20px}.brand small{display:none}.main{width:100%}.topbar{height:auto}.topbar h1{font-size:19px}.content{padding:16px}.welcome{display:block}.today{margin-top:14px}.kpis{gap:9px}.kpi{min-height:120px;padding:15px}.kpi strong{font-size:23px}.card-grid{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr}.hero-login{display:none}.login-panel{min-height:100vh}.mobile-logo{display:block;font-size:24px;font-weight:800;margin-bottom:50px}.declare-form{flex-wrap:wrap}.fc .fc-toolbar{flex-wrap:wrap;gap:10px}.fc .fc-toolbar-title{font-size:14px!important}}

/* EduPilot 2026 — refined academic SaaS design system */
:root{--navy:#11243b;--blue:#4277da;--ink:#18324c;--border:#e5eaf2;--bg:#f6f8fc;--mint:#16a588;--accent:#9ce6d6}
body{background:var(--bg);color:var(--ink);font-family:'DM Sans',Inter,system-ui,sans-serif}
.sidebar{background:linear-gradient(178deg,#122c47,#102037 72%,#162c45);box-shadow:7px 0 28px rgba(15,34,59,.06)}
.brand{letter-spacing:-.8px}
.brand-icon{background:linear-gradient(135deg,#4e8feb,#35b4a8);color:white;border-radius:14px;box-shadow:0 9px 20px #061a3255}
.accent{color:#82dbc9!important}
.sidebar .nav{transition:background .18s,color .18s,border-radius .18s}
.sidebar .nav:hover{background:#294663}
.topbar{background:rgba(255,255,255,.93);backdrop-filter:blur(16px)}
.top-right{background:#eaf7f2;color:#147457;font-weight:700}
.statusdot{background:#25b68f}
.content{max-width:1510px}
.panel,.kpi,.course-card,.today{border:1px solid #e3eaf3;box-shadow:0 6px 32px rgba(24,49,85,.035);border-radius:17px}
.panel{padding:26px}
.kpi.highlighted{background:linear-gradient(140deg,#e9f2ff,#eefaf8);border-color:#d5e8f3}
.btn.primary,.fc .fc-button-primary{background:linear-gradient(135deg,#396fda,#2553b4)!important;border-color:transparent!important;box-shadow:0 5px 12px rgba(44,98,192,.14)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.outline{border-color:#dce5ee;background:white;color:#315782}
.tag.success{background:#def7ea;color:#157a58}
.tag.danger{background:#ffe3e5;color:#a3293c}
.btn.danger{background:#a72d42;color:#fff}
.eyebrow{color:#548dba}
.hero-login{background:radial-gradient(circle at 5% 20%,#245e78 0,transparent 39%),linear-gradient(145deg,#0d2844,#0a182b)}
.hero-copy em{color:#79ded0}
.hero-logo span{color:#7be1d0}
.login-body{background:#f7f9fc}
.login-card{background:white;border:1px solid #e7edf3;border-radius:23px;padding:34px;box-shadow:0 22px 70px rgba(20,45,74,.08)}
.login-panel{background:#f6f8fc}
.tenant-identity{display:flex;align-items:center;gap:11px;margin:14px 0 10px;padding:14px 12px;border:1px solid #ffffff21;border-radius:13px;background:#ffffff0a}
.tenant-identity img,.tenant-identity>span{width:44px;height:44px;flex:0 0 44px;object-fit:contain;background:white;border-radius:10px;padding:5px;display:grid;place-items:center}
.tenant-identity b,.tenant-identity small{display:block;color:#f4fbff;font-size:12px}
.tenant-identity small{color:#a7bdcf;margin-top:4px;font-size:10px}
.side-foot strong{color:#adcde4;letter-spacing:.25px;font-size:11px}
.app-footer{max-width:1500px;margin:0 auto;padding:8px 40px 26px;color:#8297aa;font-size:11px;text-align:center}
.modern-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.modern-form label,.school-edit label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#537086}
.modern-form input,.modern-form select,.school-edit input,.school-edit select{width:100%;border-radius:10px;padding:12px;border:1px solid #d8e3ee;background:#fcfdff}
.modern-form label small{font-size:10px;color:#94a5b9;font-weight:400}
.modern-form .form-actions{grid-column:1/-1}
.school-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:18px}
.school-card{padding:20px;border:1px solid #e5ebf1;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfdff)}
.school-card-header{display:flex;gap:14px;align-items:center}
.school-card-header h3{font-size:15px;margin:0 0 5px;white-space:normal}
.school-card-header p{color:#8b9bae;font-size:12px;margin:0}
.school-logo{width:58px;height:58px;background:linear-gradient(135deg,#e7f5ff,#e8f9f1);border-radius:14px;display:grid;place-items:center;font-size:28px;flex-shrink:0}
.school-logo img{height:48px;width:48px;object-fit:contain}
.school-meta{display:flex;gap:8px;align-items:center;margin:15px 0}
.school-edit{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #e7edf3;padding-top:17px}
.school-edit label:nth-child(3),.school-edit .checkline,.school-edit button{grid-column:1/-1}
.school-edit .checkline{display:flex;align-items:center;font-weight:500}
.school-edit .checkline input{width:auto}
.school-actions{display:flex;align-items:flex-start;gap:14px;margin-top:16px;border-top:1px solid #e9edf4;padding-top:16px;flex-wrap:wrap}
.delete-disclosure{font-size:12px;color:#ac3348}
.delete-disclosure summary{cursor:pointer;padding:9px 10px}
.delete-disclosure p{max-width:300px}
.delete-disclosure label{display:grid;gap:6px}
.delete-disclosure input{display:block;border:1px solid #e3d2d6;border-radius:7px;padding:9px;width:100%;margin:8px 0}
.settings-panel{max-width:850px}
.preview-brand{border-radius:14px;padding:25px;background:#edf5ff;color:#264d78;margin-top:15px}
.preview-brand p{font-size:13px}
.restriction-body{background:radial-gradient(circle at 50% 0%,#d9eff7,transparent 40%),#f4f7fc;display:grid;place-items:center;min-height:100vh;padding:28px}
.restriction-card{background:white;text-align:center;max-width:550px;width:100%;padding:50px 42px;border:1px solid #e1eaf2;border-radius:26px;box-shadow:0 25px 85px rgba(23,50,86,.11)}
.restriction-mark{margin:0 auto 20px;width:70px;height:70px;border-radius:22px;background:#fef1ed;display:grid;place-items:center;font-size:32px}
.restriction-card h1{font-size:31px;letter-spacing:-1px;margin-bottom:18px}
.restriction-card p{font-size:15px;color:#64758b;line-height:1.7}
.restriction-card a{color:#255cbb;font-weight:750}
.restriction-card footer{border-top:1px solid #e5edf4;margin-top:28px;padding-top:19px;color:#91a3b5;font-size:12px}
@media(max-width:720px){.modern-form,.school-edit{grid-template-columns:1fr}.school-grid{grid-template-columns:1fr}.school-edit label:nth-child(3),.school-edit .checkline,.school-edit button{grid-column:auto}.login-card{padding:22px}.panel{padding:17px}.app-footer{padding:12px 18px 28px}.restriction-card{padding:30px 24px}}

/* EduPilot — édition Safran : orange, blanc et touches de bleu/vert */
:root{--navy:#1e344b;--navy2:#25475d;--blue:#e87827;--ink:#253a49;--muted:#81909b;--border:#e8ebea;--bg:#fafaf7;--white:#fff;--green:#169875;--accent:#ed8b32}
body{background:#fafaf7;color:#263946}
.sidebar{background:linear-gradient(168deg,#203950 0%,#182e42 72%,#1b403f 100%)}
.brand-icon{background:linear-gradient(140deg,#fa9a37,#e26d21);box-shadow:0 8px 20px #ed772344}
.accent,.hero-logo span{color:#ffa34f!important}
.sidebar .nav:hover{background:#2d4b5b}
.avatar{background:#df7b35}
.hero-login{background:radial-gradient(circle at 10% 20%,#795038 0%,transparent 45%),linear-gradient(155deg,#233d54,#173649 75%,#214a42)}
.hero-copy em{color:#ffa456}
.login-panel{background:#fafaf7}
.statusdot{background:#1ba582}
.top-right{color:#137d65;background:#e9f9f1}
.kpi.highlighted{background:linear-gradient(135deg,#fff5e9,#eaf8f2);border-color:#f3e0cb}
.kpi.highlighted strong,.eyebrow{color:#c76b25}
.btn.primary,.fc .fc-button-primary{background:linear-gradient(125deg,#ef8f32,#df6d24)!important;border:0!important;color:#fff;box-shadow:0 5px 13px #e47a2730}
.btn.primary:hover{filter:brightness(1.04)}
.btn.outline{color:#79533a;border-color:#e7d9cb}
.tag{color:#a65c28;background:#fff0e0}
.tag.success{color:#168466;background:#e6f9ef}
.tag.danger{color:#ad3048;background:#ffebed}
a:not(.nav):hover{color:#dc722b}
.school-link{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:#fff8ef;border:1px solid #f5e3c9;border-radius:12px;padding:12px;margin:16px 0}
.school-link small{color:#966a48;font-weight:700}
.school-link a{min-width:0;overflow-wrap:anywhere;color:#c96c22;font-weight:700;font-size:12px}
.school-main-action{margin:5px 0 15px}
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}
.panel-title .page-actions{margin:0}
.school-edit-details{padding:11px 0;border-top:1px solid #ece5dc;margin-top:10px}
.school-edit-details>summary{cursor:pointer;font-size:12px;font-weight:700;color:#5f7484;margin-bottom:12px}
.password-field{display:grid;gap:10px}
.password-field label{font-size:12px;font-weight:700;color:#537086;display:grid;gap:6px}
.password-field input{width:100%;border:1px solid #d8e3ee;border-radius:10px;padding:12px}
.password-actions{display:flex;flex-wrap:wrap;gap:7px}
.form-page{max-width:980px}
.form-actions{display:flex;align-items:center;gap:11px;grid-column:1/-1;flex-wrap:wrap}
.change-password-form{max-width:560px;display:grid;gap:16px}
.change-password-form label{display:grid;gap:7px;color:#536b7b;font-size:12px;font-weight:700}
.change-password-form input{padding:13px;border:1px solid #dee5ec;border-radius:10px}
.table-link{font-weight:700;color:#d27329;font-size:12px;overflow-wrap:anywhere;white-space:normal}
.school-card .school-card-header{align-items:center}
.school-card-header p{overflow-wrap:anywhere}
.login-foot{color:#8d9ba7;text-align:center;margin-top:16px;font-size:11px}
@media(max-width:720px){.school-link{align-items:flex-start;flex-direction:column}.page-actions{gap:8px}}


/* EduPilot: classe details and student weekly dashboard */
.class-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 24px}.class-detail-summary .kpi{min-height:120px}.class-detail-columns{grid-template-columns:1fr 1.4fr}.student-welcome{gap:15px}.student-week-panel{padding:24px}.student-week-heading{align-items:center;flex-wrap:wrap}.student-week-heading h3{font-size:18px;margin:8px 0}.student-week-heading p{margin:5px 0}.week-actions{display:flex;gap:7px;flex-wrap:wrap}.student-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-top:19px}.student-day{border:1px solid #e8ebed;background:#fbfcfd;border-radius:13px;min-height:178px;overflow:hidden}.student-day-header{display:flex;justify-content:space-between;align-items:center;padding:13px 10px;background:#fff6ed;border-bottom:1px solid #f3dfc9;font-size:12px}.student-day-header small{color:#b56a2d}.student-day-body{padding:9px;display:grid;align-content:start;gap:9px}.student-lesson{display:grid;gap:7px;padding:10px;border-radius:9px;border-left:3px solid #e78132;background:#fff;box-shadow:0 2px 8px #182e4211;overflow-wrap:anywhere}.student-lesson time{font-weight:700;color:#b76829;font-size:11px}.student-lesson strong{font-size:12px}.student-lesson small{font-size:10px;color:#8190a0}.student-lesson .tag{justify-self:start;font-size:9px}.student-empty{font-size:11px;line-height:1.5}.student-no-sessions{margin:14px 0;color:#7d8da1;text-align:center}.student-week-footer{margin-top:20px;text-align:right}.student-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.student-shortcut{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #e7edf2;border-radius:14px;padding:20px}.student-shortcut>span:first-child{background:#fff1e4;color:#d77828;padding:10px;border-radius:10px}.student-shortcut>span:last-child{margin-left:auto}.student-shortcut b,.student-shortcut small{display:block}.student-shortcut small{color:#8c9bae;margin-top:5px}.student-shortcut:hover{border-color:#e8ad71}@media(max-width:1250px){.student-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:850px){.student-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-detail-summary,.student-shortcuts{grid-template-columns:1fr}.class-detail-columns{grid-template-columns:1fr}}@media(max-width:520px){.student-week-grid{grid-template-columns:1fr}.student-welcome{display:grid}.student-week-panel{padding:15px}}

/* Scolarité : tables de notes, pièces jointes et consignes longues */
.modern-form .full-row{grid-column:1 / -1}
.modern-form textarea{min-height:158px;max-width:100%;resize:vertical;border:1px solid #d8e3ee;border-radius:10px;background:#fcfdff;padding:13px;font:inherit;line-height:1.6}
.assessment-description{white-space:pre-line;overflow-wrap:anywhere;line-height:1.65}
.grade-field{width:116px;min-width:90px;padding:10px;border:1px solid #d8e3ee;border-radius:8px}
.grade-comment{width:100%;min-width:180px;padding:10px;border:1px solid #d8e3ee;border-radius:8px}
.grade-assessment-actions{display:flex;flex-wrap:wrap;gap:9px;padding:12px 0}
#transfer-form .table-scroll{max-height:540px;overflow:auto}
#transfer-form th{position:sticky;top:0;background:#f6f8fc;z-index:1}
#transfer-form .page-actions select{min-width:240px;max-width:100%}
@media(max-width:720px){.modern-form .full-row{grid-column:auto}.grade-comment{min-width:140px}}

/* Séances, bulletins et écrans de résultats */
[hidden]{display:none!important}
#lesson-action-panel{border-top:4px solid #df7c29;scroll-margin-top:30px}
#lesson-action-panel .inline-form{margin:13px 0;align-items:end}
#lesson-action-details{color:#466176;line-height:1.6}
#lesson-cancel-form{border-top:1px solid #e8edf1;padding-top:18px;margin-top:20px}
#courses-bulk .table-scroll,#print-bulletins .table-scroll{max-height:640px;overflow:auto}
#courses-bulk .page-actions,#print-bulletins .page-actions{align-items:flex-end}
@media print{.sidebar,.topbar,.page-actions,.app-footer{display:none!important}body{background:white}.content{padding:0}.panel{box-shadow:none;border:none;break-inside:avoid}}
