/* MathBac — thème commun inspiré de la maquette PC / tablette / téléphone. */
.page-viewer.controle-viewer{background:#fff;color:#102d65}
.controle-viewer::backdrop{background:#fff}
.controle-viewer .viewer-toolbar{color:#fff}
.controle-viewer .viewer-stage{grid-row:1;min-height:0}
.controle-viewer:has(.controle-solution-link)[open]{grid-template-rows:minmax(0,1fr) auto}
.controle-solution-link{grid-row:2;text-align:center;padding:8px;background:#fff}
.series-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;margin:0;border:0;background:#fff;color:#102d65;overflow:hidden}
.series-viewer .series-toolbar{color:#fff}
.series-viewer[open]{display:flex;flex-direction:column}
.series-toolbar{position:absolute;inset:0 0 auto;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#111f33ed;padding:12px}
.series-stage{flex:1;min-height:0;overflow:auto;touch-action:pan-y pinch-zoom;overscroll-behavior:contain;padding:16px}
.series-exercise{max-width:1100px;margin:auto;text-align:center}
.app-theme .series-exercise h2{color:#08276c;font-size:17px;margin:5px 0 12px}
.series-exercise img{display:block;max-width:100%;height:auto;max-height:calc(100dvh - 130px);object-fit:contain;margin:0 auto 15px;user-select:none}
.series-corrections{display:flex;justify-content:center;background:#111f33;padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
.series-corrections:not(:has(a:not([hidden]))){display:none}
.series-viewer [hidden]{display:none!important}
.series-masked .series-stage{visibility:hidden}
@media print{.series-viewer{display:none!important}}
.programme-titles{display:grid;gap:10px;margin-top:22px}
.programme-titles>a{display:block;padding:15px 18px;background:white;border:1px solid #dfeefa;border-radius:10px;color:#123e7c;font-weight:650}
.programme-titles>a:hover{background:#eaf4ff}
.programme-heading{margin-top:20px}
.programme-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:22px}
.programme-delete summary{cursor:pointer;color:#a02e30!important}
.programme-delete form{margin-top:12px;max-width:520px}
.brand-copy{min-width:0;overflow-wrap:anywhere}
.app-theme .header-brand{min-width:0}
.app-theme .dashboard-heading{flex-wrap:wrap}
.app-theme .dashboard-filter{max-width:100%;flex-wrap:wrap}
.app-theme .dashboard-filter select{max-width:100%}
@media(max-width:600px){.app-theme .header-brand{max-width:calc(100% - 90px)}.app-theme .dashboard-filter select{max-width:calc(100% - 80px)}}
.app-theme .national-exam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.app-theme .national-exam-grid>.panel{padding:10px 12px;min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center}
.app-theme .national-exam-grid h2{font-size:clamp(14px,2.5vw,19px);line-height:1.35;margin:0;width:100%}
.app-theme .national-exam-grid .exam-title-link{padding:8px 0}
.app-theme .national-exam-grid .muted{margin:0;font-size:11px}
.app-theme .national-exam-grid .secondary{padding:6px 9px;font-size:11px}
.exam-title-link{display:block;padding:8px 0;text-decoration:underline;text-decoration-color:#a8c9eb;text-underline-offset:4px}
.exam-title-link:hover{color:#076dcb;text-decoration-color:currentColor}
.viewer-controls,[data-pdf-prev],[data-pdf-next]{display:none!important}
.viewer-close[hidden],[data-pdf-fullscreen][hidden]{display:none!important}
.page-viewer[open]{grid-template-rows:minmax(0,1fr)}
.page-viewer .viewer-toolbar,.pdf-fullscreen .pdf-toolbar{position:absolute;top:0;left:0;right:0;z-index:2;background:#111f33ee}
.reader-controls-hidden .viewer-toolbar,.pdf-fullscreen.reader-controls-hidden .pdf-toolbar{visibility:hidden;pointer-events:none}
:root{--navy:#08276c;--blue:#0789fb;--royal:#073dda;--gold:#ffbb0b;--teal:#09b7a4;--sky:#edf7ff;--line:#dfeefa;--ink:#102d65;--muted:#6d809f;--shadow:0 5px 22px #1f67a509}
.app-theme{color:var(--ink);background:#f1f8fe;font-family:"Segoe UI",Arial,sans-serif;font-size:15px}
.app-theme.role-eleve{background:linear-gradient(135deg,#fffaf0 0,#f4faff 48%)}
.ui-icon{display:block;flex-shrink:0;width:24px;height:24px}
.skip-link{position:fixed;left:20px;top:-100px;background:var(--navy);color:white;padding:10px 18px;z-index:2000;border-radius:8px}.skip-link:focus{top:12px}
.app-theme h1,.app-theme h2,.app-theme h3{color:var(--navy)}
.app-theme h1{font-size:clamp(23px,2.1vw,30px);letter-spacing:-.7px}
.app-theme .muted,.app-theme .help-text{color:var(--muted)}
.app-theme .eyebrow{font-size:10px;letter-spacing:1.3px;color:#567ca7}
.app-theme .primary{background:linear-gradient(130deg,#096bd1,#114491);box-shadow:0 4px 10px #1060be19;border:1px solid #115dc1}
.app-theme .primary:hover{background:#075bc2;transform:translateY(-1px)}
.app-theme .secondary{border-color:#d5e6f5;color:var(--navy);background:#fff}
.app-theme .secondary:hover{background:#eef7ff;border-color:#92bff3}
.app-theme :is(.primary,.secondary,.nav-item,.resource-card,.icon-button){transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.app-theme :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #ffbf2e;outline-offset:3px}
.app-theme input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.app-theme select,.app-theme textarea{border-color:#d4e4f1;border-radius:9px;min-height:44px;background:#fff;max-width:100%}
.app-theme input:focus,.app-theme select:focus,.app-theme textarea:focus{border-color:#489cf0;box-shadow:0 0 0 3px #0789fb0d}
.app-theme input[type=checkbox]{accent-color:#1476dd;min-width:17px;min-height:17px}
.app-theme label{font-size:13px;color:#173c6d}
.app-theme .panel{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px}
.app-theme .notice{border-radius:10px;box-shadow:none}
.app-theme .table-scroll{max-width:100%;overscroll-behavior-x:contain}
.app-theme th{background:#edf6ff;color:#355b89;white-space:nowrap}
.app-theme td,.app-theme th{padding:14px 12px}
.app-theme .check-row{min-height:32px}
.app-theme .lesson-menu-link{color:#194b81;border:1px solid transparent}
.app-theme .lesson-menu-link:hover{background:#f1f7fd}
.app-theme .lesson-menu-link.current{background:#e5f1ff;border-color:#c0dcff;color:#0b4091}
.app-theme .help-text{line-height:1.65}
.app-theme .sidebar{width:224px;background:linear-gradient(100deg,#fff,#f3faff);border-right:1px solid #ddecf8;padding:26px 14px 18px;z-index:50;box-shadow:none;overflow-y:auto}
.app-theme .sidebar-brand{display:flex;flex-direction:column;text-align:center;gap:7px;margin:0 0 19px}
.brand-logo{display:block;flex:0 0 auto;width:75px;height:75px;border-radius:6px;background-color:#fff;background-image:url('../images/logo.png?v=2408a1a09b60');background-repeat:no-repeat;background-size:contain;background-position:center;box-shadow:0 1px 5px #183b6d15}
.brand-copy{display:flex;flex-direction:column;font-size:17px;line-height:1.18;font-weight:750;letter-spacing:-.35px;color:var(--navy)}
.brand-copy strong{color:#ed9c00;font-size:21px;letter-spacing:-.4px}
.brand-copy small{font-size:12px!important;letter-spacing:0!important;font-weight:700!important;color:var(--navy)!important;margin-top:3px}
.app-theme .nav-caption{font-size:9px;letter-spacing:1.25px;color:#8097b2;margin:13px 13px 10px}
.app-theme .nav-item{width:100%;display:flex;align-items:center;text-align:left;gap:11px;border:1px solid transparent;border-radius:8px;padding:10px 11px;margin:2px 0;background:transparent;color:#20334d;font-size:12px;font-weight:600;line-height:1.4;min-height:41px}
.app-theme .nav-item .ui-icon{width:17px;height:17px;color:#102a43}
.app-theme .nav-item>span{font-size:12px;line-height:1.4;min-width:0}
.app-theme .nav-item small{display:inline;font-size:8px;font-weight:500;color:#7e93ab;margin-left:5px}
.app-theme .nav-item:not(.disabled):hover{background:#eaf4ff;border-color:#d2e6ff}
.app-theme .nav-item.selected{background:linear-gradient(110deg,#8fbeff,#afd5ff);color:#092671;border-color:#88baf5;box-shadow:0 2px 5px #558dd619}
.app-theme .nav-item.selected .ui-icon{color:#084bf1}
.app-theme .nav-item.disabled{color:#6e829a;cursor:default}.app-theme .nav-item.disabled .ui-icon{color:#7e93a9}
.app-theme .sidebar-bottom{padding:18px 4px 0;margin-top:auto}
.app-theme .sidebar-bottom p{font:italic 13px Georgia,serif;color:#6584a6;margin:16px 0 0;text-align:center}
.app-theme .logout{display:flex;align-items:center;gap:11px;width:100%;padding:11px 9px;border:1px solid transparent;font-size:12px;font-weight:600;border-radius:8px;color:#b33434}
.app-theme .logout .ui-icon{width:18px;height:18px}
.app-theme .logout:hover{background:#fff2f2;border-color:#f0d8db}
.app-theme .main-area{margin-left:224px}
.app-theme .topbar{position:relative;z-index:10;min-height:110px;background:linear-gradient(110deg,#fff,#f6fbff);border-bottom:1px solid #e7f1f9;padding:16px 36px;gap:20px}
.app-theme .header-brand{gap:14px;margin:0}
.header-brand .brand-logo{width:73px;height:73px}
.header-actions{display:flex;align-items:center;gap:14px;margin-left:auto}
.header-greeting{font-size:12px;color:#58718e}
.header-greeting strong{color:var(--navy)}
.icon-button{display:grid;place-items:center;padding:9px;width:42px;height:42px;flex-shrink:0;background:transparent;border:1px solid transparent;border-radius:10px;color:var(--navy)}
.icon-button .ui-icon{width:26px;height:26px}
.icon-button:not(:disabled):hover{background:#eaf3ff;border-color:#d6e7fc}
.notifications-button{color:#0789fb;cursor:default}
.app-theme .menu-toggle,.app-theme .menu-close{display:none}
.app-theme .content{max-width:1390px;padding:28px 36px 32px;margin:auto}
.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.dashboard-heading h1{font-size:23px;margin-bottom:0}
.dashboard-heading .eyebrow{margin-bottom:6px}
.dashboard-filter{max-width:none;flex-shrink:0;gap:8px}
.dashboard-filter label{font-size:11px;color:#6682a0}
.dashboard-filter select{font-size:12px!important;margin:0;min-height:40px!important;padding:8px 28px 8px 12px!important;width:auto}
.dashboard-filter button{min-height:40px}
.app-theme .dashboard-hero{min-height:225px;padding:27px 30px;border-radius:12px;background:linear-gradient(110deg,#061e46 0,#063256 53%,#164554 100%);box-shadow:0 6px 20px #0a326816;align-items:center}
.dashboard-hero .hero-copy{position:relative;z-index:2;width:61%}
.dashboard-hero .hero-kicker{font-size:9px;letter-spacing:1.45px;color:#bedcf0}
.app-theme .dashboard-hero h2{font-family:inherit;font-size:clamp(23px,2.6vw,34px);line-height:1.18;font-weight:750;letter-spacing:-.6px;color:#fff;margin:12px 0}
.dashboard-hero h2 em{font-style:normal;color:#ffbc18}
.app-theme .dashboard-hero p{font-size:12px;color:#e0edfa;max-width:410px;margin-bottom:17px}
.hero-subjects{display:inline-block;font-size:10px;color:#c5e8fd;border-radius:20px;background:#26789932;padding:5px 11px}
.reference-art{position:absolute;right:0;bottom:0;width:49%;background-image:url('../images/reference-sp.png');background-repeat:no-repeat;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 17%);-webkit-mask-image:linear-gradient(to right,transparent,#000 17%)}
.teacher-art{aspect-ratio:245/121;background-size:626.939% 846.281%;background-position:38.6522% 18.1617%;mask-image:linear-gradient(to right,transparent 26%,#000 44%);-webkit-mask-image:linear-gradient(to right,transparent 26%,#000 44%)}
.student-art{aspect-ratio:266/97;background-size:577.444% 1055.67%;background-position:37.6378% 74.6494%;width:62%;mask-image:linear-gradient(to right,transparent 10%,#000 30%);-webkit-mask-image:linear-gradient(to right,transparent 10%,#000 30%)}
.app-theme .dashboard-hero.student-hero{background:linear-gradient(105deg,#073575,#07599a 70%,#99cae7);min-height:225px}
.student-hero .hero-copy{width:50%}
.student-hero .student-art{width:50%;z-index:0}
.dashboard-section-heading{margin:25px 0 15px}
.dashboard-section-heading h2{font-size:16px!important}
.dashboard-section-heading .muted{font-size:11px}
.app-theme .dashboard-resources{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.app-theme .dashboard-resources .resource-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:139px;border-radius:10px;background:linear-gradient(145deg,#fff,#fbfdff);border:1px solid #dfedf9;box-shadow:0 3px 12px #2e73a608;padding:18px 10px;color:var(--navy);font:inherit}
.app-theme .dashboard-resources .active-card:hover{border-color:#91c6fa;box-shadow:0 9px 22px #1b70c518;transform:translateY(-3px)}
.app-theme .dashboard-resources .active-card:active{transform:translateY(0)}
.app-theme .dashboard-resources .resource-icon{margin:0;background:none;width:38px;height:38px;border-radius:0;display:grid;place-items:center;flex-shrink:0}
.dashboard-resources .resource-icon .ui-icon{width:34px;height:34px}
.dashboard-resources .resource-icon.blue{color:#0789fb}.dashboard-resources .resource-icon.orange{color:#ff9d00}.dashboard-resources .resource-icon.teal{color:#06b7a0}.dashboard-resources .resource-icon.royal{color:#061bc0}.dashboard-resources .resource-icon.purple{color:#7d26d6}.dashboard-resources .resource-icon.cyan{color:#02a8b7}.dashboard-resources .resource-icon.gold{color:#ffb600}.dashboard-resources .resource-icon.slate{color:#56779b}
.app-theme .dashboard-resources h3{font-size:12px;line-height:1.4;margin:0;font-weight:750;color:#092866}
.app-theme .dashboard-resources p{font-size:10px;color:#7f94ad;margin:4px 0 0;line-height:1.4}
.dashboard-resources .unavailable-card{cursor:default}
.resource-chevron{display:none}
.dashboard-quote{text-align:center;font:italic 16px/1.7 Georgia,serif;color:#173d7c;margin:23px 0 0}
.dashboard-subscription{display:block;width:fit-content;margin:17px auto 0;color:#2d6c7b!important;background:#edf8f6!important;border:1px solid #cde8e2!important}
.dashboard-lower-grid{margin-top:23px;gap:18px}
.dashboard-lower-grid .panel{padding:21px}
.dashboard-lower-grid h2{font-size:16px}.dashboard-lower-grid .section-heading{margin-bottom:12px}
.dashboard-lower-grid .lesson-list{font-size:12px;margin:0}.dashboard-lower-grid .lesson-list li{padding:5px 0}
.app-theme .footer{max-width:1390px;margin:auto;padding:8px 36px 24px;color:#6d86a4;font-size:10px;justify-content:center;flex-wrap:wrap;gap:10px;text-align:center}
.footer-brand{color:#153d70;font-weight:700}
.app-theme .account-dialog{width:min(430px,calc(100% - 32px));border:1px solid #d8e8f4;border-radius:18px;padding:34px;color:var(--ink);box-shadow:0 20px 80px #051c5530;background:white}
.account-dialog::backdrop{background:#071d4c70;backdrop-filter:blur(3px)}
.account-dialog .dialog-close{position:absolute;right:9px;top:9px}
.account-dialog h2{margin-top:7px}.account-dialog p{font-size:14px;line-height:1.7}.account-dialog .profile-name{font-size:21px;font-weight:750}
.profile-emblem{display:block;width:54px;height:54px;color:#0a47a6}.profile-emblem .ui-icon{width:54px;height:54px}
.mobile-logout,.mobile-recharge{display:none}
.nav-backdrop{position:fixed;inset:0;z-index:45;border:0;background:#071e5266;backdrop-filter:blur(2px)}
.nav-backdrop[hidden]{display:none}
/* Les formulaires et lecteurs existants conservent leurs comportements. */
.app-theme .support-tile{transition:border-color .18s,box-shadow .18s}.app-theme .support-tile:hover{box-shadow:0 4px 16px #1676c513}
.app-theme .programme-grid{grid-template-columns:220px minmax(0,1fr)}
.app-theme .student-edit{white-space:normal}
.app-theme .pdf-reader{color:#fff}.app-theme .viewer-counter{color:#fff}
@media(min-width:1100px){.app-theme .sidebar{visibility:visible;transform:none}.app-theme .dashboard-filter label{display:block}}
@media(min-width:1100px){
 .app-theme .sidebar{top:110px;padding-top:18px}.app-theme .sidebar-brand,.app-theme .sidebar>.nav-caption{display:none}
 .app-theme .topbar{margin-left:-224px;width:calc(100% + 224px);padding-left:175px}
}
@media(min-width:601px) and (max-width:1179px){.app-theme .dashboard-resources{grid-template-columns:repeat(2,minmax(0,1fr))}.app-theme .dashboard-resources .resource-card{min-height:121px;padding:16px}.app-theme .dashboard-hero h2{font-size:29px}}
@media(max-width:1099px){
 .app-theme .sidebar{width:280px;max-width:86vw;transform:translateX(-105%);visibility:hidden;box-shadow:20px 0 65px #12336625;transition:transform .2s ease,visibility .2s}
 .app-theme .sidebar.open{transform:translateX(0);visibility:visible}
 .app-theme .main-area{margin-left:0;width:100%}
 .app-theme .menu-toggle{display:grid;border:0;padding:8px;font-size:inherit}
 .app-theme .menu-close{display:grid;position:absolute;top:10px;right:9px;margin:0}
 .app-theme .sidebar-brand{margin-top:22px}
 .app-theme .topbar{min-height:101px;padding:13px 24px;gap:18px}
 .app-theme .header-brand{margin-right:auto;gap:12px}.header-brand .brand-logo{width:66px;height:66px}
 .header-brand .brand-copy{font-size:15px}.header-brand .brand-copy strong{font-size:19px}
 .header-actions{margin-left:0;gap:8px}.header-greeting{display:none}
 .app-theme .content{padding:24px;max-width:960px}
 .dashboard-heading{gap:18px}.dashboard-heading h1{font-size:20px}.dashboard-heading .eyebrow{font-size:8px}
 .dashboard-filter{max-width:none}.dashboard-filter label{display:none}
 .app-theme .dashboard-hero{min-height:188px;padding:22px 25px}.app-theme .dashboard-hero.student-hero{min-height:188px}
 .app-theme .programme-grid{grid-template-columns:190px minmax(0,1fr)}
 body.navigation-open{overflow:hidden}
 .app-theme .footer{padding-left:24px;padding-right:24px}
}
@media(max-width:760px){.app-theme .programme-grid{grid-template-columns:1fr}.app-theme .lesson-menu nav{max-height:230px;overflow:auto}.app-theme .support-grid{grid-template-columns:1fr}.dashboard-heading h1{font-size:18px}.dashboard-filter{gap:5px}.dashboard-filter button{font-size:11px}.dashboard-heading .eyebrow{max-width:210px}}
@media(max-width:600px){
 .app-theme{background:#f2f8ff}.app-theme.role-eleve{background:#f4f9ff}
 .app-theme .topbar{position:relative;min-height:146px;padding:15px 17px 13px;align-items:flex-start;justify-content:center;gap:0}
 .app-theme .header-brand{flex-direction:column;text-align:center;gap:5px;margin:0 auto}
 .header-brand .brand-logo{width:57px;height:57px}.header-brand .brand-copy{font-size:13px;line-height:1.15;letter-spacing:-.15px}.header-brand .brand-copy strong{font-size:15px}.header-brand .brand-copy small{font-size:11px!important;margin-top:2px}
 .app-theme .menu-toggle{position:absolute;left:12px;top:19px}
 .header-actions{position:absolute;right:12px;top:19px;gap:0}.header-actions .profile-toggle{display:none}.header-actions .notifications-button{color:#09296e}
 .app-theme .content{padding:15px 17px 24px;width:100%}
 .app-theme .page-heading{margin-bottom:20px}.app-theme .page-heading h1{font-size:23px}.app-theme .page-heading>a{margin-top:12px}
 .app-theme .panel{padding:18px;border-radius:11px}.app-theme .panel h2{font-size:17px}
 .dashboard-heading>div,.dashboard-hero,.dashboard-section-heading{display:none!important}
 .dashboard-heading{display:block;margin:0 0 13px}
 .dashboard-heading:has(.dashboard-filter){margin-bottom:15px}
 .dashboard-filter{justify-content:center;gap:7px;margin:0;padding:0;max-width:none}
 .dashboard-filter label{display:block;font-size:11px}
 .dashboard-filter select{padding:7px 25px 7px 10px!important;min-height:36px!important}
 .dashboard-filter button{min-height:36px;padding:7px 11px}
 .app-theme .dashboard-resources{grid-template-columns:1fr;gap:8px}
 .app-theme .dashboard-resources .resource-card{min-height:54px;flex-direction:row;justify-content:flex-start;align-items:center;padding:8px 11px;gap:13px;border-radius:9px;border-color:#e0eefb;background:linear-gradient(110deg,#fff,#fbfdff);box-shadow:0 2px 6px #1477bb07;text-align:left}
 .app-theme .dashboard-resources .resource-icon{width:32px;height:32px;border-radius:6px;color:#fff;background:var(--blue)}
 .dashboard-resources .resource-icon .ui-icon{width:23px;height:23px}
 .dashboard-resources .resource-icon{--icon-surface:#0789fb}.dashboard-resources .resource-icon.orange{--icon-surface:#08ad9c}.dashboard-resources .resource-icon.teal{--icon-surface:#ff9900}.dashboard-resources .resource-icon.royal{--icon-surface:#087bf9}.dashboard-resources .resource-icon.purple{--icon-surface:#7424d9}.dashboard-resources .resource-icon.cyan{--icon-surface:#0ab2bc}.dashboard-resources .resource-icon.slate{--icon-surface:#088dea}
 .dashboard-resources .resource-icon svg [stroke="white"]{stroke:var(--icon-surface)}.dashboard-resources .resource-icon svg [fill="white"]{fill:var(--icon-surface)}
 .app-theme .dashboard-resources .resource-icon.orange{background:#08ad9c}.app-theme .dashboard-resources .resource-icon.teal{background:#ff9900}.app-theme .dashboard-resources .resource-icon.royal{background:#087bf9}.app-theme .dashboard-resources .resource-icon.purple{background:#7424d9}.app-theme .dashboard-resources .resource-icon.cyan{background:#0ab2bc}.app-theme .dashboard-resources .resource-icon.gold{background:transparent;color:#ffb900}.app-theme .dashboard-resources .resource-icon.slate{background:#088dea}.app-theme .dashboard-resources .resource-icon.gold .ui-icon{width:29px;height:29px}
 .app-theme .dashboard-resources h3{font-size:12px;font-weight:750}.app-theme .dashboard-resources p{display:none}
 .app-theme .dashboard-resources .unavailable-card p{display:block;font-size:9px;margin-top:0;color:#91a0b2}
 .app-theme .dashboard-resources .active-card:hover{transform:none;box-shadow:0 2px 10px #1b70c518}
 .resource-chevron{display:block;margin-left:auto;color:#91b8db}.resource-chevron .ui-icon{width:16px;height:16px}
 .mobile-logout{display:block;margin:12px 0 0}.mobile-logout .logout{position:relative;justify-content:center;background:#fffafa;border:1px solid #f0e3e8;border-radius:8px;min-height:45px;font-size:12px;color:#112f70;padding:8px 12px}.mobile-logout .ui-icon{position:absolute;left:17px;color:#e44245;width:21px;height:21px}
 .mobile-recharge{display:flex;align-items:center;gap:13px;background:#edf5ff;color:#1d528e;font-size:11px;border:1px solid #dceafa;border-radius:8px;padding:10px 14px;margin-top:12px;min-height:44px}.mobile-recharge>.ui-icon{width:21px;height:21px}.mobile-recharge>.ui-icon:last-child{margin-left:auto;width:15px;height:15px}
 .dashboard-quote,.dashboard-subscription{display:none!important}
 .dashboard-lower-grid{display:block;margin:0}.dashboard-lower-grid>.panel{display:none}.dashboard-lower-grid>#resultats:target{display:block;margin-top:20px;scroll-margin-top:15px}
 .app-theme .footer{font-size:9px;padding:0 17px 20px;gap:3px}.app-theme .footer>span{display:inline}
 .app-theme .programme-grid{gap:16px}.app-theme .student-form{grid-template-columns:1fr}
 .app-theme .library-filter{gap:8px}.app-theme .branch-form.library-filter select{flex:1;min-width:100px;max-width:100%}
 .app-theme .form-end{display:block}.app-theme .form-end button{width:100%}
 .app-theme .page-order>div{flex-wrap:wrap;gap:8px}.app-theme .page-order label{flex:1 1 180px}
 .app-theme .series-row{flex-wrap:wrap;gap:10px}.app-theme .section-heading{flex-wrap:wrap}
 .app-theme .account-dialog{padding:29px 23px}
}
@media(min-width:601px) and (max-width:900px){.app-theme .student-hero h2{font-size:24px}.student-hero .hero-copy{width:48%}.student-hero .hero-subjects{font-size:9px}}
/* Accueil public et inscription : même palette et même identité. */
.login-page{background:linear-gradient(135deg,#d7ecff,#eef8ff 55%,#fff5d9);color:var(--ink)}
.login-wrap{border:1px solid #dbeaf7;box-shadow:0 20px 70px #173d7712}
.login-story{background:linear-gradient(140deg,#063571,#07569b);overflow:hidden}
.login-story .brand-logo{width:73px;height:73px}
.login-story .brand-copy,.login-story .brand-copy small{color:#fff!important}.login-story .brand-copy strong{color:#ffc11d}
.login-form .primary{background:linear-gradient(120deg,#076dcb,#104598);box-shadow:0 5px 15px #1060be20}
.login-form .secondary{border-color:#d9e9f7;color:#123e7c}
.login-form input,.login-form select{border-color:#d4e4f1}
@media(max-width:600px){.login-story{padding:24px}.login-story .brand-logo{width:59px;height:59px}.login-story .brand-copy{font-size:16px}.login-story .brand-copy strong{font-size:19px}.login-form{padding:27px 23px}.login-wrap{border:0}.login-story h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){.app-theme *{transition:none!important;scroll-behavior:auto!important}}
/* En-tête élève : logo, filière, matière et nom complet. */
.app-theme.role-eleve .topbar{justify-content:center;padding:14px 70px;min-height:160px}
.app-theme.role-eleve .header-brand{flex-direction:column;text-align:center;gap:6px;margin:0;max-width:100%}
.app-theme.role-eleve .header-brand .brand-copy{gap:3px}
.app-theme.role-eleve .header-actions{position:absolute;right:12px;top:19px;margin:0}
.app-theme.role-eleve .header-greeting,.app-theme.role-eleve .header-actions .profile-toggle{display:none}
.app-theme.role-eleve .menu-toggle{position:absolute;left:12px;top:19px}

.controle-solution-link audio{display:block;max-width:100%;margin:6px auto}.controle-solution-link [data-viewer-audio-help]{display:block}

/* Banque : les actions et leur contenu précèdent les leçons sélectionnables. */
.app-theme .programme-grid.exercise-management-selected{grid-template-columns:minmax(0,1fr)}
.exercise-management-selected>.lesson-menu{margin-top:16px}
.exercise-management-selected>.lesson-menu .lesson-menu-link{display:inline-block;margin:4px;max-width:100%;vertical-align:top}
