/* MARVEL · Médipôle. Habillage uniquement.
   Ne pas ajouter de sélecteur de couleur pour les tableaux, activités,
   salles, catégories, statuts, présences, badges métier ou marqueurs. */
:root{--mp-nav:#103e56;--mp-accent:#007d89;--mp-accent-soft:#e2f3f3;--mp-bg:#eef5f8;--mp-paper:#fff;--mp-ink:#173b50;--mp-muted:#607c8b;--mp-line:#dbe7ec;--mp-radius:13px;--mp-shadow:0 5px 20px #173b5007}
body.medipole-theme{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--mp-bg)}
/* Les couleurs de texte héritées des données restent celles de chaque page. */
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>header,body.medipole-annual>.header{background:var(--mp-nav);color:#fff;padding:18px 24px;border-bottom:1px solid #ffffff14}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>header :is(h1,b,.brand),body.medipole-annual>.header .brand{font-family:inherit;font-size:22px;line-height:1.25;letter-spacing:-.35px;font-weight:650}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>header a{color:#e8f5f7;text-decoration:none}
body.medipole-resources>header nav,body.medipole-references>header nav{color:#d5e9ee}
body.medipole-resources>header .test-tag,body.medipole-references>header .test-tag{font-size:11px;padding:6px 9px;border:1px solid #ffffff40;border-radius:7px;font-weight:500}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>main,body.medipole-annual>.wrap{padding:22px 24px}
body.medipole-theme:not(.medipole-shell) :is(.toolbar,.filters,.bar):not(:where(table *)){gap:10px}
body.medipole-theme :is(.filters,.bar):not(:where(table *)){padding:14px 16px;background:var(--mp-paper);border:1px solid var(--mp-line);border-radius:var(--mp-radius);box-shadow:var(--mp-shadow)}
body.medipole-theme:not(.medipole-shell) .panel:not(#eto-central){border-radius:var(--mp-radius);box-shadow:var(--mp-shadow)}
body.medipole-planning .toolbar{background:var(--mp-paper)!important;border-bottom-color:var(--mp-line);padding:12px 16px!important}
/* Les panneaux et cartes de catégories Ressources gardent leurs couleurs. */
body.medipole-resources .description{font-size:14px;line-height:1.6;margin:0 0 18px}
body.medipole-resources .toolbar{padding:11px 14px;border:1px solid var(--mp-line);border-radius:10px;background:var(--mp-paper);margin:16px 0}
body.medipole-resources .card-head h2{font-size:23px;letter-spacing:-.4px}
body.medipole-resources .section-head h2{font-size:22px;letter-spacing:-.3px}
body.medipole-theme :is(.toolbar,.filters,.bar,.actions,.panelhead,.section-heading,.dialog-head,.dialog-actions,.referent-navigation,.referent-actions,.referent-date-navigation) :is(button,a.action):not(:where(table *, .add, .accept, .refuse, .conditional, [aria-invalid=true])){font-family:inherit;font-size:13px;line-height:1.4;border:1px solid var(--mp-line);border-radius:8px;padding:9px 12px;background:var(--mp-paper);color:var(--mp-ink);box-shadow:none;min-height:38px}
body.medipole-theme :is(button.primary,button.save,.action.primary,#go,#save,#account-save,#new-account,#rights-save):not(:where(table *, .card .add,.accept,.refuse,.conditional,.medipole-shell *,[aria-invalid=true])){background:var(--mp-accent)!important;border-color:var(--mp-accent)!important;color:#fff!important;border-radius:8px;padding:10px 14px;font-weight:600;font-family:inherit;box-shadow:none}
body.medipole-theme :is(.management-tabs,.presence-views) button[aria-selected=true],body.medipole-theme .toolbar .day-choice[aria-pressed=true]{background:var(--mp-accent)!important;color:#fff!important;border-color:var(--mp-accent)!important}
body.medipole-theme :is(.management-tabs,.presence-views){background:var(--mp-bg);gap:8px}
body.medipole-theme :is(.management-tabs,.presence-views) button{border-radius:8px;padding:10px 14px;font-family:inherit}
body.medipole-theme :is(.toolbar,.filters,.bar,.person-form,.exception-form,.account-editor,.account-directory,#account-form) :is(input,select,textarea):not(:where(table *,[aria-invalid=true],input[type=checkbox],input[type=radio],input[type=color])){font-family:inherit;border:1px solid #b9ccd7;border-radius:7px;padding:8px 10px;background:#fff;color:var(--mp-ink)}
body.medipole-theme :is(.person-form,.account-editor,.account-directory){border-radius:var(--mp-radius);box-shadow:var(--mp-shadow)}
body.medipole-theme :is(.intro,.hero,.section-heading) h1:not(:where(table *)){font-size:25px;line-height:1.3;letter-spacing:-.5px}
body.medipole-theme :is(.intro,.hero,.section-heading) h2:not(:where(table *)){font-size:21px;line-height:1.3;letter-spacing:-.35px}
body.medipole-theme :is(.hint,.help,.description,.field-help){line-height:1.6}
body.medipole-dashboard .kpi{border-radius:var(--mp-radius);box-shadow:var(--mp-shadow)}
body.medipole-dashboard .kpi b{color:var(--mp-accent)}
body.medipole-dashboard .filters a{border-color:var(--mp-line);border-radius:8px;color:var(--mp-ink)}
body.medipole-annual .eyebrow{color:var(--mp-accent)}
body.medipole-annual .panelhead h2{font-size:21px;letter-spacing:-.4px}
body.medipole-annual .filters label{font-size:12px}
body.medipole-mobile{--mobile-blue:#007d89;--mobile-border:#dbe7ec}
body.medipole-mobile .view-tabs{border-radius:10px}
body.medipole-mobile .view-tabs button[aria-pressed=true]{background:var(--mp-accent);color:#fff;box-shadow:none}
body.medipole-mobile .mobile-menu>div{border-radius:var(--mp-radius);box-shadow:0 8px 28px #173b501a}
/* Statuts, avertissements, activités et graphiques : couleurs existantes. */
body.medipole-theme :is(button,input,select,textarea,a):focus-visible:not(:where(table *)){outline:3px solid #e19b1d;outline-offset:2px}
@media(max-width:800px){body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>main,body.medipole-annual>.wrap{padding:16px 12px}body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>header,body.medipole-annual>.header{padding:16px}body.medipole-resources .header-top{gap:12px;flex-wrap:wrap}}
@media(pointer:coarse){body.medipole-theme :is(.toolbar,.filters,.bar,.actions,.panelhead,.section-heading,.management-tabs,.presence-views) button:not(:where(table *)){min-height:44px}body.medipole-theme :is(.toolbar,.filters,.bar,.person-form,.account-editor) :is(input,select,textarea):not(:where(table *)){font-size:16px}}
body.medipole-planning .panel:not(#eto-central)>h3{background:var(--mp-accent-soft);color:var(--mp-ink);font-family:inherit;font-size:15px;padding:12px 14px}
body.medipole-dashboard .panel>h2{font-size:18px;letter-spacing:-.25px;line-height:1.35}

/* Une seule navigation sombre ; les titres des modules respirent sur fond clair. */
body.medipole-theme.medipole-embedded:not(.medipole-mobile)>header{background:#f8fbfc;color:var(--mp-ink);border-bottom:1px solid var(--mp-line);padding:26px 28px 22px;box-shadow:none}
body.medipole-theme.medipole-embedded:not(.medipole-mobile)>header :is(h1,b,.brand){font-size:28px;letter-spacing:-.7px;color:var(--mp-ink)}
body.medipole-theme.medipole-embedded:not(.medipole-mobile)>header h1{margin:0}
body.medipole-embedded>header>a[href="/index.html"],body.medipole-embedded>header nav,body.medipole-embedded>header .test-tag{display:none}
body.medipole-embedded>header a{color:var(--mp-accent)!important}
body.medipole-theme.medipole-embedded:not(.medipole-mobile)>main{padding-top:24px}
body.medipole-management .management-tabs{border-bottom:1px solid var(--mp-line);padding:0 0 16px;margin-bottom:26px}
body.medipole-management .management-tabs button{flex:0 1 auto;min-width:160px;border:1px solid var(--mp-line);background:#fff;color:var(--mp-ink);box-shadow:none}
body.medipole-management :is(#leaves-panel,#heart-panel)>h2{font-size:26px;letter-spacing:-.6px;color:var(--mp-ink);margin:0 0 20px}
body.medipole-management .bar{padding:22px;gap:18px;box-shadow:0 5px 20px #173b5009}
body.medipole-management .bar label{font-size:12px;letter-spacing:.15px;color:var(--mp-muted);font-weight:600}
body.medipole-management .counts{margin:22px 0 14px;font-size:13px}
body.medipole-shell[data-auth-state=connected]>#notice{display:none}
body.medipole-shell[data-auth-state=connected] #page{height:calc(100vh - var(--shell-header-height,64px));height:calc(100dvh - var(--shell-header-height,64px))}
body.medipole-shell[data-auth-state=connected].planning-expanded-shell #page{height:100vh;height:100dvh}
@media(max-width:800px){body.medipole-theme.medipole-embedded:not(.medipole-mobile)>header{padding:20px 16px}body.medipole-theme.medipole-embedded:not(.medipole-mobile)>header :is(h1,b,.brand){font-size:24px}body.medipole-management .bar{padding:16px}}

/* Ressources : une même palette pour les six tableaux de référence.
   Les statuts et actions sémantiques gardent leurs couleurs. */
body.medipole-resources :is(.activities,.card){background:#fff;border:1px solid #d6e2e8;border-top:3px solid #789ca9;border-radius:12px;padding:0;box-shadow:0 4px 16px #173b5007;overflow:hidden}
body.medipole-resources :is(.section-head,.card-head){background:#f1f6f8;border-bottom:1px solid #dce7ec;padding:18px 20px;min-height:78px}
body.medipole-resources :is(.section-head,.card-head) h2{color:#173b50;font-size:21px;line-height:1.35;letter-spacing:-.3px}
body.medipole-resources .card:not(.MAR):not(.IADE) .card-head{padding:18px 16px}
body.medipole-resources .card:not(.MAR):not(.IADE) h2{font-size:20px}
body.medipole-resources :is(.card .add,.activities .primary){background:#007d89;border-color:#007d89;color:#fff;font-weight:600;box-shadow:none}
body.medipole-resources .activities button:not(.primary){color:#173b50;border-color:#b9ccd6;background:#fff}
body.medipole-resources :is(.table-wrap,.activity-wrap){margin:16px;width:calc(100% - 32px);border:1px solid #dbe5eb;border-radius:7px;scrollbar-color:#acbec8 #f3f7f9}
body.medipole-resources :is(.activity-table th,thead th){background:#eaf1f5;color:#284c60;border-color:#dbe5eb}
body.medipole-resources .activity-table td{background:#fff;color:#173b50;border-color:#dbe5eb;font-size:22px;font-weight:600}
body.medipole-resources .activity-table tbody th{background:#f3f7f9;color:#284c60}
body.medipole-resources .activity-table :is(th,td){border-color:#dbe5eb}
body.medipole-resources .card tbody tr:nth-child(even){background:#f8fafb}
body.medipole-resources .card tbody tr:hover{background:#eef5f7}
body.medipole-resources .activities .activity-hint{color:#607c8b;margin:14px 20px}
body.medipole-resources .activities .activity-error{color:#aa173a}
body.medipole-resources .person-form{margin:16px}
body.medipole-resources .grid{gap:26px 22px}
body.medipole-resources .toolbar{margin:24px 0 20px}
@media(max-width:600px){body.medipole-resources :is(.section-head,.card-head){padding:16px;min-height:0;gap:12px}body.medipole-resources :is(.table-wrap,.activity-wrap){margin:12px;width:calc(100% - 24px)}body.medipole-resources :is(.section-head,.card-head) h2{font-size:20px}}

/* Hiérarchie Ressources : catégories identifiables, actions secondaires. */
body.medipole-resources .activities{border:2px solid #527c8d;border-top:4px solid #315f73;box-shadow:0 5px 18px #173b5010}
body.medipole-resources .activity-wrap{border:2px solid #8aa8b7}
body.medipole-resources .card-head h2,body.medipole-resources .card:not(.MAR):not(.IADE) .card-head h2{display:inline-block;background:#173f53;color:#fff;border:1px solid #173f53;border-radius:8px;padding:9px 13px;font-size:21px;font-weight:750;line-height:1.3;letter-spacing:0;margin:0}
body.medipole-resources .card-head{gap:16px;flex-wrap:wrap}
body.medipole-resources .card .add{background:#fff;color:#176674;border:1px solid #9cbac4;font-size:13px;font-weight:550;padding:9px 12px}
body.medipole-resources .card .add:hover{background:#e5f2f3;border-color:#428794}
@media(max-width:600px){body.medipole-resources .card-head h2,body.medipole-resources .card:not(.MAR):not(.IADE) .card-head h2{font-size:19px;padding:8px 11px}}

/* Ressources : présentation sans ombrage. */
body.medipole-resources *,body.medipole-resources *::before,body.medipole-resources *::after{box-shadow:none!important;text-shadow:none!important}

/* Consultation des tableaux sur petit écran, sans changer leurs données. */
@media screen and (max-width: 800px) {
  body.medipole-planning main,
  body.medipole-planning.referent-expanded main,
  body.medipole-planning.referent-expanded.referent-side-open main {
    min-width: 0; width: 100%; grid-template-columns: minmax(0, 1fr);
    padding: 12px; gap: 16px;
  }
  body.medipole-planning main > .left,
  body.medipole-planning main > .right { min-width: 0; max-width: 100%; }
  body.medipole-planning main > .left { padding: 10px; }
  body.medipole-planning .left > div[style*="display:grid"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.medipole-planning .toolbar {
    position: static; flex-wrap: wrap !important; overflow: visible;
  }
  body.medipole-planning .referent-date-head {
    display: flex; flex-wrap: wrap !important; flex: 1 1 100%; min-width: 0;
    max-width: 100%; justify-content: space-between !important;
  }
  body.medipole-planning .referent-date-control {
    order: -1; flex: 1 1 100%; min-width: 0; text-align: center;
  }
  body.medipole-planning .referent-date-caption {
    min-width: 0 !important; width: 100%; white-space: normal;
  }
  body.medipole-planning .referent-actions,
  body.medipole-planning .referent-display-actions {
    flex-wrap: wrap !important; flex: 1 1 100%; min-width: 0;
    margin-left: 0; padding-left: 6px; border-left: 0;
  }
  body.medipole-planning .toolbar .btn { min-height: 44px; white-space: normal; }
  body.medipole-planning .left .rounded-table-frame {
    width: 100%; max-width: 100%; overflow: auto;
    max-height: 65vh; max-height: 65dvh;
    overscroll-behavior-x: contain; scrollbar-gutter: stable;
  }
  body.medipole-planning .left table.grid {
    border-collapse: separate; border-spacing: 0; table-layout: fixed;
    margin: 0; width: 100%;
  }
  body.medipole-planning .left table.grid.yellow { min-width: 1064px; }
  body.medipole-planning .left table.grid.green { min-width: 752px; }
  body.medipole-planning .left table.grid.red { min-width: 1168px; }
  body.medipole-planning .left table.grid.blue { min-width: 544px; }
  body.medipole-planning .left table.grid.gray { min-width: 856px; }
  body.medipole-planning .left table.grid.floor { min-width: 336px; }
  body.medipole-planning .left table.grid tr > :first-child {
    position: sticky; left: 0; z-index: 2; width: 128px;
    min-width: 128px; text-align: left; padding: 6px 8px;
    white-space: normal; overflow-wrap: normal;
  }
  body.medipole-planning .left table.grid th,
  body.medipole-planning .left table.grid td { height: 44px; padding: 6px; }
  body.medipole-planning .left table.grid tr:first-child > th {
    position: sticky; top: 0; z-index: 3; height: 44px;
  }
  body.medipole-planning .left table.grid:is(.yellow,.green,.red,.blue) tr:nth-child(2) > th {
    position: sticky; top: 44px; z-index: 3;
  }
  body.medipole-planning .left table.grid tr:first-child > th:first-child,
  body.medipole-planning .left table.grid:is(.yellow,.green,.red,.blue) tr:nth-child(2) > th:first-child {
    z-index: 4;
  }
  body.medipole-planning .left table.grid select { width: 100%; min-height: 32px; }
  body.medipole-annual .wrap,
  body.medipole-annual .panel,
  body.medipole-annual #grid { min-width: 0; max-width: 100%; }
  body.medipole-annual .tablebox {
    width: 100%; max-width: 100%; max-height: 65vh; max-height: 65dvh;
    overscroll-behavior-x: contain;
  }
  body.medipole-annual #grid table { font-size: 14px; }
  body.medipole-annual #grid th,
  body.medipole-annual #grid td { min-width: 72px; padding: 10px 8px; }
  body.medipole-annual #grid .date { min-width: 118px; padding-left: 10px; }
  body.medipole-annual #grid .date small { font-size: 12px; }
  body.medipole-annual .filters > * { min-width: 0; max-width: 100%; }
  body.medipole-annual .filters label { flex: 1 1 150px; }
  body.medipole-annual .filters input,
  body.medipole-annual .filters select { min-width: 0; font-size: 16px; }
  body.medipole-annual .actions { flex-wrap: wrap; }
  body.medipole-annual .actions button { white-space: normal; min-height: 44px; }
}

.staff-calendar-mark{display:inline-block;font-size:15px;font-weight:800;padding:1px 4px;margin-left:3px;border:1px solid;border-radius:4px;line-height:1.2}.staff-rtt{color:#7842b5;background:#f1e8fc;border-color:#c5a8e5}.staff-garde{color:#a45a08;background:#fff0da;border-color:#e6b26b}.offer-controls{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:18px 0}.offer-controls label{display:grid;gap:6px}.offer-table{max-width:100%;overflow:auto;margin:16px 0}.offer-table table{min-width:900px}.offer-table th,.offer-table td{padding:10px;border-bottom:1px solid #d8e3ed;text-align:left}.staff-confirm-form{display:grid;gap:12px;margin:18px 0}.staff-confirm-form label{display:grid;gap:6px}#staff-management-panel>details{padding:18px;background:white;border:1px solid #d5e2ee;border-radius:12px}#staff-management-panel input,#staff-management-panel select,#staff-management-panel textarea{font:inherit;max-width:100%;padding:9px;border:1px solid #b8cbd9;border-radius:6px}#staff-management-panel>details>label{display:grid;gap:6px}#staff-personal-offers .personal-leave{padding:14px;border:1px solid #d4e0ec;border-radius:10px;margin:12px 0}#staff-personal-offers form{margin:12px 0}#staff-personal-offers textarea{box-sizing:border-box;width:100%}#staff-personal-feedback{line-height:1.5}@media(max-width:650px){.offer-controls{align-items:stretch}.offer-controls label{width:100%}}

.staff-notification-count{display:inline-flex!important;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;margin-left:3px;border-radius:9px;background:#a95d13;color:white;font-size:11px;vertical-align:middle}.staff-notification-count[hidden]{display:none!important}

/* Gestion : mêmes surfaces, boutons et rythme que les autres modules MARVEL. */
body.medipole-theme.medipole-management{color:var(--mp-ink);line-height:1.5}
body.medipole-theme.medipole-management>main{max-width:1200px}
body.medipole-theme.medipole-management .management-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px;margin:0 0 24px;border:1px solid var(--mp-line);border-radius:12px;background:#fff;box-shadow:none;z-index:3}
body.medipole-theme.medipole-management .management-tabs button{flex:1 1 140px;min-width:0;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--mp-muted);font-size:14px;font-weight:650;line-height:1.35}
body.medipole-theme.medipole-management .management-tabs button:hover{background:var(--mp-accent-soft);color:var(--mp-ink)}
body.medipole-theme.medipole-management :is(#rtt-management-panel,#guard-management-panel){border:0;border-radius:0;padding:0;margin:0;background:transparent;box-shadow:none}
body.medipole-theme.medipole-management .staff-content{padding:0;min-width:0}
body.medipole-theme.medipole-management .staff-content>:is(.staff-disclosure,.staff-compose,.staff-followup){padding:0!important;margin:0 0 16px!important;border:1px solid var(--mp-line)!important;border-radius:12px;background:var(--mp-paper)!important;box-shadow:none;overflow:hidden}
body.medipole-theme.medipole-management .staff-content>:is(.staff-disclosure,.staff-compose,.staff-followup)>summary{padding:17px 20px;margin:0;background:#f6fafb;color:var(--mp-ink)!important;font-size:18px;font-weight:650;line-height:1.4;letter-spacing:-.2px;cursor:pointer;border:0;border-left:4px solid #7aaeb5;min-height:58px}
body.medipole-theme.medipole-management .staff-content>:is(.staff-disclosure,.staff-compose,.staff-followup)[open]>summary{background:var(--mp-accent-soft);border-bottom:1px solid var(--mp-line);margin-bottom:18px}
body.medipole-theme.medipole-management .staff-overview-content{padding:0 20px 20px}
body.medipole-theme.medipole-management .staff-content>.staff-compose>:not(summary),body.medipole-theme.medipole-management .staff-content>.staff-followup>:not(summary){margin-left:20px;margin-right:20px}
body.medipole-theme.medipole-management .staff-content>.staff-compose>:last-child,body.medipole-theme.medipole-management .staff-content>.staff-followup>:last-child{margin-bottom:20px}
body.medipole-theme.medipole-management .staff-overview-content>section{padding:16px 18px;margin:18px 0;background:#f8fbfc;border:1px solid var(--mp-line);border-radius:10px;box-shadow:none}
body.medipole-theme.medipole-management :is(h2,h3){color:var(--mp-ink);letter-spacing:-.25px;font-weight:650}
body.medipole-theme.medipole-management h3{font-size:17px;line-height:1.4;margin:0 0 12px}
body.medipole-theme.medipole-management .staff-content :is(p,.muted){line-height:1.6}
body.medipole-theme.medipole-management .muted{color:var(--mp-muted);font-size:13px}
body.medipole-theme.medipole-management :is(.offer-controls,.decision-fields,.decision-dates){gap:16px}
body.medipole-theme.medipole-management label:not(.role-option){font-size:13px;color:var(--mp-muted);font-weight:550;gap:7px}
body.medipole-theme.medipole-management :is(input,select,textarea):not([type=checkbox]):not([type=radio]){font:inherit;font-weight:400;color:var(--mp-ink);background:#fff;border:1px solid #b9ccd7;border-radius:8px;padding:10px 12px;min-height:42px;box-sizing:border-box;max-width:100%}
body.medipole-theme.medipole-management button:not(.accept):not(.refuse):not(.conditional){font-family:inherit;line-height:1.4;min-height:40px;border:1px solid var(--mp-line);border-radius:8px;padding:9px 14px;background:white;color:var(--mp-ink);font-size:13px;font-weight:600;box-shadow:none}
body.medipole-theme.medipole-management :is(#rtt-send,#guard-send,.staff-confirm-form button[value=finalize]){background:var(--mp-accent)!important;color:#fff!important;border-color:var(--mp-accent)!important}
body.medipole-theme.medipole-management :is(#rtt-send,#guard-send,.staff-confirm-form button[value=finalize]):hover{filter:brightness(.94)}
body.medipole-theme.medipole-management .staff-confirm-form button[value=cancel]{color:#8a3439;border-color:#d9b7b9;background:#fff;justify-self:start}
body.medipole-theme.medipole-management .offer-table{border:1px solid var(--mp-line);border-radius:9px;overflow:auto;margin:16px 0;max-width:100%}
body.medipole-theme.medipole-management .offer-table table{margin:0;min-width:820px;font-size:13px}
body.medipole-theme.medipole-management .offer-table .guard-year-summary{min-width:680px}
body.medipole-theme.medipole-management .offer-table caption{text-align:left;padding:13px 16px;font-size:14px;font-weight:650;background:#f7fafb;color:var(--mp-ink)}
body.medipole-theme.medipole-management .offer-table :is(th,td){padding:12px 14px;border-bottom:1px solid var(--mp-line);vertical-align:middle}
body.medipole-theme.medipole-management .offer-table thead th{background:#eaf2f5;color:var(--mp-ink);font-size:12px;font-weight:650}
body.medipole-theme.medipole-management .offer-table tbody th{background:white;font-weight:600}
body.medipole-theme.medipole-management .offer-table tbody tr:last-child>:is(th,td){border-bottom:0}
body.medipole-theme.medipole-management .offer-table tbody tr:hover>:is(th,td){background:#f5fafb}
body.medipole-theme.medipole-management .staff-content details:not(.staff-disclosure):not(.staff-compose):not(.staff-followup):not(.request-card){padding:12px 0}
body.medipole-theme.medipole-management .staff-content details:not(.staff-disclosure):not(.staff-compose):not(.staff-followup):not(.request-card)>summary{font-size:14px;font-weight:600;color:#296675}
body.medipole-theme.medipole-management .staff-followup .request-card{border-radius:9px;padding:12px 14px;margin:12px 0;box-shadow:none}
body.medipole-theme.medipole-management .staff-followup .request-card>summary{font-size:14px;line-height:1.6;color:var(--mp-ink)}
body.medipole-theme.medipole-management .offer-state-badge{font-size:12px;padding:5px 9px;border-radius:6px}
body.medipole-theme.medipole-management .staff-confirm-form{padding-top:14px;border-top:1px solid var(--mp-line);gap:14px}
body.medipole-theme.medipole-management #status{font-size:13px;min-height:0;background:#eaf4f6;color:#315d6d;border:1px solid #d0e4e9;border-radius:8px}
body.medipole-theme.medipole-management :is(#blue-management-panel,#heart-panel){border-color:var(--mp-line);box-shadow:none}
body.medipole-theme.medipole-management :is(#blue-management-panel,#heart-panel)>h2{font-size:22px}
body.medipole-theme.medipole-management .request-card.leave-disclosure{border-color:var(--mp-line);box-shadow:none}
body.medipole-theme.medipole-management .leave-summary{padding:15px 18px}
@media(max-width:650px){
 body.medipole-theme.medipole-management .management-tabs{position:static;gap:4px;margin-bottom:18px}
 body.medipole-theme.medipole-management .management-tabs button{flex:1 1 28%;padding:10px 8px;font-size:13px;min-height:44px}
 body.medipole-theme.medipole-management .staff-content>:is(.staff-disclosure,.staff-compose,.staff-followup)>summary{padding:14px 12px;font-size:17px;min-height:52px}
 body.medipole-theme.medipole-management .staff-overview-content{padding:0 12px 14px}
 body.medipole-theme.medipole-management .staff-content>.staff-compose>:not(summary),body.medipole-theme.medipole-management .staff-content>.staff-followup>:not(summary){margin-left:12px;margin-right:12px}
 body.medipole-theme.medipole-management .offer-controls{gap:10px}
 body.medipole-theme.medipole-management .offer-controls>label{margin:0;width:100%}
 body.medipole-theme.medipole-management .rtt-date-count>label{width:auto}
 body.medipole-theme.medipole-management .offer-controls>button{width:100%}
 body.medipole-theme.medipole-management .bar{gap:10px;padding:14px}
 body.medipole-theme.medipole-management .bar label{margin:0;width:100%}
 body.medipole-theme.medipole-management .leave-summary{padding:12px}
}

/* Structure commune des modules. Les couleurs portées par les données restent intactes. */
body.medipole-theme:not(.medipole-shell){color:var(--mp-ink);line-height:1.5}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>header,
body.medipole-theme.medipole-embedded:not(.medipole-shell):not(.medipole-mobile)>header{background:#f8fbfc;color:var(--mp-ink);padding:24px 28px;border-bottom:1px solid var(--mp-line);box-shadow:none}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>header h1,
body.medipole-theme.medipole-embedded:not(.medipole-shell):not(.medipole-mobile)>header h1{font-family:inherit;font-size:28px;line-height:1.25;font-weight:650;letter-spacing:-.6px;color:var(--mp-ink);margin:0}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>header a{color:var(--mp-accent);font-size:13px}
body.medipole-theme:not(.medipole-shell)>header .module-intro{margin:7px 0 0;color:var(--mp-muted);font-size:14px;line-height:1.5}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>main{padding:24px 28px;max-width:1440px;margin:0 auto}
body.medipole-theme.medipole-management>main,body.medipole-theme.medipole-accounts>main,body.medipole-theme.medipole-presence>main{max-width:1200px}
body.medipole-theme .module-technical{display:none!important}
body.medipole-theme .module-help{background:#fff;border:1px solid var(--mp-line);border-radius:10px;padding:14px 16px;margin:16px 0;font-size:13px}
body.medipole-theme .module-help>summary{cursor:pointer;color:var(--mp-muted);font-weight:600}
body.medipole-theme .module-help[open]>summary{margin-bottom:12px}
body.medipole-theme .module-help>.warn{background:transparent;color:var(--mp-muted);padding:0;border:0}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile) :is(h2,h3):not(:where(table *,svg *)){line-height:1.35;letter-spacing:-.25px}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile) :is(.toolbar,.controls,.filters,.bar,.actions,.offer-controls,.dialog-actions) :is(button,a.action,a.export):not(:where(table *,.accept,.refuse,.conditional,[aria-invalid=true])){font-family:inherit;font-size:13px;min-height:40px;padding:9px 13px;border:1px solid var(--mp-line);border-radius:8px;background:#fff;color:var(--mp-ink);box-shadow:none}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile) :is(.toolbar,.controls,.filters,.bar,.person-form,.account-editor,.account-directory,#account-form,#rights-workshop,.drh-controls,.offer-controls) :is(input,select,textarea):not(:where([type=checkbox],[type=radio],[type=color],[aria-invalid=true])){font:inherit;font-size:14px;min-height:40px;padding:9px 11px;border:1px solid #b9ccd7;border-radius:8px;background:#fff;color:var(--mp-ink)}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile) :is(.panel,.card):not(#eto-central):not(:where(.medipole-resources *)){border-color:var(--mp-line);border-radius:12px;box-shadow:none}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile) :is(.toolbar,.controls,.filters){gap:12px}
body.medipole-theme:not(.medipole-shell):not(.medipole-mobile) :is(.muted,.hint,.field-help,.description){color:var(--mp-muted);line-height:1.6}
/* Planification : une seule identité de page et un seul mode de présentation. */
body.medipole-theme.medipole-annual #planning-cycle>.header{display:none}
body.medipole-theme.medipole-annual #planning-cycle>.wrap{padding:24px 28px;max-width:1440px;margin:0 auto}
body.medipole-theme.medipole-annual .hero{margin:0 0 22px;padding:0 0 20px;border-bottom:1px solid var(--mp-line);background:transparent;box-shadow:none}
body.medipole-theme.medipole-annual .hero h1{font-size:28px;line-height:1.25;font-weight:650;letter-spacing:-.6px;color:var(--mp-ink);margin:0}
body.medipole-theme.medipole-annual .hero p{margin:7px 0 0;font-size:14px;line-height:1.5;color:var(--mp-muted)}
body.medipole-theme.medipole-annual :is(.hero .eyebrow,.designcaption,.planning-origin,#toggle-planning-layout){display:none!important}
body.medipole-theme.medipole-annual .panelhead h2{font-size:18px;margin:0}
body.medipole-theme.medipole-annual .filters{border:1px solid var(--mp-line);border-radius:12px;background:#fff;box-shadow:none}
/* Planning : les tableaux métier et leurs couleurs ne sont pas recolorés. */
body.medipole-theme.medipole-planning>main{max-width:none;margin:0;padding:20px 24px;gap:18px}
body.medipole-theme.medipole-planning>.toolbar{padding:12px 24px!important;background:#fff!important;border-bottom:1px solid var(--mp-line)}
body.medipole-theme.medipole-planning .panel:not(#eto-central)>h3{font-size:15px;padding:12px 14px;background:#eaf3f5;color:var(--mp-ink);font-weight:650}
/* Dashboard : navigation claire et filtres sur les mêmes surfaces blanches. */
body.medipole-theme.medipole-dashboard .band{background:#fff;color:var(--mp-ink);padding:16px 28px;border-bottom:1px solid var(--mp-line);gap:18px}
body.medipole-theme.medipole-dashboard .tabs{padding:4px;gap:4px;border:1px solid var(--mp-line);border-radius:10px;background:#f3f8fa;flex-wrap:wrap}
body.medipole-theme.medipole-dashboard .tabs button{background:transparent;color:var(--mp-muted);border-color:transparent;border-radius:7px;padding:9px 14px;min-height:40px;font-size:14px}
body.medipole-theme.medipole-dashboard .tabs button[aria-selected=true]{background:var(--mp-accent);border-color:var(--mp-accent);color:white;font-weight:650}
body.medipole-theme.medipole-dashboard .controls{padding:16px;background:#fff;border:1px solid var(--mp-line);border-radius:12px;box-shadow:none}
body.medipole-theme.medipole-dashboard .card{border:1px solid var(--mp-line);border-radius:12px;box-shadow:none;padding:22px}
body.medipole-theme.medipole-dashboard .card h2{font-size:19px;font-weight:650;color:var(--mp-ink)}
body.medipole-theme.medipole-dashboard .bar{height:14px;padding:0;border:0;box-shadow:none;background:var(--color,#8ba1b6);border-radius:3px;margin:0}
body.medipole-theme.medipole-dashboard .dates label{font-size:13px;color:var(--mp-muted)}
body.medipole-theme.medipole-dashboard :is(.blue-drawer-head){background:#eaf3f5;border-color:var(--mp-line)}
/* Administration, comptes et présences : panneaux sobres, actions principales identiques. */
body.medipole-theme.medipole-admin #rights-workshop{border:1px solid var(--mp-line);background:#fff;color:var(--mp-ink);border-radius:12px;padding:22px}
body.medipole-theme.medipole-admin #rights-workshop>h2{font-size:21px;color:var(--mp-ink)}
body.medipole-theme.medipole-admin #rights-workshop .notice{background:#eaf4f6;color:#315d6d;border:1px solid #d0e4e9;font-size:13px}
body.medipole-theme.medipole-admin>main>p:first-child>a{display:inline-block;background:var(--mp-accent);color:#fff;text-decoration:none;border-radius:8px;padding:11px 15px;font-weight:600;font-size:14px}
body.medipole-theme.medipole-accounts :is(.account-directory,.account-editor){border-color:var(--mp-line);box-shadow:none}
body.medipole-theme.medipole-accounts .directory-item{border-color:var(--mp-line);border-radius:10px}
body.medipole-theme.medipole-presence :is(.presence-views,.drh-controls){gap:10px}
body.medipole-theme.medipole-presence .presence-views button{border:1px solid var(--mp-line);background:white;color:var(--mp-ink);border-radius:8px;padding:10px 14px;min-height:42px}
body.medipole-theme.medipole-resources :is(.description,.toolbar),body.medipole-theme.medipole-references :is(.description,.toolbar){line-height:1.6}
body.medipole-theme.medipole-references .brand-icon{display:none}
/* L’espace Mobile garde sa navigation tactile ; la palette et les champs sont communs. */
body.medipole-theme.medipole-mobile>header h1{color:var(--mp-accent);font-family:inherit;font-size:21px;font-weight:650;letter-spacing:-.4px}
body.medipole-theme.medipole-mobile :is(.day-detail,.personal-leave,.stat-cards article,.calendar-panel){border-color:var(--mp-line);border-radius:12px;box-shadow:none}
body.medipole-theme.medipole-mobile :is(input,select,textarea):not([type=checkbox]):not([type=radio]){border-color:#b9ccd7;border-radius:8px;font-family:inherit}
@media(max-width:800px){
 body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>header,
 body.medipole-theme.medipole-embedded:not(.medipole-shell):not(.medipole-mobile)>header{padding:20px 16px}
 body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>header h1,
 body.medipole-theme.medipole-embedded:not(.medipole-shell):not(.medipole-mobile)>header h1{font-size:24px}
 body.medipole-theme:not(.medipole-shell):not(.medipole-mobile)>main,
 body.medipole-theme.medipole-annual #planning-cycle>.wrap{padding:16px 12px}
 body.medipole-theme.medipole-annual .hero h1{font-size:24px}
 body.medipole-theme.medipole-dashboard .band{padding:14px 12px;gap:12px}
 body.medipole-theme.medipole-dashboard .tabs{width:100%}
 body.medipole-theme.medipole-dashboard .tabs button{flex:1;padding:9px 8px}
 body.medipole-theme.medipole-dashboard .card{padding:16px}
 body.medipole-theme.medipole-admin #rights-workshop{padding:16px}
}
/* Annual import remains available to authorized referents. */
body.medipole-theme.medipole-annual .module-status-footer{margin:0;padding:0;border:0}
body.medipole-theme.medipole-annual .module-status-footer #localnote{display:none}
body.medipole-theme.medipole-annual .module-status-footer #localnote.service-error{display:block;margin:14px 0;padding:12px 16px;border:1px solid #dfb4aa;border-radius:8px;color:#8a3024;background:#fff0ea}
body.medipole-theme.medipole-planning>header{display:block}
body.medipole-theme.medipole-annual .viewbuttons button[aria-pressed=true]{background:var(--mp-accent)!important;border-color:var(--mp-accent)!important;color:white!important}
body.medipole-theme.medipole-resources .activity-table thead th{font-size:13px;line-height:1.4;padding:12px 8px;word-break:normal;overflow-wrap:normal;hyphens:auto}
body.medipole-theme.medipole-accounts #identity{padding:12px 18px;margin-bottom:16px}
body.medipole-theme.medipole-accounts #identity-help{display:none}
body.medipole-theme.medipole-admin>.module-help>h2{margin-top:16px}
body.medipole-theme.medipole-references .card .add{background:white;border:1px solid #9cbac4;color:#176674;font-size:13px;box-shadow:none;border-radius:8px;padding:9px 12px}
body.medipole-theme.medipole-planning>.toolbar{flex-wrap:wrap!important;overflow-x:visible}
body.medipole-theme.medipole-planning .referent-date-head{max-width:100%;flex-wrap:wrap!important}
body.medipole-theme.medipole-planning:not(.referent-expanded)>main{grid-template-columns:minmax(0,1fr) 380px}
body.medipole-theme.medipole-planning:not(.referent-expanded)>main>.left{overflow-x:auto}
body.medipole-theme.medipole-planning .referent-actions #validate-day{background:var(--mp-accent)!important;border-color:var(--mp-accent)!important;box-shadow:none!important}
@media(max-width:1100px){body.medipole-theme.medipole-planning:not(.referent-expanded)>main{grid-template-columns:minmax(0,1fr)}}
body.medipole-theme.medipole-mobile nav button[aria-selected=true]{color:var(--mp-accent);background:transparent}
