/* === PASTEK 5.6.7.2.00 START: pastek-ds-v567100.css (nom de fichier conservé) === */
/*
 * Pastek Design System V5.6.7.1.00 — couche unique chargée EN DERNIER sur /app, /admin, /platform.
 * Remplace visuellement les surcouches historiques (button-color-v552, action-buttons-v5571,
 * dark-first v56694…) sans les supprimer : rollback = retirer une balise <link>.
 *
 * Portée : « :root:not(#pk) » a une spécificité d'ID -> l'emporte sur les sélecteurs
 * historiques à base de classes, sans toucher au HTML.
 * Thème : html[data-pastek-theme="light"|"dark"] (posé par pastek-fixes-v567100.js
 * sur les 3 portails, préférence système par défaut).
 * Taille d'interface : --ui-scale existant (85–125 %) conservé.
 * Police : Inter variable auto-hébergée (OFL), aucun CDN.
 */

@font-face {
  font-family: "Inter Pastek";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/inter-latin-wght-normal.woff2?v=5.6.7.1.00") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter Pastek";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/inter-latin-ext-wght-normal.woff2?v=5.6.7.1.00") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ------------------------------------------------------------------ */
/* 1. Tokens                                                            */
/* ------------------------------------------------------------------ */
:root:not(#pk) {
  --pk-font: "Inter Pastek", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --pk-canvas: #f5f6f8;
  --pk-surface: #ffffff;
  --pk-surface-2: #f8f9fa;
  --pk-sunken: #eef0f3;
  --pk-line: #e3e6eb;
  --pk-line-strong: #cfd4dc;
  --pk-ink: #14171c;
  --pk-ink-2: #3b4250;
  --pk-muted: #636b78;          /* 5.4:1 sur blanc */
  --pk-faint: #6f7782;

  --pk-accent: #c9383e;         /* boutons primaires : texte blanc 5.1:1 */
  --pk-accent-hover: #b33137;
  --pk-accent-ink: #b42a31;     /* texte/lien accent : 6.1:1 sur blanc */
  --pk-accent-soft: #fdeeee;
  --pk-accent-line: #f6c9cb;
  --pk-ring: rgba(216, 58, 65, .28);

  --pk-ok: #157538;   --pk-ok-soft: #e8f6ed;   --pk-ok-line: #bfe5cc;
  --pk-warn: #a35a00; --pk-warn-soft: #fdf3e3; --pk-warn-line: #f2d6a8;
  --pk-err: #c4262e;  --pk-err-soft: #fdecec;  --pk-err-line: #f4c4c6;
  --pk-info: #2556c4; --pk-info-soft: #ebf1fd; --pk-info-line: #c7d6f6;

  --pk-r-sm: 7px;
  --pk-r: 9px;
  --pk-r-lg: 13px;
  --pk-shadow-1: 0 1px 2px rgba(16, 20, 28, .05);
  --pk-shadow-2: 0 1px 2px rgba(16, 20, 28, .04), 0 6px 20px rgba(16, 20, 28, .06);
  --pk-shadow-pop: 0 12px 40px rgba(16, 20, 28, .16), 0 2px 6px rgba(16, 20, 28, .06);
  --pk-scrim: rgba(12, 14, 18, .42);

  --pk-side-w: 14.5rem;
  --pk-top-h: 3.9rem;
  --pk-ctl-h: 2.25rem;

  /* Tokens historiques réalignés : tout le CSS existant qui les utilise suit. */
  --bg: var(--pk-canvas);
  --panel: var(--pk-surface);
  --ink: var(--pk-ink);
  --muted: var(--pk-muted);
  --line: var(--pk-line);
  --line-strong: var(--pk-line-strong);
  --accent: var(--pk-accent);
  --accent-strong: var(--pk-accent-hover);
  --accent-soft: var(--pk-accent-soft);
  --green: var(--pk-ok);
  --green-soft: var(--pk-ok-soft);
  --danger: var(--pk-err);
  --radius: var(--pk-r-lg);
  --shadow: var(--pk-shadow-1);
  color-scheme: light;
}

:root[data-pastek-theme="dark"]:not(#pk) {
  --pk-canvas: #0f1114;
  --pk-surface: #171a1f;
  --pk-surface-2: #1c2026;
  --pk-sunken: #13161a;
  --pk-line: #2a2f37;
  --pk-line-strong: #3a414b;
  --pk-ink: #eceef1;
  --pk-ink-2: #c9ced6;
  --pk-muted: #9aa2ad;          /* 6.6:1 sur surface */
  --pk-faint: #8b939e;

  --pk-accent: #c9383e;         /* texte blanc 5.1:1 */
  --pk-accent-hover: #b33137;
  --pk-accent-ink: #ff8a8e;
  --pk-accent-soft: #33191b;
  --pk-accent-line: #5a2a2d;
  --pk-ring: rgba(255, 110, 115, .35);

  --pk-ok: #5bd28a;   --pk-ok-soft: #15281d;   --pk-ok-line: #24492f;
  --pk-warn: #f2b45a; --pk-warn-soft: #2c2213; --pk-warn-line: #4d3a1a;
  --pk-err: #ff8086;  --pk-err-soft: #331a1c;  --pk-err-line: #5a2a2d;
  --pk-info: #8fb1ff; --pk-info-soft: #172038; --pk-info-line: #2a3a63;

  --pk-shadow-1: 0 1px 0 rgba(0, 0, 0, .25);
  --pk-shadow-2: 0 1px 0 rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .28);
  --pk-shadow-pop: 0 16px 48px rgba(0, 0, 0, .55);
  --pk-scrim: rgba(0, 0, 0, .6);
  color-scheme: dark;
}

