:root {
    --biam-primary: #7eb737;
    --biam-primary-dark: #476c1b;
    --biam-primary-soft: #f2f7e9;
    --biam-slate: #465363;
    --biam-slate-dark: #2b3645;
    --biam-orange: #ff8115;
    --biam-red: #e6001a;
    --biam-ink: #333333;
    --biam-muted: #68727d;
    --biam-line: #d9dee2;
    --biam-surface: #ffffff;
    --biam-canvas: #f5f6f4;
    --biam-radius: 7px;
    --biam-shadow: 0 3px 12px rgba(43, 54, 69, .08);
}

/* Projets CEA en préparation / FOP. */
.biam-fop-page,
.cea-form-wrapper { margin: 24px 0; color: var(--biam-ink); font-family: Gotham, Montserrat, "Segoe UI", Arial, sans-serif; }
.biam-fop-page > .biam-gp-hero { margin-bottom: 18px; }
.biam-fop-page > .biam-gp-hero::after {
    content: ""; position: absolute; z-index: 0; top: 50%; right: 18px; width: 220px; height: 138px;
    background: url('../images/biam-microalgae.svg') center / contain no-repeat; opacity: .36; pointer-events: none; transform: translateY(-50%);
}
.biam-fop-toolbar { display: flex; justify-content: flex-end; margin: 0 0 18px; }
.biam-fop-grid { display: grid; gap: 18px; }
.biam-fop-card { padding: 20px; border: 1px solid var(--biam-line); border-left: 5px solid var(--biam-primary); border-radius: var(--biam-radius); background: #fff; box-shadow: var(--biam-shadow); }
.biam-fop-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.biam-fop-card h3 { margin: 5px 0 0; color: var(--biam-slate-dark); }
.biam-fop-tutelle { color: var(--biam-primary-dark); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.biam-fop-status { display: inline-flex; padding: 6px 10px; border-left: 4px solid var(--fop-status); border-radius: 3px; background: #f3f5f2; color: var(--biam-slate-dark); font-size: 12px; font-weight: 750; }
.biam-fop-stages { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.biam-fop-stages > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; background: var(--biam-canvas); border-radius: 4px; }
.biam-fop-stages a { color: var(--biam-primary-dark); font-weight: 750; }
.biam-fop-transitions { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 14px; border-top: 1px solid var(--biam-line); }
.biam-fop-transitions form { margin: 0; }
.biam-fop-transitions button,
.biam-fop-convert button,
.biam-fop-submit-intention button,
.cea-formulaire-projet button[type="submit"] { min-height: 40px; padding: 9px 14px; border: 0; border-radius: 4px; background: var(--biam-slate); color: #fff !important; font-weight: 750; cursor: pointer; }
.biam-fop-transitions button:hover,
.biam-fop-convert button:hover,
.biam-fop-submit-intention button:hover,
.cea-formulaire-projet button[type="submit"]:hover { background: var(--biam-slate-dark); }
.biam-fop-submit-intention { margin: 16px 0 0; padding: 16px; border-left: 5px solid var(--biam-orange); background: #fff7ed; }
.biam-fop-convert { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 16px; padding: 16px; border-top: 3px solid var(--biam-primary); background: var(--biam-primary-soft); }
.biam-fop-convert h4 { grid-column: 1 / -1; margin: 0; color: var(--biam-primary-dark); }
.biam-fop-convert label { font-size: 12px; font-weight: 750; }
.biam-fop-convert input { box-sizing: border-box; width: 100%; min-height: 40px; margin-top: 5px; padding: 8px; border: 1px solid #b9c6d3; border-radius: 4px; background: #fff; }
.biam-fop-convert button { grid-column: 1 / -1; justify-self: start; }
.biam-fop-linked { padding: 10px 12px; border-left: 4px solid var(--biam-primary); background: var(--biam-primary-soft); color: var(--biam-primary-dark); font-weight: 750; }
.biam-fop-cockpit-card { display: grid; grid-template-columns: 52px 1fr auto; grid-template-rows: auto auto; gap: 2px 14px; align-items: center; margin: 0 0 18px; padding: 18px 22px; border: 1px solid var(--biam-line); border-left: 5px solid var(--biam-primary); background: #fff; color: var(--biam-slate-dark); text-decoration: none !important; box-shadow: var(--biam-shadow); }
.biam-fop-cockpit-card > span { grid-row: 1 / 3; font-size: 34px; color: var(--biam-primary); }
.biam-fop-cockpit-card strong { font-size: 17px; }
.biam-fop-cockpit-card small { color: var(--biam-muted); }
.biam-fop-cockpit-card b { grid-column: 3; grid-row: 1 / 3; color: var(--biam-orange); font-size: 22px; }
.cea-form-wrapper { max-width: 1100px; }
.cea-form-wrapper > .biam-gp-hero { margin-bottom: 18px; }
.cea-form-wrapper > .biam-gp-hero::after { content: ""; position: absolute; z-index: 0; top: 50%; right: 18px; width: 220px; height: 138px; background: url('../images/biam-microalgae.svg') center / contain no-repeat; opacity: .32; pointer-events: none; transform: translateY(-50%); }
.cea-formulaire-projet { display: grid; gap: 18px; }
.cea-form-section { padding: 22px; border: 1px solid var(--biam-line); border-top: 4px solid var(--biam-primary); border-radius: var(--biam-radius); background: #fff; box-shadow: var(--biam-shadow); }
.cea-form-section h3 { margin-top: 0; color: var(--biam-primary-dark); }
.cea-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 18px; }
.cea-form-field label { display: block; margin-bottom: 5px; color: var(--biam-slate-dark); font-weight: 700; }
.cea-form-field input[type="text"], .cea-form-field input[type="date"], .cea-form-field input[type="number"], .cea-form-field select, .cea-form-field textarea { box-sizing: border-box; width: 100%; min-height: 42px; padding: 9px 10px; border: 1px solid #b9c6d3; border-radius: 4px; background: #fff; }
.cea-form-field textarea { min-height: 110px; }
.cea-form-field input:focus, .cea-form-field select:focus, .cea-form-field textarea:focus { border-color: var(--biam-primary); box-shadow: 0 0 0 2px rgba(126,183,55,.2); outline: 0; }
.cea-form-message { margin-bottom: 16px; padding: 12px 15px; border-left: 4px solid var(--biam-primary); background: var(--biam-primary-soft); }
.cea-form-error { border-left-color: var(--biam-red); background: #fff1f2; }
@media (max-width: 780px) {
    .biam-fop-stages, .cea-form-grid, .biam-fop-convert { grid-template-columns: 1fr; }
    .biam-fop-card > header { flex-direction: column; }
    .biam-fop-page > .biam-gp-hero::after { right: -35px; width: 155px; opacity: .16; }
    .cea-form-wrapper > .biam-gp-hero::after { right: -35px; width: 155px; opacity: .16; }
}

/* Recueil RH des besoins de formation. Les !important neutralisent le style historique du snippet. */
.rbf-wrap { max-width: 1100px !important; margin: 24px 0 !important; }
.rbf-wrap > .biam-gp-hero { margin-bottom: 18px; }
.rbf-card,
.rbf-form {
    max-width: 1100px !important;
    margin: 0 0 20px !important;
    border: 1px solid var(--biam-line) !important;
    border-top: 4px solid var(--biam-primary) !important;
    border-radius: var(--biam-radius) !important;
    background: var(--biam-surface) !important;
    box-shadow: var(--biam-shadow) !important;
}
.rbf-card h2,
.rbf-form h2,
.rbf-section-title { color: var(--biam-slate-dark) !important; }
.rbf-section { border-top-color: var(--biam-primary) !important; }
.rbf-section-help,
.rbf-required-note { color: var(--biam-muted) !important; }
.rbf-form input[type="text"],
.rbf-form input[type="email"],
.rbf-form select,
.rbf-form textarea {
    border-color: #b9c6d3 !important;
    border-radius: 4px !important;
}
.rbf-form input:focus,
.rbf-form select:focus,
.rbf-form textarea:focus {
    border-color: var(--biam-primary) !important;
    box-shadow: 0 0 0 2px rgba(126,183,55,.2) !important;
    outline: 0 !important;
}
.rbf-form button {
    border-color: var(--biam-slate) !important;
    border-radius: 4px !important;
    background: var(--biam-slate) !important;
    color: #fff !important;
    font-weight: 750 !important;
}
.rbf-form button:hover,
.rbf-form button:focus { border-color: var(--biam-primary-dark) !important; background: var(--biam-slate-dark) !important; }
.rbf-history thead th { border-color: var(--biam-slate) !important; background: var(--biam-slate) !important; color: #fff !important; }
.rbf-history tbody td { border-color: var(--biam-line) !important; }
.rbf-history tbody tr:nth-child(even) { background: var(--biam-canvas); }
.rbf-history a { color: var(--biam-primary-dark); font-weight: 700; }
.rbf-notice { max-width: 1100px !important; border-radius: 4px; box-sizing: border-box; }
@media (max-width: 680px) {
    .rbf-wrap > .biam-gp-hero::after { right: -35px; width: 155px; opacity: .16; }
}

/* Reporting RH et lancement d'une prévision. */
.biam-rh-launch-card { max-width: 900px; margin-top: 18px; border-left: 4px solid var(--biam-primary, #78a83b); }
.biam-rh-report-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 22px 0; }
.biam-rh-report-summary > div { padding: 18px; border: 1px solid #dce2dc; border-top: 3px solid #79a93b; border-radius: 8px; background: #fff; }
.biam-rh-report-summary span { display: block; color: #52606d; font-size: .86rem; }
.biam-rh-report-summary strong { display: block; margin-top: 6px; color: #354456; font-size: 1.75rem; }
.biam-rh-report-actions { display: flex; justify-content: flex-end; margin: 0 0 18px; }
.biam-rh-report-team { margin: 22px 0; }
.biam-rh-report-team > header { display: flex; align-items: center; gap: 10px; border-bottom: 2px solid #79a93b; }
.biam-rh-report-list { display: grid; gap: 12px; margin-top: 14px; }
.biam-rh-report-row { padding: 18px; border: 1px solid #dce2dc; border-left: 4px solid #8a98a8; border-radius: 8px; background: #fff; }
.biam-rh-report-row.is-ready { border-left-color: #79a93b; }
.biam-rh-report-row.is-launched { border-left-color: #f18a22; }
.biam-rh-report-row.is-finalise { border-left-color: #147d78; }
.biam-rh-report-row.is-annule { border-left-color: #b22234; }
.biam-rh-report-title, .biam-rh-report-row footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.biam-rh-report-title h3 { margin: 0; }
.biam-rh-state-badge { padding: 5px 10px; border-radius: 999px; background: #eef3e8; color: #415d23; font-size: .82rem; font-weight: 700; }
.biam-rh-report-row dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 18px; margin: 16px 0; }
.biam-rh-report-row dt { color: #66717e; font-size: .78rem; text-transform: uppercase; }
.biam-rh-report-row dd { margin: 3px 0 0; color: #263544; font-weight: 600; }
.biam-rh-report-row footer { padding-top: 12px; border-top: 1px solid #edf0ed; color: #66717e; font-size: .86rem; }
.biam-rh-report-links { display: flex; gap: 14px; }
.biam-rh-report-links a { color: #5d852c; font-weight: 700; }
@media (max-width: 900px) {
    .biam-rh-report-summary, .biam-rh-report-row dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .biam-rh-report-summary, .biam-rh-report-row dl { grid-template-columns: 1fr; }
    .biam-rh-report-title, .biam-rh-report-row footer { align-items: flex-start; flex-direction: column; }
}

/* Module Ressources humaines. */
.biam-gp-btn-rh { background: #fff !important; border-color: var(--biam-slate) !important; color: var(--biam-slate-dark) !important; }
.biam-gp-btn-rh:hover, .biam-gp-btn-rh:focus { border-color: var(--biam-primary) !important; color: var(--biam-primary-dark) !important; }
.biam-rh-page, .biam-rh-list, .biam-rh-reporting { margin: 24px 0; }
.biam-rh-form { display: grid; gap: 18px; max-width: 900px; }
.biam-rh-form input, .biam-rh-form select, .biam-rh-form textarea { box-sizing: border-box; width: 100%; padding: 11px; border: 1px solid #b8c4cf; border-radius: 4px; background: #fff; }
.biam-rh-form input:focus, .biam-rh-form select:focus, .biam-rh-form textarea:focus { border-color: var(--biam-primary); box-shadow: 0 0 0 2px rgba(126,183,55,.2); outline: 0; }
.biam-rh-form > button { justify-self: start; padding: 12px 18px; border: 0; border-radius: 4px; background: var(--biam-slate); color: #fff; font-weight: 750; cursor: pointer; }
.biam-rh-form > button:hover, .biam-rh-form > button:focus { background: var(--biam-slate-dark); }
.biam-rh-project-summary, .biam-rh-date-grid, .biam-rh-cost-summary { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin: 0; }
.biam-rh-project-summary div, .biam-rh-date-grid label, .biam-rh-cost-summary div { padding: 11px 12px; border: 1px solid #e6ebf0; border-radius: 4px; background: var(--biam-canvas); }
.biam-rh-project-summary dt, .biam-rh-cost-summary span { color: var(--biam-muted); font-size: 11px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.biam-rh-project-summary dd { margin: 4px 0 0; color: var(--biam-ink); font-weight: 650; }
.biam-rh-date-grid output { display: block; min-height: 22px; padding-top: 8px; font-weight: 750; }
.biam-rh-cost-summary .is-total { border-left: 4px solid var(--biam-primary); }
.biam-rh-cost-summary strong { display: block; margin-top: 5px; }
.biam-rh-message { margin: 14px 0; padding: 13px 15px; border-left: 4px solid var(--biam-red); background: #fff1f2; }
.biam-rh-success { border-left-color: var(--biam-primary); background: var(--biam-primary-soft); }
.biam-rh-warning { border-left-color: var(--biam-orange); background: #fff7ed; }
.biam-project-cdd-group { display: grid; gap: 7px; margin-top: 10px; }
.biam-project-cdd-heading { color: var(--biam-slate-dark); font-size: 12px; text-transform: uppercase; }
.biam-project-cdd.is-a_venir { border-left: 3px solid var(--biam-orange); }
.biam-project-cdd.is-en_cours { border-left: 3px solid var(--biam-primary); }
.biam-project-cdd.is-termine { border-left: 3px solid var(--biam-muted); }
.biam-rh-page > .biam-gp-hero::after, .biam-rh-list > .biam-gp-hero::after { content: ""; position: absolute; z-index: 0; top: 50%; right: 18px; width: 220px; height: 138px; background: url('../images/biam-plant.svg') center / contain no-repeat; opacity: .28; pointer-events: none; transform: translateY(-50%); }
@media (max-width: 680px) {
    .biam-rh-project-summary, .biam-rh-date-grid, .biam-rh-cost-summary { grid-template-columns: 1fr; }
    .biam-rh-page > .biam-gp-hero::after, .biam-rh-list > .biam-gp-hero::after { right: -35px; width: 155px; opacity: .16; }
}

.biam-admin-wrap,
.biam-cockpit-grid,
.biam-gp-cockpit,
.biam-direction-reporting,
.biam-achats-form,
.biam-achats-form-page,
.biam-achats-list,
.biam-rh-page,
.biam-rh-list,
.biam-rh-reporting,
.rbf-wrap {
    color: var(--biam-ink);
    font-family: Gotham, Montserrat, "Segoe UI", Arial, sans-serif;
}

.biam-admin-wrap h1 { font-size: 28px; font-weight: 750; letter-spacing: -.02em; margin: 18px 0 22px; }
.biam-admin-wrap h2 { color: var(--biam-ink); font-size: 18px; margin-top: 0; }
.biam-admin-wrap .card,
.biam-admin-wrap div[style*="background:#fff"] {
    background: var(--biam-surface) !important;
    border: 1px solid var(--biam-line) !important;
    border-radius: var(--biam-radius) !important;
    box-shadow: var(--biam-shadow);
}
.biam-admin-wrap .card { max-width: none; }
.biam-admin-wrap input[type="text"], .biam-admin-wrap input[type="search"], .biam-admin-wrap input[type="number"],
.biam-admin-wrap input[type="date"], .biam-admin-wrap select, .biam-admin-wrap textarea {
    min-height: 40px; border: 1px solid #b9c6d3; border-radius: 9px; padding: 8px 10px;
}
.biam-admin-wrap textarea { min-height: 90px; }
.biam-admin-wrap .button { border-radius: 9px; min-height: 36px; display: inline-flex; align-items: center; justify-content: center; }
.biam-admin-wrap .button-primary { background: var(--biam-primary); border-color: var(--biam-primary); }
.biam-admin-wrap .button-primary:hover { background: var(--biam-primary-dark); border-color: var(--biam-primary-dark); }
.biam-admin-wrap .widefat { border: 0; box-shadow: none; }
.biam-admin-wrap .widefat th { color: #475569; font-size: 12px; letter-spacing: .035em; text-transform: uppercase; }
.biam-admin-wrap .widefat td { vertical-align: middle; padding-top: 12px; padding-bottom: 12px; }
.biam-admin-layout { display: grid; grid-template-columns: minmax(350px, 440px) minmax(0, 1fr); gap: 22px; align-items: start; }
.biam-admin-project-layout { display: grid; grid-template-columns: minmax(340px, 420px) minmax(0, 1fr); gap: 22px; align-items: start; }
.biam-admin-panel { background: var(--biam-surface); border: 1px solid var(--biam-line); border-radius: var(--biam-radius); padding: 22px; box-shadow: var(--biam-shadow); }
.biam-admin-panel--sticky { position: sticky; top: 48px; max-height: calc(100vh - 72px); overflow: auto; }
.biam-admin-filters { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 12px; background: var(--biam-canvas); border-radius: 12px; margin-bottom: 18px; }

.biam-tutelle-groups { display: grid; gap: 18px; }
.biam-tutelle-block { border: 1px solid var(--biam-line); border-radius: 14px; overflow: hidden; background: #fff; }
.biam-tutelle-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; background: linear-gradient(90deg, #eff8f7, #f8fafc); border-bottom: 1px solid var(--biam-line); }
.biam-tutelle-header h3 { margin: 0; font-size: 16px; }
.biam-tutelle-block.is-cnrs .biam-tutelle-header { border-left: 5px solid #2563eb; }
.biam-tutelle-block.is-cea .biam-tutelle-header { border-left: 5px solid var(--biam-cea, #c62836); }
.biam-tutelle-block.is-amu .biam-tutelle-header { border-left: 5px solid var(--biam-amu, #f2c230); }
.biam-tutelle-block.is-sans-tutelle .biam-tutelle-header { border-left: 5px solid #94a3b8; }
.biam-count-badge, .biam-status-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; font-size: 12px; font-weight: 700; line-height: 1; }
.biam-count-badge { background: #fff; color: var(--biam-primary-dark); border: 1px solid #b7ddd8; }
.biam-status-badge { color: #334155; background: #eef2f7; white-space: nowrap; }
.biam-status-badge.is-nouveau { background: #dbeafe; color: #1d4ed8; }
.biam-status-badge.is-attente_securite, .biam-status-badge.is-en_attente_prescripteur { background: #fff7d6; color: #92400e; }
.biam-status-badge.is-en_cours, .biam-status-badge.is-valide_securite { background: #e0f2fe; color: #0369a1; }
.biam-status-badge.is-valide, .biam-status-badge.is-clos { background: #dcfce7; color: #166534; }
.biam-status-badge.is-refuse, .biam-status-badge.is-refuse_securite { background: #fee2e2; color: #b91c1c; }

.biam-cockpit-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 0 0 18px;
}
.biam-cockpit-actions.is-single { grid-template-columns: minmax(0, 1fr); }
.biam-cockpit-action-card {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 94px;
    padding: 16px 52px 16px 16px;
    grid-template-columns: 62px minmax(0, 1fr);
    align-items: center;
    gap: 15px;
    overflow: hidden;
    border: 1px solid var(--biam-line);
    border-top: 4px solid var(--biam-primary);
    border-radius: var(--biam-radius);
    background: #fff;
    color: var(--biam-ink) !important;
    box-shadow: var(--biam-shadow);
    text-decoration: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.biam-cockpit-action-card.is-tickets { border-top-color: var(--biam-slate); }
.biam-cockpit-action-card:hover,
.biam-cockpit-action-card:focus {
    border-color: var(--biam-primary);
    color: var(--biam-ink) !important;
    box-shadow: 0 8px 20px rgba(43, 54, 69, .14);
    transform: translateY(-2px);
}
.biam-cockpit-action-icon {
    display: grid;
    width: 62px;
    height: 62px;
    place-items: center;
    border-radius: var(--biam-radius);
    background: var(--biam-primary-soft);
    color: var(--biam-primary-dark);
}
.biam-cockpit-action-card.is-tickets .biam-cockpit-action-icon {
    background: #edf0f3;
    color: var(--biam-slate);
}
.biam-cockpit-action-icon svg { width: 38px; height: 38px; }
.biam-cockpit-action-copy { display: grid; gap: 5px; min-width: 0; }
.biam-cockpit-action-copy strong { color: var(--biam-primary-dark); font-size: 17px; line-height: 1.2; }
.biam-cockpit-action-card.is-tickets .biam-cockpit-action-copy strong { color: var(--biam-slate-dark); }
.biam-cockpit-action-copy small { color: var(--biam-muted); font-size: 13px; line-height: 1.35; }
.biam-cockpit-action-arrow {
    position: absolute;
    right: 18px;
    top: 50%;
    color: var(--biam-orange);
    font-size: 25px;
    font-weight: 800;
    transform: translateY(-50%);
}
.biam-cockpit-btn, .biam-gp-btn, .biam-achats-list a.biam-action-link, .biam-front-discussion button {
    display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 9px 14px;
    border: 1px solid var(--biam-line); border-radius: 10px; background: #fff; color: var(--biam-ink); text-decoration: none; font-weight: 700;
}
.biam-cockpit-btn-primary, .biam-gp-btn, .biam-front-discussion button { background: var(--biam-primary); border-color: var(--biam-primary); color: #fff; }
.biam-cockpit-btn-primary:hover, .biam-gp-btn:hover, .biam-front-discussion button:hover { background: var(--biam-primary-dark); color: #fff; }
.biam-cockpit-grid { display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr); }
.biam-cockpit-card { background: #fff; border: 1px solid var(--biam-line); border-radius: var(--biam-radius); padding: 20px; box-shadow: var(--biam-shadow); }
.biam-cockpit-card, .biam-cockpit-card-wide { grid-column: 1 / -1; }
.biam-cockpit-card h2 { margin: 0 0 12px; font-size: 19px; }
.biam-cockpit-header-row { display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; }
.biam-cockpit-filter-form select { min-height: 40px; padding: 8px 10px; border: 1px solid #b8c4cf; border-radius: 9px; background: #fff; }
.biam-cockpit-table { width: 100%; border-collapse: collapse; }
.biam-cockpit-table th, .biam-cockpit-table td { padding: 11px 9px; border-bottom: 1px solid #e9eef3; text-align: left; vertical-align: top; }
.biam-cockpit-table th { color: var(--biam-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .035em; }
.biam-cockpit-link { color: var(--biam-primary); text-decoration: none; font-weight: 700; }
.biam-cockpit-muted { color: var(--biam-muted); }
.biam-cockpit-message, .biam-gp-message, .biam-achats-message { padding: 15px 17px; background: #fff; border: 1px solid var(--biam-line); border-radius: 12px; }
.biam-cockpit-pagination { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 14px; }
.biam-cockpit-pagination a { display: inline-flex; min-width: 36px; height: 36px; align-items: center; justify-content: center; border: 1px solid var(--biam-line); border-radius: 9px; color: var(--biam-ink); text-decoration: none; }
.biam-cockpit-pagination a.is-current { background: var(--biam-primary); border-color: var(--biam-primary); color: #fff; }
.biam-cockpit-breakdowns { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; }
.biam-cockpit-breakdown { padding: 12px; background: var(--biam-canvas); border-radius: 12px; }
.biam-cockpit-breakdown h3 { font-size: 15px; margin: 0 0 8px; }
.biam-cockpit-breakdown ul { margin: 0; padding: 0; list-style: none; }
.biam-cockpit-breakdown li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid #e2e8f0; }
.biam-direction-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.biam-direction-summary-card { display: block; padding: 15px; border: 1px solid var(--biam-line); border-radius: 12px; background: var(--biam-canvas); color: var(--biam-ink); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.biam-direction-summary-card:hover, .biam-direction-summary-card:focus-visible { border-color: var(--biam-primary); color: var(--biam-ink); box-shadow: 0 8px 20px rgba(15, 118, 110, .12); transform: translateY(-2px); }
.biam-direction-summary-card h3 { margin: 0 0 10px; font-size: 16px; }
.biam-direction-summary-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 0; }
.biam-direction-summary-card dl div { min-width: 0; }
.biam-direction-summary-card dt { color: var(--biam-muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.biam-direction-summary-card dd { margin: 4px 0 0; font-size: 17px; font-weight: 800; overflow-wrap: anywhere; }
.biam-direction-summary-link { display: inline-flex; align-items: center; gap: 5px; margin-top: 13px; color: var(--biam-primary-dark); font-size: 12px; font-weight: 800; }

.biam-direction-reporting { margin: 24px 0; }
.biam-direction-financings { display: grid; gap: 18px; }
.biam-direction-financing { border: 1px solid var(--biam-line); border-radius: 14px; overflow: hidden; }
.biam-direction-financing-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; background: linear-gradient(90deg, #f0fdfa, #f8fafc); }
:is(.biam-direction-financing-header h3, .biam-direction-financing-header h4) { margin: 0 0 3px; font-size: 17px; }
.biam-direction-financing-header span { color: var(--biam-muted); font-size: 12px; }
.biam-direction-financing-header strong { color: var(--biam-primary-dark); white-space: nowrap; }
.biam-direction-project-list { display: grid; gap: 14px; padding: 14px; background: var(--biam-canvas); }
.biam-direction-project { padding: 17px; border: 1px solid var(--biam-line); border-radius: 12px; background: #fff; }
.biam-direction-project-detail { margin-top: 14px; border-top: 1px solid var(--biam-line); }
.biam-direction-project-detail > summary { display: block; padding-top: 14px; cursor: pointer; color: var(--biam-primary-dark); font-weight: 750; }
.biam-direction-project-detail > summary::-webkit-details-marker { display: none; }
.biam-direction-project-detail > summary::marker { content: ''; }
.biam-direction-project-detail > summary:hover, .biam-direction-project-detail > summary:focus-visible { text-decoration: underline; }
.biam-direction-project-detail > summary:focus-visible { outline: 2px solid var(--biam-primary); outline-offset: 3px; }
.biam-direction-project-financial-summary { margin-bottom: 12px; }
:is(.biam-direction-project h4, .biam-direction-project h5) { margin: 0 0 13px; font-size: 17px; }
.biam-direction-project-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 9px; margin: 0; }
.biam-direction-project-meta div { min-width: 0; padding: 10px 11px; border-radius: 10px; background: var(--biam-canvas); }
.biam-direction-project-meta dt { color: var(--biam-muted); font-size: 11px; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.biam-direction-project-meta dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.biam-project-financial-years { margin-top: 12px; padding: 10px 12px; border: 1px solid var(--biam-line); border-radius: 10px; background: var(--biam-canvas); }
.biam-project-financial-years summary { cursor: pointer; font-weight: 700; }
.biam-project-financial-years table { width: 100%; margin-top: 10px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.biam-project-financial-years th, .biam-project-financial-years td { padding: 7px 8px; border-top: 1px solid var(--biam-line); text-align: right; }
.biam-project-financial-years th:first-child, .biam-project-financial-years td:first-child { text-align: left; }
.biam-nat20-coverage { display:grid; gap:4px; margin-top:12px; padding:11px 13px; border:1px solid #8fbca0; border-left:5px solid #27854a; border-radius:10px; background:#f1faf4; }
.biam-nat20-coverage.is-warning { border-color:#d9b15b; border-left-color:#b77900; background:#fff8e8; }
.biam-nat20-coverage.is-missing { border-color:#aeb8c3; border-left-color:#646970; background:#f6f7f7; }
.biam-nat20-coverage.is-critical { border-color:#df9b9b; border-left-color:#b32d2e; background:#fff1f1; }
.biam-nat20-coverage.is-unassigned { border-color:#df9b9b; border-left-color:#b32d2e; background:#fff1f1; }
.biam-nat20-coverage span, .biam-nat20-coverage small { overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.biam-nat20-table-wrap { overflow-x: auto; }
.biam-nat20-table { min-width: 760px; font-variant-numeric: tabular-nums; }
.biam-nat20-table td small { color: var(--biam-muted); }
.biam-nat20-state { display: inline-block; padding: 4px 8px; border-radius: 6px; font-weight: 700; background: #f1faf4; color: #196535; }
.biam-nat20-state.is-critical, .biam-nat20-state.is-unassigned { background: #fff1f1; color: #a02124; }
.biam-nat20-state.is-warning { background: #fff8e8; color: #885400; }
.biam-nat20-state.is-missing, .biam-nat20-state.is-neutral { background: #f1f2f3; color: #50575e; }
.biam-project-cdds { margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--biam-line); }
:is(.biam-project-cdds h5, .biam-project-cdds h6) { margin: 0 0 9px; font-size: 14px; }
.biam-project-cdds p { margin: 0; }
.biam-project-cdd-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px; }
.biam-project-cdd { display: grid; gap: 3px; padding: 10px 11px; border-radius: 9px; background: #eef7f5; }
.biam-project-cdd span, .biam-project-cdd small { color: var(--biam-muted); }

.biam-gp-cockpit { margin: 24px 0; }
.biam-gp-hero { padding: 26px 28px; border: 1px solid #cfe2df; border-radius: 22px; background: linear-gradient(135deg, #ecfdf5, #f8fafc 58%, #fff); box-shadow: var(--biam-shadow); margin-bottom: 20px; }
.biam-gp-kicker { display: inline-flex; padding: 6px 11px; border-radius: 999px; background: #d8f3ee; color: var(--biam-primary-dark); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.biam-gp-hero h2 { margin: 12px 0 6px; font-size: 30px; }
.biam-gp-project-groups, .biam-gp-team-group { display: grid; gap: 18px; }
.biam-gp-team-group { padding: 20px; border: 1px solid var(--biam-line); border-radius: 18px; background: #fff; box-shadow: var(--biam-shadow); }
.biam-gp-group-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.biam-gp-group-header h2, .biam-gp-group-header h3 { margin: 0; }
.biam-gp-team-header { padding-bottom: 14px; border-bottom: 2px solid #cfe2df; }
.biam-gp-team-header h2 { font-size: 22px; }
.biam-gp-tutelle-group { display: grid; gap: 12px; }
.biam-gp-tutelle-header { color: var(--biam-muted); }
.biam-gp-tutelle-header h3 { color: var(--biam-ink); font-size: 16px; }
.biam-gp-tutelle-header span { font-size: 12px; font-weight: 700; }
.biam-gp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.biam-gp-card { position: relative; display: flex; flex-direction: column; min-width: 0; border-radius: var(--biam-radius); background: #fff; border: 1px solid var(--biam-line); box-shadow: 0 7px 20px rgba(15, 23, 42, .06); padding: 18px; }
.biam-gp-project-title { display: -webkit-box; min-height: 2.8em; margin: 0 0 14px; overflow: hidden; font-size: 18px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.biam-gp-deadline { align-self: flex-start; margin: 0 0 10px; padding: 5px 9px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.biam-gp-deadline.is-warning { color: #9a3412; background: #ffedd5; }
.biam-gp-deadline.is-urgent { color: #b91c1c; background: #fee2e2; }
.biam-gp-actions { display: grid; gap: 8px; margin: auto 0 0; padding-top: 14px; }
.biam-gp-actions.has-rh-action { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.biam-gp-actions .biam-gp-btn { width: 100%; box-sizing: border-box; }
.biam-gp-actions.has-rh-action .biam-gp-btn { min-height: 58px; padding-inline: 8px; font-size: 12px; line-height: 1.25; text-align: center; }
.biam-gp-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 15px; }
.biam-gp-meta div { padding: 10px 12px; border-radius: 12px; background: var(--biam-canvas); border: 1px solid #e6ebf0; }
.biam-gp-meta dt { color: var(--biam-muted); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 4px; }
.biam-gp-meta dd { margin: 0; color: var(--biam-ink); }

.biam-achats-form { display: grid; gap: 18px; max-width: 900px; }
.biam-form-card { padding: 22px; border: 1px solid var(--biam-line); border-radius: var(--biam-radius); background: #fff; box-shadow: var(--biam-shadow); display: grid; gap: 14px; }
.biam-form-card h3 { margin: 0; font-size: 18px; }
.biam-form-label { display: block; margin-bottom: 7px; color: var(--biam-ink); }
.biam-form-help { margin: -5px 0 0; color: var(--biam-muted); font-size: 13px; }
.biam-nacre-search { display: grid; gap: 9px; }
.biam-form-alert { border-color: #dc2626; background: #fef2f2; color: #7f1d1d; }
.biam-achats-form .biam-has-error:not(.biam-form-card) { display: block; padding: 10px; border: 2px solid #dc2626; border-radius: 11px; background: #fef2f2; }
.biam-achats-form .biam-form-card.biam-has-error { border: 2px solid #dc2626; background: #fff7f7; box-shadow: 0 0 0 3px rgba(220, 38, 38, .1); }
.biam-achats-form .biam-has-error input:not([type="hidden"]), .biam-achats-form .biam-has-error select, .biam-achats-form .biam-has-error textarea { border-color: #dc2626; box-shadow: 0 0 0 3px rgba(220, 38, 38, .12); }
.biam-achats-form input, .biam-achats-form select, .biam-achats-form textarea { box-sizing: border-box; width: 100%; padding: 11px; border: 1px solid #b8c4cf; border-radius: 9px; background: #fff; }
.biam-achats-form input[type="file"] { padding: 9px; background: var(--biam-canvas); }
.biam-achats-form #ticket-chemical { min-height: 50px; line-height: 1.4; padding-top: 12px; padding-bottom: 12px; }
.biam-achats-form select[hidden] { display: none !important; }
.biam-achats-form button { padding: 12px 18px; border: 0; border-radius: 10px; background: var(--biam-primary); color: #fff; font-weight: 750; cursor: pointer; }
.biam-type-grid { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 10px; }
.biam-type-card input { position: absolute; opacity: 0; }
.biam-type-card span { display: block; padding: 17px 10px; text-align: center; border: 2px solid var(--biam-line); border-radius: 12px; font-weight: 700; cursor: pointer; }
.biam-type-card input:checked + span { border-color: var(--biam-primary); background: var(--biam-primary-soft); color: var(--biam-primary-dark); }
.biam-nacre-results { display: grid; gap: 7px; margin-top: 8px; }
.biam-nacre-result { padding: 10px 12px !important; border: 1px solid var(--biam-line) !important; border-radius: 9px !important; background: #f8fafc !important; color: var(--biam-ink) !important; text-align: left; }
.biam-nacre-result:hover, .biam-nacre-result:focus { border-color: var(--biam-primary) !important; background: var(--biam-primary-soft) !important; }
.biam-nacre-selected { padding: 11px 13px; border-radius: 9px; background: #f1f5f9; }
.biam-achats-success { border-color: #86efac; background: #f0fdf4; }
.biam-codes-dialog { width: min(900px, 92vw); max-height: 82vh; border: 0; border-radius: 18px; padding: 22px; background: #fff; color: var(--biam-ink); box-shadow: 0 24px 70px rgba(15, 23, 42, .3); }
.biam-codes-dialog::backdrop { background: rgba(15, 23, 42, .62); }
.biam-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.biam-dialog-header h3 { margin: 0; }
.biam-dialog-close { border: 0 !important; background: transparent !important; color: var(--biam-ink) !important; font-size: 30px; cursor: pointer; padding: 0 6px !important; }
.biam-codes-dialog input { box-sizing: border-box; width: 100%; padding: 11px; border: 1px solid #b8c4cf; border-radius: 9px; background: #fff; color: var(--biam-ink); }
.biam-all-codes-results { display: grid; gap: 7px; max-height: 50vh; overflow: auto; }
.biam-all-codes-results .biam-nacre-result { width: 100%; }

.biam-achats-list { margin: 22px 0; }
.biam-status-groups { display: grid; gap: 20px; }
.biam-status-group { border: 1px solid var(--biam-line); border-radius: var(--biam-radius); background: #fff; box-shadow: var(--biam-shadow); overflow: hidden; }
.biam-status-group-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; background: linear-gradient(90deg, #f0fdfa, #f8fafc); border-bottom: 1px solid var(--biam-line); }
.biam-status-group-header h2 { margin: 0; font-size: 18px; }
.biam-ticket-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px; }
.biam-ticket-card { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 15px; border: 1px solid #e4eaf0; border-radius: 13px; background: #fff; }
.biam-ticket-card h3 { margin: 0; font-size: 16px; line-height: 1.35; }
.biam-ticket-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
.biam-ticket-meta div { padding: 8px 9px; border-radius: 9px; background: var(--biam-canvas); }
.biam-ticket-meta dt { color: var(--biam-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .03em; }
.biam-ticket-meta dd { margin: 3px 0 0; font-weight: 650; overflow-wrap: anywhere; }
.biam-ticket-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; color: var(--biam-muted); font-size: 12px; }
.biam-achats-ticket-detail { margin-top: 24px; padding: 22px; border: 1px solid var(--biam-line); border-radius: var(--biam-radius); background: #fff; box-shadow: var(--biam-shadow); }
.biam-ticket-inline-detail { margin-top: 4px; background: var(--biam-canvas); box-shadow: none; }
.biam-ticket-inline-detail[hidden] { display: none; }
.biam-log-item { padding: 11px 13px; border: 1px solid #e5e7eb; border-radius: 10px; margin-bottom: 8px; background: #f9fafb; }
.biam-ticket-attachments { display: grid; gap: 6px; margin: 0 0 16px; padding: 0; list-style: none; }
.biam-ticket-attachments li { padding: 9px 11px; border-left: 3px solid var(--biam-primary); background: var(--biam-canvas); }
.biam-ticket-attachments a { color: var(--biam-primary-dark); font-weight: 750; text-decoration: none; }
.biam-ticket-attachments a:hover, .biam-ticket-attachments a:focus { text-decoration: underline; }
.biam-ticket-attachments span { color: var(--biam-muted); font-size: 12px; }
.biam-log-prescripteur { border-left: 4px solid #2563eb; }.biam-log-chef-equipe { border-left: 4px solid #7c3aed; }.biam-log-gestionnaire { border-left: 4px solid #059669; }.biam-log-securite { border-left: 4px solid #ea580c; }.biam-log-system { border-left: 4px solid #94a3b8; }

.screen-reader-text { position: absolute; left: -9999px; }

@media (max-width: 980px) {
    .biam-admin-layout, .biam-admin-project-layout { grid-template-columns: 1fr; }
    .biam-admin-panel--sticky { position: static; max-height: none; }
    .biam-type-grid { grid-template-columns: repeat(2, 1fr); }
    .biam-gp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .biam-cockpit-actions { grid-template-columns: 1fr; gap: 12px; }
    .biam-cockpit-action-card { min-height: 84px; grid-template-columns: 52px minmax(0, 1fr); }
    .biam-cockpit-action-icon { width: 52px; height: 52px; }
    .biam-cockpit-action-icon svg { width: 32px; height: 32px; }
    .biam-gp-meta, .biam-ticket-meta { grid-template-columns: 1fr; }
    .biam-gp-grid { grid-template-columns: 1fr; }
    .biam-gp-hero { padding: 20px; }
    .biam-cockpit-table { display: block; overflow-x: auto; }
    .biam-ticket-grid { grid-template-columns: 1fr; }
    .biam-direction-summary, .biam-direction-summary-card dl { grid-template-columns: 1fr; }
    .biam-direction-project-meta { grid-template-columns: 1fr 1fr; }
    .biam-direction-financing-header { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 480px) {
    .biam-gp-actions.has-rh-action { grid-template-columns: 1fr; }
}
@media (max-width: 440px) {
    .biam-direction-project-meta { grid-template-columns: 1fr; }
}

/* Identité visuelle BIAM / Cité des Énergies. */
.biam-admin-wrap h1 {
    color: var(--biam-primary-dark);
    border-bottom: 3px solid var(--biam-primary);
    padding-bottom: 12px;
}
.biam-admin-wrap h2,
.biam-cockpit-card h2,
.biam-gp-team-header h2,
.biam-direction-year-header h2 {
    color: var(--biam-primary-dark);
}
.biam-admin-wrap .card,
.biam-admin-panel,
.biam-cockpit-card,
.biam-gp-team-group,
.biam-status-group,
.biam-form-card,
.biam-achats-ticket-detail {
    border-radius: var(--biam-radius) !important;
    border-top: 4px solid var(--biam-primary);
    box-shadow: var(--biam-shadow);
}
.biam-admin-wrap .widefat thead th {
    background: var(--biam-slate);
    color: #fff;
}
.biam-admin-wrap input[type="text"]:focus,
.biam-admin-wrap input[type="search"]:focus,
.biam-admin-wrap input[type="number"]:focus,
.biam-admin-wrap input[type="date"]:focus,
.biam-admin-wrap select:focus,
.biam-admin-wrap textarea:focus,
.biam-achats-form input:focus,
.biam-achats-form select:focus,
.biam-achats-form textarea:focus,
.biam-codes-dialog input:focus {
    border-color: var(--biam-primary);
    box-shadow: 0 0 0 2px rgba(126, 183, 55, .2);
    outline: 0;
}
.biam-admin-wrap .button-primary,
.biam-cockpit-btn-primary,
.biam-gp-btn,
.biam-front-discussion button,
.biam-achats-form button {
    background: var(--biam-slate);
    border-color: var(--biam-slate);
    color: #fff;
}
.biam-admin-wrap .button-primary:hover,
.biam-admin-wrap .button-primary:focus,
.biam-cockpit-btn-primary:hover,
.biam-cockpit-btn-primary:focus,
.biam-gp-btn:hover,
.biam-gp-btn:focus,
.biam-front-discussion button:hover,
.biam-front-discussion button:focus,
.biam-achats-form button:hover,
.biam-achats-form button:focus {
    background: var(--biam-slate-dark);
    border-color: var(--biam-primary);
    color: #fff;
}
.biam-cockpit-btn,
.biam-achats-list a.biam-action-link {
    border-color: var(--biam-slate);
    border-radius: 4px;
    color: var(--biam-slate-dark);
}
.biam-cockpit-btn:hover,
.biam-cockpit-btn:focus,
.biam-achats-list a.biam-action-link:hover,
.biam-achats-list a.biam-action-link:focus {
    border-color: var(--biam-primary);
    color: var(--biam-primary-dark);
}
.biam-cockpit-btn:focus-visible,
.biam-gp-btn:focus-visible,
.biam-achats-list a.biam-action-link:focus-visible,
.biam-direction-summary-card:focus-visible,
.biam-achats-form button:focus-visible {
    outline: 3px solid var(--biam-orange);
    outline-offset: 2px;
}
.biam-gp-hero {
    position: relative;
    overflow: hidden;
    padding: 24px 26px;
    border: 0;
    border-bottom: 5px solid var(--biam-primary);
    border-radius: 0;
    background: var(--biam-slate);
    box-shadow: none;
}
.biam-gp-hero > * { position: relative; z-index: 1; }
.biam-gp-cockpit > .biam-gp-hero::after,
.biam-achats-form-page > .biam-gp-hero::after,
.biam-achats-list > .biam-gp-hero::after,
.biam-cockpit-page > .biam-gp-hero::after,
.biam-direction-reporting > .biam-gp-hero::after,
.biam-rh-reporting > .biam-gp-hero::after,
.rbf-wrap > .biam-gp-hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 50%;
    right: 18px;
    width: 220px;
    height: 138px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .42;
    pointer-events: none;
    transform: translateY(-50%);
}
.biam-gp-cockpit > .biam-gp-hero::after { background-image: url('../images/biam-plant.svg'); }
.biam-achats-form-page > .biam-gp-hero::after { background-image: url('../images/biam-bacteria.svg'); }
.biam-achats-list > .biam-gp-hero::after { background-image: url('../images/biam-bacteria.svg'); }
.biam-cockpit-page > .biam-gp-hero::after { background-image: url('../images/biam-microalgae.svg'); }
.biam-direction-reporting > .biam-gp-hero::after { background-image: url('../images/biam-microalgae.svg'); }
.biam-rh-reporting > .biam-gp-hero::after { background-image: url('../images/biam-plant.svg'); }
.rbf-wrap > .biam-gp-hero::after { background-image: url('../images/biam-plant.svg'); }
.biam-gp-kicker {
    padding: 0 0 5px;
    border-bottom: 2px solid var(--biam-orange);
    border-radius: 0;
    background: transparent;
    color: #fff;
}
.biam-gp-hero,
.biam-gp-hero h1,
.biam-gp-hero h2,
.biam-gp-hero h3,
.biam-gp-hero p,
.biam-gp-hero strong,
.biam-gp-hero small,
.biam-gp-hero .biam-gp-kicker,
.biam-gp-hero a:not(.biam-hero-back) { color: #fff !important; }
.biam-gp-hero h2 { font-weight: 800; }
.biam-cockpit-page { margin: 24px 0; }
.biam-achats-form-page { margin: 24px 0; }
.biam-cockpit-hero { margin-bottom: 18px; }
.biam-hero-with-back { padding-right: 220px; }
.biam-hero-back {
    position: absolute !important;
    z-index: 3 !important;
    top: 20px;
    right: 22px;
    display: inline-flex;
    min-height: 40px;
    padding: 9px 14px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid rgba(255, 255, 255, .58);
    border-radius: 7px;
    background: rgba(255, 255, 255, .94);
    color: var(--biam-slate-dark) !important;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 3px 10px rgba(43, 54, 69, .16);
}
.biam-hero-back:hover,
.biam-hero-back:focus {
    border-color: #fff;
    background: #fff;
    color: var(--biam-primary-dark) !important;
}

/* Contraste systématique sur les surfaces ardoise. */
.biam-admin-wrap .widefat thead th,
.biam-admin-wrap .widefat thead th a,
.biam-admin-wrap .widefat thead th span,
.biam-admin-wrap .button-primary,
.biam-admin-wrap .button-primary span,
.biam-cockpit-btn-primary,
.biam-cockpit-btn-primary span,
.biam-gp-btn:not(.biam-gp-btn-rh),
.biam-gp-btn:not(.biam-gp-btn-rh) span,
.biam-front-discussion button,
.biam-achats-form button:not(.biam-nacre-result),
.biam-rh-form > button {
    color: #fff !important;
}
.biam-hero-back,
.biam-hero-back span {
    color: var(--biam-slate-dark) !important;
}
.biam-cockpit-card,
.biam-gp-team-group,
.biam-direction-year,
.biam-status-group {
    box-shadow: var(--biam-shadow);
}
.biam-gp-team-header {
    border-bottom-color: var(--biam-primary);
}
.biam-gp-tutelle-header h3,
:is(.biam-direction-financing-header h3, .biam-direction-financing-header h4),
:is(.biam-direction-project h4, .biam-direction-project h5),
.biam-form-card h3,
.biam-achats-ticket-detail h3,
:is(.biam-project-cdds h5, .biam-project-cdds h6) {
    color: var(--biam-primary-dark);
}
.biam-gp-card,
.biam-direction-project,
.biam-ticket-card,
.biam-direction-summary-card {
    border-radius: 4px;
    box-shadow: none;
}
.biam-gp-card:hover,
.biam-ticket-card:hover {
    border-color: var(--biam-primary);
    box-shadow: 0 4px 12px rgba(43, 54, 69, .1);
}
.biam-gp-meta div,
.biam-ticket-meta div,
.biam-direction-project-meta div,
.biam-cockpit-breakdown,
.biam-project-cdd {
    border-radius: 3px;
    background: #f3f5f2;
}
.biam-status-group-header,
.biam-direction-financing-header,
.biam-tutelle-header {
    background: var(--biam-primary-soft);
}
.biam-status-group-header,
.biam-direction-financing-header {
    border-left: 5px solid var(--biam-primary);
}
.biam-direction-financing,
.biam-tutelle-block,
.biam-codes-dialog,
.biam-codes-dialog input,
.biam-nacre-result,
.biam-nacre-selected {
    border-radius: 4px !important;
}
.biam-direction-summary-card:hover,
.biam-direction-summary-card:focus-visible {
    border-color: var(--biam-primary);
    box-shadow: 0 5px 14px rgba(70, 83, 99, .13);
}
.biam-direction-summary-link,
.biam-cockpit-link {
    color: var(--biam-primary-dark);
}
.biam-direction-summary-link span[aria-hidden="true"] {
    color: var(--biam-orange);
}
.biam-type-card span {
    border-radius: 4px;
}
.biam-type-card input:checked + span {
    border-color: var(--biam-primary);
    box-shadow: inset 4px 0 0 var(--biam-primary);
}
.biam-nacre-result:hover,
.biam-nacre-result:focus {
    border-color: var(--biam-primary) !important;
    background: var(--biam-primary-soft) !important;
}
.biam-gp-deadline.is-warning { color: #8a4300; background: #fff0df; border-left: 3px solid var(--biam-orange); }
.biam-gp-deadline.is-urgent { color: #a40013; background: #ffe9ec; border-left: 3px solid var(--biam-red); }
.biam-count-badge {
    border-color: var(--biam-primary);
    color: var(--biam-primary-dark);
}
.biam-cockpit-card-welcome,
.biam-cockpit-card-projects_scope,
.biam-cockpit-card-purchase_domain {
    position: relative;
    overflow: hidden;
    padding-right: 225px;
}
.biam-cockpit-card-welcome::after,
.biam-cockpit-card-projects_scope::after,
.biam-cockpit-card-purchase_domain::after {
    content: "";
    position: absolute;
    right: 14px;
    bottom: -12px;
    width: 190px;
    height: 118px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .13;
    pointer-events: none;
}
.biam-cockpit-card-welcome::after { background-image: url('../images/biam-microalgae.svg'); }
.biam-cockpit-card-projects_scope::after { background-image: url('../images/biam-plant.svg'); }
.biam-cockpit-card-purchase_domain::after { background-image: url('../images/biam-bacteria.svg'); }
@media (max-width: 680px) {
    .biam-gp-cockpit > .biam-gp-hero::after,
    .biam-achats-form-page > .biam-gp-hero::after,
    .biam-achats-list > .biam-gp-hero::after,
    .biam-cockpit-page > .biam-gp-hero::after,
    .biam-direction-reporting > .biam-gp-hero::after,
    .biam-rh-reporting > .biam-gp-hero::after,
    .rbf-wrap > .biam-gp-hero::after { right: -35px; width: 155px; opacity: .22; }
    .biam-hero-with-back { padding-right: 20px; }
    .biam-hero-back {
        position: relative !important;
        top: auto;
        right: auto;
        margin-top: 14px;
    }
    .biam-cockpit-card-welcome,
    .biam-cockpit-card-projects_scope,
    .biam-cockpit-card-purchase_domain { padding-right: 20px; }
    .biam-cockpit-card-welcome::after,
    .biam-cockpit-card-projects_scope::after,
    .biam-cockpit-card-purchase_domain::after { opacity: .06; }
}

/* FOP intention: grouped fields and consistent spacing in the deposit form. */
.biam-fop-intention .cea-formulaire-projet > fieldset { display:grid; gap:18px; }
.biam-fop-intention .cea-form-section { display:grid; gap:18px; min-width:0; padding:20px; border:1px solid var(--biam-line); border-left:5px solid var(--biam-primary); border-radius:var(--biam-radius); }
.biam-fop-intention .cea-form-section h3 { margin:0; padding-bottom:12px; border-bottom:1px solid var(--biam-line); color:var(--biam-slate-dark); font-size:20px; }
.biam-fop-intention .cea-form-grid { align-items:start; gap:18px 22px; }
.biam-fop-intention .cea-form-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.biam-fop-intention .cea-form-field { min-width:0; margin:0; }
.biam-fop-intention .cea-label { display:block; margin-bottom:9px; color:var(--biam-slate-dark); font-weight:700; }
.biam-fop-intention .cea-form-field > label:not([for]) { display:inline-flex; align-items:center; gap:8px; margin:0 8px 8px 0; padding:8px 11px; border:1px solid var(--biam-line); border-radius:5px; background:var(--biam-canvas); font-weight:500; cursor:pointer; }
.biam-fop-intention .cea-form-field input[type="checkbox"],.biam-fop-intention .cea-form-field input[type="radio"] { flex:0 0 auto; width:17px; height:17px; min-height:0; margin:0; accent-color:var(--biam-primary-dark); }
.biam-fop-intention .cea-form-field label:focus-within { outline:2px solid var(--biam-primary-dark); outline-offset:2px; }
.biam-fop-intention .cea-form-field .biam-fop-secondary-label { margin-top:9px; font-size:13px; }
.biam-fop-intention .cea-form-field small { display:block; margin-top:7px; color:var(--biam-muted); line-height:1.5; }
.biam-fop-intention .cea-form-field textarea { min-height:140px; resize:vertical; }
.biam-fop-intention .cea-form-field input[readonly],.biam-fop-intention .cea-form-field input:disabled,.biam-fop-intention .cea-form-field textarea:disabled,.biam-fop-intention .cea-form-field select:disabled { background:#f1f3f4; color:var(--biam-slate); opacity:1; }
.biam-fop-intention .cea-form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0; }
.biam-fop-intention .cea-form-actions .button,.biam-fop-intention .cea-form-actions button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin:0; padding:11px 16px; border:1px solid var(--biam-primary-dark); border-radius:5px; font-size:14px; line-height:1.4; font-weight:700; text-decoration:none; text-align:center; }
.biam-fop-intention .cea-form-actions .button { background:#fff; color:var(--biam-primary-dark); }
.biam-fop-intention .cea-form-actions button[type="submit"],.biam-fop-intention .cea-form-actions .button-primary { background:var(--biam-primary-dark); color:#fff; }
.biam-fop-intention .cea-form-actions .button:hover { background:var(--biam-primary-soft); color:var(--biam-primary-dark); }
.biam-fop-intention .cea-form-actions button[type="submit"]:hover { background:#4c721c; }
@media(max-width:780px) {
    .biam-fop-intention .cea-form-grid,.biam-fop-intention .cea-form-grid--three { grid-template-columns:1fr; }
    .biam-fop-intention .cea-form-section { padding:16px; }
    .biam-fop-intention .cea-form-actions > * { box-sizing:border-box; width:100%; }
}

/* Synthèse par tutelle, puis par guichet. */
.biam-team-reporting-summary { margin-bottom: 18px; }
.biam-team-reporting-summary p { margin: 0 0 6px; }
.biam-reporting-tutelles { display: grid; gap: 26px; }
.biam-reporting-tutelle { min-width: 0; }
.biam-reporting-tutelle-header { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 2px solid var(--biam-primary); }
.biam-reporting-tutelle-header h3 { margin: 0; color: var(--biam-primary-dark); font-size: 19px; }
.biam-reporting-tutelle-header span { color: var(--biam-muted); font-size: 13px; }
.biam-reporting-tutelle-header h3, .biam-reporting-tutelle-header span, .biam-direction-financing-header h4 { overflow-wrap: anywhere; }

/* Prévisions et contrats RH. */
.biam-rh-report-tabs, .biam-rh-contract-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.biam-rh-report-tabs a, .biam-rh-contract-filters a { padding: 10px 14px; border: 1px solid var(--biam-line); border-radius: 8px; color: var(--biam-ink); text-decoration: none; }
.biam-rh-report-tabs a[aria-current], .biam-rh-contract-filters a[aria-current] { background: var(--biam-primary); color: white; border-color: var(--biam-primary); }
.biam-rh-report-tabs span { margin-left: 8px; font-weight: 700; }
.biam-rh-report-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.biam-rh-contract-page fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.biam-contract-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 14px; }
.biam-contract-fields label { min-width: 0; }
.biam-rh-contract-page input, .biam-rh-contract-page select, .biam-rh-contract-page textarea { box-sizing: border-box; max-width: 100%; }
.biam-rh-contract-page select { width: 100%; }
.biam-rh-contract-page fieldset { display: grid; gap: 16px; }
.biam-rh-report-row dd { min-width: 0; overflow-wrap: anywhere; }
.biam-rh-delete-forecast { margin: 12px 0; }
.biam-rh-delete-forecast button { background: #fff; color: #a32626; border: 1px solid #a32626; padding: 9px 13px; border-radius: 7px; }
.biam-rh-delete-forecast button:hover, .biam-rh-delete-forecast button:focus-visible { background: #a32626; color: #fff; }
.biam-rh-report-row footer { flex-wrap: wrap; gap: 10px; }
.biam-cockpit-store-detail { margin-top: 24px; padding-top: 20px; border-top: 1px solid #dce2e8; min-width: 0; }
.biam-cockpit-store-table { overflow-x: auto; }
.biam-cockpit-store-table table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.biam-cockpit-store-table th, .biam-cockpit-store-table td { padding: 12px; text-align: left; overflow-wrap: anywhere; vertical-align: top; }
.biam-cockpit-store-table th:first-child { width: 55%; }
.biam-cockpit-card-my_store_orders .biam-ticket-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.biam-cockpit-card-my_store_orders .biam-cockpit-filter-form { flex-wrap: wrap; }
