/* SOURCE: pied-de-page260.css */
/* Phase 260 : même pied de page sur chaque page, basé sur le modèle validé. */
html{min-height:100%}body.dj-footer-layout260{min-height:100vh!important;min-height:100dvh!important;display:flex!important;flex-direction:column!important}
body.dj-footer-layout260>.dj-footer260{margin-top:auto!important;flex:0 0 auto!important;position:relative!important;inset:auto!important;bottom:auto!important;width:100%!important;max-width:none!important;z-index:1!important;clear:both!important;box-sizing:border-box!important}
body.dj-footer-layout260 .dj-footer260{background:linear-gradient(105deg,#061d45,#103e81)!important;color:white!important;border-top:3px solid #ed1240!important;border-radius:0!important;font:14px/1.55 Arial,sans-serif!important;overflow:hidden}
body.dj-footer-layout260 .dj-footer260 *{box-sizing:border-box}
body.dj-footer-layout260 .dj-footer260 a{color:white!important;text-decoration:none!important}
body.dj-footer-layout260 .dj-footer260 a:hover{text-decoration:underline!important}
body.dj-footer-layout260 .dj-footer260 .dj-foot-top{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 22px;background:#051b3e;border-bottom:3px solid #ec123a;padding:10px 16px;font-size:12px}
body.dj-footer-layout260 .dj-footer260 .sf-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;padding:24px 2.5% 26px!important}
body.dj-footer-layout260 .dj-footer260 .sf-col{display:flex!important;align-items:flex-start!important;gap:14px!important;padding:4px 20px!important;border-right:1px solid #ffffff26!important;min-width:0!important}
body.dj-footer-layout260 .dj-footer260 .sf-col:last-child{border-right:0!important}
body.dj-footer-layout260 .dj-footer260 .sf-col h3{font-size:16px!important;font-weight:700!important;color:#fff!important;margin:0 0 7px!important}
body.dj-footer-layout260 .dj-footer260 .sf-col p{font-size:13px!important;line-height:1.8!important;margin:0!important;color:#fff!important}
body.dj-footer-layout260 .dj-footer260 .dj-foot-icon{font-size:30px;line-height:1;flex-shrink:0}
body.dj-footer-layout260 .dj-footer260 .dj-red{color:#ff5671}body.dj-footer-layout260 .dj-footer260 .dj-green{color:#28db87}
body.dj-footer-layout260 .dj-footer260 .sf-bar{display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;gap:10px 28px!important;padding:14px 20px!important;background:#061b3e!important;color:#fff!important;font-size:13px!important}
body.dj-footer-layout260 .dj-footer260 .sf-bar nav{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px 22px!important}
body.dj-footer-layout260 .dj-footer260 .sf-bar nav a{font-weight:700!important}
@media(max-width:1100px){body.dj-footer-layout260 .dj-footer260 .sf-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:18px!important}body.dj-footer-layout260 .dj-footer260 .sf-col:nth-child(2){border-right:0!important}}
@media(max-width:650px){body.dj-footer-layout260 .dj-footer260 .sf-grid{grid-template-columns:1fr!important;padding:12px 16px!important;row-gap:0!important}body.dj-footer-layout260 .dj-footer260 .sf-col{border-right:0!important;border-bottom:1px solid #ffffff24!important;padding:12px 4px!important}body.dj-footer-layout260 .dj-footer260 .sf-col h3{font-size:14px!important}body.dj-footer-layout260 .dj-footer260 .sf-col p{font-size:12px!important}body.dj-footer-layout260 .dj-footer260 .sf-bar{font-size:11px!important;text-align:center!important}body.dj-footer-layout260 .dj-footer260 .dj-foot-top{font-size:11px!important}}
@media print{body.dj-footer-layout260 .dj-footer260{display:none!important}}


/* SOURCE: banniere262.css */
/* Phase 262 : banniere unique responsive pour tous les espaces */
#site-head{position:relative!important;z-index:40!important}
#site-head .topbar{background:#fff!important;border-top:3px solid #082d66!important;border-bottom:3px solid #e6002d!important;min-height:82px!important;height:auto!important;display:flex!important;align-items:center!important;gap:clamp(8px,1.5vw,24px)!important;padding:8px clamp(12px,2vw,30px)!important;box-shadow:0 3px 12px #09244916!important}
#site-head .brand{min-width:0!important;flex:0 1 410px!important;text-decoration:none!important;gap:10px!important}
#site-head .dj262-brand-logo{height:62px!important;width:62px!important;object-fit:contain!important;flex-shrink:0!important}
#site-head .dj262-brand-copy{display:flex;flex-direction:column;gap:3px;line-height:1.12;min-width:0}
#site-head .dj262-brand-copy b{font-size:clamp(13px,1.15vw,19px);font-weight:900;color:#072958;white-space:nowrap}
#site-head .dj262-brand-copy strong{font-size:clamp(12px,1.1vw,17px);font-weight:900;color:#e5002b;white-space:nowrap}
#site-head .dj262-brand-copy small{font-size:10px;color:#25466e;font-weight:700}
#site-head .top-contact{display:flex!important;align-items:center;gap:8px;min-width:0}
#site-head .top-contact small{font-size:11px!important}
#site-head .top-contact strong{font-size:clamp(11px,.85vw,14px)!important;line-height:1.25}
#site-head .top-actions{display:flex!important;gap:8px!important;align-items:center;flex:0 1 auto;min-width:0}
#site-head .dj262-identity{display:flex;align-items:center;gap:7px;min-width:0;max-width:235px}
#site-head .dj262-avatar{display:grid;place-items:center;flex-shrink:0;width:33px;height:33px;border-radius:50%;background:#e4efff;color:#07336f;font-size:17px;font-weight:900}
#site-head .dj262-user{min-width:0;display:flex;flex-direction:column;gap:2px}
#site-head .dj262-role{font-weight:800;font-size:11px;color:#092858;white-space:nowrap}
#site-head .dj262-name{font-size:11px;color:#49617e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
#site-head #sh-account,#site-head .top-actions>.button{font-size:12px!important;padding:10px 12px!important;min-height:38px!important;border-radius:7px!important}
#site-head .sh-session{gap:5px!important}
#site-head #who{display:none!important}
#site-head #out:not(.hidden){display:inline-flex!important;align-items:center!important;min-height:36px!important;padding:7px 10px!important;font-size:11px!important}
body .fret-mini-brand{display:none!important}
body.admin215-layout #site-head .topbar{height:auto!important;min-height:82px!important;padding:8px clamp(12px,2vw,30px)!important}
body.admin215-layout #site-head .brand{min-width:0!important}
body.admin215-layout #site-head .admin215-brand-icon{height:62px!important;width:62px!important}
body.admin215-layout #site-head .admin215-avatar{display:none!important}
@media(max-width:1400px){#site-head .top-contact{display:none!important}#site-head .brand{flex:1 1 auto!important}}
@media(max-width:820px){#site-head .topbar{flex-wrap:wrap!important;gap:7px!important}#site-head .brand{flex:1 1 100%!important}#site-head .dj262-brand-logo{width:45px!important;height:45px!important}#site-head .top-actions{width:100%!important;justify-content:space-between!important}#site-head .top-actions .button{display:inline-flex!important}#site-head .dj262-brand-copy b{font-size:13px!important}#site-head .dj262-brand-copy strong{font-size:12px!important}}
@media(max-width:490px){#site-head .dj262-brand-copy small{display:none}#site-head .dj262-identity{max-width:145px}#site-head .dj262-name{max-width:105px}#site-head .top-actions .green-bg{display:none!important}#site-head #sh-account{font-size:10px!important;padding:8px!important}}
@media print{#site-head{display:none!important}}

/* Phase 268 : logo transparent, directement devant la raison sociale */
#site-head .topbar .brand{display:inline-flex!important;align-items:center!important;gap:9px!important;flex:0 1 440px!important}
#site-head .dj262-brand-logo{background:transparent!important;width:58px!important;height:58px!important;object-fit:contain!important}
#site-head .dj262-brand-copy{align-items:flex-start!important}
#site-head .dj262-brand-copy b{font-size:clamp(12px,1vw,17px)!important}
#site-head .dj262-brand-copy strong{font-size:clamp(12px,.98vw,16px)!important}
#site-head .dj262-brand-copy small{font-size:11px!important}
@media(max-width:820px){#site-head .dj262-brand-logo{width:44px!important;height:44px!important}}


/* SOURCE: banniere278-connexion.css */
/* Phase 278 — reprise fidele de la banniere de reference, uniquement sur accueil connexion. */
body.dj278-login #site-head{width:100%!important;background:#fff!important;position:relative!important;z-index:50!important;flex-shrink:0!important}
body.dj278-login #site-head .dj276-strip{display:none!important}
body.dj278-login #site-head .dj278-strip{height:57px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:6px clamp(18px,2vw,40px);background:#0b3068;color:#fff;border-bottom:3px solid #f00531;font-weight:850;letter-spacing:.02em;font-size:15px}
body.dj278-login #site-head .dj278-strip-left{display:flex;align-items:center;gap:12px;min-width:0}
body.dj278-login #site-head .dj278-strip-left img{width:46px;height:46px;object-fit:contain;flex-shrink:0;background:transparent}
body.dj278-login #site-head .dj278-strip-left strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.dj278-login #site-head .dj278-strip-right{font-size:12px;white-space:nowrap}
body.dj278-login #site-head .topbar{box-sizing:border-box!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;min-height:103px!important;height:auto!important;padding:8px clamp(18px,2vw,40px)!important;gap:clamp(12px,1.8vw,32px)!important;border-top:0!important;border-bottom:0!important;box-shadow:none!important}
body.dj278-login #site-head .topbar .brand{display:flex!important;align-items:center!important;flex:0 0 clamp(340px,26vw,495px)!important;max-width:495px!important;min-width:0!important;gap:15px!important}
body.dj278-login #site-head .dj262-brand-logo{width:95px!important;height:95px!important;object-fit:contain!important;background:transparent!important}
body.dj278-login #site-head .dj262-brand-copy{gap:4px!important;line-height:1.07!important}
body.dj278-login #site-head .dj262-brand-copy b{font-size:clamp(17px,1.24vw,24px)!important;color:#082d60!important}
body.dj278-login #site-head .dj262-brand-copy strong{font-size:clamp(16px,1.17vw,22px)!important;color:#e90031!important}
body.dj278-login #site-head .dj262-brand-copy small{font-size:12px!important}
body.dj278-login #site-head .top-contact{display:flex!important;align-items:center!important;flex:0 1 auto!important;gap:10px!important;white-space:nowrap!important}
body.dj278-login #site-head .top-contact>span{font-size:22px!important;color:#009f57!important}
body.dj278-login #site-head .top-contact .dj278-cn{font-size:21px!important;color:#062d63!important;font-weight:700!important}
body.dj278-login #site-head .top-contact small{font-size:12px!important;display:block!important}
body.dj278-login #site-head .top-contact a{display:block!important;text-decoration:none!important}
body.dj278-login #site-head .top-contact strong{font-size:clamp(12px,.9vw,17px)!important;line-height:1.35!important}
body.dj278-login #site-head .top-actions{display:flex!important;align-items:center!important;gap:10px!important;margin-left:auto!important;min-width:0!important}
body.dj278-login #site-head .dj262-identity{max-width:210px!important}
body.dj278-login #site-head .dj262-avatar{width:45px!important;height:45px!important}
body.dj278-login #site-head #sh-account{background:#f00032!important;color:#fff!important;border:0!important;padding:13px 17px!important;min-height:47px!important;font-weight:800!important;white-space:nowrap!important}
body.dj278-login #site-head .top-actions>.green-bg{background:#00a34e!important;color:#fff!important;border:0!important;padding:13px 17px!important;min-height:47px!important;font-weight:800!important;white-space:nowrap!important}
body.dj278-login main.portal{margin-top:0!important}
@media(max-width:1650px){body.dj278-login #site-head .topbar{gap:12px!important}body.dj278-login #site-head .topbar .brand{flex-basis:355px!important}body.dj278-login #site-head .dj262-brand-logo{width:74px!important;height:74px!important}body.dj278-login #site-head .dj262-brand-copy b{font-size:17px!important}body.dj278-login #site-head .dj262-brand-copy strong{font-size:15px!important}body.dj278-login #site-head .top-actions{gap:6px!important}body.dj278-login #site-head #sh-account,body.dj278-login #site-head .top-actions>.green-bg{padding:10px 12px!important}}
@media(max-width:1330px){body.dj278-login #site-head .top-contact{display:none!important}body.dj278-login #site-head .topbar .brand{flex:1 1 auto!important;max-width:none!important}}
@media(max-width:760px){body.dj278-login #site-head .dj278-strip{height:43px;font-size:10px;padding:4px 12px}body.dj278-login #site-head .dj278-strip-left img{width:31px;height:31px}body.dj278-login #site-head .dj278-strip-right{display:none}body.dj278-login #site-head .topbar{min-height:0!important;flex-wrap:wrap!important;padding:7px 12px!important;gap:7px!important}body.dj278-login #site-head .topbar .brand{flex:1 1 100%!important}body.dj278-login #site-head .dj262-brand-logo{width:47px!important;height:47px!important}body.dj278-login #site-head .top-actions{width:100%!important;justify-content:space-between!important}body.dj278-login #site-head #sh-account,body.dj278-login #site-head .top-actions>.green-bg{min-height:35px!important;padding:7px!important;font-size:11px!important}}
@media(max-width:420px){body.dj278-login #site-head .dj262-brand-copy b{font-size:14px!important}body.dj278-login #site-head .dj262-brand-copy strong{font-size:12px!important}body.dj278-login #site-head .top-actions>.green-bg{display:none!important}}


/* SOURCE: connexion277.css */
/* Phase 277 — accueil compact, avions et logo plus nets. */
body.dj276-login #site-head .dj276-strip{height:39px!important;padding-block:3px!important}
body.dj276-login #site-head .dj276-strip img{width:30px!important;height:30px!important;object-fit:contain!important}
body.dj276-login #site-head .topbar{min-height:65px!important;padding:5px clamp(12px,1.5vw,25px)!important;gap:10px!important}
body.dj276-login #site-head .dj262-brand-logo{width:55px!important;height:55px!important;content:url('/logo-net277.png')!important;image-rendering:auto!important}
body.dj276-login #site-head .dj262-brand-copy b{font-size:clamp(14px,1.05vw,18px)!important}
body.dj276-login #site-head .dj262-brand-copy strong{font-size:clamp(13px,1vw,17px)!important}
body.dj276-login main.portal{--hero-h:clamp(105px,13vw,162px)!important;max-width:1100px!important;margin:5px auto 0!important;padding:calc(var(--hero-h) + 9px) 12px 9px!important;gap:12px!important;align-content:start!important}
body.dj276-login main.portal::before{background-image:url('/portail-connexion-net277.webp')!important;background-position:center top!important;background-size:100% auto!important}
body.dj276-login .portal #client.cx-panel.cl,body.dj276-login .portal #admin.cx-panel.staff-panel{min-height:0!important;padding:11px 15px!important;border-radius:11px!important;box-shadow:0 3px 12px #08295420!important}
body.dj276-login .portal #client .cx-ph,body.dj276-login .portal #admin .cx-ph{margin:0 0 6px!important;padding:0 0 6px!important}
body.dj276-login .portal #client .cx-ph h2,body.dj276-login .portal #admin .cx-ph h2{font-size:15px!important}
body.dj276-login .portal #client .cx-ph small,body.dj276-login .portal #admin .cx-ph small{font-size:10px!important}
body.dj276-login .portal #client #fc,body.dj276-login .portal #admin #fa{gap:5px!important}
body.dj276-login .portal #client .cx-body label,body.dj276-login .portal #admin .cx-body label{font-size:11px!important;gap:3px!important}
body.dj276-login .portal #client input:not([type=checkbox]),body.dj276-login .portal #admin input:not([type=checkbox]){height:33px!important;min-height:33px!important;padding:5px 10px!important;font-size:12px!important}
body.dj276-login .portal #client .cx-btn,body.dj276-login .portal #admin .cx-btn,body.dj276-login .portal #client .cx-register{height:34px!important;min-height:34px!important;font-size:12px!important}
body.dj276-login .portal #client #fc .client-auth-actions>.cx-btn,body.dj276-login .portal #client #fc .client-auth-actions>.cx-register{height:35px!important;min-height:35px!important;font-size:11px!important}
body.dj276-login .portal .cx-eye{height:29px!important;top:2px!important}
body.dj276-login .portal #client.registering{max-height:92dvh!important;padding:14px 16px!important}
body.dj276-login .portal #client.registering #fc{gap:7px 9px!important}
body.dj276-login .portal #client.registering #fc input:not([type=checkbox]){height:33px!important;min-height:33px!important}
@media(min-width:850px) and (min-height:700px){body.dj276-login main.portal{flex:1 0 auto!important}body.dj276-login body>footer{margin-top:auto!important}}
@media(max-width:720px){body.dj276-login main.portal{--hero-h:clamp(85px,23vw,145px)!important;grid-template-columns:1fr!important;max-width:510px!important;padding:calc(var(--hero-h) + 9px) 9px 12px!important;gap:9px!important}body.dj276-login .portal #client.cx-panel.cl,body.dj276-login .portal #admin.cx-panel.staff-panel{padding:10px 12px!important}body.dj276-login #site-head .topbar{padding:6px 10px!important}}
@media(max-height:740px) and (min-width:721px){body.dj276-login main.portal{--hero-h:clamp(95px,11vw,128px)!important}body.dj276-login #site-head .topbar{min-height:58px!important}body.dj276-login .portal #client.cx-panel.cl,body.dj276-login .portal #admin.cx-panel.staff-panel{padding:9px 13px!important}}


/* SOURCE: banniere280-connexion.css */
/* Phase 280: sur la seule page de connexion, les contacts remplacent le bloc visiteur/actions. */
body.dj278-login #site-head .topbar{justify-content:space-between!important;gap:clamp(12px,2vw,32px)!important}
body.dj278-login #site-head .topbar .brand{flex:0 1 auto!important;max-width:52%!important}
body.dj278-login #site-head .topbar .top-actions{display:none!important}
body.dj278-login #site-head .dj280-contact-zone{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:clamp(16px,2.2vw,42px)!important;margin-left:auto!important;flex:0 1 auto!important;min-width:0!important}
body.dj278-login #site-head .dj280-contact-zone .top-contact{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;white-space:nowrap!important}
body.dj278-login #site-head .dj280-contact-zone .top-contact>span{font-size:22px!important;color:#00a04f!important}
body.dj278-login #site-head .dj280-contact-zone .top-contact small{display:block!important;color:#17365d!important;font-size:12px!important;margin-bottom:2px!important}
body.dj278-login #site-head .dj280-contact-zone .top-contact a{display:block!important;text-decoration:none!important}
body.dj278-login #site-head .dj280-contact-zone .top-contact strong{font-size:clamp(12px,1vw,17px)!important;color:#06469c!important;line-height:1.35!important}
@media(max-width:1020px){body.dj278-login #site-head .topbar .brand{max-width:42%!important}body.dj278-login #site-head .dj280-contact-zone{gap:12px!important}body.dj278-login #site-head .dj280-contact-zone .top-contact strong{font-size:12px!important}}
@media(max-width:720px){body.dj278-login #site-head .topbar{flex-wrap:wrap!important}body.dj278-login #site-head .topbar .brand{flex:1 1 100%!important;max-width:100%!important}body.dj278-login #site-head .dj280-contact-zone{width:100%!important;justify-content:space-between!important;margin-left:0!important;gap:8px!important}body.dj278-login #site-head .dj280-contact-zone .top-contact{gap:4px!important}body.dj278-login #site-head .dj280-contact-zone .top-contact>span{font-size:14px!important}body.dj278-login #site-head .dj280-contact-zone .top-contact strong{font-size:11px!important}body.dj278-login #site-head .dj280-contact-zone .top-contact small{font-size:10px!important}}
@media(max-width:385px){body.dj278-login #site-head .dj280-contact-zone{flex-wrap:wrap!important;justify-content:center!important}}


/* SOURCE: connexion291.css */
/* Phase 291 — page de connexion compacte, hauteur maîtrisée. */
@media (min-width:721px){
 body.dj276-login{height:100dvh!important;min-height:0!important;overflow:hidden!important}
 body.dj276-login #site-head{flex:0 0 auto!important}
 body.dj276-login #site-head .dj276-strip{height:30px!important;min-height:30px!important;padding:1px 14px!important}
 body.dj276-login #site-head .dj276-strip img{height:24px!important;width:24px!important}
 body.dj276-login #site-head .topbar{min-height:51px!important;padding:3px 16px!important}
 body.dj276-login #site-head .dj262-brand-logo{height:43px!important;width:43px!important}
 body.dj276-login #site-head .dj280-contact-zone .top-contact strong{font-size:12px!important;line-height:1.15!important}
 body.dj276-login #site-head .dj280-contact-zone .top-contact small{font-size:10px!important}
 body.dj276-login main.portal{--hero-h:clamp(78px,11vh,118px)!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;width:min(100%,1000px)!important;max-width:1000px!important;margin:2px auto 0!important;padding:calc(var(--hero-h) + 5px) 9px 4px!important;gap:10px!important;align-content:start!important;overflow:visible!important}
 body.dj276-login main.portal::before{background-size:100% auto!important}
 body.dj276-login .portal #client.cx-panel.cl,body.dj276-login .portal #admin.cx-panel.staff-panel{padding:8px 12px!important;min-height:0!important;max-height:none!important;border-radius:10px!important}
 body.dj276-login .portal #client .cx-ph,body.dj276-login .portal #admin .cx-ph{margin-bottom:3px!important;padding-bottom:3px!important}
 body.dj276-login .portal #client #fc,body.dj276-login .portal #admin #fa{gap:4px!important}
 body.dj276-login .portal #client input:not([type=checkbox]),body.dj276-login .portal #admin input:not([type=checkbox]){height:30px!important;min-height:30px!important}
 body.dj276-login .portal #client .cx-btn,body.dj276-login .portal #admin .cx-btn,body.dj276-login .portal #client .cx-register{height:31px!important;min-height:31px!important}
 body.dj276-login .portal #client #fc .client-auth-actions>.cx-btn,body.dj276-login .portal #client #fc .client-auth-actions>.cx-register{height:31px!important;min-height:31px!important}
 body.dj276-login .portal .cx-eye{height:27px!important}
 body.dj276-login .portal .cx-links{min-height:14px!important}
 body.dj276-login footer.fret-footer{flex:0 0 auto!important;min-height:0!important;padding:5px 12px!important;gap:5px!important;font-size:10px!important;border-top-width:3px!important;border-radius:0!important}
 body.dj276-login footer.fret-footer strong{font-size:11px!important}
 body.dj276-login footer.fret-footer .identity{gap:1px!important}
}
/* Les dialogues d'inscription doivent rester accessibles même sur les écrans bas. */
body.dj276-login:has(#client.registering){overflow:auto!important}
body.dj276-login .portal #client.registering{max-height:calc(100dvh - 20px)!important;overflow-y:auto!important}
@media (min-width:721px) and (max-height:590px){
 body.dj276-login main.portal{--hero-h:60px!important}
 body.dj276-login #site-head .topbar{min-height:42px!important}
 body.dj276-login #site-head .dj276-strip{height:25px!important;min-height:25px!important}
 body.dj276-login footer.fret-footer{padding:3px 10px!important}
}
@media(max-width:720px){
 body.dj276-login{height:auto!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important}
 body.dj276-login main.portal{--hero-h:clamp(60px,15vw,95px)!important;padding:calc(var(--hero-h) + 5px) 8px 8px!important;gap:7px!important;margin:2px auto!important}
 body.dj276-login .portal #client.cx-panel.cl,body.dj276-login .portal #admin.cx-panel.staff-panel{padding:8px 10px!important}
 body.dj276-login footer.fret-footer{padding:7px 10px!important}
}


/* SOURCE: inscription292.css */
/* Phase 292 — inscription autonome, élégante, compacte et accessible. */
.portal #client .close-registration292{display:none}
body:has(#client.registering)::before{background:rgba(3,18,45,.72)!important;backdrop-filter:blur(3px);z-index:49!important}
body.dj276-login .portal #client.registering,.portal #client.registering{
 position:fixed!important;inset:auto!important;left:50%!important;top:50%!important;
 transform:translate(-50%,-50%)!important;z-index:80!important;
 width:min(96vw,600px)!important;max-width:600px!important;max-height:calc(100dvh - 24px)!important;
 padding:20px 23px 18px!important;overflow-y:auto!important;
 background:#fff!important;border:1px solid #c9d8ef!important;border-radius:18px!important;
 box-shadow:0 28px 85px #02163199!important;scrollbar-width:thin!important;
}
.portal #client.registering .close-registration292{display:grid!important;place-items:center;position:absolute;right:12px;top:10px;width:30px;height:30px;border:1px solid #d7e2f2;border-radius:8px;background:#f2f6fc;color:#1b3762;font-size:23px;line-height:1;cursor:pointer;z-index:2}
.portal #client.registering .cx-ph{display:flex!important;align-items:center!important;margin:0 25px 12px 0!important;padding:0 0 12px!important;border-bottom:1px solid #e4ebf5!important}
.portal #client.registering .cx-ph h2{font-size:19px!important;color:#082b61!important;letter-spacing:-.25px}
.portal #client.registering .cx-ph small{font-size:11px!important;color:#64748b!important}
.portal #client.registering .cx-ico{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;border-radius:11px!important;background:#eaf2ff!important;color:#0755b5!important;flex-shrink:0!important}
.portal #client.registering #fc{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px 13px!important}
.portal #client.registering #fc>label{display:grid!important;gap:5px!important;font-size:11px!important;font-weight:700!important;color:#18365d!important;min-width:0!important}
.portal #client.registering #fc input:not([type=checkbox]){width:100%!important;height:38px!important;min-height:38px!important;background:#f8fbff!important;border:1px solid #ccd9e9!important;border-radius:8px!important;padding:7px 10px!important;font-size:12px!important}
.portal #client.registering #fc input:focus{border-color:#1767cc!important;outline:2px solid #a4caff!important;outline-offset:0!important}
.portal #client.registering .cx-tabs{grid-column:1/-1!important;display:flex!important;gap:5px!important;padding:3px!important;background:#edf3fc!important;border-radius:9px!important}
.portal #client.registering .cx-tabs button{flex:1!important;min-height:32px!important;border-radius:7px!important;font-size:12px!important;font-weight:700!important}
.portal #client.registering #c_terms{grid-column:1/-1!important;border:1px solid #d9e5f5!important;background:#f5f9ff!important;border-radius:9px!important;padding:10px 12px!important;line-height:1.4!important}
.portal #client.registering #c_terms label{display:flex!important;align-items:flex-start!important;gap:8px!important;margin-top:7px!important}
.portal #client.registering #c_terms input[type=checkbox]{flex:0 0 auto!important;width:17px!important;height:17px!important}
.portal #client.registering .client-auth-actions{grid-column:1/-1!important;display:block!important}
.portal #client.registering #fc .client-auth-actions #c_go{display:block!important;width:100%!important;height:39px!important;min-height:39px!important;border-radius:9px!important;background:#0757bc!important;color:#fff!important;font-size:13px!important}
.portal #client.registering #fc .client-auth-actions #open_registration{display:none!important}
.portal #client.registering #c_m,.portal #client.registering #c_rs,.portal #client.registering .cx-links{grid-column:1/-1!important}
.portal #client.registering .cx-links{justify-content:center!important}
@media(max-width:520px){.portal #client.registering{width:96vw!important;padding:15px!important;border-radius:12px!important}.portal #client.registering #fc{grid-template-columns:1fr!important;gap:8px!important}.portal #client.registering .cx-ph h2{font-size:17px!important}}
@media(prefers-reduced-motion:reduce){body:has(#client.registering)::before{backdrop-filter:none}}


/* SOURCE: phase297.css */
/* Phase 297 : connexion compacte sans bandeau bleu additionnel. */
html,body{margin:0!important;min-height:100%!important}body{display:flex!important;flex-direction:column!important;min-height:100dvh!important;overflow-x:hidden!important}.portal{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:calc(100dvh - 55px)!important;overflow:hidden!important}.fret-footer{flex:0 0 auto!important;min-height:0!important;padding:5px 12px!important;gap:6px!important;font-size:11px!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important}.fret-footer .identity{font-size:11px!important}.portal .cx-panel{max-height:calc(100dvh - 95px)!important;overflow:auto!important;scrollbar-width:thin}.portal .cx-panel input{min-height:0!important}.portal .cx-panel .cx-ph{margin-bottom:5px!important}body>header,.portal>.blue-banner,.portal>.top-banner{display:none!important}@media(max-height:760px){.portal .cx-panel{padding:9px 12px!important}.portal .cx-panel input{height:32px!important}.portal .cx-panel button{min-height:30px!important}.portal .cx-panel form{gap:5px!important}.fret-footer{font-size:10px!important;padding:3px 8px!important}}@media(max-width:1000px){body{min-height:100dvh!important}.portal{max-height:none!important;overflow:visible!important}.portal .cx-panel{max-height:none!important;overflow:visible!important}.fret-footer{position:relative!important}}

/* Phase 298: short screens can scroll instead of clipping content */
@media(max-height:740px){.portal{max-height:none!important;overflow:visible!important}.portal .cx-panel{max-height:none!important;overflow:visible!important}body{overflow-y:auto!important}}


/* SOURCE: phase298.css */
/* Phase 298: responsive layout, no hidden functionality */
@media(min-width:1024px) and (min-height:650px){:is(main,.main-content,.app-main,.content-wrapper,.dashboard,.dashboard-content,.page-content,.workspace){min-width:0;max-width:100%}:is(.table-responsive,.table-container,.table-wrap){max-width:100%;overflow-x:auto}:is(input,select,textarea,button){box-sizing:border-box}}
@media(max-width:1023px),(max-height:649px){body{overflow-y:auto}:is(.dashboard,.page-content,.workspace){max-height:none}}


/* SOURCE: phase299.css */
/* Phase 299 : densité harmonisée, contenu accessible, sans sous-fenêtres imbriquées */
*,*::before,*::after{box-sizing:border-box}
@media(min-width:1024px) and (min-height:700px){
  :is(.page-content,.dashboard-content,.main-content,.content-wrapper){padding-block:clamp(8px,1.2vh,16px)}
  :is(.page-content,.dashboard-content,.main-content) :is(h1,h2){margin-block:0.35em}
  :is(.page-content,.dashboard-content,.main-content) :is(.card,.panel){margin-bottom:clamp(6px,0.8vh,12px)}
  :is(.page-content,.dashboard-content,.main-content) :is(input,select,button){min-height:32px}
}
/* Les tableaux larges restent consultables; ne jamais couper les actions. */
:is(.table-responsive,.table-container,.table-wrap){overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}
:is(.modal,.dialog,[role="dialog"]){max-height:min(92dvh,900px);overflow-y:auto}
@media(max-height:700px){:is(.modal,.dialog,[role="dialog"]){max-height:95dvh}}
@media(max-width:767px){:is(.page-content,.dashboard-content,.main-content){padding-inline:10px} :is(.modal,.dialog,[role="dialog"]){max-width:calc(100vw - 16px)}}


/* SOURCE: phase300.css */
/* Phase 300: responsive without clipping controls, tables or footer */
:root{--dj-density-gap:clamp(6px,.85vh,12px)}
@media (min-width:1024px) and (min-height:720px){
 :is(.page-content,.dashboard-content,.main-content,.content-wrapper,.workspace){padding-top:var(--dj-density-gap);padding-bottom:var(--dj-density-gap)}
 :is(.page-content,.dashboard-content,.main-content,.workspace) :is(.card,.panel,.widget){margin-block:var(--dj-density-gap)}
 :is(.page-content,.dashboard-content,.main-content,.workspace) :is(h1,h2,h3){line-height:1.2}
 :is(.page-content,.dashboard-content,.main-content,.workspace) :is(input,select,button){max-width:100%}
}
/* The footer stays in the normal document flow; content must never be hidden. */
body{min-width:0}
:where(main,section,article,.card,.panel,.workspace){min-width:0}
:where(.table-responsive,.table-container,.table-wrap){overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
:where(.modal,.dialog,[role=dialog]){max-height:calc(100dvh - 24px);overflow-y:auto}
@media(max-height:719px),(max-width:1023px){html,body{min-height:100%;height:auto}body{overflow-y:auto}}


/* SOURCE: phase322-sans-bandeau.css */
/* Phase 322 — suppression du bandeau bleu secondaire, sans toucher à l'entête blanche. */
body > .dj241-banner, #site-head .dj276-strip, #site-head .dj278-strip { display:none!important; }
body.dj241-interior > .dj241-banner { display:none!important; }
/* Les menus et le contenu remontent naturellement sous l'entête conservée. */
body.dj241-interior { min-width:0; }
body.dj241-interior > main { min-width:0; max-width:100%; }
@media(max-width:800px){body.dj241-interior > main{overflow-wrap:anywhere}}


/* SOURCE: phase330-uniforme.css */
/* Phase 330 — harmonisation sans perte de fonctions */
:root{--p330-gap:10px;--p330-radius:10px}
*,*::before,*::after{box-sizing:border-box}
:is(main,.main-content,.page-content,.workspace,.dashboard,.content-wrapper){min-width:0}
:is(.card,.panel,.widget,section){min-width:0}
:is(.card,.panel,.widget){border-radius:var(--p330-radius)}
:is(.card,.panel,.widget) :is(h1,h2,h3){margin-block:0 8px;line-height:1.2}
:is(.card,.panel,.widget) :is(input,select,textarea){max-width:100%;min-width:0}
:is(.table-wrap,.table-responsive,.table-container){overflow-x:auto;max-width:100%}
:is(.p230-overlay){position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(12,26,45,.55)}
:is(.p230-window){width:min(660px,100%);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:#fff;color:#152638;box-shadow:0 15px 45px #0004}
:is(.p230-header){flex:0 0 auto;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #bd2038}
:is(.p230-content){min-height:0;overflow:auto;padding:12px 14px}
:is(.p230-footer){flex:0 0 auto;padding:7px 14px;font-size:11px;border-top:1px solid #d9dfe7}
.p230-content form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;align-items:start}
.p230-content form :is(.full,.full-width,[data-full-width],fieldset,.form-actions,.actions,button[type=submit]){grid-column:1/-1}
.p230-content :is(input,select,textarea){width:100%;min-width:0}
@media(max-width:640px){.p230-content form{grid-template-columns:minmax(0,1fr)}}
@media(max-height:650px){.p230-window{max-height:calc(100dvh - 12px)}.p230-content{padding:8px 12px}}


/* SOURCE: phase331-layout.css */
/* Phase 331 — ergonomie compacte commune, sans masquer les actions */
:root{--fret-compact-gap:8px;--fret-compact-radius:9px}
:is(.p230-window){width:min(720px,calc(100vw - 20px));max-height:calc(100dvh - 20px);border:1px solid #d7dfe9}
:is(.p230-header){position:sticky;top:0;background:#fff;z-index:2;gap:12px}
:is(.p230-header strong){font-size:15px;line-height:1.25}
:is(.p230-close){min-width:34px;min-height:34px;cursor:pointer}
:is(.p230-content){overscroll-behavior:contain}
:is(.p230-content label){font-size:12px;font-weight:600;line-height:1.3}
:is(.p230-content input,.p230-content select,.p230-content textarea){font-size:13px;min-height:34px;padding:6px 9px}
:is(.p230-content textarea){min-height:64px}
:is(.p230-content button){min-height:34px}
:is(.p230-open){cursor:pointer;max-width:100%;white-space:normal;text-align:center}
:is(.table-responsive,.table-container,.table-wrap){max-width:100%;overflow-x:auto}
:is(.table-responsive table,.table-container table,.table-wrap table){width:100%}
@media(max-width:680px){.p230-window{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.p230-content{padding:10px}.p230-content form{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.p230-overlay *{animation:none!important;transition:none!important}}


/* SOURCE: phase332.css */
/* Phase 332: finitions accessibles et compactes */
.p230-window{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
.p230-header{gap:12px}.p230-header strong{font-size:15px;line-height:1.25}
.p230-close{min-width:32px;min-height:32px;cursor:pointer}
.p230-content label{font-size:12px;font-weight:600;line-height:1.3}
.p230-content :is(input,select,textarea){min-height:34px;font-size:13px}
.p230-content textarea{min-height:60px;resize:vertical}
.p230-content :is(button,input,select,textarea):focus-visible,.p230-open:focus-visible,.p332-intel:focus-visible{outline:3px solid #0876c9;outline-offset:2px}
.p230-open{max-width:100%;white-space:normal;min-height:34px}
.p332-intel{display:block;margin:8px;padding:9px 10px;border-radius:8px;background:#153b66;color:white!important;text-decoration:none;font-size:13px;font-weight:700}
.p332-intel:hover{background:#0c2848}
@media(max-width:700px){.p230-window{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.p230-content{padding:8px}.p230-content form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.p230-window,.p230-overlay{animation:none!important;transition:none!important}}


/* SOURCE: phase335-accueil-compact.css */
/* Phase 335 : page d'accueil optimisée pour la hauteur disponible. */
html{height:100%;}
body:has(main.portal){min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden}
body:has(main.portal) main.portal{flex:1 1 auto;min-height:0;max-width:100%;margin-inline:auto}
body:has(main.portal) footer.fret-footer{flex:0 0 auto;margin-top:auto}
@media (min-width:900px) and (min-height:640px){
 body:has(main.portal){height:100dvh;overflow-y:hidden}
 body:has(main.portal) main.portal{overflow-y:auto;scrollbar-width:thin;align-content:center}
 body:has(main.portal) .cx-panel{max-height:min(78dvh,730px);overflow-y:auto;scrollbar-width:thin}
 body:has(main.portal) footer.fret-footer{max-height:12dvh;overflow:hidden}
}
@media (max-height:639px), (max-width:899px){
 body:has(main.portal){height:auto;overflow-y:auto}
 body:has(main.portal) main.portal{overflow:visible}
 body:has(main.portal) footer.fret-footer{position:static}
}
@media (min-width:900px) and (max-height:850px){
 body:has(main.portal) .cx-panel{padding-top:8px;padding-bottom:8px}
 body:has(main.portal) .cx-body{gap:7px}
 body:has(main.portal) :is(input,select,button){min-height:30px}
}

