/* SOURCE: entete.css */
/* Entete commune DJOLLOF FRET-EXPRESS (meme rendu que l'accueil). Tout est limite a #site-head. */
#site-head{font-family:Arial,Helvetica,sans-serif;color:#071f4b;position:relative;z-index:30;line-height:1.2;text-align:left;font-size:16px;font-weight:400}
#site-head *{box-sizing:border-box}
#site-head a{text-decoration:none;color:inherit;font-weight:inherit}
#site-head button{all:unset;box-sizing:border-box;cursor:pointer}
#site-head svg{flex-shrink:0}
#site-head .topbar{min-height:84px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:16px;padding:6px 2.4%;margin:0;background:#fff;color:#071f4b;box-shadow:0 2px 14px #06275816;position:relative;z-index:4;font-weight:400;border:0}
#site-head .brand{display:flex;align-items:center;min-width:0}
#site-head .brand-logo{display:block;height:68px;width:auto;max-width:100%;mix-blend-mode:multiply;background:none;padding:0;border-radius:0;margin:0}
#site-head .top-contact{display:flex;align-items:center;gap:10px;white-space:nowrap}
#site-head .top-contact .flag{font-size:26px;color:inherit}
#site-head .top-contact small{display:block;font-size:12px}
#site-head .top-contact strong{display:block;font-size:14px;margin-top:3px;font-weight:700}
#site-head .green{color:#009e47;display:flex}
#site-head .top-actions{display:flex;align-items:center;gap:10px;min-width:0}
#site-head .sh-session{display:flex;align-items:center;gap:8px;min-width:0}
#site-head #who{font-size:13px;font-weight:700;color:#082650;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#site-head #out{border:1px solid #082650;color:#082650;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:800;background:#fff;white-space:nowrap}
#site-head #out:hover{background:#eef5fc}
#site-head #out.hidden,#site-head .hidden{display:none}
#site-head .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;padding:12px 15px;font-size:13px;font-weight:800;border:1px solid transparent;white-space:nowrap;transition:filter .2s}
#site-head .button:hover{filter:brightness(1.1)}
#site-head .button.red{background:#e90015;color:#fff}
#site-head .button.green-bg{background:#049e46;color:#fff}
#site-head .mobile-toggle{display:none;align-items:center;justify-content:center;padding:6px;color:#082650}
#site-head .navbar{background:#062758;display:flex;align-items:stretch;justify-content:space-between;gap:0;padding:0 1.3%;min-height:49px;margin:0;box-shadow:0 4px 10px #08265033;position:relative;z-index:3}
#site-head .nav-item{position:relative;display:flex}
#site-head .navbar a{display:flex;align-items:center;gap:6px;padding:12px 9px;color:#fff;font-size:12px;font-weight:750;white-space:nowrap}
#site-head .nav-item>a{height:100%}
#site-head .navbar a:hover{background:#e90015;border-radius:6px}
#site-head .dropdown{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#062758;border-radius:0 0 8px 8px;box-shadow:0 10px 24px #0004;padding:6px;z-index:40}
#site-head .nav-item:hover .dropdown,#site-head .nav-item.dd-open .dropdown{display:block}
#site-head .dropdown a{display:block;padding:10px 12px;font-size:13px}
#site-head .nav-actions{display:none}
#site-head a:focus-visible,#site-head button:focus-visible{outline:3px solid #f5c542;outline-offset:2px}
@media(max-width:1450px){#site-head .navbar a{padding:9px 6px;font-size:11.5px;gap:4px}#site-head .navbar a>svg:first-child{width:13px;height:13px}}
@media(min-width:1101px) and (max-width:1330px){#site-head .navbar a{padding:9px 4px;font-size:11px;gap:3px}#site-head .navbar a>svg:first-child{display:none}}
@media(max-width:1250px){#site-head .top-contact{display:none}}
@media(max-width:1100px){
 #site-head .top-actions .green-bg{display:none}
 #site-head .mobile-toggle{display:flex}
 #site-head .navbar{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 70px);max-height:calc(100dvh - 70px);overflow-y:auto;padding:0}
 #site-head .navbar.open{display:flex}
 #site-head .navbar a{font-size:14px;padding:11px 20px}
 #site-head .nav-item{flex-direction:column}
 #site-head .dropdown{position:static;box-shadow:none;border-radius:0}
}
@media(max-width:750px){
 #site-head .topbar{flex-wrap:wrap;row-gap:0;min-height:0;padding:6px 14px}
 #site-head .brand-logo{height:46px}
 #site-head .top-actions{order:3;width:100%;justify-content:space-between}
 #site-head .top-actions .button{display:none}
 #site-head .nav-actions{display:flex;padding:6px 12px 10px;border-top:1px solid #ffffff2a}
 #site-head .nav-actions a{background:#e90015;border-radius:8px;padding:10px 16px;margin:4px 8px}
}
@media(max-width:480px){#site-head .brand-logo{height:40px}#site-head #who{max-width:60vw}}
@media print{#site-head{display:none}}

/* Pied de page commun (hors accueil) */
#site-foot{font-family:Arial,Helvetica,sans-serif;color:#071f4b;line-height:1.3;font-size:16px;margin-top:0;background:#062758;color:#dbe6f6;clear:both}
#site-foot *{box-sizing:border-box}
#site-foot a{color:inherit;text-decoration:none}#site-foot a:hover{text-decoration:underline}
#site-foot .sf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:20px 2.4%}
#site-foot .sf-col{display:flex;gap:12px;padding:0 16px;border-right:1px solid #ffffff26}#site-foot .sf-col:last-child{border:0}#site-foot .sf-col:first-child{padding-left:0}
#site-foot .sf-ico{display:flex;flex-shrink:0;margin-top:2px}#site-foot .sf-ico.red{color:#ff6b78}#site-foot .sf-ico.green{color:#4fd98a}
#site-foot h3{margin:0 0 6px;font-size:14px;color:#fff}#site-foot p{margin:0;font-size:12.5px;line-height:1.6}
#site-foot .sf-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:12px 2.4%;border-top:1px solid #ffffff26;background:#041a3d;font-size:12.5px}
#site-foot .sf-bar nav{display:flex;flex-wrap:wrap;gap:4px 18px}#site-foot .sf-bar nav a{color:#fff;font-weight:700}
@media(max-width:1100px){#site-foot .sf-grid{grid-template-columns:1fr 1fr;row-gap:16px}#site-foot .sf-col:nth-child(2){border-right:0}#site-foot .sf-col:nth-child(3){padding-left:0}}
@media(max-width:620px){#site-foot .sf-grid{grid-template-columns:1fr;row-gap:0;padding:10px 14px}#site-foot .sf-col{padding:12px 0;border-right:0;border-bottom:1px solid #ffffff26}#site-foot .sf-col:last-child{border:0}#site-foot .sf-bar{justify-content:center;text-align:center;font-size:11.5px}#site-foot .sf-bar nav{justify-content:center}}
@media print{#site-foot{display:none}}

#site-foot .sf-bar nav{align-items:center;line-height:1.3}#site-foot .sf-bar span{line-height:1.3}

#site-head .navbar.nm-off,#site-head .mobile-toggle.nm-off{display:none!important}


/* SOURCE: interface146.css */
/* Phase 146 — harmonisation responsive, accessible, sans modification des droits */
:root{--dj-shadow:0 8px 28px rgba(9,36,73,.08);--dj-radius:14px}
html{scroll-behavior:smooth}body{overflow-x:hidden}
:where(button,input,select,textarea,a){font:inherit}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid #e5a300!important;outline-offset:2px}
:where(button){cursor:pointer;transition:transform .12s ease,filter .12s ease}
:where(button):active{transform:translateY(1px)}
:where(button):disabled{opacity:.55;cursor:not-allowed}
:where(input,select,textarea){max-width:100%;min-width:0}
:where(.card){box-shadow:var(--dj-shadow);border-radius:var(--dj-radius)}
:where(table){max-width:100%} :where(th,td){overflow-wrap:anywhere}
#dj-quickfind{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 14px;background:#fff;border:1px solid #d9e0ec;border-radius:12px;margin:12px 0;box-shadow:var(--dj-shadow)}
#dj-quickfind label{font-weight:700;color:#092449;font-size:.9rem}
#dj-quickfind input{flex:1 1 170px;min-height:40px;border:1px solid #b7c7db;border-radius:8px;padding:8px 11px;background:#fff;color:#102a4e}
#dj-quickfind .dj-count{font-size:.78rem;color:#52657e}
#nav{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
#nav button{min-height:38px;border-radius:9px}
#nav button[hidden]{display:none!important}
.dj-skip{position:absolute;left:8px;top:-80px;z-index:99999;background:#092449;color:white;padding:10px;border-radius:8px}
.dj-skip:focus{top:8px}
@media(max-width:780px){main{padding-left:12px!important;padding-right:12px!important}#nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}#nav button{flex:0 0 auto;scroll-snap-align:start}#dj-quickfind{margin:8px 0;padding:10px}input,select,textarea{font-size:16px!important}table{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}


/* SOURCE: compact164.css */
/* Phase 164 — presentation dense, responsive, sans masquer les donnees. */
:root{--compact-gap:9px}
html{scroll-behavior:smooth}body{font-size:14px!important;line-height:1.35!important}
main,#main-content,.rg{max-width:1480px!important;width:100%;margin:8px auto!important;padding:0 12px 16px!important}
h1{font-size:clamp(19px,2.2vw,25px)!important;margin:0 0 9px!important}h2{font-size:16px!important;margin:0 0 8px!important}h3{font-size:14px!important;margin:0 0 6px!important}
.card,.panel,.pad{padding:11px 13px!important;margin-bottom:9px!important;border-radius:10px!important;box-shadow:0 1px 5px #0924490b!important}
label{font-size:12px!important;margin:4px 0 2px!important}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:35px;padding:6px 9px!important;font-size:13px!important;border-radius:7px!important;max-width:100%}
button,.action,.btn{min-height:35px;padding:7px 11px!important;font-size:13px!important;border-radius:7px!important;margin-top:3px!important}
.row,.fg,form{gap:8px!important}.stats,.cards,.finance-grid{gap:8px!important;margin-bottom:8px!important}
.stats>div,.cards>.card,.finance-grid>div{padding:10px!important}
.tw,.scroll{max-width:100%;overflow:auto;max-height:48vh;overscroll-behavior:contain}
table{font-size:12px!important}th,td{padding:6px 8px!important}thead th{position:sticky;top:0;z-index:1}
#client-menu-163{position:sticky;top:0;z-index:20;gap:5px!important;padding:7px!important;margin:7px 0!important;box-shadow:0 3px 10px #09244912}
#client-menu-163 button{padding:7px 9px!important;min-height:36px;font-size:12px!important}
#main-content .workspace{gap:10px!important;grid-template-columns:minmax(200px,230px) minmax(0,1fr)!important}
#main-content #nav .navgroup{margin-bottom:5px!important}
#main-content #nav .navgroup summary{padding:8px 10px!important}
#main-content #nav .navitems{padding:4px!important}
#main-content #nav .navitems button{padding:7px 9px!important;min-height:32px!important}
#main-content #dj-quickfind{padding:9px!important}
.top,.head{padding:10px 18px!important}
@media(min-width:950px){.row,.fg{grid-template-columns:repeat(3,minmax(0,1fr))}.stats,.finance-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:860px){#main-content .workspace{grid-template-columns:1fr!important}#main-content #nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){main,#main-content,.rg{padding:0 8px 12px!important}.row,.fg{grid-template-columns:1fr 1fr!important}.card,.panel{padding:9px!important}#main-content #nav{grid-template-columns:1fr!important}#client-menu-163{position:static;grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:380px){.row,.fg{grid-template-columns:1fr!important}}


/* SOURCE: compact224.css */
/* Phase 224 — compacité sans masquer les données */
:root{--p224-gap:7px}html{scroll-padding-top:60px}body{line-height:1.3!important}
main,#main-content,.rg{margin-top:4px!important;margin-bottom:5px!important}
h1{font-size:clamp(18px,2vw,23px)!important;margin-bottom:5px!important}h2{font-size:15px!important;margin-bottom:6px!important}
.card,.panel,.pad,fieldset{padding:9px 11px!important;margin-bottom:7px!important}
form,.row,.fg,.grid,.admin216-toolbar{gap:7px!important}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:32px!important;padding:5px 8px!important;font-size:12.5px!important}
button,.btn,.action{min-height:32px!important;padding:6px 9px!important;font-size:12px!important}
label{font-size:11.5px!important;margin:2px 0!important}
.tw,.scroll,.table-wrap{max-height:min(53dvh,590px);overflow:auto}
footer,.fret-footer{padding-top:7px!important;padding-bottom:7px!important}
@media(min-width:1050px){.row,.fg{grid-template-columns:repeat(3,minmax(0,1fr))!important}.admin216-toolbar{display:flex!important;align-items:end;flex-wrap:wrap}.admin216-toolbar label{min-width:175px}}
@media(max-width:700px){.row,.fg{grid-template-columns:repeat(2,minmax(0,1fr))!important}.card,.panel{padding:8px!important}.tw,.scroll{max-height:60dvh}}
@media(max-width:420px){.row,.fg{grid-template-columns:1fr!important}}
/* L'interface s'adapte à la hauteur disponible, sans cacher de lignes ou de boutons. */
@media(min-height:650px) and (min-width:850px){.cx-body{gap:7px!important;padding:10px 14px!important}.cx-panel{max-width:430px!important}.cx-ph{padding:8px 13px!important}}


/* SOURCE: compact225.css */
/* Phase 225: densite adaptative, lisibilite et navigation preservee */
*,*::before,*::after{box-sizing:border-box}
:root{--p225-gap:8px}
/* Ne jamais masquer la navigation globale pour gagner de la place. */
#site-head .dj-nav,#site-head nav{display:revert!important}
/* Formulaires: hauteur compacte sans imposer 3 colonnes a tous les composants. */
.row,.fg{min-width:0}
@media(min-width:1050px){.row,.fg{grid-template-columns:revert!important}}
@media(max-width:700px){.row,.fg{grid-template-columns:revert!important}}
@media(max-width:420px){.row,.fg{grid-template-columns:revert!important}}
/* Empêcher les en-tetes et boutons d'etre coupes sur petits ecrans. */
.card,.panel,fieldset{min-width:0}
.card input,.card select,.card textarea,.panel input,.panel select,.panel textarea{max-width:100%}
button,.btn,.action{white-space:normal;overflow-wrap:anywhere}
.tw,.scroll,.table-wrap{max-height:min(55dvh,620px);overflow:auto;overscroll-behavior:contain}
.tw table,.scroll table,.table-wrap table{width:100%}
.tw thead th,.scroll thead th,.table-wrap thead th{position:sticky;top:0;z-index:2}
/* Zone de travail de l'administration, navigation toujours visible. */
@media(min-width:1050px) and (min-height:670px){
 body.admin215-layout #pane{min-width:0;max-height:calc(100dvh - 175px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 body.admin215-layout #pane .card{margin-bottom:7px!important}
 body.admin215-layout #pane .tw{max-height:calc(100dvh - 370px)}
 body.client-connected .phase192-content{min-width:0;max-height:calc(100dvh - 155px);overflow:auto;overscroll-behavior:contain}
}
/* Les formulaires longs defilent localement au lieu de cacher les champs. */
@media(min-width:800px){
 .admin216-form,.formgrid{gap:8px!important}
 .admin216-form textarea,.formgrid textarea{min-height:60px!important}
}
/* Les menus du client restent accessibles sur mobile. */
@media(max-width:800px){
 body.client-connected #client-menu-163{max-height:32dvh;overflow:auto;overscroll-behavior:contain}
 body.client-connected .phase192-content{min-width:0}
}
/* Tables larges: defilement horizontal dans le tableau, jamais coupe. */
@media(max-width:700px){
 .tw,.scroll,.table-wrap{width:100%;max-width:100%;overflow:auto}
 table{max-width:none}
 .admin216-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media print{#site-head nav,.admin215-side,.admin215-top,.admin215-help{display:none!important}.tw,.scroll,.table-wrap,#pane{max-height:none!important;overflow:visible!important}body{background:white!important}}


/* 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: 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}
}

