:root{
  --night:#0E2238; --blue:#1F78FF; --teal:#19C6C2; --white:#fff; --soft:#EEF3F7; --gold:#D9B15B; --red:#D9534F; --text:#163047;
  --shadow:0 18px 40px rgba(14,34,56,.12); --radius:22px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--soft);line-height:1.55}
a{text-decoration:none;color:inherit}
.topbar{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:16px 6vw;box-shadow:0 4px 20px rgba(0,0,0,.05)}
.brand{font-size:28px;font-weight:800;letter-spacing:-1px;color:var(--night)}.brand b{color:var(--gold)}.brand span:last-child{color:var(--teal)}
.topbar nav{display:flex;gap:18px;align-items:center}.topbar nav a{font-weight:650;color:var(--night)}
main{min-height:70vh}.hero{min-height:610px;background:linear-gradient(90deg,rgba(14,34,56,.92),rgba(14,34,56,.46)),url('hero-akua1fly-caribbean-aircraft.jpg') center/cover;color:white;display:flex;align-items:center;padding:80px 7vw}
.hero-content{max-width:min(660px,48vw);position:relative;z-index:1}.eyebrow{display:inline-block;background:rgba(25,198,194,.18);border:1px solid rgba(25,198,194,.35);padding:8px 14px;border-radius:999px;color:#dff}
h1{font-size:clamp(36px,5vw,76px);line-height:1.02;margin:20px 0}h1 em{font-style:normal;color:var(--gold)}.hero-title-caribbean{font-size:clamp(34px,4.6vw,68px);max-width:640px;line-height:1.02}.hero-title-caribbean span{display:inline-block;color:white}.hero-title-caribbean em{display:inline-block}
.hero p{font-size:20px;max-width:640px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 20px;font-weight:800;cursor:pointer;transition:.2s;box-shadow:0 8px 18px rgba(0,0,0,.08)}
.btn:hover{transform:translateY(-1px)}.primary{background:var(--blue);color:white}.secondary{background:white;color:var(--night);border:1px solid #cdd9e6}.gold{background:var(--gold);color:var(--night)}.ghost,.ghost-gold{box-shadow:none;background:transparent;border:1px solid #d7e0eb}.ghost-gold{border-color:var(--gold);color:var(--night)}.danger{background:var(--red);color:white}.tiny{font-size:12px;padding:7px 11px}
.access-grid,.cards-2,.dashboard-grid{display:grid;gap:22px;padding:42px 6vw}.access-grid{grid-template-columns:1.2fr 1fr 1fr;margin-top:-92px;position:relative;z-index:2}.cards-2{grid-template-columns:1fr 1fr}
.card,.form-card,.panel,.login-card,.metric,.ticket{background:white;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);border:1px solid rgba(14,34,56,.06)}
.client-card{border:2px solid var(--teal)}.owner-card{border-top:5px solid var(--gold)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}.link{display:block;margin-top:12px;color:var(--blue);font-weight:700}
.how{background:white;margin:30px 6vw;padding:34px;border-radius:var(--radius);box-shadow:var(--shadow)}.how h2,.page-head h1{color:var(--night)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.steps div{background:var(--soft);border-radius:18px;padding:20px}.steps b{background:var(--teal);color:white;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}
.trust{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:30px 6vw 60px}.trust div{background:var(--night);color:white;padding:20px;border-radius:18px;text-align:center;font-weight:800}
.footer{background:var(--night);color:white;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px;padding:34px 6vw}
.page-head{padding:42px 6vw 12px}.page-head p{font-size:18px;color:#5d7082}
.form-card,.login-card{margin:24px 6vw 60px}.grid-2,.grid-3{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}
label{display:flex;flex-direction:column;gap:6px;font-weight:750;color:var(--night);margin:10px 0}input,select,textarea{width:100%;border:1px solid #cbd8e6;border-radius:14px;padding:12px;font:inherit;background:white}textarea{min-height:110px}.check{flex-direction:row;align-items:center}.check input{width:auto}
.notice{background:#fff8e8;border-left:5px solid var(--gold);padding:16px;border-radius:14px;margin:18px 0}.muted{color:#617487}.hidden{display:none!important}
fieldset{border:1px solid #d7e0eb;border-radius:18px;margin:18px 0;padding:18px}legend{font-weight:900;color:var(--blue)}
.form-inline{display:flex;gap:12px;margin:10px 6vw 20px}.form-inline input{max-width:360px}
.table-wrap{margin:20px 6vw 60px;overflow:auto;background:white;border-radius:var(--radius);box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;min-width:900px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #e8eef5}th{background:var(--night);color:white}.badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#eaf3ff;color:var(--blue);font-weight:800}
.inline{display:inline}.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:60px 6vw}.dashboard-grid{grid-template-columns:repeat(4,1fr)}.metric span{display:block;color:#66798b;font-weight:800}.metric strong{font-size:44px;color:var(--night)}.metric.warning strong{color:var(--gold)}.metric.danger strong{color:var(--red)}
.status{display:inline-block;padding:7px 12px;border-radius:999px;font-weight:900}.good{background:#dbfbf7;color:#06847f}.warn{background:#fff2cc;color:#8a6500}.bad{background:#ffe5e3;color:#b62020}
.confirm-box{margin-top:20px;padding-top:15px;border-top:1px solid #e8eef5}.ticket-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:20px 6vw 60px}.ticket h3{margin-top:0}.qr-box{background:var(--soft);border-radius:18px;display:grid;place-items:center;padding:15px;margin:15px 0}
.mobile-scan{max-width:430px;margin:26px auto;background:white;padding:24px;border-radius:28px;box-shadow:var(--shadow);min-height:70vh;display:flex;flex-direction:column;justify-content:center}.success-panel{font-size:28px;font-weight:900;text-align:center;background:#dbfbf7;color:#067e7a;border-radius:22px;padding:28px}
.thanks{max-width:760px;margin:70px auto;background:white;border-radius:var(--radius);box-shadow:var(--shadow);padding:44px;text-align:center}
.flash{margin:16px 6vw;padding:14px;border-radius:14px;font-weight:800}.flash.success{background:#ddfbf6;color:#067e7a}.flash.error{background:#ffe5e3;color:#b62020}
@media(max-width:900px){.topbar{align-items:flex-start;gap:12px;flex-direction:column}.topbar nav{flex-wrap:wrap}.access-grid,.steps,.trust,.dashboard-grid,.cards-2,.grid-2,.grid-3,.split{grid-template-columns:1fr}.hero{min-height:560px;padding:60px 6vw}.access-grid{margin-top:-50px}.footer{grid-template-columns:1fr}.form-inline{flex-direction:column}.form-inline input{max-width:none}}

.validation-row{border:1px solid #e4ebf3;border-radius:16px;padding:14px;margin:12px 0;background:#fbfdff}.validation-row form{margin-top:10px}

.table-wrap.compact{margin:12px 0}.compact table{font-size:.9rem}.muted{color:#607086;font-size:.92rem}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef3f7;color:#0E2238;font-weight:700}.btn.tiny{padding:7px 10px;font-size:.85rem}

.btn.danger{background:#a6192e;color:#fff}.btn.danger:hover{filter:brightness(.95)} textarea{min-height:80px;width:100%;border:1px solid #d7e0e8;border-radius:12px;padding:10px;font-family:inherit}


/* Navigation latérale gauche — charte Akua1fly */
.workspace-shell{
  display:grid;
  grid-template-columns:292px minmax(0,1fr);
  gap:0;
  min-height:70vh;
}
.left-access-panel{
  background:linear-gradient(180deg,var(--night),#123456 62%,#0a1829);
  color:var(--white);
  padding:18px 14px 28px;
  border-right:1px solid rgba(255,255,255,.12);
  box-shadow:14px 0 34px rgba(14,34,56,.16);
  position:sticky;
  top:74px;
  align-self:start;
  height:calc(100vh - 74px);
  overflow:auto;
}
.left-access-panel::-webkit-scrollbar{width:8px}
.left-access-panel::-webkit-scrollbar-thumb{background:rgba(217,177,91,.55);border-radius:999px}
.side-card{
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  padding:13px;
  margin-bottom:14px;
  backdrop-filter:blur(10px);
}
.side-card h3{
  margin:3px 5px 10px;
  color:var(--gold);
  font-size:.88rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nav-themed-card{
  padding:12px 11px 14px;
}
.side-theme{
  margin:12px 0 0;
  padding:12px 9px 10px;
  border-radius:16px;
  background:rgba(14,34,56,.18);
  border:1px solid rgba(255,255,255,.09);
}
.side-theme:first-of-type{margin-top:8px}
.side-theme h4{
  margin:0 4px 8px;
  color:#d8f9f7;
  font-size:.74rem;
  line-height:1.2;
  letter-spacing:.075em;
  text-transform:uppercase;
  font-weight:900;
  display:flex;
  align-items:center;
  gap:8px;
}
.side-theme h4::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(217,177,91,.14);
  flex:0 0 auto;
}
.side-theme .side-link{
  padding:8px 9px;
  margin:2px 0;
  border-radius:12px;
  font-size:.92rem;
  line-height:1.22;
}
.side-theme-hint{
  background:rgba(25,198,194,.08);
  border-color:rgba(25,198,194,.20);
}
.side-theme-hint p{
  margin:0 4px 2px;
  color:rgba(255,255,255,.76);
  font-size:.82rem;
  line-height:1.42;
}
.side-identity{
  background:linear-gradient(135deg,rgba(31,120,255,.28),rgba(25,198,194,.16));
  border-color:rgba(25,198,194,.35);
}
.side-logo{
  font-size:25px;
  font-weight:900;
  letter-spacing:-.7px;
  color:var(--white);
}
.side-logo b{color:var(--gold)}
.side-logo span:last-child{color:var(--teal)}
.side-identity p{
  margin:4px 0 0;
  color:#d8f9f7;
  font-weight:700;
}
.side-primary{
  border-color:rgba(217,177,91,.35);
}
.side-link{
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.92);
  padding:10px 11px;
  border-radius:14px;
  font-weight:750;
  margin:3px 0;
  border:1px solid transparent;
  transition:.18s ease;
}
.side-link:hover{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.16);
  transform:translateX(2px);
}
.side-link.active{
  background:linear-gradient(90deg,var(--blue),var(--teal));
  color:var(--white);
  box-shadow:0 10px 24px rgba(31,120,255,.28);
}
.side-link.active::after{
  content:"";
  margin-left:auto;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gold);
}
.logout-link{
  background:rgba(217,177,91,.13);
  color:#ffe9ae;
}
.workspace-main{
  min-width:0;
  background:var(--soft);
}
.with-left-sidebar .page-head,
.with-left-sidebar .access-grid,
.with-left-sidebar .cards-2,
.with-left-sidebar .dashboard-grid,
.with-left-sidebar .form-card,
.with-left-sidebar .login-card,
.with-left-sidebar .table-wrap,
.with-left-sidebar .ticket-grid,
.with-left-sidebar .how,
.with-left-sidebar .trust,
.with-left-sidebar .split,
.with-left-sidebar .flash{
  margin-left:34px;
  margin-right:34px;
}
.with-left-sidebar .page-head{
  padding-left:0;
  padding-right:0;
}
.with-left-sidebar .cards-2,
.with-left-sidebar .dashboard-grid{
  padding-left:0;
  padding-right:0;
}
.with-left-sidebar .form-card,
.with-left-sidebar .login-card{
  margin-top:24px;
}
.with-left-sidebar .table-wrap{
  margin-top:20px;
}
.with-left-sidebar .ticket-grid{
  margin-top:20px;
}
.with-left-sidebar section.card[style*="6vw"]{
  margin-left:34px!important;
  margin-right:34px!important;
}
@media(max-width:1050px){
  .workspace-shell{
    grid-template-columns:1fr;
  }
  .left-access-panel{
    position:relative;
    top:0;
    height:auto;
    display:flex;
    overflow-x:auto;
    gap:12px;
    padding:12px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  .side-card{
    min-width:235px;
    margin-bottom:0;
  }
  .side-identity{
    min-width:190px;
  }
  .with-left-sidebar .page-head,
  .with-left-sidebar .access-grid,
  .with-left-sidebar .cards-2,
  .with-left-sidebar .dashboard-grid,
  .with-left-sidebar .form-card,
  .with-left-sidebar .login-card,
  .with-left-sidebar .table-wrap,
  .with-left-sidebar .ticket-grid,
  .with-left-sidebar .how,
  .with-left-sidebar .trust,
  .with-left-sidebar .split,
  .with-left-sidebar .flash{
    margin-left:16px;
    margin-right:16px;
  }
  .with-left-sidebar section.card[style*="6vw"]{
    margin-left:16px!important;
    margin-right:16px!important;
  }
}
@media(max-width:680px){
  .left-access-panel{
    padding:10px;
  }
  .side-card{
    min-width:220px;
    border-radius:16px;
    padding:10px;
  }
  .side-link{
    padding:9px 10px;
    font-size:.92rem;
  }
}


/* Dissimulation visuelle du lien Admin dans la topbar publique */
.topbar .admin-stealth-link{
  color: var(--white);
  opacity: 1;
}
.topbar .admin-stealth-link:hover,
.topbar .admin-stealth-link:focus,
.topbar .admin-stealth-link:active{
  color: var(--white);
  background: transparent;
  box-shadow: none;
  outline: none;
}

.topbar nav a.admin-stealth-link,
.topbar nav a.admin-stealth-link:hover,
.topbar nav a.admin-stealth-link:focus,
.topbar nav a.admin-stealth-link:active{
  color:#FFFFFF !important;
}


/* Bloc trajet dans le détail administrateur d’une demande */
.route-card{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:stretch;
  gap:14px;
  margin:18px 0 24px;
  padding:16px;
  border-radius:20px;
  background:linear-gradient(135deg,#ffffff,#f3f8fc);
  border:1px solid #dbe7f2;
  box-shadow:0 10px 26px rgba(14,34,56,.08);
}
.route-point{
  border-radius:16px;
  padding:16px;
  background:#fff;
  border:1px solid #e3edf5;
}
.route-point span{
  display:block;
  color:var(--blue);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.78rem;
}
.route-point strong{
  display:block;
  margin-top:4px;
  color:var(--night);
  font-size:1.08rem;
}
.route-point small{
  display:block;
  color:#607086;
  margin-top:3px;
}
.route-arrow{
  display:grid;
  place-items:center;
  color:var(--gold);
  font-weight:900;
  font-size:2rem;
}
@media(max-width:760px){
  .route-card{grid-template-columns:1fr}
  .route-arrow{transform:rotate(90deg)}
}


/* Fenêtres incidents passagers manquants */
.incident-window{
  border-left:6px solid #D9B15B;
}
.incident-window h2{
  color:#0E2238;
}
.notice.small{
  font-size:.92rem;
}


.muted-badge{
  background:#EEF3F7 !important;
  color:#607086 !important;
  border:1px solid #D8E5EF;
}


.aircraft-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;
  margin-top:14px;
}
.aircraft-choice-card{
  border:1px solid #D8E5EF;
  border-radius:18px;
  padding:16px;
  background:#FFFFFF;
  box-shadow:0 8px 20px rgba(14,34,56,.08);
}
.aircraft-choice-card.ok{
  border-left:6px solid #19C6C2;
}
.aircraft-choice-card.blocked{
  border-left:6px solid #D9B15B;
  opacity:.86;
}
.aircraft-choice-card h4{
  margin:0 0 8px;
  color:#0E2238;
}
.compat-ok{
  background:#EEF3F7;
  border-radius:12px;
  padding:10px;
  color:#0E2238;
}
.compat-reasons{
  margin:8px 0 12px;
  padding-left:18px;
  color:#8A4B00;
}
.timeline-admin{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.timeline-item{
  border-left:5px solid #19C6C2;
  background:#EEF3F7;
  border-radius:12px;
  padding:10px 14px;
}
.timeline-item span{
  display:block;
  color:#607086;
  font-size:.9rem;
}
.timeline-item em{
  color:#0E2238;
  font-style:normal;
  font-weight:700;
}
.status-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.danger-text{
  color:#A6192E;
  font-weight:700;
}


.schedule-edit-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(130px,1fr));
  gap:8px;
  min-width:360px;
}
.schedule-edit-form label{
  font-size:.86rem;
}
.schedule-edit-form input,
.schedule-edit-form select{
  width:100%;
  padding:8px 10px;
}
.schedule-edit-form .notice{
  grid-column:1 / -1;
}
.schedule-edit-form button{
  grid-column:1 / -1;
}
@media (max-width: 760px){
  .schedule-edit-form{
    grid-template-columns:1fr;
    min-width:0;
  }
}


.schedule-delete-form{
  margin-top:10px;
  border-top:1px dashed #D8E5EF;
  padding-top:10px;
}
.btn.danger{
  background:#A6192E;
  color:#FFFFFF;
  border:1px solid #A6192E;
}
.btn.danger:hover{
  filter:brightness(.95);
}


.slot-diagnostic{
  margin:10px 0 12px;
  padding:10px;
  border-radius:12px;
  background:#FFF7E3;
  border:1px solid #D9B15B;
  color:#0E2238;
  font-size:.88rem;
}
.slot-diagnostic-line{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(217,177,91,.45);
}
.slot-diagnostic-line em{
  color:#8A4B00;
  font-style:normal;
}


.preference-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.airport-preference-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
  margin:16px 0 22px;
}
.airport-pref-card{
  display:block;
  position:relative;
  border:1px solid #D8E5EF;
  border-radius:18px;
  padding:16px 70px 16px 16px;
  background:#FFFFFF;
  box-shadow:0 8px 20px rgba(14,34,56,.06);
  cursor:pointer;
  overflow:hidden;
}
.airport-pref-card input[type="checkbox"]{
  position:absolute;
  right:18px;
  left:auto;
  top:20px;
  width:18px;
  min-width:18px;
  height:18px;
  padding:0;
  margin:0;
  z-index:2;
}
.airport-pref-card.selected{
  border-color:#19C6C2;
  box-shadow:0 10px 22px rgba(25,198,194,.16);
}
.airport-pref-title{
  display:block;
  font-weight:800;
  color:#0E2238;
}
.airport-pref-name{
  display:block;
  margin-top:4px;
  color:#334455;
}
.airport-pref-code{
  display:block;
  margin-top:8px;
  font-weight:700;
  color:#1F78FF;
}
.airport-pref-territory{
  display:block;
  margin-top:4px;
  color:#607086;
  font-size:.9rem;
}
@media (max-width:520px){
  .airport-pref-card{
    padding-right:64px;
  }
  .airport-pref-card input[type="checkbox"]{
    right:18px;
    top:18px;
  }
}
.airport-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 14px;
}
.airport-chip{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#EEF3F7;
  border:1px solid #D8E5EF;
  color:#0E2238;
  padding:6px 10px;
  font-weight:700;
  font-size:.9rem;
}


.client-availability-panel{
  border-left:6px solid #19C6C2;
}
.availability-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:14px;
  margin-top:16px;
}
.availability-card{
  border:1px solid #D8E5EF;
  border-radius:18px;
  padding:16px;
  background:#FFFFFF;
  box-shadow:0 10px 22px rgba(14,34,56,.06);
}
.availability-date{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  color:#0E2238;
}
.availability-date span{
  color:#1F78FF;
  font-weight:800;
}
.availability-route{
  margin-top:10px;
}
.availability-route strong{
  display:block;
  font-size:1.08rem;
  color:#0E2238;
}
.availability-route span{
  display:block;
  color:#607086;
  margin-top:3px;
}
.availability-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0;
}
.availability-meta span{
  border-radius:999px;
  background:#EEF3F7;
  border:1px solid #D8E5EF;
  padding:5px 9px;
  font-size:.88rem;
  color:#0E2238;
  font-weight:700;
}


.availability-card.compact{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.availability-card.compact .availability-route{
  margin-top:0;
}
.availability-card.compact .availability-route strong{
  font-size:1.18rem;
  letter-spacing:.02em;
}
.availability-hint{
  display:inline-flex;
  align-self:flex-start;
  border-radius:999px;
  background:#EEF3F7;
  border:1px solid #D8E5EF;
  padding:6px 10px;
  font-size:.88rem;
  color:#0E2238;
  font-weight:700;
}


.danger-zone{
  border-left:6px solid #A6192E;
}
.danger-text{
  color:#A6192E;
  font-weight:800;
}
.btn.danger{
  background:#A6192E;
  color:#FFFFFF;
  border:1px solid #A6192E;
}
.btn.danger:hover{
  filter:brightness(.95);
}


.top-user-identity{
  margin-left:auto;
  margin-right:18px;
  display:flex;
  align-items:center;
  gap:8px;
  max-width:360px;
  color:#0E2238;
  white-space:nowrap;
}
.top-user-identity .identity-label{
  font-size:.78rem;
  color:#607086;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.top-user-identity strong{
  font-size:.98rem;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
}
.top-user-identity em{
  font-style:normal;
  font-size:.82rem;
  font-weight:800;
  color:#19C6C2;
}
.side-user-name{
  margin-top:10px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
}
.side-user-name span{
  display:block;
  color:#D9B15B;
  font-size:.75rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.side-user-name strong{
  display:block;
  color:#FFFFFF;
  font-size:.98rem;
  line-height:1.25;
  margin-top:3px;
  word-break:break-word;
}
@media (max-width: 840px){
  .top-user-identity{
    order:3;
    flex-basis:100%;
    margin:6px 0 0;
    justify-content:flex-start;
  }
}


.client-access-control{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-left:8px solid #23A455;
}
.client-access-control.closed{
  border-left-color:#C1272D;
}
.client-access-control h2{
  margin-top:0;
}
.client-access-big-button{
  min-width:260px;
  min-height:96px;
  border:0;
  border-radius:24px;
  color:#FFFFFF;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 16px 34px rgba(14,34,56,.18);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:18px 24px;
  transition:.2s;
}
.client-access-big-button:hover{
  transform:translateY(-2px);
}
.client-access-big-button span{
  font-size:28px;
  letter-spacing:.08em;
}
.client-access-big-button small{
  font-size:13px;
  opacity:.95;
}
.client-access-big-button.open{
  background:#23A455;
}
.client-access-big-button.closed{
  background:#C1272D;
}
.client-access-closed-frame{
  margin:24px 6vw 60px;
  min-height:610px;
  border-radius:var(--radius);
  background:#C1272D;
  box-shadow:var(--shadow);
  border:1px solid rgba(14,34,56,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:36px;
}
.client-access-closed-message{
  width:100%;
  min-height:220px;
  border-radius:var(--radius);
  border:3px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.08);
  color:#FFFFFF;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:clamp(32px,5vw,74px);
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.02em;
}
.client-access-closed-card{
  width:100%;
  min-height:170px;
  border-radius:var(--radius);
  background:#C1272D;
  color:#FFFFFF;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
  font-size:clamp(22px,2.2vw,34px);
  font-weight:950;
  box-shadow:0 14px 30px rgba(193,39,45,.22);
}
@media(max-width:800px){
  .client-access-control{
    flex-direction:column;
    align-items:stretch;
  }
  .client-access-big-button{
    width:100%;
  }
  .client-access-closed-frame{
    min-height:420px;
  }
}


.forgot-link{
  display:inline-flex;
  margin-top:14px;
  color:var(--blue);
  font-weight:850;
}
.forgot-link.gold-link{
  color:var(--gold);
}
.password-forgot-card{
  max-width:760px;
}


.client-opportunities-panel{
  border-left:6px solid #19C6C2;
}
.dynamic-opportunity-card{
  border-color:#B7EDEC;
}
.availability-hint.dynamic{
  background:#E8FBFA;
  border-color:#B7EDEC;
  color:#0E2238;
}
.opportunities-list .btn.primary{
  align-self:flex-start;
}


.badge.valid{background:#e7f8ef;color:#137a3f}.badge.danger{background:#ffe9e9;color:#b00020}

/* Correctif 2026-05-03 — indicateurs de validation pilote / aéronef */
.top-status-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  font-size:.86rem;
  font-weight:900;
  white-space:nowrap;
  border:1px solid transparent;
}
.top-status-chip.valid,
.card-status-top.valid,
.validation-status-card.valid{
  background:#E7F8EF;
  color:#137A3F;
  border-color:#B9E6CB;
}
.top-status-chip.danger,
.card-status-top.danger,
.validation-status-card.danger{
  background:#FFE9E9;
  color:#B00020;
  border-color:#F5BBBB;
}
.status-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  display:inline-block;
  background:currentColor;
  box-shadow:0 0 0 4px rgba(255,255,255,.5);
}
.pilot-head-status{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.validation-status-card{
  min-width:190px;
  padding:13px 16px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(14,34,56,.08);
}
.validation-status-card strong{
  font-size:24px;
  line-height:1;
}
.aircraft-choice-card.status-aware{
  position:relative;
  padding-top:54px;
}
.card-status-top{
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:900;
  max-width:72%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.text-valid{color:#137A3F}.text-danger{color:#B00020}
@media(max-width:900px){
  .pilot-head-status{flex-direction:column}
  .top-status-chip{order:4;margin:4px 0 0}
  .card-status-top{position:static;margin-bottom:10px;max-width:100%}
  .aircraft-choice-card.status-aware{padding-top:16px}
}

/* Correctif incidents : cartes cliquables et registre incidents */
a.metric.metric-link{display:block;text-decoration:none;color:inherit;transition:.18s transform,.18s box-shadow}
a.metric.metric-link:hover{transform:translateY(-2px);box-shadow:0 22px 45px rgba(14,34,56,.18)}
.metric small{display:block;margin-top:8px;color:#66798b;font-weight:700}
.compact-grid{margin-bottom:24px}.table-wrap{overflow-x:auto}.row-alert{background:#fff5f5}.badge.success{background:#e7f7ef;color:#167a45}.badge.danger{background:#ffe5e5;color:#c63535}

/* Evolution professionnelle 2026-05-04 : centre qualité production */
.production-score-card{border-left:8px solid var(--blue)}
.production-score-main{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.production-score-main strong{display:block;font-size:54px;line-height:1;color:var(--night);margin:8px 0}
.production-grid{padding-top:18px;padding-bottom:18px}
.production-actions{padding-top:18px;padding-bottom:18px}
.production-section h2{margin-top:0}
.embedded-table{margin:12px 0 0;box-shadow:none;border:1px solid #e7eef5}
.badge.warning{background:#fff4d5;color:#8a6500}
details{margin-top:8px} details summary{cursor:pointer;font-weight:800;color:var(--blue)}
@media(max-width:900px){.production-score-main strong{font-size:40px}}

/* Correctif opportunités dynamiques publiques — aéroports autorisés */
.dynamic-opportunities-panel .compact-table th,
.dynamic-opportunities-panel .compact-table td { vertical-align: top; }
.opportunity-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:14px; margin:16px 0; }
.mini-opportunity-card { border:1px solid rgba(14,34,56,.12); border-radius:18px; padding:16px; background:#fff; box-shadow:0 8px 24px rgba(14,34,56,.06); }
.mini-opportunity-card h3 { margin:10px 0 6px; color:#0E2238; }
.mini-opportunity-card p { margin:4px 0; }

/* Correctif iOS/tablette — navigation latérale repliée par défaut.
   Empêche les colonnes de navigation de s'afficher au-dessus ou par-dessus les fenêtres métier. */
.mobile-sidebar-toggle,
.sidebar-backdrop{
  display:none;
}

@media(max-width:1050px){
  body.with-left-sidebar{
    overflow-x:hidden;
  }
  .workspace-shell{
    display:block;
    min-height:70vh;
  }
  .workspace-main{
    width:100%;
    min-width:0;
  }
  .mobile-sidebar-toggle{
    display:inline-flex;
    position:fixed;
    right:max(14px, env(safe-area-inset-right));
    bottom:max(14px, env(safe-area-inset-bottom));
    z-index:90;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:0;
    border-radius:999px;
    padding:13px 17px;
    background:linear-gradient(90deg,var(--blue),var(--teal));
    color:#FFFFFF;
    font-weight:900;
    box-shadow:0 14px 34px rgba(14,34,56,.28);
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .left-access-panel{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    width:min(86vw,360px);
    height:100dvh;
    max-height:100dvh;
    z-index:80;
    display:block;
    overflow-y:auto;
    overflow-x:hidden;
    padding:calc(16px + env(safe-area-inset-top)) 14px calc(84px + env(safe-area-inset-bottom));
    border-right:1px solid rgba(255,255,255,.16);
    border-bottom:0;
    box-shadow:18px 0 46px rgba(14,34,56,.34);
    transform:translate3d(-110%,0,0);
    transition:transform .22s ease;
    -webkit-overflow-scrolling:touch;
  }
  body.sidebar-open .left-access-panel{
    transform:translate3d(0,0,0);
  }
  .sidebar-backdrop{
    position:fixed;
    inset:0;
    z-index:70;
    background:rgba(14,34,56,.48);
    backdrop-filter:blur(2px);
  }
  body.sidebar-open .sidebar-backdrop{
    display:block;
  }
  .left-access-panel .side-card,
  .left-access-panel .side-identity{
    min-width:0;
    width:100%;
    margin-bottom:14px;
  }
  body.sidebar-open{
    overflow:hidden;
    touch-action:none;
  }
}

@media(max-width:680px){
  .mobile-sidebar-toggle{
    left:max(14px, env(safe-area-inset-left));
    right:max(14px, env(safe-area-inset-right));
    width:auto;
  }
  .left-access-panel{
    width:min(92vw,360px);
  }
}

/* Correctif 20260507 — suivi enregistrement passagers */
.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:18px 6vw}.stat-card{background:#fff;border-radius:18px;padding:18px;box-shadow:var(--shadow);border:1px solid rgba(14,34,56,.06)}.stat-card span{display:block;color:#607086;font-weight:800}.stat-card strong{font-size:30px;color:var(--night)}.inline-form{margin-top:16px}.badge.neutral{background:#eef3f7;color:#0E2238}.badge.warning{background:#fff4d5;color:#8a6500}.badge.success{background:#e7f7ef;color:#167a45}.badge.danger{background:#ffe5e5;color:#c63535}@media(max-width:900px){.grid.two{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr}}

/* Correctif 20260507 — verrouillage du contrôle billet après enregistrement obligatoire */
.grid.two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.mini-card,.info-panel{background:#fff;border:1px solid rgba(14,34,56,.10);border-radius:16px;padding:14px;margin:10px 0;box-shadow:0 10px 26px rgba(14,34,56,.08)}.alert{border-radius:16px;padding:14px 16px;margin:16px 0}.alert-success{background:#e7f7ef;border:1px solid #b9e3cd;color:#167a45}.alert-danger{background:#ffe5e5;border:1px solid #f3bcbc;color:#9b2222}.alert ul{margin:8px 0 0 20px}.mobile-scan .badge{display:inline-block;border-radius:999px;padding:4px 10px;font-weight:800;font-size:12px}@media(max-width:700px){.grid.two-cols{grid-template-columns:1fr}}

/* Calendrier de vol pilote — segments publiés */
.pilot-calendar-card{
  margin:0 6vw 28px;
  overflow:visible;
}
.with-left-sidebar .pilot-calendar-card{
  margin-left:34px;
  margin-right:34px;
}
.pilot-calendar-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:18px;
}
.eyebrow-soft{
  display:inline-block;
  margin:0 0 8px;
  background:#eef8ff;
  color:var(--blue);
  border:1px solid #cfe6ff;
  padding:6px 12px;
  border-radius:999px;
  font-weight:900;
}
.pilot-calendar-head h2{
  color:var(--night);
  margin:0 0 6px;
}
.calendar-nav{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.calendar-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(120px,1fr));
  gap:10px;
  margin:14px 0 18px;
}
.calendar-summary-grid div{
  background:var(--soft);
  border:1px solid #dfe8f2;
  border-radius:16px;
  padding:12px;
}
.calendar-summary-grid span{
  display:block;
  color:#5c7085;
  font-weight:800;
  font-size:.82rem;
}
.calendar-summary-grid strong{
  color:var(--night);
  font-size:1.45rem;
}
.calendar-legend{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:center;
  color:#52677c;
  font-weight:800;
  margin:8px 0 14px;
}
.calendar-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  display:inline-block;
  margin-right:-10px;
}
.calendar-dot.availability{background:#19C6C2}
.calendar-dot.commitment{background:#1F78FF}
.calendar-dot.published_segment{background:#D9B15B}
.calendar-dot.offer_pending{background:#8F6BFF}
.calendar-dot.aircraft_slot{background:#19C6C2}
.calendar-dot.offer_accepted{background:#19C6C2}
.calendar-dot.confirmed_flight{background:#1F78FF}
.calendar-dot.closed_flight{background:#0E2238}
.calendar-dot.blocked{background:#D9534F}
.calendar-scroll-hint{
  display:block;
  color:#52677c;
  font-weight:900;
  font-size:.86rem;
  margin:8px 0 10px;
}
.pilot-calendar-scroll{
  width:100%;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  padding:0 0 12px;
  scrollbar-width:auto;
}
.pilot-calendar-scroll:focus{
  outline:3px solid rgba(31,120,255,.22);
  outline-offset:4px;
  border-radius:18px;
}
.pilot-calendar-weekdays,
.pilot-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(156px,1fr));
  gap:8px;
  min-width:1180px;
}
.pilot-calendar-weekdays span{
  text-align:center;
  background:var(--night);
  color:white;
  border-radius:12px;
  padding:8px;
  font-weight:900;
}
.calendar-day{
  min-height:178px;
  background:#fbfdff;
  border:1px solid #dfe8f2;
  border-radius:16px;
  padding:10px;
  overflow:hidden;
}
.calendar-day.today{
  border:2px solid var(--gold);
  box-shadow:0 8px 20px rgba(217,177,91,.16);
}
.calendar-day.empty{
  background:transparent;
  border:0;
}
.calendar-date{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--night);
  margin-bottom:8px;
}
.calendar-date strong{
  font-size:1.12rem;
}
.calendar-date span{
  color:#718397;
  font-size:.8rem;
  font-weight:800;
}
.calendar-empty{
  color:#8b9aad;
  font-size:.82rem;
  margin:18px 0 0;
}
.calendar-event{
  border-left:5px solid #94a7ba;
  background:white;
  border-radius:12px;
  padding:8px 9px;
  margin:7px 0;
  box-shadow:0 5px 14px rgba(14,34,56,.06);
}
.calendar-event b,
.calendar-event span,
.calendar-event em{
  display:block;
}
.calendar-event b{
  font-size:.78rem;
  color:var(--night);
}
.calendar-event span{
  font-size:.76rem;
  color:#51677d;
  font-style:normal;
}
.calendar-event em{
  font-size:.74rem;
  color:#728397;
  font-style:normal;
}
.calendar-event.availability{border-left-color:var(--teal)}
.calendar-event.commitment{border-left-color:var(--blue)}
.calendar-event.published_segment{border-left-color:var(--gold)}
.calendar-event.offer_pending{border-left-color:#8F6BFF;background:#fbf9ff}
.calendar-event.aircraft_slot{border-left-color:var(--teal);background:#f3fffe}
.calendar-event.offer_accepted{border-left-color:var(--teal);background:#f3fffe}
.calendar-event.confirmed_flight{border-left-color:var(--blue);background:#f8fbff}
.calendar-event.closed_flight{border-left-color:var(--navy);background:#f7f9fc}
.calendar-event.blocked{border-left-color:var(--red);background:#fff8f7}
.calendar-action{
  display:inline-block;
  margin-top:5px;
  color:var(--blue);
  font-weight:900;
  font-size:.76rem;
}
.calendar-more{
  color:#52677c;
  font-weight:900;
  font-size:.8rem;
  margin:8px 0 0;
}
@media(max-width:1200px){
  .calendar-summary-grid{grid-template-columns:repeat(2,1fr);}
  .pilot-calendar-weekdays,
  .pilot-calendar-grid{min-width:1120px;}
}
@media(max-width:700px){
  .pilot-calendar-head{flex-direction:column;}
  .calendar-nav{justify-content:flex-start;}
  .calendar-summary-grid{grid-template-columns:1fr;}
  .with-left-sidebar .pilot-calendar-card,
  .pilot-calendar-card{margin-left:16px;margin-right:16px;}
  .pilot-calendar-weekdays,
  .pilot-calendar-grid{grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1050px;}
}

/* Correctif 2026-05-09 — page paiement pilote plus professionnelle + popup SumUp confirmé */
.payment-head{
  padding-bottom:18px;
}
.payment-eyebrow{
  color:var(--night);
  background:rgba(25,198,194,.16);
  border-color:rgba(25,198,194,.34);
  font-weight:900;
}
.payment-page-shell{
  max-width:1080px;
  margin:18px auto 70px;
  padding:0 5vw;
}
.payment-summary-card,
.payment-action-card{
  background:#fff;
  border:1px solid rgba(14,34,56,.07);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:28px;
  margin-bottom:20px;
}
.payment-summary-top,
.payment-action-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.payment-kicker{
  display:block;
  color:var(--gold);
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:950;
  font-size:.82rem;
}
.payment-summary-top h2{
  color:var(--night);
  margin:4px 0 6px;
  font-size:clamp(24px,3vw,36px);
}
.payment-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:10px 15px;
  font-weight:950;
  white-space:nowrap;
  border:1px solid transparent;
}
.payment-status-pill.paid{background:#ddfbf6;color:#067e7a;border-color:#aeece4}
.payment-status-pill.pending{background:#fff8e8;color:#8a6500;border-color:#ecd18e}
.payment-status-pill.blocked{background:#ffe5e3;color:#b62020;border-color:#f1bbb9}
.payment-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:24px 0;
}
.payment-step{
  background:#f3f7fb;
  border:1px solid #dfe9f3;
  border-radius:18px;
  padding:14px;
  color:#5e7082;
  font-weight:850;
}
.payment-step strong{
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  margin-right:8px;
  border-radius:999px;
  background:#dfe9f3;
  color:var(--night);
}
.payment-step.done{background:#e9fbf8;border-color:#bfeee7;color:#067e7a}
.payment-step.done strong{background:#19C6C2;color:#fff}
.payment-step.active{background:#fff8e8;border-color:#e7c879;color:#8a6500}
.payment-step.active strong{background:var(--gold);color:var(--night)}
.payment-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.payment-info-panel{
  border:1px solid #e5edf5;
  border-radius:22px;
  padding:20px;
  background:linear-gradient(180deg,#fff,#fbfdff);
}
.payment-info-panel h3,
.payment-action-card h2{
  margin-top:0;
  color:var(--night);
}
.payment-info-panel dl{margin:0}
.payment-info-panel dl div{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:10px 0;
  border-bottom:1px dashed #e1eaf2;
}
.payment-info-panel dl div:last-child{border-bottom:0}
.payment-info-panel dt{font-weight:900;color:#587087}
.payment-info-panel dd{margin:0;text-align:right;color:var(--night);font-weight:800}
.primary-payment-action{border-left:7px solid var(--blue)}
.promo-payment-action{border-left:7px solid var(--gold)}
.payment-paid-card{border-left:7px solid var(--teal)}

.payment-price-required-notice{
  margin:0 auto 24px;
  max-width:1180px;
}
.payment-price-required-notice .notice-actions{
  margin-top:14px;
}
.payment-price-required-card{
  border-left-color:var(--gold);
  background:linear-gradient(180deg,#fffdf7,#ffffff);
}
.agreement-payment-action{border-left:7px solid var(--gold)}
.agreement-confirmed-card{border-left:7px solid var(--teal)}
.payment-actions-stack,
.promo-payment-form,
.agreement-payment-form{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.promo-payment-form input{
  width:120px;
  max-width:120px;
  text-align:center;
  letter-spacing:.18em;
  font-weight:950;
}
.payment-note{margin-left:0;margin-right:0}
.payment-success-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:rgba(14,34,56,.48);
  padding:24px;
}
.payment-success-card{
  width:min(560px,100%);
  border-radius:30px;
  background:#e5fbf5;
  border:2px solid #19C6C2;
  box-shadow:0 30px 80px rgba(0,0,0,.28);
  padding:34px;
  text-align:center;
  color:#064f48;
}
.payment-success-icon{
  width:70px;
  height:70px;
  margin:0 auto 16px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#18b872;
  color:#fff;
  font-size:42px;
  font-weight:950;
}
.payment-success-card h2{
  color:#064f48;
  margin:0 0 10px;
}
.payment-success-card p{
  margin:0 0 22px;
  font-size:1.05rem;
}
@media(max-width:900px){
  .payment-summary-top,
  .payment-action-card{flex-direction:column}
  .payment-info-grid,
  .payment-steps{grid-template-columns:1fr}
  .payment-actions-stack,
  .promo-payment-form,
  .agreement-payment-form{justify-content:flex-start}
  .payment-page-shell{padding:0 4vw}
}

/* Correctif 20260511 - Log de navigation pilote */
.navlog-hero {
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: space-between;
}
.navlog-hero h2 {
  margin: 0 0 8px;
}
.compact-info-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.compact-info-grid p {
  margin-bottom: 0;
}
@media (max-width: 760px) {
  .navlog-hero {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* Correctif 20260512 - Sélecteur FR/EN plus visible */
.language-switch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  margin-left:auto;
  margin-right:18px;
  padding:3px;
  min-height:42px;
  border:2px solid var(--night);
  border-radius:999px;
  background:var(--white);
  box-shadow:0 8px 22px rgba(14,34,56,.16);
  overflow:hidden;
  flex:0 0 auto;
}
.language-switch .lang-pill,
.language-switch a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  min-height:34px;
  padding:7px 14px;
  border-radius:999px;
  color:var(--night);
  text-decoration:none;
  font-weight:950;
  font-size:.94rem;
  line-height:1;
  letter-spacing:.04em;
  opacity:1;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.language-switch .lang-pill:hover,
.language-switch a:hover{
  background:#eef3f7;
  transform:translateY(-1px);
}
.language-switch .lang-pill.active,
.language-switch a.active{
  background:var(--gold);
  color:var(--night);
  box-shadow:inset 0 0 0 1px rgba(14,34,56,.08),0 4px 12px rgba(217,177,91,.28);
}
.language-switch span{display:none}
@media (max-width: 900px){
  .language-switch{margin-left:0;margin-right:0;order:2}
  .topbar nav{order:3;width:100%}
}
@media (max-width: 520px){
  .language-switch{min-height:40px}
  .language-switch .lang-pill,.language-switch a{min-width:46px;min-height:32px;padding:7px 12px;font-size:.88rem}
}

/* Admin global planning */
.admin-planning-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.admin-global-planning-card .calendar-event{min-height:auto}
.compact-table-wrap table td,.compact-table-wrap table th{font-size:.9rem}
@media(max-width:760px){.admin-global-planning-card{margin-left:0!important;margin-right:0!important}.compact-table-wrap{margin-left:-12px;margin-right:-12px}}
.admin-planning-filter{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:14px;
  align-items:end;
  margin:20px 0 22px;
  padding:16px;
  border:1px solid rgba(14,34,56,.12);
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff,#f7fbff);
  box-shadow:0 10px 24px rgba(14,34,56,.07);
}
.admin-planning-filter label{
  display:block;
  margin:0 0 6px;
  color:var(--night);
  font-weight:900;
  font-size:.92rem;
}
.admin-planning-filter select{
  width:100%;
  min-height:44px;
  border:1px solid rgba(14,34,56,.18);
  border-radius:14px;
  padding:9px 12px;
  color:var(--night);
  background:#fff;
  font-weight:800;
}
.admin-planning-filter-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.admin-planning-scope{
  grid-column:1/-1;
  margin:0;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(217,177,91,.18);
  color:var(--night);
}
@media(max-width:760px){
  .admin-planning-filter{grid-template-columns:1fr;padding:14px}
  .admin-planning-filter-actions .btn{width:100%;justify-content:center}
}

.admin-planning-stage-note{margin:10px 0 12px;font-size:.92rem}

/* Accès direct administrateur à une demande par référence */
.admin-request-picker{
  margin:20px 6vw 8px;
}
.admin-request-picker h2{
  margin:0 0 8px;
  color:var(--night);
}
.admin-request-picker-form{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto;
  gap:14px;
  align-items:end;
  margin-top:14px;
}
.admin-request-picker-form label{
  margin:0;
}
.admin-request-picker-form select{
  min-height:48px;
}
@media(max-width:900px){
  .admin-request-picker-form{
    grid-template-columns:1fr;
  }
}

/* Admin site statistics */
.analytics-panel{margin:0 6vw 28px;background:#fff;border:1px solid rgba(14,34,56,.08);border-radius:24px;padding:26px;box-shadow:var(--shadow)}
.analytics-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.analytics-panel-head h2{margin:4px 0 6px;color:var(--night)}
.analytics-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:16px;margin:18px 0 20px}
.analytics-kpi-grid .stat-card{margin:0;min-height:105px}
.analytics-kpi-grid .stat-card strong{font-size:clamp(22px,2.6vw,34px);line-height:1.1;word-break:break-word}
.finance-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.analytics-tables-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.finance-tables-grid{grid-template-columns:1fr}
.analytics-table-card{background:#f8fbfd;border:1px solid rgba(14,34,56,.08);border-radius:20px;padding:16px;overflow:hidden}
.analytics-table-card h3{margin:0 0 12px;color:var(--night)}
.compact-table-wrap{margin:0;max-height:460px;overflow:auto;border-radius:16px}
.compact-table-wrap table{font-size:.92rem}
.compact-table-wrap th{position:sticky;top:0;background:#eef3f7;z-index:1}
.analytics-pilot-extremes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.analytics-pilot-extremes .stat-card strong{font-size:24px}
.analytics-note-card{margin:0 6vw 60px}
@media(max-width:950px){.analytics-panel-head{flex-direction:column}.analytics-tables-grid,.analytics-pilot-extremes{grid-template-columns:1fr}.analytics-panel,.analytics-note-card{margin-left:4vw;margin-right:4vw}}

/* Evolution statistiques : secteurs %, histogramme 30 jours et progression */
.traffic-visual-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:18px;margin:18px 0}
.traffic-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}
.traffic-card-head h3{margin-bottom:4px}
.traffic-progression-box{background:#fff;border:1px solid rgba(14,34,56,.08);border-radius:18px;padding:14px 16px;min-width:220px;box-shadow:0 10px 22px rgba(14,34,56,.06)}
.traffic-progression-box span,.traffic-progression-box small{display:block;color:#607086;font-weight:800}
.traffic-progression-box strong{display:block;font-size:28px;color:var(--night);line-height:1.1;margin:4px 0}
.progression-success{color:#167a45!important}.progression-danger{color:#b62020!important}.progression-neutral{color:#607086!important}
.traffic-histogram{height:250px;display:flex;align-items:flex-end;gap:7px;padding:18px 8px 8px;border-radius:18px;background:linear-gradient(180deg,#fff,#f0f6fb);overflow-x:auto;border:1px solid rgba(14,34,56,.06)}
.traffic-bar-group{height:215px;min-width:30px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;color:#607086;font-size:.76rem;font-weight:800}
.traffic-bar-track{width:18px;height:155px;background:#e3ebf4;border-radius:999px;display:flex;align-items:flex-end;overflow:hidden;border:1px solid rgba(14,34,56,.05)}
.traffic-bar{width:100%;min-height:3px;border-radius:999px;background:linear-gradient(180deg,var(--teal),var(--blue));box-shadow:0 6px 12px rgba(31,120,255,.18)}
.traffic-bar-value{font-size:.72rem;color:var(--night);min-height:16px}
.traffic-bar-group small{font-size:.68rem;white-space:nowrap}
.sector-percent-card{display:flex;flex-direction:column}
.sector-percent-list{display:flex;flex-direction:column;gap:14px;margin-top:10px}
.sector-percent-row{background:#fff;border:1px solid rgba(14,34,56,.07);border-radius:16px;padding:12px}
.sector-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.sector-line strong{color:var(--night)}.sector-line span{color:#607086;font-weight:800;font-size:.9rem;white-space:nowrap}
.sector-bar-track{height:10px;border-radius:999px;background:#e6eef7;overflow:hidden}.sector-bar{height:100%;min-width:3px;background:linear-gradient(90deg,var(--gold),var(--teal));border-radius:999px}
@media(max-width:1050px){.traffic-visual-grid{grid-template-columns:1fr}.traffic-card-head{flex-direction:column}.traffic-progression-box{width:100%}}
@media(max-width:700px){.traffic-histogram{gap:5px}.traffic-bar-group{min-width:27px}.traffic-bar-track{width:16px}.sector-line{align-items:flex-start;flex-direction:column}.sector-line span{white-space:normal}}

.languages-chart-card{display:flex;flex-direction:column}
.languages-chart-wrap{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:24px;align-items:center;margin-top:8px}
.languages-pie-column{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.languages-pie{width:min(240px,100%);aspect-ratio:1;border-radius:50%;border:6px solid #fff;box-shadow:0 18px 34px rgba(14,34,56,.10), inset 0 0 0 1px rgba(14,34,56,.06)}
.languages-pie-caption{text-align:center;color:#607086;font-weight:800}
.languages-pie-caption strong{display:block;font-size:30px;line-height:1;color:var(--night)}
.languages-pie-caption span{display:block;margin-top:4px;font-size:.9rem}
.languages-legend{display:flex;flex-direction:column;gap:12px}
.languages-legend-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:1px solid rgba(14,34,56,.07);border-radius:16px}
.languages-legend-swatch{width:16px;height:16px;border-radius:50%;flex:0 0 16px;box-shadow:0 0 0 3px rgba(255,255,255,.92), 0 0 0 1px rgba(14,34,56,.08)}
.languages-legend-text{display:flex;flex-direction:column;gap:2px}
.languages-legend-text strong{color:var(--night);font-size:1rem}
.languages-legend-text small{color:#607086;font-weight:800;font-size:.9rem}
@media(max-width:860px){.languages-chart-wrap{grid-template-columns:1fr}.languages-legend{order:2}.languages-pie-column{order:1}}

/* Correction design professionnel — espace Statistiques site / finances 2026-05-13 */
.stats-page-head{
  padding-bottom:20px;
}
.stats-page-head h1{
  letter-spacing:-.035em;
}
.stats-command-center{
  margin:0 6vw 22px;
  padding:28px;
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 12%,rgba(25,198,194,.34),transparent 26%),
    radial-gradient(circle at 18% 90%,rgba(217,177,91,.28),transparent 28%),
    linear-gradient(135deg,#0E2238 0%,#122f50 58%,#081726 100%);
  box-shadow:0 28px 58px rgba(14,34,56,.22);
  border:1px solid rgba(255,255,255,.12);
  display:grid;
  grid-template-columns:minmax(280px,1.05fr) minmax(360px,1.35fr);
  gap:28px;
  align-items:stretch;
  overflow:hidden;
  position:relative;
}
.stats-command-center::after{
  content:"";
  position:absolute;
  inset:auto -80px -100px auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(31,120,255,.28);
  filter:blur(2px);
}
.stats-command-copy{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.stats-kicker{
  margin:0 0 10px;
  width:max-content;
  max-width:100%;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#d9fffb;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.76rem;
}
.stats-command-copy h2{
  margin:0 0 10px;
  font-size:clamp(28px,3.4vw,48px);
  line-height:1.02;
  letter-spacing:-.04em;
  color:#fff;
}
.stats-command-copy p:not(.stats-kicker){
  margin:0;
  color:rgba(255,255,255,.82);
  max-width:720px;
}
.stats-command-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.stats-command-meta span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  font-weight:800;
  font-size:.88rem;
}
.stats-executive-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.stats-executive-card{
  min-height:154px;
  padding:18px;
  border-radius:24px;
  background:rgba(255,255,255,.94);
  color:var(--night);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 18px 38px rgba(0,0,0,.16);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.stats-executive-card span,
.stats-executive-card small{
  color:#607086;
  font-weight:900;
}
.stats-executive-card strong{
  display:block;
  margin:10px 0 8px;
  font-size:clamp(26px,3vw,42px);
  line-height:1.02;
  letter-spacing:-.04em;
  color:var(--night);
}
.stats-executive-card.accent-live{
  background:linear-gradient(180deg,#ffffff,#e9fffc);
  border-color:rgba(25,198,194,.28);
}
.stats-executive-card.accent-revenue{
  background:linear-gradient(180deg,#ffffff,#fff6dd);
  border-color:rgba(217,177,91,.36);
}
.stats-section-nav{
  margin:0 6vw 22px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.stats-section-nav span{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(14,34,56,.08);
  color:var(--night);
  font-weight:900;
  box-shadow:0 10px 24px rgba(14,34,56,.06);
}
.stats-panel-professional{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border-radius:30px;
  padding:28px;
  border:1px solid rgba(14,34,56,.08);
  box-shadow:0 24px 54px rgba(14,34,56,.13);
}
.stats-zone-head{
  align-items:center;
  padding-bottom:18px;
  margin-bottom:20px;
  border-bottom:1px solid rgba(14,34,56,.08);
}
.stats-zone-title{
  display:flex;
  align-items:flex-start;
  gap:16px;
}
.stats-zone-icon{
  flex:0 0 52px;
  width:52px;
  height:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--teal));
  box-shadow:0 14px 26px rgba(31,120,255,.22);
  font-weight:950;
  letter-spacing:.06em;
}
.finance-panel .stats-zone-icon{
  background:linear-gradient(135deg,var(--gold),#f4cc72);
  color:var(--night);
  box-shadow:0 14px 26px rgba(217,177,91,.25);
}
.stats-badge-large{
  padding:8px 14px;
  font-size:.9rem;
}
.stats-kpi-grid-primary{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:16px;
}
.stats-kpi-card{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(14,34,56,.07);
  box-shadow:0 16px 32px rgba(14,34,56,.08);
}
.stats-kpi-card::after{
  content:"";
  position:absolute;
  right:-28px;
  top:-34px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:rgba(31,120,255,.08);
}
.finance-main-kpi::after{
  background:rgba(217,177,91,.18);
}
.stats-kpi-card small{
  display:block;
  margin-top:8px;
  color:#607086;
  font-weight:800;
}
.stats-live-strip{
  display:grid;
  grid-template-columns:1.3fr repeat(3,minmax(150px,.7fr));
  gap:14px;
  align-items:stretch;
  margin:18px 0 22px;
}
.stats-live-main,
.stats-live-detail{
  border-radius:22px;
  border:1px solid rgba(14,34,56,.08);
  background:#fff;
  box-shadow:0 14px 28px rgba(14,34,56,.07);
}
.stats-live-main{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  background:linear-gradient(135deg,#ffffff,#eafffc);
}
.stats-live-dot{
  width:16px;
  height:16px;
  border-radius:50%;
  background:#19C6C2;
  box-shadow:0 0 0 8px rgba(25,198,194,.14);
}
.stats-live-main p,
.stats-live-detail span{
  margin:0;
  color:#607086;
  font-weight:900;
}
.stats-live-main strong{
  display:block;
  color:var(--night);
  font-size:36px;
  line-height:1;
  letter-spacing:-.04em;
}
.stats-live-detail{
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.stats-live-detail strong{
  margin-top:6px;
  color:var(--night);
  font-size:24px;
  line-height:1.1;
}
.stats-visual-grid{
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);
}
.stats-card-elevated{
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff,#f8fbfd);
  border:1px solid rgba(14,34,56,.08);
  box-shadow:0 18px 36px rgba(14,34,56,.08);
}
.stats-progression-box{
  background:linear-gradient(180deg,#ffffff,#f7fbff);
}
.stats-secondary-grid{
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
}
.stats-audience-card{
  min-height:100%;
}
.stats-audience-split{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:12px;
}
.stats-audience-split div{
  padding:15px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(14,34,56,.07);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.stats-audience-split span{
  color:#607086;
  font-weight:900;
}
.stats-audience-split strong{
  color:var(--night);
  font-size:24px;
}
.stats-pilot-extremes{
  margin-top:22px;
}
.stats-pilot-card{
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#fbfcff);
  border:1px solid rgba(14,34,56,.08);
  box-shadow:0 16px 34px rgba(14,34,56,.08);
}
.stats-pilot-card small{
  display:block;
  margin-top:8px;
  color:#607086;
  font-weight:850;
}
.stats-finance-tables{
  gap:20px;
}
.stats-table-card-professional{
  padding:20px;
}
.stats-table-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.stats-table-head h3{
  margin:0 0 4px;
}
.stats-table-card-professional .compact-table-wrap{
  border:1px solid rgba(14,34,56,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
}
.stats-table-card-professional table tbody tr:hover{
  background:#f5f9ff;
}
@media(max-width:1180px){
  .stats-command-center{grid-template-columns:1fr}
  .stats-live-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-live-main{grid-column:1/-1}
  .stats-secondary-grid{grid-template-columns:1fr}
}
@media(max-width:950px){
  .stats-command-center,.stats-section-nav,.stats-panel-professional{margin-left:4vw;margin-right:4vw}
  .stats-visual-grid{grid-template-columns:1fr}
  .stats-zone-head{align-items:flex-start}
}
@media(max-width:720px){
  .stats-command-center{padding:20px;border-radius:24px}
  .stats-executive-grid{grid-template-columns:1fr}
  .stats-zone-title{flex-direction:column}
  .stats-live-strip{grid-template-columns:1fr}
  .stats-panel-professional{padding:18px;border-radius:24px}
  .stats-command-meta span,.stats-section-nav span{width:100%;justify-content:center;text-align:center}
}

/* Contrôle documentaire administrateur — consultation sélective pilote / aéronef */
.document-control-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.document-control-head p{max-width:980px}
.doc-command-center{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:22px;margin:0 6vw 24px;padding:28px;border-radius:30px;background:linear-gradient(135deg,#0E2238 0%,#143B5A 50%,#1AAEAE 125%);color:#fff;box-shadow:0 24px 60px rgba(14,34,56,.22);overflow:hidden}
.doc-command-center::after{content:"";position:absolute;right:-90px;top:-120px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.12);pointer-events:none}
.doc-command-copy{position:relative;z-index:1}.doc-command-copy h2{margin:6px 0 10px;font-size:clamp(24px,3vw,40px);line-height:1.08;color:#fff}.doc-command-copy p:not(.stats-kicker){max-width:800px;margin:0;color:rgba(255,255,255,.84);font-weight:700;line-height:1.6}
.doc-active-scope{position:relative;z-index:1;align-self:stretch;display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px)}
.doc-active-scope span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.68);font-weight:900}.doc-active-scope strong{font-size:1rem;line-height:1.35;color:#fff;word-break:break-word}.doc-active-scope strong+span{margin-top:10px}
.doc-filter-panel{margin:0 6vw 22px;padding:22px;border-radius:26px;background:#fff;border:1px solid rgba(14,34,56,.08);box-shadow:var(--shadow)}
.doc-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr)) auto;gap:16px;align-items:end}.doc-filter-grid label{display:flex;flex-direction:column;gap:8px;font-weight:900;color:var(--night)}.doc-filter-grid label span{font-size:.92rem;color:#607086}.doc-filter-grid select{width:100%;min-height:50px;border-radius:16px;border:1px solid rgba(14,34,56,.14);background:#f8fbfd;padding:0 14px;font-weight:800;color:var(--night)}.doc-filter-actions{display:flex;gap:10px;flex-wrap:wrap}.doc-filter-actions .btn{white-space:nowrap}
.doc-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin:0 6vw 24px}.doc-kpi-card{position:relative;overflow:hidden;padding:20px;border-radius:24px;background:#fff;border:1px solid rgba(14,34,56,.08);box-shadow:var(--shadow);min-height:118px}.doc-kpi-card::after{content:"";position:absolute;right:-26px;bottom:-34px;width:100px;height:100px;border-radius:50%;background:rgba(25,198,194,.12)}.doc-kpi-card span,.doc-kpi-card small{display:block;color:#607086;font-weight:900}.doc-kpi-card strong{display:block;margin:8px 0 2px;font-size:clamp(28px,3vw,42px);line-height:1;color:var(--night)}.doc-kpi-card.accent-primary{border-color:rgba(25,198,194,.38)}.doc-kpi-card.accent-danger{border-color:rgba(198,53,53,.32);background:linear-gradient(180deg,#fff,#fff8f8)}.doc-kpi-card.accent-warning{border-color:rgba(217,177,91,.42);background:linear-gradient(180deg,#fff,#fffbef)}
.doc-ops-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin:0 6vw 24px}.doc-ops-card{background:#fff;border:1px solid rgba(14,34,56,.08);border-radius:24px;padding:22px;box-shadow:var(--shadow)}.doc-ops-card h2{margin:0 0 10px;color:var(--night)}.doc-ops-card ol{margin:0;padding-left:22px;color:#607086;font-weight:800;line-height:1.7}.doc-ops-card p{color:#607086;font-weight:800;line-height:1.6}.doc-repair-card{background:linear-gradient(180deg,#ffffff 0%,#f6fbfb 100%)}
.doc-table-panel{margin:0 6vw 60px;padding:24px;border-radius:28px;background:#fff;border:1px solid rgba(14,34,56,.08);box-shadow:var(--shadow)}.doc-table-wrap{margin-top:18px}.doc-table-wrap table{min-width:1180px}.doc-table-wrap textarea{min-width:220px;min-height:72px;border-radius:14px;border:1px solid rgba(14,34,56,.14);padding:10px;font-weight:700;background:#f8fbfd}.doc-table-wrap form+form{margin-top:8px}.doc-empty-state{padding:34px;text-align:center;border-radius:24px;background:#f8fbfd;border:1px dashed rgba(14,34,56,.18)}.doc-empty-state h2{margin:0 0 8px;color:var(--night)}.doc-empty-state p{max-width:720px;margin:0 auto 18px;color:#607086;font-weight:800;line-height:1.6}
@media(max-width:980px){.doc-command-center,.doc-ops-grid{grid-template-columns:1fr}.doc-filter-grid{grid-template-columns:1fr}.doc-filter-actions .btn{width:100%;justify-content:center}.doc-command-center,.doc-filter-panel,.doc-kpi-grid,.doc-ops-grid,.doc-table-panel{margin-left:4vw;margin-right:4vw}}
@media(max-width:640px){.doc-command-center{padding:22px;border-radius:24px}.doc-filter-panel,.doc-table-panel,.doc-ops-card{padding:18px;border-radius:22px}.doc-kpi-grid{grid-template-columns:1fr}.doc-table-panel{overflow:hidden}}

/* Correctif 2026-05-13 — gestion professionnelle des comptes pilotes / propriétaires */
.access-governance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.access-governance-head h1{max-width:1100px}.access-governance-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;margin:0 6vw 24px}.access-rule-card{border-left:5px solid var(--turquoise)}.access-rule-card.strong{border-left-color:var(--gold)}.access-rule-card h2{margin-top:0}.account-control-section{margin:28px 6vw 34px}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.section-title-row h2{margin:0;color:var(--night);font-size:30px}.account-control-list{display:grid;gap:16px}.account-control-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid rgba(14,34,56,.08);border-radius:22px;padding:18px 20px;box-shadow:0 16px 36px rgba(14,34,56,.08)}.account-control-card.is-alert{border-color:rgba(166,25,46,.28);background:linear-gradient(135deg,#fff 0%,#fff8f8 100%)}.account-control-card.is-ok{border-color:rgba(25,198,194,.22)}.account-control-main strong{display:block;font-size:18px;color:var(--night);margin-bottom:3px}.account-control-main span{color:#516780;font-weight:700}.account-meta-line{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.account-doc-summary{margin:0;color:#5c6e80;line-height:1.5}.account-control-actions{display:flex;justify-content:flex-end;min-width:220px}.account-control-actions form{margin:0}.account-control-actions .btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}@media(max-width:900px){.access-governance-grid{grid-template-columns:1fr}.account-control-card{grid-template-columns:1fr}.account-control-actions{justify-content:flex-start;min-width:0}.section-title-row{align-items:flex-start;flex-direction:column}}

/* Correctif 2026-05-13 : validation documentaire immédiate après visualisation PDF */
.document-review-head{align-items:center}.document-review-head .btn{white-space:nowrap}.document-review-shell{display:grid;grid-template-columns:360px minmax(0,1fr);gap:22px;margin:0 6vw 60px;align-items:start}.document-review-side{display:grid;gap:18px;position:sticky;top:18px}.document-review-card{background:#fff;border:1px solid rgba(14,34,56,.08);border-radius:26px;padding:22px;box-shadow:var(--shadow)}.document-review-card h2{margin:6px 0 14px;color:var(--night);line-height:1.18}.document-review-meta{display:grid;grid-template-columns:112px minmax(0,1fr);gap:9px 12px;margin:0}.document-review-meta dt{font-weight:900;color:#607086}.document-review-meta dd{margin:0;font-weight:800;color:var(--night);word-break:break-word}.document-review-decision{border-color:rgba(25,198,194,.26);background:linear-gradient(180deg,#fff 0%,#f7fcfc 100%)}.document-review-decision form{display:grid;gap:10px;margin-top:14px}.document-review-decision textarea{width:100%;min-height:110px;border-radius:16px;border:1px solid rgba(14,34,56,.14);background:#fff;padding:12px;font-weight:800;color:var(--night);resize:vertical}.document-review-decision .full-width{width:100%;justify-content:center}.document-review-warning,.document-review-success{border-radius:16px;padding:12px 14px;font-weight:900;line-height:1.5}.document-review-warning{color:#9a6500;background:#fff5d8;border:1px solid rgba(217,177,91,.36)}.document-review-success{color:#126d4e;background:#e9fbf2;border:1px solid rgba(18,109,78,.18)}.document-review-viewer{min-height:78vh;background:#fff;border:1px solid rgba(14,34,56,.08);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.document-review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(14,34,56,.08);background:#f8fbfd}.document-review-toolbar strong{color:var(--night)}.document-review-viewer iframe{display:block;width:100%;height:78vh;border:0;background:#f8fbfd}.document-review-missing,.document-review-empty{margin:0 6vw 60px}.document-review-missing{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px;color:#607086}.document-review-missing h2{color:var(--night);margin:0 0 10px}@media(max-width:1050px){.document-review-shell{grid-template-columns:1fr}.document-review-side{position:static}.document-review-viewer iframe{height:70vh}}@media(max-width:680px){.document-review-shell,.document-review-missing,.document-review-empty{margin-left:4vw;margin-right:4vw}.document-review-head{align-items:flex-start;flex-direction:column}.document-review-meta{grid-template-columns:1fr}.document-review-toolbar{align-items:flex-start;flex-direction:column}.document-review-toolbar .btn{width:100%;justify-content:center}}

/* Correctif 2026-05-13 : dates d'échéance obligatoires pour tout document transmis */
.document-expiry-required::after{content:"Date obligatoire";display:inline-flex;margin-left:8px;padding:3px 8px;border-radius:999px;background:#fff5d8;color:#9a6500;font-size:.72rem;font-weight:900;letter-spacing:.02em;vertical-align:middle}

/* Correctif page de garde Caraïbes : titre limité à gauche pour ne pas chevaucher l’avion */
@media(min-width:901px){.hero-content{max-width:min(660px,48vw)}.hero-title-caribbean{max-width:640px}}
@media(max-width:900px){.hero-content{max-width:100%}.hero-title-caribbean{font-size:clamp(34px,10vw,56px);max-width:100%}}

/* Evolution tableaux de bord pilote/propriétaire — cockpit opérationnel professionnel */
.ops-hero{
  margin:34px 6vw 18px;
  padding:34px;
  border-radius:32px;
  color:#fff;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:28px;
  align-items:stretch;
  box-shadow:0 24px 55px rgba(14,34,56,.18);
  overflow:hidden;
  position:relative;
}
.ops-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 15%,rgba(25,198,194,.28),transparent 30%),
    radial-gradient(circle at 90% 15%,rgba(217,177,91,.22),transparent 32%),
    linear-gradient(135deg,#0E2238 0%,#123d63 55%,#0b6f87 100%);
  z-index:0;
}
.ops-hero-pilot:after,
.ops-hero-owner:after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-90px;
  width:340px;
  height:340px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  box-shadow:0 0 0 42px rgba(255,255,255,.045),0 0 0 88px rgba(255,255,255,.03);
  z-index:0;
}
.ops-hero-copy,.ops-hero-card{position:relative;z-index:1}
.ops-hero h1{margin:10px 0 12px;color:#fff;font-size:clamp(38px,4.8vw,68px);line-height:.98;letter-spacing:-.04em}
.ops-hero p{margin:0;max-width:880px;color:rgba(255,255,255,.88);font-size:1.05rem;line-height:1.65}
.ops-kicker{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 13px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#fff}
.ops-kicker.dark{background:#eef8fb;border-color:#cceef2;color:#0E6270}
.ops-status-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;font-weight:900;color:#fff}
.ops-status-line span:first-child{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}
.ops-hero-card{border-radius:26px;padding:24px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.ops-hero-card span{font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;color:rgba(255,255,255,.74)}
.ops-hero-card strong{font-size:58px;line-height:1;margin:10px 0;color:#fff}
.ops-hero-card.is-ok strong{color:#89ffdf}.ops-hero-card.is-alert strong{color:#ffd36e}
.ops-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 6vw 24px}
.owner-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.ops-kpi-card{background:#fff;border-radius:24px;padding:22px;border:1px solid rgba(14,34,56,.08);box-shadow:0 14px 34px rgba(14,34,56,.10);position:relative;overflow:hidden;min-height:154px}
.ops-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue),var(--teal))}
.ops-kpi-card.warning:before{background:linear-gradient(90deg,#D9B15B,#ffd77a)}
.ops-kpi-card.gold:before{background:linear-gradient(90deg,#b88920,#D9B15B)}
.ops-kpi-card.success:before{background:linear-gradient(90deg,#19C6C2,#50dfbd)}
.ops-kpi-card.danger:before{background:linear-gradient(90deg,#a6192e,#D9534F)}
.ops-kpi-card span{display:block;color:#607086;font-weight:950;text-transform:uppercase;letter-spacing:.045em;font-size:.78rem}
.ops-kpi-card strong{display:block;color:var(--night);font-size:44px;line-height:1.1;margin:14px 0 8px;letter-spacing:-.04em}
.ops-kpi-card small{display:block;color:#607086;font-weight:750;line-height:1.45}
.ops-panel{margin:0 6vw 28px;padding:28px;border-radius:28px;background:#fff;border:1px solid rgba(14,34,56,.08);box-shadow:var(--shadow)}
.ops-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}
.ops-section-title.compact{margin-bottom:14px}
.ops-section-title h2{margin:8px 0 0;color:var(--night);font-size:clamp(24px,2.2vw,34px);line-height:1.05;letter-spacing:-.03em}
.ops-section-title p{max-width:660px;margin:4px 0 0;color:#607086;font-weight:750;line-height:1.6}
.ops-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.ops-action-card{display:flex;flex-direction:column;gap:8px;min-height:142px;padding:18px;border-radius:22px;border:1px solid #dce8f3;background:linear-gradient(180deg,#fff,#f8fbfd);box-shadow:0 10px 24px rgba(14,34,56,.08);transition:.18s transform,.18s box-shadow,.18s border-color;color:var(--night)}
.ops-action-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(14,34,56,.14);border-color:var(--teal)}
.ops-action-card b{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#eef8fb;color:#0E6270;font-size:.9rem}
.ops-action-card strong{font-size:1.05rem;color:var(--night)}
.ops-action-card span{color:#607086;font-weight:750;font-size:.92rem;line-height:1.4}
.ops-action-card.primary{border-color:rgba(31,120,255,.28);background:linear-gradient(180deg,#f3f8ff,#fff)}
.ops-action-card.gold{border-color:rgba(217,177,91,.42);background:linear-gradient(180deg,#fff9e8,#fff)}
.ops-action-card.warning{border-color:rgba(217,177,91,.45)}
.ops-action-card.danger{border-color:rgba(166,25,46,.22);background:linear-gradient(180deg,#fff5f6,#fff)}
.ops-action-card.danger b{background:#ffe7eb;color:#a6192e}.ops-action-card.gold b,.ops-action-card.warning b{background:#fff4cf;color:#8a6500}.ops-action-card.primary b{background:#e9f2ff;color:var(--blue)}
.ops-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ops-process-grid article{position:relative;padding:20px;border-radius:22px;background:#f8fbfd;border:1px solid #dce8f3;min-height:156px}
.ops-process-grid span{width:38px;height:38px;display:grid;place-items:center;border-radius:999px;background:var(--night);color:#fff;font-weight:950;margin-bottom:14px}
.ops-process-grid strong{display:block;color:var(--night);font-size:1.1rem;margin-bottom:6px}.ops-process-grid p{margin:0;color:#607086;font-weight:750;line-height:1.5}
.ops-empty-state{padding:28px;border:1px dashed rgba(14,34,56,.2);border-radius:24px;background:#f8fbfd;text-align:center;color:#607086;font-weight:800}.ops-empty-state h3{margin:0 0 8px;color:var(--night)}.ops-empty-state.compact{padding:18px;text-align:left}
.ops-aircraft-grid .aircraft-choice-card{box-shadow:0 12px 28px rgba(14,34,56,.09)}
.ops-detail-list{display:grid;gap:9px;margin:14px 0 0}.ops-detail-list div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #eef3f7}.ops-detail-list div:last-child{border-bottom:0}.ops-detail-list dt{color:#607086;font-weight:850}.ops-detail-list dd{margin:0;text-align:right;color:var(--night);font-weight:900}
.owner-rule-panel{border-left:7px solid var(--gold)}
.owner-form-panel{border-top:6px solid var(--teal)}
.ops-form-grid{margin-top:8px}.ops-form-submit{margin-top:12px;display:flex;justify-content:flex-end}
.owner-fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}
.owner-fleet-card{border-radius:24px;border:1px solid #dce8f3;background:#fff;box-shadow:0 12px 28px rgba(14,34,56,.09);padding:18px;border-left:7px solid #dce8f3}
.owner-fleet-card.ok{border-left-color:var(--teal)}.owner-fleet-card.pending{border-left-color:var(--gold)}.owner-fleet-card.blocked{border-left-color:#a6192e}
.owner-fleet-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px}.owner-fleet-card h3{margin:0;color:var(--night);font-size:1.25rem}.owner-fleet-actions{margin-top:16px;display:flex;justify-content:flex-end}.ops-table-wrap{margin-top:0;margin-bottom:28px}.ops-table-wrap table{min-width:1050px}
.ops-enroll-row{padding:18px;border-radius:22px;border-color:#dce8f3;background:#f8fbfd}.ops-enroll-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.ops-enroll-title strong{font-size:1.1rem;color:var(--night)}.ops-enroll-title span{font-weight:900;color:#607086;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}
.badge.warning{background:#fff4cf;color:#8a6500}.badge.valid,.badge.success{background:#e7f7ef;color:#167a45}.badge.danger{background:#ffe5e5;color:#c63535}
@media(max-width:1180px){.ops-hero{grid-template-columns:1fr}.owner-kpi-grid,.ops-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ops-hero{margin:20px 16px;padding:24px}.ops-panel{margin-left:16px;margin-right:16px;padding:20px}.ops-kpi-grid,.owner-kpi-grid{grid-template-columns:1fr;margin-left:16px;margin-right:16px}.ops-section-title{flex-direction:column}.ops-process-grid{grid-template-columns:1fr}.ops-status-line{align-items:flex-start;flex-direction:column}.ops-form-submit{justify-content:stretch}.ops-form-submit .btn{width:100%}}

/* Correctif 2026-05-13 — espace client professionnel et ergonomique */
.client-request-hero{
  margin:34px 6vw 18px;
  border-radius:32px;
  padding:36px;
  min-height:330px;
  background:
    radial-gradient(circle at 82% 24%,rgba(25,198,194,.24),transparent 34%),
    linear-gradient(135deg,rgba(14,34,56,.97),rgba(17,72,110,.92) 56%,rgba(31,120,255,.70)),
    url('hero-akua1fly-caribbean-aircraft.jpg') center/cover;
  color:#FFFFFF;
  box-shadow:0 24px 54px rgba(14,34,56,.20);
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:28px;
  overflow:hidden;
  position:relative;
}
.client-request-hero::after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-90px;
  width:310px;
  height:310px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 0 0 48px rgba(255,255,255,.04),0 0 0 95px rgba(25,198,194,.05);
}
.client-request-hero-main,
.client-request-hero-panel{
  position:relative;
  z-index:1;
}
.client-request-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.25);
  color:#D8F9F7;
  font-weight:900;
  font-size:.85rem;
  letter-spacing:.03em;
}
.client-request-eyebrow.dark{
  background:#E8FBFA;
  border-color:#BDEBE9;
  color:#0E2238;
}
.client-request-hero h1{
  max-width:720px;
  margin:18px 0 14px;
  color:#FFFFFF;
  font-size:clamp(34px,4.3vw,62px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.client-request-hero p{
  max-width:720px;
  color:rgba(255,255,255,.90);
  font-size:1.1rem;
}
.client-request-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
.client-request-hero-panel{
  align-self:stretch;
  border-radius:26px;
  padding:24px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.23);
  backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
.client-request-hero-panel strong{
  display:block;
  font-size:1.25rem;
  margin-bottom:12px;
}
.client-request-hero-panel ul,
.client-form-sidebar ul{
  margin:0;
  padding-left:18px;
}
.client-request-hero-panel li{
  margin:8px 0;
  color:rgba(255,255,255,.92);
}
.client-process-panel{
  margin:0 6vw 22px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.client-process-step{
  background:#FFFFFF;
  border:1px solid rgba(14,34,56,.08);
  border-radius:22px;
  padding:18px;
  box-shadow:0 14px 28px rgba(14,34,56,.08);
}
.client-process-step span,
.client-section-title>span{
  width:36px;
  height:36px;
  border-radius:14px;
  display:inline-grid;
  place-items:center;
  background:linear-gradient(135deg,#1F78FF,#19C6C2);
  color:#FFFFFF;
  font-weight:950;
  font-size:.86rem;
  white-space:nowrap;
}
.client-process-step strong{
  display:block;
  color:#0E2238;
  font-size:1.08rem;
  margin-top:11px;
}
.client-process-step p{
  margin:6px 0 0;
  color:#607086;
  font-size:.94rem;
}
.client-access-professional-card{
  margin:0 6vw 24px!important;
  border-left:0;
  border-top:6px solid #19C6C2;
}
.client-section-title{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:18px;
}
.client-section-title h2{
  margin:0;
  color:#0E2238;
  letter-spacing:-.02em;
}
.client-section-title p{
  margin:5px 0 0;
  color:#607086;
}
.client-section-title.compact-title{
  margin-top:18px;
}
.client-availability-status{
  margin-bottom:0;
  font-weight:850;
}
.client-request-form-pro{
  padding:0;
  overflow:hidden;
}
.client-form-head{
  padding:28px 30px;
  background:linear-gradient(135deg,#FFFFFF,#F4FAFD);
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  border-bottom:1px solid #E2ECF5;
}
.client-form-head h2{
  margin:12px 0 4px;
  color:#0E2238;
  font-size:2rem;
  letter-spacing:-.035em;
}
.client-form-head p{
  margin:0;
  color:#607086;
}
.client-form-status-card{
  min-width:280px;
  max-width:360px;
  padding:17px;
  border-radius:20px;
  background:#0E2238;
  color:#FFFFFF;
  box-shadow:0 16px 32px rgba(14,34,56,.14);
}
.client-form-status-card strong,
.client-form-status-card span{
  display:block;
}
.client-form-status-card span{
  color:#D8F9F7;
  margin-top:5px;
  font-size:.92rem;
}
.client-form-layout{
  display:grid;
  grid-template-columns:290px minmax(0,1fr);
  gap:0;
}
.client-form-sidebar{
  padding:24px;
  background:linear-gradient(180deg,#F7FBFD,#EEF3F7);
  border-right:1px solid #DDE8F1;
}
.client-sidebar-card{
  border-radius:20px;
  padding:17px;
  background:#FFFFFF;
  border:1px solid #DDE8F1;
  box-shadow:0 10px 20px rgba(14,34,56,.05);
  margin-bottom:14px;
}
.client-sidebar-card strong{
  display:block;
  color:#0E2238;
  font-size:1.02rem;
  margin-bottom:6px;
}
.client-sidebar-card p,
.client-sidebar-card li{
  color:#607086;
  font-size:.92rem;
  margin:6px 0;
}
.client-sidebar-card.accent{
  background:linear-gradient(135deg,#E8FBFA,#FFFFFF);
  border-color:#BDEBE9;
}
.client-sidebar-card.soft{
  background:#FFF8E8;
  border-color:#F0DDA9;
}
.client-form-sections{
  padding:24px;
}
.client-form-section{
  border:1px solid #DDE8F1;
  border-radius:24px;
  padding:22px;
  margin-bottom:18px;
  background:#FFFFFF;
  box-shadow:0 12px 24px rgba(14,34,56,.045);
}
.client-form-section.segment-section{
  border-color:#BDEBE9;
  background:linear-gradient(180deg,#FFFFFF,#F8FEFE);
}
.client-form-section.return-section{
  background:#FBFDFF;
}
.client-form-section.final-section{
  border-color:#CFE0FF;
  background:linear-gradient(180deg,#FFFFFF,#F7FAFF);
}
.client-return-toggle{
  margin:0;
  padding:16px;
  border-radius:18px;
  background:#EEF3F7;
  border:1px solid #D8E5EF;
  font-weight:950;
}
.client-check-line{
  border-radius:16px;
  background:#F7FAFD;
  border:1px solid #DDE8F1;
  padding:12px;
  min-height:49px;
}
.client-check-line input,
.client-return-toggle input{
  width:18px!important;
  height:18px;
  flex:0 0 auto;
}
.client-passenger-card{
  background:#FBFDFF;
  border:1px solid #DDE8F1;
  border-radius:22px;
  padding:18px;
}
.client-passenger-card legend{
  padding:0 10px;
  color:#1F78FF;
  font-weight:950;
}
.client-submit-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  padding-top:4px;
}
.client-submit-bar span{
  color:#607086;
  font-weight:800;
}
@media(max-width:1050px){
  .client-request-hero,
  .client-form-layout{
    grid-template-columns:1fr;
  }
  .client-process-panel{
    grid-template-columns:repeat(2,1fr);
  }
  .client-form-sidebar{
    border-right:0;
    border-bottom:1px solid #DDE8F1;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
  }
  .client-sidebar-card{margin-bottom:0}
}
@media(max-width:720px){
  .client-request-hero,
  .client-access-professional-card,
  .client-request-form-pro,
  .client-process-panel{
    margin-left:18px!important;
    margin-right:18px!important;
  }
  .client-request-hero{
    padding:24px;
  }
  .client-process-panel,
  .client-form-sidebar{
    grid-template-columns:1fr;
  }
  .client-form-head{
    flex-direction:column;
    padding:24px;
  }
  .client-form-status-card{
    min-width:0;
    max-width:none;
    width:100%;
  }
  .client-form-sections,
  .client-form-sidebar{
    padding:18px;
  }
  .client-section-title{
    flex-direction:column;
  }
}

/* Espace administrateur — accès et cockpit professionnel */
.admin-access-portal{
  margin:34px 6vw 70px;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
  gap:28px;
  align-items:stretch;
}
.admin-access-visual{
  position:relative;
  overflow:hidden;
  min-height:560px;
  border-radius:34px;
  padding:52px;
  color:#fff;
  background:
    radial-gradient(circle at 74% 18%, rgba(25,198,194,.42), transparent 28%),
    linear-gradient(135deg, rgba(14,34,56,.96), rgba(12,67,103,.88)),
    url('hero-akua1fly-caribbean-aircraft.jpg') center/cover;
  box-shadow:0 26px 70px rgba(14,34,56,.20);
  border:1px solid rgba(255,255,255,.18);
}
.admin-access-visual::after{
  content:"";
  position:absolute;
  inset:auto -90px -150px auto;
  width:420px;
  height:420px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 86px rgba(25,198,194,.06);
}
.admin-secure-pill,
.admin-command-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(25,198,194,.16);
  border:1px solid rgba(25,198,194,.34);
  color:#dffbf9;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.78rem;
}
.admin-access-visual h1{
  max-width:780px;
  margin:24px 0 16px;
  color:#fff;
  font-size:clamp(38px,4.7vw,74px);
  line-height:.98;
  letter-spacing:-.04em;
}
.admin-access-visual p{
  max-width:720px;
  font-size:1.13rem;
  color:rgba(255,255,255,.84);
}
.admin-access-benefits{
  position:absolute;
  left:52px;
  right:52px;
  bottom:42px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  z-index:1;
}
.admin-access-benefits div{
  padding:18px;
  border-radius:20px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(9px);
}
.admin-access-benefits strong{display:block;color:#fff;font-size:1.05rem}
.admin-access-benefits span{display:block;color:rgba(255,255,255,.76);font-weight:650;font-size:.9rem;margin-top:4px}
.admin-login-panel{
  background:#fff;
  border-radius:34px;
  padding:34px;
  box-shadow:0 24px 64px rgba(14,34,56,.16);
  border:1px solid rgba(14,34,56,.08);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.admin-login-card-head span,
.admin-client-access-copy span,
.admin-payments-head span{
  display:inline-flex;
  padding:6px 11px;
  border-radius:999px;
  background:#eef8ff;
  color:var(--blue);
  font-weight:900;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.admin-login-card-head h2,
.admin-client-access-copy h2,
.admin-action-card h2,
.admin-status-card h2,
.admin-payments-head h2{
  margin:12px 0 8px;
  color:var(--night);
}
.admin-login-card-head p{margin:0 0 20px;color:#607086}
.admin-login-form label{margin:14px 0}
.admin-login-submit{width:100%;margin-top:12px;padding:15px 18px}
.admin-login-security-note{
  margin-top:22px;
  padding:16px;
  border-radius:18px;
  background:linear-gradient(135deg,#f5fbff,#fff8ea);
  border:1px solid #dbe7f2;
}
.admin-login-security-note p{margin:4px 0 0;color:#607086;font-size:.92rem}

.admin-command-hero{
  margin:34px;
  padding:36px;
  border-radius:32px;
  color:#fff;
  background:
    radial-gradient(circle at 84% 12%, rgba(25,198,194,.32), transparent 28%),
    linear-gradient(135deg,#0E2238,#12476b 70%,#0f6d83);
  box-shadow:0 24px 60px rgba(14,34,56,.18);
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  align-items:start;
  overflow:hidden;
  position:relative;
}
.admin-command-hero h1{
  color:#fff;
  margin:16px 0 8px;
  letter-spacing:-.04em;
  line-height:.96;
  max-width:780px;
}
.admin-command-hero p{max-width:900px;color:rgba(255,255,255,.82);font-size:1.05rem;margin:0}
.admin-command-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:center;
  margin-top:2px;
}
.admin-command-actions .btn{flex:0 0 auto;max-width:100%}
.admin-command-actions .secondary{background:rgba(255,255,255,.95)}

.admin-client-access-pro{
  margin:0 34px 24px;
  padding:24px;
  border-radius:28px;
  background:#fff;
  box-shadow:var(--shadow);
  border:1px solid rgba(14,34,56,.08);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
}
.admin-client-access-pro.open{border-left:6px solid var(--teal)}
.admin-client-access-pro.closed{border-left:6px solid var(--red)}
.admin-client-access-copy p{margin:0;color:#607086;max-width:820px}
.admin-client-access-form{display:flex;justify-content:flex-end}

.admin-kpi-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px;
  margin:0 34px 24px;
}
.admin-kpi-card{
  background:#fff;
  border:1px solid rgba(14,34,56,.08);
  border-radius:24px;
  padding:20px;
  min-height:162px;
  box-shadow:0 18px 42px rgba(14,34,56,.10);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:.18s ease;
}
.admin-kpi-card:hover{transform:translateY(-3px);box-shadow:0 22px 54px rgba(14,34,56,.14)}
.admin-kpi-card span{color:#607086;font-weight:900;font-size:.88rem}
.admin-kpi-card strong{display:block;color:var(--night);font-size:42px;line-height:1;margin:12px 0;letter-spacing:-.05em}
.admin-kpi-card small{color:#7b8da0;font-weight:650;line-height:1.25}
.admin-kpi-card.warning strong{color:var(--gold)}
.admin-kpi-card.danger strong{color:var(--red)}
.admin-kpi-card.success strong{color:#06847f}

.admin-operations-layout{
  margin:0 34px 24px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.admin-action-card,
.admin-status-card,
.admin-payments-watch{
  background:#fff;
  border:1px solid rgba(14,34,56,.08);
  border-radius:28px;
  padding:26px;
  box-shadow:0 18px 45px rgba(14,34,56,.10);
}
.admin-action-card.priority{border-top:5px solid var(--red)}
.admin-action-card-head{display:flex;align-items:center;gap:13px;margin-bottom:8px}
.admin-action-card-head span{
  width:40px;height:40px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--blue),var(--teal));
  color:#fff;font-weight:950;
}
.admin-action-card p{color:#607086;margin:0 0 18px}
.admin-action-list{display:grid;gap:10px}
.admin-action-list.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-action-list a{
  display:block;
  padding:14px 15px;
  border-radius:16px;
  background:#f6f9fc;
  border:1px solid #dfe9f2;
  color:var(--night);
  font-weight:900;
  transition:.18s ease;
}
.admin-action-list a:hover{background:#eef8ff;border-color:#bdddf7;transform:translateX(2px)}
.admin-action-list a small{display:block;color:#607086;font-weight:650;margin-top:3px;line-height:1.25}

.admin-status-snapshot{
  margin:0 34px 24px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.admin-status-card p{color:#607086;margin-top:0}
.admin-status-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.admin-status-card.snapshot{background:linear-gradient(135deg,#ffffff,#fff8ea)}

.admin-payments-watch{margin:0 34px 60px}
.admin-payments-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.admin-empty-state{
  padding:18px;
  border-radius:18px;
  background:#f4fbf9;
  color:#067e7a;
  font-weight:900;
  border:1px solid #d7f3ec;
}
.admin-payment-row{
  display:grid;
  grid-template-columns:1fr auto auto auto;
  gap:14px;
  align-items:center;
}
.admin-payment-row em{font-style:normal;color:#607086;font-weight:800}
.admin-payment-row a{color:var(--blue);font-weight:900}

@media(max-width:1280px){
  .admin-kpi-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){
  .admin-access-portal,
  .admin-operations-layout,
  .admin-status-snapshot,
  .admin-client-access-pro{grid-template-columns:1fr}
  .admin-client-access-form{justify-content:flex-start}
  .admin-access-benefits{position:relative;left:auto;right:auto;bottom:auto;margin-top:30px;grid-template-columns:1fr}
  .admin-access-visual{min-height:auto;padding:34px}
  .admin-kpi-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .admin-access-portal,
  .admin-command-hero,
  .admin-client-access-pro,
  .admin-kpi-grid,
  .admin-operations-layout,
  .admin-status-snapshot,
  .admin-payments-watch{margin-left:16px;margin-right:16px}
  .admin-access-visual,.admin-login-panel,.admin-command-hero,.admin-action-card,.admin-status-card,.admin-payments-watch{padding:22px;border-radius:22px}
  .admin-kpi-grid,.admin-action-list.two-cols{grid-template-columns:1fr}
  .admin-payment-row{grid-template-columns:1fr}
}

/* Modes d'emploi PDF - accès pilote / propriétaire */
.access-manual-card{
  margin-top:20px;
  padding:20px;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff,#f6fafc);
  border:1px solid #dce7f1;
  box-shadow:0 14px 34px rgba(14,34,56,.08);
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.access-manual-card h2{margin:0 0 6px;color:var(--night);font-size:1.15rem;line-height:1.2}
.access-manual-card p{margin:0 0 12px;color:#5d7082;font-size:.96rem;line-height:1.55}
.manual-icon{
  width:58px;height:58px;border-radius:18px;display:grid;place-items:center;flex:0 0 auto;
  background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-weight:950;letter-spacing:.04em;
  box-shadow:0 12px 24px rgba(31,120,255,.22);
}
.manual-link{background:#fff}
@media(max-width:760px){.access-manual-card{flex-direction:column}.manual-icon{width:54px;height:54px}}


/* Mode d'emploi PDF client - page d'accueil */
.client-manual-card{margin-top:18px;background:linear-gradient(180deg,#ffffff,#f4fbff);border-color:#d9ebf6}
.client-manual-card .manual-icon{background:linear-gradient(135deg,var(--teal),var(--blue))}
.client-manual-card .manual-link{margin-top:2px}

/* Téléphones internationaux obligatoires */
.field-help{
  display:block;
  margin-top:4px;
  color:#607086;
  font-size:.84rem;
  line-height:1.35;
  font-weight:650;
}
.account-phone-line{
  display:block;
  margin-top:4px;
  color:#486074;
  font-weight:800;
}
.account-phone-edit-form{
  display:grid;
  gap:8px;
  min-width:min(100%, 320px);
  padding:12px;
  border:1px solid #dfe8f2;
  border-radius:16px;
  background:#f8fbfe;
}
.account-phone-edit-form label{
  margin:0;
  font-size:.88rem;
}
.account-phone-edit-form input{
  margin-top:5px;
  border-radius:12px;
  padding:10px 11px;
}


/* Gestion sécurisée de la purge des vols clôturés */
.admin-storage-purge-panel{margin:0 34px 26px;display:grid;grid-template-columns:.72fr 1.28fr;gap:20px}
.admin-storage-card,.admin-purge-card,.admin-purge-metric,.admin-purge-process-card,.admin-purge-confirm-card{background:#fff;border:1px solid rgba(14,34,56,.07);border-radius:26px;box-shadow:0 20px 48px rgba(14,34,56,.10);padding:26px}
.admin-storage-card span,.admin-purge-card span,.admin-purge-metric span{display:block;color:#607086;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.admin-storage-card strong,.admin-purge-metric strong{display:block;color:var(--night);font-size:clamp(32px,4vw,52px);line-height:1;margin:12px 0}
.admin-storage-bar{height:12px;background:#e8eff6;border-radius:999px;overflow:hidden;margin:12px 0}.admin-storage-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--blue),var(--gold));border-radius:999px}
.admin-storage-card small,.admin-purge-metric small{display:block;color:#607086;font-weight:750;line-height:1.35}.admin-purge-card{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#fff,#fff8e9)}
.admin-purge-card h2{margin:5px 0 8px;color:var(--night)}.admin-purge-card p{margin:0;color:#607086;line-height:1.55}.admin-purge-action{min-width:220px;text-align:center}.admin-purge-action strong{display:block;font-size:46px;color:var(--blue);line-height:1}.admin-purge-action small{display:block;color:#607086;margin:6px 0 15px;font-weight:800}
.admin-purge-head{padding-bottom:0}.admin-purge-dashboard{margin:20px 6vw 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.admin-purge-process{margin:24px 6vw 70px;display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.admin-purge-process-card h2,.admin-purge-confirm-card h2{margin-top:0;color:var(--night)}.admin-purge-process-card ol{margin:0;padding-left:22px}.admin-purge-process-card li{margin:10px 0;color:#536b80;line-height:1.65}.admin-purge-confirm-card{border-top:6px solid var(--red)}.admin-purge-confirm-card p{color:#536b80;line-height:1.65}
@media(max-width:1100px){.admin-storage-purge-panel,.admin-purge-dashboard,.admin-purge-process{grid-template-columns:1fr}.admin-storage-purge-panel{margin-left:18px;margin-right:18px}.admin-purge-dashboard,.admin-purge-process{margin-left:18px;margin-right:18px}.admin-purge-card{align-items:flex-start;flex-direction:column}.admin-purge-action{text-align:left}}

/* Correctif lisibilité page connexion administrateur : empêcher les textes coupés ou mots isolés */
.admin-access-visual{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:28px;
}
.admin-access-visual h1{
  max-width:720px;
  font-size:clamp(32px,3.8vw,62px);
  line-height:1.04;
  letter-spacing:-.035em;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.admin-access-visual p{
  max-width:680px;
  line-height:1.72;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.admin-access-benefits{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  margin-top:auto;
}
@media(max-width:1180px){
  .admin-access-portal{
    grid-template-columns:1fr;
    margin:28px 5vw 60px;
  }
  .admin-access-visual{
    min-height:auto;
    padding:40px;
  }
  .admin-access-visual h1{
    font-size:clamp(34px,6vw,58px);
    max-width:900px;
  }
  .admin-access-visual p{max-width:860px}
  .admin-access-benefits{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .admin-access-portal{margin:18px 16px 44px}
  .admin-access-visual{
    padding:26px;
    border-radius:26px;
    background:
      linear-gradient(135deg, rgba(14,34,56,.97), rgba(12,67,103,.90)),
      url('hero-akua1fly-caribbean-aircraft.jpg') center/cover;
  }
  .admin-access-visual h1{
    font-size:clamp(30px,9vw,44px);
    line-height:1.08;
    margin:18px 0 12px;
    letter-spacing:-.025em;
  }
  .admin-access-visual p{
    font-size:1rem;
    line-height:1.68;
  }
  .admin-access-benefits{grid-template-columns:1fr;gap:10px;margin-top:22px}
  .admin-access-benefits div{padding:14px 16px}
  .admin-secure-pill{white-space:normal;line-height:1.3}
}


/* Correctif complémentaire : accès administrateur, empêcher les retours à la ligne dégradés */
.admin-access-visual,
.admin-access-visual h1,
.admin-access-visual p,
.admin-access-benefits strong,
.admin-access-benefits span{
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
.admin-access-visual h1{
  max-width: 12ch;
  font-size: clamp(34px, 4vw, 64px);
  line-height: 1.02;
  text-wrap: balance;
}
.admin-access-visual p{
  max-width: 34ch;
  line-height: 1.55;
}
.admin-access-benefits{
  position:static;
  margin-top:28px;
}
.admin-access-benefits div{
  min-height:96px;
}

@media(max-width:1100px){
  .admin-access-portal{
    grid-template-columns:1fr;
    gap:20px;
  }
  .admin-access-visual,
  .admin-login-panel{
    width:100%;
  }
  .admin-access-visual{
    min-height:auto;
    padding:38px 30px;
  }
  .admin-access-visual h1{
    max-width: 14ch;
    font-size: clamp(34px, 6vw, 56px);
  }
  .admin-access-visual p{
    max-width: 60ch;
  }
  .admin-access-benefits{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
}

@media(max-width:820px){
  .admin-access-portal{
    margin:22px 16px 44px;
  }
  .admin-access-visual,
  .admin-login-panel{
    border-radius:26px;
  }
  .admin-access-visual{
    padding:28px 22px;
  }
  .admin-access-visual h1{
    margin:18px 0 14px;
    max-width: none;
    font-size: clamp(30px, 10vw, 46px);
    line-height: 1.04;
  }
  .admin-access-visual p{
    max-width:none;
    font-size:1rem;
  }
  .admin-access-benefits{
    grid-template-columns:1fr;
    gap:10px;
    margin-top:22px;
  }
  .admin-access-benefits div{
    min-height:auto;
    padding:14px 15px;
  }
}


/* Ajustement complémentaire : réduire la hauteur du bloc visuel administrateur */
.admin-access-visual{
  min-height: 460px;
  padding: 34px 34px 28px;
  gap: 18px;
}
.admin-access-visual h1{
  margin: 16px 0 10px;
  max-width: 11ch;
  font-size: clamp(30px, 3.4vw, 56px);
}
.admin-access-visual p{
  margin: 0;
  max-width: 30ch;
  font-size: 1.02rem;
  line-height: 1.45;
}
.admin-access-benefits{
  margin-top: 18px;
  gap: 10px;
}
.admin-access-benefits div{
  min-height: 80px;
  padding: 14px 14px 12px;
}
.admin-access-benefits strong{font-size:1rem}
.admin-access-benefits span{font-size:.86rem;line-height:1.3}

@media(max-width:1180px){
  .admin-access-visual{
    min-height: auto;
    padding: 32px 28px 24px;
  }
}
@media(max-width:820px){
  .admin-access-visual{
    padding: 24px 20px;
    gap: 14px;
  }
  .admin-access-visual h1{
    font-size: clamp(28px, 9vw, 42px);
    margin: 14px 0 10px;
  }
  .admin-access-visual p{
    font-size: .98rem;
    line-height: 1.42;
  }
  .admin-access-benefits{
    margin-top: 14px;
  }
}


/* Déplacement du mode d'emploi client dans la page Demander un voyage */
.client-form-sidebar .client-request-manual-card{
  margin-top:14px;
  display:block;
  background:linear-gradient(180deg,#ffffff,#f4fbff);
  border:1px solid #d9ebf6;
  border-radius:22px;
  padding:18px;
  box-shadow:0 14px 32px rgba(14,34,56,.08);
}
.client-form-sidebar .client-request-manual-card .manual-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  margin-bottom:14px;
  background:linear-gradient(135deg,var(--teal),var(--blue));
}
.client-form-sidebar .client-request-manual-card h2{
  font-size:1.08rem;
  line-height:1.18;
  margin:0 0 8px;
  color:var(--night);
}
.client-form-sidebar .client-request-manual-card p{
  font-size:.94rem;
  line-height:1.55;
  margin:0 0 14px;
  color:#5d7082;
}
.client-form-sidebar .client-request-manual-card .manual-link{
  width:100%;
  border-radius:16px;
  padding:11px 13px;
  background:#fff;
  text-align:center;
}
@media(max-width:980px){
  .client-form-sidebar .client-request-manual-card{
    display:flex;
    gap:14px;
    align-items:flex-start;
  }
  .client-form-sidebar .client-request-manual-card .manual-icon{
    margin-bottom:0;
    flex:0 0 auto;
  }
}
@media(max-width:560px){
  .client-form-sidebar .client-request-manual-card{
    display:block;
  }
  .client-form-sidebar .client-request-manual-card .manual-icon{
    margin-bottom:14px;
  }
}

.payment-auto-status{
  margin-top:14px;
  border-left-color:var(--blue);
  background:#eef6ff;
}
.payment-auto-status.success{
  border-left-color:var(--teal);
  background:#e5fbf5;
  color:#067e7a;
}
.payment-auto-status.warning{
  border-left-color:var(--gold);
  background:#fff8e8;
  color:#72530a;
}
.payment-auto-status.error{
  border-left-color:var(--red);
  background:#ffe5e3;
  color:#b62020;
}

/* Correctif 2026-05-15 — tampon circulaire page de garde Akua1fly FR/EN */
.hero-home-stamped{
  position:relative;
  overflow:hidden;
}
.hero-home-stamped .hero-content{
  z-index:2;
}
.akua-hero-stamp{
  position:absolute;
  z-index:2;
  right:8.2vw;
  bottom:44px;
  width:238px;
  height:238px;
  border-radius:50%;
  color:rgba(255,255,255,.82);
  border:3px solid rgba(255,255,255,.72);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  transform:rotate(-8deg);
  opacity:.82;
  pointer-events:none;
  mix-blend-mode:screen;
  text-shadow:0 1px 4px rgba(0,0,0,.25);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.20), 0 0 0 1px rgba(255,255,255,.12);
  font-family:Georgia, 'Times New Roman', serif;
}
.akua-hero-stamp::before,
.akua-hero-stamp::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  pointer-events:none;
}
.akua-hero-stamp::before{
  background:
    radial-gradient(circle at 28% 24%, transparent 0 12px, rgba(255,255,255,.10) 13px, transparent 15px),
    radial-gradient(circle at 72% 70%, transparent 0 9px, rgba(255,255,255,.09) 10px, transparent 12px),
    repeating-linear-gradient(104deg, rgba(255,255,255,.10) 0 1px, transparent 1px 10px);
  opacity:.45;
  mask-image:radial-gradient(circle, #000 0 66%, transparent 67%);
}
.akua-hero-stamp::after{
  inset:9px;
  border:2px dashed rgba(255,255,255,.55);
  opacity:.78;
}
.akua-hero-stamp-ring{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.akua-hero-stamp-ring-outer{
  inset:6px;
  border:1px solid rgba(255,255,255,.65);
}
.akua-hero-stamp-ring-inner{
  inset:28px;
  border:1px solid rgba(255,255,255,.38);
}
.akua-hero-stamp-brand{
  display:block;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:800;
  font-size:24px;
  letter-spacing:.03em;
  line-height:1;
  margin-bottom:12px;
}
.akua-hero-stamp-main{
  display:block;
  width:78%;
  padding:3px 0 5px;
  border-top:2px solid rgba(255,255,255,.72);
  border-bottom:2px solid rgba(255,255,255,.72);
  font-size:34px;
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.05;
  white-space:nowrap;
}
.akua-hero-stamp-line{
  display:block;
  width:68%;
  height:1px;
  background:rgba(255,255,255,.62);
  margin:10px 0 8px;
}
.akua-hero-stamp-baseline{
  display:block;
  width:82%;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:700;
  font-size:14px;
  line-height:1.24;
}
@media(max-width:1180px){
  .akua-hero-stamp{
    right:4.5vw;
    bottom:36px;
    width:198px;
    height:198px;
  }
  .akua-hero-stamp-main{font-size:28px;}
  .akua-hero-stamp-baseline{font-size:12px;}
}
@media(max-width:900px){
  .akua-hero-stamp{
    right:6vw;
    bottom:22px;
    width:154px;
    height:154px;
    opacity:.72;
  }
  .akua-hero-stamp-brand{font-size:17px;margin-bottom:7px;}
  .akua-hero-stamp-main{font-size:21px;padding:2px 0 4px;}
  .akua-hero-stamp-line{margin:7px 0 5px;}
  .akua-hero-stamp-baseline{font-size:9.5px;line-height:1.18;}
  .akua-hero-stamp::after{inset:7px;}
  .akua-hero-stamp-ring-inner{inset:19px;}
}
@media(max-width:560px){
  .akua-hero-stamp{
    width:118px;
    height:118px;
    right:18px;
    bottom:16px;
  }
  .akua-hero-stamp-brand{font-size:13px;margin-bottom:5px;}
  .akua-hero-stamp-main{font-size:16px;border-top-width:1px;border-bottom-width:1px;}
  .akua-hero-stamp-line{width:62%;margin:5px 0 4px;}
  .akua-hero-stamp-baseline{font-size:7.5px;line-height:1.15;}
}

/* Centre administrateur des actions critiques */

.critical-hero{margin:28px 6vw 18px;padding:30px;border-radius:30px;background:linear-gradient(135deg,rgba(14,34,56,.98),rgba(31,120,255,.32)),var(--navy);color:#fff;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:22px;align-items:stretch;box-shadow:0 24px 58px rgba(14,34,56,.22);position:relative;overflow:hidden}
.critical-hero:after{content:"";position:absolute;right:-80px;top:-90px;width:260px;height:260px;border-radius:50%;border:42px solid rgba(25,198,194,.1)}
.critical-hero-main,.critical-hero-side{position:relative;z-index:1}
.critical-hero-heading h1{margin:8px 0 12px;font-size:clamp(34px,3.8vw,58px);line-height:.96;letter-spacing:-.05em;color:#fff}
.critical-hero-heading p{margin:0;max-width:920px;color:rgba(255,255,255,.84);font-size:1.03rem;line-height:1.65}
.critical-status-banner{margin-top:18px;display:flex;align-items:end;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);border-radius:22px;backdrop-filter:blur(12px)}
.critical-status-banner span,.critical-status-banner small,.critical-overview-head span{display:block;color:rgba(255,255,255,.72);font-weight:800;text-transform:uppercase;letter-spacing:.07em;font-size:.74rem}
.critical-status-banner strong{display:block;margin-top:6px;font-size:1.85rem;text-transform:uppercase;color:#fff;line-height:1}
.critical-status-banner.ok strong{color:#89ffdf}.critical-status-banner.attention strong{color:#ffd36e}.critical-status-banner.blocked strong{color:#ffb1a8}
.critical-quick-nav{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px}
.critical-quick-nav a{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#fff;font-weight:800;font-size:.88rem;text-decoration:none}
.critical-quick-nav a:hover{background:rgba(255,255,255,.16)}
.critical-overview-card{height:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.09);border-radius:26px;padding:22px;backdrop-filter:blur(12px)}
.critical-overview-head strong{display:block;margin-top:8px;font-size:1.28rem;color:#fff}
.critical-overview-metrics{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.critical-overview-metric{padding:14px;border-radius:18px;background:rgba(14,34,56,.28);border:1px solid rgba(255,255,255,.1)}
.critical-overview-metric span{display:block;color:rgba(255,255,255,.72);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.critical-overview-metric strong{display:block;margin:6px 0 4px;color:#fff;font-size:1.9rem;line-height:1}
.critical-overview-metric small{color:rgba(255,255,255,.76);font-weight:700}.critical-overview-metric.danger strong{color:#ffb1a8}.critical-overview-metric.warning strong{color:#ffd36e}.critical-overview-metric.success strong{color:#89ffdf}
.critical-kpi-grid{margin:0 6vw 20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.critical-kpi,.critical-panel,.critical-playbook,.critical-focus-strip{background:#fff;border:1px solid rgba(14,34,56,.08);border-radius:24px;box-shadow:0 12px 32px rgba(14,34,56,.08)}
.critical-kpi{padding:20px;position:relative;overflow:hidden}.critical-kpi:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--blue)}.critical-kpi.danger:before{background:#e55242}.critical-kpi.warning:before{background:#d9b15b}.critical-kpi.success:before{background:#19c6c2}
.critical-kpi span{display:block;color:#5d6b7b;text-transform:uppercase;letter-spacing:.06em;font-weight:900;font-size:.76rem}.critical-kpi strong{display:block;font-size:2.2rem;color:var(--navy);margin:6px 0}.critical-kpi small{color:#65758a;font-weight:700;line-height:1.4}
.critical-focus-strip{margin:0 6vw 20px;padding:22px}
.critical-focus-head span,.critical-playbook-head span,.critical-panel-head span{display:block;color:#0a9390;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:900}
.critical-focus-head h2,.critical-playbook-head h2,.critical-panel-head h2{margin:6px 0 0;color:var(--navy)}
.critical-focus-grid{margin-top:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.critical-focus-card{padding:18px;border:1px solid rgba(14,34,56,.08);border-radius:20px;background:#fbfdff;display:flex;flex-direction:column;gap:10px}
.critical-focus-card.critical{border-top:4px solid #e55242}.critical-focus-card.high{border-top:4px solid #d9b15b}.critical-focus-card.medium,.critical-focus-card.low{border-top:4px solid var(--blue)}
.critical-focus-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.critical-focus-title-row strong{font-size:1.4rem;color:var(--navy)}
.critical-focus-card h3{margin:0;color:var(--navy);font-size:1rem;line-height:1.35}.critical-focus-card p{margin:0;color:#4f5f73;line-height:1.55;font-size:.92rem}.critical-focus-meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.critical-focus-meta small{color:#64748b;font-weight:700}
.critical-playbook{margin:0 6vw 22px;padding:22px}
.critical-playbook-head p,.critical-panel-intro{margin:10px 0 0;color:#5b6a7d;line-height:1.6;font-size:.95rem;max-width:920px}
.critical-step-grid{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.critical-step-card{padding:18px;border-radius:20px;background:#f8fbfd;border:1px solid rgba(14,34,56,.08)}
.critical-step-card b{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-size:1rem;margin-bottom:10px}
.critical-step-card h3{margin:0 0 8px;color:var(--navy);font-size:1rem}.critical-step-card p{margin:0;color:#4f5f73;line-height:1.6}
.critical-panel{margin:0 6vw 22px;padding:22px}.critical-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.critical-decision-table thead th{position:sticky;top:0;background:#f6f8fb;z-index:1}
.critical-row td{vertical-align:top}.critical-row.is-critical{background:rgba(229,82,66,.045)}.critical-row.is-warning{background:rgba(217,177,91,.055)}.critical-row.is-ok{background:rgba(25,198,194,.04)}
.critical-priority{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;border:1px solid rgba(14,34,56,.12)}.critical-priority.critical{background:rgba(229,82,66,.12);color:#9f2118;border-color:rgba(229,82,66,.28)}.critical-priority.high{background:rgba(217,177,91,.16);color:#765313;border-color:rgba(217,177,91,.36)}.critical-priority.medium,.critical-priority.low{background:rgba(31,120,255,.09);color:#1457b8;border-color:rgba(31,120,255,.2)}
.critical-process-cell strong{display:block;color:var(--navy)}.critical-process-cell small{display:block;margin-top:4px;color:#64748b;line-height:1.45}.critical-message-cell{min-width:260px;color:#334155;line-height:1.5}
.critical-volume-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:7px 12px;border-radius:999px;font-weight:900}.critical-volume-badge.open{background:rgba(31,120,255,.08);color:#1457b8}.critical-volume-badge.ok{background:rgba(25,198,194,.1);color:#0a9390}
.critical-grid-two{margin:0 6vw 28px;display:grid;grid-template-columns:1.05fr .95fr;gap:20px}.critical-grid-two .critical-panel{margin:0}
.critical-alert-list{display:flex;flex-direction:column;gap:12px}.critical-alert{border:1px solid rgba(14,34,56,.1);border-left:6px solid var(--blue);border-radius:18px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;background:#f8fbfd}.critical-alert.critical{border-left-color:#e55242}.critical-alert.high{border-left-color:#d9b15b}.critical-alert p{margin:8px 0;color:#334155;line-height:1.55}.critical-alert small{color:#64748b}.critical-alert-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.critical-alert-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.critical-log-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.critical-log-columns h3{margin:0 0 10px;color:var(--navy)}.critical-log-card{padding:12px 14px;border-radius:16px;background:#f8fbfd;border:1px solid rgba(14,34,56,.08);margin-bottom:10px}.critical-log-card strong{display:block;color:var(--navy)}.critical-log-card small{display:block;margin-top:5px;color:#64748b}
@media(max-width:1260px){.critical-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.critical-step-grid{grid-template-columns:1fr}.critical-grid-two{grid-template-columns:1fr}.critical-log-columns{grid-template-columns:1fr}}
@media(max-width:1100px){.critical-hero{grid-template-columns:1fr}.critical-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.critical-overview-card{max-width:520px}.critical-panel-head{flex-direction:column}}
@media(max-width:720px){.critical-hero,.critical-panel,.critical-playbook,.critical-kpi-grid,.critical-focus-strip,.critical-grid-two{margin-left:16px;margin-right:16px}.critical-hero{padding:22px;border-radius:24px}.critical-kpi-grid,.critical-focus-grid,.critical-overview-metrics{grid-template-columns:1fr}.critical-status-banner{flex-direction:column;align-items:flex-start}.critical-quick-nav{gap:8px}.critical-quick-nav a{width:100%}.critical-alert{grid-template-columns:1fr}.critical-alert-actions{justify-content:flex-start}}


/* Correctif ergonomie 2026-05-17 : Actions critiques alignées sur Centre qualité production */
.critical-quality-score .production-score-main strong{text-transform:uppercase;font-size:clamp(38px,4vw,54px)}
.critical-quality-score{background:linear-gradient(135deg,#fff,#f7fbff)}
.critical-quality-grid{padding-top:18px;padding-bottom:18px}
.critical-quality-grid .metric{position:relative;overflow:hidden}
.critical-quality-grid .metric:before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:var(--blue)}
.critical-quality-grid .metric.warning:before{background:var(--gold)}
.critical-quality-grid .metric.danger:before{background:var(--red)}
.critical-quality-actions{padding-top:0;padding-bottom:24px}
.critical-quality-actions .card ol{margin-bottom:18px}
.critical-quality-actions .card li{margin-bottom:10px;line-height:1.55}
.critical-quality-section h2,.critical-quality-secondary h2,.critical-quality-rule h2{margin-top:0}
.critical-quality-detail{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.critical-quality-detail span{display:inline-flex;gap:4px;align-items:center;border:1px solid #e7eef5;background:#f8fbfd;border-radius:999px;padding:6px 10px;color:#5d7082;font-size:.86rem}
.critical-quality-alert-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.critical-quality-alert-actions form{margin:0}
.critical-quality-secondary{padding-top:0;padding-bottom:24px;align-items:start}
.critical-quality-secondary .production-section{height:100%}
.critical-quality-log-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px}
.critical-quality-log-grid h3{margin:0 0 10px;color:var(--night)}
.critical-quality-log-grid p{border:1px solid #e7eef5;background:#f8fbfd;border-radius:16px;padding:12px 14px;margin:0 0 10px}
@media(max-width:900px){.critical-quality-log-grid{grid-template-columns:1fr}.critical-quality-alert-actions{flex-direction:row;flex-wrap:wrap}.critical-quality-score .production-score-main strong{font-size:38px}}

/* Correctif ergonomie 2026-05-17 : Diagnostic multilingue aligné sur Centre qualité production */
.i18n-quality-head p{max-width:980px}
.i18n-diagnostic-score .production-score-main strong{font-size:clamp(38px,4vw,54px)}
.i18n-diagnostic-grid{padding-top:18px;padding-bottom:18px}
.i18n-diagnostic-grid .metric{position:relative;overflow:hidden}
.i18n-diagnostic-grid .metric:before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:var(--blue)}
.i18n-diagnostic-grid .metric.warning:before{background:var(--gold)}
.i18n-diagnostic-grid .metric.danger:before{background:var(--red)}
.i18n-diagnostic-actions{padding-top:0;padding-bottom:24px;align-items:start}
.i18n-diagnostic-actions .card{height:100%}
.i18n-diagnostic-actions li{margin-bottom:10px;line-height:1.55}
.i18n-diagnostic-actions h3{margin:18px 0 8px;color:var(--night)}
.i18n-diagnostic-section h2,.i18n-diagnostic-rule h2{margin-top:0}
.i18n-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:16px}
.i18n-area-grid article{border:1px solid #e7eef5;background:#f8fbfd;border-radius:18px;padding:16px}
.i18n-area-grid span{display:block;color:#607086;font-weight:850;font-size:.9rem}
.i18n-area-grid strong{display:block;color:var(--night);font-size:30px;line-height:1.1;margin-top:8px}
.i18n-diagnostic-table-wrap{overflow:auto}
.i18n-diagnostic-table td{vertical-align:top}
.i18n-diagnostic-table details{max-width:680px}
.i18n-diagnostic-table summary{cursor:pointer;color:var(--blue);font-weight:900}
.i18n-source-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.i18n-source-preview div{border:1px solid #e7eef5;background:#f8fbfd;border-radius:14px;padding:12px}
.i18n-source-preview strong{display:block;color:var(--night);margin-bottom:6px}
.i18n-source-preview p{margin:0;color:#405063;line-height:1.45;word-break:break-word}
.compact-preview{grid-template-columns:1fr 1fr;max-width:900px}
.compact-notice{margin-top:18px}
.i18n-diagnostic-rule .status{margin-right:8px;margin-bottom:8px}
@media(max-width:900px){.i18n-source-preview,.compact-preview{grid-template-columns:1fr}.i18n-diagnostic-score .production-score-main strong{font-size:38px}}

/* Evolution statistiques administrateur — régions de consultation */
.stats-regions-card{
  margin-top:18px;
}
.stats-regions-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.stats-regions-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.stats-region-row{
  padding:14px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(14,34,56,.08);
  box-shadow:0 10px 20px rgba(14,34,56,.045);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px 12px;
  align-items:start;
}
.stats-region-main strong{
  display:block;
  color:var(--night);
  font-size:1rem;
  line-height:1.25;
}
.stats-region-main span{
  display:block;
  margin-top:4px;
  color:#607086;
  font-weight:800;
  font-size:.9rem;
  line-height:1.35;
}
.stats-region-row small{
  justify-self:end;
  padding:5px 9px;
  border-radius:999px;
  background:#eef8ff;
  color:var(--blue);
  font-weight:900;
  letter-spacing:.04em;
}
.stats-region-bar-track{
  grid-column:1 / -1;
  height:10px;
  border-radius:999px;
  background:#e6eef7;
  overflow:hidden;
}
.stats-region-bar{
  height:100%;
  min-width:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--teal),var(--blue),var(--gold));
}
.stats-regions-note{
  margin:14px 0 0;
  padding:12px 14px;
  border-radius:16px;
  background:#f6f9fc;
  border:1px solid rgba(14,34,56,.07);
  color:#607086;
  font-weight:750;
  line-height:1.45;
  font-size:.92rem;
}
@media(max-width:900px){
  .stats-regions-list{grid-template-columns:1fr}
  .stats-regions-head{flex-direction:column}
}

/* Evolution statistiques administrateur — double niveau géolocalisation / couverture aéroports */
.stats-regions-two-level-card{
  border-top:4px solid var(--teal);
}
.stats-regions-summary-pills{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.stats-regions-summary-pills span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  background:#f6f9fc;
  border:1px solid rgba(14,34,56,.08);
  color:#607086;
  font-weight:900;
  font-size:.82rem;
}
.stats-regions-summary-pills strong{
  color:var(--night);
  font-size:1rem;
}
.stats-coverage-layout{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  margin-top:16px;
}
.stats-coverage-panel{
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff,#f8fbfd);
  border:1px solid rgba(14,34,56,.08);
  box-shadow:0 12px 26px rgba(14,34,56,.055);
}
.stats-coverage-panel.inside{border-left:5px solid var(--teal)}
.stats-coverage-panel.outside{border-left:5px solid var(--gold)}
.stats-coverage-panel-head span{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#eef8ff;
  color:var(--blue);
  font-weight:950;
  font-size:.72rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.stats-coverage-panel-head h4{
  margin:10px 0 6px;
  color:var(--night);
  font-size:1.05rem;
}
.stats-coverage-panel-head p{
  margin:0;
  color:#607086;
  line-height:1.5;
  font-weight:650;
  font-size:.92rem;
}
.stats-coverage-panel .stats-regions-list{
  grid-template-columns:1fr;
}
.stats-region-main small{
  display:block;
  margin-top:7px;
  color:#607086;
  font-weight:750;
  line-height:1.35;
}
.stats-region-main em{
  display:block;
  margin-top:7px;
  color:#8a631d;
  font-style:normal;
  font-weight:800;
  line-height:1.35;
  font-size:.86rem;
}
.stats-airport-region-row{
  background:#fbfffd;
}
.stats-outside-region-row{
  background:#fffdf7;
}
.stats-region-bar.outside{
  background:linear-gradient(90deg,var(--gold),#f0c86a,#ffdf91);
}
@media(max-width:1100px){
  .stats-coverage-layout{grid-template-columns:1fr}
  .stats-regions-summary-pills{justify-content:flex-start}
}

/* Evolution statistiques administrateur — points de connexion visiteurs sans critère aéroportuaire */
.stats-connection-points-card{border-top:4px solid var(--blue)}
.stats-connection-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;margin-top:16px}
.stats-connection-panel{padding:18px;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f8fbfd);border:1px solid rgba(14,34,56,.08);box-shadow:0 12px 26px rgba(14,34,56,.055)}
.stats-connection-panel.main{border-left:5px solid var(--blue)}
.stats-connection-panel.side{border-left:5px solid var(--teal)}
.stats-connection-points-list{grid-template-columns:1fr}
.stats-connection-point-row{background:#fbfdff}
.stats-mini-ranking{margin-top:16px;padding-top:14px;border-top:1px solid rgba(14,34,56,.08)}
.stats-mini-ranking:first-of-type{margin-top:12px;padding-top:0;border-top:0}
.stats-mini-ranking h5{margin:0 0 10px;color:var(--night);font-size:.95rem}
.stats-mini-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(14,34,56,.07)}
.stats-mini-row:last-child{border-bottom:0}.stats-mini-row strong{color:var(--night);font-size:.9rem;line-height:1.25}.stats-mini-row span{color:#607086;font-weight:900;font-size:.86rem;white-space:nowrap}
@media(max-width:1100px){.stats-connection-layout{grid-template-columns:1fr}}

/* Evolution statistiques administrateur — connexions par régions de couverture commerciale */
.stats-coverage-commercial-card{border-top:4px solid var(--teal)}
.stats-commercial-coverage-layout .stats-region-main em + em{color:#0b6d78}
.stats-commercial-coverage-layout .stats-coverage-panel.inside .stats-region-bar{background:linear-gradient(90deg,var(--teal),var(--blue))}
.stats-commercial-coverage-layout .stats-coverage-panel.outside .stats-region-bar{background:linear-gradient(90deg,var(--gold),#f4cc72)}
