
.f4nmm-skeds{
--blue:#073f8c;--blue2:#0c5fc7;--green:#179447;--orange:#ee9500;--red:#e8303c;--line:#dbe5f1;--ink:#0b2550;
font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
color:var(--ink);
width:min(var(--wp--style--global--wide-size,1200px),calc(100vw - 48px))!important;
max-width:none!important;
position:relative!important;
left:50%!important;
transform:translateX(-50%)!important;
margin:0!important;
padding:0!important;
}
.f4nmm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px;padding:4px 0 0}
.f4nmm-toolbar-left{display:flex;gap:8px;align-items:center}
.f4nmm-nav,.f4nmm-today{border:1px solid var(--line);background:#fff;color:var(--blue);border-radius:9px;padding:9px 14px;font-weight:750;cursor:pointer}
.f4nmm-nav{font-size:23px;line-height:1;padding:6px 15px}
.f4nmm-month{font-size:17px;font-weight:850;color:var(--blue);letter-spacing:-.2px}
.f4nmm-utc{background:var(--blue);color:#fff;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:900}
.f4nmm-legend{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;font-size:12px;margin:0 0 6px}
.f4nmm-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px}
.f4nmm-legend i.available{background:#46b82f}.f4nmm-legend i.reserved{background:#ffb000}.f4nmm-legend i.confirmed{background:#f1223b}
.f4nmm-calendar-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.f4nmm-calendar{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));min-width:910px}
.f4nmm-dow{background:linear-gradient(90deg,#062d68,#0752a6);color:#fff;text-align:center;font-weight:800;padding:9px 4px;font-size:13px}
.f4nmm-day{min-height:126px;border-right:1px solid #e8eef5;border-top:1px solid #e8eef5;padding:9px;background:#fff}
.f4nmm-day.is-other{background:#fafbfd;color:#b6bfca}.f4nmm-day.is-past{background:#fbfcfd;color:#9aa6b5}
.f4nmm-day-number{font-weight:850;font-size:15px;margin-bottom:6px}
.f4nmm-slot{display:block;width:100%;border:1px solid #d6ead9;border-radius:7px;margin:5px 0;padding:7px 7px;text-align:left;background:#eff9ef;color:#137b27;font-weight:800;cursor:pointer}
.f4nmm-slot small{display:block;color:#45665a;font-weight:650;margin-top:2px}
.f4nmm-slot.reserved{background:#fff5df;color:#d67a00;border-color:#ffe0a4;cursor:default}
.f4nmm-slot.confirmed{background:#ffe8ea;color:#d82231;border-color:#ffc4c9;cursor:default}
.f4nmm-help{background:#eef6ff;border:1px solid #d7e8fb;padding:11px 13px;border-radius:9px;color:#0c54b7;font-size:13px}
.f4nmm-propose-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.f4nmm-propose-row span{font-size:13px;color:#4e617a}
.f4nmm-primary{border:0;border-radius:9px;background:var(--blue);color:#fff;padding:11px 16px;font-weight:850;cursor:pointer}
.f4nmm-primary:hover{background:var(--blue2)}
.f4nmm-modal[hidden]{display:none!important}.f4nmm-modal{position:fixed;z-index:99999;inset:0;background:rgba(3,15,35,.72);display:grid;place-items:center;padding:20px}
.f4nmm-dialog{position:relative;background:#fff;border-radius:16px;width:min(720px,100%);max-height:90vh;overflow:auto;padding:24px;box-shadow:0 25px 80px rgba(0,0,0,.35)}
.f4nmm-close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:30px;color:#49627f;cursor:pointer}
.f4nmm-dialog h2{margin:0 40px 8px 0;color:var(--blue)}.f4nmm-summary{background:#f4f8fd;border-radius:8px;padding:9px 11px;color:#47607e}
.f4nmm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.f4nmm-grid label{font-size:12px;font-weight:800}
.f4nmm-grid input,.f4nmm-grid select,.f4nmm-grid textarea{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #cfdbea;border-radius:8px;background:#fff;color:#142c4e}
.f4nmm-full{grid-column:1/-1}.f4nmm-privacy{font-size:11px;color:#718096}.f4nmm-form-error{background:#ffe9e9;color:#a51515;padding:9px;border-radius:7px;margin:9px 0}
.f4nmm-submit{width:100%}.f4nmm-success{text-align:center;padding:30px 10px}.f4nmm-success strong{font-size:20px;color:#16843b}
.f4nmm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:700px){.f4nmm-toolbar{align-items:flex-start}.f4nmm-month{font-size:14px}.f4nmm-grid{grid-template-columns:1fr}.f4nmm-full{grid-column:auto}.f4nmm-calendar{grid-template-columns:repeat(7,112px);min-width:784px}}

/* WordPress wide-layout integration */
.f4nmm-calendar-wrap{width:100%!important;max-width:none!important}
.f4nmm-calendar{width:100%!important}
.wp-block-shortcode:has(.f4nmm-skeds){overflow:visible!important}


/* v1.2 — bouton d'envoi visible dans la fenêtre modale */
.f4nmm-modal{
    --blue:#073f8c;
    --blue2:#0c5fc7;
    --green:#179447;
    --orange:#ee9500;
    --red:#e8303c;
    --line:#dbe5f1;
    --ink:#0b2550;
}

.f4nmm-dialog .f4nmm-submit{
    display:block !important;
    width:100% !important;
    margin-top:14px !important;
    padding:13px 18px !important;
    border:0 !important;
    border-radius:9px !important;
    background:#073f8c !important;
    color:#ffffff !important;
    font-weight:850 !important;
    font-size:15px !important;
    cursor:pointer !important;
    opacity:1 !important;
    visibility:visible !important;
}

.f4nmm-dialog .f4nmm-submit:hover{
    background:#0c5fc7 !important;
}

.f4nmm-dialog .f4nmm-submit:disabled{
    opacity:.65 !important;
    cursor:wait !important;
}

/* v1.4 — états explicites dans le calendrier */
.f4nmm-slot.reserved strong,.f4nmm-slot.confirmed strong{display:block;font-size:11px;letter-spacing:.3px;margin-bottom:2px}


/* v1.5 — état très visible dans chaque créneau */
.f4nmm-state-badge{
    display:inline-block;
    margin:0 0 5px 0;
    padding:3px 7px;
    border-radius:999px;
    font-size:10px;
    line-height:1.15;
    font-weight:950;
    letter-spacing:.45px;
}
.f4nmm-reserved-badge{
    background:#f2a000;
    color:#fff;
}
.f4nmm-confirmed-badge{
    background:#e8303c;
    color:#fff;
}


/* F4NMM v2 — page d'accueil tout-en-un */
.f4nmm-home-page .entry-title,
.f4nmm-home-page .wp-block-post-title,
.f4nmm-home-page main > h1:first-child{display:none!important}

.f4nmm-home-page .entry-content,
.f4nmm-home-page .wp-block-post-content{margin-top:0!important}

.f4nmm-home{
    width:min(var(--wp--style--global--wide-size,1400px),calc(100vw - 32px));
    max-width:none!important;
    position:relative;
    left:50%;
    transform:translateX(-50%);
    margin:0 auto!important;
    padding:0!important
}

.f4nmm-home-banner{width:100%;margin:0 0 10px 0;padding:0}
.f4nmm-home-banner img{display:block;width:100%;height:auto;border-radius:12px}
.f4nmm-home-calendar{width:100%;margin:0;padding:0}

.f4nmm-home .f4nmm-skeds{
    width:100%!important;
    max-width:none!important;
    position:static!important;
    left:auto!important;
    transform:none!important;
    margin:0!important
}

.f4nmm-home .f4nmm-toolbar{padding-top:2px!important}
.f4nmm-home .f4nmm-month{font-size:22px!important;font-weight:900!important}
.f4nmm-home .f4nmm-dow{font-size:15px!important;font-weight:900!important}
.f4nmm-home .f4nmm-day-number{font-size:18px!important;font-weight:900!important}

@media(max-width:700px){
    .f4nmm-home{width:calc(100vw - 16px)}
    .f4nmm-home-banner img{border-radius:8px}
    .f4nmm-home .f4nmm-month{font-size:18px!important}
}


/* =========================================================
   F4NMM v2.1 — calendrier 7 jours + propagation NOAA/SWPC
   ========================================================= */
.f4nmm-propbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:8px 0 6px;padding:10px 12px;background:#f5f9ff;border:1px solid #dbe8f7;border-radius:11px}
.f4nmm-propbar-copy{display:flex;flex-direction:column;gap:2px}.f4nmm-propbar-copy strong{color:#073f8c;font-size:14px}.f4nmm-propbar-copy span{font-size:11px;color:#657b97}
.f4nmm-band-tabs{display:flex;gap:5px;flex-wrap:wrap}.f4nmm-band-tabs button{border:1px solid #c8d8eb;background:#fff;color:#073f8c;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:850;cursor:pointer}.f4nmm-band-tabs button.is-active{background:#073f8c;color:#fff;border-color:#073f8c}
.f4nmm-prop-updated{text-align:right;font-size:10px;color:#74869e;margin:0 0 5px}

.f4nmm-calendar-wrap{overflow-x:auto}
.f4nmm-calendar{display:grid!important;grid-template-columns:repeat(7,minmax(150px,1fr))!important;min-width:1050px!important;background:#fff}
.f4nmm-day{min-height:260px!important;padding:0 8px 10px!important;border-top:0!important;border-right:1px solid #e8eef5!important;background:#fff!important}
.f4nmm-day:last-child{border-right:0!important}.f4nmm-day.is-past{background:#fbfcfd!important}.f4nmm-day.is-today{box-shadow:inset 0 0 0 2px #0c5fc7}
.f4nmm-day>.f4nmm-dow{margin:0 -8px 8px;padding:8px 4px 9px;min-height:59px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#062d68,#0752a6);color:#fff;text-align:center}.f4nmm-day>.f4nmm-dow span{text-transform:capitalize;font-size:11px;font-weight:800;opacity:.9}.f4nmm-day>.f4nmm-dow strong{font-size:20px;line-height:1.05}.f4nmm-day>.f4nmm-dow small{font-size:10px;opacity:.85}
.f4nmm-loading{grid-column:1/-1;padding:28px;text-align:center;color:#526a86}.f4nmm-loading-error{color:#a51515}

.f4nmm-prop-card{display:grid;grid-template-columns:1fr auto;grid-template-areas:'band score' 'label score' 'kind kind';width:100%;border:1px solid #d7e2ee;border-radius:9px;padding:8px;text-align:left;background:#f8fafc;color:#28415e;cursor:pointer;margin:0 0 8px}.f4nmm-prop-card .f4nmm-prop-band{grid-area:band;font-size:11px;font-weight:900}.f4nmm-prop-card strong{grid-area:score;font-size:19px;align-self:center}.f4nmm-prop-card small{grid-area:label;font-size:10px;font-weight:800}.f4nmm-prop-card em{grid-area:kind;font-size:9px;font-style:normal;margin-top:4px;opacity:.72}
.f4nmm-prop-card.excellent,.f4nmm-slot-prop.excellent,.f4nmm-prop-score.excellent{background:#e8f7ed;border-color:#bfe5ca;color:#13733a}
.f4nmm-prop-card.good,.f4nmm-slot-prop.good,.f4nmm-prop-score.good{background:#eef8e9;border-color:#cfe7c4;color:#3e7f20}
.f4nmm-prop-card.variable,.f4nmm-slot-prop.variable,.f4nmm-prop-score.variable{background:#fff5da;border-color:#f2d894;color:#9a6810}
.f4nmm-prop-card.poor,.f4nmm-slot-prop.poor,.f4nmm-prop-score.poor{background:#ffe9e9;border-color:#f2bcbc;color:#a52b2b}
.f4nmm-prop-card.na{cursor:default;opacity:.72}

.f4nmm-slot-list{display:flex;flex-direction:column;gap:6px}.f4nmm-no-slot{padding:10px 4px;font-size:11px;color:#9aa8b8;text-align:center}.f4nmm-slot{margin:0!important;padding:8px!important}.f4nmm-slot-time{display:block;font-size:13px;font-weight:900}.f4nmm-slot-prop{display:block;margin-top:6px;padding:4px 6px;border:1px solid;border-radius:6px;font-size:9px;font-weight:850;line-height:1.25;cursor:pointer}

.f4nmm-prop-modal[hidden]{display:none!important}.f4nmm-prop-modal{position:fixed;z-index:100000;inset:0;background:rgba(3,15,35,.72);display:grid;place-items:center;padding:20px}.f4nmm-prop-dialog{position:relative;background:#fff;border-radius:16px;width:min(560px,100%);max-height:90vh;overflow:auto;padding:24px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.f4nmm-prop-close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:30px;color:#49627f;cursor:pointer}.f4nmm-prop-dialog h2{margin:0 40px 14px 0;color:#073f8c}.f4nmm-prop-score{display:flex;align-items:center;gap:12px;border:1px solid;border-radius:10px;padding:12px 14px;margin-bottom:14px}.f4nmm-prop-score strong{font-size:25px}.f4nmm-prop-score span{font-weight:850}.f4nmm-prop-detail dl{margin:0}.f4nmm-prop-detail dl>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:8px 0;border-bottom:1px solid #edf1f5}.f4nmm-prop-detail dt{font-weight:800;color:#526987}.f4nmm-prop-detail dd{margin:0;text-align:right;color:#17395f}.f4nmm-prop-note{font-size:11px;line-height:1.5;color:#6d7f94;background:#f6f8fb;border-radius:8px;padding:10px;margin:14px 0 0}

@media(max-width:700px){.f4nmm-propbar{align-items:flex-start}.f4nmm-band-tabs{width:100%}.f4nmm-band-tabs button{flex:1 0 28%}.f4nmm-calendar{grid-template-columns:repeat(7,145px)!important;min-width:1015px!important}.f4nmm-prop-updated{text-align:left}.f4nmm-prop-detail dl>div{grid-template-columns:1fr}.f4nmm-prop-detail dd{text-align:left}}


/* =========================================================
   F4NMM v2.1.1 - separation visuelle SKED / PROPAGATION
   Bleu-violet = etat du rendez-vous
   Vert-jaune-rouge = propagation uniquement
   ========================================================= */

/* Legende des statuts de rendez-vous */
.f4nmm-legend i.available{background:#0c5fc7!important}
.f4nmm-legend i.reserved{background:#7b3fc6!important}
.f4nmm-legend i.confirmed{background:#073f8c!important}

/* Cartes de rendez-vous : aucune couleur feu tricolore */
.f4nmm-slot{
    background:#f7fbff!important;
    border:1px solid #9ec8f5!important;
    color:#073f8c!important;
    box-shadow:inset 4px 0 0 #0c5fc7;
}
.f4nmm-slot small{
    color:#496a91!important;
}
.f4nmm-slot:hover{
    background:#eef6ff!important;
    border-color:#6eafea!important;
}

.f4nmm-slot.reserved{
    background:#f8f3ff!important;
    border-color:#d5bdf0!important;
    color:#62339a!important;
    box-shadow:inset 4px 0 0 #7b3fc6;
    cursor:default!important;
}
.f4nmm-slot.reserved small{
    color:#735791!important;
}

.f4nmm-slot.confirmed{
    background:#f1f6ff!important;
    border-color:#9ab8e3!important;
    color:#073f8c!important;
    box-shadow:inset 4px 0 0 #073f8c;
    cursor:default!important;
}
.f4nmm-slot.confirmed small{
    color:#3e5e87!important;
}

/* Badges d'etat */
.f4nmm-available-badge{
    background:#0c5fc7!important;
    color:#fff!important;
}
.f4nmm-reserved-badge{
    background:#7b3fc6!important;
    color:#fff!important;
}
.f4nmm-confirmed-badge{
    background:#073f8c!important;
    color:#fff!important;
}

/* La propagation conserve exclusivement les couleurs
   vert / jaune / rouge, avec un fond volontairement tres leger. */
.f4nmm-prop-card{
    background:#fff!important;
    border-width:1px 1px 1px 4px!important;
}
.f4nmm-prop-card.excellent{
    background:#fbfefc!important;
    border-color:#36a85d!important;
    color:#13733a!important;
}
.f4nmm-prop-card.good{
    background:#fcfefb!important;
    border-color:#72b84d!important;
    color:#3e7f20!important;
}
.f4nmm-prop-card.variable{
    background:#fffdf7!important;
    border-color:#e5aa2d!important;
    color:#93630d!important;
}
.f4nmm-prop-card.poor{
    background:#fffafa!important;
    border-color:#df5a5a!important;
    color:#a52b2b!important;
}

/* Les pastilles de propagation dans les skeds restent tres lisibles. */
.f4nmm-slot-prop.excellent{background:#e8f7ed!important;border-color:#bfe5ca!important;color:#13733a!important}
.f4nmm-slot-prop.good{background:#eef8e9!important;border-color:#cfe7c4!important;color:#3e7f20!important}
.f4nmm-slot-prop.variable{background:#fff5da!important;border-color:#f2d894!important;color:#9a6810!important}
.f4nmm-slot-prop.poor{background:#ffe9e9!important;border-color:#f2bcbc!important;color:#a52b2b!important}


/* =========================================================
   F4NMM v2.1.2 - formulaire : correction des chevauchements
   ========================================================= */

.f4nmm-dialog,
.f4nmm-dialog *,
.f4nmm-dialog *::before,
.f4nmm-dialog *::after{
    box-sizing:border-box;
}

.f4nmm-dialog{
    width:min(720px,calc(100vw - 24px))!important;
    max-width:720px!important;
}

.f4nmm-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:16px!important;
    row-gap:14px!important;
    width:100%!important;
}

.f4nmm-grid > label{
    min-width:0!important;
    width:100%!important;
    overflow-wrap:anywhere;
}

.f4nmm-grid input,
.f4nmm-grid select,
.f4nmm-grid textarea{
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
}

/* Les contrôles natifs date/heure de Chrome ont parfois une largeur
   intrinsèque supérieure à leur colonne : on les contraint explicitement. */
.f4nmm-grid input[type="date"],
.f4nmm-grid input[type="time"],
.f4nmm-grid input[type="email"]{
    min-width:0!important;
    width:100%!important;
}

/* Passage en une seule colonne sur écran étroit. */
@media(max-width:700px){
    .f4nmm-grid{
        grid-template-columns:minmax(0,1fr)!important;
    }
    .f4nmm-full{
        grid-column:auto!important;
    }
}


/* =========================================================
   F4NMM v3.0.8 — titre, semaine et accès d'aide
   ========================================================= */

.f4nmm-flight-console .f4nmm-community-title h2{
    font-size:clamp(24px,1.9vw,31px)!important;
    line-height:1.12!important;
}

.f4nmm-title-lines{
    display:grid;
    gap:5px;
    margin-top:11px;
}

.f4nmm-flight-console .f4nmm-community-title .f4nmm-title-lines p{
    margin:0!important;
    font-size:17px!important;
    line-height:1.25!important;
    font-weight:950!important;
}

.f4nmm-flight-console .f4nmm-community-title .f4nmm-title-green{
    color:#62851b!important;
}

.f4nmm-flight-console .f4nmm-community-title .f4nmm-title-yellow{
    color:#e2a82e!important;
}

.f4nmm-title-lines p::before,
.f4nmm-title-lines p::after{
    content:none!important;
    display:none!important;
}

.f4nmm-top-actions{
    grid-template-columns:minmax(350px,.75fr) minmax(440px,1.15fr) minmax(210px,.45fr);
    margin:12px 0 0;
}

.f4nmm-utility-cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(96px,1fr));
    gap:9px;
}

.f4nmm-utility-card{
    display:flex;
    align-items:center;
    flex-direction:column;
    justify-content:center;
    min-height:70px;
    padding:9px 11px;
    border:2px solid;
    border-radius:10px;
    background:#fff;
    font-family:inherit;
    line-height:1.15;
    text-align:center;
    text-decoration:none!important;
    cursor:pointer;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

.f4nmm-utility-card strong{
    font-size:17px;
    font-weight:950;
}

.f4nmm-utility-card span{
    margin-top:5px;
    font-size:12px;
    font-weight:750;
}

.f4nmm-help-card{
    border-color:var(--f4nmm-structure-blue);
    color:#073f8c;
}

.f4nmm-contact-card{
    border-color:var(--f4nmm-structure-orange);
    color:#8a3217!important;
}

.f4nmm-utility-card:hover,
.f4nmm-utility-card:focus-visible{
    background:#eef8ff;
    box-shadow:0 6px 15px rgba(7,63,140,.15);
    transform:translateY(-1px);
}

.f4nmm-help-steps{
    display:grid;
    gap:10px;
    margin:18px 0 0;
    padding-left:24px;
    color:#294b70;
    font-size:16px;
    line-height:1.45;
}

.f4nmm-airport-brand strong{
    font-size:24px!important;
    letter-spacing:.7px!important;
}

.f4nmm-table-toolbar .f4nmm-month{
    display:flex!important;
    align-items:center;
    justify-content:center;
    justify-self:center!important;
    min-width:340px;
    min-height:46px;
    padding:8px 18px;
    border:2px solid #87d6f3!important;
    border-radius:11px;
    background:var(--f4nmm-structure-blue)!important;
    color:#082d5a!important;
    font-size:23px!important;
    box-shadow:0 5px 14px rgba(93,192,232,.28)!important;
}

@media(max-width:1250px){
    .f4nmm-top-actions{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    }

    .f4nmm-utility-cards{
        grid-column:1 / -1;
    }
}

@media(max-width:960px){
    .f4nmm-top-actions{
        grid-template-columns:minmax(0,1fr);
    }

    .f4nmm-utility-cards{
        grid-column:auto;
    }
}

@media(max-width:700px){
    .f4nmm-airport-brand strong{
        font-size:20px!important;
    }

    .f4nmm-table-toolbar .f4nmm-month{
        min-width:260px;
        font-size:19px!important;
    }
}


/* =========================================================
   F4NMM v2.1.3 - bannière finale
   ========================================================= */

.f4nmm-home-banner{
    width:100%!important;
    margin:0 0 8px 0!important;
    padding:0!important;
    text-align:center;
}

.f4nmm-home-banner img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:0 auto!important;
    border-radius:10px!important;
}

.f4nmm-home-calendar{
    margin-top:0!important;
}


/* =========================================================
   F4NMM v3.0 - Communauté
   ========================================================= */
.f4nmm-community-title{text-align:center;margin:0 0 14px}.f4nmm-community-title h2{margin:0;color:#073f8c;font-size:clamp(22px,2.2vw,34px)}.f4nmm-community-title p{margin:5px 0 0;color:#4a607a}
.f4nmm-accountbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid #cbdff5;background:#f6faff;border-radius:10px;padding:10px 12px;margin:0 0 12px}.f4nmm-account-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.f4nmm-secondary,.f4nmm-link-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #0c5fc7;background:#fff;color:#0c5fc7;border-radius:8px;padding:9px 13px;font-weight:700;text-decoration:none;cursor:pointer}.f4nmm-unverified{display:inline-block;background:#fff3cd;color:#7a5a00;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.f4nmm-account-ok{background:#e8f7ed;border:1px solid #bfe5ca;color:#13733a;padding:10px 12px;border-radius:8px;margin-bottom:12px;font-weight:700}
.f4nmm-community-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:8px 0 12px}.f4nmm-community-filters label{font-weight:800;color:#173d68}.f4nmm-community-filters select{display:block;margin-top:4px;min-width:150px;border:1px solid #b8c9dc;border-radius:7px;padding:7px;background:#fff}
.f4nmm-slot-who{display:block;font-size:13px;margin:3px 0;color:inherit}.f4nmm-slot-note{font-style:italic}.f4nmm-slot-prop.na{background:#f2f2f2!important;border-color:#ddd!important;color:#666!important}
.f4nmm-auth-content>h2,.f4nmm-publish-modal h2,.f4nmm-reserve-modal h2,.f4nmm-account-modal h2{margin-top:0}.f4nmm-auth-content form>label,.f4nmm-reserve-form>label{display:block;margin:10px 0;font-weight:700}.f4nmm-auth-content input,.f4nmm-reserve-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #bdcbd9;border-radius:8px;padding:10px}.f4nmm-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.f4nmm-account-dialog{width:min(900px,calc(100vw - 24px))!important;max-width:900px!important}.f4nmm-profile-box{border-bottom:1px solid #d7e2ee;padding-bottom:15px;margin-bottom:15px}.f4nmm-verify-box{margin-top:12px;background:#fff8dc;border:1px solid #edd58c;border-radius:8px;padding:10px}.f4nmm-account-content h3{color:#073f8c;margin:18px 0 8px}.f4nmm-area-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #dbe6f2;border-radius:8px;padding:9px 10px;margin:6px 0;background:#fff}.f4nmm-area-request{background:#faf7ff;border-color:#dfd2ef}.f4nmm-mini{border:1px solid #8aa9cc;background:#fff;border-radius:6px;padding:5px 8px;cursor:pointer;font-weight:700}.f4nmm-mini.yes{border-color:#4a9b65;color:#216b39}.f4nmm-mini.no{border-color:#c37b7b;color:#9d3030}
@media(max-width:700px){.f4nmm-accountbar{align-items:flex-start}.f4nmm-account-actions{width:100%}.f4nmm-account-actions>*{flex:1}.f4nmm-community-filters label{flex:1}.f4nmm-community-filters select{min-width:0;width:100%}.f4nmm-area-row{align-items:flex-start;flex-direction:column}}


/* =========================================================
   F4NMM v3.0.1 — créneaux proposés / jours sans proposition
   ========================================================= */

.f4nmm-no-slot-action{
    appearance:none;
    width:100%;
    min-height:82px;
    margin:2px 0 0;
    padding:12px 8px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;

    background:#fbfdff;
    border:1.5px dashed #9fc1e7;
    border-radius:10px;

    color:#738aa5;
    text-align:center;
    cursor:pointer;

    font-family:inherit;
    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease,
        transform .15s ease,
        box-shadow .15s ease;
}

.f4nmm-no-slot-action strong{
    font-size:14px;
    line-height:1.15;
    font-weight:700;
    color:#6d829a;
}

.f4nmm-no-slot-action span{
    font-size:14px;
    line-height:1.15;
    font-weight:800;
    color:#0c5fc7;
}

.f4nmm-no-slot-action:hover,
.f4nmm-no-slot-action:focus-visible{
    background:#f2f8ff;
    border-color:#0c5fc7;
    color:#073f8c;
    transform:translateY(-1px);
    box-shadow:0 4px 10px rgba(7,63,140,.08);
    outline:none;
}

.f4nmm-no-slot-action:hover strong,
.f4nmm-no-slot-action:focus-visible strong{
    color:#496887;
}

.f4nmm-no-slot-action:hover span,
.f4nmm-no-slot-action:focus-visible span{
    color:#073f8c;
}


/* =========================================================
   F4NMM v3.0.3 — calendrier « tableau des arrivées »
   ========================================================= */

.f4nmm-calendar-wrap{
    overflow-x:auto!important;
    border:3px solid #0b2853!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 14px 34px rgba(7,45,104,.18),0 0 0 1px rgba(12,95,199,.12);
}

.f4nmm-calendar{
    display:block!important;
    width:100%!important;
    min-width:1240px!important;
    background:#fff!important;
}

.f4nmm-airport-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:16px 18px;
    background:linear-gradient(180deg,#051c43,#07366f);
    color:#fff;
    border-bottom:3px solid #2d78c7;
    letter-spacing:.75px;
}

.f4nmm-airport-heading strong{
    font-size:19px;
    font-weight:900;
}

.f4nmm-airport-heading span{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
    font-size:14px;
    font-weight:800;
    opacity:.88;
}

.f4nmm-airport-table{
    width:100%;
    min-width:1240px;
    border-collapse:collapse;
    table-layout:fixed;
    background:#fff;
}

.f4nmm-airport-table th{
    padding:13px 11px;
    background:#0b2853;
    color:#dcecff;
    border-right:1px solid rgba(255,255,255,.10);
    border-bottom:2px solid #52779f;
    font-size:14px;
    font-weight:900;
    letter-spacing:.65px;
    text-align:left;
    white-space:nowrap;
}

.f4nmm-airport-table th:last-child{
    border-right:0;
}

.f4nmm-airport-table th:nth-child(1){width:155px}
.f4nmm-airport-table th:nth-child(2){width:100px}
.f4nmm-airport-table th:nth-child(3){width:245px}
.f4nmm-airport-table th:nth-child(4){width:80px}
.f4nmm-airport-table th:nth-child(5){width:76px}
.f4nmm-airport-table th:nth-child(6){width:205px}
.f4nmm-airport-table th:nth-child(7){width:190px}
.f4nmm-airport-table th:nth-child(8){width:175px}

.f4nmm-airport-row{
    background:#fff;
    border-bottom:2px solid #d4e0ed;
    box-shadow:inset 5px 0 0 #0c5fc7;
}

.f4nmm-airport-row:nth-child(even){
    background:#f7faff;
}

.f4nmm-airport-row:last-child{
    border-bottom:0;
}

.f4nmm-airport-row.status-reserved{
    box-shadow:inset 5px 0 0 #7b3fc6;
}

.f4nmm-airport-row.status-confirmed{
    box-shadow:inset 5px 0 0 #073f8c;
}

.f4nmm-airport-row.is-today{
    background:#edf6ff;
}

.f4nmm-airport-row.is-past{
    opacity:.62;
    box-shadow:inset 5px 0 0 #9aa8b8;
}

.f4nmm-airport-table td{
    height:94px;
    padding:13px 11px;
    border-right:1px solid #d7e3ef;
    color:#17395f;
    font-size:16px;
    vertical-align:middle;
    overflow-wrap:anywhere;
}

.f4nmm-airport-table td:last-child{
    border-right:0;
}

.f4nmm-airport-date{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 9px;
    border:1px solid #bfd1e5;
    border-radius:6px;
    background:#f7fbff;
    color:#073f8c;
    font-size:13px;
    font-weight:900;
    letter-spacing:.3px;
    white-space:nowrap;
}

.f4nmm-airport-time,
.f4nmm-airport-frequency{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
    font-variant-numeric:tabular-nums;
}

.f4nmm-airport-time strong{
    display:block;
    color:#051c43;
    font-size:24px;
    line-height:1;
    letter-spacing:.5px;
}

.f4nmm-airport-time small,
.f4nmm-airport-station small,
.f4nmm-airport-frequency small{
    display:block;
    margin-top:4px;
    color:#637a95;
    font-size:13px;
    line-height:1.35;
}

.f4nmm-airport-station>strong{
    display:block;
    color:#073f8c;
    font-size:19px;
    font-weight:950;
    letter-spacing:.35px;
}

.f4nmm-airport-note{
    font-style:italic;
}

.f4nmm-airport-band,
.f4nmm-airport-mode{
    color:#073f8c!important;
    font-size:17px;
    font-weight:900;
    white-space:nowrap;
}

.f4nmm-airport-frequency>strong{
    display:block;
    color:#17395f;
    font-size:15px;
}

.f4nmm-muted,
.f4nmm-empty-copy{
    color:#7b8da2;
}

.f4nmm-auto-frequency{
    display:block;
    color:#0c5fc7;
    font-size:14px;
    font-weight:850;
    line-height:1.25;
}

.f4nmm-airport-prop{
    appearance:none;
    display:grid;
    grid-template-columns:12px 1fr;
    grid-template-areas:"dot score" "dot label";
    align-items:center;
    column-gap:9px;
    width:100%;
    padding:10px;
    border:2px solid #d7e2ee;
    border-radius:8px;
    background:#fff;
    color:#28415e;
    font-family:inherit;
    text-align:left;
}

button.f4nmm-airport-prop{
    cursor:pointer;
}

.f4nmm-airport-prop i{
    grid-area:dot;
    display:block;
    width:11px;
    height:11px;
    border-radius:50%;
    background:#9aa8b8;
}

.f4nmm-airport-prop strong{
    grid-area:score;
    font-size:15px;
    line-height:1.1;
}

.f4nmm-airport-prop small{
    grid-area:label;
    font-size:13px;
    line-height:1.1;
}

.f4nmm-airport-prop.excellent,
.f4nmm-airport-prop.good{
    border-color:#bfe5ca;
    background:#eef8e9;
    color:#236f34;
}

.f4nmm-airport-prop.excellent i,
.f4nmm-airport-prop.good i{
    background:#2d9b50;
}

.f4nmm-airport-prop.variable{
    border-color:#f2d894;
    background:#fff5da;
    color:#8a5d0d;
}

.f4nmm-airport-prop.variable i{
    background:#d69a20;
}

.f4nmm-airport-prop.poor{
    border-color:#f2bcbc;
    background:#ffe9e9;
    color:#9a2929;
}

.f4nmm-airport-prop.poor i{
    background:#d64545;
}

.f4nmm-airport-prop.na{
    background:#f2f4f7;
    color:#6f7d8e;
}

.f4nmm-flight-state{
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    padding:8px 10px;
    border:2px solid transparent;
    border-radius:7px;
    font-family:inherit;
    font-size:13px;
    font-weight:950;
    line-height:1.15;
    letter-spacing:.35px;
    text-align:center;
}

button.f4nmm-flight-state{
    cursor:pointer;
}

.f4nmm-flight-state.available{
    background:#0c5fc7;
    border-color:#0c5fc7;
    color:#fff;
}

button.f4nmm-flight-state.available:hover,
button.f4nmm-flight-state.available:focus-visible{
    background:#073f8c;
    border-color:#073f8c;
    outline:2px solid #8fc5ff;
    outline-offset:2px;
}

.f4nmm-flight-state.reserved{
    background:#7b3fc6;
    border-color:#7b3fc6;
    color:#fff;
}

.f4nmm-flight-state.confirmed{
    background:#073f8c;
    border-color:#073f8c;
    color:#fff;
}

.f4nmm-flight-state.empty,
.f4nmm-flight-state.past{
    background:#eef2f6;
    border-color:#ccd7e2;
    color:#65778c;
}

.f4nmm-airport-propose{
    appearance:none;
    display:flex;
    flex-direction:column;
    gap:3px;
    width:100%;
    padding:10px 11px;
    border:2px dashed #91b9e3;
    border-radius:7px;
    background:#f7fbff;
    color:#496887;
    font-family:inherit;
    text-align:left;
    cursor:pointer;
}

.f4nmm-airport-propose strong{
    font-size:14px;
}

.f4nmm-airport-propose span{
    color:#0c5fc7;
    font-size:14px;
    font-weight:900;
}

.f4nmm-airport-propose:hover,
.f4nmm-airport-propose:focus-visible{
    background:#eaf4ff;
    border-color:#0c5fc7;
    outline:2px solid #b9dafb;
    outline-offset:2px;
}

@media(max-width:700px){
    .f4nmm-calendar,
    .f4nmm-airport-table{
        min-width:1120px!important;
    }

    .f4nmm-airport-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }

    .f4nmm-airport-table th:nth-child(1){width:145px}
    .f4nmm-airport-table th:nth-child(3){width:220px}
    .f4nmm-airport-table th:nth-child(6){width:190px}
    .f4nmm-airport-table th:nth-child(7){width:180px}
    .f4nmm-airport-table th:nth-child(8){width:165px}
}


/* =========================================================
   F4NMM v3.0.4 — console compacte entre bannière et tableau
   ========================================================= */

.f4nmm-flight-console{
    margin:0 0 14px;
    padding:14px;
    border:2px solid #9db8d6;
    border-top:6px solid #073f8c;
    border-radius:14px;
    background:linear-gradient(180deg,#f7fbff,#edf4fb);
    box-shadow:0 8px 22px rgba(7,45,104,.10);
}

.f4nmm-console-top{
    display:grid;
    grid-template-columns:minmax(300px,.8fr) minmax(520px,1.5fr);
    align-items:stretch;
    gap:12px;
}

.f4nmm-flight-console .f4nmm-community-title{
    display:flex;
    flex-direction:column;
    justify-content:center;
    margin:0;
    padding:11px 14px;
    border:1px solid #c7d9eb;
    border-radius:10px;
    background:#fff;
    text-align:left;
}

.f4nmm-flight-console .f4nmm-community-title h2{
    margin:0;
    color:#073f8c;
    font-size:clamp(22px,1.8vw,29px);
    line-height:1.1;
}

.f4nmm-flight-console .f4nmm-community-title p{
    margin:5px 0 0;
    color:#4a607a;
    font-size:15px;
}

.f4nmm-flight-console .f4nmm-accountbar{
    min-height:76px;
    margin:0;
    padding:11px 13px;
    border-color:#b9d0e8;
    background:#fff;
    font-size:15px;
}

.f4nmm-console-main{
    display:grid;
    grid-template-columns:minmax(560px,1fr) auto;
    align-items:center;
    gap:12px;
    margin-top:12px;
}

.f4nmm-flight-console .f4nmm-toolbar{
    min-height:58px;
    margin:0;
    padding:8px 10px;
    border:1px solid #c7d9eb;
    border-radius:10px;
    background:#fff;
}

.f4nmm-flight-console .f4nmm-month{
    font-size:20px;
}

.f4nmm-flight-console .f4nmm-nav,
.f4nmm-flight-console .f4nmm-today{
    min-height:41px;
    font-size:15px;
}

.f4nmm-flight-console .f4nmm-community-filters{
    min-height:58px;
    margin:0;
    padding:8px 10px;
    border:1px solid #c7d9eb;
    border-radius:10px;
    background:#fff;
}

.f4nmm-flight-console .f4nmm-community-filters label{
    font-size:14px;
}

.f4nmm-flight-console .f4nmm-community-filters select{
    min-width:135px;
    padding:8px;
    font-size:15px;
}

.f4nmm-console-prop{
    display:grid;
    grid-template-columns:minmax(650px,1fr) minmax(330px,.55fr);
    align-items:stretch;
    gap:12px;
    margin-top:12px;
}

.f4nmm-flight-console .f4nmm-propbar{
    margin:0;
    padding:10px 12px;
    border-color:#c7d9eb;
    background:#fff;
}

.f4nmm-flight-console .f4nmm-propbar-copy strong{
    font-size:16px;
}

.f4nmm-flight-console .f4nmm-propbar-copy span{
    font-size:13px;
}

.f4nmm-flight-console .f4nmm-band-tabs button{
    min-height:35px;
    padding:7px 11px;
    font-size:14px;
}

.f4nmm-console-status{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:8px;
    padding:10px 12px;
    border:1px solid #c7d9eb;
    border-radius:10px;
    background:#fff;
}

.f4nmm-console-status .f4nmm-prop-updated{
    margin:0;
    color:#607690;
    font-size:12px;
    text-align:left;
}

.f4nmm-console-status .f4nmm-legend{
    justify-content:flex-start;
    gap:10px 15px;
    margin:0;
    color:#294b70;
    font-size:13px;
    font-weight:750;
}

.f4nmm-console-status .f4nmm-legend i{
    width:13px;
    height:13px;
}

@media(max-width:1100px){
    .f4nmm-console-top,
    .f4nmm-console-main,
    .f4nmm-console-prop{
        grid-template-columns:minmax(0,1fr);
    }

    .f4nmm-console-main,
    .f4nmm-console-prop{
        margin-top:10px;
    }
}

@media(max-width:700px){
    .f4nmm-flight-console{
        padding:9px;
    }

    .f4nmm-flight-console .f4nmm-toolbar{
        align-items:center;
        flex-wrap:wrap;
    }

    .f4nmm-flight-console .f4nmm-month{
        order:3;
        width:100%;
        font-size:18px!important;
        text-align:center;
    }

    .f4nmm-flight-console .f4nmm-community-filters{
        width:auto;
    }
}


/* =========================================================
   F4NMM v3.0.5 — centrage, contrastes et raccord bannière
   Rouge relevé sur les parties éclairées du pylône : #d33d22
   ========================================================= */

.f4nmm-skeds{
    --f4nmm-pylon-red:#d33d22;
    --f4nmm-pylon-red-dark:#a92d1a;
    --f4nmm-status-proposed:#0077ff;
    --f4nmm-status-reserved:#8b2cff;
    --f4nmm-status-confirmed:#e00078;
}

/* Le module reprend la largeur réelle du bloc WordPress, sans débord à droite. */
.f4nmm-home,
.f4nmm-home-calendar,
.f4nmm-home .f4nmm-skeds{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    margin-left:0!important;
    margin-right:0!important;
}

.wp-block-shortcode:has(.f4nmm-home){
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
}

/* Tous les contenus du tableau sont centrés dans leurs cellules. */
.f4nmm-airport-table th,
.f4nmm-airport-table td{
    text-align:center!important;
}

.f4nmm-airport-table td>*{
    margin-left:auto;
    margin-right:auto;
}

.f4nmm-airport-station,
.f4nmm-airport-station>strong,
.f4nmm-airport-station small,
.f4nmm-airport-frequency,
.f4nmm-airport-frequency>strong,
.f4nmm-airport-frequency small,
.f4nmm-auto-frequency{
    text-align:center!important;
}

.f4nmm-airport-propose{
    align-items:center!important;
    text-align:center!important;
}

.f4nmm-airport-prop{
    grid-template-columns:12px auto!important;
    justify-content:center!important;
    text-align:center!important;
}

/* Trois statuts nettement séparés et plus lumineux. */
.f4nmm-legend i.available{
    background:var(--f4nmm-status-proposed)!important;
    box-shadow:0 0 0 2px rgba(0,119,255,.18);
}

.f4nmm-legend i.reserved{
    background:var(--f4nmm-status-reserved)!important;
    box-shadow:0 0 0 2px rgba(139,44,255,.18);
}

.f4nmm-legend i.confirmed{
    background:var(--f4nmm-status-confirmed)!important;
    box-shadow:0 0 0 2px rgba(224,0,120,.18);
}

.f4nmm-airport-row.status-available{
    box-shadow:inset 6px 0 0 var(--f4nmm-status-proposed)!important;
}

.f4nmm-airport-row.status-reserved{
    box-shadow:inset 6px 0 0 var(--f4nmm-status-reserved)!important;
}

.f4nmm-airport-row.status-confirmed{
    box-shadow:inset 6px 0 0 var(--f4nmm-status-confirmed)!important;
}

.f4nmm-flight-state.available{
    background:var(--f4nmm-status-proposed)!important;
    border-color:#005fd0!important;
    color:#fff!important;
    box-shadow:0 4px 12px rgba(0,119,255,.26)!important;
}

.f4nmm-flight-state.reserved{
    background:var(--f4nmm-status-reserved)!important;
    border-color:#6812d4!important;
    color:#fff!important;
    box-shadow:0 4px 12px rgba(139,44,255,.26)!important;
}

.f4nmm-flight-state.confirmed{
    background:var(--f4nmm-status-confirmed)!important;
    border-color:#b0005e!important;
    color:#fff!important;
    box-shadow:0 4px 12px rgba(224,0,120,.26)!important;
}

button.f4nmm-flight-state.available:hover,
button.f4nmm-flight-state.available:focus-visible{
    background:#005fd0!important;
    border-color:#004fae!important;
}

/* Les liserés auparavant dorés reprennent le rouge du pylône. */
.f4nmm-flight-console{
    border-top-color:var(--f4nmm-pylon-red)!important;
}

.f4nmm-airport-heading{
    border-bottom-color:var(--f4nmm-pylon-red)!important;
}

.f4nmm-flight-console .f4nmm-community-title{
    border-color:#c7d9eb!important;
}

.f4nmm-flight-console .f4nmm-community-title h2{
    color:#073f8c!important;
    text-shadow:none!important;
}

.f4nmm-flight-console .f4nmm-community-title p{
    color:var(--f4nmm-pylon-red)!important;
}

.f4nmm-flight-console .f4nmm-accountbar{
    border-color:#c7d9eb!important;
    border-left:5px solid var(--f4nmm-pylon-red)!important;
}

.f4nmm-flight-console .f4nmm-propbar{
    border-color:#c7d9eb!important;
    border-top:4px solid var(--f4nmm-pylon-red)!important;
}

.f4nmm-flight-console .f4nmm-band-tabs button.is-active{
    border-color:var(--f4nmm-pylon-red)!important;
    box-shadow:0 0 0 2px rgba(211,61,34,.22),0 5px 12px rgba(7,63,140,.18)!important;
}

.f4nmm-flight-console .f4nmm-community-title::before,
.f4nmm-flight-console .f4nmm-community-title::after,
.f4nmm-flight-console .f4nmm-accountbar::before,
.f4nmm-flight-console .f4nmm-accountbar::after,
.f4nmm-flight-console .f4nmm-propbar::before,
.f4nmm-flight-console .f4nmm-propbar::after{
    background-color:var(--f4nmm-pylon-red)!important;
    border-color:var(--f4nmm-pylon-red)!important;
}


/* =========================================================
   F4NMM v3.0.6 — palette trois couleurs et horloge UTC
   Bleu #5dc0e8 · Vert #95c038 · Orange #ff6f3d
   ========================================================= */

.f4nmm-skeds{
    --f4nmm-structure-blue:#5dc0e8;
    --f4nmm-structure-green:#95c038;
    --f4nmm-structure-orange:#ff6f3d;
    --f4nmm-pylon-red:#ff6f3d;
    --f4nmm-pylon-red-dark:#cc4e27;
}

.f4nmm-live-utc{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"label time" "date time";
    align-items:center;
    column-gap:28px;
    row-gap:4px;
    overflow:hidden;
    margin:0 0 12px;
    padding:21px 22px 17px;
    border:2px solid #0b2853;
    border-radius:14px;
    background:linear-gradient(110deg,#061a3f,#0b3d76);
    color:#fff;
    box-shadow:0 9px 24px rgba(6,26,63,.18);
}

.f4nmm-live-utc::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:7px;
    background:linear-gradient(90deg,var(--f4nmm-structure-blue) 0 33.333%,var(--f4nmm-structure-green) 33.333% 66.666%,var(--f4nmm-structure-orange) 66.666% 100%);
}

.f4nmm-live-utc-label{
    grid-area:label;
    color:var(--f4nmm-structure-blue);
    font-size:13px;
    font-weight:950;
    letter-spacing:1px;
}

.f4nmm-live-utc strong{
    grid-area:date;
    font-size:clamp(23px,2.2vw,34px);
    line-height:1.1;
}

.f4nmm-live-utc time{
    grid-area:time;
    min-width:270px;
    color:var(--f4nmm-structure-orange);
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
    font-size:clamp(27px,2.8vw,42px);
    font-weight:950;
    font-variant-numeric:tabular-nums;
    letter-spacing:.8px;
    text-align:right;
    white-space:nowrap;
}

.f4nmm-top-actions{
    display:grid;
    grid-template-columns:minmax(390px,.75fr) minmax(520px,1.25fr);
    align-items:stretch;
    gap:12px;
    margin:0 0 12px;
}

.f4nmm-top-actions .f4nmm-propose-row{
    display:flex;
    align-items:center;
    gap:16px;
    min-height:70px;
    margin:0;
    padding:10px 13px;
    border:1px solid #c7d9eb;
    border-top:5px solid var(--f4nmm-structure-blue);
    border-radius:10px;
    background:#fff;
}

.f4nmm-top-actions .f4nmm-primary{
    flex:0 0 auto;
    border:2px solid #d8542b!important;
    background:var(--f4nmm-structure-orange)!important;
    color:#082d5a!important;
    box-shadow:0 5px 13px rgba(255,111,61,.25);
}

.f4nmm-top-actions .f4nmm-primary:hover,
.f4nmm-top-actions .f4nmm-primary:focus-visible{
    border-color:#073f8c!important;
    background:#073f8c!important;
    color:#fff!important;
}

.f4nmm-top-actions .f4nmm-propose-row span{
    color:#385675;
    font-size:14px;
    font-weight:700;
}

.f4nmm-top-actions .f4nmm-help{
    display:flex;
    align-items:center;
    min-height:70px;
    margin:0;
    padding:11px 14px;
    border:1px solid #c7d9eb;
    border-top:5px solid var(--f4nmm-structure-green);
    border-radius:10px;
    background:#fff;
    color:#385675;
    font-size:14px;
    line-height:1.45;
}

.f4nmm-flight-console{
    position:relative;
    overflow:hidden;
    padding-top:20px!important;
    border-top:2px solid #9db8d6!important;
}

.f4nmm-flight-console::before{
    content:"";
    position:absolute;
    z-index:1;
    top:0;
    right:0;
    left:0;
    height:8px;
    background:linear-gradient(90deg,var(--f4nmm-structure-blue) 0 33.333%,var(--f4nmm-structure-green) 33.333% 66.666%,var(--f4nmm-structure-orange) 66.666% 100%);
}

.f4nmm-flight-console .f4nmm-community-title{
    border-left:5px solid var(--f4nmm-structure-blue)!important;
}

.f4nmm-flight-console .f4nmm-community-title h2{
    display:block!important;
    width:100%!important;
    font-size:clamp(22px,1.7vw,28px)!important;
    line-height:1.15!important;
    letter-spacing:-.25px!important;
    word-spacing:normal!important;
    text-align:left!important;
}

.f4nmm-flight-console .f4nmm-community-title p{
    display:block!important;
    width:100%!important;
    color:#5f7f1d!important;
    font-size:14px!important;
    font-weight:800!important;
    text-align:left!important;
}

.f4nmm-flight-console .f4nmm-community-title::before,
.f4nmm-flight-console .f4nmm-community-title::after{
    background-color:var(--f4nmm-structure-orange)!important;
    border-color:var(--f4nmm-structure-orange)!important;
}

.f4nmm-flight-console .f4nmm-accountbar{
    border-left-color:var(--f4nmm-structure-green)!important;
}

.f4nmm-flight-console .f4nmm-toolbar{
    border-top:4px solid var(--f4nmm-structure-blue)!important;
}

.f4nmm-flight-console .f4nmm-community-filters{
    border-top:4px solid var(--f4nmm-structure-green)!important;
}

.f4nmm-flight-console .f4nmm-propbar{
    border-top-color:var(--f4nmm-structure-orange)!important;
}

.f4nmm-flight-console .f4nmm-console-status{
    border-top:4px solid var(--f4nmm-structure-blue)!important;
}

.f4nmm-flight-console .f4nmm-band-tabs button.is-active{
    border-color:var(--f4nmm-structure-orange)!important;
    box-shadow:0 0 0 2px rgba(255,111,61,.24),0 5px 12px rgba(7,63,140,.18)!important;
}

.f4nmm-airport-heading{
    border-bottom-color:var(--f4nmm-structure-orange)!important;
}

.f4nmm-calendar-wrap{
    border-color:#2f6f9f!important;
    box-shadow:0 14px 34px rgba(47,111,159,.17),0 0 0 1px rgba(93,192,232,.22)!important;
}

@media(max-width:960px){
    .f4nmm-top-actions{
        grid-template-columns:minmax(0,1fr);
    }
}

@media(max-width:700px){
    .f4nmm-live-utc{
        grid-template-columns:minmax(0,1fr);
        grid-template-areas:"label" "date" "time";
        row-gap:7px;
    }

    .f4nmm-live-utc time{
        min-width:0;
        text-align:left;
    }

    .f4nmm-top-actions .f4nmm-propose-row{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* =========================================================
   F4NMM v3.0.7 — semaine intégrée au bandeau du tableau
   ========================================================= */

.f4nmm-console-main{
    grid-template-columns:minmax(0,1fr)!important;
}

.f4nmm-console-main .f4nmm-community-filters{
    justify-content:flex-end;
}

.f4nmm-airport-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    padding:0!important;
    border-bottom:5px solid #ff6f3d!important;
    background:linear-gradient(180deg,#051c43,#07366f)!important;
}

.f4nmm-airport-brand{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:14px 18px;
}

.f4nmm-table-toolbar{
    display:grid!important;
    grid-template-columns:minmax(290px,1fr) auto 62px!important;
    align-items:center!important;
    gap:16px!important;
    width:100%!important;
    min-height:68px!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:10px 16px!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.18)!important;
    border-radius:0!important;
    background:#0b2853!important;
    box-shadow:none!important;
}

.f4nmm-table-toolbar .f4nmm-toolbar-left{
    justify-self:start;
}

.f4nmm-table-toolbar .f4nmm-nav,
.f4nmm-table-toolbar .f4nmm-today{
    min-height:42px!important;
    border:2px solid var(--f4nmm-structure-blue)!important;
    background:#fff!important;
    color:#073f8c!important;
    font-size:15px!important;
    box-shadow:none!important;
}

.f4nmm-table-toolbar .f4nmm-nav:hover,
.f4nmm-table-toolbar .f4nmm-today:hover,
.f4nmm-table-toolbar .f4nmm-nav:focus-visible,
.f4nmm-table-toolbar .f4nmm-today:focus-visible{
    border-color:#ff6f3d!important;
    background:#eef8ff!important;
}

.f4nmm-table-toolbar .f4nmm-month{
    justify-self:center;
    color:#fff!important;
    font-size:22px!important;
    font-weight:950!important;
    text-align:center!important;
    white-space:nowrap;
}

.f4nmm-table-toolbar .f4nmm-utc{
    justify-self:end;
    background:#ff6f3d!important;
    color:#082d5a!important;
    font-size:14px!important;
    box-shadow:0 0 0 2px rgba(255,111,61,.20);
}

.f4nmm-airport-heading::before,
.f4nmm-airport-heading::after{
    background-color:#ff6f3d!important;
    border-color:#ff6f3d!important;
}

.f4nmm-airport-table thead{
    border-top:0!important;
}

@media(max-width:700px){
    .f4nmm-table-toolbar{
        grid-template-columns:minmax(290px,1fr) auto 62px!important;
    }

    .f4nmm-airport-brand{
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }
}
