:root{--bg:#eef2f8;--panel:#fff;--panel-2:#fff;--line:#e4e8ea;--txt:#111827;--muted:#6b7280;--accent:#0a3d91;--accent-2:#0b2a6b;--danger:#b3413e}*{box-sizing:border-box}body{background:var(--bg);color:var(--txt);margin:0;font-family:Inter,Segoe UI,Tahoma,sans-serif}:root{--auth-ink:#1f2937;--auth-paper:#f4f4f5;--auth-border:#e5e7eb;--auth-muted:#6b7280;--auth-brand:#3b82f6;--auth-brand-dark:#4f46e5;--auth-brand-soft:#dbeafe}.theme-toggle-btn{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);color:var(--text-primary,#1f2937);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-family:inherit;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.theme-toggle-btn svg{flex-shrink:0;width:16px;height:16px}.theme-toggle-btn:hover{border-color:color-mix(in srgb, var(--accent-blue,#3b82f6) 40%, transparent);transform:translateY(-1px)}.theme-toggle-btn--auth{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;position:absolute;top:16px;right:16px}.theme-toggle-btn--topbar{width:36px;height:36px}.login-scene{--si-bg:#eef2f8;--si-shell:#fff;--si-panel:#fff;--si-text:#111827;--si-muted:#6b7280;--si-input:#f3f4f6;--si-placeholder:#9ca3af;--si-ring:#9ca3af;--si-btn:#111827;--si-btn-text:#fff;--si-btn-hover:#1f2937;--si-google:#f3f4f6;--si-logo:#00000014;--si-error:#dc2626;--si-ok:#059669;--si-brand-text:#111827;--si-brand-muted:#4b5563;background:var(--si-bg);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px 16px;display:flex;position:relative}html[data-theme=dark] .login-scene{--si-bg:#0a0a0a;--si-shell:#000;--si-panel:#000;--si-text:#fff;--si-muted:#9ca3af;--si-input:#1a1a1a;--si-placeholder:#6b7280;--si-ring:#4b5563;--si-btn:#fff;--si-btn-text:#111827;--si-btn-hover:#e5e7eb;--si-google:#1f1f1f;--si-logo:#ffffff29;--si-error:#f87171;--si-ok:#34d399;--si-brand-text:#fff;--si-brand-muted:#c5cdd4}html[data-theme=dark] .theme-toggle-btn--auth{color:#f5f5f5;background:#ffffff14;border-color:#ffffff1f}.login-shell{background:var(--si-shell);border-radius:20px;grid-template-columns:1fr 1fr;width:min(1080px,100%);min-height:620px;display:grid;overflow:hidden;box-shadow:0 25px 50px -12px #0000002e}html[data-theme=dark] .login-shell{box-shadow:0 25px 50px -12px #000000a6}.login-brand{background:#dbe7fb;align-items:center;min-height:100%;padding:48px 40px;display:flex;position:relative;overflow:hidden}html[data-theme=dark] .login-brand{background:#07140f}.login-brand-glow{pointer-events:none;background:radial-gradient(70% 55% at 50% 42%,#2e8c5a61,#0000 68%),radial-gradient(45% 35% at 18% 82%,#145a3747,#0000 60%),linear-gradient(165deg,#e7f3ec 0%,#d5e8dc 100%);position:absolute;inset:0}html[data-theme=dark] .login-brand-glow{background:radial-gradient(80% 60% at 50% 42%,#2e965f8c,#0000 70%),radial-gradient(50% 40% at 18% 85%,#10503273,#0000 62%),linear-gradient(165deg,#0c1c16 0%,#06110c 100%)}.login-scene.tenant-locked .login-brand{background:var(--login-brand-bg,#dbe7fb)}.login-scene.tenant-locked .login-brand-glow{background:radial-gradient(ellipse 58% 48% at 52% 40%, var(--login-brand-glow,#2e8c5a61) 0%, transparent 70%), radial-gradient(ellipse 42% 36% at 16% 80%, var(--login-brand-glow-2,#145a3747) 0%, transparent 66%);filter:blur(42px);inset:-18%;transform:translateZ(0)}html[data-theme=dark] .login-scene.tenant-locked .login-brand{background:var(--login-brand-bg,#07140f)}html[data-theme=dark] .login-scene.tenant-locked .login-brand-glow{background:radial-gradient(ellipse 62% 52% at 50% 40%, var(--login-brand-glow,#2e965f8c) 0%, transparent 72%), radial-gradient(ellipse 46% 38% at 18% 84%, var(--login-brand-glow-2,#10503273) 0%, transparent 68%);filter:blur(48px);inset:-18%}.login-scene.tenant-locked .login-brand-title,.login-scene.tenant-locked .login-brand .login-mark{color:var(--login-brand-text,var(--si-brand-text))}.login-scene.tenant-locked .login-brand-sub{color:var(--login-brand-muted,var(--si-brand-muted))}.login-scene.tenant-locked .login-brand .login-mark{background:var(--si-logo)}.login-brand-inner{z-index:1;width:100%;position:relative}.login-brand .login-mark{background:var(--si-logo);color:var(--si-brand-text);box-shadow:none;margin-bottom:28px}.login-brand-hero{align-items:flex-start;gap:20px;display:flex}.login-brand-title{color:var(--si-brand-text);letter-spacing:-.03em;flex:1;margin:0;font-size:clamp(1.85rem,3.4vw,2.75rem);font-weight:700;line-height:1.15}.login-brand-sub{color:var(--si-brand-muted);flex:1;margin:.35rem 0 0;font-size:.92rem;line-height:1.55}.login-panel{background:var(--si-panel);flex-direction:column;justify-content:center;padding:48px 44px;display:flex}.login-mark{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex;overflow:hidden}.login-mark img{object-fit:cover;width:100%;height:100%}.login-mark-icon{width:1.35rem;height:1.35rem}.login-mark-initials{letter-spacing:.02em;font-size:.8rem;font-weight:700}.login-title{color:var(--si-text);text-align:left;letter-spacing:-.02em;margin:0 0 6px;font-size:1.65rem;font-weight:700;line-height:1.25}.login-subtitle{color:var(--si-muted);margin:0 0 28px;font-size:.875rem}.login-form{flex-direction:column;gap:1.15rem;width:100%;display:flex}.login-fields{flex-direction:column;gap:.75rem;width:100%;display:flex}.login-input{background:var(--si-input);width:100%;min-width:0;color:var(--si-text);border:1px solid #0000;border-radius:.7rem;outline:none;padding:.8rem 1rem;font-family:inherit;font-size:.875rem}.login-input::placeholder{color:var(--si-placeholder)}.login-input:focus{box-shadow:0 0 0 2px var(--si-ring)}.login-input[readonly]{opacity:.7}.login-password-wrap{position:relative}.login-input--password{padding-right:2.75rem}.login-password-toggle{inset-block:0;width:2.75rem;color:var(--si-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:0}.login-password-toggle svg{width:18px;height:18px}.login-actions{flex-direction:column;width:100%;display:flex}.login-submit,.login-google{cursor:pointer;border:none;border-radius:.7rem;width:100%;padding:.8rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:600}.login-submit{background:var(--si-btn);color:var(--si-btn-text);margin-bottom:.7rem}.login-submit:disabled{opacity:.55;cursor:not-allowed}.login-google{background:var(--si-google);color:var(--si-text);justify-content:center;align-items:center;gap:.5rem;margin-bottom:.85rem;display:flex}.login-google:hover{filter:brightness(1.08)}.login-google-icon{flex-shrink:0;width:1.15rem;height:1.15rem}.login-note{text-align:left;margin:0;font-size:.875rem}.login-note--error{color:var(--si-error);background:color-mix(in srgb, var(--si-error) 12%, transparent);border:1px solid color-mix(in srgb, var(--si-error) 28%, transparent);border-radius:.65rem;padding:.65rem .8rem;line-height:1.35}.login-note--ok{color:var(--si-ok)}.login-footer{text-align:center;width:100%;color:var(--si-muted);margin:0;font-size:.8rem}.login-footer a{color:var(--si-text);font-weight:600;text-decoration:none}.login-footer a:hover{text-decoration:underline}.signup-shell{min-height:680px}.signup-panel{justify-content:flex-start;max-height:min(90vh,760px);overflow-y:auto}.signup-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.signup-span-2{grid-column:1/-1}.signup-colors{flex-wrap:wrap;gap:1rem;width:100%;display:flex}.signup-color-field{color:var(--si-muted);cursor:pointer;align-items:center;gap:.5rem;font-size:.75rem;display:inline-flex}.signup-color-field input[type=color]{cursor:pointer;background:0 0;border:none;border-radius:8px;width:28px;min-width:28px;height:28px;padding:0}@media (width<=860px){.login-shell{grid-template-columns:1fr;min-height:auto}.login-brand{min-height:200px;padding:32px 24px}.login-brand-hero{flex-direction:column;gap:10px}.login-panel,.signup-panel{max-height:none;padding:32px 22px}.signup-grid{grid-template-columns:1fr}.signup-span-2{grid-column:auto}.login-scene:not(.preinsc-scene){padding:max(20px, env(safe-area-inset-top,0px)) 18px max(24px, env(safe-area-inset-bottom,0px));background:var(--si-bg);align-items:center}.login-scene:not(.preinsc-scene) .login-shell,.login-scene:not(.preinsc-scene) .signup-shell{width:min(440px,100%);min-height:0;box-shadow:none;background:0 0;border-radius:0;gap:16px;margin:0 auto;overflow:visible}.login-scene:not(.preinsc-scene) .login-brand{text-align:center;background:0 0;justify-content:center;min-height:0;padding:48px 8px 0}.login-scene:not(.preinsc-scene) .login-brand-glow{display:none}.login-scene:not(.preinsc-scene) .login-brand-inner{flex-direction:column;align-items:center;display:flex}.login-scene:not(.preinsc-scene) .login-brand .login-mark{background:var(--si-panel);border:1px solid var(--si-input);width:56px;height:56px;box-shadow:none;color:var(--si-text);margin:0 0 12px}.login-scene:not(.preinsc-scene) .login-brand-hero{text-align:center;align-items:center;gap:4px}.login-scene:not(.preinsc-scene) .login-brand-title{letter-spacing:-.02em;color:var(--si-brand-text);font-family:"Source Serif 4",Georgia,serif;font-size:1.45rem;font-weight:600}.login-scene:not(.preinsc-scene) .login-brand-sub{display:none}.login-scene:not(.preinsc-scene) .login-panel,.login-scene:not(.preinsc-scene) .signup-panel{border:1px solid var(--si-input);background:var(--si-panel);box-shadow:none;border-radius:16px;padding:26px 22px 22px}.login-scene:not(.preinsc-scene) .login-title{text-align:left;letter-spacing:-.03em;color:var(--si-text);font-size:1.25rem}.login-scene:not(.preinsc-scene) .login-subtitle{text-align:left;color:var(--si-muted);margin-bottom:20px}.login-scene:not(.preinsc-scene) .login-input{background:var(--si-input);min-height:50px;color:var(--si-text);border:1px solid #0000;border-radius:10px;padding:.85rem 1rem;font-size:16px}.login-scene:not(.preinsc-scene) .login-submit{background:var(--si-btn);min-height:50px;color:var(--si-btn-text);border-radius:10px}.login-scene:not(.preinsc-scene) .login-google{background:var(--si-google);min-height:50px;color:var(--si-text);border:1px solid #0000;border-radius:10px}.login-scene:not(.preinsc-scene) .login-footer,.login-scene:not(.preinsc-scene) .login-footer a{color:var(--si-muted)}.login-scene:not(.preinsc-scene) .login-footer a{color:var(--si-text)}.login-scene:not(.preinsc-scene) .theme-toggle-btn--auth{top:max(12px, env(safe-area-inset-top,0px));width:40px;height:40px;box-shadow:none;border-radius:10px;right:14px}.login-scene.tenant-locked:not(.preinsc-scene) #ecoleCode{display:none}}.auth-scene{background:linear-gradient(135deg,#eff6ff 0%,#e0e7ff 100%);justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.auth-card{border:1px solid var(--auth-border);background:#fff;border-radius:16px;width:min(880px,100%);min-height:560px;animation:.45s both login-card-in;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #2563eb26}.auth-card-lg{min-height:660px}@media (prefers-reduced-motion:reduce){.auth-card{animation:none}}.auth-brand{color:#f2f7f5;background:linear-gradient(165deg,#3b82f6 0%,#4f46e5 100%);flex-direction:column;flex-shrink:0;justify-content:space-between;width:36%;padding:36px 32px;display:flex}.auth-mark{letter-spacing:.01em;color:#fff;background:#ffffff24;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-family:Sora,Inter,sans-serif;font-size:16px;font-weight:700;display:flex;overflow:hidden}.auth-mark img{object-fit:cover;width:100%;height:100%}.auth-brand-body{margin-top:22px}.auth-brand-title{color:#fff;margin:0 0 10px;font-family:Sora,Inter,sans-serif;font-size:21px;font-weight:700;line-height:1.25}.auth-brand-tagline{color:#f2f7f5d1;max-width:30ch;margin:0;font-size:13.5px;line-height:1.6}.auth-brand-tagline strong{color:#fff;font-weight:600}.auth-brand-list{flex-direction:column;gap:10px;margin:26px 0 0;padding:0;list-style:none;display:flex}.auth-brand-list li{color:#f2f7f5d9;padding-left:16px;font-size:12.5px;position:relative}.auth-brand-list li:before{content:"";background:#f2f7f5a6;border-radius:50%;width:5px;height:5px;position:absolute;top:7px;left:0}.auth-brand-steps{flex-direction:column;gap:14px;margin:26px 0 0;padding:0;list-style:none;display:flex}.auth-brand-steps li{color:#f2f7f5d9;align-items:baseline;gap:10px;font-size:12.5px;display:flex}.auth-brand-steps li b{color:#fff;flex-shrink:0;font-size:12px;font-weight:700}.auth-brand-foot{color:#f2f7f5bf;border-top:1px solid #ffffff29;margin-top:18px;padding-top:18px;font-size:12.5px}.auth-brand-foot a{color:#fff;text-underline-offset:3px;font-weight:600;text-decoration:underline}.auth-brand-foot a:hover{color:#fffc}.auth-panel{flex-direction:column;flex:1;justify-content:center;padding:44px 48px;display:flex}.auth-panel-scroll{justify-content:flex-start;padding-top:40px;padding-bottom:40px;overflow-y:auto}.auth-panel-inner{max-width:360px}.auth-card-lg .auth-panel-inner{max-width:520px}.auth-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--auth-brand);margin:0 0 8px;font-size:12px;font-weight:600}.auth-panel-title{color:var(--auth-ink);margin:0 0 6px;font-family:Sora,Inter,sans-serif;font-size:26px;font-weight:700}.auth-panel-sub{color:var(--auth-muted);margin:0 0 26px;font-size:13.5px}.auth-form{flex-direction:column;display:flex}.auth-field{margin-bottom:16px;display:block}.auth-field-label{color:#374151;margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.auth-input{border:1px solid var(--auth-border);width:100%;min-width:0;color:var(--auth-ink);background:#f9fafb;border-radius:8px;outline:none;padding:11px 13px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:#9ca3af}.auth-input:focus{border-color:var(--auth-brand);background:#fff;box-shadow:0 0 0 3px #3b82f633}.auth-input[readonly]{color:var(--auth-muted);background:#f3f4f6}.auth-input--select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg,#0000 50%,#9ca3af 50%),linear-gradient(135deg,#9ca3af 50%,#0000 50%);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px;padding-right:34px}.auth-grid-2{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.auth-colors{gap:22px;margin-bottom:16px;display:flex}.auth-color-field{align-items:center;gap:9px;display:inline-flex}.auth-color-field span{color:#374151;font-size:12.5px;font-weight:600}.auth-color-field input[type=color]{border:1px solid var(--auth-border);cursor:pointer;background:0 0;border-radius:8px;width:28px;min-width:28px;height:28px;padding:0}.auth-submit{color:#fff;cursor:pointer;background:linear-gradient(90deg,#3b82f6 0%,#4f46e5 100%);border:none;border-radius:8px;width:100%;margin-top:8px;padding:12px;font-family:inherit;font-size:14.5px;font-weight:600;transition:filter .15s,transform .1s,box-shadow .15s}.auth-submit:hover{filter:brightness(1.05);box-shadow:0 10px 24px #3b82f64d}.auth-submit:active{transform:translateY(1px)}.auth-note{margin:2px 0 4px;font-size:13px}.auth-note--error{color:#b3261e}.auth-note--ok{color:#1e7a4f}.auth-scene.tenant-locked .auth-brand{background:linear-gradient(165deg, var(--accent) 0%, var(--accent-2) 100%)}.auth-scene.tenant-locked .auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.auth-scene.tenant-locked .auth-submit{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-2) 100%)}.auth-scene.tenant-locked .auth-submit:hover{box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 30%, transparent)}.auth-scene.tenant-locked .auth-kicker{color:var(--accent)}@media (width<=820px){.auth-card,.auth-card-lg{flex-direction:column;min-height:auto}.auth-brand{width:100%;padding:28px 28px 24px}.auth-brand-list,.auth-brand-steps{flex-flow:wrap;gap:12px 20px;margin-top:18px}.auth-panel{padding:32px 28px}.auth-panel-inner,.auth-card-lg .auth-panel-inner{max-width:none}.auth-grid-2{grid-template-columns:1fr}.auth-brand-foot{display:none}}.app-shell{grid-template-columns:240px 1fr;gap:16px;max-width:1240px;margin:32px auto;padding:0 16px;display:grid}.card{background:linear-gradient(170deg, var(--panel) 0%, var(--panel-2) 100%);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 12px 30px #554e7f1a}.workspace{min-width:0}.sidebar{height:fit-content;position:sticky;top:16px}.brand-title{margin:0;font-size:1.25rem}.brand-logo{object-fit:cover;border:1px solid var(--line);border-radius:12px;width:52px;height:52px;margin-bottom:10px}.brand-subtitle{color:var(--muted);margin:4px 0 0;font-size:.9rem}.side-nav{gap:10px;margin-top:16px;display:grid}.nav-item{color:#fff;background:#111;border:1px solid #111;justify-content:flex-start;width:calc(100% - 18px);margin-left:auto}.nav-item:hover{background:#000}.nav-item.active{color:#fff;background:#000;border:1px solid #000}.side-note{margin-top:14px;font-size:.85rem}.header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.title{color:#322e52;margin:0;font-size:1.4rem}.subtitle{color:var(--muted);margin:6px 0 0;font-size:.95rem}.hero{justify-content:space-between;align-items:center;display:flex}.hero-badge{text-align:center;border:1px solid var(--line);background:linear-gradient(135deg,#f3f1ff,#ece9ff);border-radius:14px;min-width:140px;padding:12px}.badge-label{color:var(--muted);font-size:.8rem}.badge-value{margin-top:6px;font-weight:700}.grid{gap:14px;display:grid}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{border:1px solid var(--line);background:#f8f7ff;border-radius:12px;padding:14px}.metric .label{color:var(--muted);font-size:.85rem}.metric .value{margin-top:7px;font-size:1.2rem;font-weight:700}.row{flex-wrap:wrap;gap:10px;display:flex}.color-field{color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.color-field input[type=color]{background:0 0;border:0;width:36px;min-width:36px;height:28px;padding:0}input,button,select{border:1px solid var(--line);color:var(--txt);background:#fff;border-radius:10px;padding:10px 12px;font-size:.95rem}input{min-width:180px}input[type=checkbox]{width:auto;min-width:auto;padding:0}button{cursor:pointer;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border:none;font-weight:700}button.ghost{border:1px solid var(--line);color:var(--txt);background:#fff}.section-title{margin:0 0 12px;font-size:1.06rem}table{border-collapse:collapse;border-radius:12px;width:100%;overflow:hidden}th,td{border-bottom:1px solid var(--line);text-align:left;padding:10px;font-size:.93rem}th{color:var(--muted);font-weight:600}.error{color:var(--danger)}.ok{color:#65d6b5}.muted{color:var(--muted)}.tabs{flex-wrap:wrap;gap:10px;display:flex}button.active{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border:none}@media (width<=920px){.app-shell{grid-template-columns:1fr}.grid.cols-4,.grid.cols-3{grid-template-columns:1fr 1fr}}@media (width<=620px){.grid.cols-4,.grid.cols-3{grid-template-columns:1fr}}#app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}#app:has(.login-scene){-webkit-overflow-scrolling:touch;height:auto;min-height:100dvh;overflow:hidden auto}.school-exact{--sidebar-w:240px;--sidebar-collapsed:68px;--bg:#eef2f8;--surface:#fff;--border:#e4e8ea;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#6b7280;--accent-blue:#0a3d91;--accent-green:#0a3d91;--accent-rose:#b3413e;--accent-amber:#9a6b12;--accent-purple:#0a3d91;--accent-teal:#0a3d91;--btn-bg:#0b1a3a;--btn-text:#fff;--btn-hover:#12275a;--sidebar-bg:#f3f6fc;--sidebar-text:#4b5563;--topbar-bg:#fff;--link-color:#0b2a6b;--stat-card-1:#dbe7fb;--stat-card-2:#1565d8;--stat-card-3:#00b4f0;--stat-card-4:#7aa7e8;--shadow-sm:0 1px 2px #1118270a;--shadow-md:0 18px 40px -18px #11182724;--radius:16px;--radius-sm:11px;--focus-ring:0 0 0 3px color-mix(in srgb, var(--accent-blue) 18%, transparent);--transition:all .16s ease;background:var(--bg);height:100dvh;color:var(--text-primary);font-size:14px;display:flex;position:relative;overflow:hidden}.school-exact[data-density=compact]{font-size:13px}.school-exact[data-density=compact] .topbar{height:52px}.school-exact[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.school-exact[data-theme=dark] .card,.school-exact[data-theme=dark] .form-card,.school-exact[data-theme=dark] .mini-stat{box-shadow:none;background:#0a0a0a;border-color:#1a1a1a}.school-exact[data-theme=dark] .nav-badge{color:#d4d4d4;background:#1a1a1a}.school-exact[data-theme=dark] .nav-item:hover{background:color-mix(in srgb, var(--accent-blue) 16%, transparent);color:var(--text-primary)}.school-exact[data-theme=dark] .nav-item.active{background:color-mix(in srgb, var(--accent-blue) 22%, transparent);color:var(--accent-blue)}.school-exact[data-theme=dark] .page-header-icon{background:color-mix(in srgb, var(--accent-blue) 22%, transparent);color:var(--accent-blue)}.school-exact[data-theme=dark] .table-wrap table thead th{background:#000}.school-exact[data-theme=dark] .search-wrap input,.school-exact[data-theme=dark] .search-wrap select,.school-exact[data-theme=dark] .form-group input,.school-exact[data-theme=dark] .form-group select,.school-exact[data-theme=dark] .form-group textarea{color:#f5f5f5;background:#000;border-color:#1a1a1a}.school-exact[data-theme=dark] .theme-toggle-btn{color:#f5f5f5;background:#0a0a0a;border-color:#1a1a1a}.school-exact #sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--sidebar-bg);transition:var(--transition);z-index:40;border-right:1px solid #dbe6e0;flex-direction:column;display:flex;position:relative;overflow:hidden}.school-exact #sidebar.collapsed{width:var(--sidebar-collapsed);min-width:var(--sidebar-collapsed)}.school-exact .sidebar-logo{flex-shrink:0;align-items:center;gap:8px;min-height:64px;padding:18px 12px 16px 16px;display:flex}.school-exact .logo-text{letter-spacing:-.2px;color:var(--text-primary);white-space:nowrap;flex:1;min-width:0;font-family:Sora,Inter,sans-serif;font-size:21px;font-weight:700;transition:opacity .2s,width .28s;overflow:hidden}.school-exact #sidebar.collapsed .logo-text,.school-exact #sidebar.collapsed .sd-logo-img{opacity:0;pointer-events:none;width:0;min-width:0;margin:0;padding:0;overflow:hidden}.school-exact .sd-collapse-btn{width:32px;height:32px;color:var(--sidebar-text);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.school-exact .sd-collapse-btn svg{width:18px;height:18px;transition:transform .22s cubic-bezier(.4,0,.2,1)}.school-exact .sd-collapse-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.school-exact #sidebar.collapsed .sidebar-logo{justify-content:center;padding:18px 8px 16px}.school-exact #sidebar.collapsed .sd-collapse-btn{margin-left:0}.school-exact #sidebar.collapsed .sd-collapse-btn svg{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.school-exact .sd-collapse-btn svg{transition:none}}.school-exact .nav-section{flex:1;padding:16px 10px;overflow:hidden auto}.school-exact .nav-section::-webkit-scrollbar{width:6px}.school-exact .nav-section::-webkit-scrollbar-track{background:0 0}.school-exact .nav-section::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}.school-exact .nav-label{letter-spacing:.08em;color:#999;text-transform:uppercase;white-space:nowrap;padding:12px 12px 8px;font-size:11px;font-weight:600;transition:opacity .2s;overflow:hidden}.school-exact #sidebar.collapsed .nav-label{opacity:0}.school-exact .nav-item{width:100%;color:var(--sidebar-text);border-radius:var(--radius-sm);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:12px;margin-bottom:0;padding:12px;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s;display:flex}.school-exact .nav-item.active{background:color-mix(in srgb, var(--accent-blue) 18%, transparent);color:var(--accent-blue)}.school-exact .nav-icon{color:currentColor;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.school-exact .nav-icon svg{stroke:currentColor;fill:none;stroke-width:2px;width:18px;height:18px}.school-exact .nav-text{color:currentColor;opacity:1;font-size:14px;font-weight:500;transition:opacity .2s;overflow:hidden}.school-exact #sidebar.collapsed .nav-text{opacity:0}.school-exact .nav-badge{color:#666;background:#e5e5e5;border-radius:20px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:12px;font-weight:600;transition:opacity .2s}.school-exact #sidebar.collapsed .nav-badge{opacity:0}.school-exact .sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:10px;padding:12px 10px;display:flex;overflow:hidden}.school-exact .avatar-sm{background:var(--btn-bg);width:34px;height:34px;color:var(--btn-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.school-exact .footer-info{transition:opacity .2s;overflow:hidden}.school-exact #sidebar.collapsed .footer-info{opacity:0}.school-exact .footer-name{white-space:nowrap;color:var(--text-primary);font-size:13px;font-weight:600}.school-exact .footer-role{color:var(--text-muted);white-space:nowrap;font-size:11px}.school-exact .sd-logo-img{object-fit:contain;border-radius:8px;flex-shrink:0;width:30px;height:30px}.school-exact #main{min-width:0;transition:var(--transition);flex-direction:column;flex:1;display:flex;overflow:hidden}.school-exact .topbar{background:var(--topbar-bg);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:16px;height:64px;padding:0 28px;display:flex}.school-exact .topbar-kicker{font-family:"Source Serif 4",Georgia,serif;display:none}.school-exact .topbar-title{letter-spacing:-.3px;font-size:18px;font-weight:600}.school-exact .topbar-sub{color:var(--text-muted);margin-top:1px;font-size:13px}.school-exact .topbar-actions{align-items:center;gap:10px;display:flex}.school-exact .search-bar{flex:1;max-width:320px;margin-left:auto;position:relative}.school-exact .search-bar input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:24px;outline:none;min-width:0;padding:8px 14px 8px 38px;font-family:Inter,sans-serif;font-size:13px}.school-exact .search-bar input:focus{border-color:color-mix(in srgb, var(--text-primary) 28%, var(--border));box-shadow:var(--focus-ring)}.school-exact .search-icon{color:var(--text-muted);display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.school-exact .global-search-results{z-index:210;background:#fff;border:1px solid #d8d8d8;border-radius:8px;max-height:320px;padding:0;display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 10px 28px #171b2424}.school-exact .global-search-results.open{display:block}.school-exact .global-search-item{color:#111;text-align:left;cursor:pointer;white-space:normal;width:100%;box-shadow:none;filter:none;background:#fff;border:none;border-bottom:1px solid #ececec;border-radius:0;grid-template-columns:auto 1fr;align-items:start;gap:2px 10px;padding:10px 12px;font-family:inherit;font-weight:500;display:grid;transform:none}.school-exact .global-search-item:hover,.school-exact .global-search-item:focus-visible,.global-search-item.is-keyboard-active{color:#111;box-shadow:none;filter:none;background:#f5f5f5;transform:none}.school-exact .global-search-item:last-child{border-bottom:none}.school-exact .global-search-type{color:var(--accent-blue);background:#1b5fae14;border:1px solid #1b5fae33;border-radius:999px;grid-area:1/1/span 2;padding:2px 8px;font-size:10px;font-weight:600}.school-exact .global-search-main{color:#111;white-space:normal;grid-column:2;font-size:13px;font-weight:600}.school-exact .global-search-sub{color:#555;white-space:normal;grid-column:2;font-size:12px}.school-exact .global-search-empty{color:#555;text-align:left;background:#fff;padding:12px;font-size:13px}.school-exact .eleve-picker{position:relative}.school-exact .eleve-picker-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:9px 12px;font-family:Inter,sans-serif;font-size:13px}.school-exact .eleve-picker-input:focus{border-color:color-mix(in srgb, var(--text-primary) 28%, var(--border));box-shadow:var(--focus-ring)}.school-exact .eleve-picker-results{z-index:60;background:#fff;border:1px solid #d8d8d8;border-radius:8px;max-height:280px;padding:0;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 10px 28px #171b2424}.school-exact .eleve-picker-results[hidden]{display:none}.school-exact .eleve-picker-item{color:#111;text-align:left;cursor:pointer;white-space:normal;width:100%;box-shadow:none;filter:none;background:#fff;border:none;border-bottom:1px solid #ececec;border-radius:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.35;display:flex;transform:none}.school-exact .eleve-picker-item:last-child{border-bottom:none}.school-exact .eleve-picker-item:hover,.school-exact .eleve-picker-item:focus-visible{color:#111;box-shadow:none;filter:none;background:#f5f5f5;transform:none}.school-exact .eleve-picker-item-main{color:#111;white-space:normal;overflow-wrap:anywhere;font-weight:600}.school-exact .eleve-picker-item-sub{color:#555;white-space:nowrap;flex-shrink:0;padding-top:1px;font-size:12px}.school-exact .eleve-picker-empty{color:#555;text-align:left;background:#fff;padding:12px;font-size:13px}.school-exact .icon-btn{background:var(--bg);border:1px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.school-exact .icon-btn:hover{background:var(--border)}.school-exact .notif-dot{background:var(--accent-rose);border:1.5px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.school-exact .notif-wrap{position:relative}.school-exact .notifications-dropdown{border:1px solid var(--border);background:var(--surface);z-index:220;opacity:0;pointer-events:none;border-radius:14px;width:min(420px,86vw);max-height:420px;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;transform:translateY(-6px)scale(.98);box-shadow:0 12px 32px #171b2429}.school-exact .notifications-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.school-exact .notifications-header{border-bottom:1px solid var(--border);padding:12px 14px;font-size:13px;font-weight:600}.school-exact .notifications-list{flex-direction:column;gap:4px;max-height:360px;padding:6px;display:flex;overflow:auto}.school-exact .notif-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;gap:4px;width:100%;padding:10px;display:flex}.school-exact .notif-item:hover{background:var(--bg)}.school-exact .notif-pill{text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:2px 7px;font-size:10px;font-weight:600}.school-exact .notif-pill-absence{color:#92400e;background:#d9770629}.school-exact .notif-pill-paiement_due{color:#9f1239;background:#f43f5e24}.school-exact .notif-pill-event{color:#0b2a6b;background:#dbe7fb}.school-exact .notif-title{color:var(--text-primary);font-size:12px;font-weight:600}.school-exact .notif-message{color:var(--text-secondary);font-size:12px;line-height:1.45}.school-exact .notif-time{color:var(--text-muted);font-size:11px}.school-exact .notif-empty{text-align:center;color:var(--text-muted);padding:18px 10px;font-size:12px}.school-exact .avatar-top{background:var(--btn-bg);width:34px;height:34px;color:var(--btn-text);cursor:pointer;transition:var(--transition);border:2px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:600;display:flex}.school-exact .avatar-top:hover{transform:scale(1.06);box-shadow:0 8px 18px #1118272e}.school-exact .user-menu-wrap{position:relative}.school-exact .user-dropdown{border:1px solid var(--border);z-index:200;opacity:0;pointer-events:none;background:#fff;border-radius:14px;width:220px;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;transform:translateY(-6px)scale(.97);box-shadow:0 8px 32px #171b2424}.school-exact .user-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.school-exact .user-dropdown-header{background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px;display:flex}.school-exact .user-dropdown-avatar{background:var(--btn-bg);width:38px;height:38px;color:var(--btn-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.school-exact .user-dropdown-name{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.2}.school-exact .user-dropdown-role{color:var(--text-muted);margin-top:2px;font-size:11px}.school-exact .user-dropdown-divider{background:var(--border);height:1px;margin:0}.school-exact .user-dropdown-item{width:100%;color:var(--accent-rose);cursor:pointer;text-align:left;background:#fff;border:none;border-radius:0;align-items:center;gap:10px;padding:13px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s;display:flex}.school-exact .user-dropdown-item:hover{background:#fff5f5}.school-exact .content{flex:1;grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-content:start;gap:20px;padding:24px 28px;display:grid;overflow:hidden auto}.school-exact .content.content-full{grid-template-columns:1fr}.school-exact .content.content-full .col-main{grid-row:auto;min-width:0}.school-exact .content::-webkit-scrollbar{width:5px}.school-exact .content::-webkit-scrollbar-track{background:0 0}.school-exact .content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.school-exact .col-main,.school-exact .col-side{flex-direction:column;grid-row:1/3;gap:20px;min-width:0;display:flex}.school-exact .card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:22px}.school-exact .card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.school-exact .card-title{color:var(--text-primary);align-items:center;gap:7px;font-size:14px;font-weight:600;display:flex}.school-exact .card-count{color:var(--text-muted);background:var(--bg);border-radius:20px;padding:2px 8px;font-size:12px;font-weight:500}.school-exact .card-action{color:var(--text-muted);cursor:pointer;transition:var(--transition);align-items:center;gap:6px;display:flex}.school-exact .card-action:hover{color:var(--text-primary)}.school-exact .stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.school-exact .stat-card{isolation:isolate;border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:var(--transition);color:var(--text-primary);-webkit-backdrop-filter:blur(80px)saturate(1.55);background:#ffffff57;border:1px solid #ffffff9e;min-width:0;padding:18px 18px 16px;position:relative;overflow:hidden}.school-exact .stat-card-glow{z-index:0;pointer-events:none;filter:blur(110px)saturate(.7);opacity:.38;position:absolute;inset:-32%}.school-exact .stat-card-stain{left:var(--x);top:var(--y);width:var(--w);height:var(--h);background:var(--c);border-radius:var(--br);transform:rotate(var(--r));opacity:.18;mix-blend-mode:multiply;display:block;position:absolute}.school-exact .stat-card-top,.school-exact .stat-bar-wrap,.school-exact .stat-week,.school-exact .stat-circ{z-index:1;position:relative}.school-exact .stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.school-exact .stat-card-plain{background:color-mix(in srgb, var(--stat-card-1) 16%, #ffffff6b);color:color-mix(in srgb, var(--stat-card-1) 28%, #111827);border-color:color-mix(in srgb, var(--stat-card-1) 28%, #ffffffb3)}.school-exact .stat-card-mint{background:color-mix(in srgb, var(--stat-card-2) 16%, #ffffff6b);color:color-mix(in srgb, var(--stat-card-2) 45%, #111827);border-color:color-mix(in srgb, var(--stat-card-2) 28%, #ffffff8c)}.school-exact .stat-card-mint .stat-icon-new{color:color-mix(in srgb, var(--stat-card-2) 55%, #111827);background:#ffffff73}.school-exact .stat-card-mint .stat-label,.school-exact .stat-card-mint .stat-week,.school-exact .stat-card-mint .stat-bar-pct{color:color-mix(in srgb, var(--stat-card-2) 35%, #6b7280)}.school-exact .stat-card-gold{background:color-mix(in srgb, var(--stat-card-3) 16%, #ffffff6b);color:color-mix(in srgb, var(--stat-card-3) 45%, #111827);border-color:color-mix(in srgb, var(--stat-card-3) 28%, #ffffff8c)}.school-exact .stat-card-gold .stat-icon-new{color:color-mix(in srgb, var(--stat-card-3) 55%, #111827);background:#ffffff73}.school-exact .stat-card-gold .stat-label,.school-exact .stat-card-gold .stat-week,.school-exact .stat-card-gold .stat-bar-pct{color:color-mix(in srgb, var(--stat-card-3) 35%, #6b7280)}.school-exact .stat-card-cream{background:color-mix(in srgb, var(--stat-card-4) 16%, #ffffff6b);color:color-mix(in srgb, var(--stat-card-4) 45%, #111827);border-color:color-mix(in srgb, var(--stat-card-4) 28%, #ffffff8c)}.school-exact .stat-card-cream .stat-icon-new{color:color-mix(in srgb, var(--stat-card-4) 55%, #111827);background:#ffffff73}.school-exact .stat-card-cream .stat-label,.school-exact .stat-card-cream .stat-week,.school-exact .stat-card-cream .stat-bar-pct{color:color-mix(in srgb, var(--stat-card-4) 35%, #6b7280)}.school-exact .stat-card-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.school-exact .stat-val{letter-spacing:-.6px;color:inherit;font-size:26px;font-weight:700;line-height:1.1}.school-exact .stat-label{color:var(--text-muted);margin-top:6px;font-size:12px;font-weight:500}.school-exact .stat-week{color:var(--text-muted);margin-top:10px;font-size:12px}.school-exact .stat-icon-new{color:#0a3d91;background:#dbe7fb;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.school-exact .stat-bar-wrap{align-items:center;gap:8px;display:flex}.school-exact .stat-bar-track{background:color-mix(in srgb, currentColor 16%, transparent);border-radius:99px;flex:1;height:6px;overflow:hidden}.school-exact .stat-bar-fill{background:currentColor;border-radius:99px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1);animation:1s forwards barGrow}.school-exact .stat-bar-pct{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:600}.school-exact .stat-circ{color:inherit;margin-top:8px}.school-exact .circ-bg{fill:none;stroke:color-mix(in srgb, currentColor 18%, transparent);stroke-width:4px}.school-exact .circ-fill{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;transition:stroke-dashoffset 1s}.school-exact[data-theme=dark] .stat-card-plain{background:color-mix(in srgb, var(--stat-card-1) 18%, #0a0a0a8c);color:color-mix(in srgb, var(--stat-card-1) 30%, #f5f5f5);border-color:#1a1a1a}.school-exact[data-theme=dark] .stat-card-mint{background:color-mix(in srgb, var(--stat-card-2) 18%, #0a0a0a8c);color:color-mix(in srgb, var(--stat-card-2) 40%, #f5f5f5);border-color:#1a1a1a}.school-exact[data-theme=dark] .stat-card-gold{background:color-mix(in srgb, var(--stat-card-3) 18%, #0a0a0a8c);color:color-mix(in srgb, var(--stat-card-3) 40%, #f5f5f5);border-color:#1a1a1a}.school-exact[data-theme=dark] .stat-card-cream{background:color-mix(in srgb, var(--stat-card-4) 18%, #0a0a0a8c);color:color-mix(in srgb, var(--stat-card-4) 40%, #f5f5f5);border-color:#1a1a1a}.school-exact[data-theme=dark] .stat-card-stain{mix-blend-mode:screen;opacity:.14}.school-exact[data-theme=dark] .stat-icon-new{background:#ffffff14}.school-exact[data-theme=dark] .stat-label,.school-exact[data-theme=dark] .stat-week,.school-exact[data-theme=dark] .stat-bar-pct{color:var(--text-secondary)}.school-exact .progress-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.school-exact .dashboard-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.school-exact .dashboard-quick-links{flex-direction:column;gap:8px;display:flex}.school-exact .dashboard-quick-link{width:100%;justify-content:flex-start!important}.school-exact .overview-donut{align-items:center;gap:16px;min-width:0;display:flex}.school-exact .overview-donut-chart{flex-shrink:0;transform:rotate(-90deg)}.school-exact .overview-donut-meta{flex:1;min-width:0}.school-exact .overview-donut-value{letter-spacing:-.5px;font-size:22px;font-weight:700}.school-exact .overview-donut-label{color:var(--text-muted);margin-bottom:10px;font-size:11px}.school-exact .prog-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px}.school-exact .prog-card-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.school-exact .prog-subject{font-size:13px;font-weight:600}.school-exact .prog-rank{font-size:11px;font-weight:500}.school-exact .prog-ring{justify-content:center;align-items:center;margin:8px 0;display:flex}.school-exact .prog-pct{text-align:center;margin-top:6px;font-size:12px;font-weight:600}.school-exact .donut-svg{transform:rotate(-90deg)}.school-exact .activity-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.school-exact .activity-item:last-child{border-bottom:none}.school-exact .activity-avatar{background:var(--btn-bg);width:36px;height:36px;color:var(--btn-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.school-exact .activity-info{flex:1;min-width:0}.school-exact .activity-name{font-size:13px;font-weight:500}.school-exact .activity-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.school-exact .activity-meta{text-align:right;flex-shrink:0}.school-exact .activity-date{color:var(--text-muted);font-size:11px}.school-exact .activity-type{border-radius:6px;margin-top:3px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.school-exact .course-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:11px 0;display:flex}.school-exact .course-item:last-child{border-bottom:none}.school-exact .course-thumb{border-radius:var(--radius-sm);background:var(--bg);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.school-exact .course-info{flex:1;min-width:0}.school-exact .course-name{font-size:13px;font-weight:600}.school-exact .course-teacher{color:var(--text-muted);margin-top:1px;font-size:11px}.school-exact .course-section{color:var(--text-muted);font-size:10px}.school-exact .course-avatars{display:flex}.school-exact .course-av{background:var(--btn-bg);width:22px;height:22px;color:var(--btn-text);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;margin-left:-6px;font-size:9px;font-weight:600;display:flex}.school-exact .course-av:first-child{margin-left:0}.school-exact .legend{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.school-exact .legend-item{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;display:flex}.school-exact .legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.school-exact .cal-month{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.school-exact .cal-month-label{font-size:13px;font-weight:600}.school-exact .cal-nav{gap:4px;display:flex}.school-exact .cal-nav button{border:1px solid var(--border);background:var(--bg);cursor:pointer;width:24px;height:24px;color:var(--text-secondary);transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.school-exact .cal-nav button:hover{background:var(--border)}.school-exact .cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.school-exact .cal-day-label{color:var(--text-muted);text-transform:uppercase;padding:4px 0;font-size:10px;font-weight:600}.school-exact .cal-day{cursor:pointer;width:30px;height:30px;transition:var(--transition);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;margin:auto;font-size:12px;display:flex}.school-exact .cal-day:hover{background:var(--bg)}.school-exact .cal-day.today{background:var(--text-primary);color:#fff;font-weight:600}.school-exact .cal-day.has-event{position:relative}.school-exact .cal-day.has-event:after{content:"";background:var(--accent-blue);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.school-exact .cal-day.today.has-event:after{background:#fff}.school-exact .cal-day.muted{color:var(--text-muted);opacity:.4}.school-exact .event-item{border-bottom:1px solid var(--border);gap:10px;padding:10px 0;display:flex}.school-exact .event-item:last-child{border-bottom:none}.school-exact .event-time{color:var(--text-muted);flex-shrink:0;width:36px;padding-top:2px;font-size:11px}.school-exact .event-bar{border-radius:2px;flex-shrink:0;align-self:stretch;width:3px;min-height:36px}.school-exact .event-content{background:var(--bg);border-radius:6px;flex:1;padding:8px 10px}.school-exact .event-name{font-size:12px;font-weight:600}.school-exact .event-sub{color:var(--text-muted);margin-top:2px;font-size:10px}.school-exact .filter-wrap{margin-bottom:12px;position:relative}.school-exact .filter-icon{color:var(--text-muted);display:flex;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.school-exact .filter-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:20px;outline:none;min-width:0;padding:7px 12px 7px 34px;font-family:Inter,sans-serif;font-size:12px}.school-exact .filter-input:focus{border-color:color-mix(in srgb, var(--text-primary) 28%, var(--border));box-shadow:var(--focus-ring)}.school-exact .form-stack{gap:12px;display:grid}.school-exact .table-wrap{overflow:auto}.school-exact input,.school-exact select{background:var(--bg);border:1px solid var(--border);width:100%;min-width:0;color:var(--text-primary);box-sizing:border-box;border-radius:8px;outline:none;padding:9px 13px;font-family:inherit;font-size:13px;transition:border-color .18s,box-shadow .18s,background .18s}.school-exact input::placeholder{color:var(--text-muted)}.school-exact input:focus,.school-exact select:focus{border-color:color-mix(in srgb, var(--text-primary) 28%, var(--border));box-shadow:var(--focus-ring);background:#fff}.school-exact select{cursor:pointer}.school-exact select.table-inline-select{width:100%;min-width:0;max-width:220px;padding:6px 10px;font-size:12px}.school-exact input[type=color]{cursor:pointer;border-radius:6px;width:36px;min-width:36px;height:32px;padding:2px}.school-exact input[type=file]{cursor:pointer;padding:7px 12px;font-size:12px}.school-exact input[type=checkbox]{width:16px;min-width:16px;height:16px;accent-color:var(--accent-blue);cursor:pointer;padding:0}.school-exact button:not(.nav-item):not(.sd-collapse-btn):not(.cal-nav button):not(.icon-btn):not(.avatar-top):not(.ghost):not(.classe-tab):not(.inscription-mode-btn):not(.btn-table-action):not(.edt-lesson):not(.edt-unplanned-item):not(.flash-close):not([data-review]):not(.notif-item):not(.topbar-menu-btn):not(.mobile-menu-item):not(.mobile-menu-close):not(.mobile-dock-item):not(.mobile-chip):not(.mobile-home-go):not(.mobile-agenda):not(.mobile-essentials-view):not(#btnCancelAddEleve):not(#btnCancelAddEleve2):not(#btnCancelAddClasse):not(#btnCancelAddClasse2):not(.eleve-picker-item):not(.global-search-item){background:var(--btn-bg);color:var(--btn-text);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:background .18s,transform .15s,box-shadow .18s,filter .18s;display:inline-flex}.school-exact button:not(.nav-item):not(.sd-collapse-btn):not(.cal-nav button):not(.icon-btn):not(.avatar-top):not(.ghost):not(.classe-tab):not(.inscription-mode-btn):not(.btn-table-action):not(.edt-lesson):not(.edt-unplanned-item):not(.flash-close):not([data-review]):not(.notif-item):not(.topbar-menu-btn):not(.mobile-menu-item):not(.mobile-menu-close):not(.mobile-dock-item):not(.mobile-chip):not(.mobile-home-go):not(.mobile-agenda):not(.mobile-essentials-view):not(#btnCancelAddEleve):not(#btnCancelAddEleve2):not(#btnCancelAddClasse):not(#btnCancelAddClasse2):not(.eleve-picker-item):not(.global-search-item):hover{background:var(--btn-hover);filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 8px 18px #11182729}.school-exact button.ghost{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:background .18s,border-color .18s;display:inline-flex}.school-exact button.ghost:hover{background:var(--bg);border-color:color-mix(in srgb, var(--border) 70%, var(--text-muted))}.school-exact .segmented-toggle{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;width:fit-content;margin-bottom:16px;padding:3px;display:inline-flex}.school-exact .segmented-toggle button{color:var(--text-secondary)!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:5px!important;padding:7px 16px!important;font-size:13px!important;font-weight:500!important;transform:none!important}.school-exact .segmented-toggle button:not(.ghost){background:var(--surface)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-sm)!important;font-weight:600!important}.school-exact .table-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.school-exact table{border-collapse:collapse;width:100%;font-size:13px}.school-exact thead th{background:var(--bg);text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:11px 14px;font-size:11px;font-weight:700}.school-exact thead th:first-child{border-radius:10px 0 0}.school-exact thead th:last-child{border-radius:0 10px 0 0}.school-exact tbody td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;text-align:left;padding:12px 14px}.school-exact .notes-list-table,.school-exact .bulk-table{table-layout:fixed;width:100%}.school-exact .notes-list-table th,.school-exact .notes-list-table td,.school-exact .bulk-table th,.school-exact .bulk-table td,.school-exact .data-list-table th,.school-exact .data-list-table td{text-align:left;vertical-align:middle}.school-exact .data-list-table{width:100%;min-width:760px}.school-exact tbody tr:last-child td{border-bottom:none}.school-exact tbody tr{transition:background .12s}.school-exact tbody tr:hover td{background:color-mix(in srgb, var(--accent,var(--accent-blue)) 16%, var(--surface))}.school-exact[data-theme=dark] tbody tr:hover td{background:color-mix(in srgb, var(--accent,var(--accent-blue)) 22%, var(--surface))}.school-exact code{background:var(--bg);border:1px solid var(--border);color:var(--text-secondary);border-radius:5px;padding:2px 7px;font-family:Fira Mono,Consolas,monospace;font-size:11px}.school-exact .page-header{align-items:center;gap:14px;margin-bottom:20px;display:flex}.school-exact .page-header-icon{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent-blue) 16%, #fff);width:42px;height:42px;color:var(--accent-blue);flex-shrink:0;justify-content:center;align-items:center;display:flex}.school-exact .page-header-icon svg{stroke:currentColor}.school-exact .page-header-title{letter-spacing:-.3px;font-family:Sora,Inter,sans-serif;font-size:20px;font-weight:700;line-height:1.2}.school-exact .page-header-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.school-exact .mini-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 18px}.school-exact .mini-stat-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:500}.school-exact .mini-stat-value{letter-spacing:-.6px;font-family:Sora,Inter,sans-serif;font-size:28px;font-weight:700;line-height:1}.school-exact .mini-stat-sub{color:var(--text-muted);margin-top:6px;font-size:11px}.school-exact .table-pager{justify-content:center;padding:12px;display:flex}.school-exact .mini-stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.school-exact .mini-stats-row--4{grid-template-columns:repeat(4,minmax(0,1fr))}.school-exact .stats-filters{margin-bottom:16px}.school-exact .stats-filters-row{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.school-exact .stats-filters-row label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.school-exact .stats-filters-actions{flex-wrap:wrap;gap:8px;display:flex}.school-exact .stats-bar{grid-template-columns:minmax(72px,28%) 1fr auto;align-items:center;gap:10px;margin:8px 0;font-size:12px;display:grid}.school-exact .stats-bar-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.school-exact .stats-bar-track{background:var(--border);border-radius:99px;height:8px;overflow:hidden}.school-exact .stats-bar-fill{background:var(--accent);border-radius:99px;height:100%}.school-exact .stats-bar-value{font-variant-numeric:tabular-nums;color:var(--text-primary);text-align:right;min-width:4.5rem;font-weight:600}.school-exact .stats-rank{flex-direction:column;gap:8px;margin:0;padding:0 0 0 1.2rem;display:flex}.school-exact .stats-rank li{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.school-exact .stats-chip{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border);white-space:nowrap;border-radius:99px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.school-exact .stats-chip.is-hot{color:#c2410c;border-color:color-mix(in srgb, #c2410c 28%, var(--border));background:#c2410c1f}.school-exact .stats-alert{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 0;font-size:13px;display:flex}.school-exact .stats-alert:last-child{border-bottom:0}.school-exact .prog-bar-track{background:var(--border);border-radius:99px;height:5px;margin-top:10px;overflow:hidden}.school-exact .prog-bar-fill{border-radius:99px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.school-exact .badge{border-radius:6px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.school-exact .badge-green{color:#0b2a6b;background:#dbe7fb}.school-exact .badge-rose{color:var(--accent-rose);background:#b3413e1a}.school-exact .badge-amber{color:var(--accent-amber);background:#9a6b121a}.school-exact .badge-blue{color:#0b2a6b;background:#e7f3ec}.school-exact .badge-gray{background:var(--bg);color:var(--text-muted)}.school-exact .form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px}.school-exact .form-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.school-exact .form-card-title{color:var(--text-primary);font-size:14px;font-weight:700}.school-exact .form-close-btn{cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;display:flex;border:1px solid var(--border)!important;background:var(--bg)!important;color:var(--text-muted)!important;padding:0!important;transition:background .15s!important}.school-exact .form-close-btn:hover{background:var(--border)!important;color:var(--text-primary)!important;box-shadow:none!important;transform:none!important}.school-exact .form-grid{gap:12px;display:grid}.school-exact .form-grid-3{grid-template-columns:1fr 1fr 1fr}.school-exact .form-grid-2{grid-template-columns:1fr 1fr}.school-exact .form-group label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:5px;font-size:11px;font-weight:600;display:block}.school-exact .form-actions{align-items:center;gap:10px;margin-top:16px;display:flex}.school-exact .inscription-mode-toggle{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:4px;margin-bottom:12px;padding:4px;display:inline-flex}.school-exact .inscription-mode-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600}.school-exact .inscription-mode-btn.active{background:var(--surface);color:var(--text-primary);box-shadow:0 1px 2px #171b2414}.school-exact .form-error{color:var(--accent-rose);align-items:center;gap:5px;margin-top:8px;font-size:12px;display:flex}.school-exact .bulk-sheet{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-top:16px;overflow:hidden}.school-exact .bulk-sheet-caption{color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);padding:12px 14px;font-size:12px;line-height:1.45}.school-exact .bulk-table{border-collapse:collapse;width:100%}.school-exact .bulk-table th{z-index:1;background:var(--bg);color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:600;position:sticky;top:0}.school-exact .bulk-table td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-primary);padding:10px 12px}.school-exact .bulk-table tr:last-child td{border-bottom:none}.school-exact .bulk-cell-input,.school-exact .bulk-cell-select{width:100%;min-width:88px;max-width:140px;border:1px solid var(--border)!important;background:var(--bg)!important;color:var(--text-primary)!important;box-shadow:none!important;border-radius:8px!important;padding:8px 9px!important;font-size:13px!important}.school-exact .bulk-cell-input:focus,.school-exact .bulk-cell-select:focus{border-color:var(--accent-blue)!important;background:var(--surface)!important}.school-exact .bulk-total-cell{text-align:right;color:var(--accent-blue);font-weight:700}.school-exact .search-wrap{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.school-exact .search-input-wrap{flex:1;min-width:200px;position:relative}.school-exact .search-input-wrap svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.school-exact .search-input-wrap input{border-radius:8px;padding-left:34px!important}.school-exact .muted{color:var(--text-muted)}.school-exact .empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.school-exact .empty-state-icon{background:var(--bg);border:1px solid var(--border);border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:4px;display:flex}.school-exact .empty-state-title{color:var(--text-primary);font-size:15px;font-weight:600}.school-exact .empty-state-sub{color:var(--text-muted);max-width:340px;font-size:13px;line-height:1.6}.school-exact .alert{border-radius:10px;align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.school-exact .alert-warn{color:var(--accent-amber);background:#9a6b121a;border:1px solid #9a6b124d}.school-exact .alert-info{color:#0b2a6b;background:#e7f3ec;border:1px solid #d5e8dc}.school-exact .alert-ok{color:var(--accent-green);background:#1e8e5a14;border:1px solid #1e8e5a42}.school-exact .alert-info-text{padding:2px 0}.school-exact .alert-info-title{color:var(--accent-blue);letter-spacing:-.02em;margin-bottom:6px;font-size:13px;font-weight:600}.school-exact .alert-info-desc{color:var(--text-muted);max-width:560px;font-size:12px;line-height:1.55}.school-exact .rollcall-head{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.school-exact .rollcall-title{letter-spacing:-.2px;color:var(--text-primary);font-family:Sora,Inter,sans-serif;font-size:17px;font-weight:700}.school-exact .rollcall-detected{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.school-exact .rollcall-detected-none{color:var(--text-muted);font-size:13px}.school-exact .rollcall-picker{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px;padding-bottom:16px;display:grid}.school-exact .rollcall-caption{color:var(--text-muted);margin-bottom:10px;font-size:12.5px}.school-exact .rollcall-list{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;max-height:520px;display:flex;overflow-y:auto}.school-exact .rollcall-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 12px;display:flex}.school-exact .rollcall-row:last-child{border-bottom:none}.school-exact .rollcall-name{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:600;overflow:hidden}.school-exact .rollcall-matricule{color:var(--text-muted);margin-top:1px;font-size:11px;font-weight:400;display:block}.school-exact .rollcall-chips{flex-shrink:0;gap:4px;display:flex}.school-exact .rollcall-chip{border-radius:var(--radius-sm)!important;border:1px solid var(--border)!important;background:var(--surface)!important;width:30px!important;min-width:0!important;height:30px!important;color:var(--text-muted)!important;box-shadow:none!important;padding:0!important;font-size:12px!important;font-weight:700!important;transform:none!important}.school-exact .rollcall-chip[data-active=true][data-statut-btn=present]{background:var(--accent-green)!important;border-color:var(--accent-green)!important;color:#fff!important}.school-exact .rollcall-chip[data-active=true][data-statut-btn=absent]{background:var(--accent-rose)!important;border-color:var(--accent-rose)!important;color:#fff!important}.school-exact .rollcall-chip[data-active=true][data-statut-btn=retard]{background:var(--accent-amber)!important;border-color:var(--accent-amber)!important;color:#fff!important}.school-exact .rollcall-chip[data-active=true][data-statut-btn=excuse]{background:var(--accent-purple)!important;border-color:var(--accent-purple)!important;color:#fff!important}.school-exact .rollcall-justification{flex-shrink:0;width:160px!important;padding:6px 9px!important;font-size:12px!important}.school-exact .rollcall-footer{border-top:1px solid var(--border);align-items:center;gap:14px;margin-top:16px;padding-top:14px;display:flex}.school-exact .collapsible-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.school-exact .collapsible-section summary{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding:14px 20px;font-size:13px;font-weight:600;list-style:none;display:flex}.school-exact .collapsible-section summary::-webkit-details-marker{display:none}.school-exact .collapsible-section summary:before{content:"";border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);flex-shrink:0;width:7px;height:7px;transition:transform .15s;transform:rotate(-45deg)}.school-exact .collapsible-section[open] summary:before{transform:rotate(45deg)}.school-exact .collapsible-section[open] summary{border-bottom:1px solid var(--border)}.school-exact .collapsible-section>:not(summary){margin:0 20px 20px}.school-exact .collapsible-section .card{box-shadow:none;margin:0!important}.school-exact .nfc-live-banner,.school-exact .nfc-session-banner{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:12.5px;display:flex}.school-exact .nfc-session-banner{align-items:flex-start;padding:12px 16px;font-size:13px}.school-exact .nfc-session-banner .nfc-live-dot{margin-top:5px}.school-exact .nfc-live-banner.is-active,.school-exact .nfc-session-banner.is-active{color:var(--text-primary);border-color:var(--accent-green);background:#1e8e5a0f}.school-exact .nfc-live-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.school-exact .nfc-live-banner.is-active .nfc-live-dot,.school-exact .nfc-session-banner.is-active .nfc-live-dot{background:var(--accent-green);animation:1.4s ease-in-out infinite nfcPulse}@keyframes nfcPulse{0%,to{box-shadow:0 0 #1e8e5a59}50%{box-shadow:0 0 0 4px #1e8e5a00}}.school-exact .nfc-attendance-status{color:var(--text-muted);flex-shrink:0;font-size:12px;font-weight:600}.school-exact .nfc-attendance-status.is-present{color:var(--accent-green)}.school-exact .guide-jump{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.school-exact .guide-jump-pill{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);align-items:center;padding:6px 14px;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.school-exact .guide-jump-pill:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.school-exact .guide-section{margin-bottom:16px;padding:24px}.school-exact .guide-section-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;margin-bottom:18px;padding-bottom:18px;display:flex}.school-exact .guide-section-icon{border-radius:var(--radius-sm);background:var(--accent-blue);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.school-exact .guide-section-title{letter-spacing:-.2px;color:var(--text-primary);font-family:Sora,Inter,sans-serif;font-size:16px;font-weight:700}.school-exact .guide-section-intro{color:var(--text-muted);max-width:62ch;margin-top:4px;font-size:13px;line-height:1.55}.school-exact .guide-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.school-exact .guide-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:12px;padding:14px;display:flex}.school-exact .guide-item-icon{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);width:32px;height:32px;color:var(--accent-blue);flex-shrink:0;justify-content:center;align-items:center;display:flex}.school-exact .guide-item-q{color:var(--text-primary);margin-bottom:3px;font-size:13px;font-weight:600;line-height:1.4}.school-exact .guide-item-a{color:var(--text-muted);font-size:12.5px;line-height:1.55}.school-exact .guide-lead{color:var(--text-muted);max-width:72ch;margin:-4px 0 16px;font-size:13px;line-height:1.6}.school-exact .guide-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-blue);margin-bottom:2px;font-size:11px;font-weight:700}.school-exact .guide-meta{flex-wrap:wrap;gap:8px;margin:-6px 0 18px;display:flex}.school-exact .guide-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);max-width:100%;color:var(--text-muted);align-items:baseline;gap:6px;padding:6px 10px;font-size:12.5px;line-height:1.45;display:inline-flex}.school-exact .guide-chip strong{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.school-exact .guide-processes{flex-direction:column;gap:16px;display:flex}.school-exact .guide-process{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);padding:14px 16px 16px}.school-exact .guide-process-title{color:var(--text-primary);margin:0 0 6px;font-size:14px;font-weight:700}.school-exact .guide-process-lead{color:var(--text-muted);margin:0 0 10px;font-size:13px;line-height:1.5}.school-exact .guide-steps{counter-reset:guide-step;margin:0;padding:0;list-style:none}.school-exact .guide-steps li{counter-increment:guide-step;border-top:1px dashed var(--border);color:var(--text-secondary);padding:8px 0 8px 36px;font-size:13px;line-height:1.6;position:relative}.school-exact .guide-steps li:first-child{border-top:none}.school-exact .guide-steps li:before{content:counter(guide-step);background:var(--surface);border:1px solid var(--border);width:22px;height:22px;color:var(--accent-blue);border-radius:4px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;top:8px;left:0}.school-exact .guide-process-note{border-left:3px solid var(--accent-amber);background:var(--surface);color:var(--text-muted);margin:10px 0 0;padding:8px 10px;font-size:12.5px;line-height:1.5}@media (width<=720px){.school-exact .guide-grid{grid-template-columns:1fr}}.school-exact .coming-soon-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px 26px}.school-exact .coming-soon-body{flex-direction:column;gap:0;max-width:560px;display:flex}.school-exact .coming-soon-icon{background:var(--bg);border:1px solid var(--border);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.school-exact .coming-soon-title{letter-spacing:-.03em;margin:0 0 10px;font-size:16px;font-weight:700}.school-exact .coming-soon-desc{color:var(--text-muted);margin:0 0 16px;font-size:13px;line-height:1.65}.school-exact .coming-soon-pill{background:var(--bg);border:1px solid var(--border);color:var(--text-secondary);letter-spacing:.03em;text-transform:uppercase;border-radius:6px;align-self:flex-start;align-items:center;margin-top:0;padding:6px 12px;font-size:11px;font-weight:600;display:inline-flex}.school-exact .flash-wrap{flex-shrink:0;padding:10px 28px 0}.school-exact .flash{border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;line-height:1.4;display:flex}.school-exact .flash-error{color:#9b2f2f;background:#f0a3a324;border:1px solid #f0a3a373}.school-exact .flash-ok{color:#1e7a4f;background:#7ec8a424;border:1px solid #7ec8a473}.school-exact .flash-text{word-break:break-word;flex:1;min-width:0}.school-exact .flash-close{opacity:.65;color:currentColor!important;width:24px!important;height:24px!important;box-shadow:none!important;background:0 0!important;border:1px solid!important;border-radius:50%!important;padding:0!important;font-size:16px!important;line-height:1!important;transform:none!important}.school-exact .flash-close:hover{opacity:1}.school-exact .users-layout{grid-template-columns:1fr minmax(260px,300px);align-items:start;gap:16px;display:grid}.school-exact .users-main-col,.school-exact .users-aside-col{min-width:0}.school-exact .btn-table-action{justify-content:center;align-items:center;background:var(--surface)!important;color:var(--accent-blue)!important;border:1px solid var(--border)!important;box-shadow:none!important;border-radius:8px!important;padding:6px 12px!important;font-size:12px!important;font-weight:600!important;display:inline-flex!important;transform:none!important}.school-exact .btn-table-action:hover{border-color:var(--accent-blue)!important;background:#6e8ef714!important}.school-exact .btn-table-action.is-danger{color:var(--accent-rose)!important}.school-exact .btn-table-action.is-danger:hover{border-color:var(--accent-rose)!important;background:#b3413e14!important}.school-exact .table-row-actions{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:8px;display:inline-flex}.school-exact .modal-backdrop{z-index:300;background:#171b2473;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;position:fixed;inset:0}.school-exact .modal-dialog{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:440px;max-height:min(90vh,640px);padding:22px 24px;overflow-y:auto;box-shadow:0 20px 50px #171b2433}.school-exact .modal-dialog-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.receipt{font-family:inherit}.receipt-header{border-bottom:2px solid var(--text-primary);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding-bottom:18px;display:flex}.receipt-brand{align-items:center;gap:12px;min-width:0;display:flex}.receipt-logo{object-fit:cover;background:var(--accent-blue);border-radius:10px;flex-shrink:0;width:44px;height:44px}.receipt-logo-fallback{background:var(--accent-blue);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:700;display:flex}.receipt-school-name{color:var(--text-primary);overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:1.25}.receipt-school-code{color:var(--text-muted);margin-top:1px;font-size:11px}.receipt-title-block{text-align:right;flex-shrink:0}.receipt-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);font-size:15px;font-weight:800}.receipt-meta{color:var(--text-muted);margin-top:4px;font-size:11.5px;line-height:1.6}.receipt-parties{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;display:grid}.receipt-party-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:5px;font-size:10.5px;font-weight:700}.receipt-party-name{color:var(--text-primary);font-size:14px;font-weight:600}.receipt-party-sub{color:var(--text-muted);margin-top:2px;font-size:12px;line-height:1.5}.receipt-table{border-collapse:collapse;width:100%;margin-bottom:4px}.receipt-table th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border-bottom:1.5px solid var(--text-primary);padding:0 0 8px;font-size:10.5px;font-weight:700}.receipt-table th:last-child,.receipt-table td:last-child{text-align:right}.receipt-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:12px 0}.receipt-item-title{color:var(--text-primary);font-size:13.5px;font-weight:600}.receipt-item-sub{color:var(--text-muted);margin-top:2px;font-size:11.5px}.receipt-item-amount{white-space:nowrap;font-size:13.5px;font-weight:600}.receipt-totals{width:62%;min-width:220px;margin:14px 0 0 auto}.receipt-totals-row{color:var(--text-muted);justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.receipt-totals-row strong{color:var(--text-primary);font-weight:600}.receipt-totals-row.is-grand{border-top:2px solid var(--text-primary);margin-top:4px;padding-top:12px;font-size:15px}.receipt-totals-row.is-grand span:first-child{color:var(--text-primary);font-weight:700}.receipt-totals-row.is-grand span:last-child{font-weight:800}.receipt-footer{border-top:1px dashed var(--border);margin-top:26px;padding-top:16px}.receipt-thanks{color:var(--text-muted);margin-bottom:24px;font-size:12.5px;font-style:italic}.receipt-signature{justify-content:flex-end;display:flex}.receipt-signature-box{text-align:center;width:210px}.receipt-signature-line{border-bottom:1px solid var(--text-muted);height:40px}.receipt-signature-label{color:var(--text-muted);letter-spacing:.03em;margin-top:6px;font-size:10.5px}.receipt-brandline{text-align:center;color:var(--text-muted);letter-spacing:.04em;margin-top:18px;font-size:10px}@media print{body *{visibility:hidden}.bordereau-print,.bordereau-print *,.bulletin-print,.bulletin-print *{visibility:visible}.bordereau-print,.bulletin-print{position:fixed;inset:0;box-shadow:none!important;border:none!important;max-width:none!important}.bordereau-print #btnPrintBordereau,.bordereau-print #btnCloseBordereau,.bordereau-print #btnCloseBordereau2,.bordereau-print [data-download-bordereau-pdf],.bulletin-print .no-print{display:none!important}.bulletin-print{color:#111!important;background:#fff!important;padding:8px!important;overflow:visible!important}.bulletin-officiel .table-wrap{overflow:visible!important}.bulletin-officiel{box-shadow:none!important;border:none!important}}.bulletin-officiel{color:#111;font-family:Arial,Helvetica,sans-serif;font-size:11px;background:#fff!important}.bulletin-officiel .table-wrap{overflow-x:auto}.bulletin-sheet{color:#111}.bulletin-header{grid-template-columns:56px 1fr 56px;align-items:center;gap:10px;margin-bottom:8px;display:grid}.bulletin-header-center{text-align:center;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700;line-height:1.35}.bulletin-header-center div:first-child{font-size:13px}.bulletin-emblem{background:#fff;border:1px solid #111;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.bulletin-emblem img{object-fit:contain;width:100%;height:100%}.bulletin-id-line{align-items:center;gap:6px;margin:4px 0;font-size:11px;display:flex}.bulletin-boxes{display:inline-flex}.bulletin-box{border:1px solid #111;justify-content:center;align-items:center;width:14px;height:16px;margin-right:-1px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.bulletin-identity{border-collapse:collapse;width:100%;margin:6px 0 8px}.bulletin-identity td{vertical-align:top;border:none;width:50%;padding:2px 10px 2px 0;font-size:11px}.bulletin-identity span{font-weight:700}.bulletin-title{text-align:center;text-transform:uppercase;border-top:2px solid #111;border-bottom:2px solid #111;margin:8px 0;padding:4px 0;font-size:12px;font-weight:700}.bulletin-table{border-collapse:collapse;width:100%;font-size:9px}.bulletin-table th,.bulletin-table td{text-align:center;color:#111;background:#fff;border:1px solid #111;padding:2px 3px}.bulletin-table thead th{text-transform:uppercase;background:#fff;font-weight:700;line-height:1.2}.bulletin-table .bulletin-domaine-row td,.bulletin-table .bulletin-sousdomaine-row td{text-align:center;text-transform:uppercase;letter-spacing:.02em;background:#d9d9d9;font-weight:700}.bulletin-table .bulletin-sousdomaine-row td{text-transform:none;font-style:italic;font-weight:600}.bulletin-table .bulletin-branche-name{text-align:left;white-space:nowrap;padding-left:5px;font-weight:500}.bulletin-table .num{text-align:center;font-variant-numeric:tabular-nums}.bulletin-table .num.strong,.bulletin-table .bulletin-soustotal-row{font-weight:700}.bulletin-table .bulletin-soustotal-row td:first-child{text-align:left}.bulletin-table .bulletin-synth-label{text-align:left;text-transform:uppercase;padding-left:6px;font-weight:700}.bulletin-table .bulletin-etat-cell{vertical-align:top;text-align:center;padding:6px 4px;font-size:8px;line-height:1.35}.bulletin-etat-block{border-top:1px solid #111;min-height:28px;margin-top:10px;padding-top:4px}.bulletin-table .empty-cell{color:#555;padding:16px;font-style:italic}.bulletin-decision{margin-top:10px;font-size:11px;line-height:1.45}.bulletin-decision p{margin:3px 0}.bulletin-biffe{text-decoration:line-through}.bulletin-fait{margin-top:8px;font-size:11px}.bulletin-signatures{text-align:center;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;font-size:11px;display:grid}.bulletin-signature-line{border-top:1px solid #111;margin-top:36px}.bulletin-legal{margin-top:12px;font-size:9px;line-height:1.4}.bulletin-legend{color:#333;margin-top:8px;font-size:10px}.bulletin-primaire .bulletin-title{color:#1b5e3b;border-color:#1b5e3b}.bulletin-primaire .bulletin-table th{color:#1b5e3b}.bulletin-primaire .bulletin-domaine-row td{background:#cfe8d6}.bulletin-maternelle .bulletin-title{color:#9b3a54;border-color:#9b3a54}.bulletin-maternelle .bulletin-table th{color:#9b3a54}.bulletin-maternelle .bulletin-domaine-row td{background:#f3d0da}@media (width<=900px){.school-exact .users-layout{grid-template-columns:1fr}}.school-exact .edt-toolbar{align-items:center;gap:10px;margin-bottom:14px;display:flex}.school-exact .edt-form-card{margin-bottom:16px}.school-exact .edt-form-actions{gap:8px;margin-top:10px}.school-exact .edt-board{-webkit-overflow-scrolling:touch;width:100%;margin-bottom:12px;overflow-x:auto}.school-exact .edt-week{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(6,minmax(140px,1fr));gap:0;min-width:840px;display:grid;overflow:hidden}.school-exact .edt-day{border-right:1px solid var(--border);flex-direction:column;min-height:280px;display:flex}.school-exact .edt-day:last-child{border-right:none}.school-exact .edt-day-head{background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 10px;display:flex}.school-exact .edt-day-name{letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);font-size:12px;font-weight:700}.school-exact .edt-day-count{background:var(--surface);border:1px solid var(--border);min-width:20px;height:20px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.school-exact .edt-day-body{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex}.school-exact .edt-day-empty{min-height:72px;color:var(--text-muted);flex:1;justify-content:center;align-items:center;font-size:12px;display:flex}.school-exact .edt-lesson{background:var(--bg);border:1px solid var(--border);width:100%;box-shadow:none;color:var(--text-primary);text-align:left;cursor:default;border-radius:8px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 11px;font-family:inherit;display:flex}.school-exact button.edt-lesson{cursor:pointer}.school-exact button.edt-lesson:hover{background:var(--surface)}.school-exact button.edt-lesson:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.school-exact .edt-lesson-time{letter-spacing:.02em;color:var(--accent-blue);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.school-exact .edt-lesson-title{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.3}.school-exact .edt-lesson-meta{color:var(--text-muted);font-size:11px}.school-exact .edt-unplanned{background:var(--surface);border:1px dashed var(--border);border-radius:12px;margin-bottom:16px;padding:12px 14px}.school-exact .edt-unplanned-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.school-exact .edt-unplanned-list{flex-wrap:wrap;gap:8px;display:flex}.school-exact .edt-unplanned-item{border:1px solid var(--border);background:var(--bg);color:var(--text-primary);border-radius:8px;align-items:center;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.school-exact button.edt-unplanned-item{cursor:pointer}.school-exact button.edt-unplanned-item:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.school-exact .settings-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.school-exact .pwa-install-steps{color:var(--text-secondary);margin:0;padding-left:18px;font-size:13px;line-height:1.55}.school-exact .pwa-install-steps li+li{margin-top:6px}.school-exact .settings-info-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:9px 0;font-size:13px;display:flex}.school-exact .settings-info-row:last-child{border-bottom:none}.school-exact .settings-info-key{color:var(--text-muted);font-weight:500}.school-exact .role-chip{color:#0b2a6b;background:#e7f3ec;border-radius:6px;align-items:center;margin-right:3px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.school-exact .classe-tabs{flex-wrap:wrap;gap:6px;margin-bottom:0;display:flex}.school-exact .classe-tab{border:1px solid var(--border);cursor:pointer;background:var(--surface);color:var(--text-secondary);border-radius:8px;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .18s}.school-exact .classe-tab:hover{background:var(--bg);color:var(--text-primary)}.school-exact .classe-tab.active,.school-exact .classe-tab[style*="var(--text-primary)"]{background:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-bg)}.classe-tabs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.classe-tab{border:1px solid var(--border);cursor:pointer;background:var(--surface);color:var(--text-secondary);border-radius:8px;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .18s}.classe-tab:hover{background:var(--bg);color:var(--text-primary)}.classe-tab.active{background:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-bg)}@keyframes barGrow{0%{width:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.school-exact .stat-card{animation:.4s both fadeUp}.school-exact .stat-card[data-view]{cursor:pointer}.school-exact .stat-card:first-child{animation-delay:50ms}.school-exact .stat-card:nth-child(2){animation-delay:.1s}.school-exact .stat-card:nth-child(3){animation-delay:.15s}.school-exact .stat-card:nth-child(4){animation-delay:.2s}.school-exact .topbar-greeting{flex-shrink:1;min-width:0}.school-exact .topbar-menu-btn,.school-exact .mobile-menu-backdrop,.school-exact .mobile-menu-sheet{display:none}@media (width<=1100px){.school-exact .content{grid-template-columns:minmax(0,1fr)}.school-exact .col-main,.school-exact .col-side{grid-row:auto;min-width:0}.school-exact .stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.school-exact .dashboard-split{grid-template-columns:minmax(0,1fr)}.school-exact .mini-stats-row,.school-exact .mini-stats-row--4{grid-template-columns:repeat(2,minmax(0,1fr))}.school-exact .stats-filters-row{grid-template-columns:1fr}}@media (width<=980px){.school-exact .progress-row{grid-template-columns:repeat(2,minmax(0,1fr))}.school-exact .settings-grid{grid-template-columns:1fr}.school-exact .form-grid-3{grid-template-columns:1fr 1fr}}@media (width<=1024px){.school-exact{overscroll-behavior:none;overflow:hidden}.school-exact #sidebar{display:none!important}.school-exact #main{width:100%;min-width:0;min-height:0;padding-bottom:0}.school-exact .topbar-menu-btn{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;transition:background .15s,border-color .15s;display:inline-flex}.school-exact .topbar-menu-btn:hover,.school-exact .topbar-menu-btn:focus-visible{background:color-mix(in srgb, var(--accent-blue) 8%, var(--surface));border-color:color-mix(in srgb, var(--accent-blue) 28%, var(--border));outline:none}.school-exact .topbar-menu-btn.is-open{background:color-mix(in srgb, var(--accent-blue) 12%, var(--surface));border-color:color-mix(in srgb, var(--accent-blue) 35%, var(--border));color:var(--accent-blue)}.school-exact .topbar-menu-icon{width:18px;height:14px;display:block;position:relative}.school-exact .topbar-menu-icon span{background:currentColor;border-radius:2px;height:2px;transition:transform .22s,top .22s,opacity .18s;position:absolute;left:0;right:0}.school-exact .topbar-menu-icon span:first-child{top:0}.school-exact .topbar-menu-icon span:nth-child(2){top:6px}.school-exact .topbar-menu-icon span:nth-child(3){top:12px}.school-exact .topbar-menu-btn.is-open .topbar-menu-icon span:first-child{top:6px;transform:rotate(45deg)}.school-exact .topbar-menu-btn.is-open .topbar-menu-icon span:nth-child(2){opacity:0}.school-exact .topbar-menu-btn.is-open .topbar-menu-icon span:nth-child(3){top:6px;transform:rotate(-45deg)}.school-exact .mobile-menu-backdrop{z-index:140;opacity:0;pointer-events:none;background:#0f141e6b;transition:opacity .2s;display:block;position:fixed;inset:0}.school-exact .mobile-menu-backdrop.visible{opacity:1;pointer-events:auto}.school-exact .mobile-menu-sheet{z-index:150;background:var(--bg);border-right:1px solid var(--border);width:min(320px,88vw);max-height:none;padding-bottom:env(safe-area-inset-bottom,0px);padding-top:env(safe-area-inset-top,0px);pointer-events:none;visibility:hidden;border-radius:0;flex-direction:column;transition:transform .28s cubic-bezier(.32,.72,0,1),visibility .28s;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-105%);box-shadow:8px 0 28px #171b2424;display:flex!important}.school-exact .mobile-menu-sheet.open{pointer-events:auto;visibility:visible;transform:translate(0)}.school-exact .mobile-menu-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 14px;display:flex}.school-exact .mobile-menu-brand{align-items:center;gap:12px;min-width:0;display:flex}.school-exact .mobile-menu-logo,.school-exact .mobile-menu-logo-fallback{object-fit:cover;border-radius:10px;flex-shrink:0;width:40px;height:40px}.school-exact .mobile-menu-logo-fallback{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border);justify-content:center;align-items:center;font-family:Sora,Inter,sans-serif;font-size:16px;font-weight:700;display:inline-flex}.school-exact .mobile-menu-brand-text{flex-direction:column;gap:1px;min-width:0;display:flex}.school-exact .mobile-menu-brand-text #mobileMenuTitle,.school-exact .mobile-menu-header #mobileMenuTitle{letter-spacing:-.02em;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-family:Sora,Inter,sans-serif;font-size:16px;font-weight:700;overflow:hidden}.school-exact .mobile-menu-brand-sub{color:var(--text-muted);font-size:12px;font-weight:500}.school-exact .mobile-menu-close{background:var(--bg);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.school-exact .mobile-menu-close:active{background:var(--border);color:var(--text-primary)}.school-exact .mobile-menu-list{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:16px;min-height:0;padding:14px 14px 8px;display:flex;overflow-y:auto}.school-exact .mobile-menu-section{flex-direction:column;gap:8px;display:flex}.school-exact .mobile-menu-section-label{letter-spacing:.02em;text-transform:none;color:var(--text-muted);padding:0 4px;font-size:12px;font-weight:600}.school-exact .mobile-menu-group{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.school-exact .mobile-menu-item{border:none;border-bottom:1px solid var(--border);width:100%;min-height:56px;color:var(--text-primary);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:none;background:0 0;border-radius:0;flex-direction:row;justify-content:flex-start;align-items:center;gap:14px;padding:12px 14px;font-family:inherit;font-size:15px;font-weight:560;transition:background .12s;display:flex;position:relative}.school-exact .mobile-menu-item:last-child{border-bottom:none}.school-exact .mobile-menu-item:active{background:var(--bg);transform:none}.school-exact .mobile-menu-item.active{background:color-mix(in srgb, var(--accent-blue) 16%, transparent);color:var(--accent-blue);border-color:color-mix(in srgb, var(--accent-blue) 28%, var(--border));box-shadow:none}.school-exact .mobile-menu-item.active .mobile-menu-label{color:var(--accent-blue);font-weight:650}.school-exact .mobile-menu-icon{background:var(--bg);width:36px;height:36px;color:var(--text-secondary);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.school-exact .mobile-menu-item.active .mobile-menu-icon{background:color-mix(in srgb, var(--accent-blue) 16%, transparent);color:var(--accent-blue)}.school-exact .mobile-menu-icon svg{width:18px;height:18px}.school-exact .mobile-menu-label{-webkit-line-clamp:unset;text-overflow:ellipsis;white-space:nowrap;flex:auto;width:auto;min-width:0;line-height:1.3;display:block;overflow:hidden}.school-exact .mobile-menu-badge{background:var(--bg);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:600;position:static}.school-exact .mobile-menu-chevron{color:var(--text-muted);opacity:.55;flex-shrink:0;align-items:center;display:flex}.school-exact .mobile-menu-item.active .mobile-menu-chevron{color:var(--text-secondary);opacity:.8}body.mobile-menu-open{overflow:hidden}.school-exact .content{gap:12px;min-width:0;padding:14px 12px 20px;grid-template-columns:minmax(0,1fr)!important}.school-exact .col-main,.school-exact .col-side{grid-row:auto;min-width:0}.school-exact .stats-row{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))!important}.school-exact .dashboard-split,.school-exact .progress-row{gap:12px;grid-template-columns:minmax(0,1fr)!important}.school-exact .topbar{height:auto;min-height:52px;padding:8px 12px;padding-top:max(8px, env(safe-area-inset-top,0px));flex-wrap:wrap;align-items:center;gap:10px}.school-exact .topbar-greeting{flex:auto;min-width:0}.school-exact .topbar-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.school-exact .topbar-sub{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.school-exact .search-bar{flex:100%;order:3;max-width:none;min-height:40px;margin-left:0}.school-exact .topbar-actions{flex-shrink:0;gap:6px;margin-left:auto}.school-exact .topbar-actions .icon-btn,.school-exact .topbar-actions .avatar-top{width:40px;height:40px}.school-exact .flash-wrap{padding:8px 12px 0}.school-exact .page-header{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:14px}.school-exact .page-header>button,.school-exact .page-header .form-actions{width:100%;margin-left:0}.school-exact .page-header>button{min-height:44px}.school-exact .card,.school-exact .form-card{border-radius:14px;padding:14px}.school-exact .card-header{flex-wrap:wrap;align-items:flex-start;gap:8px}.school-exact .table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin:0}.school-exact .table-wrap table{font-size:12.5px}.school-exact .data-list-table,.school-exact .notes-list-table,.school-exact .bulk-table{min-width:0}.school-exact .table-wrap th,.school-exact .table-wrap td{padding:10px 12px}.school-exact .users-layout{grid-template-columns:1fr}.school-exact .search-wrap{flex-direction:column;align-items:stretch;gap:8px}.school-exact .search-input-wrap{width:100%;min-width:0}.school-exact .search-wrap select,.school-exact .search-wrap button{width:100%;min-height:44px}.school-exact .segmented-toggle{width:100%;display:flex}.school-exact .segmented-toggle button{flex:1;min-height:40px;padding:8px 10px!important}.school-exact .bulk-sheet{-webkit-overflow-scrolling:touch;overflow-x:auto}.school-exact .bulk-table{min-width:0}.school-exact .bulk-cell-input,.school-exact .bulk-cell-select{max-width:none;min-height:40px}.school-exact .form-actions{flex-wrap:wrap;gap:8px}.school-exact .form-actions>button,.school-exact .form-actions>*{flex:calc(50% - 4px);min-height:44px}.school-exact input:not([type=checkbox]):not([type=radio]):not([type=color]),.school-exact select,.school-exact textarea{min-height:44px;font-size:16px!important}.school-exact textarea{min-height:88px}.school-exact .edt-week{min-width:0}.school-exact .edt-day{min-height:220px}.school-exact .classe-tabs,.school-exact .tabs-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.school-exact .classe-tabs::-webkit-scrollbar{display:none}.school-exact .tabs-row::-webkit-scrollbar{display:none}.school-exact .classe-tab{flex-shrink:0;min-height:40px}.school-exact .notifications-dropdown{width:min(100vw - 20px,400px);max-height:min(70vh,480px);right:0}}@media (width<=640px){.school-exact .stats-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.school-exact .mini-stats-row,.school-exact .mini-stats-row--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.school-exact .mini-stat{padding:12px 14px}.school-exact .mini-stat-value{font-size:22px}.school-exact .progress-row,.school-exact .dashboard-split{grid-template-columns:minmax(0,1fr)!important}.school-exact .form-grid-3,.school-exact .form-grid-2,.school-exact .form-grid{grid-template-columns:1fr!important}.school-exact .stat-val{font-size:22px}.school-exact .page-header-title{font-size:17px}.school-exact .page-header-icon{width:38px;height:38px}.school-exact .topbar-sub{display:none}.school-exact .overview-donut{flex-wrap:wrap;justify-content:center;gap:12px}.school-exact .overview-donut-chart{width:72px;height:72px}.school-exact .content{padding:12px 10px 18px}.school-exact .card,.school-exact .form-card{padding:12px}.school-exact .form-actions>button,.school-exact .form-actions>*{flex:100%}.school-exact .page-header>button{width:100%}.school-exact .table-wrap:has(>table:not(.bulletin-table)){background:0 0;border:none;overflow:visible}.school-exact .table-wrap>table:not(.bulletin-table),.school-exact .table-wrap>table:not(.bulletin-table) thead,.school-exact .table-wrap>table:not(.bulletin-table) tbody,.school-exact .table-wrap>table:not(.bulletin-table) th,.school-exact .table-wrap>table:not(.bulletin-table) td,.school-exact .table-wrap>table:not(.bulletin-table) tr{table-layout:auto;width:100%;display:block;min-width:0!important}.school-exact .table-wrap>table:not(.bulletin-table) thead{display:none}.school-exact .table-wrap>table:not(.bulletin-table) tbody tr{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:0 0 12px;padding:2px 0;overflow:hidden}.school-exact .table-wrap>table:not(.bulletin-table) tbody tr:last-child td{border-bottom:1px solid var(--border)}.school-exact .table-wrap>table:not(.bulletin-table) tbody tr:hover td{background:0 0}.school-exact .table-wrap>table:not(.bulletin-table) td{border-bottom:1px solid var(--border);white-space:normal;grid-template-columns:minmax(96px,36%) 1fr;align-items:center;gap:10px;padding:11px 14px;display:grid;text-align:left!important}.school-exact .table-wrap>table:not(.bulletin-table) td:last-child{border-bottom:none}.school-exact .table-wrap>table:not(.bulletin-table) td:before{content:attr(data-label);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700;line-height:1.3}.school-exact .table-wrap>table:not(.bulletin-table) td:not([data-label]){grid-template-columns:1fr}.school-exact .table-wrap>table:not(.bulletin-table) td:not([data-label]):before{content:none}.school-exact .table-wrap>table:not(.bulletin-table) td[colspan]{padding:12px;display:block}.school-exact .table-wrap>table:not(.bulletin-table) td[colspan]:before{content:none}.school-exact .table-wrap>table:not(.bulletin-table) td .table-inline-select,.school-exact .table-wrap>table:not(.bulletin-table) td .bulk-cell-input,.school-exact .table-wrap>table:not(.bulletin-table) td input:not([type=checkbox]),.school-exact .table-wrap>table:not(.bulletin-table) td select{width:100%;max-width:none}.school-exact .table-wrap>table:not(.bulletin-table) .table-row-actions{justify-content:flex-start;width:100%}.school-exact .edt-week{border-radius:12px;flex-direction:column;min-width:0;display:flex}.school-exact .edt-day{border-right:none;border-bottom:1px solid var(--border);min-height:0}.school-exact .edt-day:last-child{border-bottom:none}.school-exact .edt-day-body{flex-direction:column}.school-exact .edt-lesson{width:100%}}@media (width<=420px){.school-exact .stats-row{grid-template-columns:minmax(0,1fr)!important}.school-exact .mini-stats-row,.school-exact .mini-stats-row--4{grid-template-columns:minmax(0,1fr)}.school-exact .topbar-title{max-width:48vw}.school-exact .sidebar-logo{padding-top:28px}}@media (width<=767px){.login-scene:not(.preinsc-scene),.signup-scene{padding:max(16px, env(safe-area-inset-top,0px)) 16px max(20px, env(safe-area-inset-bottom,0px));align-items:center;min-height:100dvh}.preinsc-scene{padding:max(52px, calc(12px + env(safe-area-inset-top,0px))) 12px max(16px, env(safe-area-inset-bottom,0px));align-items:flex-start}.login-shell,.signup-shell,.preinsc-shell,.login-scene:not(.preinsc-scene) .login-shell,.login-scene:not(.preinsc-scene) .signup-shell{width:100%}.login-input{font-size:16px}}.school-exact .branding-card .card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.school-exact .branding-presets{flex-wrap:wrap;gap:8px;display:flex}.school-exact .branding-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:22px;display:grid}.school-exact .branding-section-title{letter-spacing:.02em;color:var(--text-primary);margin:20px 0 10px;font-size:13px;font-weight:700}.school-exact .branding-fields .branding-section-title:first-child{margin-top:0}.school-exact .color-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.school-exact .color-field{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.school-exact .color-field input[type=color]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;width:100%;height:38px;padding:3px}.school-exact .stat-card-preview-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.school-exact .stat-card-preview{color:#111827;background:color-mix(in srgb, var(--p) 32%, #fff);border:1px solid color-mix(in srgb, var(--p) 40%, transparent);border-radius:10px;justify-content:center;align-items:center;height:36px;font-size:11px;font-weight:600;display:flex}.school-exact .branding-advanced{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--bg) 70%, var(--surface));margin-top:18px;padding:10px 14px 14px}.school-exact .branding-advanced>summary{cursor:pointer;color:var(--text-primary);padding:6px 0;font-size:13px;font-weight:700}.school-exact .branding-advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.school-exact .branding-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.school-exact .branding-hint{color:var(--text-muted);max-width:42ch;font-size:12px;line-height:1.4}.school-exact .branding-live-preview{position:sticky;top:12px}.school-exact .branding-preview-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);box-shadow:var(--shadow-md);overflow:hidden}.school-exact .branding-preview-top{background:var(--topbar-bg);border-bottom:1px solid var(--border);color:var(--text-muted);padding:10px 14px;font-size:12px;font-weight:700}.school-exact .branding-preview-body{background:var(--surface);padding:16px}.school-exact .branding-preview-body p{color:var(--text-muted);margin:6px 0 14px;font-size:12.5px;line-height:1.45}.school-exact .branding-preview-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.school-exact .branding-preview-body a{color:var(--link-color);font-size:13px;font-weight:600}.school-exact .theme-preview-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.school-exact .theme-chip{border:1px solid var(--border);color:var(--text-secondary);background:var(--bg);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.school-exact .theme-chip--light{color:#0f172a;background:#f8fafc}.school-exact .theme-chip--dark{color:#f5f5f5;background:#000;border-color:#1a1a1a}.school-exact a{color:var(--link-color)}@media (width<=980px){.school-exact .branding-layout{grid-template-columns:1fr}.school-exact .branding-live-preview{position:static}.school-exact .branding-advanced-grid{grid-template-columns:1fr}}.field-error{color:var(--danger);margin-top:4px;font-size:11px;display:block}.field-hint{color:var(--text-muted);margin-top:4px;font-size:11px;display:block}.advanced-kpi-head{color:var(--text-muted);margin-bottom:10px;font-size:12px}.advanced-kpi-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.advanced-kpi-label{color:var(--text-muted);font-size:12px}.advanced-kpi-values{align-items:center;gap:8px;font-size:12px;display:flex}.mini-chip-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.mini-chip{border:1px solid var(--border);color:var(--text-muted);background:var(--bg);border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;display:inline-flex}.trend-up{color:var(--accent-green);font-weight:600}.trend-down{color:var(--accent-rose);font-weight:600}.global-loading-overlay{z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b111a59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.global-loading-box{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-radius:12px;align-items:center;gap:10px;padding:14px 18px;font-size:13px;display:inline-flex;box-shadow:0 10px 30px #0000002e}.global-loading-spinner{border:2px solid var(--border);border-top-color:var(--accent-blue);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skip-link{z-index:3000;background:var(--panel);color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12px;text-decoration:none;position:absolute;top:-44px;left:12px}.skip-link:focus{top:10px}:where(button,[role=button],input,select,textarea,a):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.global-search-item.is-keyboard-active{color:#111;background:#f5f5f5}.preinsc-scene{-webkit-overflow-scrolling:touch;flex:auto;align-items:stretch;width:100%;min-height:0;overflow:hidden auto}.preinsc-shell{grid-template-columns:300px 1fr;align-self:center;width:min(1080px,100%);min-height:min(720px,100dvh - 48px);overflow:visible}.preinsc-rail{align-items:stretch;padding:36px 28px 24px}.preinsc-rail-inner{z-index:1;flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.preinsc-rail-brand{align-items:center;gap:12px;margin-bottom:32px;display:flex}.preinsc-rail-brand .login-mark{width:2.6rem;height:2.6rem;margin:0}.preinsc-rail-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--si-brand-muted);font-size:11px;font-weight:600}.preinsc-rail-school{letter-spacing:-.02em;color:var(--si-brand-text);font-size:1.05rem;font-weight:700;line-height:1.25}.preinsc-rail-lead{color:var(--si-brand-muted);margin:0;font-size:.9rem;line-height:1.55}.preinsc-rail-steps{flex-direction:column;flex:1;gap:4px;margin:0;padding:0;list-style:none;display:flex}.preinsc-rail-step{color:var(--si-brand-muted);border-radius:12px;align-items:flex-start;gap:12px;padding:10px 8px;display:flex}.preinsc-rail-step.is-active{color:var(--si-brand-text);background:color-mix(in srgb, var(--si-brand-text) 6%, transparent)}.preinsc-rail-dot{border:1.5px solid color-mix(in srgb, var(--si-brand-text) 22%, transparent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:flex}.preinsc-rail-dot svg{width:13px;height:13px}.preinsc-rail-step.is-done .preinsc-rail-dot,.preinsc-rail-step.is-active .preinsc-rail-dot{background:var(--si-brand-text);color:var(--si-shell);border-color:var(--si-brand-text)}.preinsc-rail-step-title{font-size:.9rem;font-weight:650;line-height:1.3}.preinsc-rail-step-hint{opacity:.8;margin-top:2px;font-size:.75rem}.preinsc-rail-foot{flex-direction:column;gap:8px;margin-top:20px;padding-top:16px;display:flex}.preinsc-rail-foot a{color:var(--si-brand-text);font-size:.82rem;font-weight:600;text-decoration:none}.preinsc-rail-foot a:hover{text-decoration:underline}.preinsc-panel{justify-content:flex-start;max-height:min(90vh,820px);padding:36px 40px 28px;overflow-y:auto}.preinsc-progress{background:var(--si-input);border-radius:99px;height:4px;margin:0 0 18px;overflow:hidden}.preinsc-progress i{border-radius:inherit;background:var(--si-btn);height:100%;transition:width .25s;display:block}.preinsc-step-index{letter-spacing:.08em;text-transform:uppercase;color:var(--si-muted);margin:0 0 6px;font-size:11px;font-weight:650}.preinsc-panel .login-title{margin-bottom:8px}.preinsc-panel .login-subtitle{margin-bottom:20px}.preinsc-note{background:var(--si-input);color:var(--si-muted);border-radius:12px;margin-bottom:18px;padding:12px 14px;font-size:.82rem;line-height:1.5}.preinsc-grid{grid-template-columns:1fr 1fr;gap:12px 14px;margin-bottom:8px;display:grid}.preinsc-field{color:var(--si-muted);flex-direction:column;gap:6px;font-size:.75rem;font-weight:600;display:flex}.preinsc-span-2{grid-column:1/-1}.preinsc-field .login-input{font-weight:500}.preinsc-field select.login-input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--si-muted) 50%), linear-gradient(135deg, var(--si-muted) 50%, transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2rem}.preinsc-files{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:8px;display:grid}.preinsc-file{background:var(--si-input);cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;min-height:124px;padding:16px 14px;display:flex;position:relative}.preinsc-file:hover{box-shadow:0 0 0 2px var(--si-ring)}.preinsc-file.has-file{box-shadow:0 0 0 2px var(--si-btn)}.preinsc-file input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.preinsc-file-icon{background:color-mix(in srgb, var(--si-text) 8%, transparent);width:32px;height:32px;color:var(--si-text);border-radius:9px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.preinsc-file-icon svg{width:16px;height:16px}.preinsc-file-title{color:var(--si-text);font-size:.86rem;font-weight:650}.preinsc-file-hint{color:var(--si-muted);font-size:.72rem}.preinsc-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:22px;display:flex}.preinsc-actions .login-submit,.preinsc-actions .login-google{width:auto;min-width:148px;margin:0}.preinsc-trust{color:var(--si-muted);margin:16px 0 0;font-size:.75rem}.preinsc-lookup{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-bottom:16px;display:grid}.preinsc-lookup .login-submit{width:auto;min-width:132px;height:46px;margin:0}.preinsc-child{border:1px solid var(--border,#e5e7eb);background:color-mix(in srgb, var(--surface-color,#fff) 92%, transparent);border-radius:14px;margin-bottom:12px;padding:14px 14px 4px}.preinsc-child-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.preinsc-child-remove{color:var(--text-muted,#6b7280);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.preinsc-add-child{width:100%;margin-bottom:4px}.preinsc-ticket+.preinsc-ticket{margin-top:12px}.preinsc-ticket{background:var(--si-input);border-radius:16px;margin-top:8px;padding:18px 18px 16px}.preinsc-ticket-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.preinsc-ticket-top code{letter-spacing:.06em;color:var(--si-text);font-size:.8rem;font-weight:700}.preinsc-ticket h3{letter-spacing:-.02em;color:var(--si-text);margin:0 0 8px;font-size:1.2rem}.preinsc-ticket-msg,.preinsc-ticket-meta{color:var(--si-muted);margin:0;font-size:.85rem;line-height:1.5}.preinsc-ticket-msg{margin-bottom:8px}.preinsc-status{background:var(--si-shell);color:var(--si-text);border-radius:999px;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.preinsc-status.ok{color:var(--si-ok)}.preinsc-status.bad{color:var(--si-error)}.preinsc-status.wait{color:var(--si-muted)}@media (width<=860px){.preinsc-scene{min-height:0;padding:max(52px, calc(12px + env(safe-area-inset-top,0px))) 12px max(16px, env(safe-area-inset-bottom,0px));justify-content:flex-start;align-items:flex-start}.preinsc-shell{border-radius:16px;grid-template-columns:1fr;min-height:auto;overflow:visible}.preinsc-rail{min-height:auto;padding:18px 18px 14px}.preinsc-rail-brand{margin-bottom:0}.preinsc-rail-steps,.preinsc-rail-lead{display:none}.preinsc-rail-foot{flex-flow:wrap;gap:12px 16px;margin-top:12px;padding-top:12px}.preinsc-panel{padding:20px 16px calc(18px + env(safe-area-inset-bottom,0px));max-height:none;overflow:visible}.preinsc-form{flex-direction:column;min-width:0;display:flex}.preinsc-grid,.preinsc-files,.preinsc-lookup{grid-template-columns:1fr}.preinsc-field .login-input{min-height:44px;font-size:16px}.preinsc-actions{z-index:6;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--si-panel);border-top:1px solid var(--si-input);flex-wrap:wrap;gap:8px;margin:16px -16px 0;display:flex;position:sticky;bottom:0}.preinsc-actions .login-submit,.preinsc-actions .login-google{touch-action:manipulation;flex:140px;min-width:0;min-height:48px}.preinsc-lookup .login-submit{width:100%;min-height:48px}.preinsc-ticket-top{flex-wrap:wrap}.preinsc-file{touch-action:manipulation;min-height:96px}}@media (width<=480px){.preinsc-panel .login-title{font-size:1.35rem}.preinsc-rail-school{font-size:.95rem}}@media (prefers-reduced-motion:reduce){.preinsc-progress i{transition:none}}.school-exact .mobile-home-strip,.school-exact .mobile-dock,.school-exact .mobile-essentials-head{display:none}@keyframes ledger-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.school-exact{background:var(--bg);color:var(--text-primary)}.school-exact #main{background:var(--bg);padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));min-height:0}.school-exact .topbar{background:var(--topbar-bg);border-bottom:1px solid var(--border);padding:10px 14px 12px;padding-top:max(10px, env(safe-area-inset-top,0px));flex-wrap:wrap;align-items:center;gap:10px;height:auto;min-height:0;display:flex;position:relative}.school-exact .topbar:after{content:"";background:var(--accent-blue);transform-origin:0;height:2px;animation:.55s both ledger-draw;position:absolute;bottom:0;left:0;right:0}.school-exact .topbar-greeting{text-align:left;flex-direction:column;flex:auto;align-items:flex-start;min-width:0;display:flex}.school-exact .topbar-actions{flex-shrink:0;gap:8px;margin-left:0}.school-exact[data-current-view=dashboard] .search-bar:has(#globalSearchInput){display:none}:is(.school-exact .search-bar:has(#globalSearchInput),.school-exact .search-bar:has(select)){flex:100%;order:5;max-width:none;margin:0}.school-exact .topbar-menu-btn,.school-exact .topbar-actions .icon-btn,.school-exact .topbar-actions .avatar-top,.school-exact .topbar-actions .theme-toggle-btn{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text-primary);box-shadow:none;border-radius:10px}.school-exact .topbar-menu-btn.is-open{background:var(--accent-blue);color:var(--btn-text);border-color:var(--accent-blue)}.school-exact .topbar-kicker{color:var(--text-muted);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;max-width:52vw;margin:0 0 1px;font-family:"Source Serif 4",Georgia,serif;font-size:12px;font-style:italic;font-weight:500;display:block;overflow:hidden}.school-exact .topbar-title{letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;max-width:58vw;color:var(--text-primary);font-family:Sora,Inter,sans-serif;font-size:16px;font-weight:700;line-height:1.2;overflow:hidden}.school-exact .topbar-sub{display:none}.school-exact .search-bar{background:var(--surface);border:1px solid var(--border);min-height:42px;box-shadow:none;color:var(--text-primary);border-radius:10px;align-items:center;padding:0 6px 0 4px;display:flex}.school-exact .search-bar input,.school-exact .search-bar select{min-height:42px;color:inherit;background:0 0;border:none;font-size:15px!important}.school-exact .content{-webkit-overflow-scrolling:touch;gap:14px;min-height:0;padding:14px 16px 24px}.school-exact .flash-wrap{padding:8px 16px 0}.school-exact .card,.school-exact .form-card,.school-exact .prog-card{padding:16px;animation:.4s both rise-in}.school-exact .page-header{margin-bottom:16px}.school-exact .page-header-title{letter-spacing:-.03em;color:var(--text-primary);font-family:Sora,Inter,sans-serif;font-size:20px;font-weight:700}.school-exact .page-header-icon{border-radius:10px;width:42px;height:42px}.school-exact .stats-row{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))!important}.school-exact .stat-card{min-height:0;animation:.45s both rise-in}.school-exact .mobile-home-strip{animation:.35s both rise-in;display:block}.school-exact .mobile-agenda{text-align:left;width:100%;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--text-primary);flex-direction:column;align-items:flex-start;gap:6px;padding:18px 18px 16px;display:flex}.school-exact .mobile-agenda-kicker{color:var(--text-primary);font-size:12px;font-weight:600}.school-exact .mobile-agenda-title{letter-spacing:-.03em;color:var(--text-primary);font-size:18px;font-weight:700;line-height:1.3}.school-exact .mobile-agenda-meta{color:var(--text-muted);font-size:13px}.school-exact .mobile-dock[hidden]{display:none!important}.school-exact .mobile-dock{left:12px;right:12px;bottom:max(10px, env(safe-area-inset-bottom,0px));z-index:120;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:16px;justify-content:space-between;align-items:center;gap:4px;padding:6px;display:flex;position:fixed}.school-exact .mobile-dock-item{min-width:0;min-height:48px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:6px 4px;display:flex}.school-exact .mobile-dock-item.is-active{background:color-mix(in srgb, var(--accent-blue) 14%, transparent);color:var(--accent-blue)}.school-exact .mobile-dock-icon{justify-content:center;align-items:center;width:22px;height:22px;display:flex}.school-exact .mobile-dock-icon svg{width:18px;height:18px}.school-exact .mobile-dock-label{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;max-width:72px;font-size:10px;font-weight:600;overflow:hidden}.school-exact .mobile-menu-sheet{background:var(--bg);color:var(--text-primary);border-right-color:var(--border);border-radius:0 16px 16px 0}.school-exact .mobile-menu-header{background:var(--surface);border-bottom:1px solid var(--border);padding:18px 16px 12px}.school-exact .mobile-menu-footer{flex-direction:column;gap:8px;margin-top:auto;padding:8px 14px 18px;display:flex}.school-exact .mobile-menu-logout{color:var(--accent-rose)}.school-exact .mobile-menu-group{border:1px solid var(--border);background:var(--surface);box-shadow:none;border-radius:12px}.school-exact .mobile-menu-item{color:var(--text-primary)}.school-exact .course-item{border:1px solid var(--border);background:var(--bg);border-radius:12px;margin:0 0 8px;padding:12px}.school-exact .course-item:last-child{margin-bottom:0}.school-exact .activity-item,.school-exact .event-item{padding:12px 0}.school-exact .classe-tab{border-radius:8px;padding-inline:14px}.school-exact .card-title,.school-exact .card-header{color:var(--text-primary)}.school-exact .text-muted,.school-exact .muted{color:var(--text-muted)}}@media (prefers-reduced-motion:reduce){.school-exact .topbar:after,.school-exact .card,.school-exact .stat-card,.school-exact .mobile-home-strip{animation:none}}@media (width<=640px){.school-exact .topbar-sub{display:none}.school-exact .content{padding:12px 14px 24px}.school-exact .card,.school-exact .form-card{border-radius:14px;padding:14px}.school-exact .table-wrap>table:not(.bulletin-table) tbody tr{border:1px solid var(--border);box-shadow:none;background:var(--surface);border-radius:12px;margin-bottom:10px;padding:4px 0}.school-exact .table-wrap>table:not(.bulletin-table) td{color:var(--text-primary);padding:12px 14px}}@media (width<=420px){.school-exact .stats-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.school-exact .topbar-title{max-width:none;font-size:15px}.school-exact .mobile-agenda-title{font-size:16px}}.school-exact{--night:#0b1a3a;--night-2:#16295a;--radius:14px;--radius-sm:9px;letter-spacing:-.005em}.school-exact #sidebar{border-right:1px solid #ffffff0f}.school-exact .sidebar-logo{border-bottom:1px solid #ffffff14}.school-exact .logo-text{color:#fff;letter-spacing:.01em;font-size:17px}.school-exact .sd-collapse-btn{color:#c3cde6;background:0 0;border-color:#ffffff24}.school-exact .sd-collapse-btn:hover{color:#fff;background:#ffffff14}.school-exact .nav-section{padding:10px 10px 16px}.school-exact .nav-label{color:#c3cde699;letter-spacing:.12em;font-size:10.5px}.school-exact .nav-item{color:var(--sidebar-text);white-space:normal;gap:11px;padding:9px 12px;font-size:13.5px;line-height:1.3}.school-exact .nav-text{overflow-wrap:anywhere;font-size:13.5px;overflow:visible}.school-exact #sidebar.collapsed .nav-text{display:none}.school-exact .nav-item.active{color:var(--night);background:#fff;font-weight:600;box-shadow:0 6px 16px -8px #00000080}.school-exact .nav-badge{color:#fff;background:#ffffff1f;font-size:11px}.school-exact .sidebar-footer{border-top-color:#ffffff14}.school-exact .footer-name{color:#fff}.school-exact .nav-group-label{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:space-between;align-items:center;list-style:none;display:flex}.school-exact .nav-group-label::-webkit-details-marker{display:none}.school-exact .nav-group-chevron{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;transition:transform .18s;transform:rotate(-90deg)}.school-exact .nav-group[open] .nav-group-chevron{transform:rotate(0)}.school-exact .nav-group-items{flex-direction:column;gap:2px;display:flex}.school-exact #sidebar.collapsed .nav-group-label{height:6px;padding:0;overflow:hidden}.school-exact .topbar{box-shadow:0 1px 0 var(--border);border-bottom:none}.school-exact .topbar-kicker{color:var(--accent-blue);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:600}.school-exact .topbar-title{color:var(--text-primary);font-family:Sora,Inter,sans-serif}.school-exact .akiri-hero{border-radius:var(--radius);color:#fff;background:radial-gradient(120% 140% at 100% 0,#1d3f8f 0%,#0000 55%),linear-gradient(135deg,#0b1a3a 0%,#102552 100%);border:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;padding:26px 28px;display:flex}.school-exact .akiri-hero-kicker{letter-spacing:.1em;text-transform:uppercase;color:#ffffffa6;font-size:11px;font-weight:600}.school-exact .akiri-hero-title{color:#fff;margin:6px 0 4px;font-family:Sora,Inter,sans-serif;font-size:24px;font-weight:700}.school-exact .akiri-hero-sub{color:#ffffffb8;max-width:520px;margin:0;font-size:13.5px}.school-exact .akiri-hero-actions{flex-wrap:wrap;gap:8px;display:flex}.school-exact .akiri-hero button.ghost{color:#fff;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600}.school-exact .card{border-radius:var(--radius);box-shadow:var(--shadow-sm)}.school-exact .card-title{color:var(--text-primary);letter-spacing:0;font-family:Sora,Inter,sans-serif;font-size:14px;font-weight:600}.school-exact .stat-card,.school-exact .stat-card-plain,.school-exact .stat-card-mint,.school-exact .stat-card-gold,.school-exact .stat-card-cream{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.school-exact .stat-card-glow,.school-exact .stat-card-stain{display:none}.school-exact .stat-card .stat-val{color:var(--text-primary);font-family:Sora,Inter,sans-serif}.school-exact .stat-card .stat-label,.school-exact .stat-card .stat-week{color:var(--text-muted)}.school-exact .stat-card .stat-icon-new{background:color-mix(in srgb, var(--accent-blue) 12%, transparent);color:var(--accent-blue);border:none}.school-exact .stat-card-plain{background:var(--night);border-color:var(--night)}.school-exact .stat-card-plain .stat-val,.school-exact .stat-card-plain .stat-label,.school-exact .stat-card-plain .stat-week,.school-exact .stat-card-plain .stat-bar-pct{color:#fff}.school-exact .stat-card-plain .stat-icon-new{color:#fff;background:#ffffff1f}.school-exact .stat-bar-fill{background:var(--accent-blue)}.school-exact .circ-fill{stroke:var(--accent-blue)}.school-exact .stat-card-plain .stat-bar-fill{background:#fff}.school-exact button.ghost{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.school-exact button.ghost:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:var(--surface)}.school-exact .page-header-icon{background:var(--night);color:#fff}.school-exact .table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.school-exact th{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;background:var(--panel-2);font-size:11.5px}.school-exact td .mini-stat-sub{white-space:normal;max-height:4.6em;overflow-y:auto}.school-exact .topbar-title,.school-exact .topbar-sub,.school-exact .footer-name,.school-exact .course-name,.school-exact .card-title{white-space:normal;overflow-wrap:anywhere}.school-exact[data-theme=dark] #sidebar{border-right-color:var(--border)}.school-exact[data-theme=dark] .stat-card-plain{background:#fff;border-color:#fff}.school-exact[data-theme=dark] .stat-card-plain .stat-val,.school-exact[data-theme=dark] .stat-card-plain .stat-label,.school-exact[data-theme=dark] .stat-card-plain .stat-week,.school-exact[data-theme=dark] .stat-card-plain .stat-bar-pct{color:var(--night)}.school-exact[data-theme=dark] .stat-card-plain .stat-icon-new{color:var(--night);background:#0b1a3a14}.school-exact[data-theme=dark] .stat-card-plain .stat-bar-fill{background:var(--night)}.school-exact[data-theme=dark] .page-header-icon{color:var(--night);background:#fff}.school-exact[data-theme=dark] .akiri-hero{border-color:var(--border);background:radial-gradient(120% 140% at 100% 0,#1d3f8f 0%,#0000 55%),linear-gradient(135deg,#0d1730 0%,#12203f 100%)}.school-exact .flash-ok{background:color-mix(in srgb, var(--accent-blue) 9%, var(--surface));color:var(--text-primary);border-color:color-mix(in srgb, var(--accent-blue) 25%, transparent)}.school-exact .flash-ok svg,.school-exact .flash-ok .flash-close{color:var(--accent-blue);border-color:currentColor}.school-exact .stat-card-plain .stat-bar-track{background:#ffffff2e}.school-exact[data-theme=dark] .stat-card.stat-card-mint,.school-exact[data-theme=dark] .stat-card.stat-card-gold,.school-exact[data-theme=dark] .stat-card.stat-card-cream{background:var(--surface);border-color:var(--border)}.school-exact[data-theme=dark] .stat-card-plain .stat-bar-track{background:#0b1a3a1f}.school-exact .cal-day.today{color:var(--surface)}.school-exact #sidebar{background:#0b1a3a}.school-exact[data-theme=dark] #sidebar{background:#050a17}.school-exact .akiri-hero,.school-exact[data-theme=dark] .akiri-hero,.login-brand,.login-scene.tenant-locked .login-brand,html[data-theme=dark] .login-brand,html[data-theme=dark] .login-scene.tenant-locked .login-brand{background:#0b1a3a}.login-brand-glow,.login-scene.tenant-locked .login-brand-glow,html[data-theme=dark] .login-brand-glow,html[data-theme=dark] .login-scene.tenant-locked .login-brand-glow{display:none}.login-brand .login-brand-title,.login-scene.tenant-locked .login-brand-title,.login-brand .login-mark{color:#fff}.login-brand .login-brand-sub,.login-scene.tenant-locked .login-brand-sub{color:#ffffffbf}.login-brand .login-mark{background:#fff}.login-submit{color:#fff;background:#0b1a3a}.login-submit:hover:not(:disabled){background:#16295a}html[data-theme=dark] .login-submit{color:#0b1a3a;background:#fff}html[data-theme=dark] .login-submit:hover:not(:disabled){background:#dfe6f5}.login-scene{background:#f3f5fa}html[data-theme=dark] .login-scene{background:#070d1c}.login-brand{position:relative;overflow:hidden}.login-brand-glow,.login-scene.tenant-locked .login-brand-glow,html[data-theme=dark] .login-brand-glow,html[data-theme=dark] .login-scene.tenant-locked .login-brand-glow{pointer-events:none;filter:blur(46px);background:radial-gradient(55% 45% at 55% 38%,#1180ff8c 0%,#0000 70%),radial-gradient(40% 34% at 16% 82%,#0bf6 0%,#0000 66%),radial-gradient(36% 30% at 88% 88%,#1d3f8fb3 0%,#0000 64%);display:block;position:absolute;inset:-18%}.login-brand-inner{z-index:1;position:relative}.school-exact .akiri-hero{isolation:isolate;position:relative;overflow:hidden}.school-exact .akiri-hero-glow{z-index:-1;pointer-events:none;filter:blur(46px);background:radial-gradient(40% 60% at 62% 35%,#1180ff8c 0%,#0000 70%),radial-gradient(28% 50% at 12% 90%,#0bf6 0%,#0000 66%),radial-gradient(26% 46% at 92% 85%,#1d3f8fb3 0%,#0000 64%);position:absolute;inset:-40% -10%}.school-exact .akiri-hero{border-radius:18px;flex-wrap:nowrap;align-items:center;gap:32px;min-height:220px;padding:36px 40px}.school-exact .akiri-hero-text{z-index:1;flex:1;min-width:0;position:relative}.school-exact .akiri-hero-kicker{background:#ffffff1a;border:1px solid #ffffff24;border-radius:999px;padding:4px 10px;font-size:10.5px;display:inline-block}.school-exact .akiri-hero-title{letter-spacing:-.02em;margin:14px 0 8px;font-size:32px;line-height:1.15}.school-exact .akiri-hero-sub{max-width:460px;font-size:14px;line-height:1.55}.school-exact .akiri-hero-actions{margin-top:22px}.school-exact .akiri-hero button.ghost{padding:10px 18px}.school-exact .akiri-hero-bands{z-index:0;pointer-events:none;background:linear-gradient(115deg,#0000 46%,#ffffff0d 46% 62%,#0000 62%),linear-gradient(115deg,#0000 66%,#ffffff12 66% 80%,#0000 80%),linear-gradient(115deg,#0000 84%,#ffffff0a 84%);position:absolute;inset:0}.school-exact .akiri-hero-art{z-index:1;flex-shrink:0;place-items:center;width:260px;height:170px;display:grid;position:relative}.school-exact .akiri-hero-halo{filter:blur(6px);background:radial-gradient(circle,#1180ff8c 0%,#1180ff00 70%);border-radius:50%;width:170px;height:170px;position:absolute}.school-exact .akiri-hero-mark{object-fit:contain;background:#fff;border-radius:28px;width:104px;height:104px;padding:14px;position:relative;transform:rotate(-8deg);box-shadow:0 24px 48px -16px #0000008c,0 0 0 8px #ffffff14}.school-exact .akiri-hero-chip{-webkit-backdrop-filter:blur(10px);color:#ffffffd9;white-space:nowrap;background:#ffffff1f;border:1px solid #fff3;border-radius:12px;padding:8px 12px;font-size:12px;position:absolute;box-shadow:0 10px 24px -12px #00000080}.school-exact .akiri-hero-chip strong{color:#fff;margin-right:4px;font-family:Sora,Inter,sans-serif;font-size:15px}.school-exact .akiri-hero-chip--top{top:6px;left:0}.school-exact .akiri-hero-chip--bottom{bottom:6px;right:0}@media (width<=900px){.school-exact .akiri-hero{flex-wrap:wrap;padding:26px 22px}.school-exact .akiri-hero-art{display:none}.school-exact .akiri-hero-title{font-size:26px}}.school-exact .akiri-hero-art{width:210px}.school-exact .akiri-hero{gap:20px;padding:34px 32px 34px 40px}@media (width<=1200px){.school-exact .akiri-hero-actions{flex-wrap:wrap}}.school-exact .akiri-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}@media (width<=1100px){.school-exact .akiri-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.school-exact .akiri-stats{grid-template-columns:1fr}}.school-exact .akiri-stat{--tone:#4680ff;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:14px;padding:18px;transition:box-shadow .18s,transform .18s}.school-exact .akiri-stat:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.school-exact .akiri-stat-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.school-exact .akiri-stat-icon{width:36px;height:36px;color:var(--tone);background:color-mix(in srgb, var(--tone) 12%, transparent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.school-exact .akiri-stat-icon svg{width:18px;height:18px}.school-exact .akiri-stat-title{min-width:0;color:var(--text-primary);flex:1;font-size:13.5px;font-weight:600}.school-exact .akiri-stat-more{color:var(--text-muted);font-size:16px;line-height:1}.school-exact .akiri-stat-body{background:var(--panel-2);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);border-radius:10px;justify-content:space-between;align-items:flex-end;gap:10px;padding:16px;display:flex}.school-exact .akiri-stat-spark{align-items:flex-end;gap:3px;height:34px;display:flex}.school-exact .akiri-stat-spark span{background:color-mix(in srgb, var(--tone) 55%, transparent);border-radius:2px;width:4px}.school-exact .akiri-stat-spark span.is-peak,.school-exact .akiri-stat-spark span:nth-child(5),.school-exact .akiri-stat-spark span:nth-child(4){background:var(--tone)}.school-exact .akiri-stat-figure{text-align:right;min-width:0}.school-exact .akiri-stat-value{color:var(--text-primary);overflow-wrap:anywhere;font-family:Sora,Inter,sans-serif;font-size:20px;font-weight:600;line-height:1.2}.school-exact .akiri-stat-trend{color:var(--tone);white-space:nowrap;align-items:center;gap:4px;margin-top:4px;font-size:12px;display:inline-flex}.school-exact .akiri-stat-trend svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.school-exact .akiri-hero,.school-exact[data-theme=dark] .akiri-hero{background:linear-gradient(100deg,#2f5fe8 0%,#3f6ff5 45%,#5b86fb 100%);border:none;box-shadow:0 18px 40px -22px #2f5fe8cc}.school-exact .akiri-hero-glow{display:none}.school-exact .akiri-hero-kicker{color:#fff;background:#ffffff29;border-color:#ffffff47}.school-exact .akiri-hero-sub{color:#ffffffe0}.school-exact .akiri-hero button.ghost{color:#fff;background:0 0;border:1px solid #ffffffd9}.school-exact .akiri-hero button.ghost:hover{color:#fff;background:#ffffff24}.school-exact .akiri-hero button.ghost.is-primary{color:#2f5fe8;background:#fff;border-color:#fff}.school-exact .akiri-hero button.ghost.is-primary:hover{color:#2f5fe8;background:#eef3ff}.school-exact .akiri-hero-halo{background:radial-gradient(circle,#ffffff73 0%,#fff0 70%)}.school-exact .akiri-hero-mark{box-shadow:0 24px 48px -16px #10287899,0 0 0 8px #ffffff24}.school-exact .akiri-hero-chip{color:#fff;background:#ffffff2e;border-color:#ffffff59}.school-exact .akiri-stat-body{padding:14px 12px}.school-exact .akiri-stat-spark{flex:auto;gap:2px;min-width:0;overflow:hidden}.school-exact .akiri-stat-spark span{flex-shrink:0;width:3px}.school-exact .akiri-stat-figure{flex:none;max-width:62%}.school-exact .akiri-stat-value{white-space:nowrap;overflow-wrap:normal}.school-exact .akiri-stat-trend{white-space:normal;text-align:right;justify-content:flex-end}.school-exact .akiri-stat{flex-direction:column;min-width:0;display:flex}.school-exact .akiri-stat-body{box-sizing:border-box;flex:1;width:100%}.school-exact .akiri-stat--blue{--tone:#3b82f6}.school-exact .akiri-stat--orange{--tone:#ef4444}.school-exact .akiri-stat--green{--tone:#eab308}.school-exact .akiri-stat--red{--tone:#2563eb}.school-exact .akiri-stat-body{background:color-mix(in srgb, var(--tone) 10%, var(--surface));border-color:color-mix(in srgb, var(--tone) 22%, transparent)}.school-exact .akiri-stat{border-top:3px solid var(--tone);border:2px solid var(--tone);border-top-width:2px;border:1px solid color-mix(in srgb, var(--tone) 35%, transparent)}.preinsc-rail.login-brand,html[data-theme=dark] .preinsc-rail.login-brand{background:#eaf1ff}.preinsc-rail .login-brand-glow,html[data-theme=dark] .preinsc-rail .login-brand-glow{filter:blur(50px);background:radial-gradient(55% 40% at 70% 18%,#4680ff73 0%,#0000 70%),radial-gradient(45% 35% at 10% 70%,#00bbff4d 0%,#0000 68%),radial-gradient(40% 30% at 85% 95%,#1d3f8f40 0%,#0000 66%);display:block}.preinsc-rail,.preinsc-rail *{color:#0b1a3a}.preinsc-rail .preinsc-rail-kicker{color:#1d3f8f;letter-spacing:.12em;font-weight:700}.preinsc-rail .preinsc-rail-school{font-weight:700}.preinsc-rail .preinsc-rail-step-title{font-weight:600}.preinsc-rail .preinsc-rail-step-hint{color:#45506b}.preinsc-rail .preinsc-rail-dot{color:#0b1a3a;background:#0b1a3a14}.preinsc-rail .is-active .preinsc-rail-dot,.preinsc-rail [aria-current] .preinsc-rail-dot{color:#fff;background:#0b1a3a}.preinsc-rail .login-mark{background:#fff;box-shadow:0 6px 16px -8px #0b1a3a66}.preinsc-rail a{color:#1d3f8f;font-weight:600}.preinsc-rail .preinsc-rail-step.active .preinsc-rail-dot,.preinsc-rail .preinsc-rail-step.current .preinsc-rail-dot,.preinsc-rail .preinsc-rail-step.done .preinsc-rail-dot,.preinsc-rail .preinsc-rail-step.is-active .preinsc-rail-dot,.preinsc-rail .preinsc-rail-step.is-done .preinsc-rail-dot{color:#fff;background:#0b1a3a}.preinsc-rail .preinsc-rail-step.is-active .preinsc-rail-dot *,.preinsc-rail .preinsc-rail-step.is-done .preinsc-rail-dot *{color:#fff;stroke:#fff}.school-exact .akiri-stat,.school-exact .akiri-stat-body{background:var(--surface)}.school-exact .akiri-stat-body{border:1px solid color-mix(in srgb, var(--tone) 25%, transparent)}.school-exact .akiri-stat-spark span{background:color-mix(in srgb, var(--text-primary) 22%, transparent)}.school-exact .akiri-stat-spark span.is-peak,.school-exact .akiri-stat-spark span:nth-child(4),.school-exact .akiri-stat-spark span:nth-child(5){background:var(--text-primary)}.school-exact .akiri-stat-trend{color:var(--text-muted)}.school-exact .akiri-stat-body{border-color:var(--border)}.school-exact .akiri-stat{border:1px solid var(--border)}.school-exact .akiri-stat-icon{color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 6%, transparent)}.school-exact #sidebar,.school-exact[data-theme=dark] #sidebar{background:linear-gradient(150deg,#0000 55%,#ffffff0f 55% 66%,#0000 66%),linear-gradient(150deg,#0000 70%,#ffffff17 70% 80%,#0000 80%),linear-gradient(150deg,#0000 84%,#ffffff21 84%),linear-gradient(#2f5fe8 0%,#3f6ff5 50%,#5b86fb 100%);border-right:none}.school-exact #sidebar .nav-item.active,.school-exact[data-theme=dark] #sidebar .nav-item.active{color:#2f5fe8;background:#fff}.school-exact #sidebar,.school-exact[data-theme=dark] #sidebar{background:#1e3a8a}.school-exact #sidebar .nav-item.active,.school-exact[data-theme=dark] #sidebar .nav-item.active{color:#1e3a8a}.school-exact .nav-item.active .nav-badge{background:#1e3a8a}.school-exact .sidebar-footer .avatar-sm{color:#1e3a8a}.login-scene .login-brand:not(.preinsc-rail),html[data-theme=dark] .login-scene .login-brand:not(.preinsc-rail){background:#3f6ff5}.login-scene .login-brand:not(.preinsc-rail) .login-brand-glow{background:radial-gradient(55% 45% at 55% 38%,#ffffff47 0%,#0000 70%),radial-gradient(40% 34% at 16% 82%,#00bbff73 0%,#0000 66%),radial-gradient(36% 30% at 88% 88%,#1e3a8a73 0%,#0000 64%)}.login-scene .login-brand:not(.preinsc-rail) .login-brand-sub{color:#ffffffe6}.login-scene .login-brand:not(.preinsc-rail) .login-brand-glow,html[data-theme=dark] .login-scene .login-brand:not(.preinsc-rail) .login-brand-glow{filter:blur(38px);background:radial-gradient(circle at 28% 22%,#ffffff6b 0%,#0000 18%),radial-gradient(circle at 70% 30%,#00bbff8c 0%,#0000 20%),radial-gradient(circle at 48%,#1428788c 0%,#0000 16%),radial-gradient(circle at 20% 62%,#00d2ff73 0%,#0000 17%),radial-gradient(circle at 80% 66%,#ffffff4d 0%,#0000 15%),radial-gradient(circle at 60% 82%,#1180ff99 0%,#0000 20%),radial-gradient(circle at 34% 86%,#0e1e6480 0%,#0000 14%),radial-gradient(circle at 86% 12%,#0e1e6473 0%,#0000 13%),radial-gradient(circle at 10% 10%,#1180ff80 0%,#0000 16%);inset:-25%}.school-exact #sidebar,.school-exact[data-theme=dark] #sidebar{background:var(--surface);border-right:1px solid var(--border);background-image:none}.school-exact .logo-text,.school-exact .footer-name{color:var(--text-primary)}.school-exact .footer-role{color:var(--text-muted)}.school-exact .sd-collapse-btn:hover{background:var(--panel-2);color:var(--text-primary)}.school-exact .nav-label{color:var(--text-muted)}.school-exact .nav-group-label:hover{color:var(--text-primary)}.school-exact .nav-item{color:var(--text-secondary)}.school-exact .nav-item:hover{color:#2f5fe8;background:#2f5fe814}.school-exact #sidebar .nav-item.active,.school-exact[data-theme=dark] #sidebar .nav-item.active{color:#fff;background:#2f5fe8;box-shadow:0 8px 18px -10px #2f5fe8cc}.school-exact .nav-section::-webkit-scrollbar-thumb{background:var(--border)}.school-exact .sidebar-footer .avatar-sm{color:#fff;background:#2f5fe8}.school-exact .sd-logo-img{background:0 0;padding:0}.school-exact .akiri-hero-bands{background:linear-gradient(118deg,#0000 38%,#ffffff06 38% 48%,#0000 48%),linear-gradient(118deg,#0000 52%,#ffffff0a 52% 60%,#0000 60%),linear-gradient(118deg,#0000 63%,#ffffff0d 63% 72%,#0000 72%),linear-gradient(118deg,#0000 75%,#fff1 75% 83%,#0000 83%),linear-gradient(118deg,#0000 86%,#ffffff14 86%)}.school-exact .akiri-hero{border-radius:14px;align-items:center;gap:28px;min-height:0;padding:30px 32px;box-shadow:0 12px 28px -20px #2f5fe8b3}.school-exact .akiri-hero-kicker{letter-spacing:.02em;text-transform:none;color:#ffffffbf;background:0 0;border:none;padding:0;font-size:12px;font-weight:500}.school-exact .akiri-hero-title{letter-spacing:-.01em;margin:6px 0;font-size:26px;font-weight:600}.school-exact .akiri-hero-sub{color:#ffffffd1;font-size:13.5px}.school-exact .akiri-hero-actions{gap:10px;margin-top:20px}.school-exact .akiri-hero button.ghost{border-color:#ffffff73;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:500}.school-exact .akiri-hero button.ghost:hover{background:#ffffff1a;border-color:#ffffffb3}.school-exact .akiri-hero button.ghost.is-primary{font-weight:600}.school-exact .akiri-hero-kpis{z-index:1;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:12px;flex-shrink:0;margin:0;display:flex;position:relative}.school-exact .akiri-hero-kpis>div+div{border-left:1px solid #ffffff2e}.school-exact .akiri-hero-kpis dt{color:#ffffffb8;font-size:11.5px;font-weight:500}.school-exact .akiri-hero-kpis dd{color:#fff;margin:4px 0 0;font-family:Sora,Inter,sans-serif;font-size:22px;font-weight:600}@media (width<=1200px){.school-exact .akiri-hero{flex-wrap:wrap}}.school-exact .akiri-hero button.ghost{white-space:nowrap}.school-exact .akiri-hero-actions{flex-wrap:wrap}.school-exact .akiri-hero-kpis>div{min-width:88px;padding:12px 18px}.school-exact .akiri-hero button.ghost{padding:8px 13px;font-size:12.5px}.school-exact .akiri-hero-actions{gap:8px}.school-exact .akiri-hero{gap:22px}.school-exact .nav-group{margin-bottom:10px}.school-exact .nav-group-items{gap:4px;padding-top:2px}.school-exact .nav-item{border-radius:10px;padding:10px 14px;position:relative}.school-exact #sidebar .nav-item.active,.school-exact[data-theme=dark] #sidebar .nav-item.active{color:#2f5fe8;box-shadow:none;background:#2f5fe81a;font-weight:600}.school-exact #sidebar .nav-item.active:before{content:"";background:#2f5fe8;border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-10px}.school-exact #sidebar .nav-item.active .nav-icon{color:#2f5fe8}.school-exact .nav-item.active .nav-badge{color:#fff;background:#2f5fe8}.school-exact[data-theme=dark] #sidebar .nav-item.active{color:#b9cdff;background:#8fb0ff24}.school-exact[data-theme=dark] #sidebar .nav-item.active:before{background:#8fb0ff}.school-exact[data-theme=dark] #sidebar .nav-item.active .nav-icon{color:#b9cdff}.school-exact .form-group[hidden]{display:none!important}.school-exact .cours-eleves-list{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px;max-height:220px;margin-top:8px;padding:10px 12px;display:grid;overflow-y:auto}.school-exact .cours-eleves-list label{text-transform:none;letter-spacing:0;color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:400;display:flex}.school-exact .cours-eleves-list input{width:auto;margin:0}.school-exact .evolution-card{margin-bottom:16px}.school-exact .evolution-table td,.school-exact .evolution-table th{text-align:center;white-space:nowrap}.school-exact .evolution-table .evo-name{text-align:left;font-weight:500}.school-exact .evolution-table th{text-transform:capitalize}.school-exact .evo-up{color:#15803d;font-size:11px}.school-exact .evo-down{color:#b91c1c;font-size:11px}.school-exact .evo-flat{color:var(--text-muted);font-size:11px}.school-exact .evo-empty{color:var(--text-muted)}.school-exact td{overflow-wrap:normal;word-break:normal}.school-exact td button,.school-exact td .badge,.school-exact td code,.school-exact .table-row-actions,.school-exact th{white-space:nowrap}.school-exact .card>.form-actions:first-child{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0;padding:0 0 12px!important}.school-exact .card>.form-actions:first-child button.ghost{width:auto;padding:7px 12px;font-size:12.5px}.school-exact .search-wrap{align-items:center}.school-exact .search-wrap>input{flex:260px;min-width:0;margin:0}.school-exact .search-wrap>select{flex:0 220px;width:auto;min-width:160px;margin:0}.school-exact .topbar-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-blue);font-family:Inter,Segoe UI,sans-serif;font-size:10.5px;font-style:normal;font-weight:600}.school-exact .form-grid{row-gap:14px}@media (width<=760px){.school-exact .content{padding-left:14px;padding-right:14px}.school-exact .card{padding:16px}.school-exact .card>.form-actions:first-child{justify-content:flex-start}.school-exact .card>.form-actions:first-child button.ghost{flex:none;width:auto}.school-exact .mini-stats-row,.school-exact .mini-stats-row--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.school-exact .mini-stat{padding:12px 14px}.school-exact .rollcall-picker{grid-template-columns:1fr;gap:10px}.school-exact .rollcall-row{flex-wrap:wrap;gap:8px}.school-exact .rollcall-justification,.school-exact .search-wrap>select{flex:100%}.school-exact .akiri-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.school-exact .akiri-stat{padding:12px}.school-exact .akiri-stat-head{gap:8px;margin-bottom:10px}.school-exact .akiri-stat-icon{width:30px;height:30px}.school-exact .akiri-stat-title{font-size:12.5px}.school-exact .akiri-stat-more{display:none}.school-exact .akiri-stat-body{flex-direction:column;align-items:flex-start;padding:10px}.school-exact .akiri-stat-figure{text-align:left;max-width:100%}.school-exact .akiri-stat-trend{text-align:left;justify-content:flex-start}.school-exact .akiri-hero{gap:16px;padding:20px 18px}.school-exact .akiri-hero-title{font-size:22px}.school-exact .akiri-hero-actions{gap:8px}.school-exact .akiri-hero-kpis{width:100%}.school-exact .akiri-hero-kpis>div{flex:1 1 0;min-width:0;padding:10px 12px}.school-exact td:last-child .icon-btn.danger{margin-left:auto}.school-exact .cours-eleves-list{grid-template-columns:1fr;max-height:260px}.school-exact .evolution-table .evo-name{background:var(--surface);position:sticky;left:0}}.school-exact table[aria-label="Livre de caisse"] td:not(:nth-child(2)):not(:nth-child(3)),.school-exact table[aria-label="Dépenses du centre"] td{white-space:nowrap}[data-theme=dark] .school-exact .notif-pill-absence,.school-exact[data-theme=dark] .notif-pill-absence{color:#f6c177;background:#d9770638}[data-theme=dark] .school-exact .notif-pill-paiement_due,.school-exact[data-theme=dark] .notif-pill-paiement_due{color:#ff9cb0;background:#f43f5e38}[data-theme=dark] .school-exact .notif-pill-event,.school-exact[data-theme=dark] .notif-pill-event{color:#c9d8ff;background:#8fb0ff2e}.school-exact[data-theme=dark] .stat-icon-new{color:#8fb0ff;background:#8fb0ff29}.school-exact .flash-error{background:#fdecec}.school-exact .flash-ok{background:#e8f6ef}.school-exact[data-theme=dark] .flash-error,[data-theme=dark] .school-exact .flash-error{color:#ffb4b4;background:#3a1418;border-color:#7a2a32}.school-exact[data-theme=dark] .flash-ok,[data-theme=dark] .school-exact .flash-ok{color:#8ce3b8;background:#0f2e22;border-color:#23664a}.school-exact #sidebar,.school-exact[data-theme=dark] #sidebar{background:var(--menu-bg);background-image:none}.school-exact .nav-item,.school-exact .logo-text,.school-exact .footer-name{color:var(--menu-text)}.school-exact .nav-label,.school-exact .footer-role,.school-exact .nav-group-label{color:var(--menu-muted)}.school-exact .nav-item:hover{background:var(--menu-hover);color:var(--menu-text)}.school-exact #sidebar .nav-item.active,.school-exact[data-theme=dark] #sidebar .nav-item.active{background:var(--menu-active-bg);color:var(--menu-active-text)}.school-exact .nav-item.active .nav-badge{background:var(--menu-active-text);color:var(--menu-active-bg)}.school-exact .nav-badge{background:var(--menu-hover);color:var(--menu-text)}.school-exact .sidebar-footer .avatar-sm{background:var(--menu-active-bg);color:var(--menu-active-text)}.school-exact .sd-collapse-btn{color:var(--menu-text);border-color:var(--menu-line)}.school-exact .sidebar-logo,.school-exact .sidebar-footer{border-color:var(--menu-line)}.school-exact thead th,.school-exact[data-theme=dark] .table-wrap table thead th{background:var(--table-head-bg);color:var(--table-head-text)}.school-exact .nav-group-label:hover,.school-exact .sd-collapse-btn:hover{color:var(--menu-text);background:var(--menu-hover)}.school-exact .flash-offline{color:#6b4a00;background:#fff6e0;border:1px solid #f0c36d}.school-exact[data-theme=dark] .flash-offline,[data-theme=dark] .school-exact .flash-offline{color:#f6d48a;background:#33270a;border-color:#8a6a1c}
