*{box-sizing:border-box}:root{--violet-950:#261032;--violet-900:#341544;--violet-800:#48215d;--violet-700:#5e2d7c;--violet-500:#8d59aa;--violet-50:#faf7fc;--gold-500:#c8a15a;--gold-300:#e1c78f;--bg:#f7f4f9;--surface:#fff;--line:#e8deec;--text:#24152f;--muted:#766a7d;--danger:#b3261e;--shadow-sm:0 4px 14px rgba(47,23,60,.06);--shadow-md:0 12px 34px rgba(47,23,60,.1);--sidebar-width:292px;--sidebar-collapsed:86px}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;min-height:100dvh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at 90% 0,rgba(117,64,150,.08),transparent 28%),var(--bg)}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}.appShell{min-height:100vh;min-height:100dvh;display:flex}.appSidebar{position:-webkit-sticky;position:sticky;top:0;z-index:40;width:var(--sidebar-width);flex:0 0 var(--sidebar-width);height:100vh;height:100dvh;display:flex;flex-direction:column;color:#fff;background:radial-gradient(circle at 12% 4%,hsla(41,58%,72%,.24),transparent 22%),linear-gradient(180deg,var(--violet-950),var(--violet-800) 54%,var(--violet-700));box-shadow:12px 0 40px rgba(39,18,56,.16);transition:width .22s,flex-basis .22s,transform .22s;overflow:hidden}.appSidebar.isCollapsed{width:var(--sidebar-collapsed);flex-basis:var(--sidebar-collapsed)}.sidebarBrand{flex-shrink:0;min-height:88px;display:grid;grid-template-columns:54px 1fr 30px;align-items:center;grid-gap:12px;gap:12px;padding:16px 14px;border-bottom:1px solid hsla(0,0%,100%,.12)}.brandLogo{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;color:var(--violet-950);background:linear-gradient(135deg,#f2dfb0,var(--gold-500));font-family:Georgia,serif;font-size:25px;font-weight:700;box-shadow:0 10px 25px rgba(0,0,0,.22)}.brandText{display:grid;grid-gap:3px;gap:3px;min-width:0}.brandText strong{font-family:Georgia,serif;font-size:22px;white-space:nowrap}.brandText span{font-size:11px;color:hsla(0,0%,100%,.68);white-space:nowrap}.collapseButton{width:30px;height:30px;padding:0;display:grid;place-items:center;border:1px solid hsla(0,0%,100%,.16);border-radius:10px;color:#fff;background:hsla(0,0%,100%,.08);font-size:23px;cursor:pointer}.sidebarSeason{flex-shrink:0;margin:14px 14px 8px;padding:11px 12px;display:grid;grid-gap:2px;gap:2px;border:1px solid hsla(0,0%,100%,.1);border-radius:14px;background:hsla(0,0%,100%,.08)}.sidebarSeason span{font-size:10px;color:hsla(0,0%,100%,.62);text-transform:uppercase;letter-spacing:.08em}.sidebarSeason strong{font-size:13px}.sidebarNav{flex:1 1;min-height:0;padding:8px 10px 18px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.35) transparent}.sidebarNav::-webkit-scrollbar{width:6px}.sidebarNav::-webkit-scrollbar-thumb{border-radius:999px;background:hsla(0,0%,100%,.3)}.menuGroup{position:relative;margin-bottom:7px}.menuGroupButton{width:100%;min-height:46px;padding:8px 10px;display:grid;grid-template-columns:30px 1fr 18px;grid-gap:8px;gap:8px;border:1px solid transparent;border-radius:14px;color:hsla(0,0%,100%,.88);background:transparent;cursor:pointer;text-align:left;transition:.16s}.menuGroup.hasActiveItem .menuGroupButton,.menuGroupButton:hover{border-color:hsla(0,0%,100%,.11);background:hsla(0,0%,100%,.1)}.menuGroupIcon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;color:var(--gold-300);background:hsla(0,0%,100%,.08);font-size:15px;font-weight:800}.menuGroupTitle{font-size:13px;font-weight:750;white-space:nowrap}.menuChevron{color:hsla(0,0%,100%,.55);font-size:22px;transition:transform .18s}.menuChevron.isOpen{transform:rotate(90deg)}.menuItems{max-height:0;overflow:hidden;opacity:0;padding-left:16px;transition:.22s}.menuItems.isOpen{max-height:340px;overflow-y:auto;opacity:1;padding-top:5px;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.35) transparent}.menuItems.isOpen::-webkit-scrollbar{width:5px}.menuItems.isOpen::-webkit-scrollbar-thumb{border-radius:999px;background:hsla(0,0%,100%,.3)}.menuItemsFade{position:absolute;left:16px;right:6px;bottom:0;height:22px;border-radius:0 0 10px 10px;background:linear-gradient(rgba(38,16,50,0),rgba(38,16,50,.8));opacity:0;pointer-events:none;transition:opacity .18s}.menuItemsFade.isVisible{opacity:1}.menuItem{min-height:38px;margin:2px 0;padding:8px 10px;display:flex;align-items:center;gap:9px;border-radius:10px;color:hsla(0,0%,100%,.7);text-decoration:none;font-size:12.5px;transition:.16s}.menuItem:hover{color:#fff;background:hsla(0,0%,100%,.09);padding-left:14px}.menuItem.isActive{color:var(--violet-950);background:linear-gradient(135deg,#fff,#f2e8f6);box-shadow:0 7px 18px rgba(0,0,0,.14);font-weight:750}.menuItemDot{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:currentColor;opacity:.65}.sidebarFooter{flex-shrink:0;min-height:74px;padding:13px 14px;display:flex;align-items:center;gap:10px;border-top:1px solid hsla(0,0%,100%,.12);background:rgba(0,0,0,.08)}.userAvatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:13px;color:var(--violet-950);background:var(--gold-300);font-weight:800}.userInfo{display:grid;grid-gap:2px;gap:2px}.userInfo strong{font-size:12px}.userInfo span{font-size:10px;color:hsla(0,0%,100%,.58)}.appSidebar.isCollapsed .brandText,.appSidebar.isCollapsed .menuChevron,.appSidebar.isCollapsed .menuGroupTitle,.appSidebar.isCollapsed .menuItems,.appSidebar.isCollapsed .menuItemsFade,.appSidebar.isCollapsed .sidebarSeason,.appSidebar.isCollapsed .userInfo{display:none}.appSidebar.isCollapsed .sidebarBrand{grid-template-columns:54px;justify-content:center}.appSidebar.isCollapsed .collapseButton{position:absolute;top:66px;right:7px;width:26px;height:26px}.appSidebar.isCollapsed .menuGroupButton{grid-template-columns:1fr;justify-items:center}.appSidebar.isCollapsed .sidebarFooter{justify-content:center}.appMain{flex:1 1;min-width:0}.pageContainer{width:100%;max-width:1680px;margin:0 auto;padding:30px}.mobileMenuButton,.mobileTopbar,.sidebarBackdrop{display:none}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.header h2{margin:0;color:var(--violet-950);font-family:Georgia,serif;font-size:clamp(27px,3vw,38px)}.header p{margin:7px 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));grid-gap:15px;gap:15px;margin-bottom:18px}.card,.panel{margin-bottom:18px;padding:19px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-sm)}.card{background:linear-gradient(145deg,var(--surface),#fbf9fc)}.card h3,.panel h3{margin:0 0 10px;color:var(--violet-950)}.metric{font-size:34px;font-weight:800;color:var(--violet-700)}.form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:11px;gap:11px;margin-bottom:14px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;outline:none;color:var(--text);background:#fff;font-size:14px}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-width:22px;min-height:22px;padding:0;border-radius:6px;cursor:pointer;accent-color:var(--violet-700)}input[type=radio]{border-radius:50%}input:focus,select:focus,textarea:focus{border-color:var(--violet-500);box-shadow:0 0 0 3px rgba(117,64,150,.11)}textarea{resize:vertical}button{padding:10px 14px;border:0;border-radius:12px;color:#fff;background:var(--violet-700);cursor:pointer;font-weight:700}button.secondary{color:#2a180a;background:var(--gold-500)}button.danger{background:var(--danger)}button.small{padding:7px 10px;font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:8px}.notice{margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;color:var(--violet-950);background:var(--violet-50)}.sectionHead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.sectionHead h3,.sectionHead h4{margin:0 0 4px;color:var(--violet-950)}.sectionHead p{margin:0;color:var(--muted);font-size:13px}.miniGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px;margin:14px 0}.miniGrid>div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--violet-50)}.miniGrid span{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.miniGrid strong{display:block;margin-top:4px;color:var(--violet-950);font-size:16px}.wide{grid-column:1/-1}a.button{display:inline-flex;align-items:center;padding:10px 14px;border-radius:12px;color:#fff;background:var(--violet-700);font-weight:700;text-decoration:none}a.button:hover{filter:brightness(1.04)}.stageBadge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:750;white-space:nowrap}.stageBadge-ouvert,.stageBadge-paye{color:#1d7a4c;background:#e3f6ea}.stageBadge-complet,.stageBadge-en-cours{color:#9a6d1a;background:#fdf0d8}.stageBadge-annule{color:#b3261e;background:#fbe4e2}.stageBadge-a-payer,.stageBadge-termine{color:#5e2d7c;background:#f1e8f6}.stageBadge-brouillon{color:#766a7d;background:#efeaf1}.stageBadge-en-ligne{color:#1d7a4c;background:#e3f6ea}.stageBadge-archive{color:#5e2d7c;background:#f1e8f6}.stageBadge-source-admin{color:#34506b;background:#e3ecf6}.stageBadge-source-formulaire-public{color:#806115;background:#fbf0d9}.stageBadge-en-attente{color:#9a6d1a;background:#fdf0d8}.stageBadge-validee{color:#1d7a4c;background:#e3f6ea}.stageBadge-non-retenue{color:#b3261e;background:#fbe4e2}.stageFormules{margin:14px 0;padding:12px;border:1px dashed var(--line);border-radius:14px;background:#fbf9fc}.stageFormulesLabel{margin:0 0 8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.stageFormuleRow{grid-template-columns:2fr 1fr .7fr auto auto auto;grid-gap:8px}.stageCoursRow,.stageFormuleRow{display:grid;gap:8px;align-items:center;margin-bottom:8px}.stageCoursRow{grid-template-columns:2fr 1fr 1fr 1fr auto auto auto;grid-gap:8px}.stageFormuleActif{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap;color:var(--violet-950)}.concoursRow{display:grid;grid-template-columns:2fr auto auto auto;grid-gap:8px;gap:8px;align-items:center;margin-bottom:8px}@media(max-width:780px){.concoursRow,.stageCoursRow,.stageFormuleRow{grid-template-columns:1fr}}.tableWrap{width:100%;overflow-x:auto;border-radius:14px}table{width:100%;border-collapse:collapse}td,th{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}th{color:var(--violet-950);background:var(--violet-50);font-weight:800}.search{max-width:440px;margin-bottom:12px}@media(max-width:1100px){:root{--sidebar-width:255px}.grid{grid-template-columns:repeat(2,minmax(170px,1fr))}.pageContainer{padding:23px}}@media(max-width:780px){.appShell{display:block}.appSidebar,.appSidebar.isCollapsed{position:fixed;inset:0 auto 0 0;width:min(88vw,310px);height:100vh;transform:translateX(-105%)}.appSidebar.isMobileOpen{transform:translateX(0)}.appSidebar.isCollapsed .brandText,.appSidebar.isCollapsed .menuChevron,.appSidebar.isCollapsed .menuGroupTitle,.appSidebar.isCollapsed .menuItems,.appSidebar.isCollapsed .menuItemsFade,.appSidebar.isCollapsed .sidebarSeason,.appSidebar.isCollapsed .userInfo{display:initial}.appSidebar.isCollapsed .sidebarBrand{grid-template-columns:54px 1fr 30px}.appSidebar.isCollapsed .collapseButton{position:static;width:30px;height:30px}.appSidebar.isCollapsed .menuGroupButton{grid-template-columns:30px 1fr 18px;justify-items:legacy}.mobileTopbar{min-height:67px;padding:10px 16px 10px 68px;border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:-webkit-sticky;position:sticky;top:0;z-index:25}.mobileBrand,.mobileTopbar{display:flex;align-items:center}.mobileBrand{gap:9px}.mobileLogo{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;color:var(--violet-950);background:linear-gradient(135deg,#f2dfb0,var(--gold-500));font-family:Georgia,serif;font-weight:800}.mobileBrand div{display:grid}.mobileBrand small{color:var(--muted);font-size:10px}.mobileMenuButton{position:fixed;top:15px;left:15px;z-index:55;width:40px;height:40px;padding:0;display:grid;place-items:center}.sidebarBackdrop{position:fixed;inset:0;z-index:35;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(25,12,34,.46);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.collapseButton{display:none}.pageContainer{padding:18px 14px 28px}.form,.grid{grid-template-columns:1fr}.header{display:block}.card,.panel{padding:15px;border-radius:17px}}a{color:inherit}.brandLogo{text-decoration:none}.mobileCloseButton{display:none}.sidebarSearch{flex-shrink:0;margin:3px 14px 9px;padding:9px 11px;display:flex;align-items:center;gap:8px;border:1px solid hsla(0,0%,100%,.13);border-radius:13px;color:hsla(0,0%,100%,.58);background:hsla(0,0%,100%,.08)}.sidebarSearch input{min-width:0;padding:0;border:0;border-radius:0;color:#fff;background:transparent;box-shadow:none;font-size:12px}.sidebarSearch input::placeholder{color:hsla(0,0%,100%,.52)}.sidebarSearch input:focus{border:0;box-shadow:none}.menuItemIcon{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border-radius:8px;background:hsla(0,0%,100%,.06)}.menuItem.isActive .menuItemIcon{background:rgba(94,45,124,.1)}.sidebarEmpty{padding:15px;color:hsla(0,0%,100%,.6);font-size:12px;text-align:center}.desktopTopbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;min-height:62px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(232,222,236,.9);background:rgba(247,244,249,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbarBreadcrumb{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.topbarBreadcrumb b{color:#c8bdcc}.topbarBreadcrumb strong{color:var(--violet-950);font-size:13px}.topbarRight{display:flex;align-items:center}.topbarSeason,.topbarStatus{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:hsla(0,0%,100%,.7);color:var(--muted);font-size:11px;font-weight:700}.topbarStatus{display:flex;align-items:center;gap:7px}.topbarStatus i{width:7px;height:7px;border-radius:50%;background:#2ca56c;box-shadow:0 0 0 3px rgba(44,165,108,.12)}.appSidebar.isCollapsed .sidebarSearch{display:none}.appSidebar.isCollapsed .menuGroupIcon{background:hsla(0,0%,100%,.1)}.appSidebar.isCollapsed .menuGroupButton:hover .menuGroupIcon{background:hsla(0,0%,100%,.18)}.pageContainer>h1,.pageContainer>h2{color:var(--violet-950);font-family:Georgia,serif}.card,.panel{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card:hover{border-color:#ddcee4;box-shadow:var(--shadow-md)}button:not(.menuGroupButton):not(.collapseButton):not(.mobileMenuButton):not(.sidebarBackdrop):not(.mobileCloseButton){transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}button:not(.menuGroupButton):not(.collapseButton):not(.mobileMenuButton):not(.sidebarBackdrop):not(.mobileCloseButton):hover{filter:brightness(1.04);box-shadow:0 7px 18px rgba(72,33,93,.16)}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none!important;transform:none!important}.tableWrap{border:1px solid var(--line)}.tableWrap table tr:last-child td{border-bottom:0}tbody tr{transition:background .14s ease}tbody tr:hover{background:#fcfafd}label{color:var(--violet-950);font-weight:650}@media(max-width:1100px){.desktopTopbar{padding:0 23px}.topbarStatus{display:none}}@media(max-width:780px){.desktopTopbar{display:none}.mobileCloseButton{width:30px;height:30px;padding:0;display:grid;place-items:center;border:1px solid hsla(0,0%,100%,.16);border-radius:10px;color:#fff;background:hsla(0,0%,100%,.08)}.appSidebar.isCollapsed .sidebarSearch{display:flex}.topbarRight{display:none}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.finance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:20px;gap:20px;margin:30px 0}.loginForm button,.loginRouteButton{height:46px;border:0;border-radius:11px;background:#5a2d82;color:#fff;font-weight:800;cursor:pointer}.loginRouteButton{display:grid;place-items:center;text-decoration:none}.loginFirstConnection{display:grid;grid-gap:10px;gap:10px;margin-top:2px;padding:15px;border:1px solid #dfd2e4;border-radius:14px;background:#faf7fb;text-align:center}.loginFirstConnection strong{font-size:13px;color:#574c5b}.loginForm .loginSecondaryAction{background:#fff;color:#5a2d82;border:2px solid #5a2d82}.loginSteps{display:grid;grid-gap:9px;gap:9px;margin:0 0 20px;padding:15px 15px 15px 36px;border-radius:14px;background:#f7f2f9;color:#5f5463;font-size:13px}.loginSteps li::marker{color:#5a2d82;font-weight:900}.loginMessage.isSuccess{color:#216b47;background:#eaf8f0;border-color:#a9d7bc}.loginCenteredMessage{text-align:center;color:#746a78}.finance-card{background:#fff;border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:10px}.finance-card span{font-size:15px;color:#666}.finance-card strong{font-size:28px;color:#5d3fd3}.finance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:20px;gap:20px;margin-top:20px}.finance-box{background:#fff;padding:25px;border-radius:18px;text-decoration:none;color:#222;box-shadow:0 10px 30px rgba(0,0,0,.08);transition:.2s}.finance-box:hover{transform:translateY(-4px);box-shadow:0 15px 40px rgba(93,63,211,.18)}.finance-box h2{margin-bottom:10px;font-size:22px}.finance-box p{color:#777}.authLoading{min-height:100vh;min-height:100dvh;display:grid;place-content:center;text-align:center;grid-gap:14px;gap:14px;background:#f7f3f8;color:#432052}.authSpinner{width:38px;height:38px;border:4px solid #e7dbea;border-top-color:#5a2d82;border-radius:50%;animation:vmSpin .8s linear infinite;margin:auto}@keyframes vmSpin{to{transform:rotate(1turn)}}.loginPage{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f7f1f8,#eee5f1)}.loginCard{width:min(100%,460px);background:#fff;border:1px solid #e5dbe8;border-radius:24px;padding:32px;box-shadow:0 24px 70px rgba(70,35,82,.13)}.loginBrand{display:flex;align-items:center;gap:14px}.loginBrand>span{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#5a2d82;color:#fff;font-weight:800;font-size:20px}.loginBrand h1,.loginBrand p{margin:0}.loginBrand p{font-size:13px;color:#7f7184}.loginIntro{margin:32px 0 20px}.loginIntro h2{margin:0 0 6px;font-size:28px}.loginIntro p{margin:0;color:#746a78}.loginForm{display:grid;grid-gap:16px;gap:16px}.loginForm label{display:grid;grid-gap:7px;gap:7px;font-weight:700;font-size:14px}.loginForm input{height:46px;border:1px solid #d9cddd;border-radius:11px;padding:0 13px;font:inherit}.loginForm input:focus{outline:3px solid rgba(90,45,130,.12);border-color:#5a2d82}.loginForm button{height:46px;border:0;border-radius:11px;background:#5a2d82;color:#fff;font-weight:800;cursor:pointer}.loginForm button:disabled{opacity:.6}.loginForm .loginLink{height:auto;background:transparent;color:#5a2d82;padding:4px}.loginMessage{padding:11px 13px;border-radius:10px;background:#fff7dd;border:1px solid #ead79a;font-size:14px}.logoutButton{border:0;background:transparent;font-size:20px;cursor:pointer;color:inherit;padding:6px}.usersPage{display:grid;grid-gap:20px;gap:20px}.usersEyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:#6b4a7c}.usersPage h1{margin:5px 0}.usersPanel{background:#fff;border:1px solid #e6dce9;border-radius:16px;padding:20px}.usersPanel h2{margin-top:0}.usersForm{display:grid;grid-template-columns:1fr 1fr 190px auto;grid-gap:12px;gap:12px;align-items:end}.usersForm label{display:grid;grid-gap:6px;gap:6px;font-weight:700;font-size:13px}.usersForm input,.usersForm select,.usersTable select{height:42px;border:1px solid #d9cedd;border-radius:9px;padding:0 10px;background:#fff}.usersForm button,.usersPanelTitle button,.usersSecondary{height:42px;border:0;border-radius:9px;padding:0 15px;background:#5a2d82;color:#fff;font-weight:700;cursor:pointer}.usersMessage{margin-top:14px;padding:11px;border-radius:9px;background:#f5eff7}.usersPanelTitle{display:flex;justify-content:space-between;align-items:center}.usersTableWrap{overflow:auto}.usersTable{width:100%;border-collapse:collapse}.usersTable td,.usersTable th{text-align:left;padding:12px;border-bottom:1px solid #eee7f0}.usersTable td small{display:block;color:#786d7d;margin-top:3px}.usersSecondary{background:#eee6f1;color:#502866}@media(max-width:900px){.usersForm{grid-template-columns:1fr}.loginCard{padding:24px}.usersTable{min-width:700px}}.usersSearch{margin:14px 0}.usersSearch input{width:100%;height:42px;border:1px solid #d9cedd;border-radius:9px;padding:0 13px;background:#fbf9fc;font:inherit}.usersCreateForm{grid-template-columns:1fr 1fr 1fr 180px}.usersCreateForm .usersPermissionsField{grid-column:1/-1}.usersPermissionsField{display:grid;grid-gap:9px;gap:9px}.permissionGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:9px;gap:9px}.permissionCheck{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;padding:10px 11px;border:1px solid #e2d8e5;border-radius:10px;background:#fbf8fc;font-size:13px!important;font-weight:600!important}.permissionCheck input{width:17px;height:17px;min-height:0;margin:0;accent-color:#5a2d82}.usersCards{grid-template-columns:repeat(2,minmax(0,1fr))}.userAccessCard,.usersCards{display:grid;grid-gap:14px;gap:14px}.userAccessCard{border:1px solid #e5dbe8;border-radius:14px;padding:16px;background:#fff}.userAccessCard.isInactive{background:#faf8fa;opacity:.82}.userAccessActions,.userAccessControls,.userAccessHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.userAccessHeader small{display:block;margin-top:4px;color:#786d7d}.userStatus{padding:5px 9px;border-radius:999px;background:#eee8ef;color:#6c6070;font-size:12px;font-weight:800}.userStatus.isActive{background:#e7f6ec;color:#287543}.userAccessControls label{display:grid;grid-gap:5px;gap:5px;font-size:12px;font-weight:800}.userAccessControls select{height:38px;border:1px solid #d9cedd;border-radius:9px;padding:0 10px;background:#fff}.userRoleHelp{font-size:12px;color:#7d7181}.userPermissionList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.userAccessActions{justify-content:flex-end;flex-wrap:wrap}.authLoading button{border:0;border-radius:10px;padding:11px 15px;background:#5a2d82;color:#fff;font-weight:800;cursor:pointer}@media(max-width:1100px){.usersCards{grid-template-columns:1fr}.permissionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.permissionGrid,.userPermissionList,.usersCreateForm{grid-template-columns:1fr}.userAccessControls,.userAccessHeader{align-items:flex-start;flex-direction:column}.userAccessActions{justify-content:stretch}.userAccessActions button{width:100%}}.moduleHero{padding:22px 30px 0;background:var(--bg)}.moduleHeroMain{position:relative;overflow:hidden;min-height:190px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:26px;border-radius:25px;color:#fff;background:radial-gradient(circle at 88% 15%,hsla(41,58%,72%,.31),transparent 28%),linear-gradient(132deg,var(--violet-950),var(--violet-800) 58%,var(--violet-700));box-shadow:0 18px 44px rgba(47,23,60,.15)}.moduleHeroMain:after{content:"";position:absolute;right:-72px;bottom:-120px;width:285px;height:285px;border:1px solid hsla(0,0%,100%,.12);border-radius:50%;box-shadow:0 0 0 34px hsla(0,0%,100%,.035),0 0 0 76px hsla(0,0%,100%,.022)}.moduleHeroCopy{position:relative;z-index:1;min-width:0;max-width:760px}.moduleHeroEyebrow{display:block;margin-bottom:7px;color:var(--gold-300);font-size:10px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.moduleHero h1{margin:0 0 7px;color:#fff;font-family:Georgia,serif;font-size:clamp(31px,3.6vw,44px);line-height:1.08}.moduleHero p{max-width:680px;margin:0;color:hsla(0,0%,100%,.76);font-size:13px;line-height:1.55}.moduleHeroLinks{margin-top:18px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.moduleHeroLinks a{padding:8px 11px;border:1px solid hsla(0,0%,100%,.16);border-radius:10px;color:#fff;background:hsla(0,0%,100%,.075);font-size:11px;font-weight:800;text-decoration:none;transition:transform .15s ease,background .15s ease}.moduleHeroLinks a:hover{transform:translateY(-2px);background:hsla(0,0%,100%,.14)}.moduleHeroLinks .moduleHeroHome{border-color:hsla(43,73%,84%,.5);color:var(--violet-950);background:linear-gradient(135deg,#f4e3b8,var(--gold-500))}.moduleHeroProfile{position:relative;z-index:1;min-width:225px;padding:16px;display:flex;align-items:center;gap:12px;border:1px solid hsla(0,0%,100%,.17);border-radius:17px;background:hsla(0,0%,100%,.085);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.moduleHeroAvatar{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:15px;color:var(--violet-950);background:linear-gradient(135deg,#f4e3b8,var(--gold-500));font-size:15px;font-weight:900}.moduleHeroProfile>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.moduleHeroProfile strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.moduleHeroProfile span:not(.moduleHeroAvatar){color:var(--gold-300);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.moduleHeroProfile small{color:hsla(0,0%,100%,.6);font-size:9px}.moduleHero+.pageContainer{padding-top:18px}.moduleHero+.pageContainer>.header,.moduleHero+.pageContainer>div>.header{display:none}.directionHeroProfile{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08),0 12px 28px rgba(26,10,36,.13)}.directionHeroProfile:before{content:"Espace sécurisé";position:absolute;top:-9px;right:12px;padding:4px 8px;border-radius:999px;color:var(--violet-950);background:linear-gradient(135deg,#f4e3b8,var(--gold-500));font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.directionHeroActions a{min-width:145px;text-align:center}.directionHeroHighlights span{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08)}@media(max-width:900px){.moduleHero{padding:16px 18px 0}.moduleHeroMain{align-items:flex-start;flex-direction:column;min-height:auto;padding:24px}.moduleHeroProfile{width:100%;min-width:0}}@media(max-width:620px){.moduleHero{padding:12px 12px 0}.moduleHeroMain{padding:22px 18px;border-radius:21px}.moduleHero h1{font-size:31px}.moduleHeroLinks{display:grid;grid-template-columns:1fr 1fr;width:100%}.moduleHeroLinks a{text-align:center}.moduleHeroLinks .moduleHeroHome{grid-column:1/-1}.moduleHeroProfile{padding:13px}.moduleHero+.pageContainer{padding-top:14px}}.userCredentialsEditor{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid #e5dbe8;border-radius:13px;background:linear-gradient(180deg,#fcf9fd,#f8f3fa)}.userCredentialsEditor>strong{font-size:13px;color:#4b245e}.userCredentialsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.userCredentialsGrid label{display:grid;grid-gap:7px;gap:7px;font-size:12px;font-weight:800}.userCredentialsGrid input{width:100%;height:42px;border:1px solid #d9cedd;border-radius:9px;padding:0 10px;background:#fff;font:inherit}.userCredentialsGrid input:focus{outline:3px solid rgba(90,45,130,.11);border-color:#6b3b88}.userCredentialsGrid button{width:max-content;max-width:100%}@media(max-width:700px){.userCredentialsGrid{grid-template-columns:1fr}.userCredentialsGrid button{width:100%}}:root{--radius-xl:26px;--radius-lg:20px;--radius-md:14px;--gold-soft:#f7edcf;--success:#238a57;--warning:#b66b13}.pageContainer{padding-top:22px;padding-bottom:46px}.pageContainer>*,.pageContainer>div>*{animation:vmFadeIn .28s ease both}@keyframes vmFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.card,.panel{position:relative;overflow:hidden;border-color:rgba(94,45,124,.12);box-shadow:0 10px 30px rgba(47,23,60,.075)}.card:before,.panel:before{content:"";position:absolute;left:18px;top:0;width:44px;height:3px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,var(--violet-700),var(--gold-300))}.card h2,.card h3,.panel h2,.panel h3{font-family:Georgia,serif;letter-spacing:-.01em}.panel h2{margin-top:0;color:var(--violet-950)}.card>p:first-of-type,.panel>p:first-of-type{color:var(--muted)}.form{padding:18px;border:1px solid rgba(94,45,124,.1);border-radius:18px;background:linear-gradient(145deg,#fff,#fbf8fc)}.form label,.panel label{color:#4b3b51;font-size:12px;font-weight:800}input,select,textarea{transition:border-color .16s,box-shadow .16s,transform .16s;background:linear-gradient(180deg,#fff,#fdfbfd)}input:hover,select:hover,textarea:hover{border-color:#d7c6dd}button{box-shadow:0 7px 16px rgba(75,32,98,.13);transition:transform .15s,box-shadow .15s,filter .15s}button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(75,32,98,.18);filter:saturate(1.05)}button:active{transform:translateY(0)}button.secondary{background:linear-gradient(135deg,#f1deb0,var(--gold-500))}.actions{align-items:center}.notice{border-color:rgba(94,45,124,.13);background:linear-gradient(135deg,#fbf7fc,#f4edf7);box-shadow:inset 4px 0 0 var(--gold-300)}.tableWrap{border:1px solid rgba(94,45,124,.11);box-shadow:0 8px 24px rgba(47,23,60,.05)}.tableWrap,table{background:#fff}th{padding-top:13px;padding-bottom:13px;color:#4b245e;background:linear-gradient(180deg,#fbf7fc,#f5eef8);font-size:11px;letter-spacing:.055em;text-transform:uppercase}td{transition:background .14s}tbody tr:hover td{background:#fcf9fd}.metric{font-family:Georgia,serif;letter-spacing:-.02em}.search{position:relative}.search input{padding-left:42px}.search:before{content:"⌕";position:absolute;left:14px;top:50%;z-index:1;transform:translateY(-54%);color:var(--violet-500);font-size:22px;pointer-events:none}.grid>.card{min-height:132px;display:flex;flex-direction:column;justify-content:center}.grid>.card .metric{margin-top:3px}.header{padding:22px 24px;border:1px solid rgba(94,45,124,.11);border-radius:20px;background:linear-gradient(135deg,#fff,#faf6fb);box-shadow:var(--shadow-sm)}.header h2{font-size:clamp(25px,3vw,34px)}.desktopTopbar{box-shadow:0 1px 0 rgba(67,32,82,.08);background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbarSeason,.topbarStatus{box-shadow:0 4px 14px rgba(47,23,60,.05)}.moduleHeroMain{box-shadow:0 22px 55px rgba(47,23,60,.18)}.moduleHeroMain:before{content:"VM";position:absolute;right:72px;top:18px;color:hsla(0,0%,100%,.025);font-family:Georgia,serif;font-size:150px;font-weight:900;line-height:1}.moduleHeroLinks a{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.12)}.moduleHeroProfile{box-shadow:0 14px 32px rgba(24,8,34,.14),inset 0 1px 0 hsla(0,0%,100%,.1)}.gmailCard,.userAccessCard,.usersPanel,.usersPanelTitle{border-color:rgba(94,45,124,.12)!important;border-radius:20px!important;box-shadow:0 10px 28px rgba(47,23,60,.07)}.userAccessCard{background:linear-gradient(145deg,#fff,#fbf8fc)}.permissionCheck{transition:.15s}.permissionCheck:hover{border-color:#cdb7d6;background:#f8f1fa}@media(max-width:780px){.pageContainer{padding:16px 12px 34px}.card,.panel{border-radius:18px}.form{grid-template-columns:1fr;padding:14px}.grid{grid-template-columns:1fr 1fr;gap:10px}.grid>.card{min-height:112px;padding:15px}.metric{font-size:27px}.tableWrap{border-radius:14px}.moduleHeroMain:before{right:-15px;top:34px;font-size:112px}}@media(max-width:480px){.grid{grid-template-columns:1fr}.grid>.card{min-height:auto}.moduleHeroLinks{grid-template-columns:1fr}.moduleHeroLinks .moduleHeroHome{grid-column:auto}}.premiumModuleHome{display:grid;grid-gap:18px;gap:18px;margin-bottom:24px}.premiumModuleIntro{position:relative;overflow:hidden;min-height:150px;padding:25px 27px;display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(94,45,124,.12);border-radius:24px;background:linear-gradient(135deg,#fff,#faf5fb);box-shadow:0 14px 36px rgba(47,23,60,.075)}.premiumModuleIntro>div:first-child{position:relative;z-index:1;max-width:720px}.premiumModuleIntro span,.premiumShortcutHeader span{display:block;margin-bottom:6px;color:#9a7433;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.premiumModuleIntro h2{margin:0 0 7px;color:var(--violet-950);font-family:Georgia,serif;font-size:clamp(25px,3vw,35px)}.premiumModuleIntro p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.premiumLineArt{position:relative;width:145px;height:95px;flex:0 0 145px;opacity:.72}.premiumLineArt i{position:absolute;border:1.5px solid #c9a75d;border-radius:50%;transform:rotate(-24deg)}.premiumLineArt i:first-child{inset:8px 15px 24px 5px}.premiumLineArt i:nth-child(2){inset:24px 2px 8px 28px}.premiumLineArt i:nth-child(3){width:48px;height:48px;right:42px;top:23px;background:radial-gradient(circle,rgba(201,167,93,.08),transparent 66%)}.premiumMetricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:13px;gap:13px}.premiumMetricCard{position:relative;overflow:hidden;min-height:116px;padding:18px;border:1px solid rgba(94,45,124,.11);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(47,23,60,.06)}.premiumMetricCard:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,var(--violet-700),var(--gold-300))}.premiumMetricCard small{display:block;color:#796b7d;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.premiumMetricCard strong{display:block;margin-top:8px;color:var(--violet-950);font-family:Georgia,serif;font-size:26px}.premiumMetricCard p{margin:5px 0 0;color:var(--muted);font-size:11px}.premiumShortcutHeader{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:4px 3px}.premiumShortcutHeader h3{margin:0;color:var(--violet-950);font-family:Georgia,serif;font-size:21px}.premiumShortcutHeader p{max-width:430px;margin:0;color:var(--muted);font-size:11px;text-align:right}.premiumShortcutGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:13px;gap:13px}.premiumShortcutCard{min-height:104px;padding:16px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;grid-gap:12px;gap:12px;border:1px solid rgba(94,45,124,.11);border-radius:18px;color:inherit;background:linear-gradient(145deg,#fff,#fbf8fc);box-shadow:0 9px 25px rgba(47,23,60,.055);text-decoration:none;transition:.18s}.premiumShortcutCard:hover{transform:translateY(-3px);border-color:rgba(154,116,51,.35);box-shadow:0 15px 32px rgba(47,23,60,.1)}.premiumShortcutCard>b{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#f6e8bd,#d6b66d);font-size:19px}.premiumShortcutCard strong{display:block;color:var(--violet-950);font-size:13px}.premiumShortcutCard p{margin:4px 0 0;color:var(--muted);font-size:10.5px;line-height:1.4}.premiumShortcutCard>span{color:#9a7433;font-size:20px}@media(max-width:1000px){.premiumMetricGrid,.premiumShortcutGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.premiumModuleIntro{min-height:auto;padding:21px}.premiumLineArt{position:absolute;right:-30px;opacity:.25}.premiumMetricGrid,.premiumShortcutGrid{grid-template-columns:1fr 1fr}.premiumShortcutHeader{align-items:flex-start;flex-direction:column}.premiumShortcutHeader p{text-align:left}.premiumShortcutCard{grid-template-columns:38px 1fr auto;padding:13px}.premiumShortcutCard>b{width:38px;height:38px}}@media(max-width:460px){.premiumMetricGrid,.premiumShortcutGrid{grid-template-columns:1fr}.premiumMetricCard{min-height:96px}}.notificationsCenter{position:relative}.desktopMessagesButton,.notificationsBell{position:relative;width:42px;height:42px;flex:0 0 42px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #e9e1eb;border-radius:14px;background:#fff;cursor:pointer;font-size:18px;line-height:1}.desktopMessagesButton{color:var(--violet-700);text-decoration:none;box-shadow:0 4px 14px rgba(47,23,60,.05)}.desktopMessagesButton svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.notificationsBell>span{display:block}.notificationsBell b{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#a93255;color:#fff;font-size:11px;display:grid;place-items:center}.notificationsPanel{position:absolute;right:0;top:50px;width:min(390px,calc(100vw - 28px));max-height:560px;background:#fff;border:1px solid #e8dfea;border-radius:20px;box-shadow:0 22px 70px rgba(44,15,53,.22);z-index:1000;overflow:hidden}.notificationsHeader{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid #eee8ef}.notificationsHeader div{display:grid}.notificationsHeader small{color:#786d7b}.notificationsEnable,.notificationsHeader button{border:0;background:none;color:#692b77;cursor:pointer}.notificationsEnable{width:calc(100% - 28px);margin:14px;padding:12px;border-radius:12px;background:#f5eef7}.notificationsPermission{padding:0 16px;color:#8b5361}.notificationsList{max-height:390px;overflow:auto}.notificationItem{display:flex;gap:12px;padding:15px 18px;text-decoration:none;color:inherit;border-bottom:1px solid #f1edf2}.notificationItem:hover{background:#faf7fb}.notificationItem p{margin:4px 0;font-size:13px}.notificationItem small{color:#817583}.notificationIcon{width:34px;height:34px;border-radius:12px;background:#f4e8c7;display:grid;place-items:center}.notificationsEmpty{text-align:center;padding:38px 20px;color:#817583}.notificationsFooter{display:block;padding:14px 18px;text-decoration:none;color:#642872;font-weight:700;background:#faf7fb}.topbarRight{gap:10px}@media(max-width:760px){.pageContainer{padding-left:14px!important;padding-right:14px!important}.desktopTopbar{padding-left:64px!important}.topbarSeason{display:none}.topbarStatus{font-size:0}.topbarStatus i{margin:0}.mobileTopbar{min-height:64px}.appMain{min-width:0}.notificationsPanel{position:fixed;top:72px;right:14px}.desktopTopbar{display:flex!important}.desktopTopbar .topbarBreadcrumb{display:none}.desktopTopbar .topbarRight{margin-left:auto}.pageContainer a,.pageContainer button{min-height:42px}}.messagesUnreadBadge{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#a93255;color:#fff;font-size:11px;line-height:19px;text-align:center}.sidebarNavFlat{padding-top:4px}.pageHeaderLinks{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px}.pageHeaderLinks a{color:var(--violet-700);font-size:12.5px;font-weight:700;text-decoration:none}.pageHeaderLinks a:hover{text-decoration:underline}.pageHeaderAction{flex:0 0 auto}@media(min-width:781px){.card,.panel{padding:22px;margin-bottom:20px}.pageContainer{padding:34px}}.staffBottomNav{display:none}@media(max-width:780px){.mobileMenuButton{display:none}.staffBottomNav{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(5,1fr);min-height:calc(64px + env(safe-area-inset-bottom));padding:6px max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:hsla(0,0%,100%,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--line)}.staffBottomNav a,.staffBottomNav button{display:grid;justify-items:center;grid-gap:2px;gap:2px;min-height:52px;padding:6px 2px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:10px;font-weight:700;text-decoration:none}.staffBottomNav a.isActive,.staffBottomNav button.isActive{color:var(--violet-700);background:var(--violet-50)}.staffBottomNav.isKeyboardHidden{display:none}.pageContainerWithBottomNav{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}.mobileTopbarActions{display:none}@media(max-width:780px){.appShell .desktopTopbar{display:none!important}.appShell .mobileTopbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;min-height:68px;padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));justify-content:space-between;gap:12px;border-bottom:1px solid rgba(83,54,94,.09);background:rgba(251,248,252,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.appShell .mobileBrand{min-width:0;color:var(--text);text-decoration:none}.appShell .mobileLogo{flex:0 0 39px;color:#fff;background:linear-gradient(145deg,#6d397e,#4d245e)}.mobileTopbarActions{display:flex;align-items:center;gap:7px}.mobileMessagesButton,.mobileTopbarActions .notificationsBell{position:relative;width:40px;height:40px;min-height:40px;padding:0;display:grid;place-items:center;border:1px solid rgba(83,54,94,.1);border-radius:13px;color:var(--violet-700);background:#fff;box-shadow:0 4px 14px rgba(47,23,60,.05)}.mobileMessagesButton svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.mobileTopbarActions .notificationsPanel{top:calc(62px + env(safe-area-inset-top));right:10px}.appShell .pageContainer{padding-top:16px;background:linear-gradient(180deg,#fbf8fc,#f7f4f9 240px)}.appShell .moduleHero{margin-bottom:14px}.appShell .moduleHeroMain{min-height:auto;padding:17px 16px;border-radius:19px}.appShell .moduleHeroCopy>p,.appShell .moduleHeroEyebrow,.appShell .moduleHeroProfile{display:none}.appShell .moduleHeroCopy h1{margin:0;font-size:25px}.appShell .moduleHeroLinks{margin-top:10px}.appShell .moduleHeroLinks a:not(.moduleHeroHome){display:none}.appShell .header{margin-bottom:14px;padding-bottom:12px}.appShell .header h2{font-size:25px}.appShell .header p{font-size:12px;line-height:1.45}.appShell .card,.appShell .panel{margin-bottom:13px;padding:15px;border-color:rgba(83,54,94,.1);border-radius:19px;box-shadow:0 8px 24px rgba(48,30,54,.05)}.appShell .tableWrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}}@media(max-width:350px){.appShell .mobileBrand small{display:none}.appShell .mobileTopbar{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.mobileMessagesButton,.mobileTopbarActions .notificationsBell{width:38px;height:38px;min-height:38px}.staffBottomNav a,.staffBottomNav button{font-size:9px}}.sheetOverlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(24,12,32,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheetPanel{width:min(720px,100%);max-height:min(90vh,90dvh);display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.25)}.sheetHeader{flex:0 0 auto;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.sheetHeader h2{margin:0;font-size:18px;color:var(--violet-950)}.sheetHeader button{width:34px;height:34px;padding:0;border-radius:50%;background:var(--violet-50);color:var(--violet-700);font-size:20px}.sheetBody{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px}.sheetFooter{flex:0 0 auto;padding:14px 20px max(14px,env(safe-area-inset-bottom));display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line)}.menuGroupButton{display:flex;align-items:center;gap:2px}.menuGroupLink{flex:1 1;min-width:0;display:flex;align-items:center;gap:9px;padding:8px;border-radius:10px;color:hsla(0,0%,100%,.88);text-decoration:none;font-size:13px;font-weight:750}.menuGroupLink:hover{background:hsla(0,0%,100%,.08)}.menuGroupLink.isActive{color:var(--violet-950);background:linear-gradient(135deg,#fff,#f2e8f6);box-shadow:0 7px 18px rgba(0,0,0,.14)}.menuChevronButton{flex:0 0 auto;width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:hsla(0,0%,100%,.6)}.menuChevronButton:hover{background:hsla(0,0%,100%,.12);color:#fff}.menuItems .menuItem{padding-left:10px;font-size:12px}.passwordFieldWrap{position:relative;display:block;width:100%}.passwordFieldWrap input{width:100%;padding-right:40px!important;box-sizing:border-box}.passwordFieldToggle{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:32px;height:32px;padding:0;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#8a7e8f;cursor:pointer}.passwordFieldToggle:focus-visible,.passwordFieldToggle:hover{background:rgba(83,54,94,.08);color:#4b2a58}.passwordFieldToggle:focus-visible{outline:2px solid #6d397e;outline-offset:1px}.horairePlage{display:inline-block;white-space:nowrap}.vacancesBanner{margin-bottom:16px;padding:16px 18px;border:1px solid rgba(94,45,124,.16);border-radius:16px;background:linear-gradient(135deg,#f1e8f5,#faf5fc);color:var(--violet-950);display:grid;grid-gap:3px;gap:3px}.vacancesBanner strong{font-family:Georgia,serif;font-size:17px}.vacancesBanner span{color:var(--muted);font-size:13px}.vacancesBannerSimple{padding:12px 14px;font-size:13px;font-weight:750;display:block}.appSidebar.isProfessor{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;min-height:0}.appSidebar.isProfessor .sidebarNav{flex:1 1;height:0;min-height:0;overflow-y:auto}body,html{width:100%;max-width:100%;overflow-x:hidden}.appMain,.appShell,.pageContainer,body{min-width:0;max-width:100%}@supports(overflow:clip){body,html{overflow-x:clip}}@media(max-width:780px){[role=dialog][aria-modal=true]{max-width:calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right))!important;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;overscroll-behavior:contain}[role=dialog][aria-modal=true] :is(.sheetBody,.formBody,[class*=ModalScroll],[class*=modal-body]){overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sheetOverlay{height:100vh;height:100dvh;padding:calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left))}.sheetPanel{max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.appSidebar,.appSidebar.isCollapsed{inset:0 auto auto 0;height:100vh;height:100svh;height:100dvh;max-height:none;min-height:0;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.appSidebar .sidebarBrand{min-height:calc(88px + env(safe-area-inset-top));padding-top:calc(16px + env(safe-area-inset-top))}.appSidebar .sidebarNav{flex:1 1;height:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.appSidebar .menuItems.isOpen{max-height:none;overflow:visible}.appSidebar .sidebarFooter{min-height:74px;padding-bottom:13px}.appSidebar .sidebarFooter .userInfo{flex:1 1;min-width:0}.appSidebar .sidebarFooter .logoutButton{flex:0 0 auto}.sidebarBackdrop{height:100vh;height:100svh;height:100dvh;touch-action:none}.appMain,.appShell,.pageContainer{width:100%;max-width:100%;min-width:0}.pageContainer>*{max-width:100%;min-width:0}}.concoursCardsMobile{display:none}.concoursPaiementLigne{display:flex;align-items:center;gap:8px;margin-bottom:6px}.concoursPaiementLigne:last-child{margin-bottom:0}.concoursEleveCard{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;grid-gap:8px;gap:8px;margin-bottom:10px;background:#fff}.concoursEleveCardHead{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.concoursEleveCardHead strong{font-size:15px}.concoursEleveCardHead span{font-size:12.5px;color:var(--muted);font-weight:700}.concoursEleveCardLigne{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}.concoursEleveCardPaiement{display:grid;grid-gap:4px;gap:4px}.concoursEleveCardActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}@media(max-width:760px){.concoursTableDesktop{display:none}.concoursCardsMobile{display:block}}.concoursPieceIdentite{display:grid;grid-gap:4px;gap:4px;font-size:12.5px}.concoursAvertissementCheque{display:block;width:100%;color:#9a6d1a;font-weight:700}@media(min-width:781px){.appSidebar .sidebarNavFlat{padding:6px 10px 16px}.appSidebar .sidebarNavFlat>.menuGroup{margin:0 0 3px}.appSidebar .sidebarNavFlat .menuGroupButton,.appSidebar .sidebarNavFlat>.menuItem{min-height:40px;height:40px;margin:0 0 3px;padding:0;border:0;border-radius:12px}.appSidebar .sidebarNavFlat .menuGroupButton{margin:0;display:flex;align-items:center;gap:0;background:transparent}.appSidebar .sidebarNavFlat .menuGroupLink,.appSidebar .sidebarNavFlat>.menuItem{height:40px;padding:0 8px;display:flex;align-items:center;gap:10px;border-radius:12px;color:hsla(0,0%,100%,.88);font-size:13px;font-weight:700;line-height:1.2;letter-spacing:0}.appSidebar .sidebarNavFlat .menuGroupLink{flex:1 1;min-width:0}.appSidebar .sidebarNavFlat .menuGroupLink:hover,.appSidebar .sidebarNavFlat>.menuItem:hover{padding-left:8px;color:#fff;background:hsla(0,0%,100%,.08)}.appSidebar .sidebarNavFlat .menuGroup.hasActiveItem .menuGroupButton,.appSidebar .sidebarNavFlat .menuGroupButton:hover{border-color:transparent;background:hsla(0,0%,100%,.06)}.appSidebar .sidebarNavFlat .menuGroupTitle,.appSidebar .sidebarNavFlat .menuItemLabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appSidebar .sidebarNavFlat .menuGroupIcon,.appSidebar .sidebarNavFlat .menuItemIcon{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:9px;color:var(--gold-300);background:hsla(0,0%,100%,.08)}.appSidebar .sidebarNavFlat .menuGroupLink.isActive,.appSidebar .sidebarNavFlat>.menuItem.isActive{color:var(--violet-950);background:linear-gradient(135deg,#fff,#f2e8f6);box-shadow:0 6px 16px rgba(0,0,0,.14);font-weight:750}.appSidebar .sidebarNavFlat .menuGroupLink.isActive .menuGroupIcon,.appSidebar .sidebarNavFlat>.menuItem.isActive .menuItemIcon{color:var(--violet-700);background:rgba(94,45,124,.1)}.appSidebar .sidebarNavFlat .menuChevronButton{width:28px;height:28px;flex:0 0 28px;margin:0 6px 0 2px;border-radius:8px}.appSidebar .sidebarNavFlat .menuGroupButton:has(.menuGroupLink.isActive){background:linear-gradient(135deg,#fff,#f2e8f6);box-shadow:0 6px 16px rgba(0,0,0,.14)}.appSidebar .sidebarNavFlat .menuGroupButton:has(.menuGroupLink.isActive) .menuGroupLink{background:transparent;box-shadow:none}.appSidebar .sidebarNavFlat .menuGroupButton:has(.menuGroupLink.isActive) .menuChevronButton{color:var(--violet-700);background:transparent;box-shadow:none}.appSidebar .sidebarNavFlat .menuGroupButton:has(.menuGroupLink.isActive) .menuChevron{color:var(--violet-700)}.appSidebar .sidebarNavFlat .menuGroupButton:has(.menuGroupLink.isActive) .menuChevronButton:hover{background:rgba(94,45,124,.08)}.appSidebar .sidebarNavFlat .menuItems{margin-left:22px;padding-left:10px;border-left:1px solid transparent}.appSidebar .sidebarNavFlat .menuItems.isOpen{margin-top:3px;margin-bottom:6px;padding-top:0;border-left-color:hsla(0,0%,100%,.14)}.appSidebar .sidebarNavFlat .menuItems .menuItem{min-height:30px;height:30px;margin:0 0 2px;padding:0 10px;border-radius:9px;color:hsla(0,0%,100%,.72);font-size:12px;font-weight:500}.appSidebar .sidebarNavFlat .menuItems .menuItem:hover{padding-left:10px;color:#fff;background:hsla(0,0%,100%,.08)}.appSidebar .sidebarNavFlat .menuItems .menuItem.isActive{color:var(--violet-950);background:linear-gradient(135deg,#fff,#f2e8f6);box-shadow:0 4px 12px rgba(0,0,0,.12);font-weight:700}.appSidebar.isDirection{background:linear-gradient(180deg,#281432,#3b1d49 58%,#4d285c);box-shadow:10px 0 34px rgba(31,15,39,.14)}.appSidebar.isDirection .sidebarSeason{margin-top:11px;margin-bottom:7px;border-color:hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.055)}.appSidebar.isDirection .directionNavigation{padding-top:2px}.appSidebar.isDirection .directionNavigation>.menuGroup{margin-bottom:5px;padding-bottom:5px;border-bottom:1px solid hsla(0,0%,100%,.075)}.appSidebar.isDirection .directionNavigation>.menuGroup:last-child{border-bottom:0}.appSidebar.isDirection .directionNavigation .menuGroupButton{height:43px}.appSidebar.isDirection .directionNavigation .menuGroupIcon,.appSidebar.isDirection .directionNavigation>.menuItem .menuItemIcon{color:#ead5a8;background:hsla(0,0%,100%,.075)}.appSidebar.isDirection .directionNavigation .menuItems{margin-left:18px}.appSidebar.isDirection .directionNavigation .menuItems .menuItem{height:32px;gap:8px;padding:0 8px}.appSidebar.isDirection .directionNavigation .menuItems .menuItemIcon{width:22px;height:22px;flex-basis:22px;border-radius:7px;color:hsla(42,71%,80%,.9);background:hsla(0,0%,100%,.055)}.appSidebar.isDirection .directionNavigation .menuItems .menuItemLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:780px){.appSidebar.isDirection{width:min(92vw,360px);background:linear-gradient(180deg,#281432,#472456);box-shadow:20px 0 60px rgba(25,12,34,.28)}.appSidebar.isDirection .sidebarBrand{min-height:calc(76px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 14px 10px;grid-template-columns:46px 1fr 34px}.appSidebar.isDirection .brandLogo{width:46px;height:46px;border-radius:15px;font-size:21px}.appSidebar.isDirection .brandText strong{font-size:19px}.appSidebar.isDirection .sidebarSeason{display:none!important}.appSidebar.isDirection .mobileCloseButton{width:34px;height:34px;display:grid;place-items:center;font-size:23px}.appSidebar.isDirection .directionNavigation{height:0;padding:12px 12px 18px}.appSidebar.isDirection .directionNavigation>.menuItem:first-child{display:none}.appSidebar.isDirection .directionNavigation>.menuGroup{margin:0 0 18px}.appSidebar.isDirection .directionNavigation .menuGroupButton{height:auto;min-height:34px;margin:0 0 8px;padding:0;background:transparent!important}.appSidebar.isDirection .directionNavigation .menuGroupLink{height:34px;padding:0 4px;color:#fff;background:transparent!important;box-shadow:none!important;pointer-events:none}.appSidebar.isDirection .directionNavigation .menuGroupIcon{width:27px;height:27px;flex-basis:27px;border-radius:8px;color:#ead5a8;background:hsla(0,0%,100%,.08)}.appSidebar.isDirection .directionNavigation .menuGroupTitle{font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.appSidebar.isDirection .directionNavigation .menuChevronButton{display:none}.appSidebar.isDirection .directionNavigation .menuItems,.appSidebar.isDirection .directionNavigation .menuItems.isOpen{max-height:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px;overflow:visible;border:0;opacity:1}.appSidebar.isDirection .directionNavigation .menuItems .menuItem{min-width:0;height:auto;min-height:54px;margin:0;padding:9px 10px;display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;border:1px solid hsla(0,0%,100%,.08);border-radius:12px;color:hsla(0,0%,100%,.86);background:hsla(0,0%,100%,.055);font-size:11.5px;line-height:1.22}.appSidebar.isDirection .directionNavigation .menuItems .menuItem:hover{padding:9px 10px;background:hsla(0,0%,100%,.1)}.appSidebar.isDirection .directionNavigation .menuItems .menuItem.isActive{color:var(--violet-950);background:#fff;box-shadow:0 7px 18px rgba(0,0,0,.16)}.appSidebar.isDirection .directionNavigation .menuItems .menuItemIcon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#ead5a8;background:hsla(0,0%,100%,.08)}.appSidebar.isDirection .directionNavigation .menuItems .menuItem.isActive .menuItemIcon{color:var(--violet-700);background:var(--violet-50)}.appSidebar.isDirection .directionNavigation .menuItems .menuItemLabel{min-width:0;white-space:normal;overflow-wrap:anywhere}.appSidebar.isDirection .directionNavigation .menuItems .menuItem[data-mobile-primary=true]{display:none}.appSidebar.isDirection .sidebarFooter{background:rgba(0,0,0,.1)}}