@font-face{font-family:"Work Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/WorkSans.ttf") format("truetype")}
:root{color-scheme:light;--blue:#009FE3;--ink:#29235c;--muted:#526878;--line:#d5e2e8;--background:#f3f7f9;--green:#15734a}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font:16px/1.6 "Work Sans",sans-serif}a{color:var(--blue)}header{background:white;padding:24px max(5%,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--blue);font-size:21px;line-height:1.2}.brand strong{font-weight:700}.brand small{display:block;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;margin-top:6px;color:var(--muted)}.mark{display:grid;place-items:center;background:var(--blue);color:white;width:47px;height:47px;border-radius:13px;font-size:29px;font-weight:800}nav{display:flex;align-items:center;flex-wrap:wrap;gap:20px}nav a{font-size:14px;font-weight:600;text-decoration:none}nav form{margin:0}main{max-width:1180px;margin:0 auto;padding:56px 26px 72px;min-height:75vh}h1{font-size:clamp(29px,4vw,46px);line-height:1.16;letter-spacing:-1.3px;margin:12px 0 22px}h2{font-size:24px;line-height:1.3;margin:8px 0 16px}p{margin:12px 0 22px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--blue)}.lead{font-size:19px;color:var(--muted);max-width:660px}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center;padding:40px 0}.intro h1{font-size:clamp(36px,5vw,60px)}.intro-note{border-left:3px solid #FFD500;padding:8px 18px;margin-top:42px;color:var(--muted)}.panel,.tool-card{padding:32px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 22px #29235c05}.panel h1{font-size:32px}.narrow{max-width:610px;margin:0 auto}.muted{color:var(--muted);font-size:13px}label{display:block;font-weight:650;font-size:14px;margin-top:20px;margin-bottom:7px}input,select{font:inherit;width:100%;border:1px solid #a6bac7;background:#fff;border-radius:7px;padding:11px 13px;color:var(--ink)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--blue);color:white;font:600 14px/1.5 "Work Sans",sans-serif;text-decoration:none;border:1px solid var(--blue);padding:12px 20px;border-radius:8px;cursor:pointer}form>button{margin-top:24px}.panel form>button{width:100%}.secondary{background:white;color:var(--blue)}nav button{margin:0!important;padding:8px 12px}button:hover,.button:hover{filter:brightness(.94)}a:hover{text-decoration:underline}:focus-visible{outline:3px solid #b37700;outline-offset:4px}.notice,.error{padding:15px 20px;border-radius:8px;border:1px solid #a7d7b7;background:#eaf8ef;color:#165330}.error{background:#fff1f0;color:#942c25;border-color:#eac0bb}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:48px;margin-bottom:20px}.section-heading h2{margin:0}.section-heading span{font-size:13px;color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tool-card{position:relative;padding:32px;display:flex;flex-direction:column;align-items:flex-start;border-top:4px solid var(--blue)}.tool-card:nth-child(2){border-top-color:#38B6AB}.tool-card p{color:var(--muted);flex:1}.tool-card h2{max-width:340px;margin-top:25px}.tool-icon{width:54px;height:54px;display:grid;place-items:center;background:#e8f3f8;border-radius:14px;color:var(--blue);font-size:32px}.badge{display:inline-block;border-radius:30px;background:#edf3f6;color:#425e70;padding:5px 12px;font-size:12px;font-weight:600}.tool-card>.badge{position:absolute;right:28px;top:36px}.admin-banner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 36px;border-radius:16px;background:#e5eff4;margin-top:38px}.admin-banner h2{font-size:21px;margin:0}.admin-banner p{margin:5px 0 0;color:var(--muted)}footer{max-width:1180px;margin:auto;border-top:1px solid var(--line);padding:22px 26px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:20px}.skip{position:absolute;left:8px;top:-100px;background:white;padding:10px;z-index:5}.skip:focus{top:8px}summary{cursor:pointer;font-weight:700;font-size:18px}summary small{display:block;font-size:13px;font-weight:400;color:var(--muted)}.user-list{display:grid;gap:14px}.user summary{display:flex;justify-content:space-between;gap:15px;align-items:center}.user summary:before{content:'+';color:var(--blue)}details[open].user summary:before{content:'−'}.user summary>span:first-of-type{flex:1}.user form,.create-form{max-width:620px}.check{display:flex;gap:10px;align-items:center}.check input{width:20px;height:20px}hr{border:0;border-top:1px solid var(--line);margin:30px 0}.pagination{margin-top:25px;justify-content:space-between}@media(max-width:800px){header{align-items:flex-start;flex-direction:column;padding:20px 24px}nav{gap:12px}main{padding-top:32px}.login-layout{grid-template-columns:1fr;gap:30px;padding:0}.intro-note{margin-top:20px}.cards{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.admin-banner{align-items:flex-start;flex-direction:column;padding:26px}.panel,.tool-card{padding:24px}footer{flex-direction:column;gap:6px}.user summary{flex-wrap:wrap}.user summary>.badge{margin-left:20px}.brand{font-size:20px}}@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s ease}}

body{background:#fff}a{color:#29235c}button,.button{background:#29235c;border-color:#29235c}.secondary{background:white;color:#29235c}.topline{background:#29235c;color:white;font-size:11px;letter-spacing:1px}.topline>div{max-width:1240px;margin:auto;padding:9px 28px;display:flex;justify-content:space-between}.site-header{padding:24px max(28px,calc((100% - 1184px)/2));gap:32px}.brand{color:#29235c;font-weight:700}.brand img{object-fit:contain;flex-shrink:0}.brand small{color:#62667a;letter-spacing:1.5px}nav a{padding:10px 0;border-bottom:3px solid transparent}nav a[aria-current]{border-bottom-color:#009FE3}main{max-width:1240px;padding:48px 28px 72px}.home-hero{display:grid;grid-template-columns:1.45fr 1fr;gap:70px;align-items:center}.home-hero h1{font-size:clamp(38px,4.5vw,61px);line-height:1.12;margin:16px 0 30px;letter-spacing:-2px}.home-hero h1 span{text-decoration:underline;text-decoration-color:#FFD500;text-decoration-thickness:7px;text-underline-offset:8px}.welcome{margin:25px 0 0;font-weight:600}.eyebrow{color:#29235c}.hero-feature{background:#eaf7fd;padding:32px 38px 40px;border-radius:24px 24px 90px 24px;border-bottom:7px solid #009FE3;position:relative}.feature-kicker{font-size:11px;font-weight:700;letter-spacing:2px}.hero-feature h2{font-size:34px;margin:22px 0 12px}.hero-feature p{color:#62667a}.feature-tag{display:inline-block;background:#FFD500;padding:6px 12px;font-size:12px;font-weight:700;border-radius:4px}.team-symbol{display:flex;align-items:flex-end;gap:10px;height:88px;margin-top:24px}.team-symbol span{width:44px;height:40px;border-radius:24px 24px 6px 6px;background:#38B6AB;position:relative}.team-symbol span:before{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:inherit;left:10px;top:-28px}.team-symbol span:nth-child(2){height:54px;background:#009FE3}.team-symbol span:nth-child(3){background:#29235c}.section-heading{margin-top:64px}.section-heading .eyebrow{margin-bottom:10px}.tool-card{box-shadow:none;border-top:4px solid #D1338A}.tool-card:nth-child(2){border-top-color:#38B6AB}.tool-icon{color:#29235c;background:#eaf7fd}.admin-banner{background:#f2f1f8}.panel{box-shadow:0 10px 35px #29235c06}.site-footer{max-width:none;display:block;background:#29235c;color:white;border-top:5px solid #009FE3;padding:0;font-size:14px}.footer-inner{max-width:1240px;margin:auto;padding:42px 28px;display:flex;justify-content:space-between;gap:40px}.footer-brand{display:flex;gap:22px;align-items:center}.footer-brand img{object-fit:contain}.footer-brand p{font-size:13px;line-height:1.5;margin:8px 0 0;color:#e3e6f2}.footer-links{display:flex;flex-direction:column;gap:9px;font-size:13px}.footer-links a{color:white}.footer-base{max-width:1184px;margin:auto;border-top:1px solid #ffffff30;padding:18px 0;font-size:11px;color:#e3e6f2}@media(max-width:850px){.site-header{flex-direction:column;align-items:flex-start}.home-hero{grid-template-columns:1fr;gap:34px}.hero-feature{max-width:520px;width:100%}.login-layout{grid-template-columns:1fr;gap:32px}}@media(max-width:650px){main{padding:30px 20px 48px}.topline>div{padding:8px 20px;font-size:9px}.site-header{padding:20px}.brand{font-size:18px}.brand img{width:52px;height:53px}.site-header nav{gap:10px 16px}.site-header nav a{font-size:12px}.home-hero h1{letter-spacing:-1px}.footer-inner{flex-direction:column;padding:32px 20px}.footer-base{margin:0 20px}.section-heading{margin-top:42px}}

.home-simple{margin-bottom:32px}.home-simple p{font-size:20px}.login-simple{margin-top:24px}.tool-card .button{margin-top:auto}.tool-card h2{margin-bottom:30px}
.user-list{gap:10px}.user-list>.panel.user{padding:14px 22px;border-radius:14px}.user-list>.user summary{min-height:44px;gap:12px}.user-list>.user[open]{padding-bottom:22px}@media(max-width:650px){.user-list>.panel.user{padding:12px 16px}}

.login-warning{color:#9E1F6D;background:#fcebf4;border:1px solid #D1338A;border-radius:10px;padding:12px 16px;font-weight:600}

.site-header nav .admin-nav-link{position:relative;margin-right:10px}
.admin-task-count{position:absolute;top:-14px;right:-16px;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border:2px solid #fff;border-radius:999px;background:#9E1F6D;color:#fff;font-size:11px;font-weight:750;line-height:1;box-shadow:0 2px 5px #29235c20;white-space:nowrap}

.launch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.launch-tile{--tile:#D1338A;--tint:#fcebf4;display:flex;flex-direction:column;justify-content:center;gap:14px;min-width:0;min-height:168px;padding:22px;border:1px solid #d5e2e8;border-top:4px solid var(--tile);border-radius:18px;background:var(--tint);text-decoration:none;color:#29235c}.launch-tile:nth-child(7n+2){--tile:#38B6AB;--tint:#e7f7f4}.launch-tile:nth-child(7n+3){--tile:#009FE3;--tint:#eaf7fd}.launch-tile:nth-child(7n+4){--tile:#F39204;--tint:#fff2e4}.launch-tile:nth-child(7n+5){--tile:#9E1F6D;--tint:#f7eaf3}.launch-tile:nth-child(7n+6){--tile:#FFD500;--tint:#fffbe1}.launch-tile:nth-child(7n+7){--tile:#29235c;--tint:#eeeef6}.launch-tile:hover{border-color:var(--tile);box-shadow:0 5px 18px #29235c12}.launch-tile:focus-visible{outline:3px solid #009FE3;outline-offset:4px}.launch-tile h2{font-size:19px;line-height:1.25;margin:0;overflow-wrap:anywhere}.launch-icon{font-size:30px;line-height:1;color:#29235c}@media(max-width:850px){.launch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.launch-tile{aspect-ratio:1;min-height:0;padding:18px;gap:12px}.launch-tile h2{font-size:clamp(14px,3.8vw,21px)}.launch-icon{font-size:26px}}@media(max-width:360px){.launch-tile{padding:12px;gap:10px}}

.site-footer{background:linear-gradient(125deg,#009FE3 0%,#29235c 100%)}.footer-inner{padding-top:24px;padding-bottom:24px}.footer-brand>div,.footer-links{background:#29235c40;border-radius:10px;padding:10px 14px}.footer-base{background:transparent;padding-left:12px;padding-right:12px}.compact-settings{padding:18px 22px;margin:14px 0}.compact-settings>summary{font-size:17px}.compact-settings[open]>summary{margin-bottom:18px}main>h1,main .directory-head h1,main .creator-heading h1{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:0 0 22px;letter-spacing:-.5px}.directory-search{margin:18px 0;padding:18px}.directory-actions{margin:18px 0}.section-heading{margin-top:28px}.account-form{max-width:900px}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.account-grid input[readonly]{background:#f1f4f8}.account-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:22px}#account-password-wrap{max-width:440px}#account-password-wrap[hidden]{display:none}
@media(max-width:650px){.site-header{padding:12px 20px;gap:10px}.brand img{width:38px;height:39px}.brand{font-size:16px}.brand small{display:none}.site-header nav{gap:6px 14px}.site-header nav a{padding:6px 0}.site-header nav button{padding:8px 12px}main{padding-top:22px}.account-grid{grid-template-columns:1fr}.account-grid label{margin-top:12px}.compact-settings{padding:15px 18px}.footer-inner{padding:18px 20px;gap:16px}.directory-head h1{margin-bottom:16px}.directory-search{padding:14px;margin:16px 0}.home-simple{margin-bottom:22px}}

.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:0;background:linear-gradient(90deg,#009fe329 0%,#29235c29 100%),#ffffffdc;box-shadow:none}.site-header::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#23AE84,#72cfae,#168767)}.header-icon,.header-mobile-label{display:none}
@media(max-width:850px){html{scroll-padding-top:64px}.site-header{position:sticky;top:0;z-index:50;flex-direction:row;align-items:center;gap:8px;padding:8px 10px 11px;min-height:57px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.site-header .brand{gap:5px;font-size:10px;line-height:1.15;flex:0 1 96px;min-width:80px}.site-header .brand img{width:34px;height:35px}.site-header .brand>span{max-width:57px}.site-header .brand small{display:none}.site-header nav{flex:1;justify-content:flex-end;flex-wrap:nowrap;gap:6px;min-width:0}.site-header nav a,.site-header nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:36px;padding:2px 0;font-size:9px;line-height:1.2;white-space:nowrap;border-radius:0;border-bottom-width:2px}.site-header nav button{border:0;background:transparent;color:#29235c}.site-header nav form{flex-shrink:0}.site-header nav .admin-nav-link{margin-right:0}.site-header .header-icon{display:block;flex-shrink:0}.site-header .header-desktop-label{display:none}.site-header .header-mobile-label{display:inline}.site-header .admin-task-count{top:-5px;right:-7px;min-width:16px;height:16px;font-size:9px;padding:0 3px;border-width:1px}.skip{z-index:60}}

@media(min-width:851px){html{scroll-padding-top:125px}}

.launch-grid .launch-tile.launch-frais{--tile:#FFD500;--tint:#fffbe1}

.notification-bell{position:relative;display:flex;align-items:center;justify-content:center;background:transparent;color:#29235c;border:0;padding:8px;min-width:32px;min-height:40px}.notification-badge{position:absolute;top:-3px;right:-3px;background:#e62e87;color:white;border-radius:20px;min-width:17px;padding:1px 4px;font-size:10px}#notification-center{width:min(520px,calc(100% - 24px));max-height:80dvh;border:1px solid #d6e1e9;border-radius:16px;padding:24px;color:#29235c}#notification-center::backdrop{background:#18203355}#notification-center .portal-message{margin:12px 0}#notification-center a{color:inherit;text-decoration:none}#notification-center h2{font-size:24px;margin:0 30px 18px 0}@media(max-width:600px){.site-header nav{gap:4px!important}.notification-bell{padding:3px;min-width:25px}.site-header .brand{min-width:0}}

.site-header nav{flex:1;justify-content:space-between;gap:16px}.site-header .brand{flex-shrink:0}@media(max-width:760px){.site-header nav{justify-content:space-between;gap:6px!important}.site-header{gap:8px}.site-header .brand{flex:0 0 88px;min-width:0}.site-header nav .notification-bell{min-width:22px}}

@media(max-width:360px){.site-header .brand{flex-basis:76px;font-size:9px}.site-header .brand img{width:30px;height:31px}.site-header .brand>span{max-width:42px}.site-header nav{gap:3px!important}.site-header{gap:5px}.site-header nav a,.site-header nav button{font-size:8px}}

dialog{overscroll-behavior:contain}

.site-header nav .notification-bell{flex-direction:column;gap:2px;line-height:1.2}.notification-label{font-size:inherit;white-space:nowrap}
@media(min-width:851px){.site-header nav{flex-wrap:nowrap}.site-header nav a,.site-header nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;padding:5px 8px;font-size:13px;line-height:1.2;white-space:nowrap}.site-header nav button{border:0;background:transparent;color:#29235c}.site-header .header-icon{display:block;flex-shrink:0;width:22px;height:22px}.site-header nav .admin-nav-link{margin-right:0}.site-header .admin-task-count{top:-7px;right:0}.site-header .notification-badge{top:-7px;right:0}}
@media(max-width:360px){.site-header .brand{flex-basis:68px}.site-header nav{gap:2px!important}}
@media(min-width:851px) and (max-width:1100px){.site-header{gap:18px}.site-header .brand{font-size:18px;gap:9px}.site-header nav{gap:8px}.site-header nav a,.site-header nav button{padding-left:4px;padding-right:4px}}

.launch-grid .launch-tile.launch-qrgen{--tile:#009FE3;--tint:#eaf7fd}

.launch-grid .launch-tile.launch-signunsa{--tile:#38B6AB;--tint:#e7f7f4}.footer-base{display:flex;align-items:center;justify-content:space-between;gap:16px}.footer-rgpd{display:block;flex-shrink:0;margin-left:auto}.footer-rgpd img{display:block;object-fit:contain;width:150px;height:75px}.footer-rgpd:focus-visible{outline:3px solid #FFD500;outline-offset:4px}@media(max-width:450px){.footer-base{flex-wrap:wrap}.footer-rgpd img{width:120px;height:60px}}

.launch-grid .launch-tile.launch-tone0{--tile:#D1338A;--tint:#fcebf4}
.launch-grid .launch-tile.launch-tone1{--tile:#38B6AB;--tint:#e7f7f4}
.launch-grid .launch-tile.launch-tone2{--tile:#009FE3;--tint:#eaf7fd}
.launch-grid .launch-tile.launch-tone3{--tile:#F39204;--tint:#fff2e4}
.launch-grid .launch-tile.launch-tone4{--tile:#9E1F6D;--tint:#f7eaf3}
.launch-grid .launch-tile.launch-tone5{--tile:#FFD500;--tint:#fffbe1}
.launch-grid .launch-tile.launch-tone6{--tile:#29235c;--tint:#eeeef6}
.footer-privacy{display:flex;align-items:center;gap:18px;margin-left:auto}.footer-privacy .footer-rgpd{margin:0}.footer-privacy-link{color:#fff;font-size:14px;text-underline-offset:4px;padding:10px 0}.footer-privacy-link:focus-visible{outline:3px solid #FFD500;outline-offset:4px}.privacy-page{max-width:900px;margin:auto}.privacy-copy{line-height:1.65;overflow-wrap:anywhere}@media(max-width:650px){.footer-privacy{flex-direction:column;gap:2px;align-items:center;margin:0 auto}.footer-base{flex-wrap:wrap}.footer-base>span{width:100%;text-align:center}}
.privacy-form-notice{font-size:12px;color:#505369;line-height:1.5;margin:14px 0 0;grid-column:1/-1}.privacy-consent{position:fixed;bottom:15px;left:15px;right:15px;max-width:720px;margin:auto;padding:20px;background:white;border:2px solid #29235c;border-radius:12px;box-shadow:0 4px 20px #0003;z-index:10000}.privacy-consent[hidden]{display:none}.privacy-consent h2{font-size:20px;margin:0}.privacy-consent-actions{display:flex;gap:12px;margin:15px 0}.privacy-consent-actions button{flex:1;min-height:44px}.privacy-change{display:block;margin:12px auto}.privacy-consent ul{font-size:14px}
.access-profile-selector{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:0 0 22px;font-size:13px}.access-profile-selector label{margin:0}.access-profile-selector select{width:auto;margin:0;min-width:150px}.access-profile-selector button{padding:8px 12px}.access-nav{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 24px}#profiles-rights th,#profiles-rights td{padding:12px;vertical-align:top}#profiles-rights select{min-width:145px}#profiles-rights button{margin:12px 12px 0 0}#profiles-users{margin-top:20px}#profiles-users details[hidden]{display:none}#users-full-page~#admin-settings{display:block}#users-full-page~#admin-settings>details:not(#create-user-settings),#users-full-page~#admin-settings>form,#users-full-page~#admin-settings>section,#users-full-page~#admin-settings>p{display:none}#users-full-page~#admin-settings #create-user-settings{display:block}#users-full-page~#admin-accounts .user[open]{border:2px solid #009fe3}
.users-page-settings>:not(#create-user-settings):not(script):not(link){display:none}.users-page-settings #create-user-settings{display:block}
#profiles-app .rights-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}#profiles-app .panel{min-width:0}#profiles-app table{min-width:660px}
.profile-banner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-radius:17px;overflow:hidden;margin:0 0 24px;box-shadow:0 3px 10px #29235c14}.profile-banner .profile-part{display:flex;align-items:center;justify-content:center;min-height:66px;margin:0;padding:14px 8px;border:0;border-radius:0;font:700 clamp(12px,2.4vw,18px)/1.25 'Work Sans',sans-serif;text-align:center;transition:filter .15s}.profile-banner .profile-militant{background:#009fe3;color:#29235c}.profile-banner .profile-representant{background:#92278f;color:#fff}.profile-banner .profile-pilote{background:#38b6ab;color:#29235c}.profile-banner button[aria-pressed=true]{box-shadow:inset 0 -5px 0 #fff,inset 0 0 0 2px #ffffffb0}.profile-banner button:hover{filter:brightness(1.06)}.profile-banner button:focus-visible{outline:3px solid #29235c;outline-offset:-5px}.profile-banner button:disabled{opacity:.8}.profile-banner input[type=hidden]{display:none}#profile-switch-status:empty{display:none}#profile-switch-status{font-size:13px;margin:-10px 0 18px;color:#29235c}@media(max-width:450px){.profile-banner .profile-part{min-height:58px;padding:12px 4px}.profile-banner{border-radius:13px}}

.profile-banner .profile-militant{background:#009fe31c;color:#29235c}.profile-banner .profile-representant{background:#92278f1c;color:#29235c}.profile-banner .profile-pilote{background:#38b6ab26;color:#29235c}.profile-banner .profile-militant[aria-pressed=true]{background:#009fe3}.profile-banner .profile-representant[aria-pressed=true]{background:#92278f;color:white}.profile-banner .profile-pilote[aria-pressed=true]{background:#38b6ab}
.error:empty{display:none!important}.rgpd-badge{display:inline-block;width:25px;height:25px;vertical-align:middle;margin-right:6px}.rgpd-label{display:flex;align-items:center;color:#145c42;font-weight:700}.role-board,.profile-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.role-column,.profile-column{min-width:0;background:#f5f7fb;border-radius:12px;padding:10px;border-top:4px solid #009fe3}.role-column:nth-child(2),.profile-column:nth-child(2){border-color:#92278f}.role-column:nth-child(3),.profile-column:nth-child(3){border-color:#38b6ab}.role-column h2,.profile-column h3{font-size:16px;margin:4px 0 12px}.role-cards{display:grid;gap:8px}.role-board .user{margin:0;padding:10px;min-width:0}.role-board .user summary{display:flex;flex-wrap:wrap;gap:6px;font-size:14px}.role-board .user summary small{display:block;font-size:11px}.role-board .badge{font-size:10px}.role-board .user[open]{position:relative;grid-column:1/-1}.role-board .user label,.role-board .user p{font-size:12px;margin:8px 0}.role-board .user input,.role-board .user select,.role-board .user button{font-size:12px;padding:8px}.role-board .user .tool-rights-create{grid-template-columns:1fr}.profile-checks{padding:8px;border:1px solid #ddd}.profile-checks .check{display:inline-flex;margin-right:10px}.drop-over{outline:3px dashed #009fe3;outline-offset:2px}.profile-person{padding:10px;margin:7px 0;background:white;border:1px solid #dce1e9;border-radius:9px;font-size:13px}.profile-person strong{display:block}.profile-person button{padding:5px 8px;font-size:12px;margin:6px 4px 0 0}.profile-person[draggable=true],.user summary[draggable=true]{cursor:grab}#profiles-rights th,#profiles-rights td{padding:8px;font-size:13px}#profiles-rights input[type=checkbox]{width:auto}.profile-columns .profile-column{min-height:100px}.profile-unassigned{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.compact-profiles>summary{font-size:16px;font-weight:700}.profile-action-dialog{width:min(440px,calc(100vw - 24px));padding:20px;border:1px solid #ccd3de;border-radius:14px}.profile-action-dialog button{margin:6px}.users-page-settings #create-user-settings{margin:10px 0}.role-board .user form+form{border-top:1px solid #eee}
@media(max-width:800px){.role-board,.profile-columns{grid-template-columns:1fr}.role-board .user .tool-rights-create{grid-template-columns:repeat(2,minmax(0,1fr))}}

#profiles-rights table{width:100%;table-layout:fixed}#profiles-rights th:first-child{width:40%;text-align:left}.profile-person small{display:block;overflow-wrap:anywhere}.profile-person strong{overflow-wrap:anywhere}#profiles-save{position:sticky;bottom:12px;z-index:2;box-shadow:0 3px 12px #29235c33}.role-board .user summary>span:first-child{min-width:0;overflow-wrap:anywhere}

/* Available modes keep their labels; the selected mode retains the brand colour. */
.profile-banner button[aria-pressed=false]{color:#92969e}

@media(min-width:1000px){.launch-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.launch-grid .launch-tile{min-height:145px;padding:16px;gap:10px;border-radius:14px}.launch-grid .launch-tile h2{font-size:17px;line-height:1.2}}

/* Initial profile choice and the compact profile dock. */
.profile-banner.profile-gate{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:24px;min-height:145px;max-width:1080px;overflow:visible;box-shadow:none;border-radius:0;margin:20px auto 28px}
.profile-banner .profile-militant{--portal:#009FE3;--portal-tint:#e5f6fd;background-color:#e5f6fd}.profile-banner .profile-representant{--portal:#9E1F6D;--portal-tint:#f7eaf3;background-color:#f7eaf3}.profile-banner .profile-pilote{--portal:#29235c;--portal-tint:#eeeef6;background-color:#eeeef6}
.portal-welcome{padding:18px 0 10px}.portal-welcome h1{margin:0 0 20px;font-size:clamp(30px,4vw,46px)}
.profile-banner.profile-gate .profile-part{position:relative;display:flex;align-items:center;justify-content:center;min-height:92px;margin:0;padding:18px 10px;border:1px solid color-mix(in srgb,var(--portal) 55%,transparent);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--portal) 11%,transparent),color-mix(in srgb,var(--portal) 5%,transparent));box-shadow:0 7px 20px color-mix(in srgb,var(--portal) 10%,transparent);color:color-mix(in srgb,var(--portal) 90%,#29235c);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.profile-gate .portal-label{display:inline-block;font-size:clamp(28px,3.6vw,42px);font-weight:750;letter-spacing:-.6px;line-height:1.2;text-align:center;text-shadow:0 7px 14px color-mix(in srgb,var(--portal) 28%,transparent)}
.profile-gate button.profile-part:hover{transform:translateY(-3px);border-color:var(--portal);box-shadow:0 10px 24px color-mix(in srgb,var(--portal) 16%,transparent);filter:none}.profile-gate button.profile-part:focus-visible{outline:3px solid var(--portal);outline-offset:4px}.profile-gate .portal-unavailable{opacity:.3}.profile-gate .portal-unavailable .portal-label{text-shadow:none}
.portal-unavailable{opacity:.55;pointer-events:none}.profile-dock{padding:9px max(26px,calc((100vw - 1128px)/2));background:#fff;border-bottom:1px solid #e2e8ec}.profile-banner.profile-compact{gap:9px;margin:0;box-shadow:none;overflow:visible;border-radius:0}.profile-banner.profile-compact .profile-part{min-height:35px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--portal) 22%,white);border-radius:8px;font-size:14px;color:#92969e;opacity:.75;background:var(--portal-tint)}
.profile-banner.profile-compact button[aria-pressed=true]{color:#29235c;opacity:1;background:color-mix(in srgb,var(--portal) 45%,white);border-color:var(--portal);box-shadow:inset 0 1px 3px #fff9,0 0 13px color-mix(in srgb,var(--portal) 30%,transparent);font-weight:800}.profile-banner.profile-compact .portal-unavailable{opacity:.4}
main:has(#portal-home-content[data-profile-view=tools]){padding-top:20px}main:has(.portal-welcome){padding-top:32px}
@media(max-width:850px){.profile-banner.profile-gate{grid-template-columns:1fr;gap:12px;min-height:0;max-width:560px;margin:16px auto 18px}.profile-banner.profile-gate .profile-part{min-height:clamp(76px,13svh,104px);padding:18px 14px;border-radius:15px;box-shadow:0 5px 14px color-mix(in srgb,var(--portal) 12%,transparent)}.profile-gate .portal-label{font-size:clamp(24px,6vw,30px);letter-spacing:-.35px;text-shadow:0 4px 10px color-mix(in srgb,var(--portal) 24%,transparent)}}
@media(max-width:700px){.profile-dock{padding:7px 12px}.profile-banner.profile-compact{gap:6px}.profile-banner.profile-compact .profile-part{font-size:12px;padding:7px 4px;min-height:33px}.portal-welcome{padding-top:8px}}
@media(prefers-reduced-motion:reduce){.profile-gate .profile-part{transition:none}.profile-gate button.profile-part:hover{transform:none}}


#profile-switch-status:empty{display:none}
.profile-empty-tools{grid-column:1/-1;font-size:14px;color:#526878;margin:12px 0}

/* A full-height page shell keeps the compact footer at the screen bottom. */
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.site-header,.profile-dock{flex-shrink:0}
main{flex:1 0 auto;width:100%;min-height:0}
.site-footer{flex-shrink:0;order:10;width:100%;margin:0;border-top-width:3px}
.footer-content{width:min(100%,1240px);margin:0 auto;padding:10px 28px;display:flex;align-items:center;gap:16px}
.footer-logo{display:block;flex-shrink:0;object-fit:contain;width:36px;height:37px}
.footer-signature{font-size:12px;line-height:1.4}
.footer-content .footer-privacy{display:flex;flex-direction:row;align-items:center;gap:14px;margin:0 0 0 auto}
.footer-content .footer-rgpd img{width:80px;height:40px}
.footer-content .footer-privacy-link{font-size:12px;padding:4px 0}
.brand-name{font-size:20px;max-width:270px;line-height:1.25}
.brand-mobile-name{display:none}
main:has(#portal-home-content[data-profile-view=gate]){padding-top:20px;padding-bottom:20px}
#portal-home-content[data-profile-view=gate] .portal-welcome{padding:0}
#portal-home-content[data-profile-view=gate] .portal-welcome h1{margin-bottom:16px}
#portal-home-content[data-profile-view=gate] .profile-gate{margin:16px auto 0}
#portal-home-content[data-profile-view=gate] .profile-part{min-height:92px;padding:18px 10px;gap:0}
@media(max-width:850px){#portal-home-content[data-profile-view=gate] .profile-part{min-height:clamp(76px,13svh,104px);padding:18px 14px}}
@media(max-width:850px){
 .site-header .brand-name{display:none}
 .site-header .brand-mobile-name{display:block;font-size:9px;max-width:57px;line-height:1.2}
}
@media(max-width:700px){
 main:has(#portal-home-content[data-profile-view=gate]){padding-top:16px;padding-bottom:16px}
 #portal-home-content[data-profile-view=gate] .portal-welcome h1{font-size:28px;margin-bottom:12px}
 #portal-home-content[data-profile-view=gate] .profile-gate{margin-top:12px}
}
@media(max-width:650px){
 .footer-content{padding:8px 20px max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:32px minmax(0,1fr);gap:4px 10px}
 .footer-logo{width:32px;height:33px}
 .footer-signature{font-size:11px}
 .footer-content .footer-privacy{grid-column:1/-1;justify-content:center;gap:10px;margin:0}
 .footer-content .footer-rgpd img{width:64px;height:32px}
 .footer-content .footer-privacy-link{font-size:11px;padding:4px 0}
}
@media(max-height:500px){
 main:has(#portal-home-content[data-profile-view=gate]){padding-top:10px;padding-bottom:10px}
 #portal-home-content[data-profile-view=gate] .portal-welcome h1{font-size:24px;margin-bottom:8px}
 #portal-home-content[data-profile-view=gate] .profile-gate{margin-top:8px}
 #portal-home-content[data-profile-view=gate] .profile-part{min-height:54px;padding:10px 8px;gap:0}
 #portal-home-content[data-profile-view=gate] .portal-label{font-size:20px}
}
/* Keep the shared page chrome visually steady during supported navigations. */
@view-transition{navigation:auto}
.site-header{view-transition-name:portal-header}
.site-footer{view-transition-name:portal-footer}
::view-transition-group(portal-header),::view-transition-group(portal-footer){animation-duration:0s}
::view-transition-old(portal-header),::view-transition-old(portal-footer){animation:none;opacity:0}
::view-transition-new(portal-header),::view-transition-new(portal-footer){animation:none}
::view-transition-old(root){animation:portal-page-out .1s ease both}
::view-transition-new(root){animation:portal-page-in .1s ease both}
@keyframes portal-page-out{to{opacity:0}}
@keyframes portal-page-in{from{opacity:0}}
@media(prefers-reduced-motion:reduce){
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

/* iPhone/iPad safe areas apply in Safari and when launched from the home screen. */
.site-header{padding-top:calc(24px + env(safe-area-inset-top));padding-left:max(28px,calc((100% - 1184px)/2),env(safe-area-inset-left));padding-right:max(28px,calc((100% - 1184px)/2),env(safe-area-inset-right))}
main{padding-left:max(28px,env(safe-area-inset-left));padding-right:max(28px,env(safe-area-inset-right))}
.footer-content{padding-left:max(28px,env(safe-area-inset-left));padding-right:max(28px,env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom))}
@media(max-width:850px){.site-header{padding-top:calc(8px + env(safe-area-inset-top));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}}
@media(max-width:650px){main{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.footer-content{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(8px,env(safe-area-inset-bottom))}}
@supports not (height:100dvh){html{height:-webkit-fill-available}body{min-height:100vh;min-height:-webkit-fill-available}}

#notification-center .publi-notification-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}#notification-center .publi-notification-actions .button,#notification-center .publi-notification-actions button{margin:0;padding:10px 12px;font-size:13px;min-height:44px}

/* Security journal and email confirmation, including narrow phone screens. */
#email-confirm-title+ p{overflow-wrap:anywhere}.security-log{margin-top:20px}.security-log-scroll{max-width:100%;overflow-x:auto}.security-log table{width:100%;min-width:570px}.security-log th,.security-log td{padding:8px 10px;text-align:left;vertical-align:top}.security-log .pagination{margin-top:14px}
