:root{
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --surface-strong:#eef3f8;
  --text:#172033;
  --text-strong:#0b1324;
  --muted:#64748b;
  --muted-2:#94a3b8;
  --accent:#2563eb;
  --accent-hover:#1d4ed8;
  --accent-soft:#eff6ff;
  --accent-2:#0f766e;
  --line:#e2e8f0;
  --line-strong:#cbd5e1;
  --ok:#15803d;
  --ok-soft:#f0fdf4;
  --danger:#b42318;
  --danger-soft:#fff1f2;
  --warning:#a16207;
  --warning-soft:#fffbeb;
  --shadow-sm:0 1px 2px rgba(15,23,42,.04),0 1px 3px rgba(15,23,42,.06);
  --shadow:0 10px 30px rgba(15,23,42,.07);
  --radius:16px;
  --radius-sm:11px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f8fafc 0,#f4f7fb 260px);color:var(--text);font-size:15px;line-height:1.5}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent-hover)}
.topbar{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:68px;padding:0 max(24px,calc((100vw - 1240px)/2));
  background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,232,240,.9)
}
.brand{display:flex;align-items:center;gap:11px;color:var(--text-strong);font-size:1rem;font-weight:760;letter-spacing:-.01em;white-space:nowrap}
.brand-mark{
  display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;
  color:#fff;background:linear-gradient(145deg,#2563eb,#1e40af);box-shadow:0 5px 14px rgba(37,99,235,.22);
  font-size:.72rem;font-weight:850;letter-spacing:.04em
}
nav{display:flex;align-items:center;gap:4px;color:var(--muted);overflow:auto;scrollbar-width:none}
nav::-webkit-scrollbar{display:none}
nav a{padding:9px 12px;border-radius:9px;color:var(--muted);font-size:.91rem;font-weight:600;text-decoration:none;white-space:nowrap}
nav a:hover{background:var(--surface-strong);color:var(--text-strong)}
.shell{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:42px 0 72px}
.shell.narrow{width:min(920px,calc(100% - 48px))}
.hero{padding:8px 0 16px}
.eyebrow{margin:0 0 7px;text-transform:uppercase;letter-spacing:.13em;font-size:.69rem;color:var(--accent);font-weight:800}
h1,h2,h3{color:var(--text-strong);letter-spacing:-.025em}
h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1.08;margin:.12em 0 .28em;font-weight:780}
h2{font-size:1.08rem;line-height:1.25;margin:0 0 16px;font-weight:740}
h3{font-size:.98rem}
.muted{color:var(--muted)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
.kpis article,.panel{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;
  box-shadow:var(--shadow-sm)
}
.kpis article{position:relative;overflow:hidden}
.kpis article:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 4px 4px 0;background:#bfdbfe}
.kpis span{display:block;color:var(--muted);font-size:.78rem;font-weight:650}
.kpis strong{display:block;margin-top:7px;color:var(--text-strong);font-size:1.55rem;line-height:1.2;letter-spacing:-.03em}
.grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.wide{grid-row:span 2}
.panel-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:2px}
.panel-title h2{margin:0}
.panel-title a{font-size:.82rem;font-weight:650;text-decoration:none}
.flight-row{display:grid;grid-template-columns:70px 24px 70px 1fr;gap:12px;align-items:center;padding:14px 4px;border-top:1px solid var(--line)}
.flight-row span:last-child{text-align:right;color:var(--muted)}
.big-number{font-size:3rem;line-height:1;font-weight:780;letter-spacing:-.05em;color:var(--text-strong);margin:.25em 0}
.radar{display:grid;place-items:center;min-height:170px;border-radius:50%;background:repeating-radial-gradient(circle,var(--line) 0 1px,transparent 1px 32px);font-size:2rem}
.auth-page{display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 0,#dbeafe 0,transparent 38%),var(--bg)}
.auth-card{width:min(460px,100%);padding:34px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.12)}
.auth-card h1{font-size:2.2rem}
.auth-card form,.flight-form{display:grid;gap:18px;margin-top:24px}
label{display:grid;gap:7px;color:#334155;font-size:.84rem;font-weight:650}
input,select,textarea{
  width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line-strong);
  background:#fff;color:var(--text-strong);font:inherit;outline:none;transition:border-color .15s,box-shadow .15s,background .15s
}
input:hover,select:hover,textarea:hover{border-color:#94a3b8}
input:focus,select:focus,textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(37,99,235,.11)}
input::placeholder,textarea::placeholder{color:#94a3b8}
button{
  border:1px solid transparent;border-radius:10px;padding:11px 16px;background:var(--accent);color:#fff;
  font:inherit;font-weight:720;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.08);transition:.15s
}
button:hover{background:var(--accent-hover);transform:translateY(-1px)}
.subtle-link{display:inline-block;margin-top:18px;color:var(--muted)}
.alert{padding:13px 15px;border:1px solid #fecdd3;background:var(--danger-soft);color:#881337;border-radius:11px}
.success{padding:13px 15px;border:1px solid #bbf7d0;background:var(--ok-soft);color:#166534;border-radius:11px;margin:16px 0}
.flight-form fieldset{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;border:1px solid var(--line);border-radius:16px;padding:22px;
  background:var(--surface);box-shadow:var(--shadow-sm)
}
.flight-form legend{padding:0 9px;color:var(--text-strong);font-weight:760;font-size:.92rem}
.check{display:flex;grid-column:span 2;gap:9px;align-items:center;font-weight:560;color:#475569}
.check input{width:auto;accent-color:var(--accent)}
.role-group{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}
.role-group>span{font-weight:760;color:var(--text-strong);font-size:.84rem}
.role-group .check{grid-column:auto}
.airfield-autocomplete,.crew-autocomplete{position:relative}
.airfield-results,.crew-results{
  position:absolute;z-index:60;top:100%;left:0;right:0;margin-top:6px;background:#fff;border:1px solid var(--line);
  border-radius:12px;overflow:hidden;box-shadow:0 18px 48px rgba(15,23,42,.15)
}
.airfield-results button,.crew-results button{display:block;width:100%;border:0;border-radius:0;padding:10px 12px;background:#fff;color:var(--text);text-align:left;font-weight:inherit;box-shadow:none}
.airfield-results button:hover,.airfield-results button:focus,.crew-results button:hover,.crew-results button:focus{background:var(--accent-soft);transform:none}
.airfield-results strong{display:inline-block;min-width:56px}.airfield-results span{color:var(--accent)}
.airfield-results small,.crew-results small{display:block;margin-top:3px;color:var(--muted)}
code{padding:.12em .35em;border-radius:6px;background:#eef2f7;color:#334155}
table{color:var(--text)}
@media(max-width:800px){
  .topbar{align-items:flex-start;flex-direction:column;gap:7px;padding:12px 20px}
  nav{width:100%;margin:0 -5px}
  nav a{padding:7px 9px}
  .kpis{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}
  .flight-form fieldset{grid-template-columns:1fr}.check{grid-column:auto}
  .shell,.shell.narrow{width:min(100% - 32px,1240px);padding-top:28px}
}
@media(max-width:480px){
  .kpis{grid-template-columns:1fr}.auth-card{padding:25px;border-radius:16px}
  .flight-row{grid-template-columns:58px 18px 58px 1fr;font-size:.88rem}
}

/* v17.1 — polish & component consistency */
body.page-dashboard,
body.page-flight-form{background:
  radial-gradient(circle at 78% -10%,rgba(37,99,235,.08),transparent 28%),
  linear-gradient(180deg,#fbfdff 0,#f5f8fc 360px,#f4f7fb 100%);
}
.topbar{box-shadow:0 1px 0 rgba(15,23,42,.02)}
.topbar .brand-mark{position:relative}
.topbar .brand-mark:after{
  content:"";position:absolute;width:13px;height:2px;border-radius:9px;background:rgba(255,255,255,.95);
  transform:rotate(-24deg);box-shadow:5px -2px 0 -1px rgba(255,255,255,.8)
}
.panel{transition:box-shadow .18s,border-color .18s}
.panel:hover{border-color:#d7e0eb;box-shadow:0 10px 28px rgba(15,23,42,.055)}
button:active,.primary-action:active,.button-link:active{transform:translateY(0)}
select{background-image:none}
textarea{min-height:96px;resize:vertical}
hr{border:0;border-top:1px solid var(--line)}

/* MyLogBook v26 — identité aéronautique */
:root{
  --bg:#eef3f7;--surface:#fff;--surface-soft:#f5f8fa;--surface-strong:#e8f0f4;
  --text:#213547;--text-strong:#071827;--muted:#647684;--muted-2:#91a1ad;
  --accent:#1677a7;--accent-hover:#0d5f89;--accent-soft:#e8f7fb;--accent-2:#42b9d6;
  --amber:#f2a93b;--navy:#071827;--navy-2:#0b2b40;
  --line:#dce6ec;--line-strong:#c7d5de;
  --shadow-sm:0 2px 8px rgba(7,24,39,.055);--shadow:0 18px 48px rgba(7,24,39,.09);
  --radius:14px;--radius-sm:9px;
}
html{background:var(--bg)}
body{background:radial-gradient(circle at 82% -8%,rgba(66,185,214,.11),transparent 31%),linear-gradient(180deg,#f7fafc 0,#eef3f7 420px,#edf2f5 100%);color:var(--text)}
.topbar{min-height:72px;background:rgba(7,24,39,.97);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 30px rgba(7,24,39,.15)}
.brand{color:#fff;font-size:1.03rem;letter-spacing:-.02em}
.brand-mark{width:40px;height:40px;border-radius:11px;font-size:0;background:#0b2b40 url('/assets/images/mylogbook-logo.svg') center/33px 33px no-repeat;border:1px solid rgba(66,185,214,.28);box-shadow:0 7px 18px rgba(0,0,0,.2)}
.topbar .brand-mark:after{display:none}
.topbar nav a{color:#b8c9d4}
.topbar nav a:hover,.topbar nav a:focus{background:rgba(66,185,214,.12);color:#fff}
.topbar nav a[href*="new.php"]{background:var(--accent);color:#fff}
.shell{padding-top:36px}
.eyebrow{color:var(--accent);letter-spacing:.15em}
h1,h2,h3{color:var(--text-strong)}h1{font-weight:790}
.kpis article,.panel,.stat-chip{border-color:var(--line);box-shadow:var(--shadow-sm)}
.kpis article:before{background:linear-gradient(180deg,var(--accent-2),var(--accent))}
.kpis strong{color:var(--navy)}
button,.primary-action,.button-link{background:linear-gradient(135deg,var(--accent),#0e6e9b);box-shadow:0 8px 20px rgba(22,119,167,.2)}
button:hover,.primary-action:hover,.button-link:hover{background:var(--accent-hover)}
input,select,textarea{border-color:var(--line-strong);background:#fbfdfe}
input:focus,select:focus,textarea:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px rgba(66,185,214,.16)}

/* Connexion : double panneau de la maquette validée */
.auth-page{position:relative;display:grid;grid-template-columns:minmax(320px,1fr) minmax(390px,520px);place-items:center;gap:clamp(28px,7vw,110px);padding:clamp(28px,5vw,72px);overflow:hidden;background:linear-gradient(118deg,rgba(7,24,39,.98) 0 50%,rgba(9,37,55,.92) 50% 60%,#eaf1f5 60% 100%)}
.auth-page:before{content:"";position:absolute;inset:0 38% 0 0;pointer-events:none;opacity:.75;background:linear-gradient(108deg,transparent 0 42%,rgba(66,185,214,.15) 42.2% 42.7%,transparent 43% 100%),repeating-radial-gradient(ellipse at 20% 100%,transparent 0 38px,rgba(66,185,214,.075) 39px 40px)}
.auth-page:after{content:"VOTRE CARNET DE VOL\A Clair, fiable, toujours à jour.";white-space:pre;position:relative;z-index:1;grid-column:1;grid-row:1;color:#fff;width:min(520px,100%);font-size:clamp(1.55rem,3.1vw,3.25rem);line-height:1.12;font-weight:780;letter-spacing:-.045em}
.auth-card{position:relative;z-index:2;grid-column:2;grid-row:1;width:100%;padding:clamp(28px,4vw,46px);border:1px solid rgba(255,255,255,.75);border-radius:22px;box-shadow:0 32px 90px rgba(7,24,39,.28)}
.auth-card .brand{color:var(--navy);font-size:1.15rem;margin-bottom:30px}
.auth-card .brand-mark{background-color:var(--navy);width:48px;height:48px;background-size:39px}
.auth-card .eyebrow{color:var(--accent);font-size:.67rem}.auth-card h1{font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.08}
.auth-card form{margin-top:26px}.auth-card button{min-height:48px;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem}

@media(max-width:800px){
  body{padding-bottom:70px}
  .topbar{position:static;align-items:center;flex-direction:row;padding:12px 18px}
  .topbar nav{position:fixed;z-index:100;left:0;right:0;bottom:0;width:100%;height:66px;margin:0;padding:7px 8px;justify-content:space-around;background:rgba(7,24,39,.98);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -8px 30px rgba(7,24,39,.16)}
  .topbar nav a{font-size:.72rem;padding:8px 7px;text-align:center}.topbar nav a[href*="new.php"]{background:transparent;color:#7ed5e7}
  .auth-page{display:grid;grid-template-columns:1fr;padding:24px;background:linear-gradient(160deg,#071827 0 38%,#0b2b40 38% 48%,#edf3f6 48%)}
  .auth-page:before,.auth-page:after{display:none}.auth-card{grid-column:1;padding:28px 24px}.shell{padding-top:26px}
}

/* MyLogBook v27 — structure proche de la maquette */
.button-link,.primary-action,a.button-link,a.primary-action{color:#fff!important;text-decoration:none}
.button-link:hover,.primary-action:hover,a.button-link:hover,a.primary-action:hover{color:#fff!important}
.subtle-button,a.subtle-button{
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;
  border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--navy)!important;
  text-decoration:none;font-weight:720;box-shadow:0 2px 8px rgba(7,24,39,.05)
}
.subtle-button:hover,a.subtle-button:hover{border-color:#91c8d8;background:#effafd;color:#0d5f89!important}
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.page-head{border-radius:18px}

@media(min-width:1100px){
  body:not(.auth-page){padding-left:244px}
  .topbar{
    position:fixed;inset:0 auto 0 0;width:244px;height:100vh;min-height:100vh;
    flex-direction:column;align-items:stretch;justify-content:flex-start;gap:22px;
    padding:26px 18px;background:
      radial-gradient(circle at 25% 10%,rgba(66,185,214,.13),transparent 28%),
      linear-gradient(180deg,#071827,#081f30 64%,#06141f);
    border:0;border-right:1px solid rgba(255,255,255,.08)
  }
  .topbar:after{
    content:"CARNET DE VOL NUMÉRIQUE";margin-top:auto;padding:18px 10px 0;
    border-top:1px solid rgba(255,255,255,.08);color:#688597;font-size:.58rem;font-weight:800;letter-spacing:.14em
  }
  .topbar .brand{padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.09);font-size:1.15rem}
  .topbar .brand-mark{width:46px;height:46px;background-size:38px}
  .topbar nav{width:100%;flex-direction:column;align-items:stretch;gap:6px;overflow:visible}
  .topbar nav a{
    position:relative;width:100%;min-height:43px;padding:11px 12px 11px 42px;border-radius:10px;
    color:#a9beca;font-size:.84rem;font-weight:680
  }
  .topbar nav a:before{
    content:"";position:absolute;left:15px;top:50%;width:12px;height:12px;transform:translateY(-50%);
    border:1.7px solid currentColor;border-radius:3px;opacity:.9
  }
  .topbar nav a:hover,.topbar nav a:focus{background:rgba(66,185,214,.12);color:#fff}
  .topbar nav a[href*="new.php"]{background:linear-gradient(135deg,#1677a7,#1591bd);color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.18)}
  .topbar nav a[href*="new.php"]:before{content:"+";display:grid;place-items:center;border:0;font-size:1.15rem;font-weight:400}
  .shell{width:min(1280px,calc(100% - 56px))}
}

@media(max-width:800px){
  .page-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .page-actions>*{width:100%}
}
@media(max-width:480px){
  .page-actions{grid-template-columns:1fr}
}


/* MyLogBook v29.5 — navigation principale */
.mlb-main-nav{
  position:sticky;top:0;z-index:1200;display:flex;align-items:center;
  gap:26px;min-height:64px;
}
.mlb-main-nav .brand{flex:0 0 auto;text-decoration:none}
.mlb-nav-links{display:flex;align-items:center;gap:4px;min-width:0}
.mlb-nav-link,.mlb-nav-menu>summary{
  display:flex;align-items:center;min-height:38px;padding:0 11px;border-radius:9px;
  color:#475569;font-size:.82rem;font-weight:700;text-decoration:none;cursor:pointer;
  white-space:nowrap;list-style:none;
}
.mlb-nav-menu>summary::-webkit-details-marker{display:none}
.mlb-nav-menu>summary::after{
  content:"";width:6px;height:6px;margin-left:7px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)
}
.mlb-nav-link:hover,.mlb-nav-menu>summary:hover,.mlb-nav-link.is-active,
.mlb-nav-menu.is-active>summary,.mlb-nav-menu[open]>summary{
  background:#f1f5f9;color:#172033
}
.mlb-nav-menu{position:relative}
.mlb-nav-dropdown{
  position:absolute;top:calc(100% + 8px);left:0;z-index:1300;min-width:220px;
  padding:7px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;
  box-shadow:0 14px 38px rgba(15,23,42,.14)
}
.mlb-nav-dropdown>a,.mlb-nav-group>a{
  display:block;padding:9px 10px;border-radius:8px;color:#334155;
  font-size:.79rem;font-weight:650;text-decoration:none
}
.mlb-nav-dropdown>a:hover,.mlb-nav-group>a:hover{background:#f8fafc;color:#172033}
.mlb-nav-dropdown-wide{
  display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:7px;
  width:min(600px,calc(100vw - 40px))
}
.mlb-nav-group{padding:5px}
.mlb-nav-group>span{
  display:block;padding:5px 10px 4px;color:#94a3b8;font-size:.65rem;font-weight:800;
  letter-spacing:.07em;text-transform:uppercase
}
@media(max-width:900px){
  .mlb-main-nav{align-items:flex-start;flex-direction:column;gap:8px;padding-top:10px;padding-bottom:10px}
  .mlb-nav-links{width:100%;overflow-x:auto;padding-bottom:2px}
  .mlb-nav-menu{position:static}
  .mlb-nav-dropdown{
    position:fixed;left:14px;right:14px;top:112px;width:auto;
    max-height:calc(100vh - 130px);overflow:auto
  }
  .mlb-nav-dropdown-wide{grid-template-columns:1fr}
}


/* MyLogBook v29.6 — corrections navigation desktop */
.topbar.mlb-main-nav{
  /* Alignement réellement à gauche, sans centrage sur la largeur 1240px. */
  width:100%;
  margin:0;
  padding:0 18px!important;
  justify-content:flex-start!important;
  min-height:64px;
  height:64px;
}

/* Le header sticky reste dans le flux : le contenu commence APRÈS le menu. */
body > main.shell,
body > .shell{
  position:relative;
  z-index:1;
}

/* Les dropdowns flottent au-dessus du contenu et ne modifient jamais sa hauteur. */
.mlb-nav-menu{position:relative!important}
.mlb-nav-dropdown{
  position:absolute!important;
  top:calc(100% + 7px)!important;
  margin:0!important;
}
.mlb-main-nav .brand{margin-right:14px}
.mlb-nav-links{overflow:visible!important}

/* Les details fermés ne doivent jamais conserver un panneau visible. */
.mlb-nav-menu:not([open]) > .mlb-nav-dropdown{display:none!important}
.mlb-nav-menu[open] > .mlb-nav-dropdown{display:block}

/* Large dropdown keeps its grid only when open. */
.mlb-nav-menu[open] > .mlb-nav-dropdown-wide{display:grid}

@media(min-width:901px){
  .topbar.mlb-main-nav{
    flex-direction:row!important;
    align-items:center!important;
  }
}

@media(max-width:900px){
  .topbar.mlb-main-nav{
    height:auto;
    min-height:64px;
    padding:9px 14px!important;
  }
  .mlb-nav-links{overflow-x:auto!important}
  .mlb-nav-dropdown{
    position:fixed!important;
    top:116px!important;
  }
}


/* MyLogBook v29.7 — menu robuste, indépendant des styles de contenu */
html body .topbar.mlb-main-nav{
  position:sticky!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:5000!important;
  width:100%!important;
  min-height:64px!important;
  height:64px!important;
  margin:0!important;
  padding:0 18px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:18px!important;
  overflow:visible!important;
  background:rgba(255,255,255,.97)!important;
}

html body .mlb-main-nav .brand{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  margin:0 14px 0 0!important;
}

html body .mlb-main-nav .mlb-nav-links{
  position:relative!important;
  display:flex!important;
  flex:0 0 auto!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:auto!important;
  max-width:none!important;
  height:64px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

html body .mlb-main-nav .mlb-nav-link,
html body .mlb-main-nav .mlb-nav-trigger{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:38px!important;
  height:38px!important;
  margin:0!important;
  padding:0 11px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#475569!important;
  font:700 .82rem/1 Inter,ui-sans-serif,system-ui,sans-serif!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-shadow:none!important;
}

html body .mlb-main-nav .mlb-nav-trigger span{
  margin-left:7px;
  font-size:.95em;
  transition:transform .15s ease;
}

html body .mlb-main-nav .mlb-nav-menu.is-open .mlb-nav-trigger span{
  transform:rotate(180deg);
}

html body .mlb-main-nav .mlb-nav-link:hover,
html body .mlb-main-nav .mlb-nav-trigger:hover,
html body .mlb-main-nav .mlb-nav-link.is-active,
html body .mlb-main-nav .mlb-nav-menu.is-active .mlb-nav-trigger,
html body .mlb-main-nav .mlb-nav-menu.is-open .mlb-nav-trigger{
  background:#f1f5f9!important;
  color:#172033!important;
}

html body .mlb-main-nav .mlb-nav-menu{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}

html body .mlb-main-nav .mlb-nav-dropdown{
  position:absolute!important;
  top:46px!important;
  left:0!important;
  z-index:5100!important;
  display:block;
  min-width:225px!important;
  width:max-content!important;
  max-width:min(620px,calc(100vw - 32px))!important;
  height:auto!important;
  margin:0!important;
  padding:7px!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 16px 42px rgba(15,23,42,.16)!important;
}

html body .mlb-main-nav .mlb-nav-dropdown[hidden]{
  display:none!important;
}

html body .mlb-main-nav .mlb-nav-dropdown-wide{
  grid-template-columns:repeat(3,minmax(170px,1fr))!important;
  gap:7px!important;
  width:590px!important;
}

html body .mlb-main-nav .mlb-nav-menu.is-open .mlb-nav-dropdown-wide{
  display:grid!important;
}

html body .mlb-main-nav .mlb-nav-dropdown a,
html body .mlb-main-nav .mlb-nav-group a{
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:9px 10px!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#334155!important;
  font-size:.79rem!important;
  font-weight:650!important;
  line-height:1.35!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

html body .mlb-main-nav .mlb-nav-dropdown a:hover,
html body .mlb-main-nav .mlb-nav-group a:hover{
  background:#f8fafc!important;
  color:#172033!important;
}

html body .mlb-main-nav .mlb-nav-group{
  display:block!important;
  width:auto!important;
  padding:5px!important;
  margin:0!important;
}

html body .mlb-main-nav .mlb-nav-group>span{
  display:block!important;
  padding:5px 10px 4px!important;
  color:#94a3b8!important;
  font-size:.65rem!important;
  font-weight:800!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}

/* Le contenu reste dans le flux, juste sous le menu sticky. */
html body > main,
html body > main.shell{
  clear:both!important;
}

/* Évite qu'un CSS de page donne un margin-top négatif au premier bloc. */
html body > main.shell{
  margin-top:0!important;
}

@media(max-width:900px){
  html body .topbar.mlb-main-nav{
    height:auto!important;
    min-height:64px!important;
    padding:9px 12px!important;
    flex-wrap:wrap!important;
  }
  html body .mlb-main-nav .mlb-nav-links{
    width:100%!important;
    height:auto!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
  }
  html body .mlb-main-nav .mlb-nav-dropdown{
    position:fixed!important;
    top:116px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
  }
  html body .mlb-main-nav .mlb-nav-dropdown-wide{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================
   MyLogBook v29.8
   Neutralisation définitive de l'ancienne sidebar desktop
   ============================================================ */

@media(min-width:1100px){

  /* L'ancienne charte poussait toute l'application de 244px. */
  html body:not(.auth-page){
    padding-left:0!important;
  }

  /* Le nouveau header ne doit hériter d'aucune géométrie de sidebar. */
  html body .topbar.mlb-main-nav{
    position:sticky!important;
    inset:auto!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;

    width:100%!important;
    max-width:none!important;
    height:72px!important;
    min-height:72px!important;

    margin:0!important;
    padding:0 28px!important;

    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:16px!important;

    overflow:visible!important;

    background:rgba(255,255,255,.97)!important;
    border:0!important;
    border-bottom:1px solid #dfe7ec!important;
    border-right:0!important;

    box-shadow:0 6px 24px rgba(7,24,39,.07)!important;
    backdrop-filter:blur(16px)!important;
  }

  /* Supprime "CARNET DE VOL NUMÉRIQUE" injecté par l'ancienne sidebar. */
  html body .topbar.mlb-main-nav::after,
  html body .topbar.mlb-main-nav:after{
    content:none!important;
    display:none!important;
  }

  /* Remet la marque en mode horizontal. */
  html body .topbar.mlb-main-nav .brand{
    display:flex!important;
    flex:0 0 auto!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:11px!important;

    width:auto!important;
    min-width:0!important;
    height:auto!important;

    margin:0 18px 0 0!important;
    padding:0!important;

    border:0!important;
    background:transparent!important;

    color:#172033!important;
    font-size:1.03rem!important;
    font-weight:780!important;
    line-height:1!important;
    text-decoration:none!important;
  }

  html body .topbar.mlb-main-nav .brand > span:not(.brand-mark){
    display:inline!important;
    visibility:visible!important;
    opacity:1!important;
    color:#172033!important;
  }

  html body .topbar.mlb-main-nav .brand-mark{
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    border-radius:11px!important;
  }

  /* Annule l'ancien nav vertical. */
  html body .topbar.mlb-main-nav .mlb-nav-links{
    position:relative!important;

    display:flex!important;
    flex:0 1 auto!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;

    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:72px!important;

    margin:0!important;
    padding:0!important;
    gap:5px!important;

    overflow:visible!important;
  }

  /* Annule les anciens styles "gros bouton de sidebar". */
  html body .topbar.mlb-main-nav .mlb-nav-link,
  html body .topbar.mlb-main-nav .mlb-nav-trigger{
    position:relative!important;

    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;

    width:auto!important;
    min-width:0!important;
    height:40px!important;
    min-height:40px!important;

    margin:0!important;
    padding:0 13px!important;

    border:0!important;
    border-radius:10px!important;

    background:transparent!important;
    box-shadow:none!important;

    color:#475569!important;
    font-size:.86rem!important;
    font-weight:700!important;
    line-height:1!important;
    text-decoration:none!important;
  }

  /* L'ancienne sidebar dessinait une icône carrée devant chaque lien. */
  html body .topbar.mlb-main-nav .mlb-nav-link::before,
  html body .topbar.mlb-main-nav .mlb-nav-link:before,
  html body .topbar.mlb-main-nav .mlb-nav-trigger::before,
  html body .topbar.mlb-main-nav .mlb-nav-trigger:before{
    content:none!important;
    display:none!important;
  }

  /* L'ancien style mettait tous les liens new.php en bouton bleu. */
  html body .topbar.mlb-main-nav a[href*="new.php"]{
    background:transparent!important;
    color:#475569!important;
    box-shadow:none!important;
  }

  html body .topbar.mlb-main-nav .mlb-nav-link:hover,
  html body .topbar.mlb-main-nav .mlb-nav-trigger:hover,
  html body .topbar.mlb-main-nav .mlb-nav-link.is-active,
  html body .topbar.mlb-main-nav .mlb-nav-menu.is-active > .mlb-nav-trigger,
  html body .topbar.mlb-main-nav .mlb-nav-menu.is-open > .mlb-nav-trigger{
    background:#eef3f7!important;
    color:#172033!important;
  }

  /* Dropdowns toujours hors flux. */
  html body .topbar.mlb-main-nav .mlb-nav-menu{
    position:relative!important;
    display:block!important;
    flex:0 0 auto!important;
    width:auto!important;
    height:40px!important;
    min-height:40px!important;

    margin:0!important;
    padding:0!important;

    border:0!important;
    background:transparent!important;
  }

  html body .topbar.mlb-main-nav .mlb-nav-dropdown{
    position:absolute!important;
    inset:auto!important;
    top:48px!important;
    left:0!important;

    min-width:225px!important;
    width:max-content!important;
    height:auto!important;

    margin:0!important;
    padding:7px!important;

    border:1px solid #dfe7ec!important;
    border-radius:12px!important;

    background:#fff!important;
    box-shadow:0 18px 44px rgba(7,24,39,.15)!important;
  }

  html body .topbar.mlb-main-nav .mlb-nav-dropdown[hidden]{
    display:none!important;
  }

  html body .topbar.mlb-main-nav .mlb-nav-menu.is-open > .mlb-nav-dropdown-wide{
    display:grid!important;
  }

  /*
   * Le contenu ne doit plus être dimensionné comme s'il existait
   * une barre latérale de 244 px.
   */
  html body > main.shell,
  html body > .shell{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Cache-busting visuel : le nouveau menu ne doit jamais afficher
   l'étiquette de l'ancienne sidebar, même hors breakpoint. */
html body .mlb-main-nav::after,
html body .mlb-main-nav:after{
  content:none!important;
  display:none!important;
}


/* ============================================================
   MyLogBook v29.9 — navigation totalement isolée
   Préfixe exclusif : mlbp-
   ============================================================ */

@media(min-width:1100px){
  html body:not(.auth-page){
    padding-left:0!important;
  }
}

/* Reset complet du composant : aucune règle historique ne doit gagner. */
#mlbPrimaryHeader.mlbp-header,
#mlbPrimaryHeader.mlbp-header *,
#mlbPrimaryHeader.mlbp-header *::before,
#mlbPrimaryHeader.mlbp-header *::after{
  box-sizing:border-box;
}

#mlbPrimaryHeader.mlbp-header{
  position:sticky!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:10000!important;

  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;

  width:100%!important;
  max-width:none!important;
  min-height:72px!important;
  height:72px!important;

  margin:0!important;
  padding:0 28px!important;
  gap:24px!important;

  overflow:visible!important;

  background:rgba(255,255,255,.98)!important;
  border:0!important;
  border-bottom:1px solid #dfe7ec!important;
  border-radius:0!important;
  box-shadow:0 5px 22px rgba(15,23,42,.06)!important;
  backdrop-filter:blur(15px)!important;
}

#mlbPrimaryHeader::before,
#mlbPrimaryHeader::after{
  content:none!important;
  display:none!important;
}

#mlbPrimaryHeader .mlbp-brand{
  position:static!important;
  display:flex!important;
  flex:0 0 auto!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:12px!important;

  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;

  border:0!important;
  background:none!important;
  box-shadow:none!important;

  color:#172033!important;
  text-decoration:none!important;
}

#mlbPrimaryHeader .mlbp-brand::before,
#mlbPrimaryHeader .mlbp-brand::after{
  content:none!important;
  display:none!important;
}

#mlbPrimaryHeader .mlbp-logo{
  display:grid!important;
  place-items:center!important;
  flex:0 0 48px!important;
  width:48px!important;
  height:48px!important;
  margin:0!important;
  padding:0!important;

  border:0!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,#173047,#0e2436)!important;
  box-shadow:0 7px 18px rgba(15,36,54,.18)!important;

  color:#fff!important;
  font-size:.74rem!important;
  font-weight:850!important;
  line-height:1!important;
}

#mlbPrimaryHeader .mlbp-brand-name{
  display:inline!important;
  color:#172033!important;
  font:780 1.05rem/1 Inter,ui-sans-serif,system-ui,sans-serif!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
}

#mlbPrimaryHeader .mlbp-nav{
  position:relative!important;
  display:flex!important;
  flex:0 1 auto!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;

  width:auto!important;
  min-width:0!important;
  height:72px!important;
  margin:0!important;
  padding:0!important;
  gap:5px!important;

  overflow:visible!important;
  background:transparent!important;
  border:0!important;
}

#mlbPrimaryHeader .mlbp-direct,
#mlbPrimaryHeader .mlbp-trigger{
  appearance:none!important;
  -webkit-appearance:none!important;

  position:static!important;
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;

  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:42px!important;
  min-height:42px!important;

  margin:0!important;
  padding:0 14px!important;

  border:0!important;
  outline:0!important;
  border-radius:11px!important;

  background:transparent!important;
  box-shadow:none!important;

  color:#475569!important;
  font:700 .88rem/1 Inter,ui-sans-serif,system-ui,sans-serif!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  text-transform:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}

#mlbPrimaryHeader .mlbp-direct::before,
#mlbPrimaryHeader .mlbp-direct::after,
#mlbPrimaryHeader .mlbp-trigger::before,
#mlbPrimaryHeader .mlbp-trigger::after,
#mlbPrimaryHeader .mlbp-item::before,
#mlbPrimaryHeader .mlbp-item::after{
  content:none!important;
  display:none!important;
}

#mlbPrimaryHeader .mlbp-direct:hover,
#mlbPrimaryHeader .mlbp-trigger:hover,
#mlbPrimaryHeader .mlbp-direct.active,
#mlbPrimaryHeader .mlbp-menu.active>.mlbp-trigger,
#mlbPrimaryHeader .mlbp-menu.open>.mlbp-trigger{
  background:#edf2f6!important;
  color:#172033!important;
}

#mlbPrimaryHeader .mlbp-menu{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;

  width:auto!important;
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;

  margin:0!important;
  padding:0!important;

  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

#mlbPrimaryHeader .mlbp-chevron{
  display:inline-block!important;
  margin-left:8px!important;
  color:#64748b!important;
  font:800 .8rem/1 sans-serif!important;
  transition:transform .15s ease!important;
}

#mlbPrimaryHeader .mlbp-menu.open .mlbp-chevron{
  transform:rotate(180deg)!important;
}

#mlbPrimaryHeader .mlbp-panel{
  position:absolute!important;
  top:50px!important;
  left:0!important;
  z-index:10020!important;

  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:8px!important;

  border:1px solid #dfe7ec!important;
  border-radius:14px!important;

  background:#fff!important;
  box-shadow:0 18px 48px rgba(15,23,42,.16)!important;

  overflow:visible!important;
}

#mlbPrimaryHeader .mlbp-panel[hidden]{
  display:none!important;
}

#mlbPrimaryHeader .mlbp-panel-simple{
  display:block;
  min-width:230px!important;
  width:230px!important;
}

#mlbPrimaryHeader .mlbp-panel-wide{
  display:grid;
  grid-template-columns:repeat(3,minmax(190px,1fr))!important;
  gap:10px!important;
  width:650px!important;
  max-width:calc(100vw - 40px)!important;
}

#mlbPrimaryHeader .mlbp-column{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:8px!important;

  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

#mlbPrimaryHeader .mlbp-column h3{
  display:block!important;
  margin:0 0 7px!important;
  padding:0 8px!important;

  color:#94a3b8!important;
  font:800 .67rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}

#mlbPrimaryHeader .mlbp-item{
  position:static!important;
  display:block!important;

  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;

  margin:0!important;
  padding:10px 10px!important;

  border:0!important;
  border-radius:9px!important;

  background:transparent!important;
  box-shadow:none!important;

  color:#334155!important;
  font:650 .81rem/1.35 Inter,ui-sans-serif,system-ui,sans-serif!important;
  letter-spacing:0!important;
  text-align:left!important;
  text-decoration:none!important;
  text-transform:none!important;
  white-space:normal!important;
}

#mlbPrimaryHeader .mlbp-item:hover{
  background:#f3f6f9!important;
  color:#172033!important;
}

/* Important : les panneaux simples sont explicitement rendus quand ouverts. */
#mlbPrimaryHeader .mlbp-menu.open>.mlbp-panel-simple{
  display:block!important;
}

#mlbPrimaryHeader .mlbp-menu.open>.mlbp-panel-wide{
  display:grid!important;
}

@media(max-width:900px){
  #mlbPrimaryHeader.mlbp-header{
    height:auto!important;
    min-height:70px!important;
    padding:10px 12px!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }

  #mlbPrimaryHeader .mlbp-brand{
    width:100%!important;
  }

  #mlbPrimaryHeader .mlbp-nav{
    width:100%!important;
    height:auto!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
  }

  #mlbPrimaryHeader .mlbp-panel{
    position:fixed!important;
    top:126px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100vh - 140px)!important;
    overflow:auto!important;
  }

  #mlbPrimaryHeader .mlbp-panel-wide{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================
   MyLogBook v30 — ouverture des menus sans dépendance JS
   ============================================================ */

/* Etat fermé par défaut */
#mlbPrimaryHeader .mlbp-panel{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translateY(-4px)!important;
}

/*
 * Fallback CSS :
 * - survol souris
 * - navigation clavier via focus-within
 * - classe .open si JS disponible
 */
#mlbPrimaryHeader .mlbp-menu:hover > .mlbp-panel,
#mlbPrimaryHeader .mlbp-menu:focus-within > .mlbp-panel,
#mlbPrimaryHeader .mlbp-menu.open > .mlbp-panel{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}

/* Panneau simple */
#mlbPrimaryHeader .mlbp-menu:hover > .mlbp-panel-simple,
#mlbPrimaryHeader .mlbp-menu:focus-within > .mlbp-panel-simple,
#mlbPrimaryHeader .mlbp-menu.open > .mlbp-panel-simple{
  display:block!important;
}

/* Panneau large */
#mlbPrimaryHeader .mlbp-menu:hover > .mlbp-panel-wide,
#mlbPrimaryHeader .mlbp-menu:focus-within > .mlbp-panel-wide,
#mlbPrimaryHeader .mlbp-menu.open > .mlbp-panel-wide{
  display:grid!important;
}

/*
 * Petit pont invisible entre le bouton et le panneau :
 * évite que le menu se ferme quand la souris passe du bouton au sous-menu.
 */
#mlbPrimaryHeader .mlbp-menu::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:40px!important;
  height:12px!important;
  display:block!important;
  background:transparent!important;
}

/* Les anciens [hidden] ne doivent plus pouvoir bloquer les menus. */
#mlbPrimaryHeader .mlbp-panel[hidden]{
  display:none!important;
}

/* Animation légère uniquement quand visible */
#mlbPrimaryHeader .mlbp-panel{
  transition:opacity .12s ease,transform .12s ease!important;
}


/* ============================================================
   MyLogBook v30.1 — bandeau bleu + menu hamburger mobile
   ============================================================ */

/* Bandeau principal */
#mlbPrimaryHeader.mlbp-header{
  background:linear-gradient(135deg,#14283a 0%,#19364d 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 8px 28px rgba(15,35,52,.18)!important;
}

/* Branding */
#mlbPrimaryHeader .mlbp-brand-name{
  color:#fff!important;
}

