:root{color-scheme:light;font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*,:before,:after,body,button,input,select,textarea,h1,h2,h3,h4,h5,h6,table,th,td,span,p,label{font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}html.dark{color-scheme:dark}html{min-height:100%;height:auto;width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip;overflow-y:auto;touch-action:auto;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;backface-visibility:visible;-webkit-backface-visibility:visible}body{min-height:100dvh;height:auto;width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip;overflow-y:visible;touch-action:auto;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;backface-visibility:visible;-webkit-backface-visibility:visible}#root{min-height:100dvh;height:auto;width:100%;max-width:100%;overflow-x:clip;overflow-y:visible;touch-action:auto}*,:before,:after{box-sizing:border-box}#root :where(.flex,.grid)>*{min-width:0}#root :where(input,select,textarea,button,img,video,canvas){max-width:100%}#root :where(h1,h2,h3,h4,h5,h6,p,label,button,a){overflow-wrap:break-word;word-break:normal}@media screen{.print-id-card-view{display:none!important}}#root :where(.overflow-x-auto,.overflow-auto){max-width:100%;-webkit-overflow-scrolling:touch}html,body,#root,button,input,select,textarea{transition:background-color .16s ease,border-color .16s ease,color .16s ease}body{margin:0;background-color:#f1f5f9;color:#1e293b;-webkit-font-smoothing:antialiased}@media(max-width:640px){#root [role=dialog]{max-width:calc(100vw - .75rem)}#root .fixed.inset-0{max-width:100vw}#root table{font-size:.8125rem}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#64748bb3}html.dark body{background-color:#0b132b;color:#f8fafc}html.dark .bg-white,html.dark [class*="bg-white/"]{background-color:#1e293beb!important;border-color:#334155cc!important}html.dark .bg-gray-50,html.dark .bg-gray-100,html.dark .bg-slate-50{background-color:#1e293b!important}html.dark .bg-gray-200,html.dark .bg-slate-100{background-color:#334155!important}html.dark .text-gray-900,html.dark .text-gray-800,html.dark .text-gray-700,html.dark .text-slate-900,html.dark .text-slate-800,html.dark .text-slate-700{color:#f8fafc!important}html.dark .text-gray-600,html.dark .text-gray-500,html.dark .text-slate-600,html.dark .text-slate-500,html.dark .text-gray-400,html.dark .text-slate-400{color:#94a3b8!important}html.dark .text-gray-300,html.dark .text-slate-300{color:#cbd5e1!important}html.dark .text-\[\#1F4A59\]{color:#38bdf8!important}html.dark .border-gray-100,html.dark .border-gray-200,html.dark .border-gray-300,html.dark .border-slate-200,html.dark .border-slate-300,html.dark [class*="border-white/"]{border-color:#334155!important}html.dark input:not([type=checkbox]):not([type=radio]),html.dark select,html.dark textarea{background-color:#0f172a!important;border-color:#334155!important;color:#f8fafc!important}html.dark input::placeholder,html.dark textarea::placeholder{color:#64748b!important}html.dark header{background-color:#0f172ae6!important;border-color:#334155!important}html.dark aside{background-color:#091824!important;border-right:1px solid #1E293B!important}html.dark table th{background-color:#0f172a!important;color:#cbd5e1!important;border-color:#334155!important}html.dark table td{border-color:#334155!important}html.dark table tbody tr:hover{background-color:#33415559!important}html.dark .modal-content,html.dark div[role=dialog],html.dark .fixed.inset-0 .bg-white{background-color:#1e293b!important;color:#f8fafc!important;border-color:#334155!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #1F4A59;outline-offset:1px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.animate-fade-slide-up{animation:fadeSlideUp .5s cubic-bezier(.16,1,.3,1) both}.school-badge{--badge-accent: #087ace;--badge-soft: #e2f2ff;position:relative;box-sizing:border-box;flex:none;width:54mm;height:85.6mm;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:8mm 3.5mm 3.2mm;border:1px solid #d9e4f1;border-radius:4mm;background:#fff;color:#10233d;font-family:Plus Jakarta Sans,system-ui,sans-serif;box-shadow:0 8px 25px #0f233c1f;overflow-wrap:break-word;word-break:normal;-webkit-print-color-adjust:exact;print-color-adjust:exact}.school-badge--teacher{--badge-accent: #008c7e;--badge-soft: #d8f6f0}.school-badge--administrative{--badge-accent: #df851d;--badge-soft: #fff0d6}.school-badge__top-wave,.school-badge__bottom-wave{position:absolute;z-index:-1;pointer-events:none;background:var(--badge-accent)}.school-badge__top-wave{top:-8mm;right:-7mm;width:35mm;height:28mm;border-radius:0 0 0 85%;transform:rotate(-6deg)}.school-badge__bottom-wave{bottom:-8mm;right:-7mm;width:49mm;height:25mm;border-radius:92% 0 0;transform:rotate(-9deg)}.school-badge__slot{position:absolute;top:2mm;left:50%;transform:translate(-50%);width:11mm;height:2.6mm;border-radius:8mm;background:#aab8c6;box-shadow:inset 0 1px 2px #7c899b}.school-badge__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.2mm;min-height:14mm}.school-badge__brand{display:flex;align-items:center;gap:1.2mm;min-width:0;max-width:26mm}.school-badge__logo{width:8mm;height:8mm;object-fit:contain;flex:none}.school-badge__logo-icon{width:7mm;height:7mm;color:#0874b6;flex:none}.school-badge__brand-name{font-weight:900;font-size:12px;line-height:1.15;letter-spacing:.02em;color:#0d4c7e}.school-badge__brand-subtitle{max-width:19mm;font-size:7px;line-height:1.25;font-weight:700;max-height:3.3em;overflow:hidden;color:#53677d}.school-badge__year{display:flex;flex-direction:column;text-align:right;color:#fff;min-width:18mm;max-width:19mm;line-height:1.2}.school-badge__year span{font-size:6.5px;font-weight:700}.school-badge__year strong{font-size:9px;line-height:1.25;margin-top:1mm;white-space:nowrap}.school-badge__identity{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:0;padding:0 .8mm;text-align:center}.school-badge__portrait{flex:none;width:29mm;height:28mm;border-radius:2.5mm;overflow:hidden;background:#e1ecf4;border:1px solid #e2e8f0}.school-badge__portrait img{width:100%;height:100%;object-fit:cover;display:block}.school-badge__portrait-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#245574;font-size:31px;font-weight:800;background:#e4edf5}.school-badge__full-name{margin-top:1.8mm;max-width:44mm;font-size:13.5px;line-height:1.12;font-weight:900;min-height:3.5mm;max-height:9mm;overflow:hidden;color:#101d33}.school-badge__role{margin-top:1.3mm;max-width:45mm;padding:1mm 2mm;border-radius:5mm;background:var(--badge-soft);font-size:8.5px;line-height:1.2;font-weight:700;max-height:8mm;overflow:hidden;color:#172a3f}.school-badge__identifier{margin-top:1.5mm;max-width:46mm;font-size:8px;font-weight:800;line-height:1.2;color:#24364c;overflow-wrap:anywhere}.school-badge__bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:2mm;min-height:13mm}.school-badge__qr{display:flex;align-items:center;justify-content:center;width:14.8mm;height:14.8mm;padding:1mm;background:#fff;border-radius:1mm}.school-badge__qr svg{width:12.7mm;height:12.7mm}.school-badge__category{display:flex;flex-direction:column;align-items:center;justify-content:center;width:21mm;text-align:center;color:#fff}.school-badge__category svg{width:6mm;height:6mm;margin-bottom:.5mm}.school-badge__category strong{font-size:8px;font-weight:800;letter-spacing:.02em}.school-badge--back{justify-content:center;padding-top:10mm}.school-badge__back{height:100%;display:flex;flex-direction:column;text-align:center;align-items:center;justify-content:center}.school-badge__back-logo{display:flex;align-items:center;gap:2mm;color:#115b91}.school-badge__back-logo svg,.school-badge__back-school-logo{width:10mm;height:10mm;object-fit:contain}.school-badge__back-logo strong{font-size:18px;font-weight:900}.school-badge__back-school{margin-top:1mm;max-width:45mm;color:#455c77;font-size:9px;font-weight:700}.school-badge__back-message{margin-top:9mm;color:#184e78;font-size:11px;font-weight:800}.school-badge__back-rules{display:flex;flex-direction:column;gap:1.7mm;margin-top:7mm;padding:0 1.5mm;color:#475569;font-size:8.5px;line-height:1.45}.school-badge__back-rules p{margin:0}.school-badge__back-contact{margin-top:auto;padding-bottom:4mm;color:#1a527f;font-size:8px;max-width:44mm}.school-badge__back-contact p{margin:0 0 1mm}.school-badge__back-contact strong{font-weight:800}.school-badge-print-sheet{display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap;gap:8mm}@media print{.school-badge{box-shadow:none!important;border-radius:3mm!important;break-inside:avoid!important;page-break-inside:avoid!important}.school-badge,.school-badge *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.school-badge :is(p,span,strong){color:inherit}.school-badge__year,.school-badge__year span,.school-badge__year strong,.school-badge__category,.school-badge__category strong{color:#fff!important}.school-badge__brand-name,.school-badge__brand-subtitle,.school-badge__full-name,.school-badge__role,.school-badge__identifier{color:#10233d!important}.school-badge__back-rules p,.school-badge__back-school,.school-badge__back-contact p{color:#475569!important}.school-badge-print-sheet{flex-wrap:nowrap!important;gap:8mm!important}}@page{size:A4 portrait;margin:5mm}@media print{html,body{background:#fff!important;color:#0f172a!important;font-size:11pt!important;line-height:1.4!important;width:100%!important;min-width:100%!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}header,aside,nav,.sidebar,[data-sidebar],.lg\:pl-72,div[class*="lg:pl-72"],div[class*="fixed inset-0"]:not(.allow-print-modal),div[class*="fixed top-"],div[class*="fixed bottom-"],div[class*="fixed right-"],div[class*=z-50]:not(.allow-print-modal),div[class*=z-40]:not(.allow-print-modal),div[class*=z-30],button:not(.print-include-btn),input,select,textarea,.no-print,.print-hidden,.print\:hidden,.hide-on-print,[aria-label="Ouvrir le menu"],[title*=WhatsApp],[title*=Rechercher],[title*=Fermer]{display:none!important;visibility:hidden!important}div[class*="lg:pl-72"],main,#root,.app-container,div[class*=min-h-screen]{padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;position:static!important;box-shadow:none!important;border:none!important;background:transparent!important}main{padding:0!important}body[data-print-mode=bulletin],.printing-bulletin{margin:0!important;padding:0!important}#bulletin-content,.bulletin-print-wrapper{width:100%!important;max-width:100%!important;margin:0 auto!important;padding:4mm 6mm!important;box-shadow:none!important;border-radius:0!important;background:#fff!important;color:#0f172a!important;transform:none!important;font-size:9pt!important;page-break-after:avoid!important;break-after:avoid!important}#bulletin-content table{font-size:8.5pt!important}#bulletin-content th,#bulletin-content td{padding:4px 6px!important}#bulletin-content header{display:flex!important;visibility:visible!important;border-bottom:3px solid #0f172a!important;padding-bottom:8px!important;margin-bottom:12px!important}#bulletin-content footer{display:flex!important;visibility:visible!important;margin-top:14px!important;padding-top:8px!important;border-top:3px solid #0f172a!important}.print-id-card-view{display:none!important}body[data-print-target=id-card] .print-id-card-view,body.printing-id-card .print-id-card-view,.show-id-card-print .print-id-card-view{display:block!important;visibility:visible!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding:6mm 5mm!important;background:#fff!important}body[data-print-target=id-card] .hide-on-id-card-print,body.printing-id-card .hide-on-id-card-print{display:none!important;visibility:hidden!important}.id-card-print-badge{box-shadow:none!important;border:1.5px solid #0f172a!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;break-inside:avoid!important;page-break-inside:avoid!important}.id-card-cut-guide{border:1px dashed #94a3b8!important}.print-only,.print\:block,.show-on-print{display:block!important;visibility:visible!important}.print\:flex{display:flex!important;visibility:visible!important}.print\:grid{display:grid!important;visibility:visible!important}div,section,article{box-shadow:none!important;text-shadow:none!important}.border,[class*=border-]{border-color:#cbd5e1!important}table{width:100%!important;border-collapse:collapse!important;page-break-inside:auto!important;break-inside:auto!important}tr{page-break-inside:avoid!important;break-inside:avoid!important;page-break-after:auto!important;break-after:auto!important}thead{display:table-header-group!important}tfoot{display:table-footer-group!important}th,td{border-bottom:1px solid #cbd5e1!important;padding:5px 7px!important;font-size:9pt!important;color:#0f172a!important}th{background-color:#f1f5f9!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.5px!important}.page-break,.break-before-page,.page-break-before{page-break-before:always!important;break-before:page!important}.break-after-page,.page-break-after{page-break-after:always!important;break-after:page!important}.break-inside-avoid,.page-break-inside-avoid,.avoid-break{page-break-inside:avoid!important;break-inside:avoid!important}h1,h2,h3,h4,h5,h6{color:#0f172a!important;page-break-after:avoid!important;break-after:avoid!important}p,span,li,dt,dd{color:#1e293b!important;orphans:3!important;widows:3!important}a{text-decoration:none!important;color:inherit!important}body[data-print-target=id-card] footer,body[data-print-mode=bulletin] footer:not(#bulletin-content footer){display:none!important}}.pb-safe{padding-bottom:env(safe-area-inset-bottom,1rem)}.pt-safe{padding-top:env(safe-area-inset-top,.5rem)}.mb-safe{margin-bottom:env(safe-area-inset-bottom,1rem)}*,*:before,*:after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html,body{touch-action:manipulation;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";backface-visibility:hidden;-webkit-backface-visibility:hidden}*{-webkit-tap-highlight-color:transparent}.animate-fade-in{animation:smoothFadeIn .2s cubic-bezier(.16,1,.3,1) forwards;will-change:opacity}@keyframes smoothFadeIn{0%{opacity:.92}to{opacity:1}}table{border-collapse:separate;border-spacing:0;text-rendering:optimizeLegibility}tr,td,th{backface-visibility:hidden;-webkit-backface-visibility:hidden}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.mobile-table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}@media(max-width:1024px){.touch-target{min-height:44px;min-width:44px}button,a{user-select:none;-webkit-user-select:none}}
