/*
 * SuiviDirectives — Registre de pilotage institutionnel
 * Cette couche porte le langage visuel propre à la plateforme : papier minéral,
 * traits de gouvernance, angles francs et hiérarchie typographique lisible.
 */
:root {
    --sd-green: #08754a;
    --sd-green-dark: #045936;
    --sd-green-soft: #e7f0eb;
    --sd-gold: #d2aa18;
    --sd-navy: #071f3f;
    --sd-blue: #0a477f;
    --sd-blue-soft: #e8eef3;
    --sd-ink: #10283d;
    --sd-muted: #596a66;
    --sd-border: #cbd2cd;
    --sd-bg: #f1efe9;
    --platform-paper: #fffefa;
    --platform-paper-muted: #f8f6f0;
    --platform-rule: #cbd2cd;
    --platform-rule-strong: #899790;
    --platform-radius: .38rem;
    --dash-radius: var(--platform-radius);
}

html { background: var(--sd-bg); }
body {
    color: var(--sd-ink);
    background-color: var(--sd-bg);
    background-image: linear-gradient(90deg, rgba(7,31,63,.025) 1px, transparent 1px);
    background-size: 80px 100%;
    font-family: "Segoe UI Variable", Aptos, "Segoe UI", Arial, sans-serif;
    text-rendering: optimizeLegibility;
}
::selection { color: #fff; background: var(--sd-green); }

/* Le bandeau suit les mêmes angles et le même système de traits. */
.app-navbar .main-nav .nav-link,
.app-navbar .main-nav .nav-link i,
.header-create,
.header-scope,
.user-trigger,
.user-avatar,
.app-dropdown,
.account-menu {
    border-radius: .25rem;
}
.app-navbar .main-nav .nav-link.active { box-shadow: 0 5px 12px rgba(7,31,63,.14); }

.app-main {
    padding-top: 1.65rem !important;
    padding-bottom: 3rem !important;
}
.app-main h1,
.app-main h2,
.app-main h3 { text-wrap: balance; }
.app-main p { line-height: 1.58; }
.app-main small { font-size: .7rem !important; line-height: 1.42; }
.app-main a { text-underline-offset: .18em; }

/* Des surfaces de travail, pas une collection de cartes flottantes. */
.app-main [class$="-card"],
.app-main [class$="-panel"],
.app-main .app-card,
.app-main .card,
.app-main .kpi-card,
.app-main .executive-brief,
.app-main .strategic-arbitration,
.app-main .tactical-ribbon,
.app-main .today-board,
.app-main .decision-ledger,
.app-main .dashboard-filterbar,
.app-main .dashboard-commandbar,
.app-main .home-pulse,
.app-main .home-shortcuts,
.app-main .admin-navigation,
.app-main .reference-health-grid article,
.app-main .import-task-section {
    border-radius: var(--platform-radius) !important;
    box-shadow: none !important;
}
.app-main [class$="-hero"],
.app-main .home-command,
.app-main .decision-form-intro,
.app-main .admin-hero,
.app-main .mtn-dashboard-hero,
.app-main .mtn-home-hero,
.app-main .import-landing-hero {
    border-radius: .48rem !important;
    box-shadow: none !important;
}
.app-main [class$="-icon"],
.app-main [class$="-avatar"],
.app-main .dashboard-filter-icon,
.app-main .executive-metric > i,
.app-main .pulse-metric > i,
.app-main .decision-accountability article > i {
    border-radius: .24rem !important;
    box-shadow: none !important;
}

/* Hiérarchie éditoriale et repères de registre. */
.page-heading:not(.mtn-dashboard-hero) {
    position: relative;
    margin-bottom: 1.35rem;
    padding: 1.1rem 1.35rem 1.2rem;
    border-bottom: 1px solid var(--platform-rule);
    border-left: 5px solid var(--sd-green);
    background: rgba(255,254,250,.68);
}
.page-heading:not(.mtn-dashboard-hero)::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 92px;
    height: 2px;
    background: linear-gradient(90deg, var(--sd-green) 0 58%, var(--sd-gold) 58% 78%, #c3463e 78%);
}
.page-heading:not(.mtn-dashboard-hero) h1 {
    margin-bottom: .35rem;
    color: var(--sd-navy);
    font-size: clamp(1.85rem, 2.5vw, 2.7rem);
    font-weight: 760;
    letter-spacing: -.045em;
}
.eyebrow,
.app-main [class*="kicker"],
.app-main [class*="eyebrow"] {
    font-size: .66rem !important;
    font-weight: 820;
    letter-spacing: .12em;
}
.dashboard-section-heading,
.home-section-heading,
.import-section-heading,
.admin-section-heading {
    margin-top: 2rem;
    padding-bottom: .72rem;
    border-bottom: 1px solid var(--platform-rule);
}
.section-index,
.panel-mark {
    height: 4px;
    border-radius: 0;
    background: linear-gradient(90deg, var(--sd-green) 0 70%, var(--sd-gold) 70%);
}

/* Contrôles : formes franches, focus visible, densité constante. */
.app-main .btn,
.app-main .form-control,
.app-main .form-select,
.app-main .input-group-text,
.login-page .btn,
.login-page .form-control,
.login-page .input-group-text {
    border-radius: .25rem !important;
}
.app-main .btn {
    min-height: 40px;
    padding: .52rem .82rem;
    font-size: .74rem;
    font-weight: 750;
    box-shadow: none !important;
}
.app-main .form-control,
.app-main .form-select {
    min-height: 42px;
    color: var(--sd-ink);
    border-color: #aeb9b3;
    background-color: var(--platform-paper);
    font-size: .78rem;
    box-shadow: none;
}
.app-main .form-control:focus,
.app-main .form-select:focus,
.login-page .form-control:focus {
    border-color: var(--sd-green);
    box-shadow: 0 0 0 3px rgba(8,117,74,.12);
}
.app-main .form-label {
    color: #354b45;
    font-size: .72rem !important;
    font-weight: 760;
}
.app-main .form-text { color: #667872; font-size: .68rem !important; }
.app-main .badge,
.app-main .rounded-pill,
.app-main .temporal-badge,
.app-main .portfolio-chip,
.app-main .dashboard-filter-count,
.app-main .admin-count,
.app-main .review-freshness,
.app-main .import-section-status {
    border-radius: .18rem !important;
    box-shadow: none !important;
}

/* En-têtes de sections : un même rythme sur toutes les fonctions. */
.home-pulse > header,
.import-upload-card__header,
.import-history__header,
.import-circuit-card > header,
.import-task-section__head,
.import-audit-card > header,
.compact-panel > header,
.admin-panel-intro,
.decision-form-section > header,
.operational-review-header,
.card-header {
    border-bottom: 1px solid var(--platform-rule) !important;
    background: var(--platform-paper-muted) !important;
    background-image: none !important;
}
.home-pulse,
.visual-panel,
.strategic-arbitration,
.admin-panel,
.import-upload-card,
.import-history,
.import-circuit-card,
.import-task-section,
.decision-form-section,
.decision-summary-panel,
.decision-review-panel,
.decision-history-panel {
    border-top: 3px solid var(--sd-navy) !important;
    background: var(--platform-paper) !important;
}

/* Le poste de revue est un volet applicatif, pas une carte de contenu. */
.decision-review-panel.decision-review-drawer {
    border-top: 0 !important;
    background: #f4f5f2 !important;
}

/* Tableaux : lecture de registre, lignes nettes et états portés par un trait. */
.app-main .table { --bs-table-bg: transparent; color: var(--sd-ink); }
.app-main .table thead th,
.app-main .app-table thead th,
.app-main .ledger-table thead th {
    padding: .78rem .72rem;
    color: #fff !important;
    border: 0 !important;
    background: var(--sd-navy) !important;
    font-size: .66rem;
    font-weight: 760;
    letter-spacing: .065em;
}
.app-main .table tbody td {
    padding: .82rem .72rem;
    border-color: #dfe3df;
    font-size: .78rem;
}
.app-main .table tbody tr { background: var(--platform-paper); }
.app-main .table tbody tr:nth-child(even) { background: #faf8f3; }
.app-main .table tbody tr:hover { background: #edf4f0; }
.app-main .table tbody tr.critical-row,
.app-main .table tbody tr.is-critical {
    background: #fff7f4;
    box-shadow: inset 4px 0 #b9473f;
}
.app-main .slim-progress,
.app-main .progress,
.app-main .progress-meter > i,
.app-main .execution-track > i {
    border-radius: 0 !important;
    background: #dce1dd !important;
}
.app-main .progress-bar,
.app-main .progress-meter > i > b,
.app-main .execution-track > i b { border-radius: 0 !important; background: var(--sd-green) !important; }
.app-main .decision-link {
    border-radius: .2rem;
    color: var(--sd-navy);
    border-color: var(--platform-rule-strong);
}

/* Dashboards : barre d’instrument et graphiques encadrés comme des relevés. */
.dashboard-root { --dash-radius: var(--platform-radius); }
.mtn-dashboard-hero { border: 1px solid #173c62; }
.dashboard-commandbar {
    margin: .8rem 0 1rem;
    padding: .55rem .7rem .55rem 1rem;
    border-color: var(--platform-rule);
    background: var(--platform-paper);
}
.dashboard-switch {
    gap: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--platform-rule);
    border-radius: 0;
    background: transparent;
}
.dashboard-switch a {
    margin-bottom: -1px;
    padding: .6rem .78rem .52rem;
    border-bottom: 3px solid transparent;
    border-radius: 0;
}
.dashboard-switch a.active {
    color: var(--sd-navy);
    border-bottom-color: var(--sd-green);
    background: transparent;
    box-shadow: none;
}
.dashboard-export a {
    border-radius: .2rem;
    color: var(--sd-navy);
    border-color: var(--platform-rule-strong);
    background: transparent;
}
.dashboard-filterbar {
    padding-left: 1.25rem;
    border-color: var(--platform-rule);
    border-left: 4px solid var(--sd-green);
    background: var(--platform-paper);
}
.dashboard-filterbar::before { display: none; }
.dashboard-filter-icon {
    color: var(--sd-green-dark);
    border: 1px solid #aebdb6;
    background: transparent;
}
.dashboard-filter-field > span { color: #40554e; font-size: .66rem; }
.dashboard-filter-field .form-select,
.dashboard-filter-reset { border-radius: .2rem; }
.executive-brief { border-left: 5px solid var(--sd-blue); }
.executive-brief::before { display: none; }
.execution-focus { background: #eef1ef; }
.executive-signals { gap: 0; background: transparent; }
.executive-metric { border-left: 1px solid var(--platform-rule); border-bottom: 1px solid var(--platform-rule); }
.executive-metric > i { border: 1px solid currentColor; background: transparent !important; }
.visual-panel,
.strategic-arbitration { border-color: var(--platform-rule); }
.visual-panel > header { padding-bottom: .7rem; border-bottom: 1px solid var(--platform-rule); }
.tactical-ribbon,
.today-board { border: 1px solid #173c62; }
.tactical-title { background: var(--sd-green-dark); }
.ribbon-metric,
.pulse-metric { border-radius: 0; }
.action-item {
    border-radius: .2rem;
    box-shadow: inset 4px 0 var(--sd-green);
    background: var(--platform-paper);
}
.compact-panel > header > span { border-radius: .15rem; }
.glance-metric,
.import-signal-grid article {
    border-radius: .22rem;
    box-shadow: none;
    background: var(--platform-paper);
}
.glance-metric { border-top: 3px solid var(--sd-navy); }
.glance-metric::after { display: none; }
.import-signal-grid article { border-top: 3px solid var(--sd-navy); }

/* Accueil : dossiers d’action et raccourcis alignés sur le registre. */
.home-command { border: 1px solid #173c62; }
.home-pulse__action { background: #f4f2ec; }
.home-pulse__signals article > span,
.home-pulse__action > span,
.home-route-card__icon,
.home-shortcuts a > i:first-child {
    border: 1px solid currentColor;
    border-radius: .2rem;
    background: transparent;
}
.home-route-card {
    border-top: 4px solid var(--route-color) !important;
    background: var(--platform-paper) !important;
}
.home-route-card__number { color: #d8d9d3; }
.home-route-card__link { border-top-color: var(--platform-rule); }
.home-shortcuts { background: var(--platform-paper); }
.home-shortcuts a {
    border: 0;
    border-left: 3px solid #b9c1bc;
    border-radius: 0;
    background: transparent;
}
.home-shortcuts a:hover { border-left-color: var(--sd-green); background: #edf4f0; }

/* Décisions et revue opérationnelle. */
.operational-hero { border-bottom: 1px solid var(--platform-rule); }
.operational-hero__signals article,
.decision-accountability article,
.review-form-section,
.review-deadline-lock,
.current-action-card,
.reference-empty-state,
.normative-banner {
    border-radius: .22rem;
    box-shadow: none;
}
.operational-hero__signals article,
.decision-accountability article { background: var(--platform-paper); }
.operational-review-footer,
.decision-form-actions {
    border-radius: .25rem;
    box-shadow: 0 -5px 18px rgba(7,31,63,.08);
    background: rgba(255,254,250,.97);
}
.review-form-section > header > span,
.decision-form-section > header > span {
    border-radius: .18rem;
    box-shadow: none;
}
.timeline-transition { border-radius: .18rem; }

/* Référentiels : une console de configuration, moins de pastilles. */
.admin-hero { border: 1px solid #173c62; }
.admin-scope-selector,
.admin-hero-stats { border-radius: .25rem; }
.admin-navigation { padding: .7rem; background: var(--platform-paper); }
.admin-tabs { gap: 0; }
.admin-tabs .nav-link {
    padding: .7rem .55rem;
    border-bottom: 1px solid #e0e4e0;
    border-radius: 0;
}
.admin-tabs .nav-link > i:first-child {
    color: var(--sd-navy);
    border: 1px solid #b6c0bb;
    border-radius: .18rem;
    background: transparent;
}
.admin-tabs .nav-link.active {
    color: var(--sd-green-dark);
    background: #edf4f0;
    box-shadow: inset 4px 0 var(--sd-green);
}
.admin-tabs .nav-link.active > i:first-child { color: #fff; border-color: var(--sd-green); background: var(--sd-green); }
.admin-section-icon,
.reference-health-icon,
.admin-user-avatar {
    border: 1px solid currentColor;
    border-radius: .18rem;
    background: transparent !important;
}
.admin-count { background: transparent; }
.admin-role { border-radius: .15rem; background: #e8ece9; }
.reference-health-grid article {
    border-top: 3px solid var(--sd-navy);
    background: var(--platform-paper);
}

/* Import : atelier contrôlé, tracés francs et étapes documentées. */
.import-command-hero,
.import-landing-hero { border: 1px solid #173c62; }
.import-command-hero::before,
.import-landing-hero::before { opacity: .075; }
.import-command-hero__eyebrow span,
.import-landing-hero__eyebrow span,
.import-format-badge { border-radius: .16rem; }
.import-readiness,
.import-landing-hero__aside { border-radius: .25rem; }
.import-workflow,
.import-workflow--studio {
    border-radius: .25rem;
    box-shadow: none;
    background: var(--platform-paper);
}
.import-workflow li > span,
.import-circuit-card li > span { border-radius: .16rem; }
.import-scope-field,
.import-dropzone,
.import-column-field,
.import-column-mapping,
.import-lot-row,
.issue-work-card,
.issue-family-card,
.reference-task-card {
    border-radius: .22rem;
    box-shadow: none;
}
.import-scope-field,
.import-dropzone { background: var(--platform-paper); }
.import-lot-row { border-bottom: 1px solid var(--platform-rule); }
.issue-work-card { border-left-width: 5px; }
.issue-work-card__identity { border-right-color: var(--platform-rule); }
.issue-family-card:hover { transform: none; box-shadow: none; background: #edf4f0; }
.import-audit-card--governance li { border-left: 3px solid var(--sd-green); border-radius: 0; background: #f1f4f1; }

/* Connexion et pages d’erreur partagent la même signature. */
.login-page { background: var(--sd-bg); }
.login-intro::before,
.login-intro::after { border-radius: 0; transform: rotate(38deg); }
.login-form-panel {
    position: relative;
    background-color: var(--sd-bg);
    background-image: linear-gradient(90deg, rgba(7,31,63,.035) 1px, transparent 1px);
    background-size: 80px 100%;
}
.login-card {
    position: relative;
    padding: 2rem;
    border: 1px solid var(--platform-rule);
    border-top: 5px solid var(--sd-green);
    background: var(--platform-paper);
}
.login-card::after {
    content: "";
    position: absolute;
    top: -5px;
    right: 0;
    width: 30%;
    height: 5px;
    background: linear-gradient(90deg, var(--sd-gold) 0 60%, #c3463e 60%);
}
.login-mtn-logo {
    position: relative;
    width: 156px;
    height: 72px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: .22rem;
}
.login-mtn-logo img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 154px;
    max-width: none;
    transform: translate(-50%, -50%);
}
.login-form-panel .login-mtn-logo { border-color: var(--platform-rule); background: #fff; }

.platform-error-page {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 1.5rem;
    color: var(--sd-ink);
    background: var(--sd-bg);
}
.platform-error-page main {
    position: relative;
    width: min(100%, 560px);
    padding: 2.5rem;
    border: 1px solid var(--platform-rule);
    border-top: 5px solid var(--sd-green);
    background: var(--platform-paper);
}
.platform-error-page main::before { content: ""; position: absolute; top: -5px; right: 0; width: 35%; height: 5px; background: linear-gradient(90deg, var(--sd-gold) 0 60%, #c3463e 60%); }
.platform-error-kicker { color: var(--sd-green-dark); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.platform-error-code { display: block; margin: .7rem 0; color: var(--sd-navy); font-size: clamp(4rem, 14vw, 7rem); line-height: .9; letter-spacing: -.07em; }
.platform-error-page h1 { color: var(--sd-navy); font-size: 1.7rem; }
.platform-error-page p { margin: .75rem 0 1.5rem; color: var(--sd-muted); }

@media (max-width: 767.98px) {
    body { background-size: 48px 100%; }
    .app-main { padding-top: 1rem !important; }
    .page-heading { padding: 1rem; }
    .dashboard-commandbar { margin-top: .6rem; }
    .dashboard-switch { width: 100%; overflow-x: auto; }
    .dashboard-switch a { flex: 1 0 auto; text-align: center; }
    .login-card { padding: 1.35rem; }
}

/* Centre de notifications — attention opérationnelle */
.notification-menu { position: relative; }
.notification-trigger {
    position: relative;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    color: var(--sd-navy);
    border: 1px solid var(--platform-rule);
    border-radius: .24rem;
    background: #f7f8f6;
    font-size: 1rem;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}
.notification-trigger::after { display: none; }
.notification-trigger:hover,
.notification-trigger[aria-expanded="true"] { color: #fff; border-color: var(--sd-navy); background: var(--sd-navy); }
.notification-trigger:focus-visible { outline: 3px solid rgba(210,170,24,.34); outline-offset: 2px; }
.notification-count {
    position: absolute;
    top: -7px;
    right: -7px;
    display: grid;
    min-width: 20px;
    height: 20px;
    place-items: center;
    padding: 0 5px;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #bc4038;
    font-size: .56rem;
    font-weight: 850;
    line-height: 1;
}
.notification-popover {
    width: min(390px, calc(100vw - 24px));
    margin-top: .7rem !important;
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--platform-rule-strong);
    border-radius: .32rem;
    background: var(--platform-paper);
    box-shadow: 0 24px 64px rgba(7,31,63,.25);
}
.notification-popover__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem .8rem; border-top: 4px solid var(--sd-green); }
.notification-popover__head div,
.notification-popover__head small,
.notification-popover__head strong { display: block; }
.notification-popover__head small { color: var(--sd-green-dark); font-size: .54rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.notification-popover__head strong { margin-top: .12rem; color: var(--sd-navy); font-size: 1rem; }
.notification-popover__head > span { padding: .3rem .5rem; color: #91332e; background: #f8e8e5; font-size: .58rem; font-weight: 780; }
.notification-popover__metrics { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--platform-rule); background: #f4f3ed; }
.notification-popover__metrics span { padding: .58rem 1rem; color: var(--sd-muted); font-size: .62rem; }
.notification-popover__metrics span + span { border-left: 1px solid var(--platform-rule); }
.notification-popover__metrics b { margin-right: .2rem; color: var(--sd-navy); font-size: .78rem; }
.notification-popover__list { max-height: 360px; overflow-y: auto; }
.notification-preview { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr) 8px; gap: .72rem; align-items: start; padding: .8rem 1rem; color: inherit; border-bottom: 1px solid var(--platform-rule); text-decoration: none; }
.notification-preview:hover { color: inherit; background: #f4f7f4; }
.notification-preview.is-unread { background: #f7fbf8; }
.notification-preview__icon { display: grid; width: 38px; height: 38px; place-items: center; color: var(--sd-blue); background: var(--sd-blue-soft); }
.notification-preview__icon--action { color: var(--sd-green-dark); background: var(--sd-green-soft); }
.notification-preview__icon--alerte { color: #8e302b; background: #f8e8e5; }
.notification-preview__copy,
.notification-preview__copy small,
.notification-preview__copy strong,
.notification-preview__copy em { display: block; min-width: 0; }
.notification-preview__copy small { color: var(--sd-green-dark); font-size: .52rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.notification-preview__copy strong { margin-top: .16rem; overflow: hidden; color: var(--sd-navy); font-size: .68rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.notification-preview__copy em { margin-top: .2rem; color: var(--sd-muted); font-size: .55rem; font-style: normal; }
.notification-unread-dot { width: 7px; height: 7px; margin-top: .38rem; border-radius: 50%; background: #c13d35; box-shadow: 0 0 0 3px rgba(193,61,53,.11); }
.notification-popover__empty { display: flex; min-height: 170px; flex-direction: column; align-items: center; justify-content: center; padding: 1.5rem; text-align: center; }
.notification-popover__empty i { color: var(--sd-green); font-size: 1.6rem; }
.notification-popover__empty strong { margin-top: .55rem; color: var(--sd-navy); font-size: .76rem; }
.notification-popover__empty span { margin-top: .2rem; color: var(--sd-muted); font-size: .62rem; }
.notification-popover__footer { display: flex; align-items: center; justify-content: space-between; padding: .78rem 1rem; color: #fff; background: var(--sd-navy); font-size: .65rem; font-weight: 760; text-decoration: none; }
.notification-popover__footer:hover { color: #fff; background: #0b315f; }

.notification-center-hero { position: relative; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(380px,.75fr); gap: 2rem; align-items: end; overflow: hidden; padding: 2.4rem 2.6rem; color: #fff; border-bottom: 4px solid var(--sd-green); border-radius: .34rem .34rem 0 0; background: linear-gradient(118deg, #071f3f 0%, #0c3d68 64%, #08754a 118%); }
.notification-center-hero::after { position: absolute; right: -90px; bottom: -130px; width: 360px; height: 360px; content: ""; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; box-shadow: 0 0 0 52px rgba(255,255,255,.035), 0 0 0 108px rgba(255,255,255,.025); }
.notification-center-hero__copy { position: relative; z-index: 1; max-width: 750px; }
.notification-center-hero .section-kicker { color: #efd257; }
.notification-center-hero h1 { margin: .75rem 0 .55rem; color: #fff; font-size: clamp(2rem,4vw,3.4rem); font-weight: 820; letter-spacing: -.035em; }
.notification-center-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.75); font-size: .86rem; line-height: 1.65; }
.notification-center-hero__metrics { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(255,255,255,.18); background: rgba(3,22,47,.36); backdrop-filter: blur(10px); }
.notification-center-hero__metrics article { min-width: 0; padding: 1rem; }
.notification-center-hero__metrics article + article { border-left: 1px solid rgba(255,255,255,.17); }
.notification-center-hero__metrics span,
.notification-center-hero__metrics strong { display: block; }
.notification-center-hero__metrics span { color: rgba(255,255,255,.66); font-size: .55rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.notification-center-hero__metrics strong { margin-top: .25rem; color: #fff; font-size: 1.65rem; }
.notification-center-shell { border: 1px solid var(--platform-rule); border-top: 0; background: #f4f2ec; }
.notification-center-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--platform-rule); background: #fff; }
.notification-filter { display: flex; flex-wrap: wrap; gap: .35rem; }
.notification-filter a { display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .75rem; color: var(--sd-muted); border: 1px solid transparent; font-size: .64rem; font-weight: 750; text-decoration: none; }
.notification-filter a:hover { color: var(--sd-navy); background: #f4f3ed; }
.notification-filter a.active { color: #fff; border-color: var(--sd-navy); background: var(--sd-navy); }
.notification-center-list { display: grid; gap: .7rem; padding: 1.15rem; }
.notification-card { position: relative; display: grid; grid-template-columns: 52px minmax(0,1fr) auto; gap: 1rem; align-items: start; padding: 1.15rem; border: 1px solid var(--platform-rule); border-left: 4px solid #7c8b96; background: var(--platform-paper); box-shadow: 0 7px 18px rgba(7,31,63,.045); }
.notification-card--action { border-left-color: var(--sd-green); }
.notification-card--alerte { border-left-color: #bb443c; }
.notification-card.is-unread { border-top-color: #aebbb4; background: #fff; box-shadow: 0 10px 26px rgba(7,31,63,.08); }
.notification-card__icon { display: grid; width: 52px; height: 52px; place-items: center; color: var(--sd-navy); background: #edf1f3; font-size: 1.15rem; }
.notification-card--action .notification-card__icon { color: var(--sd-green-dark); background: var(--sd-green-soft); }
.notification-card--alerte .notification-card__icon { color: #9b332e; background: #f9e7e4; }
.notification-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .42rem; }
.notification-category { color: var(--sd-green-dark); font-size: .55rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.notification-priority { padding: .2rem .38rem; color: var(--sd-muted); border: 1px solid var(--platform-rule); font-size: .5rem; font-weight: 800; text-transform: uppercase; }
.notification-priority--critique { color: #8e302b; border-color: #e4b4ae; background: #faece9; }
.notification-priority--haute { color: #735b00; border-color: #e6d287; background: #fff8dc; }
.notification-card__meta time { color: var(--sd-muted); font-size: .56rem; }
.notification-new { padding: .2rem .38rem; color: #fff; background: #bb4038; font-size: .48rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.notification-card__body h2 { margin: .42rem 0 .25rem; color: var(--sd-navy); font-size: .9rem; font-weight: 790; }
.notification-card__body p { max-width: 900px; margin: 0; color: var(--sd-muted); font-size: .69rem; line-height: 1.55; }
.notification-status { display: inline-flex; align-items: center; gap: .35rem; margin-top: .55rem; color: var(--sd-muted); font-size: .55rem; }
.notification-status i { color: #8ca09a; font-size: .36rem; }
.notification-card.is-unread .notification-status i { color: #bb4038; }
.notification-card__actions { display: flex; min-width: 165px; flex-direction: column; align-items: stretch; gap: .4rem; }
.notification-card__actions form { margin: 0; }
.notification-card__actions .btn { width: 100%; white-space: nowrap; }
.notification-center-empty { display: flex; min-height: 330px; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; text-align: center; border: 1px dashed var(--platform-rule-strong); background: var(--platform-paper); }
.notification-center-empty > span { display: grid; width: 64px; height: 64px; place-items: center; color: var(--sd-green-dark); background: var(--sd-green-soft); font-size: 1.6rem; }
.notification-center-empty h2 { margin: 1rem 0 .35rem; color: var(--sd-navy); font-size: 1rem; }
.notification-center-empty p { max-width: 500px; margin: 0; color: var(--sd-muted); font-size: .72rem; line-height: 1.55; }

@media (max-width: 1199.98px) {
    .notification-center-hero { grid-template-columns: 1fr; }
    .notification-center-hero__metrics { max-width: 620px; }
}
@media (max-width: 767.98px) {
    .notification-trigger { width: 38px; height: 38px; }
    .notification-popover { position: fixed !important; top: 78px !important; right: 12px !important; left: 12px !important; width: auto; transform: none !important; }
    .notification-center-hero { padding: 1.6rem 1.25rem; }
    .notification-center-hero__metrics { grid-template-columns: 1fr; }
    .notification-center-hero__metrics article + article { border-top: 1px solid rgba(255,255,255,.17); border-left: 0; }
    .notification-center-toolbar { align-items: stretch; flex-direction: column; }
    .notification-filter { display: grid; grid-template-columns: 1fr 1fr; }
    .notification-filter a { justify-content: center; }
    .notification-card { grid-template-columns: 42px minmax(0,1fr); padding: .95rem; }
    .notification-card__icon { width: 42px; height: 42px; }
    .notification-card__actions { grid-column: 1 / -1; display: grid; min-width: 0; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Identité multi-ministères : socle national stable, accent institutionnel borné. */
.ministry-logo-mark {
    position: relative;
    display: inline-flex;
    flex: 0 0 128px;
    width: 128px;
    height: 58px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #d9dfdc;
    border-bottom: 3px solid var(--ministry-primary, var(--sd-green));
    border-radius: .22rem;
    background: #fff;
}
.ministry-logo-mark::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -3px;
    width: 30%;
    height: 3px;
    background: var(--ministry-secondary, var(--sd-gold));
}
.ministry-logo-mark img { display: block; width: 100%; height: 100%; padding: .2rem .35rem; object-fit: contain; }
.ministry-logo-mark--mtn img { padding: 0; transform: scale(1.72); }
.ministry-logo-monogram { color: var(--ministry-primary, var(--sd-green)); font-size: 1.15rem; letter-spacing: .08em; }
.national-platform-mark { flex-direction: column; gap: .25rem; color: var(--sd-navy); }
.national-platform-mark .senegal-flag { width: 42px; height: 28px; }
.national-platform-mark b { font-size: 1rem; letter-spacing: .1em; }
.brand-copy > small,
.brand-copy > strong span { color: var(--ministry-primary, var(--sd-green)); }
.scope-live { background: var(--ministry-secondary, #55d9a2); }

.login-intro {
    background-image:
        radial-gradient(circle at 82% 22%, rgba(60,151,210,.28), transparent 27%),
        linear-gradient(118deg, rgba(3,22,58,.99), rgba(3,42,86,.96) 64%, rgba(5,89,54,.84));
}
.home-command.is-national-context,
.mtn-dashboard-hero.is-national-context {
    background-image:
        radial-gradient(circle at 78% 24%, rgba(67,153,211,.23), transparent 24%),
        linear-gradient(112deg, rgba(3,22,58,.99), rgba(4,47,96,.97) 62%, rgba(5,89,54,.88));
}
.home-command.is-national-context::before,
.mtn-dashboard-hero.is-national-context::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(30deg, transparent 48%, rgba(255,255,255,.14) 49% 50%, transparent 51%),
        linear-gradient(150deg, transparent 48%, rgba(255,255,255,.1) 49% 50%, transparent 51%);
    background-size: 120px 120px;
}
.login-platform-logo {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    padding: .55rem .75rem;
    color: var(--sd-navy);
    border: 1px solid rgba(255,255,255,.3);
    border-radius: .22rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(0,15,45,.24);
}
.login-platform-logo > span:last-child small,
.login-platform-logo > span:last-child strong { display: block; }
.login-platform-logo > span:last-child small { color: var(--sd-green-dark); font-size: .52rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.login-platform-logo > span:last-child strong { margin-top: .08rem; color: var(--sd-navy); font-size: 1rem; letter-spacing: -.025em; }
.login-national-mark { display: grid; min-width: 45px; place-items: center; gap: .18rem; padding-right: .65rem; border-right: 1px solid var(--platform-rule); }
.login-national-mark .senegal-flag { width: 36px; height: 24px; }
.login-national-mark b { font-size: .8rem; letter-spacing: .09em; }

/* Console d'identité institutionnelle. */
.branding-governance {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    gap: .8rem;
    margin-bottom: 1.3rem;
    padding: 1rem 1.15rem;
    border: 1px solid var(--platform-rule);
    border-left: 4px solid var(--sd-navy);
    background: var(--platform-paper);
}
.branding-governance > div { display: flex; align-items: center; gap: .65rem; opacity: .56; }
.branding-governance > div.is-current { opacity: 1; }
.branding-governance > div > span { display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; color: #fff; background: var(--sd-navy); font-size: .7rem; font-weight: 800; }
.branding-governance .is-current > span { background: var(--ministry-primary, var(--sd-green)); }
.branding-governance p,
.branding-governance strong,
.branding-governance small { display: block; margin: 0; }
.branding-governance strong { color: var(--sd-navy); font-size: .75rem; }
.branding-governance small { margin-top: .12rem; color: var(--sd-muted); font-size: .62rem !important; }
.branding-governance > i { color: var(--platform-rule-strong); }

.branding-state { display: inline-flex; align-items: center; gap: .4rem; padding: .32rem .48rem; border: 1px solid var(--platform-rule); color: var(--sd-muted); background: #f6f7f4; font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.branding-state i { width: 7px; height: 7px; border-radius: 50%; background: #8b9791; }
.branding-state.is-published { color: #08613f; border-color: #acd4c2; background: #edf7f2; }
.branding-state.is-published i { background: #11935e; }
.branding-state.is-review { color: #755b00; border-color: #dfca7a; background: #fff9df; }
.branding-state.is-review i { background: var(--sd-gold); }

.branding-preview { position: relative; display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 1.25rem; align-items: center; min-height: 150px; padding: 1.4rem; overflow: hidden; background: #f8faf8; }
.branding-preview::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 6px; background: linear-gradient(180deg, var(--preview-primary) 0 72%, var(--preview-secondary) 72%); }
.branding-preview-logo { display: grid; min-height: 90px; place-items: center; padding: .65rem; border: 1px solid var(--platform-rule); background: #fff; }
.branding-preview-logo img { display: block; width: 100%; max-height: 86px; object-fit: contain; }
.branding-monogram { color: var(--preview-primary); font-size: 1.5rem; font-weight: 850; letter-spacing: .1em; }
.branding-preview > div:last-child small,
.branding-preview > div:last-child strong,
.branding-preview > div:last-child span { display: block; }
.branding-preview > div:last-child small { color: var(--preview-primary); font-size: .6rem !important; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.branding-preview > div:last-child strong { margin: .35rem 0; color: var(--sd-navy); font-size: 1rem; }
.branding-preview > div:last-child span { color: var(--sd-muted); font-size: .68rem; }
.branding-preview--draft { background-image: repeating-linear-gradient(135deg, transparent 0 12px, rgba(7,31,63,.025) 12px 24px); }
.branding-meta { display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center; padding: .85rem 1.2rem; border-top: 1px solid var(--platform-rule); }
.branding-meta > div { min-width: 150px; }
.branding-meta small,
.branding-meta strong { display: block; }
.branding-meta small { color: var(--sd-muted); font-size: .58rem !important; text-transform: uppercase; }
.branding-meta strong { margin-top: .15rem; color: var(--sd-ink); font-size: .68rem; }
.branding-meta form { margin-left: auto; }
.branding-swatches { display: flex; gap: .3rem; margin-top: .25rem; }
.branding-swatches i { display: block; width: 32px; height: 9px; border: 1px solid rgba(0,0,0,.08); }
.branding-review-actions { display: flex; justify-content: flex-end; gap: .65rem; padding: .9rem 1.15rem; border-top: 1px solid var(--platform-rule); }
.branding-review-actions form { margin: 0; }

.branding-file-drop { display: grid; min-height: 170px; place-items: center; padding: 1.2rem; border: 1px dashed var(--platform-rule-strong); background: #f8faf8; text-align: center; cursor: pointer; }
.branding-file-drop:hover { border-color: var(--ministry-primary, var(--sd-green)); background: var(--sd-green-soft); }
.branding-file-drop > i { color: var(--ministry-primary, var(--sd-green)); font-size: 1.7rem; }
.branding-file-drop strong { color: var(--sd-navy); font-size: .8rem; }
.branding-file-drop span { color: var(--sd-muted); font-size: .65rem; line-height: 1.5; }
.branding-file-drop input { width: 100%; margin-top: .65rem; color: var(--sd-muted); font-size: .65rem; }
.branding-upload-form .form-control-color { height: 42px; padding: .25rem; }
.branding-rules { margin-top: 1.2rem; padding: .85rem; border-left: 3px solid var(--ministry-primary, var(--sd-green)); background: var(--sd-green-soft); }
.branding-rules strong { color: var(--sd-green-dark); font-size: .7rem; }
.branding-rules ul { margin: .55rem 0 0; padding-left: 1.15rem; color: var(--sd-muted); font-size: .64rem; line-height: 1.65; }

@media (max-width: 1199.98px) {
    .ministry-logo-mark { flex-basis: 86px; width: 86px; height: 46px; }
}
@media (max-width: 767.98px) {
    .branding-governance { grid-template-columns: 1fr; }
    .branding-governance > i { display: none; }
    .branding-preview { grid-template-columns: 1fr; }
    .branding-review-actions { flex-direction: column; }
    .branding-review-actions form,
    .branding-review-actions button { width: 100%; }
}
@media (max-width: 575.98px) {
    .ministry-logo-mark { flex-basis: 65px; width: 65px; height: 38px; }
    .ministry-logo-monogram { font-size: .75rem; }
}
@media (max-width: 389.98px) {
    .ministry-logo-mark { flex-basis: 58px; width: 58px; }
}

/* Socle UX : retours homogènes, confirmations gouvernées et formulaires sûrs. */
.app-toast-region {
    position: fixed;
    z-index: 1090;
    top: 116px;
    right: clamp(.75rem, 2vw, 1.5rem);
    width: min(420px, calc(100vw - 1.5rem));
    pointer-events: none;
}
.app-toast {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 24px;
    gap: .75rem;
    align-items: start;
    width: 100%;
    padding: .85rem;
    pointer-events: auto;
    color: var(--sd-ink);
    border: 1px solid var(--platform-rule);
    border-left: 5px solid var(--sd-blue);
    border-radius: .28rem;
    background: var(--platform-paper);
    box-shadow: 0 18px 44px rgba(7,31,63,.2);
}
.app-toast__icon { display: grid; width: 42px; height: 42px; place-items: center; color: var(--sd-blue); background: var(--sd-blue-soft); font-size: 1.05rem; }
.app-toast__content strong,
.app-toast__content p { display: block; margin: 0; }
.app-toast__content strong { color: var(--sd-navy); font-size: .76rem; }
.app-toast__content p { margin-top: .2rem; color: var(--sd-muted); font-size: .7rem; line-height: 1.45; }
.app-toast .btn-close { margin-top: .15rem; font-size: .65rem; }
.app-toast--success { border-left-color: var(--sd-green); }
.app-toast--success .app-toast__icon { color: var(--sd-green-dark); background: var(--sd-green-soft); }
.app-toast--warning { border-left-color: var(--sd-gold); }
.app-toast--warning .app-toast__icon { color: #755b00; background: #fff5cc; }
.app-toast--danger { border-left-color: #b34139; }
.app-toast--danger .app-toast__icon { color: #9b302c; background: #fae7e4; }

.app-confirm-modal .modal-dialog { width: min(92vw, 520px); }
.app-confirm-modal .modal-content { overflow: hidden; border: 1px solid var(--platform-rule-strong); border-radius: .34rem; box-shadow: 0 28px 80px rgba(7,31,63,.28); }
.app-confirm-modal__header { display: grid; grid-template-columns: 48px minmax(0,1fr) 28px; gap: .85rem; align-items: center; padding: 1.15rem 1.25rem; border-bottom: 1px solid var(--platform-rule); background: var(--platform-paper); }
.app-confirm-modal__icon { display: grid; width: 48px; height: 48px; place-items: center; color: #fff; background: var(--sd-navy); font-size: 1.12rem; }
.app-confirm-modal__header small,
.app-confirm-modal__header h2 { display: block; margin: 0; }
.app-confirm-modal__header small { color: var(--sd-green-dark); font-size: .58rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.app-confirm-modal__header h2 { margin-top: .18rem; color: var(--sd-navy); font-size: 1.05rem; font-weight: 780; }
.app-confirm-modal .modal-body { padding: 1.2rem 1.25rem; background: #fbfaf6; }
.app-confirm-modal .modal-body > p { margin: 0; color: var(--sd-ink); font-size: .78rem; line-height: 1.55; }
.app-confirm-modal__detail { margin-top: .85rem; padding: .75rem .85rem; color: var(--sd-muted); border-left: 3px solid var(--sd-gold); background: #f4f1e8; font-size: .68rem; line-height: 1.5; }
.app-confirm-modal .modal-footer { padding: .85rem 1.25rem; border-top: 1px solid var(--platform-rule); background: #fff; }
.app-confirm-modal .modal-footer .btn { min-width: 122px; }
.app-confirm-modal--danger .app-confirm-modal__icon { background: #a33732; }
.app-confirm-modal--danger .app-confirm-modal__header small { color: #a33732; }
.app-confirm-modal--warning .app-confirm-modal__icon { color: var(--sd-navy); background: var(--sd-gold); }
.app-confirm-action { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; }

.app-unsaved-indicator {
    position: fixed;
    z-index: 1045;
    right: 1.25rem;
    bottom: 1.1rem;
    display: flex;
    max-width: 330px;
    align-items: center;
    gap: .7rem;
    padding: .68rem .85rem;
    color: #fff;
    border-left: 4px solid var(--sd-gold);
    background: var(--sd-navy);
    box-shadow: 0 14px 35px rgba(7,31,63,.22);
}
.app-unsaved-indicator[hidden] { display: none !important; }
.app-unsaved-indicator > i { color: #f2d15b; font-size: 1.05rem; }
.app-unsaved-indicator span,
.app-unsaved-indicator strong,
.app-unsaved-indicator small { display: block; }
.app-unsaved-indicator strong { font-size: .68rem; }
.app-unsaved-indicator small { margin-top: .1rem; color: rgba(255,255,255,.7); font-size: .58rem !important; }

form.is-submitting { cursor: progress; }
form.is-submitting button[type="submit"] { cursor: wait; }
form.is-submitting button[type="submit"] .spinner-border { margin-right: .45rem; }

@media (max-width: 767.98px) {
    .app-toast-region { top: 96px; right: .75rem; }
    .app-confirm-modal__header { grid-template-columns: 42px minmax(0,1fr) 24px; padding: 1rem; }
    .app-confirm-modal__icon { width: 42px; height: 42px; }
    .app-confirm-modal .modal-footer { display: grid; grid-template-columns: 1fr 1fr; }
    .app-confirm-modal .modal-footer .btn { min-width: 0; }
    .app-unsaved-indicator { right: .75rem; bottom: .75rem; left: .75rem; max-width: none; }
}

/* Préférences e-mail et supervision — canal externe gouverné */
.notification-preferences { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr); margin-top:1.2rem; border-top:3px solid var(--sd-navy); background:var(--platform-paper); box-shadow:0 10px 30px rgba(7,31,63,.05); }
.notification-preferences__intro { padding:2rem; border-right:1px solid var(--platform-rule); background:linear-gradient(150deg,#f7f5ef,#eef2ee); }
.notification-preferences__intro h2 { margin:.65rem 0 .45rem; color:var(--sd-navy); font-size:1.25rem; }
.notification-preferences__intro > p { color:var(--sd-muted); font-size:.73rem; line-height:1.65; }
.notification-preferences__principle { display:flex; gap:.75rem; margin:1.25rem 0; padding:.85rem; border-left:3px solid var(--sd-green); background:#fff; }
.notification-preferences__principle > i { color:var(--sd-green-dark); font-size:1.15rem; }
.notification-preferences__principle span,.notification-preferences__principle strong { display:block; }
.notification-preferences__principle span { color:var(--sd-muted); font-size:.64rem; line-height:1.5; }
.notification-preferences__principle strong { margin-bottom:.15rem; color:var(--sd-navy); font-size:.7rem; }
.notification-preferences__form { display:grid; gap:1rem; padding:1.65rem 2rem; }
.notification-preferences__policy-lock { grid-template-columns:auto 1fr; align-content:center; align-items:start; min-height:260px; background:#fbfaf6; }
.notification-preferences__policy-lock > i { display:grid; width:48px; height:48px; place-items:center; border:1px solid #b9d8cb; color:var(--sd-green-dark); background:#eaf4ef; font-size:1.3rem; }
.notification-preferences__policy-lock h3 { margin:.45rem 0 .55rem; color:var(--sd-navy); font-size:1.15rem; }
.notification-preferences__policy-lock p { max-width:560px; margin:0; color:var(--sd-muted); font-size:.72rem; line-height:1.65; }
.preference-switch { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid var(--platform-rule); background:#fff; cursor:pointer; }
.preference-switch strong,.preference-switch small { display:block; }
.preference-switch strong { color:var(--sd-navy); font-size:.75rem; }
.preference-switch small { margin-top:.16rem; color:var(--sd-muted); font-size:.61rem; }
.preference-switch input { position:relative; width:42px; min-width:42px; height:22px; appearance:none; border:1px solid #aab6b1; border-radius:22px; background:#dfe4e1; transition:.18s ease; }
.preference-switch input::after { position:absolute; top:2px; left:2px; width:16px; height:16px; content:""; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.22); transition:.18s ease; }
.preference-switch input:checked { border-color:var(--sd-green); background:var(--sd-green); }
.preference-switch input:checked::after { transform:translateX(20px); }
.preference-grid { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.preference-switch--compact { min-height:84px; padding:.8rem; }
.quiet-hours { display:flex; align-items:center; gap:.55rem; }
.quiet-hours .form-control { min-width:0; }
.quiet-hours > span { color:var(--sd-muted); font-size:.7rem; }
.notification-preferences .form-label span { color:var(--sd-muted); font-weight:500; }
.notification-preferences__footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:.4rem; border-top:1px solid var(--platform-rule); }
.notification-preferences__footer > span { display:flex; gap:.45rem; max-width:420px; color:var(--sd-muted); font-size:.62rem; }
.email-ops-hero { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:2rem; align-items:end; padding:2rem 2.2rem; color:#fff; border-bottom:4px solid var(--sd-green); background:linear-gradient(120deg,#071f3f 0%,#0b345b 68%,#096440 125%); }
.email-ops-back { display:inline-flex; gap:.4rem; align-items:center; margin-bottom:1.4rem; color:rgba(255,255,255,.72); font-size:.66rem; text-decoration:none; }
.email-ops-back:hover { color:#fff; }
.email-ops-hero .section-kicker { color:#efd257; }
.email-ops-hero h1 { margin:.55rem 0 .4rem; color:#fff; font-size:clamp(1.9rem,3.5vw,3.1rem); letter-spacing:-.035em; }
.email-ops-hero > div > p { max-width:760px; margin:0; color:rgba(255,255,255,.73); font-size:.76rem; line-height:1.65; }
.email-mode-card { padding:1.15rem; border:1px solid rgba(255,255,255,.2); background:rgba(3,20,43,.48); }
.email-mode-card > span { color:rgba(255,255,255,.55); font-size:.55rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.email-mode-card strong { display:flex; gap:.55rem; align-items:center; margin:.45rem 0; color:#fff; font-size:1rem; }
.email-mode-card strong i { color:#efd257; }
.email-mode-card p { margin:0; color:rgba(255,255,255,.65); font-size:.62rem; line-height:1.5; }
.email-ops-metrics { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--platform-rule); border-top:0; background:#fff; }
.email-ops-metrics article { display:flex; gap:.85rem; align-items:center; min-width:0; padding:1.15rem 1.25rem; }
.email-ops-metrics article + article { border-left:1px solid var(--platform-rule); }
.email-ops-metrics .metric-icon { display:grid; width:38px; min-width:38px; height:38px; place-items:center; color:var(--sd-navy); background:#eaf0f4; }
.email-ops-metrics .metric-icon.is-warning { color:#8b6200; background:#fff4cf; }
.email-ops-metrics .metric-icon.is-danger { color:#a83d35; background:#fff0ed; }
.email-ops-metrics .metric-icon.is-success { color:var(--sd-green-dark); background:var(--sd-green-soft); }
.email-ops-metrics strong,.email-ops-metrics span,.email-ops-metrics small { display:block; }
.email-ops-metrics strong { color:var(--sd-navy); font-size:1.35rem; line-height:1; }
.email-ops-metrics span { margin-top:.2rem; color:var(--sd-text); font-size:.65rem; font-weight:750; }
.email-ops-metrics small { color:var(--sd-muted); font-size:.55rem; }
.email-ops-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr); gap:1rem; margin-top:1rem; }
.email-ops-panel { min-width:0; border:1px solid var(--platform-rule); border-top:3px solid var(--sd-navy); background:#fff; }
.email-ops-panel .table-responsive { max-width:100%; }
.email-ops-panel > header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; border-bottom:1px solid var(--platform-rule); }
.email-ops-panel > header span,.email-ops-panel > header h2 { display:block; margin:0; }
.email-ops-panel > header div > span { color:var(--sd-green-dark); font-size:.53rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.email-ops-panel > header h2 { margin-top:.18rem; color:var(--sd-navy); font-size:.92rem; }
.email-live { display:inline-flex !important; gap:.35rem; align-items:center; color:var(--sd-muted); font-size:.58rem; }
.email-live i,.email-status i { width:6px; height:6px; border-radius:50%; background:var(--sd-green); }
.email-ops-table { margin:0; font-size:.66rem; }
.email-ops-table td > strong,.email-ops-table td > small { display:block; }
.email-ops-table td > small { margin-top:.15rem; color:var(--sd-muted); font-size:.56rem; }
.email-template-code { color:var(--sd-navy); font-size:.58rem; font-weight:780; }
.email-status { display:inline-flex; gap:.38rem; align-items:center; font-size:.56rem; font-weight:800; letter-spacing:.04em; }
.email-status--echec_temporaire i { background:#d49a19; }
.email-status--echec_definitif i,.email-status--annule i { background:#bd4438; }
.email-status--en_attente i,.email-status--en_cours i { background:#1d6fa4; }
.email-error { max-width:230px; color:#a83d35 !important; }
.email-empty { display:flex; min-height:230px; flex-direction:column; align-items:center; justify-content:center; color:var(--sd-muted); text-align:center; }
.email-empty i { margin-bottom:.55rem; color:#8ba09a; font-size:1.7rem; }
.email-empty strong { color:var(--sd-navy); font-size:.72rem; }
.email-empty span { margin-top:.25rem; font-size:.6rem; }
.email-template-list { display:grid; }
.email-template-list article { display:grid; grid-template-columns:1fr auto; gap:.3rem .5rem; padding:1rem 1.15rem; border-bottom:1px solid var(--platform-rule); }
.email-template-list article div strong,.email-template-list article div span { display:block; }
.email-template-list article div strong { color:var(--sd-navy); font-size:.61rem; }
.email-template-list article div span { color:var(--sd-muted); font-size:.55rem; }
.email-template-list article > span { align-self:start; padding:.12rem .34rem; color:var(--sd-muted); background:#edf0ee; font-size:.5rem; font-weight:800; text-transform:uppercase; }
.email-template-list article > span.is-active { color:var(--sd-green-dark); background:var(--sd-green-soft); }
.email-template-list article p { grid-column:1/-1; margin:.35rem 0 0; color:var(--sd-muted); font-size:.58rem; line-height:1.45; }
.email-template-preview { grid-column:1/-1; padding:.6rem .7rem; border-left:2px solid var(--sd-green); background:#f4f6f3; }
.email-template-preview span { color:var(--sd-muted) !important; font-size:.5rem !important; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.email-template-preview strong { margin-top:.2rem; color:var(--sd-ink) !important; font-size:.58rem !important; font-weight:650 !important; line-height:1.45; }
.email-ops-note { display:flex; gap:.7rem; margin:1rem; padding:.8rem; border-left:3px solid var(--sd-green); background:#f3f6f3; }
.email-ops-note i { color:var(--sd-green-dark); }
.email-ops-note p,.email-ops-note strong,.email-ops-note span { display:block; margin:0; }
.email-ops-note strong { color:var(--sd-navy); font-size:.65rem; }
.email-ops-note span { margin-top:.15rem; color:var(--sd-muted); font-size:.55rem; line-height:1.45; }
@media (max-width:1100px) {
    .notification-preferences,.email-ops-grid { grid-template-columns:1fr; }
    .notification-preferences__intro { border-right:0; border-bottom:1px solid var(--platform-rule); }
    .email-ops-metrics { grid-template-columns:repeat(2,1fr); }
    .email-ops-metrics article:nth-child(3) { border-top:1px solid var(--platform-rule); border-left:0; }
    .email-ops-metrics article:nth-child(4) { border-top:1px solid var(--platform-rule); }
}
@media (max-width:760px) {
    .email-ops-hero { grid-template-columns:1fr; padding:1.5rem 1.2rem; }
    .email-ops-metrics,.preference-grid { grid-template-columns:1fr; }
    .email-ops-metrics article + article { border-top:1px solid var(--platform-rule); border-left:0; }
    .notification-preferences__form,.notification-preferences__intro { padding:1.25rem; }
    .notification-preferences__footer { align-items:stretch; flex-direction:column; }
}

/* Organisation & habilitations — atelier maître */
.org-breadcrumb { display:flex; gap:.45rem; align-items:center; margin:0 0 .65rem; color:var(--sd-muted); font-size:.56rem; font-weight:700; }
.org-breadcrumb a { color:var(--sd-green-dark); text-decoration:none; }
.org-breadcrumb i { font-size:.48rem; }
.org-workbench-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.5rem; align-items:center; padding:1.35rem 1.5rem; border:1px solid #c9d3cf; border-top:4px solid var(--sd-navy); background:#fff; }
.org-workbench-label { display:inline-flex; gap:.4rem; align-items:center; color:var(--sd-green-dark); font-size:.53rem; font-weight:830; letter-spacing:.1em; text-transform:uppercase; }
.org-workbench-head h1 { margin:.35rem 0 .28rem; color:var(--sd-navy); font-size:1.72rem; font-weight:790; letter-spacing:-.035em; }
.org-workbench-head p { max-width:780px; margin:0; color:var(--sd-muted); font-size:.68rem; line-height:1.55; }
.org-workbench-head__actions { display:flex; gap:.5rem; flex-wrap:wrap; justify-content:flex-end; }
.org-control-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem 1rem; border:1px solid #c9d3cf; border-top:0; background:#f5f7f5; }
.org-control-bar__scope form { display:flex; gap:.65rem; align-items:center; margin:0; }
.org-control-bar__scope label,.org-control-bar__scope small { display:block; margin:0; color:var(--sd-muted); font-size:.5rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.org-control-bar__scope .form-select { width:min(420px,42vw); min-height:34px; padding-top:.25rem; padding-bottom:.25rem; font-size:.62rem; }
.org-control-bar__scope strong { display:block; margin-top:.12rem; color:var(--sd-navy); font-size:.66rem; }
.org-control-bar__state { display:flex; gap:.55rem; align-items:center; font-size:.55rem; }
.org-control-bar__state span { display:inline-flex; gap:.35rem; align-items:center; color:var(--sd-green-dark); font-weight:750; }
.org-control-bar__state strong { padding:.22rem .45rem; color:#50616a; background:#e6ebea; font-size:.5rem; letter-spacing:.05em; text-transform:uppercase; }
.org-control-bar__state strong.is-attention { color:#765303; background:#fff1c2; }
.org-metric-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid #c9d3cf; border-top:0; background:#fff; }
.org-metric-strip article { position:relative; display:grid; grid-template-columns:1fr auto; gap:.1rem 1rem; padding:.8rem 1rem; }
.org-metric-strip article + article { border-left:1px solid #d9e0dd; }
.org-metric-strip article.is-attention { box-shadow:inset 0 -3px 0 var(--sd-yellow); }
.org-metric-strip small,.org-metric-strip span { grid-column:1; color:var(--sd-muted); }
.org-metric-strip small { font-size:.49rem; font-weight:820; letter-spacing:.07em; text-transform:uppercase; }
.org-metric-strip strong { grid-column:2; grid-row:1 / span 2; align-self:center; color:var(--sd-navy); font-size:1.35rem; line-height:1; }
.org-metric-strip span { font-size:.52rem; }
.org-section-nav { position:sticky; z-index:8; top:98px; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin:.75rem 0; border:1px solid #c9d3cf; border-bottom:3px solid var(--sd-navy); background:#fff; box-shadow:0 7px 18px rgba(7,34,62,.055); }
.org-section-nav a { position:relative; display:grid; grid-template-columns:auto 1fr auto; gap:.55rem; align-items:center; min-width:0; padding:.72rem .85rem; color:var(--sd-muted); font-size:.6rem; font-weight:740; text-decoration:none; }
.org-section-nav a + a { border-left:1px solid var(--platform-rule); }
.org-section-nav a:hover,.org-section-nav a.is-active { color:var(--sd-navy); background:#edf4f0; }
.org-section-nav a.is-active::after { content:""; position:absolute; right:0; bottom:-3px; left:0; height:3px; background:var(--sd-green); }
.org-section-nav i { color:var(--sd-green-dark); font-size:.9rem; }
.org-section-nav b { display:grid; min-width:24px; height:24px; padding:0 .3rem; place-items:center; color:var(--sd-navy); background:#edf1f2; font-size:.55rem; }
.org-doctrine { display:grid; grid-template-columns:1.15fr repeat(3,1fr); margin-bottom:.75rem; border:1px solid #c9d3cf; background:#f8f9f7; }
.org-doctrine header { padding:.85rem 1rem; color:#fff; background:var(--sd-navy); }
.org-doctrine header span,.org-doctrine header strong { display:block; }
.org-doctrine header span { color:#7fc9aa; font-size:.49rem; font-weight:820; letter-spacing:.09em; text-transform:uppercase; }
.org-doctrine header strong { margin-top:.3rem; font-size:.65rem; line-height:1.4; }
.org-doctrine article { display:flex; gap:.65rem; padding:.8rem .9rem; }
.org-doctrine article + article { border-left:1px solid var(--platform-rule); }
.org-doctrine article > i { display:grid; width:30px; min-width:30px; height:30px; place-items:center; color:var(--sd-green-dark); border:1px solid #c9d8d1; background:#fff; }
.org-doctrine strong,.org-doctrine span { display:block; }
.org-doctrine strong { color:var(--sd-navy); font-size:.6rem; }
.org-doctrine span { margin-top:.16rem; color:var(--sd-muted); font-size:.52rem; line-height:1.45; }
.org-domain { margin-top:.75rem; scroll-margin-top:170px; border:1px solid #c9d3cf; background:#fff; box-shadow:0 5px 14px rgba(7,34,62,.035); }
.org-domain__header { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; border-bottom:1px solid var(--platform-rule); border-left:4px solid var(--sd-green); background:#fbfcfa; }
.org-domain__header > div > span { color:var(--sd-green-dark); font-size:.53rem; font-weight:820; letter-spacing:.1em; text-transform:uppercase; }
.org-domain__header h2 { margin:.22rem 0 .15rem; color:var(--sd-navy); font-size:1.15rem; letter-spacing:-.025em; }
.org-domain__header p { margin:0; color:var(--sd-muted); font-size:.62rem; }
.org-table-shell {
    min-width:0;
    overflow-x:auto;
    scrollbar-width:thin;
    scrollbar-color:#8da39a #edf1ef;
}
.org-table-shell::-webkit-scrollbar { height:7px; }
.org-table-shell::-webkit-scrollbar-track { background:#edf1ef; }
.org-table-shell::-webkit-scrollbar-thumb { border:2px solid #edf1ef; background:#8da39a; }
.org-table-shell .dt-container > .row {
    --bs-gutter-x:0;
    margin-right:0;
    margin-left:0;
}
.org-table-shell .dt-container > .row:not(.dt-layout-table) {
    gap:.5rem;
    align-items:center;
    padding:.48rem 1.1rem;
}
.org-table-shell .dt-container > .row:not(.dt-layout-table) > .dt-layout-cell { padding-right:0; padding-left:0; }
.org-table-shell .dt-container > .dt-layout-table { margin-top:0 !important; }
.org-table-shell .dt-container > .dt-layout-table > .dt-layout-full { padding:0; }
.org-table-shell .dt-search,.org-table-shell .dt-length { margin:0; }
.org-table-shell .dt-search input { min-width:160px; }
.org-table { width:100% !important; margin:0; font-size:.64rem; }
.org-table > :not(caption) > * > * { padding:.8rem .9rem; vertical-align:middle; }
.org-table td strong,.org-table td small,.org-table td span { display:block; }
.org-table td small { margin-top:.15rem; color:var(--sd-muted); font-size:.54rem; }
.org-table .reference-code { margin-bottom:.22rem; color:var(--sd-green-dark); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.55rem; font-weight:800; letter-spacing:.03em; }
.org-row-actions { display:flex; gap:.3rem; align-items:center; justify-content:flex-end; }
.org-row-actions form { margin:0; }
.org-row-actions .btn { white-space:nowrap; }
.org-row-actions .btn span { display:inline; }
.org-authority { display:inline-block !important; width:max-content; padding:.18rem .38rem; color:var(--sd-navy); border:1px solid #d4dcdf; background:#f5f7f7; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.55rem; font-weight:800; }
.reference-status { display:inline-block !important; width:max-content; padding:.18rem .4rem; color:#725108; background:#fff3cc; font-size:.52rem; font-weight:820; letter-spacing:.04em; text-transform:uppercase; }
.reference-status--confirmee { color:#086141; background:#e3f2eb; }
.reference-status--a_confirmer { color:#9b3f34; background:#fae8e5; }
.org-account-state,.org-link-state,.org-control-ok { display:inline-flex !important; gap:.35rem; align-items:center; width:max-content; color:var(--sd-muted); font-size:.56rem; font-weight:720; }
.org-account-state.is-ready,.org-control-ok { color:var(--sd-green-dark); }
.org-account-state.is-disabled,.org-link-state.is-warning { color:#8c6307; }
.org-domain--versions { background:#f7f7f3; }
.org-domain--versions > .row { align-items:stretch !important; margin:0; padding:1rem .25rem; }
.org-domain--versions > .row > [class*="col-"] { display:flex; }
.org-domain--versions .org-import-card,.org-domain--versions .org-version-list { width:100%; }
.org-import-card { display:grid; gap:1rem; padding:1.35rem; border:1px solid #bfcac5; border-top:3px solid var(--sd-green); background:#fff; }
.org-import-card__icon { display:grid; width:48px; height:48px; place-items:center; color:var(--sd-green-dark); border:1px solid #c8d8d0; background:var(--sd-green-soft); font-size:1.25rem; }
.org-import-card small { color:var(--sd-green-dark); font-size:.52rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.org-import-card h3 { margin:.2rem 0; color:var(--sd-navy); font-size:1rem; }
.org-import-card p { margin:0; color:var(--sd-muted); font-size:.59rem; line-height:1.55; }
.org-file-picker { display:flex; gap:.55rem; align-items:center; min-width:0; padding:.75rem; cursor:pointer; color:var(--sd-navy); border:1px dashed #aebdb6; background:#f7f9f7; font-size:.59rem; font-weight:700; }
.org-file-picker span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.org-file-picker input { position:absolute; width:1px; height:1px; opacity:0; }
.org-version-list { border:1px solid var(--platform-rule); background:#fff; }
.org-version { display:grid; grid-template-columns:50px minmax(0,1fr) auto auto auto; gap:.75rem; align-items:center; padding:.85rem 1rem; color:inherit; text-decoration:none; }
.org-version + .org-version { border-top:1px solid var(--platform-rule); }
.org-version:hover,.org-version.is-selected { background:#f1f6f3; }
.org-version.is-selected { box-shadow:inset 3px 0 0 var(--sd-green); }
.org-version__number { display:grid; height:38px; place-items:center; color:var(--sd-navy); border:1px solid #ccd5d7; background:#f3f6f7; font-family:Georgia,"Times New Roman",serif; font-size:.78rem; font-weight:800; }
.org-version__copy strong,.org-version__copy small,.org-version__delta b,.org-version__delta small { display:block; }
.org-version__copy strong { color:var(--sd-navy); font-size:.65rem; }
.org-version__copy small,.org-version__delta small { margin-top:.15rem; color:var(--sd-muted); font-size:.52rem; }
.org-version__delta { min-width:64px; text-align:right; }
.org-version__delta b { color:var(--sd-green-dark); font-size:.66rem; }
.org-version__status { display:inline-flex; align-items:center; width:max-content; padding:.22rem .42rem; color:#4d5d66; background:#edf0f1; font-size:.5rem; font-weight:820; letter-spacing:.05em; text-transform:uppercase; }
.org-version__status--a_valider { color:#765303; background:#fff1c2; }
.org-version__status--publiee { color:#075e40; background:#dff1e9; }
.org-version__status--rejetee { color:#96392f; background:#fae7e4; }
.org-review { margin-top:1rem; border:1px solid var(--platform-rule); border-top:3px solid var(--sd-green); background:#fff; }
.org-review > header { display:flex; align-items:start; justify-content:space-between; gap:1rem; padding:1.2rem 1.3rem; border-bottom:1px solid var(--platform-rule); }
.org-review > header span:first-child { color:var(--sd-green-dark); font-size:.52rem; font-weight:820; letter-spacing:.08em; text-transform:uppercase; }
.org-review h3 { margin:.25rem 0 .15rem; color:var(--sd-navy); font-size:1rem; }
.org-review header p { margin:0; color:var(--sd-muted); font-size:.58rem; }
.org-review__summary { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--platform-rule); background:#f7f8f5; }
.org-review__summary span { padding:.75rem 1rem; color:var(--sd-muted); font-size:.55rem; }
.org-review__summary span + span { border-left:1px solid var(--platform-rule); }
.org-review__summary b { margin-right:.25rem; color:var(--sd-navy); font-size:.75rem; }
.org-review__summary .is-danger,.org-review__summary .is-danger b { color:#a13b31; }
.org-operation { display:inline-block !important; width:max-content; padding:.18rem .4rem; color:#386179; background:#e9f1f5; font-size:.51rem; font-weight:820; }
.org-operation--ajout { color:#075e40; background:#dff1e9; }
.org-operation--erreur { color:#96392f; background:#fae7e4; }
.org-control-list { max-width:620px; margin:0; padding-left:1rem; color:#6f5c27; font-size:.55rem; line-height:1.55; }
.org-control-list .is-blocking { color:#9b3e34; }
.org-review__actions { display:flex; gap:.65rem; align-items:center; justify-content:flex-end; flex-wrap:wrap; padding:1rem 1.2rem; border-top:1px solid var(--platform-rule); }
.org-review__actions form { display:flex; gap:.5rem; align-items:center; margin:0; }
.org-review__actions .form-control { min-width:260px; }
.org-four-eyes { display:flex; gap:.6rem; align-items:center; margin-right:auto; max-width:430px; padding:.6rem .75rem; color:var(--sd-green-dark); border-left:3px solid var(--sd-green); background:#edf6f1; }
.org-four-eyes.is-blocked { color:#8b6200; border-color:var(--sd-yellow); background:#fff6d9; }
.org-four-eyes span,.org-four-eyes strong,.org-four-eyes small { display:block; }
.org-four-eyes strong { font-size:.59rem; }
.org-four-eyes small { margin-top:.12rem; color:var(--sd-muted); font-size:.52rem; }
.org-modal { border:0; border-radius:0; }
.org-modal .modal-header { padding:1rem 1.2rem; color:#fff; border:0; border-bottom:3px solid var(--sd-green); background:var(--sd-navy); }
.org-modal .modal-header small { display:block; color:#8ccfb2; font-size:.5rem; font-weight:820; letter-spacing:.09em; text-transform:uppercase; }
.org-modal .modal-title { margin-top:.15rem; color:#fff; font-size:1rem; }
.org-modal .btn-close { filter:invert(1); }
.org-modal .modal-body { padding:1.25rem; }
.org-modal .modal-footer { padding:.8rem 1.25rem; border-color:var(--platform-rule); background:#f7f8f6; }
.app-search-select { position:relative; z-index:1; }
.decision-form-section.has-search-select { overflow:visible; }
.decision-form-section.is-search-select-open { position:relative; z-index:20; }
.app-search-select.is-open { z-index:1090; }
.app-search-select__native {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    margin:0 !important;
    padding:0 !important;
    clip:rect(0 0 0 0) !important;
    clip-path:inset(50%) !important;
    overflow:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}
.app-search-select__trigger {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.8rem;
    align-items:center;
    width:100%;
    min-height:43px;
    padding:.55rem .8rem;
    color:var(--sd-navy);
    border:1px solid #cbd7d2;
    border-radius:.6rem;
    background:#fff;
    font-size:.72rem;
    text-align:left;
}
.app-search-select__trigger span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.app-search-select__trigger i { color:var(--sd-green-dark); font-size:.68rem; }
.app-search-select__trigger.is-placeholder { color:#697975; }
.app-search-select__trigger:hover { border-color:#8fb6a7; background:#fbfdfc; }
.app-search-select__trigger:focus-visible,
.app-search-select.is-open .app-search-select__trigger { border-color:#4e9c7f; outline:0; box-shadow:0 0 0 .2rem rgba(8,117,74,.12); }
.app-search-select.is-invalid .app-search-select__trigger { border-color:#b34139; box-shadow:0 0 0 .2rem rgba(179,65,57,.1); }
.app-search-select__panel {
    position:absolute;
    top:calc(100% + .35rem);
    right:0;
    left:0;
    z-index:1095;
    overflow:hidden;
    border:1px solid #9fafaa;
    border-top:3px solid var(--sd-green);
    border-radius:.25rem;
    background:#fff;
    box-shadow:0 18px 38px rgba(7,31,63,.18);
}
.app-search-select__search { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.55rem; align-items:center; padding:.65rem .7rem; border-bottom:1px solid #d9e1de; background:#f5f8f6; }
.app-search-select__search > i { color:var(--sd-green-dark); }
.app-search-select__search input { min-width:0; padding:.32rem .1rem; color:var(--sd-navy); border:0; outline:0; background:transparent; font-size:.72rem; }
.app-search-select__search input::placeholder { color:#788783; }
.app-search-select__clear { display:grid; width:27px; height:27px; padding:0; place-items:center; color:#6b7a76; border:0; background:transparent; font-size:.65rem; }
.app-search-select__clear:hover,.app-search-select__clear:focus-visible { color:#fff; outline:0; background:var(--sd-navy); }
.app-search-select__status { padding:.42rem .75rem; color:#6e7d78; border-bottom:1px solid #e2e7e5; font-size:.53rem; font-weight:780; letter-spacing:.05em; text-transform:uppercase; }
.app-search-select__options { max-height:min(290px,42vh); overflow-y:auto; overscroll-behavior:contain; scrollbar-color:#829991 #edf1ef; scrollbar-width:thin; }
.app-search-select__option { display:block; width:100%; padding:.62rem .75rem; color:#17334d; border:0; border-bottom:1px solid #edf0ef; background:#fff; font-size:.68rem; line-height:1.35; text-align:left; }
.app-search-select__option:last-child { border-bottom:0; }
.app-search-select__option:hover,.app-search-select__option.is-active { color:var(--sd-navy); background:#eef5f1; box-shadow:inset 3px 0 0 var(--sd-green); }
.app-search-select__option.is-selected { color:#fff; background:var(--sd-navy); box-shadow:inset 4px 0 0 var(--sd-yellow); font-weight:750; }
.app-search-select__option.is-selected.is-active { background:#0d315b; }
.app-search-select__empty { display:grid; justify-items:center; gap:.2rem; padding:1.2rem; color:#74827e; text-align:center; }
.app-search-select__empty i { color:var(--sd-green); font-size:1rem; }
.app-search-select__empty strong { color:var(--sd-navy); font-size:.67rem; }
.app-search-select__empty span { font-size:.56rem; }
.instance-governance-note { display:flex; gap:.8rem; align-items:flex-start; margin:0 0 1rem; padding:.85rem 1rem; color:#24433a; border:1px solid #c9ddd5; border-left:4px solid var(--sd-green); background:#f2f7f4; }
.instance-governance-note > i { display:grid; flex:0 0 34px; width:34px; height:34px; place-items:center; color:#fff; background:var(--sd-green); }
.instance-governance-note strong,.instance-governance-note span { display:block; }
.instance-governance-note strong { color:var(--sd-navy); font-size:.72rem; }
.instance-governance-note span { margin-top:.15rem; color:#5c6e68; font-size:.62rem; }
.reference-register-toolbar { display:grid; grid-template-columns:minmax(240px,1fr) minmax(150px,.34fr) auto; gap:.75rem; align-items:end; padding:.9rem 1rem; border-top:1px solid var(--platform-rule); border-bottom:1px solid var(--platform-rule); background:#f5f7f5; }
.reference-register-toolbar--sessions { grid-template-columns:minmax(210px,1fr) minmax(120px,.34fr) minmax(130px,.34fr) auto; }
.reference-register-toolbar label > span:first-child { display:block; margin-bottom:.28rem; color:#52655f; font-size:.55rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.reference-search-control { position:relative; display:block; }
.reference-search-control i { position:absolute; top:50%; left:.75rem; z-index:1; color:var(--sd-green-dark); transform:translateY(-50%); }
.reference-search-control .form-control { padding-left:2.2rem; }
.reference-register-result { display:flex; min-height:43px; padding:.45rem .75rem; align-items:center; gap:.35rem; color:#62736e; border-left:1px solid #cfd8d4; }
.reference-register-result strong { color:var(--sd-navy); font-family:var(--font-display); font-size:1.1rem; }
.reference-register-result span { font-size:.58rem; }
.reference-code { display:inline-block; padding:.26rem .42rem; color:var(--sd-navy); border-left:3px solid var(--sd-yellow); background:#eef2f0; font-size:.62rem; letter-spacing:.04em; }
.reference-description { display:block; max-width:34rem; margin-top:.18rem; color:#687873; font-size:.58rem; line-height:1.45; }
.reference-impact { display:flex; flex-wrap:wrap; gap:.32rem; min-width:190px; }
.reference-impact > span,.reference-impact > a { display:inline-flex; padding:.28rem .42rem; align-items:baseline; gap:.2rem; color:#536660; border:1px solid #d9e0dd; background:#fafbf9; text-decoration:none; font-size:.54rem; }
.reference-impact strong { color:var(--sd-navy); font-size:.68rem; }
.reference-impact a:hover { border-color:var(--sd-green); background:#eef6f1; }
.reference-impact .is-warning { color:#8d6906; border-color:#eadca5; background:#fff9df; }
.reference-impact .is-danger { color:#9d342f; border-color:#e5bbb7; background:#fff1ef; }
.reference-actions { display:flex; gap:.35rem; justify-content:flex-end; white-space:nowrap; }
.reference-actions form { display:inline-flex; }
.reference-actions .btn { display:inline-flex; align-items:center; gap:.3rem; }
.session-status { display:inline-flex; padding:.3rem .5rem; align-items:center; color:#29433b; border:1px solid #cbd8d3; background:#eef3f0; font-size:.56rem; font-weight:800; text-transform:uppercase; }
.session-status--tenue { color:#075f3e; border-color:#b9d9ca; background:#eaf5ef; }
.session-status--planifiee { color:#154d76; border-color:#bed3e1; background:#edf5fa; }
.session-status--reportee { color:#806000; border-color:#e5d48f; background:#fff7d7; }
.session-status--annulee { color:#963b35; border-color:#e3b8b4; background:#fff0ee; }
.session-decision-link { display:inline-flex; align-items:baseline; gap:.32rem; color:var(--sd-green-dark); text-decoration:none; }
.session-decision-link strong { color:var(--sd-navy); font-family:var(--font-display); font-size:.92rem; }
.session-decision-link span { font-size:.55rem; font-weight:750; }
.session-decision-link + small { display:block; margin-top:.14rem; color:#697974; font-size:.53rem; }
.session-decision-link + small.is-warning { color:#986f04; }
.session-edit-impact { display:flex; gap:.7rem; align-items:center; margin-bottom:1rem; padding:.75rem .85rem; border-left:4px solid #8da39b; background:#f2f5f3; }
.session-edit-impact > i { color:var(--sd-green-dark); font-size:1rem; }
.session-edit-impact strong,.session-edit-impact span { display:block; }
.session-edit-impact strong { color:var(--sd-navy); font-size:.68rem; }
.session-edit-impact span { margin-top:.1rem; color:#64756f; font-size:.57rem; }
.session-edit-impact.is-linked { border-left-color:var(--sd-yellow); background:#fff9e7; }
.session-edit-impact.is-linked > i { color:#9d7400; }
@media (max-width:1199.98px) {
    .reference-register-toolbar,.reference-register-toolbar--sessions { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .reference-register-result { border-left:0; }
}
@media (max-width:575.98px) {
    .reference-register-toolbar,.reference-register-toolbar--sessions { grid-template-columns:1fr; }
    .reference-actions { justify-content:flex-start; flex-wrap:wrap; }
    .reference-impact { min-width:0; }
}
.admin-tab-link--master { border-left:3px solid var(--sd-green) !important; background:#f1f6f3 !important; }
.admin-tab-link--master > i:first-child { color:var(--sd-green-dark) !important; }

@media (max-width:1199px) {
    .org-workbench-head { grid-template-columns:1fr; }
    .org-workbench-head__actions { justify-content:flex-start; }
    .org-metric-strip { grid-template-columns:repeat(2,1fr); }
    .org-metric-strip article:nth-child(3) { border-top:1px solid #d9e0dd; border-left:0; }
    .org-metric-strip article:nth-child(4) { border-top:1px solid #d9e0dd; }
    .org-section-nav { top:92px; grid-template-columns:repeat(3,1fr); }
    .org-section-nav a:nth-child(4) { border-left:0; border-top:1px solid var(--platform-rule); }
    .org-section-nav a:nth-child(n+5) { border-top:1px solid var(--platform-rule); }
}
@media (max-width:820px) {
    .org-control-bar,.org-control-bar__scope form,.org-domain__header { align-items:stretch; flex-direction:column; }
    .org-control-bar__scope .form-select { width:100%; }
    .org-table-shell .dt-search input { min-width:0; width:min(100%,230px); }
    .org-doctrine { grid-template-columns:1fr; }
    .org-doctrine article,.org-doctrine article + article { border-top:1px solid var(--platform-rule); border-left:0; }
    .org-review__summary { grid-template-columns:repeat(2,1fr); }
    .org-review__summary span:nth-child(3) { border-top:1px solid var(--platform-rule); border-left:0; }
    .org-review__summary span:nth-child(4) { border-top:1px solid var(--platform-rule); }
    .org-review__actions,.org-review__actions form { align-items:stretch; flex-direction:column; }
    .org-review__actions .form-control { min-width:0; }
}
@media (max-width:575px) {
    .org-workbench-head { padding:1rem; }
    .org-workbench-head h1 { font-size:1.35rem; }
    .org-workbench-head__actions .btn { flex:1 1 100%; }
    .org-metric-strip { grid-template-columns:1fr 1fr; }
    .org-section-nav { position:static; grid-template-columns:repeat(2,1fr); }
    .org-section-nav a:nth-child(odd) { border-left:0; }
    .org-section-nav a:nth-child(n+3) { border-top:1px solid var(--platform-rule); }
    .org-version { grid-template-columns:44px minmax(0,1fr) auto; }
    .org-version__delta,.org-version > i { display:none; }
    .org-row-actions { align-items:flex-end; flex-direction:column; }
}
