body.portal-body{background:#FFFFFF}.portal-main{max-width:1300px;margin:auto;padding:35px}.portal-hero{padding:38px;border-radius:12px;background:#014383;color:white;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:26px}.portal-hero h1{font-size:34px}.portal-hero p{margin:8px 0 0;color:#FFFFFF}.portal-kicker{font-size:11px;letter-spacing:1.7px;font-weight:700;color:#637180}.portal-hero .portal-kicker{color:#FECF00}.portal-badge{border:1px solid #ffffff4d;border-radius:30px;padding:10px 18px;white-space:nowrap;font-size:12px}.portal-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:25px;margin:25px 0}.panel{border-radius:10px}.portal-document{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #FFFFFF;gap:20px;padding:20px 0}.portal-document h3{margin:4px 0}.portal-document p{color:#637180;font-size:13px}.portal-document .btn{flex-shrink:0}.portal-empty{color:#637180;padding:30px 0;line-height:1.9}.portal-footer{text-align:center;padding:35px;color:#637180;font-size:12px}.portal-request{padding:18px 0;border-bottom:1px solid #FFFFFF}.portal-request p{white-space:pre-wrap;overflow-wrap:anywhere}.application-card{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:25px 0;overflow-wrap:anywhere}.portal-filter{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.portal-filter select{max-width:250px}.portal-pagination svg{width:18px;height:18px}.portal-pagination nav{display:flex;gap:20px}.portal-pagination a{padding:8px}.consent{font-size:13px;display:block;line-height:1.8}.consent input{width:auto}.auth-card .portal-kicker{color:#014383}.portal-main .notice{margin-bottom:20px}@media(max-width:760px){.portal-main{padding:20px 15px}.portal-hero{padding:25px;align-items:start;flex-direction:column}.portal-hero h1{font-size:27px}.portal-grid,.application-card{grid-template-columns:1fr;gap:20px}.portal-document{align-items:start;flex-direction:column}.portal-body header>div{gap:8px}.portal-body header .text-btn{font-size:11px}.application-card{padding:22px}.portal-filter{align-items:stretch;flex-direction:column}.portal-filter select{max-width:none}}

.access-tabs{display:flex;gap:10px;margin:0 0 28px;border-bottom:1px solid #FFFFFF}.access-tabs>a{padding:14px 20px;font-weight:700;color:#637180}.access-tabs>a.active{color:#014383;border-bottom:3px solid #FECF00}.access-grid{display:grid;grid-template-columns:255px minmax(0,1fr);gap:25px}.role-directory{background:transparent;padding:0;color:inherit}.role-directory>.btn{width:100%;text-align:center;margin-bottom:16px}.access-role-card{display:block;background:white;border:1px solid #FFFFFF;border-radius:9px;padding:18px;margin-bottom:12px}.access-role-card.selected{border-color:#014383;box-shadow:inset 4px 0 #014383}.access-role-card strong,.access-role-card small,.access-role-card span{display:block}.access-role-card small{color:#637180;margin:8px 0}.access-role-card span{font-size:10px;color:#637180}.permission-heading{display:flex;align-items:center;justify-content:space-between;margin-top:30px}.permission-heading>span{font-size:12px;color:#637180}.permission-group{border:1px solid #FFFFFF;border-radius:9px;padding:18px;margin:20px 0}.permission-group legend{padding:0 10px;font-weight:700}.permission-group-toggle{float:right;font-size:11px}.permission-option{display:flex;align-items:flex-start;gap:13px;padding:12px 6px;clear:both;border-bottom:1px solid #FFFFFF}.permission-option:last-child{border:0}.permission-option input{width:18px;height:18px;margin:4px 0;accent-color:#014383;flex-shrink:0}.permission-option strong{display:block;font-size:14px}.permission-option small{color:#637180;font-size:11px}.access-delete{margin-top:30px;padding-top:20px;border-top:1px solid #FFFFFF}.access-delete summary{cursor:pointer;color:#9c303b}.access-user-create{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}.access-user-create>.btn{align-self:end;margin-bottom:20px}.access-user-card{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:22px 0;overflow-wrap:anywhere}.access-user-card>div>h3{font-size:19px;margin-bottom:6px}@media(max-width:800px){.access-grid,.access-user-card,.access-user-create{grid-template-columns:1fr}.role-directory{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-directory>.btn{grid-column:1/-1}.access-role-card{margin:0}.access-tabs>a{padding:12px 8px;font-size:13px}.permission-option{padding:14px 0}.permission-group{padding:12px}}

/* Connexion commune */
.signin-page{background:#f2f5f7;min-height:100vh}.signin-page header{background:white;border-bottom:1px solid #dce3e8;height:94px;padding:18px 6%}.signin-page header img{width:150px;height:auto}.signin-page header .btn{background:transparent;color:var(--blue);font-weight:600}.signin-shell{display:grid;grid-template-columns:1fr 1fr;max-width:1100px;margin:54px auto 70px;padding:0;min-height:640px;border-radius:20px;overflow:hidden;box-shadow:0 18px 65px #01438312;border:1px solid #e0e6eb}.signin-intro{position:relative;overflow:hidden;background:var(--blue);color:white;padding:60px 48px;display:flex;flex-direction:column;justify-content:center}.signin-intro:after{content:'';position:absolute;right:-145px;bottom:-155px;width:410px;height:410px;border:65px solid #0070B3;border-radius:50%;opacity:.45;pointer-events:none}.signin-kicker{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--yellow);position:relative;z-index:1}.signin-intro h2{font-size:42px;line-height:1.2;letter-spacing:-1.2px;margin:30px 0 22px;position:relative;z-index:1}.signin-intro h2 span{color:var(--yellow)}.signin-intro>p{font-size:14px;line-height:1.85;max-width:340px;color:#e2ecf5;position:relative;z-index:1}.signin-note{display:flex;gap:16px;align-items:center;border-top:1px solid #ffffff30;padding-top:22px;margin-top:30px;position:relative;z-index:1}.signin-note>span{font-size:26px;color:var(--yellow)}.signin-note p{font-size:12px;line-height:1.8;margin:0;color:#e2ecf5}.signin-region{margin-top:44px;font-size:11px;line-height:1.8;color:#e2ecf5;max-width:290px;position:relative;z-index:1}.signin-shell .auth-card{border:0;border-radius:0;max-width:none;width:100%;margin:0;padding:60px 48px;background:white;display:flex;flex-direction:column;justify-content:center}.signin-card-kicker{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--cyan)}.signin-shell h1{font-size:29px;line-height:1.25;letter-spacing:-.7px;margin:14px 0 10px}.signin-shell .signin-description{font-size:14px;margin:0 0 28px;color:var(--muted)}.signin-shell .field{margin-bottom:20px}.signin-shell label{font-size:13px;font-weight:600;margin-bottom:8px}.signin-shell input{background:#f8fafb;border:1px solid #ccd6df;border-radius:8px;padding:14px 15px;font-size:14px;min-height:50px}.signin-shell input:focus{outline:2px solid var(--cyan);outline-offset:2px;background:white}.password-control{position:relative}.password-control input{padding-right:55px;width:100%}.password-toggle{position:absolute;right:4px;top:4px;width:44px;height:44px;padding:10px;background:transparent;color:var(--muted);border:0;border-radius:6px;display:grid;place-items:center}.password-toggle:hover{background:#edf2f6;color:var(--blue)}.password-toggle svg{width:23px;height:23px}.eye-slash[hidden]{display:none}.signin-help{text-align:right;margin-top:-6px;font-size:12px;color:var(--blue)}.signin-help a:hover,.signin-register a:hover{text-decoration:underline}.signin-shell .signin-submit{width:100%;display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-radius:8px;font-size:14px;font-weight:700;margin-top:25px;min-height:52px;color:var(--blue)}.signin-submit:hover{box-shadow:0 5px 18px #01438320}.signin-shell .signin-register{font-size:12px;text-align:center;line-height:1.9;border-top:1px solid #e3e9ee;padding-top:24px;margin-top:28px}.signin-register a{color:var(--blue);font-weight:700}.signin-shell .signin-privacy{font-size:10px;text-align:center;color:var(--muted);margin:10px 0 0}.signin-error{border-left:3px solid var(--yellow);padding:12px;background:#fff9df;font-size:12px}@media(max-width:800px){.signin-shell{margin:30px 20px;grid-template-columns:1fr;min-height:0;max-width:560px}.signin-intro{padding:30px}.signin-intro h2{font-size:30px;margin:16px 0}.signin-intro>p,.signin-note,.signin-region{display:none}.signin-shell .auth-card{padding:35px 30px}.signin-page header{height:80px;padding:16px 20px}.signin-page header img{width:120px}}@media(max-width:420px){.signin-shell{margin:20px 12px;border-radius:14px}.signin-shell .auth-card{padding:30px 22px}.signin-intro{padding:26px 22px}.signin-shell h1{font-size:26px}.signin-page header .btn{font-size:11px;padding:8px}}

.signin-shell{width:calc(100% - 40px);min-width:0}.signin-shell .auth-card,.signin-intro{min-width:0}@media(max-width:420px){.signin-shell{width:calc(100% - 24px)}}

/* Formulaire de connexion simple, centré. */
.signin-shell{display:block;max-width:460px;min-height:0;margin:60px auto;border-radius:12px;box-shadow:0 8px 30px #0143830a}.signin-shell .auth-card{padding:36px}.signin-shell h1{margin:0 0 28px;font-size:26px}.signin-shell .signin-register{margin-bottom:0}@media(max-width:800px){.signin-shell{max-width:460px;margin:30px auto}.signin-shell .auth-card{padding:30px 24px}}

.register-page .signin-shell h1{font-size:26px;margin-bottom:12px}.register-page .signin-shell .signin-description{font-size:13px;margin-bottom:26px}.register-page .field small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:8px}.register-page .consent{font-size:12px;line-height:1.7;color:var(--muted)}.register-page .consent input{width:auto;min-height:0;padding:0;vertical-align:middle}.register-page .auth-card>form>.notice{font-size:11px;line-height:1.7;margin-top:15px}.register-page .password-toggle{margin:0}.register-page .signin-shell .field{margin-bottom:18px}

.register-page .signin-shell{max-width:560px}.register-page .signin-submit{justify-content:center;gap:10px}@media(max-width:800px){.register-page .signin-shell{max-width:560px}}

.register-page .signin-shell{max-width:1260px}.register-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:18px}.register-page .register-form-grid>.field{margin:0}.register-form-grid>.field{min-width:0}.register-form-grid>.field:has(#phone){grid-column:1/-1;max-width:calc((100% - 28px)/2)}.register-form-grid>.consent,.register-form-grid>.notice,.register-form-grid>.signin-submit{grid-column:1/-1}.register-page .register-form-grid>.signin-submit{margin-top:0}.register-page .register-form-grid>.notice{margin:0}@media(max-width:800px){.register-page .signin-shell{max-width:1260px}}@media(max-width:620px){.register-form-grid{grid-template-columns:1fr;gap:18px}.register-form-grid>.field:has(#phone){grid-column:auto;max-width:none}}

.register-page .signin-shell{max-width:1000px}.register-form-grid>.field:has(#phone){grid-column:auto;max-width:none}.register-page input[type=number]{appearance:textfield;-moz-appearance:textfield}.register-page input[type=number]::-webkit-inner-spin-button,.register-page input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media(max-width:800px){.register-page .signin-shell{max-width:1000px}}
.signin-shell .signin-submit{position:relative;justify-content:center;text-align:center;padding-inline:48px}.signin-submit>span[aria-hidden="true"]{position:absolute;right:20px}
@media(prefers-reduced-motion:no-preference){.auth-card,.signin-intro,.portal-main{animation:member-enter .6s ease-out both}.btn,.text-btn{transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}.btn:hover{transform:translateY(-2px)}@keyframes member-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}
.resource-library{border:1px solid #dce5ee;background:white;padding:30px;margin:26px 0}.resource-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.resource-heading h2{margin-bottom:8px}.resource-heading p{color:var(--muted);font-size:13px}.resource-filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;background:#f3f7fb;border-radius:10px;padding:20px;margin:24px 0}.resource-filters>div{flex:1;min-width:180px}.resource-filters label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.resource-filters input,.resource-filters select{width:100%;border:1px solid #cdd9e5;min-height:44px}.resource-count{font-size:12px;color:var(--muted)}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.resource-card{display:flex;flex-direction:column;border:1px solid #dce5ee;border-radius:12px;padding:24px;background:#fbfcfe;min-width:0}.resource-type{font-size:10px;letter-spacing:.7px;color:var(--cyan);font-weight:700}.resource-card h3{font-size:18px;line-height:1.5;margin:14px 0 10px;overflow-wrap:anywhere}.resource-card p{color:var(--muted);line-height:1.8;font-size:13px;margin:0 0 24px;white-space:pre-line}.resource-card .btn{align-self:start;margin-top:auto}.resource-grid>.portal-empty{grid-column:1/-1}@media(max-width:1000px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.resource-library{padding:20px}.resource-heading{align-items:start;flex-direction:column}.resource-grid{grid-template-columns:1fr}.resource-filters{align-items:stretch;flex-direction:column}.resource-filters>div{min-width:0}}
