/* CSL Gestion 2.0.69 — finition sombre premium de l'espace intervenant.
 * Couche purement visuelle, chargée après v2.0.64. */

@media (prefers-color-scheme: dark) {
  body.csl-attendance-person-page {
    --csl-i69-bg: #080f16;
    --csl-i69-surface: #0f1822;
    --csl-i69-surface-2: #131e29;
    --csl-i69-surface-3: #172430;
    --csl-i69-line: rgba(174, 195, 214, .15);
    --csl-i69-line-strong: rgba(174, 195, 214, .23);
    --csl-i69-text: #f3f7fb;
    --csl-i69-soft: #b4c0cb;
    --csl-i69-muted: #8695a3;
    --csl-i69-red: #ff5362;
    --csl-i69-green: #6bc58f;
    color-scheme: dark;
  }

  body.csl-attendance-person-page .csl-attendance--instructor {
    background:
      radial-gradient(circle at 14% -10%, rgba(208, 42, 60, .08), transparent 28%),
      radial-gradient(circle at 86% 4%, rgba(72, 125, 151, .08), transparent 30%),
      linear-gradient(180deg, #080f16 0%, #0b121a 48%, #080f16 100%) !important;
    color: var(--csl-i69-text) !important;
  }

  /* En-tête : moins "bloc gris", davantage carte premium. */
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2,
  body.csl-attendance-person-page .csl-i62-header {
    border: 1px solid var(--csl-i69-line) !important;
    background:
      radial-gradient(circle at 10% 12%, rgba(213, 46, 62, .10), transparent 27%),
      radial-gradient(circle at 80% 100%, rgba(69, 123, 107, .08), transparent 34%),
      linear-gradient(145deg, #121c27 0%, #0d1620 100%) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .26), inset 0 1px rgba(255,255,255,.025) !important;
  }
  body.csl-attendance-person-page .csl-i62-header__avatar {
    border: 1px solid rgba(189, 208, 222, .23) !important;
    outline: 0 !important;
    background: #1a2936 !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.28) !important;
  }
  body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__badge {
    color: #ff6976 !important;
  }
  body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__hello small {
    color: #9eacb9 !important;
  }
  body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__hello h1 {
    color: #f8fbfd !important;
    text-shadow: none !important;
  }
  body.csl-attendance-person-page .csl-i62-header__actions .csl-attendance-instructor-header-v2__urgent {
    border: 1px solid rgba(255, 95, 109, .34) !important;
    background: linear-gradient(135deg, #9f1f2d, #d52e40) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(154, 26, 43, .20) !important;
  }
  body.csl-attendance-person-page .csl-i62-header__actions .csl-attendance-instructor-header-v2__logout {
    border: 1px solid var(--csl-i69-line-strong) !important;
    background: #17222d !important;
    color: #e7edf2 !important;
    box-shadow: none !important;
  }

  /* Barre d'actions : garder les couleurs comme repère, sans aplats flashy. */
  body.csl-attendance-person-page .csl-attendance-action-bar {
    padding: 7px !important;
    gap: 7px !important;
    border: 1px solid var(--csl-i69-line) !important;
    background: rgba(12, 20, 29, .92) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.018) !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab {
    border: 1px solid rgba(174,195,214,.12) !important;
    color: #d5dee6 !important;
    box-shadow: none !important;
    filter: none !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-calendar { background: #122633 !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-date { background: #2a191d !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-add { background: #17291f !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-private { background: #241c2f !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-security { background: #1a222b !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab .csl-attendance-action-icon {
    border: 1px solid rgba(255,255,255,.05) !important;
    background: rgba(255,255,255,.07) !important;
    color: currentColor !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-calendar { color: #8fc4db !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-date { color: #ff929c !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-add { color: #8bd0a5 !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-private { color: #c5a7e5 !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-security { color: #b9c5cf !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(174,195,214,.25) !important;
    filter: brightness(1.06) !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-active {
    border-color: rgba(255,255,255,.20) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 8px 18px rgba(0,0,0,.18) !important;
  }

  /* Panneau d'outil / coordonnées. */
  body.csl-attendance-person-page .csl-attendance-action-panel,
  body.csl-attendance-person-page .csl-attendance-private-content--manager {
    border-color: var(--csl-i69-line) !important;
    background: linear-gradient(145deg, #101a24, #0c151e) !important;
    color: var(--csl-i69-soft) !important;
    box-shadow: 0 16px 38px rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.018) !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-panel__title strong {
    color: var(--csl-i69-text) !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-panel__title small {
    color: var(--csl-i69-muted) !important;
  }

  /* Les deux cartes qui restaient quasi blanches sur la capture. */
  body.csl-attendance-person-page .csl-attendance-manager-contact-grid {
    gap: 12px !important;
  }
  body.csl-attendance-person-page .csl-attendance-manager-contact-card {
    padding: 14px 15px !important;
    border: 1px solid var(--csl-i69-line) !important;
    border-radius: 15px !important;
    background: linear-gradient(145deg, #15212c, #101923) !important;
    color: var(--csl-i69-soft) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.018) !important;
  }
  body.csl-attendance-person-page .csl-attendance-manager-contact-card span {
    color: #8999a7 !important;
    letter-spacing: .07em !important;
  }
  body.csl-attendance-person-page .csl-attendance-manager-contact-card strong {
    color: #f2f6f9 !important;
    opacity: 1 !important;
  }
  body.csl-attendance-person-page .csl-attendance-manager-contact-card a {
    border: 1px solid rgba(132, 171, 198, .22) !important;
    background: #203446 !important;
    color: #dceaf3 !important;
    box-shadow: none !important;
  }
  body.csl-attendance-person-page .csl-attendance-private-manager-note {
    margin-top: 4px !important;
    padding: 13px 15px !important;
    border: 1px solid rgba(174,195,214,.12) !important;
    border-radius: 14px !important;
    background: #0d1720 !important;
    color: #9ba9b6 !important;
    box-shadow: inset 3px 0 rgba(128, 156, 178, .24) !important;
  }
  body.csl-attendance-person-page .csl-attendance-private-manager-note strong {
    color: #dce4eb !important;
  }

  /* Prochaines séances. */
  body.csl-attendance-person-page .csl-attendance-upcoming--compact {
    border: 1px solid var(--csl-i69-line) !important;
    background: linear-gradient(145deg, #0f1923, #0b141d) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.018) !important;
  }
  body.csl-attendance-person-page .csl-attendance-section-heading .csl-attendance-eyebrow {
    color: #ff6976 !important;
  }
  body.csl-attendance-person-page .csl-attendance-section-heading h2 {
    color: #f5f8fb !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-grid {
    gap: 11px !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card {
    padding: 15px 16px !important;
    border: 1px solid rgba(174,195,214,.15) !important;
    border-radius: 16px !important;
    background: linear-gradient(145deg, #141f2a, #0f1822) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.018) !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card::before {
    top: 15px !important;
    bottom: 15px !important;
    width: 3px !important;
    background: #ef4354 !important;
    box-shadow: 0 0 12px rgba(239,67,84,.16) !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card strong {
    color: #ff8994 !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card span {
    color: #eef3f7 !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card small {
    color: #9ba9b6 !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card:hover,
  body.csl-attendance-person-page .csl-attendance-upcoming-card:focus-visible {
    border-color: rgba(146,179,202,.34) !important;
    background: linear-gradient(145deg, #192735, #111d28) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
  }

  /* Champs des panneaux intervenant. */
  body.csl-attendance-person-page .csl-attendance-personal-form input,
  body.csl-attendance-person-page .csl-attendance-personal-form textarea,
  body.csl-attendance-person-page .csl-attendance-password-form--embedded input,
  body.csl-attendance-person-page .csl-attendance-manager-password-form--embedded input,
  body.csl-attendance-person-page .csl-attendance-tool-date-form input,
  body.csl-attendance-person-page .csl-attendance-tool-add-form input,
  body.csl-attendance-person-page .csl-attendance-tool-add-form select,
  body.csl-attendance-person-page .csl-attendance-calendar-help input {
    border-color: rgba(174,195,214,.19) !important;
    background: #0b151e !important;
    color: #f2f6f9 !important;
    box-shadow: inset 0 1px rgba(255,255,255,.015) !important;
  }
  body.csl-attendance-person-page .csl-attendance-personal-form input:focus,
  body.csl-attendance-person-page .csl-attendance-personal-form textarea:focus,
  body.csl-attendance-person-page .csl-attendance-tool-date-form input:focus,
  body.csl-attendance-person-page .csl-attendance-tool-add-form input:focus,
  body.csl-attendance-person-page .csl-attendance-tool-add-form select:focus {
    border-color: rgba(103, 158, 195, .64) !important;
    box-shadow: 0 0 0 3px rgba(68, 129, 169, .12) !important;
  }

  /* Photo privée (hérite de v2.0.64 mais avec le nouveau niveau de contraste). */
  body.csl-attendance-person-page .csl-i64-photo-editor {
    border-color: var(--csl-i69-line) !important;
    background: linear-gradient(145deg, #131f2a, #0e1821) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.018) !important;
  }
}

@media (prefers-color-scheme: dark) and (max-width: 760px) {
  body.csl-attendance-person-page .csl-attendance-action-bar {
    padding: 5px !important;
    gap: 5px !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab {
    min-height: 55px !important;
  }
  body.csl-attendance-person-page .csl-attendance-manager-contact-card {
    padding: 12px 13px !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card {
    min-height: 82px !important;
    padding: 12px 13px !important;
  }
}

/* CSL Gestion 2.0.80 — coordonnées intervenant modifiables par la gestion. */
.csl-i2080-manager-contact-form{display:grid;gap:16px;margin-top:16px}
.csl-i2080-manager-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.csl-i2080-manager-contact-grid label{display:grid;gap:7px;min-width:0}
.csl-i2080-manager-contact-grid label>span{font-size:12px;font-weight:850;color:#253346}
.csl-i2080-manager-contact-grid input{width:100%;box-sizing:border-box;min-height:48px;padding:0 13px;border:1px solid #d5dde6;border-radius:13px;background:#fff;color:#172333;font:inherit}
.csl-i2080-manager-contact-grid input:focus{outline:none;border-color:#c61d32;box-shadow:0 0 0 3px rgba(198,29,50,.10)}
.csl-i2080-manager-contact-grid small{color:#748091;font-size:11px;line-height:1.35}
.csl-i2080-manager-contact-actions{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:680px){.csl-i2080-manager-contact-grid{grid-template-columns:1fr}.csl-i2080-manager-contact-actions{display:grid}.csl-i2080-manager-contact-actions .csl-attendance-button{text-align:center}}
@media(prefers-color-scheme:dark){.csl-i2080-manager-contact-grid label>span{color:#eef3f8}.csl-i2080-manager-contact-grid input{border-color:rgba(255,255,255,.13);background:#0c1724;color:#f3f6fa}.csl-i2080-manager-contact-grid input:focus{border-color:#ff5a6a;box-shadow:0 0 0 3px rgba(255,90,106,.12)}.csl-i2080-manager-contact-grid small{color:#9aa8b8}}

/* === V2.0.94 : écran de verrouillage des espaces intervenants === */
.csl-v2094-access-lock{min-height:70vh;display:flex;align-items:center;padding:34px 0 60px}
.csl-v2094-access-lock__card{max-width:720px;margin:0 auto;padding:34px;border-radius:28px;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid rgba(23,35,51,.09);box-shadow:0 24px 64px rgba(23,35,51,.12);text-align:left}
.csl-v2094-access-lock__icon{display:grid;width:58px;height:58px;place-items:center;margin-bottom:18px;border-radius:19px;background:linear-gradient(135deg,#172333,#c51f34);color:#fff;font-size:25px;font-weight:900;box-shadow:0 14px 30px rgba(23,35,51,.17)}
.csl-v2094-access-lock__card>span{display:block;color:#c51f34;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.csl-v2094-access-lock__card h1{margin:8px 0 14px;font-size:clamp(30px,5vw,44px);line-height:1.02;color:#172333;letter-spacing:-.04em}.csl-v2094-access-lock__card>p{color:#596777;font-size:16px;line-height:1.65}
.csl-v2094-access-lock__steps{margin:22px 0;padding:18px 20px;border-radius:18px;background:#f1f5f9;border:1px solid #dde5ee;color:#28374a}.csl-v2094-access-lock__steps strong{display:block;margin-bottom:9px}.csl-v2094-access-lock__steps ol{margin:0;padding-left:21px;line-height:1.8}.csl-v2094-access-lock__help{font-size:13px!important;color:#7a8593!important}.csl-v2094-access-lock__card.is-blocked .csl-v2094-access-lock__icon{background:linear-gradient(135deg,#6d1521,#c51f34)}
@media(max-width:620px){.csl-v2094-access-lock{padding:20px 0 40px}.csl-v2094-access-lock__card{padding:24px;border-radius:22px}}
@media(prefers-color-scheme:dark){.csl-v2094-access-lock__card{background:linear-gradient(145deg,#111e2d,#0c1723);border-color:rgba(255,255,255,.08);box-shadow:0 24px 64px rgba(0,0,0,.28)}.csl-v2094-access-lock__card h1{color:#f3f6fa}.csl-v2094-access-lock__card>p{color:#a8b4c2}.csl-v2094-access-lock__steps{background:#0b1622;border-color:rgba(255,255,255,.08);color:#dfe7ef}.csl-v2094-access-lock__help{color:#8796a7!important}}
.csl-v2094-manager-security-panel{display:grid;gap:14px}.csl-v2094-manager-security-state{display:grid;gap:4px;padding:14px 16px;border-radius:16px;background:#edf8f1;border:1px solid #c9e8d3;color:#1f6f3a}.csl-v2094-manager-security-state.is-pending{background:#fff8e7;border-color:#ecd99f;color:#755615}.csl-v2094-manager-security-state.is-blocked{background:#fff0f2;border-color:#efc5cc;color:#9b1d2d}.csl-v2094-manager-security-state strong{font-size:14px}.csl-v2094-manager-security-state span{font-size:12px;line-height:1.45}
@media(prefers-color-scheme:dark){.csl-v2094-manager-security-state{background:#10271a;border-color:#295a3a;color:#8fe0aa}.csl-v2094-manager-security-state.is-pending{background:#2b2414;border-color:#55451f;color:#ead386}.csl-v2094-manager-security-state.is-blocked{background:#2b151b;border-color:#5c2932;color:#ff96a2}}