/* ------------------------------------------------------------------ */
/* 2. Base                                                              */
/* ------------------------------------------------------------------ */
:root:not(#pk) body {
  font-family: var(--pk-font) !important;
  font-feature-settings: "cv11", "ss01";
  background: var(--pk-canvas) !important;
  color: var(--pk-ink) !important;
  letter-spacing: -.003em;
}
:root:not(#pk) :is(button, input, select, textarea) { font-family: inherit !important; }
:root:not(#pk) :is(h1, h2, h3, h4) { color: var(--pk-ink) !important; letter-spacing: -.018em; }
:root:not(#pk) :is(.muted, p.muted, small.muted) { color: var(--pk-muted) !important; }
:root:not(#pk) ::selection { background: var(--pk-accent-soft); color: var(--pk-ink); }
:root:not(#pk) :focus-visible { outline: 2px solid var(--pk-accent) !important; outline-offset: 2px !important; }
:root:not(#pk) .tabular, :root:not(#pk) :is(.metric strong, .ovh-number-row, .phone-list-row) { font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------------ */
/* 3. Cadre : shell, barre latérale, barre du haut                      */
/* ------------------------------------------------------------------ */
:root:not(#pk) .shell { background: var(--pk-canvas) !important; }
/* Largeur de barre latérale uniquement sur écran large : en dessous, on garde
   les points de rupture historiques (1080 px : 11rem ; 760 px : une colonne). */
@media (min-width: 1081px) {
  :root:not(#pk) .shell { grid-template-columns: var(--pk-side-w) minmax(0, 1fr) !important; }
}
:root:not(#pk) .main { background: var(--pk-canvas) !important; padding: 0 1.5rem 2rem !important; }

:root:not(#pk) aside.side {
  background: var(--pk-surface) !important;
  border-right: 1px solid var(--pk-line) !important;
  box-shadow: none !important;
}
:root:not(#pk) aside.side .brand {
  min-height: var(--pk-top-h) !important;
  padding: .65rem .9rem !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--pk-line) !important;
  gap: .6rem !important;
  align-items: center !important;
}
:root:not(#pk) aside.side .brandLogo { width: 1.9rem !important; height: 1.9rem !important; max-width: none !important; }
:root[data-pastek-theme="dark"]:not(#pk) aside.side .brandLogo { filter: invert(1) hue-rotate(180deg) brightness(1.15); }
:root:not(#pk) .pastek-brand-copy strong { font-size: .92rem !important; font-weight: 680 !important; color: var(--pk-ink) !important; }
:root:not(#pk) .pastek-brand-copy small { font-size: .62rem !important; letter-spacing: .08em !important; color: var(--pk-muted) !important; }

:root:not(#pk) .pastek-portal-return {
  margin: .55rem .6rem .25rem !important;
  padding: .4rem .55rem !important;
  border-radius: var(--pk-r-sm) !important;
  color: var(--pk-muted) !important;
  font-size: .76rem !important;
}
:root:not(#pk) .pastek-portal-return:hover { background: var(--pk-sunken) !important; color: var(--pk-ink) !important; }

:root:not(#pk) .pastek-nav-group-toggle {
  background: transparent !important;
  border: 0 !important;
  color: var(--pk-muted) !important;
  font-size: .64rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
  min-height: 1.9rem !important;
  padding: .7rem .9rem .3rem !important;
  box-shadow: none !important;
}
:root:not(#pk) :is(.pastek-nav-item, .pastek-nav-folder-toggle) {
  min-height: 2rem !important;
  margin: 1px .5rem !important;
  width: calc(100% - 1rem) !important;
  padding: .38rem .6rem !important;
  border: 0 !important;
  border-radius: var(--pk-r-sm) !important;
  background: transparent !important;
  color: var(--pk-ink-2) !important;
  font-size: .8rem !important;
  font-weight: 560 !important;
  box-shadow: none !important;
  gap: .55rem !important;
  position: relative;
}
:root:not(#pk) :is(.pastek-nav-item, .pastek-nav-folder-toggle):hover { background: var(--pk-sunken) !important; color: var(--pk-ink) !important; }
:root:not(#pk) .pastek-nav-item.active {
  background: var(--pk-accent-soft) !important;
  color: var(--pk-accent-ink) !important;
  font-weight: 640 !important;
}
:root:not(#pk) .pastek-nav-item.active::before {
  content: "";
  position: absolute;
  left: -.5rem; top: .45rem; bottom: .45rem;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--pk-accent);
}
:root:not(#pk) .pastek-nav-icon { color: currentColor !important; opacity: .8; }
:root:not(#pk) .pastek-nav-item.active .pastek-nav-icon { opacity: 1; }
:root:not(#pk) .pastek-nav-folder-body .pastek-nav-item { font-size: .78rem !important; padding-left: 2.05rem !important; }
:root:not(#pk) .pastek-nav-folder-body .pastek-nav-item .pastek-nav-icon { display: none !important; }

:root:not(#pk) .pastek-user-footer { border-top: 1px solid var(--pk-line) !important; background: var(--pk-surface) !important; padding: .55rem !important; }
:root:not(#pk) .pastek-user-card {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: var(--pk-r) !important;
  box-shadow: none !important;
  padding: .4rem .5rem !important;
}
:root:not(#pk) .pastek-user-card:hover { background: var(--pk-sunken) !important; }
:root:not(#pk) .pastek-user-copy strong { color: var(--pk-ink) !important; font-size: .8rem !important; }
:root:not(#pk) .pastek-user-copy small { color: var(--pk-muted) !important; }
:root:not(#pk) .pastek-avatar { background: var(--pk-accent-soft) !important; color: var(--pk-accent-ink) !important; font-weight: 700 !important; }

/* Barre du haut */
:root:not(#pk) .top {
  height: var(--pk-top-h) !important;
  min-height: var(--pk-top-h) !important;
  background: color-mix(in srgb, var(--pk-canvas) 88%, transparent) !important;
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--pk-line) !important;
  margin: 0 -1.5rem !important;
  padding: 0 1.5rem !important;
}
:root:not(#pk) .top h1 { font-size: 1.2rem !important; font-weight: 680 !important; letter-spacing: -.022em !important; }
:root:not(#pk) .top p { font-size: .76rem !important; color: var(--pk-muted) !important; margin-top: .1rem !important; max-width: 46ch; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:root:not(#pk) .topActions { gap: .4rem !important; }
:root:not(#pk) .topActions :is(button, .soft, a.soft, select) {
  min-height: 2rem !important;
  height: 2rem !important;
  padding: 0 .7rem !important;
  font-size: .76rem !important;
}
/* La version technique ne s'affiche plus aux utilisateurs (toujours lisible dans Diagnostic). */
:root:not(#pk) #apiState { display: none !important; }
:root:not(#pk) .pastek-ui-scale {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-line) !important;
  border-radius: var(--pk-r) !important;
  height: 2rem !important;
  box-shadow: none !important;
}
:root:not(#pk) .pastek-ui-scale button { border: 0 !important; background: transparent !important; min-height: 0 !important; height: 100% !important; padding: 0 .55rem !important; }
:root:not(#pk) .pastek-ui-scale output { color: var(--pk-muted) !important; font-size: .72rem !important; font-variant-numeric: tabular-nums; }
:root:not(#pk) .pastek-icon-action {
  width: 2rem !important; height: 2rem !important; min-height: 2rem !important;
  padding: 0 !important;
  display: inline-grid !important; place-items: center !important;
  border-radius: var(--pk-r) !important;
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-line) !important;
  color: var(--pk-ink-2) !important;
}
:root:not(#pk) .pastek-diagnostic-status { gap: .4rem !important; }
:root:not(#pk) .pastek-diagnostic-dot { width: .5rem !important; height: .5rem !important; }
:root:not(#pk) :is(.pastek-presence-select-wrap select, #pastekPresenceSelect) {
  height: 2rem !important; min-height: 2rem !important; padding: 0 2rem 0 .7rem !important;
  background-color: var(--pk-surface) !important; border-color: var(--pk-line) !important; color: var(--pk-ink) !important;
}
:root:not(#pk) #logout { color: var(--pk-muted) !important; }

/* ------------------------------------------------------------------ */
/* 4. Surfaces                                                          */
/* ------------------------------------------------------------------ */
:root:not(#pk) :is(.card, section.card, .security-card, .co-card, .company-app-card, .promotion-card, .communications-contact-card, .vmstudio-panel, .pastek-number-card-v566974, .pastek-number-assignment-v566977) {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-line) !important;
  border-radius: var(--pk-r-lg) !important;
  box-shadow: var(--pk-shadow-1) !important;
  color: var(--pk-ink) !important;
}
:root:not(#pk) .card h2 { font-size: .98rem !important; font-weight: 650 !important; }
:root:not(#pk) .cardHead { margin-bottom: .85rem !important; }
:root:not(#pk) :is(.cards, .two, .three) { gap: .85rem !important; }
:root:not(#pk) .page { padding-top: 1.1rem !important; }

:root:not(#pk) .metric span { color: var(--pk-muted) !important; font-size: .78rem !important; font-weight: 560; }
:root:not(#pk) .metric strong { font-size: 1.75rem !important; font-weight: 680 !important; letter-spacing: -.03em; color: var(--pk-ink) !important; }
:root:not(#pk) .metric small { color: var(--pk-muted) !important; }
:root:not(#pk) :is(.eyebrow, .landing-eyebrow) {
  color: var(--pk-accent-ink) !important;
  font-size: .66rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

/* Listes */
:root:not(#pk) .item { border-bottom-color: var(--pk-line) !important; padding: .7rem 0 !important; }
:root:not(#pk) .item strong { color: var(--pk-ink) !important; font-weight: 600 !important; }
:root:not(#pk) .item small { color: var(--pk-muted) !important; }
:root:not(#pk) :is(.data-row, .phone-list-row, .presence-row, .commercial-version-row, .meeting-room-row, .ovh-live-row, .ovh-number-row) { border-color: var(--pk-line) !important; }
:root:not(#pk) :is(.empty-state, .pastek-empty-v56696, .communications-empty-v56695, .vmstudio-empty, .pastek-number-assignment-v566977__empty) {
  background: var(--pk-surface-2) !important;
  border: 1px dashed var(--pk-line-strong) !important;
  border-radius: var(--pk-r) !important;
  color: var(--pk-muted) !important;
}
:root:not(#pk) .table-wrap { overflow: auto; border: 1px solid var(--pk-line); border-radius: var(--pk-r); }
:root:not(#pk) .table-wrap table { width: 100%; border-collapse: collapse; font-size: .8rem; }
:root:not(#pk) .table-wrap :is(th, td) { padding: .6rem .75rem; border-bottom: 1px solid var(--pk-line); text-align: left; }
:root:not(#pk) .table-wrap th { background: var(--pk-surface-2); color: var(--pk-muted); font-weight: 600; font-size: .72rem; }

/* ------------------------------------------------------------------ */
/* 5. Boutons                                                           */
/* ------------------------------------------------------------------ */
:root:not(#pk) :is(button, .soft, .primary, .danger, .callBtn, .portal-link-button, .file-button, a.button) {
  min-height: var(--pk-ctl-h);
  border-radius: var(--pk-r) !important;
  font-weight: 600 !important;
  font-size: .78rem !important;
  letter-spacing: -.005em;
  box-shadow: none !important;
  transition: background-color .12s, border-color .12s, color .12s, box-shadow .12s !important;
}
:root:not(#pk) :is(button, .soft, .portal-link-button, .file-button):not(.primary):not(.callBtn):not(.danger):not(.pastek-nav-item):not(.pastek-nav-folder-toggle):not(.pastek-nav-group-toggle):not(.pastek-user-card):not([role="tab"]):not(.conversation-row) {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-line-strong) !important;
  color: var(--pk-ink-2) !important;
}
:root:not(#pk) :is(button, .soft):not(.primary):not(.callBtn):not(.danger):not(.pastek-nav-item):not(.pastek-nav-folder-toggle):not(.pastek-user-card):hover {
  background: var(--pk-sunken) !important;
  color: var(--pk-ink) !important;
}
:root:not(#pk) :is(.primary, .callBtn, button.primary, .row-actions .primary, .button-primary) {
  background: var(--pk-accent) !important;
  background-image: none !important;
  border: 1px solid var(--pk-accent) !important;
  color: #fff !important;
}
:root:not(#pk) :is(.primary, .callBtn, .button-primary):hover { background: var(--pk-accent-hover) !important; border-color: var(--pk-accent-hover) !important; }
/* « Danger » = action destructive secondaire : contour, pas de gros bloc rouge. */
:root:not(#pk) :is(.danger, button.danger) {
  background: transparent !important;
  border: 1px solid var(--pk-err-line) !important;
  color: var(--pk-err) !important;
}
:root:not(#pk) :is(.danger, button.danger):hover { background: var(--pk-err-soft) !important; }
:root:not(#pk) button:disabled { opacity: .5 !important; }

/* ------------------------------------------------------------------ */
/* 6. Champs                                                            */
/* ------------------------------------------------------------------ */
:root:not(#pk) label { color: var(--pk-ink-2) !important; font-size: .74rem !important; font-weight: 600 !important; }
:root:not(#pk) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]), select, textarea) {
  background-color: var(--pk-surface) !important;
  border: 1px solid var(--pk-line-strong) !important;
  border-radius: var(--pk-r) !important;
  color: var(--pk-ink) !important;
  min-height: var(--pk-ctl-h);
  font-size: .82rem !important;
  box-shadow: none;
}
:root:not(#pk) :is(input, select, textarea)::placeholder { color: var(--pk-faint) !important; opacity: 1; }
:root:not(#pk) :is(input, select, textarea):hover:not(:focus):not(:disabled) { border-color: color-mix(in srgb, var(--pk-line-strong) 60%, var(--pk-ink) 40%) !important; }
:root:not(#pk) :is(input, select, textarea):focus {
  border-color: var(--pk-accent) !important;
  box-shadow: 0 0 0 3px var(--pk-ring) !important;
  outline: none !important;
}
:root:not(#pk) :is(input, select, textarea):disabled { background-color: var(--pk-sunken) !important; color: var(--pk-muted) !important; }
:root:not(#pk) input[type="checkbox"], :root:not(#pk) input[type="radio"] { accent-color: var(--pk-accent); }

/* ------------------------------------------------------------------ */
/* 7. Badges & états                                                    */
/* ------------------------------------------------------------------ */
:root:not(#pk) :is(.pill, .badge, .status-badge, .channel-badge, .offer-badge, .flow-status, .app-status) {
  min-height: 1.45rem !important;
  padding: .15rem .55rem !important;
  border-radius: 999px !important;
  font-size: .68rem !important;
  font-weight: 650 !important;
  background: var(--pk-sunken) !important;
  border: 1px solid var(--pk-line) !important;
  color: var(--pk-ink-2) !important;
}
:root:not(#pk) :is(.pill.good, .badge.good, .status-active, .status-published, .badge.status-active, .badge.status-published, .badge.status-completed, .badge.status-paid) {
  background: var(--pk-ok-soft) !important; border-color: var(--pk-ok-line) !important; color: var(--pk-ok) !important;
}
:root:not(#pk) :is(.status-draft, .badge.status-draft, .badge.status-pending, .badge.status-pending_activation, .badge.status-reserved) {
  background: var(--pk-warn-soft) !important; border-color: var(--pk-warn-line) !important; color: var(--pk-warn) !important;
}
:root:not(#pk) :is(.badge.status-error, .badge.status-failed, .badge.status-cancelled, .badge.status-suspended, .badge.status-disabled) {
  background: var(--pk-err-soft) !important; border-color: var(--pk-err-line) !important; color: var(--pk-err) !important;
}
:root:not(#pk) .notice { background: var(--pk-ok-soft) !important; border-color: var(--pk-ok-line) !important; color: var(--pk-ok) !important; border-radius: var(--pk-r) !important; }
:root:not(#pk) .notice.warning { background: var(--pk-warn-soft) !important; border-color: var(--pk-warn-line) !important; color: var(--pk-warn) !important; }
:root:not(#pk) :is(.error-box, p.error-text, .error-text) { color: var(--pk-err) !important; }
:root:not(#pk) .error-box { background: var(--pk-err-soft) !important; border: 1px solid var(--pk-err-line) !important; border-radius: var(--pk-r) !important; }

/* Présence : couleurs sémantiques identiques partout */
:root:not(#pk) .pastek-presence-dot[data-status="available"], :root:not(#pk) .presence-dot.available { background: #22a559 !important; }
:root:not(#pk) .pastek-presence-dot[data-status="busy"], :root:not(#pk) .presence-dot.busy { background: #e5484d !important; }
:root:not(#pk) .pastek-presence-dot[data-status="meeting"], :root:not(#pk) .presence-dot.meeting { background: #8b5cf6 !important; }
:root:not(#pk) .pastek-presence-dot[data-status="dnd"], :root:not(#pk) .presence-dot.dnd { background: #b4232a !important; }
:root:not(#pk) .pastek-presence-dot[data-status="away"], :root:not(#pk) .presence-dot.away { background: #e8a33d !important; }
:root:not(#pk) .pastek-presence-dot[data-status="offline"], :root:not(#pk) .presence-dot.offline { background: #9aa2ad !important; }

/* ------------------------------------------------------------------ */
/* 8. Onglets, modales, toasts                                          */
/* ------------------------------------------------------------------ */
:root:not(#pk) .pastek-tabs { border-bottom: 1px solid var(--pk-line) !important; gap: .15rem !important; background: transparent !important; }
:root:not(#pk) .pastek-tabs button {
  background: transparent !important; border: 0 !important; border-bottom: 2px solid transparent !important;
  border-radius: 0 !important; color: var(--pk-muted) !important; min-height: 2.25rem; padding: .4rem .75rem !important; margin-bottom: -1px;
}
:root:not(#pk) .pastek-tabs button:hover { color: var(--pk-ink) !important; background: transparent !important; }
:root:not(#pk) .pastek-tabs button.active { color: var(--pk-accent-ink) !important; border-bottom-color: var(--pk-accent) !important; background: transparent !important; }

:root:not(#pk) :is(.pastek-modal-backdrop, .pastek-vmstudio-modal-backdrop, .pastek-auth-backdrop-v505) { background: var(--pk-scrim) !important; backdrop-filter: blur(3px) !important; }
:root:not(#pk) :is(.pastek-modal, .pastek-vmstudio-modal, .reminder-dialog, .pastek-v950-legal-dialog) {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--pk-shadow-pop) !important;
  color: var(--pk-ink) !important;
}
:root:not(#pk) .pastek-modal-header { background: color-mix(in srgb, var(--pk-surface) 94%, transparent) !important; border-bottom-color: var(--pk-line) !important; }
:root:not(#pk) .pastek-modal-close { width: 2rem !important; min-height: 2rem !important; border-color: transparent !important; background: transparent !important; color: var(--pk-muted) !important; }
:root:not(#pk) .modal-actions { border-top: 1px solid var(--pk-line); padding-top: .9rem; margin-top: 1rem; display: flex; gap: .5rem; justify-content: flex-end; flex-wrap: wrap; }

:root:not(#pk) .toast {
  background: var(--pk-ink) !important;
  color: var(--pk-canvas) !important;
  border-radius: var(--pk-r) !important;
  box-shadow: var(--pk-shadow-pop) !important;
  font-size: .8rem !important;
  font-weight: 560;
  z-index: 10050 !important;   /* au-dessus de la modale du studio répondeur (9999) */
}

:root:not(#pk) :is(.lockOverlay) { background: var(--pk-canvas) !important; }
:root:not(#pk) :is(.lockCard, .authCard) { background: var(--pk-surface) !important; border-color: var(--pk-line) !important; box-shadow: var(--pk-shadow-2) !important; }

/* Popover présence (/app) */
:root:not(#pk) .pastek-presence-popover-v56694 { background: var(--pk-surface) !important; border: 1px solid var(--pk-line) !important; box-shadow: var(--pk-shadow-pop) !important; border-radius: var(--pk-r-lg) !important; color: var(--pk-ink) !important; }
:root:not(#pk) .pastek-compact-presence-trigger-v56694 { background: var(--pk-surface) !important; border: 1px solid var(--pk-line) !important; color: var(--pk-ink) !important; height: 2rem !important; min-height: 2rem !important; }

/* ------------------------------------------------------------------ */
/* 8bis. Garde-fou de contraste (classes posées par pastek-fixes-v567100.js)   */
/* ------------------------------------------------------------------ */
:root:not(#pk) :is(.pastek-nav-chevron, .pastek-nav-folder-chevron) { color: var(--pk-muted) !important; }
:root:not(#pk) .pk-cg-muted { color: var(--pk-muted) !important; }
:root[data-pastek-theme="dark"]:not(#pk) .pk-dk-ink { color: var(--pk-ink) !important; }
:root[data-pastek-theme="dark"]:not(#pk) .pk-dk-surface { background-color: var(--pk-surface-2) !important; background-image: none !important; border-color: var(--pk-line) !important; }
:root[data-pastek-theme="dark"]:not(#pk) .pk-dk-ok { background-color: var(--pk-ok-soft) !important; background-image: none !important; border-color: var(--pk-ok-line) !important; }
:root[data-pastek-theme="dark"]:not(#pk) .pk-dk-warn { background-color: var(--pk-warn-soft) !important; background-image: none !important; border-color: var(--pk-warn-line) !important; }
:root[data-pastek-theme="dark"]:not(#pk) .pk-dk-err { background-color: var(--pk-accent-soft) !important; background-image: none !important; border-color: var(--pk-accent-line) !important; }
:root[data-pastek-theme="dark"]:not(#pk) .pk-dk-info { background-color: var(--pk-info-soft) !important; background-image: none !important; border-color: var(--pk-info-line) !important; }

/* ------------------------------------------------------------------ */
/* 8ter. Correctifs de composants                                       */
/* ------------------------------------------------------------------ */
/* Barre du haut : ne déborde plus (titre compressible, outils compacts). */
:root:not(#pk) .top > div:first-child { min-width: 0; flex: 1 1 auto; }
:root:not(#pk) .topActions { flex: 0 1 auto; min-width: 0; }
:root:not(#pk) .pastek-top-tools { gap: .4rem !important; flex-wrap: nowrap !important; }
:root:not(#pk) .pastek-presence-select-wrap { max-width: 9.5rem !important; min-width: 0 !important; }
:root:not(#pk) .pastek-presence-select-wrap select { width: 100% !important; }
@media (max-width: 1360px) {
  :root:not(#pk) .pastek-ui-scale { display: none !important; }
}
/* Carte « rappels » vide en tête de l'accueil /app : masquée tant qu'elle n'a rien à montrer. */
:root:not(#pk) #pastekReminderDashboard:not(:has(*)) { display: none !important; }

/* /platform > Sociétés : ce bloc n'avait aucun style hors onboarding (« 3Sociétés »). */
:root:not(#pk) .co-company-summary { display: grid; gap: 1rem; }
:root:not(#pk) .co-summary-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
:root:not(#pk) .co-summary-head h2 { margin: .15rem 0 .3rem !important; font-size: 1.15rem !important; }
:root:not(#pk) .co-summary-head p { margin: 0; color: var(--pk-muted) !important; max-width: 60ch; }
:root:not(#pk) .co-eyebrow { color: var(--pk-accent-ink) !important; font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
:root:not(#pk) .co-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: .75rem; }
:root:not(#pk) .co-metrics > article {
  display: flex; flex-direction: column-reverse; gap: .2rem; padding: .85rem 1rem;
  background: var(--pk-surface) !important; border: 1px solid var(--pk-line) !important; border-radius: var(--pk-r-lg); box-shadow: var(--pk-shadow-1);
}
:root:not(#pk) .co-metrics strong { font-size: 1.6rem; font-weight: 680; letter-spacing: -.03em; color: var(--pk-ink) !important; font-variant-numeric: tabular-nums; }
:root:not(#pk) .co-metrics span { color: var(--pk-muted) !important; font-size: .76rem; font-weight: 560; }
:root:not(#pk) .co-company-list { display: grid; background: var(--pk-surface); border: 1px solid var(--pk-line); border-radius: var(--pk-r-lg); box-shadow: var(--pk-shadow-1); overflow: hidden; }
:root:not(#pk) .co-company-list > article { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-bottom: 1px solid var(--pk-line); }
:root:not(#pk) .co-company-list > article:last-child { border-bottom: 0; }
:root:not(#pk) .co-company-list > article > div { display: grid; gap: .15rem; min-width: 0; }
:root:not(#pk) .co-company-list strong { color: var(--pk-ink) !important; font-weight: 620; }
:root:not(#pk) .co-company-list strong span { color: var(--pk-muted) !important; font-weight: 500; font-variant-numeric: tabular-nums; margin-left: .25rem; }
:root:not(#pk) .co-company-list small { color: var(--pk-muted) !important; }
:root:not(#pk) .co-company-list select { width: auto !important; min-width: 9rem; flex: none; }

/* Mise en route : la règle « .onboarding-steps article span » (pastille 28 px)
   s'appliquait aussi au libellé « Ouvrir » -> texte tronqué dans un rond vert. */
:root:not(#pk) .onboarding-steps article { border-radius: var(--pk-r) !important; padding: .8rem .9rem !important; background: var(--pk-surface) !important; border-color: var(--pk-line) !important; }
:root:not(#pk) .onboarding-steps article.done { background: var(--pk-surface) !important; }
:root:not(#pk) .onboarding-steps article.pending { background: var(--pk-warn-soft) !important; border-color: var(--pk-warn-line) !important; }
:root:not(#pk) .onboarding-steps article > span:first-child { width: 1.6rem !important; height: 1.6rem !important; flex: none; font-size: .78rem !important; font-weight: 700; background: var(--pk-sunken) !important; color: var(--pk-muted) !important; }
:root:not(#pk) .onboarding-steps article.done > span:first-child { background: var(--pk-ok) !important; color: #fff !important; }
:root:not(#pk) .onboarding-steps article.pending > span:first-child { background: var(--pk-warn) !important; color: #fff !important; }
:root[data-pastek-theme="dark"]:not(#pk) .onboarding-steps article:is(.done, .pending) > span:first-child { color: #111 !important; }
:root:not(#pk) .onboarding-steps article > span.pastek-onboarding-step-open-v566976,
:root:not(#pk) .onboarding-steps article > span.pastek-onboarding-step-open-v566976 span {
  width: auto !important; height: auto !important; border-radius: 0 !important; display: flex !important;
  background: transparent !important; color: var(--pk-muted) !important; font-size: .74rem !important; font-weight: 600 !important;
}
:root:not(#pk) .pastek-onboarding-step-open-v566976 b { background: var(--pk-surface) !important; border-color: var(--pk-line) !important; color: var(--pk-ink-2) !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: var(--pk-r-sm) !important; }
:root:not(#pk) .onboarding-steps article small { color: var(--pk-muted) !important; }
:root:not(#pk) .progress-track { background: var(--pk-sunken) !important; border-radius: 99px !important; }
:root:not(#pk) .progress-track > span { background: var(--pk-accent) !important; border-radius: 99px !important; }

/* Icônes « ☎ » sur fond rosé : contraste AA */
:root:not(#pk) :is(.vmstudio-icon, .pastek-number-assignment-v566977__destination .icon) { color: var(--pk-accent-ink) !important; background: var(--pk-accent-soft) !important; }

/* Cartes « Numéros » (V566977) : numéro lisible dans les deux thèmes */
:root:not(#pk) .pastek-number-assignment-v566977__identity strong { color: var(--pk-ink) !important; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }

/* Résumé du téléphone (/app) : chiffres et libellés lisibles */
:root:not(#pk) .phone-summary-grid > button { background: var(--pk-surface-2) !important; border: 1px solid var(--pk-line) !important; }
:root:not(#pk) .phone-summary-grid > button strong { color: var(--pk-ink) !important; font-variant-numeric: tabular-nums; }
:root:not(#pk) .phone-summary-grid > button span { color: var(--pk-muted) !important; }

/* Héros des tableaux de bord : dégradé blanc remplacé par une surface tokenisée */
:root:not(#pk) :is(.communications-hero, .company-apps-hero) {
  background: var(--pk-surface) !important;
  background-image: linear-gradient(120deg, var(--pk-accent-soft), transparent 55%) !important;
  border: 1px solid var(--pk-line) !important;
  box-shadow: var(--pk-shadow-1) !important;
}
:root:not(#pk) :is(.communications-hero, .company-apps-hero) :is(h1, h2, p) { color: var(--pk-ink) !important; }
:root:not(#pk) :is(.communications-hero, .company-apps-hero) p { color: var(--pk-ink-2) !important; }

/* ------------------------------------------------------------------ */
/* 11. V5.6.7.2.00 — moins d'étapes (pastek-quick-v567200.js)           */
/* ------------------------------------------------------------------ */
:root:not(#pk) kbd { display: inline-grid; place-items: center; min-width: 1.35rem; height: 1.3rem; padding: 0 .3rem; border: 1px solid var(--pk-line-strong); border-bottom-width: 2px; border-radius: 5px; background: var(--pk-surface-2); color: var(--pk-ink-2); font: 600 .66rem/1 var(--pk-font); }

/* Bouton de recherche dans la barre du haut */
:root:not(#pk) .pk-search-trigger { display: inline-flex !important; align-items: center; gap: .45rem; height: 2rem !important; min-height: 2rem !important; padding: 0 .45rem 0 .6rem !important; min-width: 12rem; justify-content: flex-start; color: var(--pk-muted) !important; background: var(--pk-surface) !important; border: 1px solid var(--pk-line) !important; font-weight: 500 !important; }
:root:not(#pk) .pk-search-trigger span { flex: 1; text-align: left; }
@media (max-width: 1200px) { :root:not(#pk) .pk-search-trigger { min-width: 0; } :root:not(#pk) .pk-search-trigger :is(span, kbd) { display: none; } }

/* Palette */
.pk-palette-open, .pk-palette-open body { overflow: hidden; }
:root:not(#pk) .pk-palette-backdrop { position: fixed; inset: 0; z-index: 10040; background: var(--pk-scrim); display: flex; justify-content: center; align-items: flex-start; padding: 12vh 1rem 1rem; }
:root:not(#pk) .pk-palette-backdrop[hidden] { display: none !important; }
:root:not(#pk) .pk-palette { width: min(40rem, 100%); max-height: 70vh; display: flex; flex-direction: column; background: var(--pk-surface); color: var(--pk-ink); border: 1px solid var(--pk-line); border-radius: 14px; box-shadow: var(--pk-shadow-pop); overflow: hidden; }
:root:not(#pk) .pk-palette-field { display: flex; align-items: center; gap: .6rem; padding: .25rem .9rem; border-bottom: 1px solid var(--pk-line); color: var(--pk-muted); }
:root:not(#pk) .pk-palette-field input { flex: 1; border: 0 !important; box-shadow: none !important; background: transparent !important; font-size: 1rem !important; min-height: 3.1rem; padding: 0 !important; }
:root:not(#pk) .pk-palette-list { overflow: auto; padding: .35rem; }
:root:not(#pk) .pk-palette-row { display: flex; align-items: center; gap: .7rem; padding: .55rem .65rem; border-radius: var(--pk-r); cursor: pointer; }
:root:not(#pk) .pk-palette-row.is-active { background: var(--pk-accent-soft); }
:root:not(#pk) .pk-palette-row.is-active .pk-palette-icon { color: var(--pk-accent-ink); }
:root:not(#pk) .pk-palette-icon { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: var(--pk-r-sm); background: var(--pk-sunken); color: var(--pk-ink-2); flex: none; }
:root:not(#pk) .pk-palette-text { display: grid; min-width: 0; flex: 1; }
:root:not(#pk) .pk-palette-text strong { font-weight: 600; font-size: .86rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:root:not(#pk) .pk-palette-text small { color: var(--pk-muted); font-size: .74rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:root:not(#pk) .pk-palette-extra { display: flex; gap: .3rem; }
:root:not(#pk) .pk-palette-extra button { min-height: 1.9rem !important; height: 1.9rem; padding: 0 .55rem !important; display: inline-grid; place-items: center; }
:root:not(#pk) .pk-palette-empty { padding: 1.5rem; text-align: center; color: var(--pk-muted); }
:root:not(#pk) .pk-palette-foot { display: flex; gap: 1rem; padding: .5rem .9rem; border-top: 1px solid var(--pk-line); color: var(--pk-muted); font-size: .72rem; background: var(--pk-surface-2); }
:root:not(#pk) .pk-palette-foot kbd { margin-right: .15rem; }
@media (max-width: 600px) { :root:not(#pk) .pk-palette-backdrop { padding-top: 1rem; } :root:not(#pk) .pk-palette-foot { display: none; } }

/* Aide raccourcis */
:root:not(#pk) .pk-help { width: 100%; border-collapse: collapse; font-size: .84rem; }
:root:not(#pk) .pk-help td { padding: .5rem .25rem; border-bottom: 1px solid var(--pk-line); }
:root:not(#pk) .pk-help td:first-child { width: 11rem; white-space: nowrap; }

/* Ajouter des collègues */
:root:not(#pk) .pk-addpeople-cta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; margin-bottom: .85rem; background: var(--pk-surface); border: 1px solid var(--pk-line); border-left: 3px solid var(--pk-accent); border-radius: var(--pk-r-lg); box-shadow: var(--pk-shadow-1); }
:root:not(#pk) .pk-addpeople-cta div { display: grid; gap: .1rem; }
:root:not(#pk) .pk-addpeople-cta small { color: var(--pk-muted); }
:root:not(#pk) .pk-intro { margin-top: 0; }
:root:not(#pk) .pk-people { display: grid; gap: .45rem; }
:root:not(#pk) .pk-person { display: grid; grid-template-columns: 1.1fr 1.3fr 9rem 2rem; gap: .45rem; align-items: center; }
:root:not(#pk) .pk-person.is-invalid input { border-color: var(--pk-err) !important; }
:root:not(#pk) .pk-p-del { width: 2rem; padding: 0 !important; color: var(--pk-muted) !important; }
:root:not(#pk) .pk-people-tools { display: flex; gap: .5rem; margin: .6rem 0; flex-wrap: wrap; }
:root:not(#pk) .pk-teams { border: 1px solid var(--pk-line); border-radius: var(--pk-r); padding: .5rem .75rem .65rem; margin: .5rem 0 0; display: flex; flex-wrap: wrap; gap: .35rem 1.1rem; }
:root:not(#pk) .pk-teams legend { font-size: .74rem; font-weight: 600; color: var(--pk-ink-2); padding: 0 .3rem; }
:root:not(#pk) .pk-team { display: inline-flex !important; align-items: center; gap: .4rem; margin: 0 !important; font-weight: 500 !important; font-size: .82rem !important; }
:root:not(#pk) .pk-team small { color: var(--pk-muted); }
:root:not(#pk) .pk-result { width: 100%; border-collapse: collapse; font-size: .82rem; margin: .5rem 0; }
:root:not(#pk) .pk-result :is(th, td) { text-align: left; padding: .5rem; border-bottom: 1px solid var(--pk-line); vertical-align: top; }
:root:not(#pk) .pk-result th { color: var(--pk-muted); font-weight: 600; font-size: .72rem; }
:root:not(#pk) .pk-result td small { display: block; color: var(--pk-muted); }
:root:not(#pk) .pk-result tr.is-error td { color: var(--pk-err); }
:root:not(#pk) .pk-result code { font-size: .82rem; background: var(--pk-sunken); padding: .1rem .35rem; border-radius: 5px; }
@media (max-width: 640px) { :root:not(#pk) .pk-person { grid-template-columns: 1fr 1fr; } }

/* À rappeler */
:root:not(#pk) .pk-todo { margin-bottom: .85rem; }
:root:not(#pk) .pk-todo-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .4rem; }
:root:not(#pk) .pk-todo-head h2 { margin: 0 !important; display: flex; align-items: center; gap: .45rem; }
:root:not(#pk) .pk-count { display: inline-grid; place-items: center; min-width: 1.4rem; height: 1.4rem; padding: 0 .35rem; border-radius: 99px; background: var(--pk-accent); color: #fff; font-size: .7rem; font-weight: 700; }
:root:not(#pk) .pk-todo-row { display: flex; align-items: center; gap: .75rem; padding: .6rem 0; border-top: 1px solid var(--pk-line); }
:root:not(#pk) .pk-todo-row.is-done { opacity: .45; }
:root:not(#pk) .pk-todo-kind { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; flex: none; }
:root:not(#pk) .pk-todo-kind.is-missed { background: var(--pk-err-soft); color: var(--pk-err); }
:root:not(#pk) .pk-todo-kind.is-vm { background: var(--pk-info-soft); color: var(--pk-info); }
:root:not(#pk) .pk-todo-text { display: grid; flex: 1; min-width: 0; }
:root:not(#pk) .pk-todo-text small { color: var(--pk-muted); }
:root:not(#pk) .pk-todo-text em { color: var(--pk-ink-2); font-style: normal; font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:root:not(#pk) .pk-todo-empty { color: var(--pk-muted); margin: .3rem 0 0; }

/* Numéros */
:root:not(#pk) .pk-tel { font-variant-numeric: tabular-nums; white-space: nowrap; }
:root:not(#pk) .pk-tel.is-callable { cursor: pointer; text-decoration: underline dotted color-mix(in srgb, currentColor 40%, transparent); text-underline-offset: 3px; }
:root:not(#pk) .pk-tel.is-callable:hover { color: var(--pk-accent-ink) !important; }
:root:not(#pk) .pk-tel-copy { min-height: 0 !important; height: 1.3rem; width: 1.3rem; padding: 0 !important; margin-left: .25rem; border: 0 !important; background: transparent !important; color: var(--pk-faint) !important; font-size: .78rem !important; opacity: 0; vertical-align: middle; }
:root:not(#pk) :hover > .pk-tel-copy, :root:not(#pk) .pk-tel:hover + .pk-tel-copy, :root:not(#pk) .pk-tel-copy:focus-visible { opacity: 1; }
@media (hover: none) { :root:not(#pk) .pk-tel-copy { opacity: .7; } }

/* ------------------------------------------------------------------ */
/* 9. Barres de défilement discrètes                                     */
/* ------------------------------------------------------------------ */
:root:not(#pk) * { scrollbar-width: thin; scrollbar-color: var(--pk-line-strong) transparent; }

/* ------------------------------------------------------------------ */
/* 10. Mobile                                                           */
/* ------------------------------------------------------------------ */
@media (max-width: 760px) {
  /* Bug historique : la règle « max-width:1080px » (2 colonnes) l'emportait sur
     « max-width:760px » ; la barre latérale étant masquée, le contenu tombait
     dans la colonne de 11rem (176 px) et le reste de l'écran restait vide. */
  :root:not(#pk) .shell { grid-template-columns: minmax(0, 1fr) !important; }
  :root:not(#pk) .main { padding: 0 1rem 5.5rem !important; }
  :root:not(#pk) .top { margin: 0 -1rem !important; padding: 0 1rem !important; height: auto !important; min-height: 3.5rem !important; }
  :root:not(#pk) .top p { display: none !important; }
  :root:not(#pk) :is(.cards) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  :root:not(#pk) :is(.two, .three) { grid-template-columns: 1fr !important; }
}
@media (prefers-reduced-motion: reduce) {
  :root:not(#pk) * { transition: none !important; animation-duration: .001ms !important; }
}
/* === PASTEK 5.6.7.1.00 END: pastek-ds-v567100.css === */