#mlbPrimaryHeader .mlbp-logo{
  background:linear-gradient(145deg,#173047,#0e2436)!important;
  color:#fff!important;
}

/* Navigation desktop */
#mlbPrimaryHeader .mlbp-direct,
#mlbPrimaryHeader .mlbp-trigger{
  color:#dce8f1!important;
}

#mlbPrimaryHeader .mlbp-chevron{
  color:#a9c4d7!important;
}

#mlbPrimaryHeader .mlbp-direct:hover,
#mlbPrimaryHeader .mlbp-trigger:hover,
#mlbPrimaryHeader .mlbp-direct.active,
#mlbPrimaryHeader .mlbp-menu.active>.mlbp-trigger,
#mlbPrimaryHeader .mlbp-menu.open>.mlbp-trigger{
  background:rgba(108,181,218,.16)!important;
  color:#fff!important;
}

/* Dropdowns restent clairs */
#mlbPrimaryHeader .mlbp-panel{
  background:#fff!important;
  border-color:#dce6ed!important;
}

/* Hamburger caché sur desktop */
#mlbPrimaryHeader .mlbp-mobile-toggle{
  display:none!important;
}

/* ------------------------------------------------------------
   Mobile
   ------------------------------------------------------------ */
@media(max-width:900px){

  #mlbPrimaryHeader.mlbp-header{
    position:sticky!important;
    top:0!important;
    min-height:64px!important;
    height:auto!important;
    padding:9px 12px!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:center!important;
    gap:8px!important;
  }

  #mlbPrimaryHeader .mlbp-brand{
    min-width:0!important;
    width:auto!important;
  }

  #mlbPrimaryHeader .mlbp-logo{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
  }

  #mlbPrimaryHeader .mlbp-brand-name{
    font-size:1rem!important;
  }

  #mlbPrimaryHeader .mlbp-mobile-toggle{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;

    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;

    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.08)!important;
    box-shadow:none!important;
    cursor:pointer!important;
  }

  #mlbPrimaryHeader .mlbp-mobile-toggle span{
    display:block!important;
    width:20px!important;
    height:2px!important;
    border-radius:2px!important;
    background:#fff!important;
    transition:transform .16s ease,opacity .16s ease!important;
  }

  #mlbPrimaryHeader.mobile-open .mlbp-mobile-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg)!important;
  }

  #mlbPrimaryHeader.mobile-open .mlbp-mobile-toggle span:nth-child(2){
    opacity:0!important;
  }

  #mlbPrimaryHeader.mobile-open .mlbp-mobile-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg)!important;
  }

  /* Navigation repliée par défaut */
  #mlbPrimaryHeader .mlbp-nav{
    grid-column:1/-1!important;
    display:none!important;
    position:static!important;

    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:calc(100vh - 82px)!important;

    margin:0!important;
    padding:6px 0 10px!important;

    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;

    overflow-y:auto!important;
    overflow-x:hidden!important;

    background:transparent!important;
  }

  #mlbPrimaryHeader.mobile-open .mlbp-nav{
    display:flex!important;
  }

  #mlbPrimaryHeader .mlbp-direct,
  #mlbPrimaryHeader .mlbp-trigger{
    width:100%!important;
    min-height:46px!important;
    height:46px!important;

    justify-content:space-between!important;

    padding:0 14px!important;
    border-radius:10px!important;

    text-align:left!important;
    color:#e8f1f6!important;
  }

  #mlbPrimaryHeader .mlbp-direct.active,
  #mlbPrimaryHeader .mlbp-menu.active>.mlbp-trigger,
  #mlbPrimaryHeader .mlbp-menu.open>.mlbp-trigger{
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
  }

  #mlbPrimaryHeader .mlbp-menu{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
  }

  /* Sous-menus intégrés verticalement au flux mobile */
  #mlbPrimaryHeader .mlbp-panel{
    position:static!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;

    width:100%!important;
    max-width:none!important;
    min-width:0!important;

    margin:4px 0 2px!important;
    padding:6px!important;

    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:10px!important;

    background:rgba(255,255,255,.96)!important;
    box-shadow:none!important;

    transform:none!important;
  }

  #mlbPrimaryHeader .mlbp-panel-wide{
    display:none!important;
    grid-template-columns:1fr!important;
  }

  #mlbPrimaryHeader .mlbp-menu.open>.mlbp-panel-wide,
  #mlbPrimaryHeader .mlbp-menu:focus-within>.mlbp-panel-wide{
    display:grid!important;
  }

  #mlbPrimaryHeader .mlbp-menu.open>.mlbp-panel-simple,
  #mlbPrimaryHeader .mlbp-menu:focus-within>.mlbp-panel-simple{
    display:block!important;
  }

  /* Sur mobile, pas d'ouverture au simple hover */
  #mlbPrimaryHeader .mlbp-menu:not(.open)>.mlbp-panel{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  #mlbPrimaryHeader .mlbp-menu.open>.mlbp-panel{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  #mlbPrimaryHeader .mlbp-column{
    padding:5px!important;
  }

  #mlbPrimaryHeader .mlbp-column h3{
    padding:6px 8px 3px!important;
    margin:0!important;
  }

  #mlbPrimaryHeader .mlbp-item{
    padding:10px 11px!important;
    font-size:.84rem!important;
  }

  /* supprime le pont hover desktop sur mobile */
  #mlbPrimaryHeader .mlbp-menu::after{
    content:none!important;
    display:none!important;
  }
}


/* MyLogBook v30.4 — vrai logo dans le bandeau */
#mlbPrimaryHeader .mlbp-logo{
  display:grid!important;
  place-items:center!important;
  flex:0 0 46px!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  padding:6px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:12px!important;
  background:#102b3e!important;
  overflow:hidden!important;
}
#mlbPrimaryHeader .mlbp-logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
}
@media(max-width:900px){
  #mlbPrimaryHeader .mlbp-logo{
    flex-basis:42px!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    padding:5px!important;
  }
}
