.efht-portal {
    --ink: #0e2e4b;
    --muted: #69798b;
    --line: #dce5eb;
    --soft: #eff7fb;
    --brand: #65c9e8;
    --brand-dark: #0e2e4b;
    --accent: #65c9e8;
}

.efht-front-table .efht-card-actions {
    border-top: 0;
    padding-top: 0;
}

/* V0.19 — parcours simplifiés et états explicites */
.efht-js .efht-portal .efht-filter-bar:not(.efht-matching-search)>.efht-front-button{display:none}
.efht-matching-search-simple{grid-template-columns:minmax(280px,2fr) minmax(130px,.7fr) minmax(130px,.7fr) minmax(250px,1.35fr) auto;align-items:end}
.efht-matching-search-simple .efht-matching-options{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;min-height:46px;padding:0 4px}
.efht-matching-search-simple .efht-check{white-space:nowrap}
.efht-offer-search-results{margin:14px 0;padding:16px;border:1px solid #cfe0eb;border-radius:18px;background:#f5fbfe;display:grid;gap:8px}
.efht-offer-search-results>a{display:block;padding:9px 12px;border-radius:12px;color:#12345a;text-decoration:none;background:#fff;border:1px solid #dce9f1}
.efht-offer-search-results>a:hover{border-color:#75c9e9;background:#edf9fd}
.efht-dialog-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.efht-company-applications-mail,.efht-company-applications-confirm{min-height:42px;border-radius:999px;padding:9px 15px;display:inline-flex;align-items:center;gap:7px;font-weight:600;white-space:nowrap}
.efht-company-applications-mail{border:1px solid #76c9e8;background:#76c9e8;color:#fff}
.efht-company-applications-confirm{border:1px solid #17395f;background:#fff;color:#17395f}
.efht-company-applications-mail:hover,.efht-company-applications-confirm:hover{transform:translateY(-1px);box-shadow:0 4px 0 #17395f}
.efht-company-applications-mail:disabled,.efht-company-applications-confirm:disabled{opacity:.45;transform:none;box-shadow:none}
.efht-tracking-row label.is-disabled{opacity:.5}
.efht-tracking-row label.is-disabled select{background:#f2f5f7;cursor:not-allowed}
@media(max-width:1100px){.efht-matching-search-simple{grid-template-columns:repeat(2,minmax(0,1fr))}.efht-matching-search-simple .efht-matching-offer-picker,.efht-matching-search-simple .efht-matching-options{grid-column:1/-1}.efht-matching-search-simple>.efht-front-button{justify-self:end}}
@media(max-width:680px){.efht-matching-search-simple{grid-template-columns:1fr}.efht-matching-search-simple .efht-matching-offer-picker,.efht-matching-search-simple .efht-matching-options{grid-column:auto}.efht-matching-search-simple>.efht-front-button{width:100%;justify-content:center}.efht-dialog-header-actions{width:100%;justify-content:flex-start}.efht-company-applications-mail,.efht-company-applications-confirm{width:100%;justify-content:center}}
.efht-year-switcher { display:flex;align-items:center;margin-left:auto;padding-left:12px;border-left:1px solid var(--line); }
.efht-year-switcher label { display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap; }
.efht-year-switcher select { min-width:125px;height:40px;padding:7px 30px 7px 11px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;font:inherit;font-size:12px;font-weight:800; }
.efht-universe-switcher { display:flex;align-items:center;gap:9px;margin-left:auto;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap; }
.efht-universe-switcher select { min-width:125px;height:40px;padding:7px 30px 7px 11px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;font:inherit;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease; }
.efht-universe-switcher select:hover,.efht-universe-switcher select:focus { border-color:var(--sky);box-shadow:0 0 0 3px rgba(116,199,235,.16);outline:0; }

.efht-section-title {
    margin: 32px 0 14px;
}

.efht-stat-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.efht-dashboard-charts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0; }
.efht-chart-row { display:grid;grid-template-columns:110px 1fr 40px;align-items:center;gap:10px;margin:13px 0;font-size:13px; }
.efht-chart-row > div { height:10px;overflow:hidden;background:var(--soft);border-radius:999px; }
.efht-chart-row i { display:block;height:100%;background:var(--brand);border-radius:inherit; }
.efht-tracking { margin-top:16px;border-top:1px solid var(--line);padding-top:12px; }
.efht-tracking summary { cursor:pointer;font-weight:800; }
.efht-tracking-row { display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(125px,.85fr) minmax(125px,.85fr) minmax(180px,1.35fr) minmax(112px,130px);gap:12px;align-items:end;margin:12px 0;padding:15px 16px;background:var(--soft);border:1px solid var(--line);border-radius:16px;box-sizing:border-box;overflow:hidden; }
.efht-tracking-row > * { min-width:0; }
.efht-tracking-row label { display:grid;gap:6px;color:var(--ink);font-size:12px;font-weight:800;text-transform:none;letter-spacing:0; }
.efht-tracking-row select,.efht-tracking-row input { box-sizing:border-box;width:100%;min-width:0;min-height:43px;padding:8px 11px;color:var(--ink);background:#fff;border:1px solid #c9d6dd;border-radius:9px;font:inherit; }
.efht-tracking-row select:focus,.efht-tracking-row input:focus { outline:2px solid rgba(101,201,232,.32);outline-offset:1px;border-color:var(--brand); }
.efht-tracking-row .efht-front-button { width:100%;min-width:0;max-width:100%;min-height:43px;padding-inline:10px;white-space:nowrap;border-radius:12px;box-sizing:border-box; }
.efht-tracking-actions { display:flex;min-width:0;max-width:100%;flex-direction:column;gap:5px;align-items:stretch;overflow:hidden; }
.efht-tracking-delete { width:100%;max-width:100%;min-height:30px;margin:0!important;padding:4px 10px!important;color:#a6293c!important;background:transparent!important;border:1px solid transparent!important;border-radius:8px!important;box-sizing:border-box;font:inherit;font-size:11px;font-weight:800;line-height:1.2;cursor:pointer; }
.efht-tracking-delete:hover { color:#fff!important;background:#a6293c!important; }
.efht-tracking-identity { align-self:center;padding-right:6px; }
.efht-tracking-identity strong { display:block;line-height:1.35; }
.efht-tracking-identity small { display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:7px;color:var(--muted);font-size:11px;font-weight:650; }
.efht-tracking-identity small span { display:inline-flex;align-items:center;gap:5px;white-space:nowrap; }
.efht-tracking-identity small span::before { content:"";width:5px;height:5px;background:var(--brand);border-radius:50%; }
.efht-matching-search { align-items:end; }

.efht-student-status { display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 12px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap; }
.efht-student-status i { width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(101,201,232,.18); }
.efht-student-status-searching { color:#0e6f8d;background:#eaf8fc;border-color:#c5eaf4; }
.efht-student-status-contact { color:#7a5b08;background:#fff8dd;border-color:#f2df93; }
.efht-student-status-proposed { color:#5142a6;background:#f0edff;border-color:#d8d1ff; }
.efht-student-status-application_sent { color:#76520b;background:#fff5d8;border-color:#efdaa0; }
.efht-student-status-interview { color:#8b3f67;background:#fcebf4;border-color:#efc6db; }
.efht-student-status-placed { color:#176848;background:#e9f7f0;border-color:#bfe5d3; }
.efht-student-status-initial { color:#6941a5;background:#f1ecff;border-color:#dcceff; }
.efht-student-status-unavailable { color:#68717a;background:#f1f3f5;border-color:#dfe3e7; }

.efht-positioned-button { width:100%;margin-top:16px;padding:12px 0 0;color:var(--ink);background:transparent;border:0;border-top:1px solid var(--line);text-align:left;font:inherit;font-weight:800;cursor:pointer; }
.efht-positioned-button span { display:inline-grid;place-items:center;min-width:25px;height:25px;margin-left:6px;padding:0 7px;color:#fff;background:var(--ink);border-radius:999px;font-size:11px; }
.efht-tracking-dialog { width:min(1040px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 40px));padding:0;color:var(--ink);background:#fff;border:0;border-radius:20px;box-sizing:border-box;box-shadow:0 24px 80px rgba(8,39,68,.28); }
.efht-tracking-dialog::backdrop { background:rgba(8,39,68,.56);backdrop-filter:blur(3px); }
.efht-tracking-dialog > header { position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:22px 26px;background:#fff;border-bottom:1px solid var(--line); }
.efht-tracking-dialog h2 { margin:2px 0 0;font-size:24px; }
.efht-dialog-close { width:40px;height:40px;padding:0;color:var(--ink);background:var(--soft);border:0;border-radius:50%;font-size:27px;line-height:1;cursor:pointer; }
.efht-dialog-body { padding:12px 22px 24px;overflow:auto; }
.efht-mailto-track { display:inline-flex;align-items:center;padding:8px 11px;color:var(--efht-button-text,#fff)!important;background:var(--efht-button-bg,var(--brand));border-radius:8px; }

.efht-bulk-bar { position:sticky;top:10px;z-index:3;display:flex;align-items:center;gap:16px;margin:18px 0 12px;padding:12px 14px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(8,39,68,.08); }
.efht-bulk-bar label { display:flex;align-items:center;gap:8px;font-weight:750;white-space:nowrap; }
.efht-bulk-bar input,.efht-select-column input { width:18px;height:18px;accent-color:var(--brand-dark); }
.efht-selection-count { color:var(--muted);font-size:13px; }
.efht-bulk-mail { margin-left:auto;padding:10px 15px;color:#fff;background:var(--ink);border:0;border-radius:10px;font:inherit;font-weight:800;cursor:pointer; }
.efht-bulk-mail:disabled { opacity:.38;cursor:not-allowed; }
.efht-select-column { width:42px;text-align:center!important; }
.efht-match-actions { display:inline-flex;padding:4px;background:var(--soft);border:1px solid var(--line);border-radius:12px;gap:3px; }
.efht-match-actions .efht-action { display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:35px;margin:0;padding:7px 9px;color:var(--ink)!important;background:transparent;border:0;border-radius:8px;font:inherit;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer;white-space:nowrap; }
.efht-match-actions .efht-action:hover { color:#fff!important;background:var(--ink); }
.efht-match-actions .efht-action-mail { color:#0a718f!important;background:#e5f7fc; }
.efht-match-actions .efht-action-fill { color:#176848!important;background:#e7f6ee; }
.efht-match-actions form { display:flex; }

.efht-company-actions { display:inline-flex;align-items:center;padding:4px;background:var(--soft);border:1px solid var(--line);border-radius:12px;gap:3px; }
.efht-company-actions form { display:flex;margin:0; }
.efht-company-action,.efht-company-actions form button { display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:35px;margin:0;padding:7px 10px;color:var(--ink)!important;background:transparent;border:0;border-radius:8px;font:inherit;font-size:12px;font-weight:800;text-decoration:none!important;cursor:pointer;white-space:nowrap; }
.efht-company-action:hover,.efht-company-actions form button:hover { color:#fff!important;background:var(--ink); }
.efht-company-new { color:#087899!important;background:#e5f7fc; }
.efht-company-actions form button { color:#a6293c!important; }

.efht-distance-fallback { display:flex;flex-direction:column;gap:2px;font-weight:750;white-space:nowrap; }
.efht-trip-cell { display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:145px; }
.efht-trip-links { display:flex;flex-wrap:wrap;gap:8px; }
.efht-portal .efht-calculate-trip { display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 13px;color:#fff!important;background:var(--ink);border:1px solid var(--ink);border-radius:10px;font-size:11px;font-weight:800;line-height:1.2;text-decoration:none!important;white-space:nowrap;box-shadow:0 5px 14px rgba(8,39,68,.16);transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.efht-portal .efht-calculate-trip::after { content:'→';margin-left:7px;font-size:14px;line-height:1; }
.efht-portal .efht-calculate-trip:hover,.efht-portal .efht-calculate-trip:focus-visible { color:var(--ink)!important;background:var(--accent);border-color:var(--accent);box-shadow:0 8px 18px rgba(8,39,68,.20);transform:translateY(-2px); }
.efht-portal .efht-calculate-trip:focus-visible { outline:3px solid rgba(101,201,232,.35);outline-offset:2px; }
.efht-distance-fallback small { color:var(--muted);font-size:10px;font-weight:600; }
.efht-trip-summary { display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:-8px;padding:8px!important;color:var(--ink)!important;background:transparent!important;border:1px solid transparent!important;border-radius:15px;text-align:left;font:inherit;cursor:pointer;box-shadow:none!important;transform:none;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.efht-trip-summary:hover,.efht-trip-summary:focus-visible { color:var(--ink)!important;background:var(--soft)!important;border-color:#c8e8f2!important;box-shadow:0 7px 18px rgba(8,39,68,.10)!important;transform:translateY(-2px); }
.efht-trip-summary > strong { font-size:18px; }
.efht-trip-summary.is-fast > strong { color:var(--ink); }
.efht-trip-summary.is-standard > strong { color:var(--brand); }
.efht-trip-summary > span { display:flex;flex-wrap:wrap;gap:4px; }
.efht-trip-summary i { display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;color:#fff;background:var(--line);background:var(--line,var(--brand-dark));border-radius:6px;font-family:Montserrat,Arial,sans-serif;font-size:10px;font-style:normal;font-weight:700;letter-spacing:.01em; }
.efht-trip-summary i { background:var(--line); }
.efht-trip-summary small { color:var(--muted);font-size:10px;white-space:nowrap; }
.efht-trip-dialog { width:min(680px,calc(100vw - 32px)); }
.efht-trip-steps { padding:18px 26px 26px; }
.efht-trip-step { position:relative;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:12px 0; }
.efht-trip-step:not(:last-of-type)::after { content:"";position:absolute;left:22px;top:52px;bottom:-8px;width:2px;background:var(--line); }
.efht-mode-icon { position:relative;z-index:1;display:grid;place-items:center;width:42px;height:42px;color:#fff;background:var(--line);border-radius:12px;font-family:Montserrat,Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.01em; }
.efht-trip-step div strong,.efht-trip-step div small { display:block; }
.efht-trip-step div small { margin-top:3px;color:var(--muted); }
.efht-trip-step b { white-space:nowrap; }

/* Tous les vrais boutons du portail reprennent la forme pilule du site EFHT. */
.efht-portal button:not(.efht-dialog-close):not(.efht-trip-summary),
.efht-portal input[type="submit"],
.efht-portal input[type="button"],
.efht-portal .efht-front-button,
.efht-portal .efht-card-primary,
.efht-portal .efht-calculate-trip,
.efht-portal .efht-company-action,
.efht-portal .efht-match-actions .efht-action,
.efht-portal .efht-card-actions a,
.efht-portal .efht-mailto-track,
.efht-portal .efht-pagination a,
.efht-portal .efht-portal-nav a { border-radius:var(--efht-button-radius,50px)!important; }

.efht-source-state { grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 15px;background:var(--soft);border:1px solid var(--line);border-radius:14px; }
.efht-source-state span { color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em; }
.efht-source-state strong { color:var(--ink); }
.efht-source-state small { margin-left:auto;color:var(--muted); }
.efht-override-flag { padding:5px 9px;color:#7a4b00;background:#fff0c2;border:1px solid #f0d484;border-radius:999px;font-size:11px;white-space:nowrap; }
.efht-portal .efht-reset-aimaira { min-height:32px;padding:6px 11px;color:var(--ink);background:#fff;border:1px solid var(--line);font:inherit;font-size:11px;font-weight:800;cursor:pointer; }
.efht-manual-note { color:#7a4b00!important;font-weight:700!important; }
.efht-pill.efht-alternance-needs_placement { color:#0a6179;background:#e5f7fc;border:1px solid #b9e3f0; }
.efht-pill.efht-alternance-placed { color:#176848;background:#e7f6ee;border:1px solid #bfe5d3; }
.efht-pill.efht-alternance-initial { color:#6941a5;background:#f1ecff;border:1px solid #dcceff; }
.efht-pill.efht-alternance-unknown { color:#725c12;background:#fff3cd;border:1px solid #f2df93; }

.efht-matching-search { display:grid!important;grid-template-columns:minmax(140px,1fr) minmax(160px,1fr) minmax(210px,1.15fr) minmax(135px,.8fr) minmax(135px,.8fr) auto auto;align-items:end!important;gap:12px; }
.efht-matching-search > label { min-width:0!important; }
.efht-matching-search > label > small { display:none; }
.efht-matching-search .efht-check { align-self:end;min-width:205px;height:43px;margin:0; }
.efht-matching-search > .efht-front-button { align-self:end;height:43px; }
.efht-matching-options { display:grid;align-self:end;gap:7px;min-width:230px;padding:3px 0; }
.efht-matching-search .efht-matching-options .efht-check { min-width:0;height:auto;min-height:18px;margin:0;line-height:1.25; }
.efht-offer-sent-badge { display:inline-flex!important;align-items:center;width:fit-content;max-width:100%;margin-top:9px!important;padding:5px 9px;color:#176848!important;background:#e7f6ee;border:1px solid #bfe5d3;border-radius:9px;font-size:10px!important;font-weight:800;line-height:1.3; }

.efht-portal {
    position: relative;
    transition: opacity .18s ease;
}

.efht-portal.is-loading {
    opacity: .58;
    pointer-events: none;
}

.efht-portal.is-loading::after {
    position: fixed;
    z-index: 9999;
    top: 24px;
    right: 24px;
    content: "Mise à jour…";
    padding: 10px 15px;
    border-radius: 999px;
    color: #fff;
    background: var(--ink);
    box-shadow: 0 10px 30px rgba(8,39,68,.22);
    font-weight: 750;
}

.efht-front-form textarea {
    width: 100%;
    border: 1px solid #c9d6dd;
    border-radius: 9px;
    padding: 10px;
    font: inherit;
}

.efht-wide,
.efht-qualification-requirements {
    grid-column: 1 / -1;
}

.efht-qualification-requirements {
    display: grid;
    gap: 10px;
    margin: 8px 0;
    padding: 16px;
    border: 1px solid #dce5eb;
    border-radius: 12px;
}

.efht-qualification-requirements legend {
    padding: 0 6px;
    font-weight: 800;
}

.efht-requirement-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.efht-inline-link,
.efht-match-actions a {
    color: var(--ink);
    font-weight: 750;
    text-decoration: none;
}

.efht-match-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.efht-match-actions form {
    margin: 0;
}

.efht-filter-bar .efht-check {
    display: flex;
    flex-direction: row;
    align-items: center;
    min-width: 210px;
}

.efht-filter-bar .efht-check input {
    width: auto;
    min-height: 0;
}

.efht-fill-button {
    border: 0;
    border-radius: 8px;
    padding: 8px 10px;
    color: #fff;
    background: var(--efht-button-bg, #65c9e8);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}

.efht-pill.efht-compatible { background: #dff3eb; color: #126c57; }
.efht-pill.efht-verify { background: #fff3cd; color: #725c12; }
.efht-pill.efht-incompatible { background: #fce8ea; color: #9a2530; }

.efht-portal .efht-pill.is-green,
.efht-portal .efht-pill.efht-compatible {
    background: #e7f6fb;
    color: var(--ink);
    border-color: #b9e3f0;
}

.efht-portal .efht-front-success {
    background: #e7f6fb;
    color: var(--ink);
    border-color: #b9e3f0;
}

.efht-filled-name {
    margin: 12px 0 0;
    padding: 9px 11px;
    border-radius: 9px;
    background: var(--soft);
    color: var(--ink);
}

/* Cartes offres inspirées du mouvement visuel d’efht.fr. */
.efht-offer-grid {
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 24px;
    padding: 4px 0 10px 8px;
}

.efht-offer-card {
    position: relative;
    display: flex;
    min-height: 300px;
    padding: 20px 21px;
    overflow: visible;
    color: var(--ink);
    background: var(--efht-surface, #fff);
    border: var(--efht-card-border, 2px) solid var(--ink);
    border-radius: var(--efht-card-radius, 22px);
    box-shadow: 0 0 0 var(--efht-card-shadow, var(--ink));
    transform: translate(0, 0);
    transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease, transform .4s cubic-bezier(.2,.8,.2,1);
}

.efht-offer-card:hover,
.efht-offer-card:focus-within {
    z-index: 2;
    background: var(--efht-card-hover-bg, var(--soft));
    box-shadow: calc(var(--efht-card-offset, 10px) * -1) var(--efht-card-offset, 10px) 0 var(--efht-card-shadow, var(--ink));
}

.efht-offer-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.efht-offer-number {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.efht-offer-number small { display:block;margin-top:3px;color:var(--brand-dark);font-size:10px;letter-spacing:0;text-transform:none; }

.efht-offer-card .efht-pill {
    padding: 6px 10px;
    border: 1px solid rgba(8,39,68,.08);
}

.efht-offer-facts {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 12px;
    color: var(--ink);
    font-size: 13px;
}

.efht-offer-facts span {
    position: relative;
    padding-left: 21px;
}

.efht-offer-facts span::before {
    position: absolute;
    left: 1px;
    top: .05em;
    color: var(--ink);
    font-weight: 900;
}

.efht-offer-place::before { content: "⌖"; }
.efht-offer-contract::before { content: "◷"; }

.efht-offer-main {
    margin-top: 16px;
}

.efht-offer-card .efht-offer-main h3 {
    margin: 0 0 4px;
    color: var(--ink);
    font-family: var(--efht-title-font, inherit);
    font-size: clamp(20px, 1.7vw, 25px);
    font-weight: 850;
    letter-spacing: -.025em;
}

.efht-offer-card .efht-company-name {
    color: var(--ink);
    font-size: 15px;
}

.efht-offer-formation {
    margin-top: 14px;
}

.efht-offer-formation span {
    display: block;
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.efht-offer-formation strong {
    display: block;
    color: var(--ink);
    font-size: 17px;
    line-height: 1.3;
}

.efht-offer-card .efht-card-actions {
    min-height: 43px;
    margin-top: auto;
    padding-top: 16px;
    border-top-color: rgba(8,39,68,.15);
	display:flex;
	flex-direction:column;
	align-items:stretch;
	gap:10px;
}

.efht-offer-card .efht-card-actions .efht-card-primary {
    display: inline-flex;
    align-items: center;
    min-height: 39px;
    padding: 9px 14px;
    color: var(--efht-button-text, #fff);
    background: var(--efht-button-bg, var(--accent));
    border-radius: var(--efht-button-radius, 12px);
    transition: background-color .2s ease, transform .2s ease;
    opacity: 1;
	justify-content:center;
}

.efht-offer-card .efht-card-actions .efht-card-primary:hover {
    color: var(--efht-button-text, #fff);
    background: var(--efht-button-hover, var(--ink));
    transform: translateY(-2px);
}

.efht-card-secondary-actions { display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%; }
.efht-card-secondary-actions form { width:100%;margin:0; }
.efht-offer-card .efht-card-actions .efht-card-edit,.efht-offer-card .efht-card-actions .efht-card-delete { display:flex;align-items:center;justify-content:center;width:100%;min-height:38px;margin:0;padding:8px 12px!important;border:1px solid var(--line)!important;background:#fff!important;font-size:12px;font-weight:800;line-height:1.2;text-decoration:none!important; }
.efht-offer-card .efht-card-actions .efht-card-edit { color:var(--ink)!important; }
.efht-offer-card .efht-card-actions .efht-card-edit:hover { color:#fff!important;background:var(--ink)!important;border-color:var(--ink)!important; }
.efht-offer-card .efht-card-actions .efht-card-delete { color:#b52c55!important;border-color:#edb9c9!important;cursor:pointer; }
.efht-offer-card .efht-card-actions .efht-card-delete:hover { color:#fff!important;background:#c62f61!important;border-color:#c62f61!important; }
.efht-tracking-row-deleted { grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr) auto;align-items:center;background:#fff7f9;border-color:#efcbd6; }
.efht-tracking-row-deleted p { margin:0;color:#8d2948;font-size:12px; }
.efht-tracking-row-deleted .efht-tracking-delete { width:auto;min-width:135px; }
.efht-journal-table th:first-child,.efht-journal-table td:first-child { min-width:145px; }
.efht-journal-table td:last-child { min-width:280px; }
.efht-audit-actions { display:flex;justify-content:flex-end;gap:10px;padding:14px 0; }
.efht-audit-actions .efht-tracking-delete { width:auto;padding:10px 18px; }
.efht-audit-actions .efht-audit-purge { color:#fff;background:#b4234d;border-color:#b4234d; }

.efht-offer-card.efht-status-filled {
    border-color: var(--brand);
}

.efht-offer-card.efht-status-paused,
.efht-offer-card.efht-status-closed,
.efht-offer-card.efht-status-draft {
    --efht-card-hover-bg: #f6f7f8;
}

.efht-qualification-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #edf1f3;
}

.efht-qualification-list small {
    display: block;
    color: #69798b;
}

/* Fiche étudiant : lecture par blocs métier. */
.efht-student-editor { margin-top:18px;gap:16px; }
.efht-student-address { grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 15px;border:1px solid #d7e6ec;border-radius:13px;background:#f8fbfc; }
.efht-student-address span { color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }
.efht-student-address strong { font-size:13px;text-align:right; }
.efht-student-section { grid-column:1/-1;min-width:0;margin:0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff; }
.efht-student-section legend { padding:0 8px;color:var(--ink);font-size:15px;font-weight:850; }
.efht-student-section legend span { display:inline-grid;place-items:center;width:25px;height:25px;margin-right:6px;border-radius:50%;color:#fff;background:var(--brand);font-size:12px; }
.efht-student-section-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px; }
.efht-student-section-grid label { min-width:0; }
.efht-section-help { margin:0 0 13px;color:var(--muted);font-size:12px; }
.efht-student-save { grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:2px; }
.efht-student-save .efht-front-button { min-width:210px; }

/* CRM entreprises et prospection. */
.efht-crm-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 20px; }
.efht-crm-summary article { padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(10,42,75,.04); }
.efht-crm-summary strong { display:block;color:var(--brand);font-size:30px;line-height:1; }
.efht-crm-summary span { display:block;margin-top:7px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase; }
.efht-company-crm-table { min-width:1250px; }
.efht-company-crm-table td small { display:block;margin-top:4px;color:var(--muted); }
.efht-company-status-prospect { background:#edf7fc;color:#176a8c; }
.efht-company-status-contacted { background:#f3edff;color:#6845a1; }
.efht-company-status-followup,.efht-followup-late { background:#fff0f2;color:#b62f55; }
.efht-company-status-partner { background:#e7f7ef;color:#187550; }
.efht-company-status-inactive,.efht-followup-none { background:#f1f4f6;color:#657384; }
.efht-followup { display:inline-flex;align-items:center;white-space:nowrap;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800; }
.efht-followup-today { background:#fff1cf;color:#8a5a00; }
.efht-followup-soon { background:#eaf6fc;color:#176a8c; }
.efht-followup-planned { background:#edf4ff;color:#315d9c; }
.efht-company-actions { display:flex;align-items:center;gap:7px;white-space:nowrap; }
.efht-company-action { display:inline-flex;align-items:center;gap:4px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800;text-decoration:none; }
.efht-company-action:hover { color:#fff;background:var(--ink);border-color:var(--ink); }
.efht-crm-history { margin-top:18px;padding-top:18px;border-top:1px solid var(--line); }
.efht-crm-quick-form { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px;border-radius:16px;background:#f4f9fb; }
.efht-crm-quick-form label { font-size:12px;font-weight:800; }
.efht-crm-quick-form .efht-wide { grid-column:1/-1; }
.efht-crm-timeline { position:relative;margin-top:16px; }
.efht-crm-timeline article { display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line); }
.efht-timeline-dot { width:11px;height:11px;margin-top:5px;border:3px solid #dff3fb;border-radius:50%;background:var(--brand); }
.efht-crm-timeline strong,.efht-crm-timeline small,.efht-crm-timeline em { display:block; }
.efht-crm-timeline small { margin-top:2px;color:var(--muted); }
.efht-crm-timeline p { margin:7px 0; }
.efht-crm-timeline em { color:#176a8c;font-size:12px;font-style:normal;font-weight:800; }
.efht-timeline-delete { padding:5px 9px;border:0;border-radius:999px;color:#b62f55;background:#fff0f2;font-size:11px;cursor:pointer; }
.efht-offer-toolbar { display:flex;align-items:center;gap:12px;margin:15px 0; }
.efht-offer-toolbar>span { margin-left:auto;color:var(--muted);font-size:12px;font-weight:800; }
.efht-view-switch { display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fff; }
.efht-view-switch a,.efht-export-button { padding:8px 14px;border-radius:999px;font-size:12px;font-weight:850;text-decoration:none; }
.efht-view-switch a.is-active { color:#fff;background:var(--ink); }
.efht-export-button,.efht-export-button:visited,.efht-export-button:hover,.efht-export-button:focus { color:#fff!important;background:var(--brand); }
.efht-export-button:hover,.efht-export-button:focus { filter:brightness(.92);transform:translateY(-1px); }
.efht-edit-button { display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:7px 13px;border:1px solid #b9e4f5;border-radius:999px;color:#126b91!important;background:#eaf8fd;font-size:12px;font-weight:850;line-height:1;text-decoration:none!important;white-space:nowrap;transition:background .18s ease,color .18s ease,transform .18s ease; }
.efht-edit-button:hover,.efht-edit-button:focus { color:#fff!important;background:var(--ink);border-color:var(--ink);transform:translateY(-1px); }
.efht-offers-crm-shell { max-height:70vh; }
.efht-offers-crm-table { min-width:2450px; }
.efht-offers-crm-table thead th { position:sticky;top:0;z-index:2;background:#f2f8fb; }
.efht-offers-crm-table td { vertical-align:top; }
.efht-offers-crm-table th:nth-child(1),.efht-offers-crm-table td:nth-child(1),.efht-offers-crm-table th:nth-child(7),.efht-offers-crm-table td:nth-child(7) { position:sticky;z-index:1;background:#fff; }
.efht-offers-crm-table th:nth-child(1),.efht-offers-crm-table td:nth-child(1) { left:0; }
.efht-offers-crm-table th:nth-child(7),.efht-offers-crm-table td:nth-child(7) { left:150px; }
.efht-offers-crm-table thead th:nth-child(1),.efht-offers-crm-table thead th:nth-child(7) { z-index:3;background:#f2f8fb; }
.efht-crm-comment { min-width:220px;max-width:300px;white-space:normal; }

/* EFHT Scout — recherche à la demande et import CRM. */
.efht-scout-head { align-items:flex-end; }
.efht-scout-search { display:grid;grid-template-columns:minmax(0,1fr) 155px 130px auto;gap:14px;align-items:end;margin:0 0 20px;padding:18px; }
.efht-scout-search>label { display:flex;flex-direction:column;gap:6px;color:var(--ink);font-size:12px;font-weight:850; }
.efht-scout-search input:not([type="radio"]),.efht-scout-search select { width:100%;min-height:46px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:9px 12px; }
.efht-scout-profiles { display:flex;align-items:center;gap:7px;min-width:0; }
.efht-scout-profiles label { cursor:pointer; }
.efht-scout-profiles input { position:absolute;opacity:0;pointer-events:none; }
.efht-scout-profiles span { display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;color:#21647e;background:#fff;font-size:12px;font-weight:850;white-space:nowrap;transition:.18s ease; }
.efht-scout-profiles input:checked+span,.efht-scout-profiles span:hover { color:#fff;background:var(--ink);border-color:var(--ink);transform:translateY(-1px); }
.efht-scout-search .efht-front-button { min-height:46px;border-radius:999px;white-space:nowrap; }
.efht-scout-empty { padding:50px 20px;border:1px dashed #b8d6e1;border-radius:22px;text-align:center;background:#f8fcfe; }
.efht-scout-empty strong { display:block;color:var(--ink);font-size:20px; }
.efht-scout-empty p { margin:6px 0 0;color:var(--muted); }
.efht-scout-results-head { display:flex;justify-content:space-between;gap:20px;margin:22px 0 14px; }
.efht-scout-results-head strong { color:var(--ink);font-size:18px; }
.efht-scout-results-head span { color:var(--muted);font-size:12px; }
.efht-scout-list { display:flex;flex-direction:column;gap:10px; }
.efht-scout-row { overflow:hidden;border:1px solid #d2e0e7;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(10,42,75,.06);transition:border-color .18s ease,box-shadow .18s ease; }
.efht-scout-row:hover,.efht-scout-row[open] { border-color:#9dcfe2;box-shadow:0 10px 28px rgba(10,42,75,.1); }
.efht-scout-row summary { display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:150px;padding:20px 24px;list-style:none;cursor:pointer; }
.efht-scout-row summary::-webkit-details-marker { display:none; }
.efht-scout-row-copy { display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:7px; }
.efht-scout-kind { display:inline-flex;align-items:center;padding:5px 9px;border-radius:6px;color:#176a8c;background:#e3f5fc;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase; }
.efht-scout-row-copy>strong { color:var(--ink);font-family:var(--efht-title-font,inherit);font-size:19px;line-height:1.25; }
.efht-scout-company { color:var(--ink);font-size:15px;font-weight:850; }
.efht-scout-location { color:#29485f;font-size:12px;font-weight:700;text-transform:uppercase; }
.efht-scout-row-meta { margin-top:4px;color:var(--muted);font-size:12px; }
.efht-scout-arrow { display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:50%;color:#fff;background:var(--brand);font-size:24px;font-weight:900;transition:transform .2s ease,background .2s ease; }
.efht-scout-row[open] .efht-scout-arrow { background:var(--ink);transform:rotate(90deg); }
.efht-scout-row-detail { display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,.7fr);border-top:1px solid var(--line);background:#fbfdfe; }
.efht-scout-detail-main { padding:24px; }
.efht-scout-detail-main h3 { margin:0 0 14px;color:var(--ink);font-size:18px; }
.efht-scout-description { max-height:380px;overflow:auto;padding-right:10px;color:#28475f;font-size:14px;line-height:1.65; }
.efht-scout-description-empty { color:var(--muted);font-style:italic; }
.efht-scout-detail-aside { padding:24px;border-left:1px solid var(--line);background:#edf7fb; }
.efht-scout-detail-aside dl { display:grid;gap:11px;margin:0; }
.efht-scout-detail-aside dl>div { padding-bottom:10px;border-bottom:1px solid #cfe2ea; }
.efht-scout-detail-aside dt { color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase; }
.efht-scout-detail-aside dd { margin:3px 0 0;color:var(--ink);font-size:13px;font-weight:800; }
.efht-scout-internal-note { margin:16px 0;padding:10px 12px;border-radius:12px;color:#315d72;background:#fff;font-size:11px;line-height:1.4; }
.efht-scout-row-actions { display:flex;align-items:center;gap:9px;flex-wrap:wrap; }
.efht-scout-row-actions form { margin:0; }
.efht-scout-added,.efht-scout-add { display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 14px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:850;line-height:1;text-decoration:none!important;cursor:pointer; }
.efht-scout-add { color:#fff;background:var(--brand);border-color:var(--brand); }
.efht-scout-added { color:#187550!important;background:#e7f7ef;border-color:#c5ebd9; }
.efht-scout-add:hover { color:#fff!important;background:var(--ink);border-color:var(--ink);transform:translateY(-1px); }

@media (max-width:1150px) {
	.efht-scout-search { grid-template-columns:1fr 1fr; }
	.efht-scout-profiles { grid-column:1/-1;flex-wrap:wrap; }
}

@media (max-width: 800px) {
	.efht-scout-search { grid-template-columns:1fr; }
	.efht-scout-search>label,.efht-scout-search .efht-front-button { grid-column:1; }
	.efht-scout-results-head { align-items:flex-start;flex-direction:column;gap:4px; }
	.efht-scout-row summary { min-height:0;padding:17px; }
	.efht-scout-row-detail { grid-template-columns:1fr; }
	.efht-scout-detail-main,.efht-scout-detail-aside { padding:18px; }
	.efht-scout-detail-aside { border-top:1px solid var(--line);border-left:0; }
	.efht-scout-location { text-transform:none; }
	.efht-crm-summary { grid-template-columns:1fr; }
	.efht-crm-quick-form { grid-template-columns:1fr; }
	.efht-offer-toolbar { align-items:stretch;flex-direction:column; }
	.efht-offer-toolbar>span { margin-left:0;text-align:center; }
	.efht-view-switch { justify-content:center; }
	.efht-student-section-grid { grid-template-columns:1fr; }
	.efht-student-address { align-items:flex-start;flex-direction:column;gap:4px; }
	.efht-student-address strong { text-align:left; }
	.efht-student-save .efht-front-button { width:100%; }
    .efht-portal-nav { align-items:stretch; }
    .efht-year-switcher { width:100%;margin-left:0;padding:10px 0 0;border-left:0;border-top:1px solid var(--line); }
    .efht-year-switcher label { width:100%;justify-content:space-between; }
    .efht-year-switcher select { flex:1;max-width:180px; }
    .efht-requirement-row { grid-template-columns: 1fr; }
    .efht-offer-grid { padding-left: 0; }
    .efht-offer-card:hover,
    .efht-offer-card:focus-within { box-shadow: -5px 5px 0 var(--efht-card-shadow, var(--ink)); }
	.efht-dashboard-charts { grid-template-columns:1fr; }
	.efht-tracking-row { grid-template-columns:1fr 1fr; }
	.efht-tracking-row-deleted { grid-template-columns:1fr; }
	.efht-tracking-row-deleted .efht-tracking-delete { width:100%; }
	.efht-audit-actions { align-items:stretch;flex-direction:column; }
	.efht-audit-actions .efht-tracking-delete { width:100%; }
	.efht-tracking-identity,.efht-tracking-row label:last-of-type { grid-column:1 / -1; }
	.efht-tracking-actions { grid-column:1 / -1;flex-direction:row; }
	.efht-tracking-actions .efht-front-button,.efht-tracking-actions .efht-tracking-delete { flex:1;width:100%; }
	.efht-tracking-dialog { width:calc(100vw - 20px); }
	.efht-bulk-bar { position:static;align-items:flex-start;flex-wrap:wrap; }
	.efht-bulk-mail { width:100%;margin-left:0; }
	.efht-match-actions .efht-action span { display:none; }
	.efht-company-actions span { display:none; }
	.efht-matching-search { grid-template-columns:1fr!important; }
	.efht-matching-search .efht-check { min-width:0;width:100%; }
}

@media (min-width:801px) and (max-width:1050px) {
	.efht-tracking-row { grid-template-columns:minmax(145px,1.1fr) minmax(120px,.85fr) minmax(120px,.85fr) minmax(165px,1.25fr) minmax(105px,120px);gap:10px;padding:14px; }
	.efht-dialog-body { padding-inline:14px; }
}

@media (min-width:801px) and (max-width:1150px) {
	.efht-matching-search { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.efht-matching-search .efht-check { min-width:0; }
}

@media (max-width: 430px) {
    .efht-offer-grid { grid-template-columns: 1fr; }
    .efht-offer-card { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .efht-offer-card,
    .efht-offer-card .efht-card-primary { transition: none; }
}

/* V0.14 — système visuel unifié du portail. */
.efht-portal { --danger:#cc3366;--danger-soft:#fff3f7;--success:#197451;--success-soft:#eaf8f1;--warning:#956b05;--warning-soft:#fff7da;--violet:#6550a7;--violet-soft:#f2efff; }
.efht-portal .efht-portal-nav { display:flex;align-items:center;gap:7px;overflow:visible;padding:8px 10px; }
.efht-nav-main { display:flex;align-items:center;gap:3px;min-width:0; }
.efht-portal .efht-nav-main>a,.efht-nav-settings>summary { display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 11px;color:var(--ink)!important;background:var(--soft);border:1px solid #e1edf2;border-radius:999px!important;font-size:13px;font-weight:850;line-height:1;list-style:none;white-space:nowrap;text-decoration:none!important;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.efht-nav-icon { width:17px;height:17px;flex:0 0 17px; }
.efht-portal .efht-nav-main>a:hover,.efht-nav-settings>summary:hover { color:#fff!important;background:var(--ink);border-color:var(--ink);box-shadow:0 7px 17px rgba(14,46,75,.18);transform:translateY(-2px); }
.efht-portal .efht-nav-main>a.is-active,.efht-nav-settings>summary.is-active,.efht-nav-settings[open]>summary { color:#fff!important;background:var(--ink);border-color:var(--ink); }
.efht-nav-settings { position:relative;flex:0 0 auto; }
.efht-nav-settings>summary::-webkit-details-marker { display:none; }
.efht-nav-settings>summary>i { margin-left:1px;font-size:13px;font-style:normal;transition:transform .18s ease; }
.efht-nav-settings[open]>summary>i { transform:rotate(180deg); }
.efht-nav-settings-menu { position:absolute;top:calc(100% + 10px);right:0;z-index:40;display:grid;width:260px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 45px rgba(8,39,68,.18); }
.efht-nav-settings-menu::before { content:"";position:absolute;right:28px;top:-6px;width:11px;height:11px;background:#fff;border-top:1px solid var(--line);border-left:1px solid var(--line);transform:rotate(45deg); }
.efht-nav-group-label { padding:8px 10px 5px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase; }
.efht-portal .efht-nav-settings-menu a { display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 10px;color:var(--ink)!important;background:transparent;border-radius:11px!important;font-size:13px;font-weight:800;text-decoration:none!important;white-space:nowrap; }
.efht-portal .efht-nav-settings-menu a:hover,.efht-portal .efht-nav-settings-menu a.is-active { color:var(--ink)!important;background:var(--soft); }

.efht-status,.efht-portal .efht-pill { display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:5px 10px;border:1px solid #d5e1e7;border-radius:999px;color:#536675;background:#f3f6f8;font-size:11px;font-weight:850;line-height:1.15;white-space:nowrap;box-sizing:border-box; }
.efht-status>i { width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(14,46,75,.07); }
.efht-status-active,.efht-company-status-partner,.efht-offer-status-open,.efht-offer-status-filled,.efht-followup-planned { color:var(--success);background:var(--success-soft);border-color:#bee5d2; }
.efht-status-inactive,.efht-company-status-inactive,.efht-offer-status-draft,.efht-offer-status-closed,.efht-followup-none { color:#65717b;background:#f1f4f6;border-color:#d9e0e5; }
.efht-company-status-prospect { color:#0d6e8d;background:#eaf8fd;border-color:#bce7f4; }
.efht-company-status-contacted { color:var(--violet);background:var(--violet-soft);border-color:#d9d0ff; }
.efht-company-status-followup,.efht-followup-late { color:var(--danger);background:var(--danger-soft);border-color:#f0bfd0; }
.efht-followup-today,.efht-offer-status-paused { color:var(--warning);background:var(--warning-soft);border-color:#eedb95; }
.efht-followup-soon { color:#0d6e8d;background:#eaf8fd;border-color:#bce7f4; }

.efht-portal .efht-edit-button { display:inline-flex!important;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:7px 12px!important;color:#086b8c!important;background:#eaf8fd!important;border:1px solid #b9e5f3!important;border-radius:999px!important;font-size:12px;font-weight:850;line-height:1;text-decoration:none!important;white-space:nowrap;box-sizing:border-box; }
.efht-portal .efht-edit-button:hover,.efht-portal .efht-edit-button:focus-visible { color:#fff!important;background:var(--ink)!important;border-color:var(--ink)!important; }
.efht-delete-button,.efht-tracking-delete,.efht-timeline-delete { display:inline-flex!important;align-items:center;justify-content:center;gap:5px;min-height:36px;margin:0!important;padding:7px 12px!important;color:var(--danger)!important;background:#fff!important;border:1px solid rgba(204,51,102,.36)!important;border-radius:999px!important;font:inherit;font-size:12px!important;font-weight:850!important;line-height:1!important;white-space:nowrap;cursor:pointer;box-sizing:border-box; }
.efht-delete-button:hover,.efht-delete-button:focus-visible,.efht-tracking-delete:hover,.efht-timeline-delete:hover { color:#fff!important;background:var(--danger)!important;border-color:var(--danger)!important; }
.efht-company-actions form button { color:var(--danger)!important;background:#fff!important;border:1px solid rgba(204,51,102,.36)!important; }
.efht-company-actions form button:hover { color:#fff!important;background:var(--danger)!important;border-color:var(--danger)!important; }
.efht-card-secondary-actions { display:grid!important;grid-template-columns:1fr 1fr;gap:9px!important;align-items:center; }
.efht-card-secondary-actions form,.efht-card-secondary-actions .efht-edit-button,.efht-card-secondary-actions .efht-delete-button { width:100%; }
.efht-positioned-button { display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:43px;margin-top:16px;padding:9px 13px;color:var(--ink);background:#fff;border:1px solid #bce5f3;border-radius:999px;text-align:center;font:inherit;font-weight:800;white-space:nowrap;cursor:pointer; }
.efht-positioned-button:hover { color:#fff;background:var(--ink);border-color:var(--ink); }

.efht-front-table th { color:#607386;background:#f4f8fa;font-size:10px;letter-spacing:.06em;white-space:nowrap; }
.efht-front-table td { vertical-align:middle; }
.efht-front-table td>.efht-status,.efht-front-table td>.efht-pill,.efht-company-actions,.efht-match-actions,.efht-offer-number,.efht-view-switch,.efht-pagination { white-space:nowrap; }
.efht-company-actions { flex-wrap:nowrap; }
.efht-company-actions .efht-edit-button { min-height:35px; }
.efht-qualification-list>div { align-items:center;gap:12px; }
.efht-qualification-list>div>span:first-child { flex:1;min-width:0; }
.efht-card-actions { align-items:center;flex-wrap:nowrap; }
.efht-card-actions form { margin:0; }
.efht-scout-kind { max-width:100%;border:1px solid #bce7f4;white-space:nowrap; }
.efht-scout-search { grid-template-columns:minmax(0,1fr) 145px 105px 190px auto; }

@media (max-width:1180px) {
	.efht-portal .efht-nav-main>a,.efht-nav-settings>summary { padding-inline:9px;font-size:12px; }
	.efht-scout-search { grid-template-columns:1fr 1fr; }
	.efht-scout-profiles { grid-column:1/-1; }
}
@media (max-width:980px) {
	.efht-portal .efht-portal-nav { flex-wrap:wrap; }
	.efht-nav-main { order:1;width:100%;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin; }
	.efht-nav-settings { order:2; }
	.efht-year-switcher { order:3;margin-left:auto;border-left:1px solid var(--line);border-top:0;padding:0 0 0 12px;width:auto; }
	.efht-universe-switcher { order:2;margin-left:auto; }
	.efht-nav-main>a { flex:0 0 auto; }
}

/* V0.16.1 — matching inversé plus lisible et parfaitement aligné. */
.efht-student-match-filters { display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) minmax(220px,auto) minmax(250px,auto) auto;align-items:end;gap:12px; }
.efht-student-match-filters > label { min-width:0;margin:0; }
.efht-student-match-filters > .efht-check { min-height:43px;align-items:center;align-self:end;padding:0 4px;white-space:nowrap; }
.efht-student-match-filters > button { min-height:47px;align-self:end; }
@media(max-width:1100px) { .efht-student-match-filters { grid-template-columns:1fr 1fr; }.efht-student-match-filters > button{grid-column:1/-1}.efht-student-match-filters > .efht-check{white-space:normal} }

/* V0.16.2 — cartes d’offres compactes, alignées sur le jobboard public. */
.efht-offer-grid { grid-template-columns:1fr;gap:16px;padding:6px 12px 14px; }
.efht-offer-card.efht-offer-row-card { display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:0;padding:22px 24px;background:#fff;border:1px solid #cfe2ee;border-radius:20px;box-shadow:none;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease; }
.efht-offer-card.efht-offer-row-card:hover,.efht-offer-card.efht-offer-row-card:focus-within { z-index:2;background:#fff;border-color:#0b2c50;box-shadow:-10px 10px 0 #0b2c50;transform:translate(4px,-4px); }
.efht-offer-row-content { display:grid;gap:6px;min-width:0;flex:1; }
.efht-offer-row-tags { display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:2px; }
.efht-offer-row-contract { display:inline-flex;justify-self:start;padding:5px 9px;color:#176889;background:#e6f6fc;border:1px solid #b8e4f5;border-radius:7px;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase; }
.efht-offer-row-card h3 { margin:0!important;color:#092d55!important;font-size:21px!important;line-height:1.25!important;letter-spacing:-.015em!important; }
.efht-offer-row-company { color:#176f93;font-size:15px; }
.efht-offer-row-location { margin:0;color:#66788d;font-size:14px; }
.efht-offer-row-meta { color:#7b899c;font-size:12px;line-height:1.5; }
.efht-offer-row-actions { display:flex;flex-direction:column;align-items:stretch;gap:9px;flex:0 0 300px; }
.efht-offer-row-match { display:flex;align-items:center;justify-content:flex-end;gap:13px;color:#0b2c50!important;font-size:13px;font-weight:850;text-decoration:none!important; }
.efht-offer-row-match b { display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;color:#fff;background:#72c9ea;border-radius:50%;font-size:23px;line-height:1;transition:background .2s ease,transform .2s ease; }
.efht-offer-row-match:hover b { background:#0b2c50;transform:translateX(3px); }
.efht-offer-row-actions .efht-public-offer-link { min-height:36px;font-size:12px; }
.efht-offer-row-actions .efht-card-secondary-actions { display:flex;gap:8px; }
.efht-offer-row-actions .efht-card-secondary-actions > * { flex:1; }
.efht-offer-row-actions .efht-card-secondary-actions .efht-edit-button,.efht-offer-row-actions .efht-card-secondary-actions .efht-card-delete { display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;margin:0;padding:7px 10px!important;border-radius:999px!important;font-size:12px;white-space:nowrap; }
.efht-offer-row-actions .efht-positioned-button { width:100%;margin:0; }
@media(max-width:760px) { .efht-offer-grid{padding-left:8px}.efht-offer-card.efht-offer-row-card{align-items:stretch;flex-direction:column;padding:19px}.efht-offer-row-actions{flex-basis:auto;width:100%}.efht-offer-row-match{justify-content:space-between}.efht-offer-card.efht-offer-row-card:hover,.efht-offer-card.efht-offer-row-card:focus-within{box-shadow:-6px 6px 0 #0b2c50;transform:translate(2px,-2px)} }

/* V0.16.3 — neutralise définitivement l’ancienne disposition verticale. */
.efht-offer-card.efht-offer-row-card { flex-direction:row!important;justify-content:space-between!important;height:auto!important; }
@media(max-width:760px) { .efht-offer-card.efht-offer-row-card{flex-direction:column!important} }

/* V0.16.4 — une seule ligne visuelle pour les contrôles du matching inversé. */
.efht-student-match-filters .efht-student-match-field small { display:block;min-height:15px;line-height:15px; }
.efht-student-match-filters > .efht-check,.efht-student-match-filters > .efht-front-button { margin-bottom:15px; }
@media(max-width:1100px) { .efht-student-match-filters > .efht-check,.efht-student-match-filters > .efht-front-button{margin-bottom:0} }

/* V0.16.5 — hiérarchie finale des informations sur les cartes. */
.efht-offer-row-reference { display:block;margin-bottom:1px;color:#708197;font-size:11px;font-weight:800;letter-spacing:.045em;text-transform:uppercase; }
.efht-offer-row-primary-actions { display:flex;align-items:center;justify-content:flex-end;gap:16px;min-height:44px; }
.efht-offer-row-primary-actions:empty { display:none; }
.efht-offer-row-public { color:#176f93!important;font-size:11px;font-weight:800;text-decoration:none!important;white-space:nowrap; }
.efht-offer-row-public:hover { color:#0b2c50!important;text-decoration:underline!important;text-underline-offset:3px; }
@media(max-width:760px) { .efht-offer-row-primary-actions{justify-content:space-between}.efht-offer-row-public{font-size:12px} }
@media (max-width:800px) {
	.efht-nav-settings-menu { right:auto;left:0; }
	.efht-nav-settings-menu::before { right:auto;left:28px; }
	.efht-year-switcher { width:auto;margin-left:auto;padding:0;border:0; }
	.efht-year-switcher label { width:auto; }
	.efht-year-switcher select { width:auto;min-width:120px; }
	.efht-scout-search { grid-template-columns:1fr; }
	.efht-card-secondary-actions { grid-template-columns:1fr; }
}

/* V0.14.2 — actions du matching, alignées sur le style des fiches étudiants. */
.efht-matching-table { min-width:1080px; }
.efht-matching-table th:last-child,.efht-matching-table td:last-child { min-width:315px; }
.efht-match-actions { display:grid;grid-template-columns:repeat(3,minmax(86px,1fr));align-items:center;gap:7px;width:100%;padding:6px;background:#f5fafd;border:1px solid #d7e7ee;border-radius:14px;white-space:nowrap; }
.efht-match-actions form { display:flex;width:100%;margin:0; }
.efht-portal .efht-match-actions .efht-action { display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:38px;margin:0;padding:8px 11px!important;color:#086b8c!important;background:#eaf8fd!important;border:1px solid #b9e5f3!important;border-radius:999px!important;font:inherit;font-size:12px;font-weight:850;line-height:1;text-decoration:none!important;white-space:nowrap;box-shadow:none;cursor:pointer;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease; }

/* V0.16.9 — hiérarchie typographique : les contenus saisis restent en graisse normale. */
.efht-portal .efht-front-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.efht-portal .efht-filter-bar input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.efht-portal .efht-front-form select,
.efht-portal .efht-filter-bar select,
.efht-portal .efht-front-form textarea,
.efht-portal .efht-publication-editor textarea,
.efht-portal .efht-publication-editor input[type="text"] {
    font-weight: 400!important;
    line-height: 1.45;
}
.efht-portal .efht-front-form textarea::placeholder,
.efht-portal .efht-filter-bar input::placeholder,
.efht-portal .efht-front-form input::placeholder {
    font-weight: 400!important;
}
.efht-portal .efht-front-form label,
.efht-portal .efht-filter-bar label {
    font-weight: 700;
}
.efht-portal .efht-match-actions .efht-action:hover,.efht-portal .efht-match-actions .efht-action:focus-visible { color:#fff!important;background:var(--ink)!important;border-color:var(--ink)!important;box-shadow:0 6px 14px rgba(14,46,75,.16);transform:translateY(-1px); }
@media (max-width:800px) {
	.efht-match-actions .efht-action span { display:inline!important; }
}

/* V0.14.3 — navigation et filtres conservés à portée de clic. */
.efht-portal { --efht-site-header-offset:108px; }
.efht-portal .efht-portal-nav { position:sticky;top:calc(var(--wp-admin--admin-bar--height, 0px) + var(--efht-site-header-offset) + 8px);z-index:50;background:rgba(255,255,255,.84);border-color:rgba(207,224,233,.78);box-shadow:0 12px 32px rgba(14,46,75,.08);-webkit-backdrop-filter:blur(16px) saturate(130%);backdrop-filter:blur(16px) saturate(130%);transition:box-shadow .2s ease,border-color .2s ease; }
.efht-portal .efht-filter-bar,.efht-portal .efht-matching-search,.efht-portal .efht-scout-search { position:sticky;top:calc(var(--wp-admin--admin-bar--height, 0px) + var(--efht-site-header-offset) + 78px);z-index:30;background:rgba(255,255,255,.78);border-color:rgba(207,224,233,.76);box-shadow:0 12px 32px rgba(14,46,75,.09);-webkit-backdrop-filter:blur(16px) saturate(125%);backdrop-filter:blur(16px) saturate(125%); }
.efht-portal .efht-filter-bar.is-stuck::before,.efht-portal .efht-matching-search.is-stuck::before,.efht-portal .efht-scout-search.is-stuck::before { content:"";position:absolute;left:-18px;right:-18px;top:-90px;bottom:-16px;z-index:-1;pointer-events:none;background:rgba(255,255,255,.94);border:1px solid rgba(220,233,239,.7);border-radius:24px;-webkit-backdrop-filter:blur(18px) saturate(115%);backdrop-filter:blur(18px) saturate(115%);box-shadow:0 16px 42px rgba(14,46,75,.1); }
.efht-date,.efht-journal-table td:nth-child(2) strong,.efht-crm-timeline small,.efht-offer-sent-badge { display:inline-block;white-space:nowrap; }

/* Publication publique et matching inversé */
.efht-publication-editor { grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:15px;border:1px solid #cfe1ec;border-radius:20px;background:#f4f9fc;padding:22px;margin:8px 0; }
.efht-publication-editor legend { padding:0 10px;color:var(--efht-navy,#0b2c50);font-weight:900; }
.efht-publication-editor .efht-wide { grid-column:1/-1; }
.efht-publication-links { grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap; }
.efht-status-published { background:#e7f7f3!important;border-color:#9edccb!important;color:#08725f!important; }
.efht-offer-card-badges { display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end; }
.efht-public-offer-link { display:flex;justify-content:center;align-items:center;min-height:42px;border:1px solid #9bdcf3;border-radius:999px;color:#086889!important;text-decoration:none!important;font-weight:800; }
.efht-public-offer-link:hover { background:#e8f8fd; }
.efht-public-board-button { display:inline-flex;align-items:center;min-height:38px;padding:0 15px;border:1px solid #b8e3f3;border-radius:999px;background:#eefaff;color:#086889!important;text-decoration:none!important;font-size:12px;font-weight:850;white-space:nowrap; }
.efht-public-board-button:hover { background:#0b2c50;color:#fff!important;border-color:#0b2c50; }
.efht-student-match-head { display:flex;align-items:flex-end;justify-content:space-between;gap:25px; }
.efht-student-match-filters { grid-template-columns:repeat(2,minmax(150px,1fr)) repeat(2,auto) auto; }
.efht-student-match-summary { display:flex;justify-content:space-between;gap:20px;align-items:center;margin:24px 0 12px; }
.efht-student-match-summary strong { font-size:20px;color:var(--efht-navy,#0b2c50); }
.efht-student-match-summary span { font-size:13px;color:#728097; }
.efht-student-matching-table td:nth-child(3) { min-width:280px; }
.efht-student-matching-table td:nth-child(7) { min-width:180px; }
.efht-student-matching-table .efht-offer-sent-badge { margin-top:7px; }
.efht-student-matching-table .efht-match-actions { grid-template-columns:repeat(2,minmax(105px,1fr));min-width:230px; }
@media(max-width:900px) { .efht-publication-editor{grid-template-columns:1fr}.efht-publication-editor>*{grid-column:1!important}.efht-student-match-head{align-items:flex-start;flex-direction:column}.efht-student-match-filters{grid-template-columns:1fr 1fr}.efht-student-match-filters button{grid-column:1/-1}.efht-student-match-summary{align-items:flex-start;flex-direction:column;gap:5px} }
@media (max-width:980px) {
	.efht-portal .efht-portal-nav,.efht-portal .efht-filter-bar,.efht-portal .efht-matching-search,.efht-portal .efht-scout-search { position:relative;top:auto;z-index:auto; }
	.efht-portal .efht-filter-bar::before,.efht-portal .efht-matching-search::before,.efht-portal .efht-scout-search::before { display:none; }
}

/* V0.17.0 — envoi de plusieurs offres depuis le matching inversé. */
.efht-offer-bulk-bar input,.efht-student-matching-table .efht-offer-check { width:18px;height:18px;accent-color:var(--ink); }
.efht-student-matching-table .efht-offer-check:disabled { opacity:.25;cursor:not-allowed; }
.efht-offer-selection-count { color:var(--muted);font-size:13px; }
.efht-offer-bulk-mail { margin-left:auto!important;padding:10px 18px!important;color:#fff!important;background:#0e2e4b!important;border:1px solid #0e2e4b!important;border-radius:999px!important;font:inherit!important;font-size:13px!important;font-weight:700!important;line-height:1.35!important;cursor:pointer;white-space:nowrap;opacity:1!important;visibility:visible!important;transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.efht-offer-bulk-mail:hover:not(:disabled) { background:#72c9ea!important;border-color:#72c9ea!important;transform:translateY(-1px); }
.efht-offer-bulk-mail:disabled { color:#176889!important;background:#edf8fc!important;border-color:#b8e4f5!important;opacity:1!important;cursor:not-allowed; }
.efht-field-help{margin:-4px 0 4px;color:#6f7e91;font-size:12px;font-weight:500;line-height:1.5}
@media(max-width:760px) { .efht-offer-bulk-bar{align-items:flex-start;flex-wrap:wrap}.efht-offer-bulk-mail{width:100%;margin-left:0;white-space:normal} }

/* Menu principal plus léger : le gras apparaît uniquement au survol. */
.efht-portal .efht-nav-main>a,.efht-nav-settings>summary,.efht-portal .efht-nav-main>a.is-active,.efht-nav-settings>summary.is-active,.efht-nav-settings[open]>summary { font-weight:500!important; }
.efht-portal .efht-nav-main>a:hover,.efht-nav-settings>summary:hover { font-weight:700!important; }

/* V0.17.3 — navigation et filtres harmonisés sur tous les onglets. */
.efht-portal .efht-nav-main>a,
.efht-portal .efht-nav-main>a.is-active,
.efht-portal .efht-nav-settings>summary,
.efht-portal .efht-nav-settings>summary.is-active,
.efht-portal .efht-nav-settings[open]>summary,
.efht-portal .efht-nav-settings-menu a,
.efht-portal .efht-nav-settings-menu a.is-active,
.efht-portal .efht-year-switcher select {
	font-weight:500!important;
}
.efht-portal .efht-universe-switcher select { font-weight:500!important; }
.efht-portal .efht-nav-main>a:hover,
.efht-portal .efht-nav-main>a:focus-visible,
.efht-portal .efht-nav-settings>summary:hover,
.efht-portal .efht-nav-settings>summary:focus-visible,
.efht-portal .efht-nav-settings-menu a:hover,
.efht-portal .efht-nav-settings-menu a:focus-visible {
	font-weight:700!important;
}
.efht-portal .efht-filter-bar,
.efht-portal .efht-matching-search,
.efht-portal .efht-scout-search {
	gap:14px!important;
	align-items:end!important;
	padding:16px 18px!important;
	border:1px solid rgba(207,224,233,.9)!important;
	border-radius:18px!important;
}
.efht-portal .efht-filter-bar>label:not(.efht-check),
.efht-portal .efht-matching-search>label:not(.efht-check),
.efht-portal .efht-scout-search>label {
	display:flex;
	flex-direction:column;
	gap:7px;
	min-width:0;
	color:var(--ink);
	font-size:12px;
	font-weight:600!important;
	line-height:1.25;
}
.efht-portal .efht-filter-bar input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.efht-portal .efht-filter-bar select,
.efht-portal .efht-matching-search input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.efht-portal .efht-matching-search select,
.efht-portal .efht-scout-search input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.efht-portal .efht-scout-search select {
	width:100%;
	height:46px!important;
	min-height:46px!important;
	padding:9px 13px!important;
	color:var(--ink)!important;
	background:#fff!important;
	border:1px solid #cbdde7!important;
	border-radius:13px!important;
	font:inherit!important;
	font-weight:400!important;
	box-shadow:none!important;
}
.efht-portal .efht-filter-bar input:focus,
.efht-portal .efht-filter-bar select:focus,
.efht-portal .efht-matching-search input:focus,
.efht-portal .efht-matching-search select:focus,
.efht-portal .efht-scout-search input:focus,
.efht-portal .efht-scout-search select:focus {
	outline:3px solid rgba(114,201,234,.2);
	outline-offset:1px;
	border-color:#72c9ea!important;
}
.efht-portal .efht-filter-bar>.efht-front-button,
.efht-portal .efht-matching-search>.efht-front-button,
.efht-portal .efht-scout-search>.efht-front-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:46px!important;
	min-height:46px!important;
	padding:10px 20px!important;
	border-radius:999px!important;
	font-weight:500!important;
	line-height:1!important;
	transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease,font-weight .12s ease;
}
.efht-portal .efht-filter-bar>.efht-front-button:hover,
.efht-portal .efht-filter-bar>.efht-front-button:focus-visible,
.efht-portal .efht-matching-search>.efht-front-button:hover,
.efht-portal .efht-matching-search>.efht-front-button:focus-visible,
.efht-portal .efht-scout-search>.efht-front-button:hover,
.efht-portal .efht-scout-search>.efht-front-button:focus-visible {
	font-weight:700!important;
	box-shadow:0 8px 18px rgba(14,46,75,.14);
	transform:translateY(-1px);
}
.efht-portal .efht-filter-bar>.efht-check,
.efht-portal .efht-matching-search>.efht-check {
	font-size:12px;
	font-weight:500!important;
	line-height:1.3;
}
.efht-portal .efht-scout-search {
	column-gap:18px!important;
}
.efht-portal .efht-scout-profiles {
	display:grid!important;
	grid-template-columns:repeat(5,minmax(0,auto));
	gap:7px!important;
	overflow:visible;
	padding:2px;
}
.efht-portal .efht-scout-profiles label {
	min-width:0;
}
.efht-portal .efht-scout-profiles span,
.efht-portal .efht-scout-profiles input:checked+span {
	width:100%;
	min-height:40px;
	padding:8px 11px;
	font-weight:500!important;
}
.efht-portal .efht-scout-profiles span:hover,
.efht-portal .efht-scout-profiles label:focus-within span {
	font-weight:700!important;
}
.efht-portal .efht-view-switch a,
.efht-portal .efht-view-switch a.is-active,
.efht-portal .efht-public-board-button,
.efht-portal .efht-export-button {
	font-weight:500!important;
}
.efht-portal .efht-view-switch a:hover,
.efht-portal .efht-view-switch a:focus-visible,
.efht-portal .efht-public-board-button:hover,
.efht-portal .efht-public-board-button:focus-visible,
.efht-portal .efht-export-button:hover,
.efht-portal .efht-export-button:focus-visible {
	font-weight:700!important;
}
@media(max-width:760px) {
	.efht-portal .efht-scout-profiles { grid-template-columns:1fr 1fr; }
}

/* V0.17.5 — tableau de bord séparé entre étudiants et relations entreprises. */
.efht-portal .efht-stat-grid,.efht-portal .efht-dashboard-charts{display:none!important}
.efht-dashboard-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:20px;margin:18px 0 22px;align-items:start}
.efht-dashboard-panel{overflow:hidden;background:#fff;border:1px solid #d5e4ec;border-radius:24px;box-shadow:0 14px 36px rgba(14,46,75,.06)}
.efht-dashboard-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:23px 25px;border-bottom:1px solid #dce8ee}
.efht-dashboard-panel>header span{display:block;margin-bottom:5px;color:#5e7186;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.efht-dashboard-panel>header h2{margin:0;color:#0e2e4b;font-size:25px;line-height:1.15}
.efht-dashboard-panel>header p{margin:5px 0 0;color:#758398;font-size:13px}
.efht-dashboard-panel>header a{flex:0 0 auto;padding:9px 13px;color:#176b8c;border:1px solid #b9e5f5;border-radius:999px;background:#f0faff;font-size:12px;font-weight:500;text-decoration:none;white-space:nowrap;transition:.2s ease}
.efht-dashboard-panel>header a:hover{color:#fff;background:#0e2e4b;border-color:#0e2e4b;font-weight:700;transform:translateY(-1px)}
.efht-dashboard-students>header{background:linear-gradient(120deg,#f4fbfe,#fff)}
.efht-dashboard-business>header{background:linear-gradient(120deg,#f6f8fb,#fff)}
.efht-dashboard-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 20px 8px}
.efht-dashboard-business .efht-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.efht-dashboard-kpi{position:relative;min-height:92px;padding:15px;border:1px solid #dce8ee;border-radius:17px;background:#f9fbfc}
.efht-dashboard-kpi:before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:4px;border-radius:0 5px 5px 0;background:#72c9ea}
.efht-dashboard-kpi strong{display:block;color:#0e2e4b;font-size:30px;line-height:1;margin-bottom:8px}
.efht-dashboard-kpi span{display:block;color:#64758a;font-size:12px;line-height:1.25}
.efht-dashboard-kpi.is-placed:before,.efht-dashboard-kpi.is-filled:before,.efht-dashboard-kpi.is-partners:before{background:#64bea1}
.efht-dashboard-kpi.is-to-place:before,.efht-dashboard-kpi.is-offers:before{background:#72c9ea}
.efht-dashboard-kpi.is-initial:before{background:#a98be2}
.efht-dashboard-kpi.is-alert{border-color:#efbfd0;background:#fff7fa}.efht-dashboard-kpi.is-alert:before{background:#c36}
.efht-dashboard-kpi.is-followup:before{background:#e7b84e}
.efht-dashboard-chart{padding:12px 22px 18px}.efht-dashboard-chart h3{margin:0 0 12px;color:#0e2e4b;font-size:16px}
.efht-dashboard-chart .efht-chart-row{grid-template-columns:125px minmax(80px,1fr) 38px;margin:10px 0}
.efht-dashboard-chart .efht-chart-row i{background:#72c9ea}.efht-dashboard-chart .efht-chart-row.is-placed i{background:#64bea1}.efht-dashboard-chart .efht-chart-row.is-to-place i{background:#72c9ea}.efht-dashboard-chart .efht-chart-row.is-proposed i{background:#72c9ea}.efht-dashboard-chart .efht-chart-row.is-sent i{background:#476f9e}.efht-dashboard-chart .efht-chart-row.is-interview i{background:#a98be2}
.efht-dashboard-actions{display:flex;gap:9px;padding:0 22px 20px}.efht-dashboard-actions a{flex:1;padding:10px 12px;color:#176b8c;border:1px solid #b9e5f5;border-radius:999px;background:#f0faff;font-size:12px;text-align:center;text-decoration:none}.efht-dashboard-actions a:hover{color:#fff;background:#0e2e4b;border-color:#0e2e4b}
.efht-dashboard-detail{border-top:1px solid #dce8ee}.efht-dashboard-detail summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 22px;color:#176b8c;background:#f7fbfd;cursor:pointer;font-size:13px;font-weight:600;list-style:none}.efht-dashboard-detail summary::-webkit-details-marker{display:none}.efht-dashboard-detail summary i{font-size:17px;font-style:normal;transition:transform .2s ease}.efht-dashboard-detail[open] summary i{transform:rotate(180deg)}
.efht-dashboard-detail-shell{overflow:auto;border-top:1px solid #dce8ee}.efht-dashboard-detail table{width:100%;min-width:760px;border-collapse:collapse}.efht-dashboard-detail th{padding:11px 13px;color:#67798c;background:#f6f9fb;border-bottom:1px solid #dce8ee;font-size:10px;letter-spacing:.06em;text-align:left;text-transform:uppercase}.efht-dashboard-detail td{padding:12px 13px;border-bottom:1px solid #edf2f5;color:#243f5a;font-size:12px}.efht-dashboard-detail td.is-placed{color:#277c62;font-weight:700}.efht-dashboard-detail td.is-to-place{color:#176b8c;font-weight:700}.efht-dashboard-detail td.is-initial{color:#7253ad;font-weight:700}
.efht-level-pill{display:inline-flex;padding:4px 8px;border:1px solid #d7e5ec;border-radius:999px;color:#53687d;background:#edf3f6;white-space:nowrap}.efht-level-pill.is-bts{border-color:#a9ddf3;color:#176b8c;background:#e8f7fd}.efht-level-pill.is-bachelor{border-color:#b9e4d3;color:#277c62;background:#eaf8f1}.efht-level-pill.is-mba{border-color:#efb9cd;color:#a72a58;background:#fff0f5}.efht-rate{display:inline-block;width:52px;height:6px;margin-right:7px;overflow:hidden;background:#e8eff3;border-radius:999px;vertical-align:middle}.efht-rate i{display:block;height:100%;background:#64bea1;border-radius:inherit}.efht-dashboard-detail td b{font-size:11px;white-space:nowrap}.efht-dashboard-method{margin:0;padding:11px 22px 15px;color:#748398;font-size:11px}

/* V0.21.3 — libellés de suivi et actions de fiche plus lisibles. */
.efht-qualification-list>div>.efht-qualification-label{display:flex;align-items:center;flex:1;flex-wrap:wrap;gap:7px 9px;min-width:0}.efht-qualification-list>div>.efht-qualification-label>strong{white-space:nowrap}.efht-qualification-list>div>.efht-qualification-label>small{flex-basis:100%;margin-top:-2px}.efht-qualification-list>div>.efht-qualification-label>.efht-status{flex:0 0 auto;margin:0}.efht-tracking-row:not(.efht-tracking-row-deleted) .efht-front-button,.efht-tracking-row:not(.efht-tracking-row-deleted) .efht-tracking-delete{min-height:38px!important;padding:8px 10px!important;border-radius:11px!important;font-size:11px!important;font-weight:650!important;line-height:1!important}.efht-tracking-row:not(.efht-tracking-row-deleted) .efht-tracking-delete{border:1px solid #efb6c8!important;color:#c36!important;background:#fff!important}.efht-tracking-row:not(.efht-tracking-row-deleted) .efht-tracking-delete:hover{color:#fff!important;background:#c36!important;border-color:#c36!important}
.efht-sync-scope{margin-bottom:8px!important;padding-bottom:8px;border-bottom:1px solid #e5edf2}
@media(max-width:1050px){.efht-dashboard-columns{grid-template-columns:1fr}.efht-dashboard-business .efht-dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.efht-dashboard-panel>header{flex-direction:column}.efht-dashboard-kpis,.efht-dashboard-business .efht-dashboard-kpis{grid-template-columns:1fr 1fr}.efht-dashboard-chart .efht-chart-row{grid-template-columns:105px minmax(60px,1fr) 34px}.efht-dashboard-actions{flex-direction:column}}

/* V0.17.6 — rôle Observateur EFHT en consultation seule. */
.efht-readonly-banner{display:flex;align-items:center;gap:8px;margin:0 0 16px;padding:11px 15px;color:#52677c;background:#f4f8fa;border:1px solid #d8e5ec;border-radius:14px;font-size:12px}
.efht-readonly-banner span{display:inline-flex;padding:4px 9px;color:#0e2e4b;background:#dff3fb;border:1px solid #b9e4f4;border-radius:999px;font-weight:700}
.efht-readonly form[method="post"],.efht-readonly .efht-edit-button,.efht-readonly .efht-company-new,.efht-readonly .efht-export-button,.efht-readonly .efht-scout-add,.efht-readonly .efht-bulk-bar,.efht-readonly .efht-offer-bulk-bar,.efht-readonly .efht-select-column{display:none!important}
.efht-readonly form.efht-tracking-row{display:grid!important}
.efht-readonly .efht-tracking-row input:not([type="hidden"]),.efht-readonly .efht-tracking-row select,.efht-readonly .efht-tracking-row textarea{pointer-events:none;color:#52677c;background:#f4f7f9}
.efht-readonly .efht-tracking-actions,.efht-readonly .efht-tracking-delete{display:none!important}

/* V0.18.0 — proposition manuelle et pipeline des candidatures entreprises. */
.efht-student-status-ready_to_send{color:#9a4e12;background:#fff0df;border-color:#f2cfaa}
.efht-dashboard-chart .efht-chart-row.is-ready i{background:#eea85e}
.efht-manual-proposal{margin:22px 24px;padding:20px;background:#f6fbfd;border:1px solid #d5e7ef;border-radius:20px}
.efht-manual-proposal>header{display:flex;align-items:center;gap:13px;margin-bottom:15px}.efht-manual-proposal>header>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;color:#fff;background:#72c9ea;border-radius:50%;font-size:18px}.efht-manual-proposal h3{margin:0;color:#0e2e4b;font-size:18px}.efht-manual-proposal header p,.efht-manual-proposal-empty{margin:4px 0 0;color:#718096;font-size:12px}
.efht-manual-proposal-controls{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:end}.efht-manual-proposal-controls label{display:grid;gap:7px;color:#0e2e4b;font-size:12px;font-weight:700}.efht-manual-proposal select{width:100%;height:44px;padding:0 13px;color:#0e2e4b;background:#fff;border:1px solid #cbdde7;border-radius:12px;font:inherit}.efht-manual-offer-mail,.efht-company-applications-mail{min-height:44px;padding:10px 18px;color:#fff;background:#72c9ea;border:1px solid #72c9ea;border-radius:999px;font:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;transition:.2s ease}.efht-manual-offer-mail:hover,.efht-company-applications-mail:hover{background:#0e2e4b;border-color:#0e2e4b;transform:translateY(-1px)}.efht-manual-offer-mail:disabled,.efht-company-applications-mail:disabled{color:#7d8b99;background:#edf3f6;border-color:#d9e4e9;cursor:not-allowed;transform:none}
.efht-offer-pipeline{margin:18px 0;padding:20px;background:#fff;border:1px solid #d5e4ec;border-radius:22px;box-shadow:0 12px 32px rgba(14,46,75,.05)}.efht-offer-pipeline>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.efht-offer-pipeline h2{margin:2px 0 0;color:#0e2e4b;font-size:22px}.efht-offer-pipeline>header p{margin:0;color:#718096;font-size:12px}.efht-offer-pipeline-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.efht-pipeline-column{overflow:hidden;border:1px solid #d7e5ed;border-radius:16px;background:#f9fcfd}.efht-pipeline-column>summary{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:11px;padding:15px;cursor:pointer;list-style:none}.efht-pipeline-column>summary::-webkit-details-marker{display:none}.efht-pipeline-icon{display:grid;place-items:center;width:35px;height:35px;color:#176b8c;background:#dff4fb;border-radius:11px;font-size:18px}.efht-pipeline-sent .efht-pipeline-icon{color:#23735a;background:#e5f5ee}.efht-pipeline-column summary span:nth-child(2){display:grid;gap:3px}.efht-pipeline-column summary strong{color:#0e2e4b;font-size:14px}.efht-pipeline-column summary small{color:#718096;font-size:11px}.efht-pipeline-column summary>b{display:grid;place-items:center;min-width:30px;height:30px;padding:0 7px;color:#fff;background:#0e2e4b;border-radius:999px;font-size:12px}.efht-pipeline-column summary>i{font-style:normal;transition:transform .2s ease}.efht-pipeline-column[open] summary>i{transform:rotate(180deg)}.efht-pipeline-list{display:grid;gap:8px;padding:0 12px 12px}.efht-pipeline-list article{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;background:#fff;border:1px solid #e0eaf0;border-radius:12px}.efht-pipeline-list article>div{display:grid;gap:3px;min-width:0}.efht-pipeline-list strong{color:#0e2e4b;font-size:12px}.efht-pipeline-list small,.efht-pipeline-list p,.efht-pipeline-list em{margin:0;color:#718096;font-size:10px;line-height:1.4}.efht-pipeline-list a{flex:0 0 auto;padding:7px 10px;color:#176b8c;border:1px solid #bae3f2;border-radius:999px;font-size:10px;text-decoration:none;white-space:nowrap}.efht-pipeline-list a:hover{color:#fff;background:#0e2e4b;border-color:#0e2e4b}.efht-pipeline-empty{margin:0;padding:14px;color:#718096;text-align:center;font-size:12px}
.efht-offer-stage-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:100%}.efht-offer-stage{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:38px;padding:7px 9px;color:#31506d;background:#f5f9fb;border:1px solid #d7e5ed;border-radius:12px;font:inherit;font-size:10px;cursor:pointer;white-space:nowrap}.efht-offer-stage b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;color:#fff;background:#708398;border-radius:999px;font-size:10px}.efht-stage-ready{color:#925015;background:#fff8ed;border-color:#efd3b5}.efht-stage-ready b{background:#d88132}.efht-stage-sent{color:#1d6d55;background:#f0faf5;border-color:#c7e7d9}.efht-stage-sent b{background:#3b9174}.efht-offer-stage:hover{color:#fff;background:#0e2e4b;border-color:#0e2e4b}.efht-offer-stage:hover b{background:#72c9ea}.efht-dialog-header-actions{display:flex;align-items:center;gap:10px}.efht-company-applications-mail span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;color:#176b8c;background:#fff;border-radius:999px;font-size:10px}.efht-tracking-row[hidden]{display:none!important}.efht-tracking-filter-empty{padding:18px;color:#718096;text-align:center}.efht-offer-tracking-dialog>header{gap:18px}.efht-offer-tracking-dialog .efht-dialog-close{flex:0 0 auto}
@media(max-width:900px){.efht-offer-pipeline-grid{grid-template-columns:1fr}.efht-manual-proposal-controls{grid-template-columns:1fr}.efht-manual-offer-mail{width:100%}.efht-dialog-header-actions{align-items:flex-end;flex-direction:column-reverse}.efht-company-applications-mail{white-space:normal}}
@media(max-width:620px){.efht-manual-proposal{margin:18px 10px;padding:16px}.efht-offer-pipeline>header{align-items:flex-start;flex-direction:column}.efht-pipeline-list article{align-items:flex-start;flex-direction:column}.efht-offer-stage-actions{grid-template-columns:1fr}.efht-offer-stage{font-size:11px}}
.efht-readonly .efht-action-mail,.efht-readonly .efht-action-fill,.efht-readonly .efht-action-view[href*="edit_student"]{display:none!important}
.efht-readonly .efht-card-secondary-actions:empty,.efht-readonly .efht-company-actions:empty{display:none!important}
.efht-readonly .efht-company-applications-mail{display:none!important}

/* V0.18.1 — panneau d’actions des offres, plus doux et plus lisible. */
.efht-ui-icon{display:block;width:17px;height:17px;flex:0 0 17px}
.efht-offer-row-actions{flex:0 0 345px!important;gap:10px!important;padding:14px;background:linear-gradient(145deg,#f8fbfd,#eef6fa);border:1px solid #d8e8f0;border-radius:18px;box-shadow:0 8px 24px rgba(14,46,75,.045)}
.efht-offer-row-primary-actions{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:9px!important;min-height:0!important}
.efht-offer-row-public,.efht-offer-row-match{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:42px;padding:9px 12px!important;border-radius:12px!important;font-size:11px!important;font-weight:650!important;line-height:1.2;text-decoration:none!important;white-space:nowrap;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.efht-offer-row-public{color:#176f93!important;background:#fff;border:1px solid #cce6f1}
.efht-offer-row-public:hover{color:#0e2e4b!important;background:#f2f9fc;border-color:#9ed5e9;text-decoration:none!important;transform:translateY(-1px)}
.efht-offer-row-match{color:#fff!important;background:#72c9ea;border:1px solid #72c9ea}
.efht-offer-row-match:hover{color:#fff!important;background:#0e2e4b;border-color:#0e2e4b;box-shadow:0 7px 15px rgba(14,46,75,.15);transform:translateY(-1px)}
.efht-offer-row-match b{display:none!important}
.efht-offer-row-actions .efht-card-secondary-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:9px!important;margin:0!important}
.efht-offer-row-actions .efht-card-secondary-actions>*{min-width:0!important}
.efht-offer-row-actions .efht-card-secondary-actions .efht-edit-button,.efht-offer-row-actions .efht-card-secondary-actions .efht-card-delete{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:38px!important;padding:8px 10px!important;border:0!important;border-radius:11px!important;font-size:11px!important;font-weight:650!important;line-height:1!important;transition:background .2s ease,color .2s ease,transform .2s ease!important}
.efht-offer-row-actions .efht-card-secondary-actions .efht-edit-button{color:#176f93!important;background:#e2f4fb!important}
.efht-offer-row-actions .efht-card-secondary-actions .efht-edit-button:hover{color:#fff!important;background:#176f93!important;transform:translateY(-1px)}
.efht-offer-row-actions .efht-card-secondary-actions .efht-card-delete{color:#b82f5a!important;background:#fff0f5!important}
.efht-offer-row-actions .efht-card-secondary-actions .efht-card-delete:hover{color:#fff!important;background:#c36!important;transform:translateY(-1px)}
.efht-offer-row-actions>form:not(.efht-offer-delete-form){margin:0}.efht-offer-row-actions>form:not(.efht-offer-delete-form) button{display:flex;align-items:center;justify-content:center;width:100%;min-height:38px;padding:8px 12px;color:#176f93;background:#e2f4fb;border:0;border-radius:11px;font:inherit;font-size:11px;font-weight:650;cursor:pointer}.efht-offer-row-actions>form:not(.efht-offer-delete-form) button:hover{color:#fff;background:#176f93}
.efht-offer-stage-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%;padding:11px;background:#fff;border:1px solid #dfeaf0;border-radius:15px}
.efht-stage-heading{grid-column:1/-1;display:flex;align-items:center;gap:7px;margin:0 1px 2px;color:#6c8092;font-size:9px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.efht-stage-heading:before{content:"";width:6px;height:6px;background:#72c9ea;border-radius:50%}
.efht-offer-stage{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center!important;justify-content:stretch!important;gap:6px!important;min-height:46px!important;padding:7px!important;border:0!important;border-radius:11px!important;font:inherit;font-size:10px!important;font-weight:600!important;line-height:1.1;white-space:nowrap;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important}
.efht-offer-stage i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-style:normal}
.efht-offer-stage i .efht-ui-icon{width:15px;height:15px}
.efht-offer-stage b{display:grid!important;place-items:center!important;min-width:23px!important;height:23px!important;padding:0 5px!important;border-radius:8px!important;font-size:10px!important;font-weight:750!important}
.efht-stage-proposed{color:#526b80!important;background:#f1f5f8!important}.efht-stage-proposed i{color:#526b80;background:#e3ebf0}.efht-stage-proposed b{color:#526b80!important;background:#fff!important}
.efht-stage-ready{color:#9b5b16!important;background:#fff6e8!important}.efht-stage-ready i{color:#ae681b;background:#ffe8c8}.efht-stage-ready b{color:#9b5b16!important;background:#fff!important}
.efht-stage-sent{color:#277259!important;background:#edf8f3!important}.efht-stage-sent i{color:#277259;background:#d9f0e6}.efht-stage-sent b{color:#277259!important;background:#fff!important}
.efht-offer-stage:hover{color:#0e2e4b!important;background:#fff!important;box-shadow:0 7px 16px rgba(14,46,75,.1)!important;transform:translateY(-1px)}
.efht-offer-stage:hover b{color:#fff!important;background:#0e2e4b!important}
@media(max-width:760px){.efht-offer-row-actions{flex-basis:auto!important;width:100%}.efht-offer-row-primary-actions{grid-template-columns:1fr 1fr!important}}
@media(max-width:430px){.efht-offer-row-primary-actions{grid-template-columns:1fr!important}.efht-offer-stage-actions{padding:8px;gap:5px!important}.efht-offer-stage{grid-template-columns:1fr!important;justify-items:center;gap:4px!important;white-space:normal}.efht-offer-stage i{display:none}.efht-offer-stage b{width:100%}}

/* V0.18.2 — compteurs contenus dans les cartes étroites. */
.efht-offer-stage{display:flex!important;min-width:0!important;min-height:72px!important;flex-direction:column;align-items:center!important;justify-content:center!important;gap:4px!important;padding:7px 5px!important;text-align:center;overflow:hidden}
.efht-offer-stage i{width:26px!important;height:26px!important;flex:0 0 26px}
.efht-offer-stage>span{display:block;width:100%;min-width:0;overflow:hidden;color:inherit;font-size:9px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.efht-offer-stage b{min-width:31px!important;height:19px!important;padding:0 7px!important;border-radius:999px!important;font-size:9px!important;line-height:19px}
@media(max-width:430px){.efht-offer-stage{min-height:62px!important}.efht-offer-stage i{display:grid!important;width:23px!important;height:23px!important;flex-basis:23px}.efht-offer-stage>span{font-size:8px}.efht-offer-stage b{width:auto!important}}

/* V0.18.3 — suivi groupé et harmonisation des commandes. */
.efht-tracking-bulk-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:13px;margin:4px 0 12px;padding:10px 12px;background:rgba(255,255,255,.96);border:1px solid #d9e7ee;border-radius:14px;box-shadow:0 8px 22px rgba(14,46,75,.07);backdrop-filter:blur(8px)}
.efht-tracking-bulk-bar label{display:flex;align-items:center;gap:8px;color:#0e2e4b;font-size:12px;font-weight:650;white-space:nowrap}
.efht-tracking-bulk-bar input,.efht-tracking-check input{width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;accent-color:#0e2e4b;cursor:pointer}
.efht-tracking-selection-count{color:#718096;font-size:11px;white-space:nowrap}
.efht-tracking-bulk-save{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;margin-left:auto;padding:8px 15px;color:#fff;background:#72c9ea;border:0;border-radius:999px;font:inherit;font-size:11px;font-weight:650;white-space:nowrap;cursor:pointer;transition:.2s ease}
.efht-tracking-bulk-save:hover{background:#0e2e4b;transform:translateY(-1px)}.efht-tracking-bulk-save:disabled{color:#8a9aa8;background:#edf3f6;cursor:not-allowed;transform:none}
.efht-offer-tracking-dialog .efht-tracking-row{position:relative;padding-left:58px}
.efht-tracking-check{position:absolute!important;left:18px;top:50%;display:block!important;width:18px!important;min-width:18px!important;transform:translateY(-50%)}
.efht-readonly .efht-tracking-bulk-bar,.efht-readonly .efht-tracking-check{display:none!important}
.efht-portal button:not(.efht-dialog-close):not(.efht-offer-stage):not(.efht-trip-summary),.efht-portal .efht-edit-button,.efht-portal .efht-company-action{font-weight:650!important}
.efht-portal .efht-filter-bar .efht-front-button,.efht-portal .efht-matching-search .efht-front-button,.efht-portal .efht-scout-search .efht-front-button{min-height:44px;padding:0 19px;font-size:13px;border-radius:999px!important}
.efht-portal .efht-company-actions .efht-edit-button,.efht-portal .efht-company-actions .efht-company-action,.efht-portal .efht-company-actions button,.efht-portal .efht-match-actions .efht-action{min-height:36px;padding:7px 11px;font-size:11px}
.efht-front-head p{max-width:720px;line-height:1.5}
.efht-company-actions .efht-edit-button,.efht-company-actions .efht-company-action{gap:7px;font-weight:650!important}
.efht-company-actions .efht-ui-icon,.efht-offers-crm-table .efht-ui-icon{width:15px;height:15px;flex-basis:15px}
@media(max-width:720px){.efht-tracking-bulk-bar{position:static;align-items:stretch;flex-wrap:wrap}.efht-tracking-bulk-save{width:100%;margin-left:0}.efht-offer-tracking-dialog .efht-tracking-row{padding-left:48px}.efht-tracking-check{left:15px}}

/* V0.18.4 — suivi d’une offre : formulaire unique et actions harmonisées. */
.efht-offer-tracking-dialog .efht-company-applications-mail[hidden],
.efht-offer-tracking-dialog .efht-company-mail-alert[hidden]{display:none!important}
.efht-offer-tracking-dialog .efht-company-applications-mail{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 14px}
.efht-offer-tracking-dialog .efht-company-applications-mail>.efht-ui-icon{width:16px;height:16px}
.efht-offer-tracking-dialog .efht-company-applications-mail>span{display:inline!important;min-width:0;height:auto;margin:0;color:inherit;background:transparent;border-radius:0;font-size:12px}
.efht-offer-tracking-dialog .efht-company-applications-mail>b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;color:#176b8c;background:#fff;border-radius:999px;font-size:10px}
.efht-offer-tracking-dialog .efht-dialog-body{padding-bottom:0}
.efht-offer-tracking-dialog .efht-tracking-row{grid-template-columns:minmax(190px,1.15fr) minmax(140px,.82fr) minmax(140px,.82fr) minmax(220px,1.25fr) 112px;gap:12px;padding:15px 16px}
.efht-offer-tracking-dialog .efht-tracking-actions{justify-content:flex-end}
.efht-offer-tracking-dialog .efht-tracking-delete{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:40px;padding:8px 12px;color:#c36;background:#fff;border:1px solid #efb6c8;border-radius:999px;font-size:11px;font-weight:650;white-space:nowrap}
.efht-offer-tracking-dialog .efht-tracking-delete .efht-ui-icon{width:15px;height:15px}
.efht-offer-tracking-dialog .efht-tracking-delete:hover{color:#fff;background:#c36;border-color:#c36}
.efht-tracking-save-bar{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:14px -1px 0;padding:14px 16px;background:rgba(255,255,255,.95);border-top:1px solid #d9e7ee;border-radius:16px 16px 0 0;box-shadow:0 -10px 26px rgba(14,46,75,.08);backdrop-filter:blur(10px)}
.efht-tracking-save-state{color:#708197;font-size:12px}
.efht-tracking-save-bar .efht-tracking-bulk-save{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:150px;min-height:42px;margin:0;padding:9px 17px}
.efht-tracking-save-bar .efht-tracking-bulk-save .efht-ui-icon{width:16px;height:16px}
.efht-readonly .efht-tracking-save-bar{display:none!important}
@media(max-width:900px){.efht-offer-tracking-dialog .efht-tracking-row{grid-template-columns:1fr 1fr}.efht-offer-tracking-dialog .efht-tracking-identity,.efht-offer-tracking-dialog .efht-tracking-row label:last-of-type{grid-column:1/-1}.efht-offer-tracking-dialog .efht-tracking-actions{grid-column:1/-1}.efht-offer-tracking-dialog .efht-tracking-delete{width:auto;min-width:130px}.efht-tracking-save-bar{align-items:stretch;flex-direction:column;gap:8px}.efht-tracking-save-bar .efht-tracking-bulk-save{width:100%;min-width:0}}

/* V0.19 final overrides */
.efht-js .efht-portal .efht-filter-bar:not(.efht-matching-search)>.efht-front-button{display:none!important}
.efht-portal .efht-matching-search-simple{grid-template-columns:minmax(280px,2fr) minmax(145px,.72fr) minmax(145px,.72fr) minmax(260px,1fr) auto;align-items:end}
.efht-matching-search-simple .efht-matching-options{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-width:0;min-height:46px;padding:0 4px}
.efht-matching-search-simple .efht-check{display:flex;align-items:center;gap:7px;max-width:100%;margin:0;font-size:12px;line-height:1.25;white-space:nowrap}
.efht-matching-search-simple .efht-check input{flex:0 0 auto;margin:0}
.efht-offer-search-results{margin:14px 0;padding:16px;border:1px solid #cfe0eb;border-radius:18px;background:#f5fbfe;display:grid;gap:8px}
.efht-offer-search-results>a{display:block;padding:9px 12px;border-radius:12px;color:#12345a;text-decoration:none;background:#fff;border:1px solid #dce9f1}
.efht-offer-search-results>a:hover{border-color:#75c9e9;background:#edf9fd}
.efht-offer-tracking-dialog .efht-company-applications-confirm[hidden]{display:none!important}
.efht-offer-tracking-dialog .efht-dialog-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.efht-offer-tracking-dialog .efht-company-applications-confirm{min-height:42px;padding:8px 14px;border:1px solid #17395f;border-radius:999px;background:#fff;color:#17395f;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:650;white-space:nowrap}
.efht-offer-tracking-dialog .efht-company-applications-confirm .efht-ui-icon{width:16px;height:16px}
.efht-offer-tracking-dialog .efht-company-applications-mail:hover,.efht-offer-tracking-dialog .efht-company-applications-confirm:hover{transform:translateY(-1px);box-shadow:0 4px 0 #17395f}
.efht-offer-tracking-dialog .efht-company-applications-mail:disabled,.efht-offer-tracking-dialog .efht-company-applications-confirm:disabled{opacity:.45;transform:none;box-shadow:none}
.efht-offer-tracking-dialog .efht-tracking-row label.is-disabled{opacity:.5}
.efht-offer-tracking-dialog .efht-tracking-row label.is-disabled select{background:#f2f5f7;cursor:not-allowed}
@media(max-width:1100px){.efht-portal .efht-matching-search-simple{grid-template-columns:repeat(2,minmax(0,1fr))}.efht-matching-search-simple .efht-matching-offer-picker,.efht-matching-search-simple .efht-matching-options{grid-column:1/-1}.efht-matching-search-simple>.efht-front-button{justify-self:end}}
@media(max-width:680px){.efht-portal .efht-matching-search-simple{grid-template-columns:1fr}.efht-matching-search-simple .efht-matching-offer-picker,.efht-matching-search-simple .efht-matching-options{grid-column:auto}.efht-matching-search-simple>.efht-front-button{width:100%;justify-content:center}.efht-offer-tracking-dialog .efht-dialog-header-actions{width:100%;justify-content:flex-start}.efht-offer-tracking-dialog .efht-company-applications-mail,.efht-offer-tracking-dialog .efht-company-applications-confirm{width:100%;justify-content:center}}

/* V0.20 — tableaux CRM compacts et navigation horizontale assistée */
.efht-company-compact-shell{overflow:visible}
.efht-company-compact-table{min-width:0;table-layout:fixed}
.efht-company-compact-table th:nth-child(1){width:18%}.efht-company-compact-table th:nth-child(2){width:22%}.efht-company-compact-table th:nth-child(3){width:22%}.efht-company-compact-table th:nth-child(4){width:21%}.efht-company-compact-table th:nth-child(5){width:17%}
.efht-company-compact-table td{overflow-wrap:anywhere}
.efht-company-followup{display:flex;align-items:flex-start;flex-direction:column;gap:7px}
.efht-company-followup>small{margin:0!important}
.efht-company-compact-table .efht-company-actions{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:7px}
.efht-company-compact-table .efht-company-actions>a{display:flex;align-items:center;justify-content:center;min-width:0;width:100%}
.efht-company-compact-table .efht-company-actions>form{grid-column:1/-1;width:100%;margin:0}
.efht-company-compact-table .efht-company-actions>form .efht-delete-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:38px;color:#c36;background:#fff0f5;border:1px solid #efabc3;border-radius:999px}
.efht-company-compact-table .efht-company-actions>form .efht-delete-button:hover{color:#fff;background:#c36;border-color:#c36}
.efht-followup-empty{display:block!important;margin:0!important;color:#718096!important;font-size:11px!important;font-weight:500!important;line-height:1.35}.efht-offers-crm-table .efht-followup-empty{margin-bottom:7px!important}

/* V0.20.2 — panneau d’actions des étudiants. */
.efht-student-actions-panel{display:grid;gap:8px;min-width:210px;padding:10px;background:linear-gradient(145deg,#f8fbfd,#eef6fa);border:1px solid #d8e8f0;border-radius:16px;box-shadow:0 7px 20px rgba(14,46,75,.04)}
.efht-student-actions-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.efht-student-actions-panel .efht-student-action{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:38px;padding:8px 11px;border:1px solid #cce6f1!important;border-radius:999px!important;font-family:inherit!important;font-size:11px!important;font-weight:650!important;line-height:1.15;text-align:center;text-decoration:none!important;white-space:nowrap;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.efht-student-action .efht-ui-icon{width:14px;height:14px;flex:0 0 14px}
.efht-student-action-fiche{color:#176f93!important;background:#fff!important}
.efht-student-action-manual{color:#176f93!important;background:#e2f4fb!important}
.efht-student-action-fiche:hover,.efht-student-action-manual:hover{color:#fff!important;background:#176f93!important;border-color:#176f93!important;transform:translateY(-1px)}
.efht-student-action-matches{width:100%;color:#fff!important;background:#0e2e4b!important;border-color:#0e2e4b!important}
.efht-student-action-matches:hover{color:#fff!important;background:#176f93;border-color:#176f93;box-shadow:0 7px 15px rgba(14,46,75,.14);transform:translateY(-1px)}
.efht-manual-proposal{scroll-margin-top:210px}
@media(max-width:1100px){.efht-student-actions-panel{min-width:190px}.efht-student-actions-panel .efht-student-action{font-size:10px!important}}
@media(max-width:760px){.efht-student-actions-panel{min-width:0}.efht-student-actions-top{grid-template-columns:1fr 1fr}}

/* V0.20.4 — boutons du panneau Offre harmonisés, indicateurs circulaires préservés. */
.efht-offer-row-actions .efht-offer-row-primary-actions>a,.efht-offer-row-actions .efht-card-secondary-actions .efht-edit-button,.efht-offer-row-actions .efht-card-secondary-actions .efht-card-delete{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:42px!important;padding:9px 12px!important;border-width:1px!important;border-style:solid!important;border-radius:999px!important;font-family:inherit!important;font-size:11px!important;font-weight:650!important;line-height:1.15!important;white-space:nowrap}
.efht-offer-row-actions .efht-offer-row-public{color:#176f93!important;background:#fff!important;border-color:#cce6f1!important}
.efht-offer-row-actions .efht-offer-row-match{color:#fff!important;background:#72c9ea!important;border-color:#72c9ea!important}
.efht-offer-row-actions .efht-card-secondary-actions .efht-edit-button{color:#176f93!important;background:#e2f4fb!important;border-color:#bfe4f2!important}
.efht-offer-row-actions .efht-card-secondary-actions .efht-card-delete{color:#c36!important;background:#fff0f5!important;border-color:#efabc3!important}
.efht-offer-row-actions .efht-offer-row-public:hover,.efht-offer-row-actions .efht-card-secondary-actions .efht-edit-button:hover{color:#fff!important;background:#176f93!important;border-color:#176f93!important}
.efht-offer-row-actions .efht-offer-row-match:hover{color:#fff!important;background:#0e2e4b!important;border-color:#0e2e4b!important}
.efht-offer-row-actions .efht-card-secondary-actions .efht-card-delete:hover{color:#fff!important;background:#c36!important;border-color:#c36!important}

/* V0.20.5 — liserés des indicateurs de candidatures. */
.efht-offer-row-actions .efht-offer-stage{border-width:1px!important;border-style:solid!important;border-radius:999px!important}
.efht-offer-row-actions .efht-stage-proposed{border-color:#d4e0e8!important}
.efht-offer-row-actions .efht-stage-ready{border-color:#f0d3aa!important}
.efht-offer-row-actions .efht-stage-sent{border-color:#c7e5d8!important}
.efht-offer-row-actions .efht-offer-stage>b{background:#fff!important;border-width:1px!important;border-style:solid!important}
.efht-offer-row-actions .efht-stage-proposed>b{color:#526b80!important;border-color:#d4e0e8!important}
.efht-offer-row-actions .efht-stage-ready>b{color:#9b5b16!important;border-color:#f0d3aa!important}
.efht-offer-row-actions .efht-stage-sent>b{color:#277259!important;border-color:#c7e5d8!important}
.efht-crm-scroll-top{height:15px;margin:0 4px 7px;overflow-x:auto;overflow-y:hidden;scrollbar-color:#8da2b1 #edf3f6;scrollbar-width:thin}
.efht-crm-scroll-top>div{height:1px}
.efht-offers-crm-shell{position:relative;max-height:70vh;cursor:grab;scrollbar-color:#8da2b1 #edf3f6;scrollbar-width:thin}
.efht-offers-crm-shell.is-dragging{cursor:grabbing;user-select:none}
.efht-offers-crm-table{min-width:2050px}
.efht-offers-crm-table th:nth-child(7),.efht-offers-crm-table td:nth-child(7){position:static!important;left:auto!important;right:auto!important;z-index:auto!important;box-shadow:none!important}
.efht-offers-crm-table th:nth-child(1),.efht-offers-crm-table td:nth-child(1){position:sticky!important;left:0!important;z-index:3!important;width:145px;min-width:145px;background:#fff;box-shadow:8px 0 12px -12px rgba(14,46,75,.55)}
.efht-offers-crm-table th:nth-child(12),.efht-offers-crm-table td:nth-child(12){position:sticky!important;right:0!important;left:auto!important;z-index:3!important;width:116px;min-width:116px;background:#fff;box-shadow:-8px 0 12px -12px rgba(14,46,75,.55)}
.efht-offers-crm-table thead th:nth-child(1),.efht-offers-crm-table thead th:nth-child(12){z-index:5!important;background:#f2f8fb}
.efht-offers-crm-table th:nth-child(3){min-width:155px}.efht-offers-crm-table th:nth-child(4){min-width:150px}.efht-offers-crm-table th:nth-child(5){min-width:180px}.efht-offers-crm-table th:nth-child(6){min-width:185px}.efht-offers-crm-table th:nth-child(7){min-width:135px}.efht-offers-crm-table th:nth-child(8){min-width:200px}.efht-offers-crm-table th:nth-child(9){min-width:225px}.efht-offers-crm-table th:nth-child(10){min-width:210px}.efht-offers-crm-table th:nth-child(11){min-width:190px}
.efht-offers-crm-table thead th{position:sticky;top:0;z-index:4;background:#f2f8fb}
.efht-offers-crm-shell.has-scroll-left{box-shadow:inset 16px 0 18px -20px rgba(14,46,75,.85)}.efht-offers-crm-shell.has-scroll-right{box-shadow:inset -16px 0 18px -20px rgba(14,46,75,.85)}.efht-offers-crm-shell.has-scroll-left.has-scroll-right{box-shadow:inset 16px 0 18px -20px rgba(14,46,75,.85),inset -16px 0 18px -20px rgba(14,46,75,.85)}
.efht-offers-crm-table tbody tr:hover td{background:#f8fcfe}.efht-offers-crm-table tbody tr:hover td:nth-child(1),.efht-offers-crm-table tbody tr:hover td:nth-child(12){background:#f8fcfe}
.efht-offer-stage-actions.is-compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;padding:5px;background:#f5f9fb;border:1px solid #dce8ef;border-radius:14px}
.efht-offer-stage-actions.is-compact .efht-offer-stage{min-width:0;min-height:54px;padding:6px 4px;display:grid;grid-template-columns:auto auto;grid-template-areas:"icon count" "label label";justify-content:center;align-content:center;gap:2px 5px;border-radius:11px;box-shadow:none!important;transform:none!important}
.efht-offer-stage-actions.is-compact .efht-offer-stage>i{grid-area:icon;margin:0}.efht-offer-stage-actions.is-compact .efht-offer-stage>span{grid-area:label;display:block!important;overflow:hidden;text-overflow:ellipsis;font-size:9px!important;white-space:nowrap}.efht-offer-stage-actions.is-compact .efht-offer-stage>b{grid-area:count;min-width:18px;height:18px;padding:0 4px;font-size:9px}
.efht-offers-crm-table .efht-crm-comment{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.35}
@media(max-width:900px){.efht-company-compact-shell{overflow:visible;border:0;box-shadow:none;background:transparent}.efht-company-compact-table,.efht-company-compact-table tbody,.efht-company-compact-table tr,.efht-company-compact-table td{display:block;width:100%}.efht-company-compact-table{min-width:0}.efht-company-compact-table thead{display:none}.efht-company-compact-table tr{margin-bottom:12px;padding:14px;background:#fff;border:1px solid #d8e5ec;border-radius:18px;box-shadow:0 8px 24px rgba(14,46,75,.05)}.efht-company-compact-table td{padding:9px 4px;border:0}.efht-company-compact-table td::before{content:attr(data-label);display:block;margin-bottom:6px;color:#687b8e;font-size:10px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.efht-company-compact-table .efht-company-actions{align-items:flex-start}}

/* V0.20.7 — carte Offre compacte en deux panneaux indépendants. */
.efht-offer-card.efht-offer-row-card{min-height:0!important;align-items:center!important;padding:22px 24px!important}
.efht-offer-row-actions{display:grid!important;grid-template-columns:minmax(285px,1.08fr) minmax(270px,1fr)!important;align-items:stretch!important;gap:12px!important;flex:0 1 610px!important;width:min(610px,52%)!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.efht-offer-followup-panel,.efht-offer-actions-panel{min-width:0;padding:12px;background:linear-gradient(145deg,#f8fbfd,#eef6fa);border:1px solid #d8e8f0;border-radius:17px;box-shadow:0 7px 20px rgba(14,46,75,.04)}
.efht-offer-followup-panel{display:flex;align-items:center}
.efht-offer-followup-panel .efht-offer-stage-actions{margin:0!important}
.efht-offer-actions-panel{display:flex;flex-direction:column;justify-content:center;gap:9px}
.efht-offer-panel-title{display:block;color:#687b8e;font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.efht-offer-actions-panel .efht-offer-row-primary-actions,.efht-offer-actions-panel .efht-card-secondary-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin:0!important}
.efht-offer-actions-panel .efht-offer-row-primary-actions>a,.efht-offer-actions-panel .efht-card-secondary-actions>a,.efht-offer-actions-panel .efht-card-secondary-actions>form{box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important}
.efht-offer-actions-panel .efht-offer-row-primary-actions>a,.efht-offer-actions-panel .efht-card-secondary-actions .efht-edit-button,.efht-offer-actions-panel .efht-card-secondary-actions .efht-card-delete{box-sizing:border-box!important;width:100%!important;height:40px!important;min-height:40px!important;padding:8px 9px!important}
.efht-offer-actions-panel .efht-card-secondary-actions>form .efht-card-delete{display:flex!important;align-items:center!important;justify-content:center!important}
@media(max-width:1120px){.efht-offer-card.efht-offer-row-card{align-items:stretch!important;flex-direction:column!important}.efht-offer-row-actions{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)!important;flex-basis:auto!important;width:100%!important}}
@media(max-width:680px){.efht-offer-row-actions{grid-template-columns:1fr!important}.efht-offer-followup-panel,.efht-offer-actions-panel{width:100%;box-sizing:border-box}}
@media(max-width:390px){.efht-offer-actions-panel .efht-offer-row-primary-actions,.efht-offer-actions-panel .efht-card-secondary-actions{grid-template-columns:1fr!important}}

/* V0.21.5 — actions de fiche homogènes et ouvertures souples. */
.efht-student-save .efht-front-button,.efht-manual-offer-mail{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:38px!important;padding:8px 14px!important;border-radius:999px!important;font:inherit!important;font-size:11px!important;font-weight:650!important;line-height:1.15!important;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease!important}
.efht-student-save .efht-front-button{min-width:0!important}
.efht-manual-offer-mail:disabled{color:#7d8b99!important;background:#edf3f6!important;border-color:#d9e4e9!important;cursor:not-allowed!important;transform:none!important}
.efht-portal details.efht-help-section>summary,.efht-portal details.efht-dashboard-detail>summary,.efht-portal details.efht-pipeline-column>summary,.efht-portal details.efht-tracking>summary{transition:background .22s ease,color .22s ease,box-shadow .22s ease}
.efht-portal details.efht-help-section[open]>summary,.efht-portal details.efht-dashboard-detail[open]>summary,.efht-portal details.efht-pipeline-column[open]>summary,.efht-portal details.efht-tracking[open]>summary{background:#f8fbfd}
@media(max-width:900px){.efht-student-save .efht-front-button,.efht-manual-offer-mail{width:100%}}

/* V0.21.7 — apparition douce des fenêtres de suivi. */
@keyframes efht-dialog-fade-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes efht-dialog-backdrop-fade-in{from{opacity:0}to{opacity:1}}
.efht-tracking-dialog[open]{animation:efht-dialog-fade-in .24s cubic-bezier(.22,1,.36,1) both}
.efht-tracking-dialog[open]::backdrop{animation:efht-dialog-backdrop-fade-in .22s ease-out both}
@media(prefers-reduced-motion:reduce){.efht-tracking-dialog[open],.efht-tracking-dialog[open]::backdrop{animation:none}}

/* V0.22.0 — lecture pédagogique des classes AIMAIRA. */
.efht-pedagogy-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:20px 0}.efht-pedagogy-summary article{display:grid;gap:7px;padding:18px 20px;background:linear-gradient(145deg,#f8fbfd,#eff7fa);border:1px solid #d8e8f0;border-radius:18px}.efht-pedagogy-summary strong{color:#72c9ea;font-size:30px;line-height:1}.efht-pedagogy-summary span{color:#526b80;font-size:12px;font-weight:650}.efht-pedagogy-summary .is-alert strong{color:#bd791f}.efht-pedagogy-classes{padding:20px;background:#fff;border:1px solid #d8e8f0;border-radius:20px;box-shadow:0 9px 26px rgba(14,46,75,.04)}.efht-pedagogy-classes>header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.efht-pedagogy-classes h2{margin:0;color:#0e2e4b;font-size:20px}.efht-pedagogy-classes>header p,.efht-pedagogy-note{margin:0;color:#718096;font-size:12px}.efht-pedagogy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.efht-pedagogy-class{overflow:hidden;background:#fff;border:1px solid #d8e8f0;border-radius:16px;transition:border-color .2s ease,box-shadow .2s ease}.efht-pedagogy-class>summary{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:11px;padding:15px;cursor:pointer;list-style:none}.efht-pedagogy-class>summary::-webkit-details-marker{display:none}.efht-pedagogy-class summary strong{display:block;color:#0e2e4b;font-size:13px}.efht-pedagogy-class summary small{display:block;margin-top:4px;color:#718096;font-size:11px}.efht-pedagogy-class summary>b{display:grid;place-items:center;min-width:30px;height:30px;padding:0 7px;color:#176f93;background:#e4f6fc;border:1px solid #bfe5f3;border-radius:999px;font-size:12px}.efht-pedagogy-class summary>i{color:#72c9ea;font-size:16px;font-style:normal;transition:transform .2s ease}.efht-pedagogy-class[open]{border-color:#9ddcf1;box-shadow:0 8px 18px rgba(14,46,75,.06)}.efht-pedagogy-class[open] summary>i{transform:rotate(180deg)}.efht-pedagogy-class.is-missing{border-color:#efd5a7;background:#fffdf8}.efht-pedagogy-class.is-missing summary>b{color:#9b5b16;background:#fff2db;border-color:#efd5a7}.efht-pedagogy-students{padding:0 14px 14px}.efht-pedagogy-students table{width:100%;border-collapse:collapse}.efht-pedagogy-students th{padding:9px 7px;color:#687b8e;border-bottom:1px solid #dce8ee;font-size:9px;font-weight:750;letter-spacing:.07em;text-align:left;text-transform:uppercase}.efht-pedagogy-students td{padding:10px 7px;border-bottom:1px solid #edf3f6;color:#35526c;font-size:12px}.efht-pedagogy-students tr:last-child td{border:0}.efht-pedagogy-students td strong{display:block;color:#0e2e4b;font-size:12px}.efht-pedagogy-students td small{display:block;margin-top:3px;color:#718096;font-size:10px}.efht-pedagogy-note{margin-top:15px!important}.efht-pedagogy-classes+*{margin-top:18px}
@media(max-width:760px){.efht-pedagogy-summary,.efht-pedagogy-grid{grid-template-columns:1fr}.efht-pedagogy-classes>header{align-items:flex-start;flex-direction:column}.efht-pedagogy-students{overflow-x:auto}.efht-pedagogy-students table{min-width:460px}}
/* V0.24.1 — nouveaux filtres et durées dans la charte EFHT */
.efht-portal .efht-student-filter-bar{
	display:block!important;
	padding:15px!important;
}
.efht-portal .efht-student-filter-bar .efht-filter-row{
	display:grid!important;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:12px;
	align-items:end;
}
.efht-portal .efht-student-filter-bar .efht-filter-row-status{
	grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) minmax(280px,1.45fr) auto;
	margin-top:12px;
}
.efht-portal .efht-student-filter-bar .efht-filter-row>label{
	display:flex!important;
	flex-direction:column!important;
	gap:6px!important;
	min-width:0!important;
	margin:0!important;
}
.efht-portal .efht-source-choice{
	display:flex;
	align-items:center;
	gap:7px;
	min-height:44px;
	margin:0;
	padding:4px;
	border:1px solid #cfe0e9;
	border-radius:999px;
	background:#fff;
}
.efht-portal .efht-source-choice legend{
	position:absolute;
	width:1px;
	height:1px;
	overflow:hidden;
	clip:rect(0 0 0 0);
}
.efht-portal .efht-source-choice label{
	position:relative;
	display:flex!important;
	align-items:center!important;
	justify-content:center;
	flex:1!important;
	min-width:0!important;
	min-height:34px;
	margin:0!important;
	padding:7px 12px;
	border-radius:999px;
	color:#46657e;
	font-size:12px!important;
	font-weight:500!important;
	cursor:pointer;
}
.efht-portal .efht-source-choice input{
	position:absolute!important;
	opacity:0;
	pointer-events:none;
	width:1px!important;
	height:1px!important;
	min-height:0!important;
}
.efht-portal .efht-source-choice label:has(input:checked){background:#e7f6fc;color:#12688f;font-weight:700!important;box-shadow:inset 0 0 0 1px #9bdcf4}
.efht-portal .efht-student-filter-bar .efht-filter-row>.efht-front-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px}
.efht-portal .efht-duration-choice{
	display:flex!important;
	flex-wrap:wrap;
	align-items:center;
	gap:10px;
	min-width:0;
	margin:0!important;
	padding:0!important;
	border:0!important;
}
.efht-portal .efht-duration-choice legend{display:block;width:100%;margin:0 0 6px;color:#102f50;font-size:13px;font-weight:700}
.efht-portal .efht-duration-choice label{position:relative;display:inline-flex!important;flex:none!important;min-width:0!important;margin:0!important;cursor:pointer}
.efht-portal .efht-duration-choice input{position:absolute!important;opacity:0;width:1px!important;height:1px!important;min-height:0!important;pointer-events:none}
.efht-portal .efht-duration-choice label span{display:inline-flex;align-items:center;justify-content:center;min-width:105px;min-height:43px;padding:9px 18px;border:1px solid #bcd8e7;border-radius:999px;background:#fff;color:#17678e;font-size:13px;font-weight:600;transition:.18s ease}
.efht-portal .efht-duration-choice label:hover span{border-color:#72c9ea;background:#f4fbfe}
.efht-portal .efht-duration-choice label:has(input:checked) span{border-color:#72c9ea;background:#72c9ea;color:#fff;box-shadow:0 7px 16px rgba(64,170,214,.18)}
.efht-portal .efht-duration-choice small{flex-basis:100%;color:#71839b;font-size:11px}
@media(max-width:980px){.efht-portal .efht-student-filter-bar .efht-filter-row,.efht-portal .efht-student-filter-bar .efht-filter-row-status{grid-template-columns:1fr 1fr}.efht-portal .efht-source-choice{grid-column:1/-1}}
@media(max-width:620px){.efht-portal .efht-student-filter-bar .efht-filter-row,.efht-portal .efht-student-filter-bar .efht-filter-row-status{grid-template-columns:1fr}.efht-portal .efht-source-choice{grid-column:auto}}

/* V0.24.2 — barre étudiants unique et contrôles de durée compacts. */
.efht-portal .efht-student-filter-bar{
	display:grid!important;
	grid-template-columns:minmax(175px,1.3fr) minmax(145px,1fr) minmax(105px,.72fr) minmax(120px,.82fr) minmax(150px,1.05fr) minmax(140px,1fr) minmax(100px,.7fr) auto;
	align-items:end;
	gap:10px;
	padding:15px!important;
}
.efht-portal .efht-student-filter-bar>label{
	display:flex!important;
	flex-direction:column!important;
	gap:6px!important;
	min-width:0!important;
	margin:0!important;
}
.efht-portal .efht-student-filter-bar>label input,
.efht-portal .efht-student-filter-bar>label select{width:100%;min-width:0;min-height:44px}
.efht-portal .efht-student-filter-bar>.efht-front-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding-inline:18px!important}
.efht-portal .efht-duration-choice{display:flex!important;column-gap:12px;row-gap:7px}
.efht-portal .efht-duration-choice label span{min-width:88px;min-height:38px;padding:7px 14px;font-size:12px}
.efht-portal .efht-duration-choice small{flex:0 1 auto;margin-left:3px}
@media(max-width:1180px){.efht-portal .efht-student-filter-bar{grid-template-columns:repeat(4,minmax(0,1fr))}.efht-portal .efht-student-filter-bar>.efht-front-button{width:100%}}
@media(max-width:720px){.efht-portal .efht-student-filter-bar{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.efht-portal .efht-student-filter-bar{grid-template-columns:1fr}.efht-portal .efht-duration-choice small{flex-basis:100%;margin-left:0}}

/* V0.24.3 — relance intégrée à l'en-tête de l'historique étudiant. */
.efht-portal .efht-student-history-block{position:relative}
.efht-portal .efht-student-history-block>.efht-tracking>summary{min-height:42px;padding:10px 205px 10px 0;display:flex;align-items:center}
.efht-portal .efht-student-history-block>.efht-student-relaunch{position:absolute;z-index:2;top:18px;right:0;margin:0}
.efht-portal .efht-student-history-block>.efht-student-relaunch>.efht-edit-button{min-height:36px;padding:8px 14px;border-radius:999px;background:#f0faff;border:1px solid #b9e5f5;color:#176b8c;font-size:11px;font-weight:600;box-shadow:none}
.efht-portal .efht-student-history-block>.efht-student-relaunch>.efht-edit-button:hover{color:#fff;background:#0e2e4b;border-color:#0e2e4b;transform:translateY(-1px)}
@media(max-width:650px){.efht-portal .efht-student-history-block{display:flex;flex-direction:column}.efht-portal .efht-student-history-block>.efht-tracking>summary{padding-right:0}.efht-portal .efht-student-history-block>.efht-student-relaunch{position:static;order:-1;display:flex;justify-content:flex-end;margin:10px 0 0}}

/* V0.24.8 — confort sur les écrans 13/14 pouces et les affichages Retina mis à l'échelle. */
.efht-portal button,
.efht-portal .efht-front-button,
.efht-portal .efht-edit-button,
.efht-portal .efht-company-action,
.efht-portal .efht-student-action,
.efht-portal .efht-offer-row-public,
.efht-portal .efht-offer-row-match {
	box-sizing:border-box;
	max-width:100%;
	line-height:1.2;
}
.efht-portal .efht-filter-bar>label:not(.efht-check) {
	flex:1 1 185px;
	min-width:165px;
}

@media (min-width:981px) and (max-width:1280px) {
	.efht-portal { max-width:none;padding-inline:14px; }
	.efht-portal .efht-portal-nav {
		flex-wrap:wrap;
		align-items:center;
		row-gap:9px;
		padding:9px 10px;
	}
	.efht-portal .efht-nav-main {
		order:1;
		display:grid;
		grid-template-columns:repeat(7,minmax(0,1fr));
		width:100%;
		gap:5px;
		overflow:visible;
	}
	.efht-portal .efht-nav-main:empty { display:none; }
	.efht-portal .efht-nav-settings { order:2; }
	.efht-portal .efht-nav-main>a,
	.efht-portal .efht-nav-settings>summary {
		width:100%;
		min-width:0;
		padding-inline:8px;
		font-size:11.5px;
	}
	.efht-portal .efht-nav-main>a span,
	.efht-portal .efht-nav-settings>summary span {
		overflow:hidden;
		text-overflow:ellipsis;
	}
	.efht-portal .efht-universe-switcher {
		order:2;
		margin-left:auto;
	}
	.efht-portal .efht-year-switcher {
		order:3;
		margin-left:0;
	}
	.efht-portal .efht-filter-bar,
	.efht-portal .efht-matching-search,
	.efht-portal .efht-scout-search {
		top:calc(var(--wp-admin--admin-bar--height, 0px) + var(--efht-site-header-offset) + 132px);
	}
	.efht-portal .efht-company-compact-table th:nth-child(1){width:19%}
	.efht-portal .efht-company-compact-table th:nth-child(2){width:22%}
	.efht-portal .efht-company-compact-table th:nth-child(3){width:21%}
	.efht-portal .efht-company-compact-table th:nth-child(4){width:21%}
	.efht-portal .efht-company-compact-table th:nth-child(5){width:17%}
	.efht-portal .efht-company-compact-table th,
	.efht-portal .efht-company-compact-table td {
		padding-inline:13px;
	}
	.efht-portal .efht-company-compact-table .efht-company-actions {
		gap:6px;
		padding:4px;
	}
	.efht-portal .efht-company-compact-table .efht-company-actions>a,
	.efht-portal .efht-company-compact-table .efht-company-actions button {
		padding-inline:7px;
		font-size:10.5px;
	}
}

@media (max-width:980px) {
	.efht-portal .efht-portal-nav {
		align-items:stretch;
		flex-wrap:wrap;
	}
	.efht-portal .efht-nav-main {
		order:1;
		width:100%;
		overflow-x:auto;
		padding-bottom:4px;
		scrollbar-width:thin;
	}
	.efht-portal .efht-universe-switcher {
		order:2;
		margin-left:0;
		flex:1 1 230px;
		justify-content:flex-end;
	}
	.efht-portal .efht-year-switcher {
		order:3;
		flex:0 1 auto;
		margin-left:0;
	}
	.efht-portal .efht-filter-bar>label:not(.efht-check) {
		flex-basis:calc(50% - 8px);
		min-width:220px;
	}
}

@media (max-width:680px) {
	.efht-portal .efht-universe-switcher,
	.efht-portal .efht-year-switcher {
		width:100%;
		flex:1 1 100%;
		justify-content:space-between;
		margin:0;
		padding:9px 0 0;
		border-left:0;
		border-top:1px solid var(--line);
	}
	.efht-portal .efht-universe-switcher select,
	.efht-portal .efht-year-switcher select {
		width:min(190px,64%);
		min-width:0;
	}
	.efht-portal .efht-filter-bar>label:not(.efht-check),
	.efht-portal .efht-filter-bar>.efht-check,
	.efht-portal .efht-filter-bar>.efht-front-button {
		width:100%;
		min-width:0;
		flex-basis:100%;
	}
}

/* V0.24.5 — fenêtre de relance étudiant lisible. */
.efht-portal .efht-relaunch-list{display:grid!important;grid-template-columns:1fr;gap:9px;margin:16px 0 18px}
.efht-portal .efht-relaunch-list>label{display:grid!important;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:11px;width:100%;margin:0!important;padding:12px 14px;border:1px solid #d7e6ef;border-radius:13px;background:#f6fbfe;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.efht-portal .efht-relaunch-list>label:hover{border-color:#9ddcf1;background:#f0faff;transform:translateY(-1px)}
.efht-portal .efht-relaunch-list input{width:16px!important;height:16px!important;min-height:0!important;margin:2px 0 0!important;padding:0!important}
.efht-portal .efht-relaunch-list label>span{display:grid;gap:5px;min-width:0}
.efht-portal .efht-relaunch-list strong{display:block;color:#0e2e4b;font-size:13px;line-height:1.35}
.efht-portal .efht-relaunch-list small{display:block;margin:0;color:#71839b;font-size:11px;line-height:1.35}
.efht-portal .efht-student-relaunch-mail{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-height:40px;padding:9px 18px!important;border:1px solid #72c9ea!important;border-radius:999px!important;color:#fff!important;background:#72c9ea!important;font-size:12px!important;font-weight:650!important;line-height:1!important;box-shadow:none!important}
.efht-portal .efht-student-relaunch-mail:hover:not(:disabled){border-color:#0e2e4b!important;background:#0e2e4b!important;transform:translateY(-1px)}
.efht-portal .efht-student-relaunch-mail:disabled{border-color:#d9e4e9!important;color:#8291a0!important;background:#edf3f6!important;cursor:not-allowed}
