:root{--primary:#059341;--primary-dark:#03692d;--primary-darker:#024d20;--primary-light:#f0fdf4;--primary-border:#bbf7d0;--primary-text:#14532d;--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;overflow-x:hidden}body{margin:0;padding:0;font-family:Inter,-apple-system,sans-serif}#root{flex-direction:column;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.photo-eleve{object-fit:cover;cursor:pointer;z-index:1;border:2px solid #bfdbfe;border-radius:50%;width:32px;height:32px;transition:all .25s;position:relative}.photo-eleve:hover{z-index:999;border:3px solid #1b4f8a;position:absolute;transform:translate(-20px,-20px);box-shadow:0 8px 24px #0000004d;width:80px!important;height:80px!important}.photo-wrapper{flex-shrink:0;width:36px;height:36px;position:relative}.photo-eleve-sm{object-fit:cover;cursor:pointer;border:2px solid #bfdbfe;border-radius:50%;width:28px;height:28px;transition:all .2s}.photo-eleve-sm:hover{z-index:999;border:3px solid #1b4f8a;width:70px;height:70px;position:absolute;box-shadow:0 8px 24px #0000004d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@media (width>=769px){.mobile-menu-btn{display:none!important}}@media (width<=768px){.sidebar{z-index:9999!important;width:260px!important;height:100vh!important;transition:transform .3s!important;display:flex!important;position:fixed!important;top:0!important;left:0!important;transform:translate(-100%)!important}.sidebar-mobile-open{transform:translate(0)!important}.sidebar-overlay{z-index:9998;background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay-open{display:block!important}.main-content{width:100%!important;margin-left:0!important;padding:12px!important}.main-content-topbar{padding:12px 16px!important}table{min-width:600px!important}.admin-table-wrapper,.prof-table-wrapper,.table-responsive{-webkit-overflow-scrolling:touch!important;width:100%!important;overflow-x:auto!important}.admin-table-wrapper:after,.prof-table-wrapper:after{content:"← Faites défiler →"!important;text-align:center!important;color:#94a3b8!important;padding:4px!important;font-size:11px!important;display:block!important}.topbar{z-index:100!important;justify-content:space-between!important;align-items:center!important;height:56px!important;padding:0 12px!important;display:flex!important;position:sticky!important;top:0!important}.header-btn{padding:6px 10px!important;font-size:12px!important}.mobile-logout{display:block!important}.cards-grid{grid-template-columns:1fr!important}.table-responsive{overflow-x:auto!important}.page-title{font-size:18px!important}.mobile-menu-btn{display:block!important}.topbar-nav{display:none!important}.topbar-semester{padding:2px 8px!important;font-size:10px!important}.topbar-right{align-items:center!important;gap:8px!important;display:flex!important}.profile-dropdown{display:flex!important}.aide-btn,.topbar-username{display:none!important}.prof-table-wrapper{-webkit-overflow-scrolling:touch!important;overflow-x:auto!important}.prof-stats-grid{grid-template-columns:repeat(2,1fr)!important}.classes-tabs{white-space:nowrap!important;gap:8px!important;padding-bottom:4px!important;display:flex!important;overflow-x:auto!important}.prof-header{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}.eval-btn{width:24px!important;height:22px!important;font-size:8px!important}.prof-dashboard{padding:12px!important}.pp-header{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}.pp-stats-grid{grid-template-columns:repeat(2,1fr)!important}.pp-liste-eleves{max-height:300px!important}.pp-table-wrapper{-webkit-overflow-scrolling:touch!important;overflow-x:auto!important}.pp-navbar{flex-wrap:wrap!important;gap:6px!important}.pp-domaine-content{flex-direction:column!important}.pp-radar{border-top:1px solid #e2e8f0!important;border-left:none!important;flex:0 0 100%!important}.pp-dashboard{padding:0 0 16px!important}.admin-stats-grid{grid-template-columns:repeat(2,1fr)!important}.admin-table-wrapper{-webkit-overflow-scrolling:touch!important;overflow-x:auto!important}.admin-header{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}.admin-header-btns{flex-wrap:wrap!important;gap:8px!important;display:flex!important}.admin-dashboard{padding:12px!important}.admin-col-hide{display:none!important}}
