/* /public_html/assets/css/guardians/guardians-v2.css
   EDQ V46.7.4 — Responsables vNext caché par feature flag utilisateur. */

.guardians-v2-root {
  --guardians-v2-accent: #22c55e;
}

.guardians-v2-root .guardians-v2-content {
  padding-top: clamp(1.2rem, 2.4vw, 2rem);
}

.guardians-v2-root .guardians-v2-control-dock.courses-control-dock {
  min-height: calc(var(--courses-control-row-height, 2.55rem) + clamp(.65rem, 1.4vw, .95rem));
}

.guardians-v2-root .guardians-v2-control-dock .courses-control-dock__chips {
  width: 100%;
  min-width: 0;
}

.guardians-v2-root .guardians-v2-smart-strip.courses-smart-strip {
  position: relative;
  top: auto;
  margin: 0;
  width: 100%;
  min-width: 0;
}

.guardians-v2-root .guardians-v2-smart-strip.is-empty .courses-smart-chips {
  min-width: 0;
}

.guardians-v2-root .guardians-v2-smart-summary strong,
.guardians-v2-root .guardians-v2-smart-chip span,
.guardians-v2-root .courses-smart-chip span {
  white-space: nowrap;
}

.guardians-v2-root .guardians-v2-list {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.guardians-v2-root .guardians-v2-grid.smart-panel-grid--guardians {
  --smart-panel-card-min: 22rem;
  --smart-panel-card-max: 25.5rem;
}

.guardians-v2-root .guardian-v2-card.ui-accent-card,
.guardians-v2-root .guardian-v2-add-card.ui-accent-card {
  min-height: clamp(9.75rem, 16vw, 12rem);
  border-radius: 1.35rem;
  box-shadow: none;
}

.guardians-v2-root .guardian-v2-card.ui-accent-card {
  cursor: pointer;
}

.guardians-v2-root .guardian-v2-add-card.ui-accent-card {
  --ui-accent-card-color: #38bdf8;
  opacity: .78;
  border-style: dashed;
  cursor: pointer;
  text-align: left;
  color: inherit;
  font: inherit;
}

.guardians-v2-root .guardian-v2-add-card.ui-accent-card .ui-accent-card__body,
.guardians-v2-root .guardian-v2-add-card.ui-accent-card .ui-accent-card__footer {
  display: none;
}

.guardians-v2-root .guardian-v2-card .ui-accent-card__header {
  padding: clamp(1rem, 1.8vw, 1.2rem) clamp(1rem, 1.8vw, 1.2rem) 0 clamp(1.55rem, 2vw, 1.8rem);
}

.guardians-v2-root .guardian-v2-card .ui-accent-card__body {
  padding: .75rem clamp(1rem, 1.8vw, 1.2rem) 0 clamp(1.55rem, 2vw, 1.8rem);
}

.guardians-v2-root .guardian-v2-card .ui-accent-card__footer {
  margin-top: auto;
  padding: .75rem clamp(1rem, 1.8vw, 1.2rem) clamp(1rem, 1.8vw, 1.2rem) clamp(1.55rem, 2vw, 1.8rem);
}

.guardians-v2-root .guardian-v2-card-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: .75rem;
  min-width: 0;
}

.guardians-v2-root .guardian-v2-card-avatar {
  flex: 0 0 auto;
}

.guardians-v2-root .guardian-v2-title-block,
.guardians-v2-root .guardian-v2-name,
.guardians-v2-root .guardian-v2-meta-line,
.guardians-v2-root .guardian-v2-contact-line {
  min-width: 0;
}

.guardians-v2-root .guardian-v2-name {
  display: flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: wrap;
}

.guardians-v2-root .guardian-v2-meta-line {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin-top: .28rem;
  color: var(--theme-text-muted, var(--color-text-muted, #64748b));
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.25;
}

.guardians-v2-root .guardian-v2-contact {
  display: grid;
  gap: .35rem;
}

.guardians-v2-root .guardian-v2-contact-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .45rem;
  font-size: .86rem;
  font-weight: 780;
  color: var(--theme-text-muted, var(--color-text-muted, #64748b));
  overflow-wrap: anywhere;
}

.guardians-v2-root .guardian-v2-contact-line i {
  color: color-mix(in srgb, var(--ui-accent-card-color, #22c55e) 74%, var(--theme-text-muted, #64748b));
}

.guardians-v2-root .guardian-v2-students-preview {
  display: flex;
  align-items: center;
  gap: .35rem;
  flex-wrap: wrap;
}

.guardians-v2-root .guardian-v2-students-preview--empty {
  color: var(--theme-text-muted, var(--color-text-muted, #64748b));
  font-size: .84rem;
  font-weight: 800;
}

.guardians-v2-root .guardian-v2-students-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.55rem;
  padding: .1rem .52rem;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 950;
  color: color-mix(in srgb, var(--ui-accent-card-color, #22c55e) 72%, #fff 28%);
  background: color-mix(in srgb, var(--ui-accent-card-color, #22c55e) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--ui-accent-card-color, #22c55e) 28%, transparent);
}

.guardians-v2-root .guardians-v2-empty-state,
.guardians-v2-root .guardians-v2-error {
  grid-column: 1 / -1;
}

/* Rail commun sur cartes responsables vNext : même lame que Cours/Élèves. */
#dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-root .guardian-v2-card.ui-accent-card,
#dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-root .guardian-v2-add-card.ui-accent-card {
  --smart-panel-frame-local-accent: var(--card-accent, var(--student-course-accent, var(--ui-accent-card-color, #38bdf8)));
  --smart-panel-frame-rail-rest-color:
    color-mix(in srgb, var(--smart-panel-frame-local-accent) 34%, rgba(148, 163, 184, .22) 66%);
  --smart-panel-frame-rail-active-color:
    color-mix(in srgb, var(--smart-panel-frame-local-accent) 72%, rgba(255,255,255,.18) 28%);
  --smart-panel-frame-rail-rest:
    linear-gradient(
      180deg,
      transparent 0%,
      color-mix(in srgb, var(--smart-panel-frame-rail-rest-color) 0%, transparent) 12%,
      color-mix(in srgb, var(--smart-panel-frame-rail-rest-color) 24%, transparent) 24%,
      color-mix(in srgb, var(--smart-panel-frame-rail-rest-color) 72%, transparent) 38%,
      color-mix(in srgb, var(--smart-panel-frame-rail-rest-color) 100%, white 5%) 50%,
      color-mix(in srgb, var(--smart-panel-frame-rail-rest-color) 72%, transparent) 62%,
      color-mix(in srgb, var(--smart-panel-frame-rail-rest-color) 24%, transparent) 76%,
      color-mix(in srgb, var(--smart-panel-frame-rail-rest-color) 0%, transparent) 88%,
      transparent 100%
    );
  --smart-panel-frame-rail-active:
    linear-gradient(
      180deg,
      transparent 0%,
      color-mix(in srgb, var(--smart-panel-frame-rail-active-color) 0%, transparent) 10%,
      color-mix(in srgb, var(--smart-panel-frame-rail-active-color) 28%, transparent) 20%,
      color-mix(in srgb, var(--smart-panel-frame-rail-active-color) 80%, transparent) 36%,
      color-mix(in srgb, var(--smart-panel-frame-rail-active-color) 100%, white 7%) 50%,
      color-mix(in srgb, var(--smart-panel-frame-rail-active-color) 80%, transparent) 64%,
      color-mix(in srgb, var(--smart-panel-frame-rail-active-color) 28%, transparent) 80%,
      color-mix(in srgb, var(--smart-panel-frame-rail-active-color) 0%, transparent) 90%,
      transparent 100%
    );
}

html:not([data-theme="dark"]) #dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-root .guardian-v2-card.ui-accent-card,
html:not([data-theme="dark"]) #dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-root .guardian-v2-add-card.ui-accent-card {
  --smart-panel-frame-rail-rest-color:
    color-mix(in srgb, var(--smart-panel-frame-local-accent) 28%, rgba(15, 23, 42, .16) 72%);
  --smart-panel-frame-rail-active-color:
    color-mix(in srgb, var(--smart-panel-frame-local-accent) 64%, rgba(15, 23, 42, .12) 36%);
}

#dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-root :is(.guardian-v2-card, .guardian-v2-add-card).ui-accent-card > .ui-accent-card__rail {
  width: var(--smart-panel-frame-rail-width) !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  overflow: hidden !important;
}

#dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-root :is(.guardian-v2-card, .guardian-v2-add-card).ui-accent-card > .ui-accent-card__rail::before {
  background: var(--smart-panel-frame-rail-rest) !important;
  -webkit-mask-image: var(--smart-panel-frame-rail-mask) !important;
  mask-image: var(--smart-panel-frame-rail-mask) !important;
  -webkit-mask-size: 100% 100% !important;
  mask-size: 100% 100% !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  opacity: var(--smart-panel-frame-rail-rest-opacity) !important;
  transform: scaleY(var(--smart-panel-frame-rail-scale-rest)) !important;
  transform-origin: 50% 50% !important;
  box-shadow: none !important;
  filter: drop-shadow(0 0 var(--smart-panel-frame-rail-rest-glow) color-mix(in srgb, var(--smart-panel-frame-rail-rest-color) 42%, transparent)) !important;
  transition:
    transform 620ms cubic-bezier(.16, 1, .3, 1),
    opacity 560ms ease,
    filter 620ms ease,
    background 560ms ease !important;
}

#dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-root :is(.guardian-v2-card, .guardian-v2-add-card).ui-accent-card:is(:hover, :focus-visible, .is-smart-panel-card-hovered, .is-courses-desktop-current, .is-selected, [aria-selected="true"], [data-selected="true"], [data-selected="1"], [data-menu-open="true"]) > .ui-accent-card__rail::before {
  background: var(--smart-panel-frame-rail-active) !important;
  opacity: var(--smart-panel-frame-rail-active-opacity) !important;
  transform: scaleY(var(--smart-panel-frame-rail-scale-active)) !important;
  box-shadow: none !important;
  filter: drop-shadow(0 0 var(--smart-panel-frame-rail-active-glow) color-mix(in srgb, var(--smart-panel-frame-rail-active-color) 56%, transparent)) !important;
}

#dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-root .guardian-v2-card.ui-accent-card:is(.is-selected, [data-selected="true"], [data-selected="1"]),
#dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-root .guardian-v2-add-card.ui-accent-card:is(.is-selected, [data-selected="true"], [data-selected="1"]) {
  border-color: var(--ui-accent-card-border-active) !important;
  box-shadow:
    var(--ui-accent-card-shadow-rest),
    inset 0 0 0 1px var(--ui-accent-card-selection-ring) !important;
}

@media (hover: none), (pointer: coarse), (max-width: 1023px) {
  #dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-root :is(.guardian-v2-card, .guardian-v2-add-card).ui-accent-card > .ui-accent-card__rail::before {
    background: var(--smart-panel-frame-rail-active) !important;
    opacity: var(--smart-panel-frame-rail-active-opacity) !important;
    transform: scaleY(var(--smart-panel-frame-rail-scale-active)) !important;
    box-shadow: none !important;
    filter: drop-shadow(0 0 .75rem color-mix(in srgb, var(--smart-panel-frame-rail-active-color) 44%, transparent)) !important;
    transition: none !important;
  }
}

@media (max-width: 767px) {
  .guardians-v2-root .guardians-v2-grid.smart-panel-grid--guardians {
    --smart-panel-card-min: 100%;
    --smart-panel-card-max: 100%;
  }

  .guardians-v2-root .guardian-v2-meta-line {
    flex-wrap: wrap;
  }
}

/* EDQ V46.7.5 — Responsables vNext : grille, Smartbar, CTA hero et menu. */
.guardians-v2-root {
  --guardians-v2-list-max-width: min(100%, 1380px);
  --guardians-v2-list-gutter: clamp(.85rem, 2.2vw, 1.8rem);
}

.guardians-v2-root .guardians-v2-hero-add-btn.courses-panel-hero-action {
  --guardians-v2-hero-action-color: var(--theme-primary, #38bdf8);
  color: color-mix(in srgb, var(--guardians-v2-hero-action-color) 82%, white 18%);
  background:
    radial-gradient(circle at 22% 10%, color-mix(in srgb, #fff 20%, transparent), transparent 38%),
    color-mix(in srgb, var(--guardians-v2-hero-action-color) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--guardians-v2-hero-action-color) 42%, transparent);
  box-shadow: 0 0 22px color-mix(in srgb, var(--guardians-v2-hero-action-color) 20%, transparent);
}

.guardians-v2-root .guardians-v2-hero-add-btn.courses-panel-hero-action[disabled] {
  opacity: .48;
  pointer-events: none;
  filter: grayscale(.4);
}

.guardians-v2-root .guardians-v2-content.courses-panel-content {
  width: 100vw !important;
  max-width: none !important;
  padding-top: clamp(1rem, 2vw, 1.7rem) !important;
}

.guardians-v2-root .guardians-v2-content.courses-panel-content > .guardians-v2-list {
  width: min(calc(100% - (var(--guardians-v2-list-gutter) * 2)), var(--guardians-v2-list-max-width)) !important;
  max-width: var(--guardians-v2-list-max-width) !important;
  margin-inline: auto !important;
  align-self: center !important;
}

.guardians-v2-root .guardians-v2-grid.smart-panel-grid--guardians.smart-panel-grid--cards {
  --smart-panel-grid-gap: clamp(.82rem, 1.25vw, 1.08rem);
  --smart-panel-card-min: 18.25rem;
  --smart-panel-card-max: none;
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--smart-panel-card-min)), 1fr)) !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  align-items: stretch !important;
  margin-inline: 0 !important;
}

.guardians-v2-root .guardians-v2-grid.smart-panel-grid--guardians.smart-panel-grid--cards > .ui-accent-card,
.guardians-v2-root .guardians-v2-grid.smart-panel-grid--guardians.smart-panel-grid--cards > .guardian-v2-card,
.guardians-v2-root .guardians-v2-grid.smart-panel-grid--guardians.smart-panel-grid--cards > .guardian-v2-add-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.guardians-v2-root .guardian-v2-card.ui-accent-card,
.guardians-v2-root .guardian-v2-add-card.ui-accent-card {
  min-height: clamp(10.75rem, 12vw, 12rem) !important;
  height: 100% !important;
}

.guardians-v2-root .guardian-v2-add-card.ui-accent-card {
  display: grid !important;
  place-items: stretch !important;
  min-height: clamp(10.75rem, 12vw, 12rem) !important;
}

.guardians-v2-root .guardian-v2-add-card.ui-accent-card .ui-accent-card__body {
  display: flex !important;
  min-height: 100% !important;
}

.guardians-v2-root .guardian-v2-add-card.ui-accent-card .ui-accent-card__footer,
.guardians-v2-root .guardian-v2-add-card.ui-accent-card .ui-accent-card__header {
  display: none !important;
}

.guardians-v2-root .guardian-v2-add-card.ui-accent-card .smart-panel-add-card__body,
.guardians-v2-root .guardian-v2-add-card.ui-accent-card .student-card-create-header {
  width: 100%;
  min-height: 100%;
  display: flex;
  align-items: center;
}

.guardians-v2-root .guardian-v2-searchbar.ui-smartbar-search-shell {
  width: min(100%, 38rem);
  min-width: min(24rem, calc(100vw - 7rem));
  border: 1px solid color-mix(in srgb, #38bdf8 20%, transparent);
  background: color-mix(in srgb, var(--color-bg, #020617) 38%, transparent);
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 8%, transparent);
}

.guardians-v2-smart-suggestions.courses-smart-suggestions.is-portal {
  z-index: 4300 !important;
}

.guardians-v2-smart-suggestion.courses-smart-suggestion em {
  text-transform: none;
}

.guardians-v2-root .guardians-v2-control-dock.courses-control-dock {
  width: 100vw !important;
  max-width: none !important;
  padding-inline: var(--courses-panel-content-left) var(--courses-panel-content-right) !important;
}

.guardians-v2-root .guardians-v2-control-dock .courses-control-dock__chips {
  width: min(calc(100% - (var(--guardians-v2-list-gutter) * 2)), var(--guardians-v2-list-max-width)) !important;
  max-width: var(--guardians-v2-list-max-width) !important;
  margin-inline: auto !important;
}

.guardians-v2-context-menu.course-student-context-menu {
  position: fixed !important;
  z-index: 4700 !important;
}

@media (min-width: 1500px) {
  .guardians-v2-root .guardians-v2-grid.smart-panel-grid--guardians.smart-panel-grid--cards {
    --smart-panel-card-min: 18rem;
  }
}

@media (min-width: 1280px) and (max-width: 1499px) {
  .guardians-v2-root .guardians-v2-grid.smart-panel-grid--guardians.smart-panel-grid--cards {
    --smart-panel-card-min: 18.5rem;
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .guardians-v2-root .guardians-v2-grid.smart-panel-grid--guardians.smart-panel-grid--cards {
    --smart-panel-card-min: 17rem;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .guardians-v2-root .guardians-v2-content.courses-panel-content > .guardians-v2-list {
    width: min(calc(100% - 1.3rem), var(--guardians-v2-list-max-width)) !important;
  }

  .guardians-v2-root .guardians-v2-grid.smart-panel-grid--guardians.smart-panel-grid--cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .guardians-v2-root .guardians-v2-hero-add-btn.courses-panel-hero-action span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  .guardians-v2-root .guardians-v2-hero-add-btn.courses-panel-hero-action {
    width: 2.65rem;
    min-width: 2.65rem;
    padding-inline: 0;
    border-radius: 999px;
  }

  .guardians-v2-root .guardians-v2-content.courses-panel-content > .guardians-v2-list {
    width: min(calc(100% - 1rem), var(--guardians-v2-list-max-width)) !important;
  }

  .guardians-v2-root .guardians-v2-grid.smart-panel-grid--guardians.smart-panel-grid--cards {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .guardians-v2-root .guardian-v2-card.ui-accent-card,
  .guardians-v2-root .guardian-v2-add-card.ui-accent-card {
    min-height: 9.75rem !important;
  }
}


/* EDQ V46.7.6 — Responsables vNext : carte d'ajout uniquement, smartbar cliquable. */
.guardians-v2-root .guardians-v2-hero-add-btn {
  display: none !important;
}

.mobile-shell-navbar.has-custom-center .guardians-v2-searchbar.ui-smartbar-search-shell,
.mobile-shell-navbar.has-custom-center .guardians-v2-searchbar.ui-smartbar-search-shell * {
  pointer-events: auto !important;
}

.guardians-v2-context-menu .course-student-context-menu__item--danger {
  color: #fecaca !important;
}

.guardians-v2-context-menu .course-student-context-menu__item--danger i {
  color: #fb7185 !important;
}


/* EDQ V46.7.7 — Responsables vNext : Smartbar navbar vraiment responsive. */
.mobile-shell-navbar .guardians-v2-searchbar.ui-smartbar-search-shell {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.mobile-shell-navbar .guardians-v2-searchbar.ui-smartbar-search-shell > i {
  flex: 0 0 auto !important;
}

.mobile-shell-navbar .guardians-v2-searchbar.ui-smartbar-search-shell input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.mobile-shell-navbar .guardians-v2-searchbar.ui-smartbar-search-shell .ui-smartbar-search-clear {
  flex: 0 0 auto !important;
}

body.is-dashboard-shell-visible .mobile-shell-navbar.has-custom-center:has(.guardians-v2-searchbar) .mobile-shell-navbar__center.has-custom-center {
  overflow: hidden !important;
  min-width: 0 !important;
}

body.is-dashboard-shell-visible .mobile-shell-navbar.has-custom-center:has(.guardians-v2-searchbar) .mobile-shell-navbar__center.has-custom-center > * {
  min-width: 0 !important;
}

@media (max-width: 767px), (max-width: 980px) and (max-height: 520px) and (orientation: landscape) {
  body.is-dashboard-shell-visible .mobile-shell-navbar.has-custom-center:has(.guardians-v2-searchbar) .mobile-shell-navbar__center.has-custom-center {
    left: calc(var(--edq-navbar-edge-left-current) + 3.15rem) !important;
    right: calc(var(--edq-navbar-edge-right-current) + 3.55rem) !important;
    width: auto !important;
    max-width: none !important;
  }

  .mobile-shell-navbar .guardians-v2-searchbar.ui-smartbar-search-shell {
    height: 2.55rem !important;
    padding-inline: .56rem .36rem !important;
    gap: .42rem !important;
    border-radius: 999px !important;
  }

  .mobile-shell-navbar .guardians-v2-searchbar.ui-smartbar-search-shell input {
    font-size: clamp(.82rem, 3.65vw, .98rem) !important;
    line-height: 1.15 !important;
  }

  .mobile-shell-navbar .guardians-v2-searchbar.ui-smartbar-search-shell .ui-smartbar-search-clear {
    width: 1.75rem !important;
    height: 1.75rem !important;
  }
}

@media (max-width: 380px) {
  body.is-dashboard-shell-visible .mobile-shell-navbar.has-custom-center:has(.guardians-v2-searchbar) .mobile-shell-navbar__center.has-custom-center {
    left: calc(var(--edq-navbar-edge-left-current) + 3rem) !important;
    right: calc(var(--edq-navbar-edge-right-current) + 3.35rem) !important;
  }

  .mobile-shell-navbar .guardians-v2-searchbar.ui-smartbar-search-shell {
    padding-inline: .48rem .3rem !important;
    gap: .34rem !important;
  }
}

/* EDQ V46.7.8 — Responsables vNext : Smartbar alignée sur Cours/Élèves. */
.mobile-shell-navbar .guardians-v2-searchbar.courses-searchbar--navbar {
  width: min(100%, 540px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  pointer-events: auto !important;
}

.mobile-shell-navbar.is-mobile-mode .guardians-v2-searchbar.courses-searchbar--navbar,
.mobile-shell-navbar.is-tablet-mode .guardians-v2-searchbar.courses-searchbar--navbar {
  width: 100% !important;
}

.mobile-shell-navbar.is-mobile-mode .guardians-v2-searchbar .courses-searchbar__label span,
.mobile-shell-navbar.is-tablet-mode .guardians-v2-searchbar .courses-searchbar__label span {
  display: none !important;
}

.mobile-shell-navbar .guardians-v2-searchbar.courses-searchbar--navbar .courses-searchbar__input {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.mobile-shell-navbar .guardians-v2-searchbar.courses-searchbar--navbar .courses-searchbar__clear {
  flex: 0 0 auto !important;
}

body.is-dashboard-shell-visible .mobile-shell-navbar.has-custom-center:has(.guardians-v2-searchbar.courses-searchbar--navbar) .mobile-shell-navbar__center.has-custom-center {
  overflow: hidden !important;
  min-width: 0 !important;
}

/* V46.7.11 — Sous-panels Responsables vNext : profil + éditeur. */
.guardians-v2-subpanel-root {
  --guardians-v2-profile-gap: clamp(1rem, 2.2vw, 1.45rem);
}

.guardians-v2-subpanel-root .courses-panel-view--profile,
.guardians-v2-subpanel-root .courses-panel-view--form {
  min-width: 0;
}

.guardians-v2-profile-hero-main,
.guardians-v2-editor-hero-main {
  display: flex;
  align-items: center;
  gap: clamp(.9rem, 2vw, 1.35rem);
  min-width: 0;
}

.guardians-v2-profile-hero-avatar,
.guardian-v2-editor-hero-avatar.student-editor-hero-avatar {
  width: clamp(4.35rem, 9vw, 6.35rem);
  height: clamp(4.35rem, 9vw, 6.35rem);
  border-radius: 1.15rem;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: color-mix(in srgb, var(--theme-surface, #0f172a) 78%, #38bdf8 22%);
  border: 1px solid color-mix(in srgb, #38bdf8 44%, transparent);
  box-shadow: 0 18px 42px color-mix(in srgb, #38bdf8 18%, transparent);
  color: color-mix(in srgb, #fff 86%, #38bdf8 14%);
  font-weight: 950;
  letter-spacing: .04em;
}

.guardians-v2-profile-hero-avatar img,
.guardian-v2-editor-hero-avatar.student-editor-hero-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.guardians-v2-profile-hero-copy,
.guardian-v2-editor-hero-main .student-editor-hero-copy {
  min-width: 0;
}

.guardians-v2-profile-roles {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .45rem;
}

.guardians-v2-profile-content,
.guardians-v2-editor-content {
  padding-top: clamp(1.1rem, 2.5vw, 2rem);
}

.guardians-v2-profile-stack,
.guardians-v2-editor-stack {
  width: min(100%, 82rem);
  margin-inline: auto;
  display: grid;
  gap: var(--guardians-v2-profile-gap);
}

.guardians-v2-profile-section.ui-accent-card,
.guardian-v2-editor-section.ui-accent-card {
  padding: clamp(1.2rem, 2.6vw, 2rem);
  border-radius: 1.35rem;
  box-shadow: none;
}

.guardians-v2-profile-section__head,
.guardian-v2-editor-section .student-editor-section__head {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

.guardians-v2-profile-section__head h4,
.guardian-v2-editor-section .student-editor-section__head h4 {
  margin: 0;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  line-height: 1.05;
}

.guardians-v2-profile-section__head p,
.guardian-v2-editor-section .student-editor-section__head p {
  margin: .28rem 0 0;
  color: var(--theme-text-muted, #94a3b8);
  font-weight: 800;
}

.guardians-v2-profile-section__icon,
.guardian-v2-editor-section .student-editor-section__icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: .8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: color-mix(in srgb, var(--ui-accent-card-color, #38bdf8) 82%, #fff 18%);
  background: color-mix(in srgb, var(--ui-accent-card-color, #38bdf8) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--ui-accent-card-color, #38bdf8) 26%, transparent);
}

.guardians-v2-profile-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.guardian-v2-profile-info-tile {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .75rem;
  padding: .9rem 1rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--theme-surface, #0f172a) 72%, var(--card-accent, #38bdf8) 9%);
  border: 1px solid color-mix(in srgb, var(--card-accent, #38bdf8) 22%, transparent);
}

.guardian-v2-profile-info-tile--wide {
  grid-column: 1 / -1;
}

.guardian-v2-profile-info-tile__icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: .75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: color-mix(in srgb, var(--card-accent, #38bdf8) 82%, #fff 18%);
  background: color-mix(in srgb, var(--card-accent, #38bdf8) 16%, transparent);
}

.guardian-v2-profile-info-tile__copy {
  min-width: 0;
  display: grid;
  gap: .16rem;
}

.guardian-v2-profile-info-tile__copy span {
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--theme-text-muted, #94a3b8);
  font-size: .72rem;
  font-weight: 900;
}

.guardian-v2-profile-info-tile__copy strong {
  min-width: 0;
  color: var(--theme-text, #f8fafc);
  font-size: .98rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.guardian-v2-associated-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: .8rem;
}

.guardian-v2-associated-card.ui-accent-card {
  appearance: none;
  border: 0;
  text-align: left;
  color: inherit;
  font: inherit;
  cursor: pointer;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .75rem;
  padding: .85rem 1rem .85rem 1.35rem;
  min-height: 4.6rem;
}

.guardian-v2-associated-card__avatar {
  width: 2.65rem;
  height: 2.65rem;
  border-radius: .9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: color-mix(in srgb, var(--ui-accent-card-color, #38bdf8) 18%, var(--theme-surface, #0f172a));
  border: 1px solid color-mix(in srgb, var(--ui-accent-card-color, #38bdf8) 34%, transparent);
  color: color-mix(in srgb, var(--ui-accent-card-color, #38bdf8) 68%, #fff 32%);
  font-weight: 950;
}

.guardian-v2-associated-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.guardian-v2-associated-card__copy {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
}

.guardian-v2-profile-empty {
  min-height: 8rem;
  border-radius: 1.1rem;
  display: grid;
  place-items: center;
  text-align: center;
  gap: .4rem;
  color: var(--theme-text-muted, #94a3b8);
  border: 1px dashed color-mix(in srgb, var(--ui-accent-card-color, #38bdf8) 32%, transparent);
  background: color-mix(in srgb, var(--theme-surface, #0f172a) 86%, transparent);
}

.guardians-v2-profile-action-dock.courses-control-dock,
.guardians-v2-editor-action-dock.courses-control-dock {
  min-height: calc(var(--courses-control-row-height, 2.55rem) + clamp(.55rem, 1.4vw, .85rem));
}

.guardians-v2-profile-action-dock .courses-control-dock__actions,
.guardians-v2-editor-action-dock .courses-control-dock__actions {
  justify-content: flex-end;
}

.guardian-v2-editor-section .student-editor-grid {
  display: grid;
  gap: .95rem;
}

.guardian-v2-editor-section .student-editor-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.guardian-v2-editor-section .form-field--wide,
.guardian-v2-editor-section .student-editor-contact-help {
  grid-column: 1 / -1;
}

.guardian-v2-editor-section .student-editor-contact-help {
  margin: 0;
}

.guardian-v2-editor-linked-students {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.guardian-v2-editor-form .form-error {
  display: block;
  margin-top: .4rem;
}

.guardians-v2-editor-save-action[disabled],
.guardians-v2-editor-save-action.is-disabled {
  opacity: .48;
  filter: saturate(.6);
  cursor: not-allowed;
}

/* Rails communs sur sous-panels Responsables vNext. */
#dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-subpanel-root .guardian-v2-profile-section.ui-accent-card,
#dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-subpanel-root .guardian-v2-associated-card.ui-accent-card,
#dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-subpanel-root .guardian-v2-editor-section.ui-accent-card {
  --smart-panel-frame-local-accent: var(--card-accent, var(--ui-accent-card-color, #38bdf8));
  --smart-panel-frame-rail-rest-color:
    color-mix(in srgb, var(--smart-panel-frame-local-accent) 34%, rgba(148, 163, 184, .22) 66%);
  --smart-panel-frame-rail-active-color:
    color-mix(in srgb, var(--smart-panel-frame-local-accent) 72%, rgba(255,255,255,.18) 28%);
}

@media (max-width: 719px) {
  .guardians-v2-profile-hero-main,
  .guardians-v2-editor-hero-main {
    align-items: center;
    gap: .8rem;
  }

  .guardians-v2-profile-hero-avatar,
  .guardian-v2-editor-hero-avatar.student-editor-hero-avatar {
    width: 4.3rem;
    height: 4.3rem;
    border-radius: 1rem;
  }

  .guardians-v2-profile-info-grid,
  .guardian-v2-editor-section .student-editor-grid--two {
    grid-template-columns: 1fr;
  }

  .guardians-v2-profile-stack,
  .guardians-v2-editor-stack {
    width: 100%;
    padding-inline: clamp(.85rem, 4vw, 1.1rem);
  }

  .guardians-v2-profile-section.ui-accent-card,
  .guardian-v2-editor-section.ui-accent-card {
    padding: 1.05rem;
    border-radius: 1.2rem;
  }

  .guardians-v2-profile-action-dock .courses-control-dock__actions,
  .guardians-v2-editor-action-dock .courses-control-dock__actions {
    width: 100%;
  }

  .guardians-v2-profile-action-dock .courses-control-action,
  .guardians-v2-editor-action-dock .courses-control-action {
    width: 100%;
    justify-content: center;
  }
}

/* ======================================================================
   EDQ V46.7.12 — Responsable vNext : base éditeur alignée sur Nouvel élève
   ====================================================================== */
.guardians-v2-editor-root.courses-panel-root--student-editor .guardians-v2-editor-content {
  padding-block-start: 0 !important;
}

.guardians-v2-editor-root #guardian-v2-editor-panel-content.student-editor-panel-content,
.guardians-v2-editor-root #guardian-v2-editor-panel-content .guardian-v2-editor-form.student-editor-form--hybrid {
  width: 100% !important;
  min-width: 0 !important;
}

.guardians-v2-editor-root #guardian-v2-editor-panel-content .guardian-v2-editor-form.student-editor-form--hybrid {
  --student-editor-section-gap: clamp(1rem, 1.8vw, 1.45rem);
  display: grid !important;
  gap: var(--student-editor-section-gap) !important;
  width: min(100%, 980px) !important;
  max-width: min(100%, 980px) !important;
  margin-inline: auto !important;
  padding: clamp(1rem, 2.4vw, 1.8rem) 0 clamp(2rem, 5vw, 4rem) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.guardians-v2-editor-root .guardian-v2-editor-section.student-editor-section.ui-accent-card {
  position: relative;
  display: grid;
  gap: clamp(1rem, 1.8vw, 1.35rem);
  padding: clamp(1rem, 2.2vw, 1.45rem) !important;
  border-radius: clamp(1.15rem, 2vw, 1.6rem) !important;
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--card-accent, #38bdf8) 18%, transparent) 0%, transparent 42%),
    linear-gradient(135deg, rgba(15, 23, 42, .88), rgba(2, 6, 23, .72)) !important;
  border: 1px solid rgba(148, 163, 184, .22) !important;
  box-shadow: 0 1.4rem 3rem rgba(2, 6, 23, .28) !important;
  overflow: hidden;
}

.guardians-v2-editor-root .guardian-v2-editor-section .student-editor-section__head {
  position: relative;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: .8rem !important;
  align-items: center !important;
  padding-inline-start: .9rem !important;
  margin-bottom: 0 !important;
}

.guardians-v2-editor-root .guardian-v2-editor-section .student-editor-section__head h4 {
  margin: 0;
  color: var(--color-text, #f8fafc);
  font-weight: 950;
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.05;
  letter-spacing: -.02em;
}

.guardians-v2-editor-root .guardian-v2-editor-section .student-editor-section__head p,
.guardians-v2-editor-root .guardian-v2-editor-section .student-editor-avatar-copy p {
  margin: .18rem 0 0;
  color: var(--color-muted, #94a3b8);
  font-weight: 650;
  line-height: 1.35;
}

.guardians-v2-editor-root .guardian-v2-editor-section .student-editor-section__icon {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-grid;
  place-items: center;
  border-radius: .9rem;
  color: color-mix(in srgb, var(--card-accent, #38bdf8) 88%, white 12%);
  background: color-mix(in srgb, var(--card-accent, #38bdf8) 18%, rgba(2,23,42,.72) 82%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--card-accent, #38bdf8) 28%, transparent);
  border: 0;
}

.guardians-v2-editor-root .guardian-v2-editor-section .student-editor-grid {
  position: relative;
  display: grid !important;
  gap: clamp(.85rem, 1.5vw, 1rem) !important;
  padding-inline-start: .9rem !important;
}

.guardians-v2-editor-root .guardian-v2-editor-section .student-editor-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.guardians-v2-editor-root .guardian-v2-editor-section .form-field--wide,
.guardians-v2-editor-root .guardian-v2-editor-section .student-editor-contact-help {
  grid-column: 1 / -1;
}

.guardians-v2-editor-root .guardian-v2-editor-section .student-editor-contact-help {
  margin: 0;
}

.guardians-v2-editor-root .guardian-v2-editor-action-dock.courses-control-dock {
  z-index: 6;
}

.guardians-v2-editor-root .guardian-v2-editor-action-dock .courses-control-dock__actions {
  justify-content: flex-end;
}

@media (max-width: 1023px) {
  .guardians-v2-editor-root #guardian-v2-editor-panel-content .guardian-v2-editor-form.student-editor-form--hybrid {
    width: min(100%, 46rem) !important;
  }

  .guardians-v2-editor-root .guardian-v2-editor-section .student-editor-grid--two {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px), (max-width: 980px) and (max-height: 520px) and (orientation: landscape) {
  .guardians-v2-editor-root #guardian-v2-editor-panel-content.student-editor-panel-content {
    width: 100% !important;
  }

  .guardians-v2-editor-root #guardian-v2-editor-panel-content.guardians-v2-editor-stack {
    padding-inline: 0 !important;
  }

  .guardians-v2-editor-root #guardian-v2-editor-panel-content .guardian-v2-editor-form.student-editor-form--hybrid {
    gap: .9rem !important;
    max-width: none !important;
    padding: .75rem 0 1.4rem !important;
  }

  .guardians-v2-editor-root .guardian-v2-editor-section.student-editor-section.ui-accent-card {
    padding: .95rem .9rem !important;
    border-radius: 1.1rem !important;
  }

  .guardians-v2-editor-root .guardian-v2-editor-section .student-editor-section__head,
  .guardians-v2-editor-root .guardian-v2-editor-section .student-editor-grid,
  .guardians-v2-editor-root .guardian-v2-editor-section .student-editor-avatar-row {
    padding-inline-start: .65rem !important;
  }

  .guardians-v2-editor-root .guardians-v2-editor-action-dock .courses-control-dock__actions {
    width: auto !important;
    justify-content: flex-end !important;
  }

  .guardians-v2-editor-root .guardians-v2-editor-action-dock .courses-control-action {
    width: var(--courses-control-row-height, 2.12rem) !important;
    min-width: var(--courses-control-row-height, 2.12rem) !important;
    max-width: var(--courses-control-row-height, 2.12rem) !important;
    height: var(--courses-smart-row-height, 2.12rem) !important;
    min-height: var(--courses-smart-row-height, 2.12rem) !important;
    max-height: var(--courses-smart-row-height, 2.12rem) !important;
    padding: 0 !important;
    gap: 0 !important;
    border-radius: 999px !important;
    justify-content: center !important;
  }

  .guardians-v2-editor-root .guardians-v2-editor-action-dock .courses-control-action .ui-btn__label--full,
  .guardians-v2-editor-root .guardians-v2-editor-action-dock .courses-control-action .ui-btn__label--short {
    display: none !important;
  }

  .guardians-v2-editor-root .guardians-v2-editor-action-dock .courses-control-action i {
    margin: 0 !important;
  }
}

/* ======================================================================
   EDQ V46.7.13 — Profil responsable vNext aligné sur Profil élève
   ====================================================================== */
.guardians-v2-profile-root.students-course-shell-root .guardians-v2-profile-hero.student-profile-hero.courses-panel-hero {
  --student-profile-hero-accent: var(--theme-primary, #38bdf8);
}

.guardians-v2-profile-root .guardians-v2-profile-content.student-profile-main-content {
  padding-top: clamp(1rem, 2.4vw, 1.65rem);
}

.guardians-v2-profile-root .guardian-v2-profile-card.student-profile-card.ui-accent-card {
  border-radius: 1.45rem !important;
  min-width: 0;
  box-shadow: var(--ui-accent-card-shadow-rest) !important;
}

.guardians-v2-profile-root .guardian-v2-profile-card.student-profile-card.ui-accent-card .ui-accent-card__body {
  padding: clamp(1rem, 2vw, 1.2rem) clamp(1rem, 2vw, 1.25rem) clamp(1rem, 2vw, 1.25rem) clamp(1.65rem, 2vw, 1.9rem);
}

.guardians-v2-profile-root .guardian-v2-profile-card .student-profile-card__header {
  margin: 0 0 1rem;
}

.guardians-v2-profile-root .guardian-v2-profile-card--identity {
  grid-column: auto;
}

.guardians-v2-profile-root .guardian-v2-profile-card--students {
  grid-column: auto;
}

.guardians-v2-profile-root .guardian-v2-profile-facts .student-profile-fact:last-child {
  grid-column: 1 / -1;
}

.guardians-v2-profile-root .guardian-v2-associated-student-grid {
  margin-top: .85rem;
}

.guardians-v2-profile-root .guardian-v2-associated-student-card.course-student-card.ui-accent-card {
  min-height: 5.4rem;
}

.guardians-v2-profile-root .guardian-v2-associated-student-card.course-student-card.ui-accent-card .ui-accent-card__body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .75rem;
}

.guardians-v2-profile-root .guardian-v2-associated-student-card .course-student-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.guardians-v2-profile-root .guardian-v2-associated-student-card .course-student-card__identity {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
}

.guardians-v2-profile-root .guardian-v2-associated-student-card .course-student-card__identity strong,
.guardians-v2-profile-root .guardian-v2-associated-student-card .course-student-card__identity span {
  min-width: 0;
}

.guardians-v2-profile-root .guardian-v2-profile-empty.student-profile-empty {
  min-height: 7.2rem;
  border-radius: 1.1rem;
  display: grid;
  place-items: center;
  text-align: center;
  gap: .35rem;
  color: var(--theme-text-muted, #94a3b8);
  border: 1px dashed color-mix(in srgb, var(--ui-accent-card-color, #38bdf8) 32%, transparent);
  background: color-mix(in srgb, var(--theme-surface, #0f172a) 86%, transparent);
}

.guardians-v2-profile-root .guardian-v2-profile-empty.student-profile-empty p {
  margin: 0;
}

/* Rails communs sur le profil responsable vNext, via les mêmes cartes que Profil élève. */
#dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-profile-root .guardian-v2-profile-card.student-profile-card.ui-accent-card,
#dashboard-view [data-smart-panel-interaction-rules="true"].guardians-v2-profile-root .guardian-v2-associated-student-card.ui-accent-card {
  --smart-panel-frame-local-accent: var(--card-accent, var(--ui-accent-card-color, #38bdf8));
  --smart-panel-frame-rail-rest-color:
    color-mix(in srgb, var(--smart-panel-frame-local-accent) 34%, rgba(148, 163, 184, .22) 66%);
  --smart-panel-frame-rail-active-color:
    color-mix(in srgb, var(--smart-panel-frame-local-accent) 72%, rgba(255,255,255,.18) 28%);
}

@media (min-width: 1024px) {
  .guardians-v2-profile-root.students-course-shell-root .guardian-v2-profile-grid.student-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }
}

@media (max-width: 767px), (max-width: 980px) and (max-height: 520px) and (orientation: landscape) {
  .guardians-v2-profile-root .guardians-v2-profile-content.student-profile-main-content {
    padding-top: .75rem;
  }

  .guardians-v2-profile-root .guardian-v2-profile-card.student-profile-card.ui-accent-card .ui-accent-card__body {
    padding: .95rem 1rem .95rem 1.45rem;
  }

  .guardians-v2-profile-root .guardian-v2-profile-facts .student-profile-fact:last-child {
    grid-column: auto;
  }

  .guardians-v2-profile-root .guardian-v2-associated-student-card.course-student-card.ui-accent-card {
    min-height: 4.7rem;
  }
}

/* ======================================================================
   EDQ V46.7.15 — Profil responsable : élèves associés + CTA + champs actionnables
   ====================================================================== */
.guardians-v2-profile-root .guardian-v2-associated-student-grid.student-guardian-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: .8rem;
  align-items: stretch;
}

.guardians-v2-profile-root .guardian-v2-associated-student-grid .student-guardian-add-card,
.guardians-v2-profile-root .guardian-v2-associated-student-card.student-guardian-card {
  min-width: 0;
}

.guardians-v2-profile-root .guardian-v2-associated-student-card.student-guardian-card .ui-accent-card__body,
.guardians-v2-profile-root .guardian-v2-associated-student-grid .student-guardian-add-card .ui-accent-card__body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .75rem;
}

.guardians-v2-profile-root .guardian-v2-associated-student-card .course-student-card__identity {
  min-width: 0;
  display: grid;
  gap: .12rem;
  align-content: center;
}

.guardians-v2-profile-root .guardian-v2-associated-student-card .course-student-card__identity strong,
.guardians-v2-profile-root .guardian-v2-associated-student-card .course-student-card__identity span {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.guardians-v2-profile-root .guardian-v2-associated-student-card .course-student-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.guardians-v2-profile-root .guardian-v2-profile-fact.student-profile-fact--actionable {
  cursor: pointer;
}

.guardians-v2-profile-root .guardian-v2-profile-fact.student-profile-fact--actionable:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--ui-accent-card-color, #38bdf8) 72%, #fff 28%);
  outline-offset: 3px;
}

.guardians-v2-profile-root .guardians-v2-profile-action-dock .courses-control-action {
  max-width: min(100%, 18rem);
}

@media (max-width: 767px), (max-width: 980px) and (max-height: 520px) and (orientation: landscape) {
  .guardians-v2-profile-root .guardians-v2-profile-action-dock.courses-control-dock {
    overflow: visible;
  }

  .guardians-v2-profile-root .guardians-v2-profile-action-dock .courses-control-action {
    width: var(--courses-smart-row-height, 2.65rem) !important;
    min-width: var(--courses-smart-row-height, 2.65rem) !important;
    max-width: var(--courses-smart-row-height, 2.65rem) !important;
    height: var(--courses-smart-row-height, 2.65rem) !important;
    min-height: var(--courses-smart-row-height, 2.65rem) !important;
    max-height: var(--courses-smart-row-height, 2.65rem) !important;
    padding: 0 !important;
    gap: 0 !important;
    border-radius: .95rem !important;
    justify-content: center !important;
  }

  .guardians-v2-profile-root .guardians-v2-profile-action-dock .courses-control-action .ui-btn__label--full,
  .guardians-v2-profile-root .guardians-v2-profile-action-dock .courses-control-action .ui-btn__label--short {
    display: none !important;
  }

  .guardians-v2-profile-root .guardians-v2-profile-action-dock .courses-control-action i {
    margin: 0 !important;
  }
}

/* ======================================================================
   EDQ V46.7.17 — Responsables vNext : CTA responsive officiel
   mobile = icône seule ; tablette = libellé court ; PC = libellé long.
   ====================================================================== */
.guardians-v2-profile-action-dock.courses-control-dock,
.guardians-v2-editor-action-dock.courses-control-dock {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  pointer-events: none !important;
}

.guardians-v2-profile-action-dock .courses-control-dock__chips,
.guardians-v2-editor-action-dock .courses-control-dock__chips {
  display: none !important;
}

.guardians-v2-profile-action-dock .courses-control-dock__actions,
.guardians-v2-editor-action-dock .courses-control-dock__actions {
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

.guardians-v2-profile-action-dock .smart-panel-responsive-action,
.guardians-v2-editor-action-dock .smart-panel-responsive-action {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: var(--courses-control-row-height, 2.55rem) !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  overflow: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45rem !important;
}

.guardians-v2-profile-action-dock .smart-panel-responsive-action i,
.guardians-v2-editor-action-dock .smart-panel-responsive-action i {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.guardians-v2-profile-action-dock .smart-panel-responsive-action .ui-btn__label--full,
.guardians-v2-profile-action-dock .smart-panel-responsive-action .ui-btn__label--short,
.guardians-v2-editor-action-dock .smart-panel-responsive-action .ui-btn__label--full,
.guardians-v2-editor-action-dock .smart-panel-responsive-action .ui-btn__label--short {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

/* Mobile portrait + mobile paysage : icône seule. */
@media (max-width: 767px), (max-width: 980px) and (max-height: 520px) and (orientation: landscape) {
  .guardians-v2-profile-action-dock .smart-panel-responsive-action,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action {
    --guardian-v2-action-size: var(--courses-smart-row-height, var(--courses-control-row-height, 2.65rem));
    width: var(--guardian-v2-action-size) !important;
    min-width: var(--guardian-v2-action-size) !important;
    max-width: var(--guardian-v2-action-size) !important;
    height: var(--guardian-v2-action-size) !important;
    min-height: var(--guardian-v2-action-size) !important;
    max-height: var(--guardian-v2-action-size) !important;
    padding: 0 !important;
    gap: 0 !important;
    border-radius: .95rem !important;
  }

  .guardians-v2-profile-action-dock .smart-panel-responsive-action .ui-btn__label--full,
  .guardians-v2-profile-action-dock .smart-panel-responsive-action .ui-btn__label--short,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action .ui-btn__label--full,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action .ui-btn__label--short {
    display: none !important;
  }
}

/* Tablette : icône + libellé court. */
@media (min-width: 768px) and (max-width: 1023px) and (min-height: 521px) {
  .guardians-v2-profile-action-dock.courses-control-dock,
  .guardians-v2-editor-action-dock.courses-control-dock {
    padding-inline: clamp(.72rem, 2vw, 1rem) !important;
  }

  .guardians-v2-profile-action-dock .smart-panel-responsive-action,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action {
    padding-inline: .86rem !important;
    max-width: min(100%, 15rem) !important;
  }

  .guardians-v2-profile-action-dock .smart-panel-responsive-action .ui-btn__label--full,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action .ui-btn__label--full {
    display: none !important;
  }

  .guardians-v2-profile-action-dock .smart-panel-responsive-action .ui-btn__label--short,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action .ui-btn__label--short {
    display: inline !important;
  }
}

/* PC : icône + libellé long. */
@media (min-width: 1024px) {
  .guardians-v2-profile-action-dock .smart-panel-responsive-action,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action {
    padding-inline: .95rem !important;
    max-width: min(100%, 22rem) !important;
  }

  .guardians-v2-profile-action-dock .smart-panel-responsive-action .ui-btn__label--full,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action .ui-btn__label--full {
    display: inline !important;
  }

  .guardians-v2-profile-action-dock .smart-panel-responsive-action .ui-btn__label--short,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action .ui-btn__label--short {
    display: none !important;
  }
}

/* ======================================================================
   EDQ V46.7.18 — Responsables vNext : CTA à largeur intrinsèque
   tablette/PC = le bouton s'élargit pour contenir son libellé actif.
   ====================================================================== */
@media (min-width: 768px) and (min-height: 521px) {
  .guardians-v2-profile-action-dock.courses-control-dock,
  .guardians-v2-editor-action-dock.courses-control-dock {
    padding-inline: clamp(.7rem, 1.4vw, 1rem) !important;
    overflow: visible !important;
  }

  .guardians-v2-profile-action-dock .courses-control-dock__actions,
  .guardians-v2-editor-action-dock .courses-control-dock__actions {
    flex: 0 0 max-content !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: calc(100% - .25rem) !important;
    overflow: visible !important;
    justify-content: flex-end !important;
  }

  .guardians-v2-profile-action-dock .smart-panel-responsive-action,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action {
    flex: 0 0 max-content !important;
    inline-size: max-content !important;
    width: max-content !important;
    min-inline-size: max-content !important;
    min-width: max-content !important;
    max-inline-size: none !important;
    max-width: none !important;
    padding-inline: 1rem !important;
    overflow: visible !important;
  }

  .guardians-v2-profile-action-dock .smart-panel-responsive-action .ui-btn__label--full,
  .guardians-v2-profile-action-dock .smart-panel-responsive-action .ui-btn__label--short,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action .ui-btn__label--full,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action .ui-btn__label--short {
    flex: 0 0 auto !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }
}

/* ======================================================================
   EDQ V46.7.19 — Responsables vNext : CTA ajusté au contenu + ellipsis
   Règle générale : le bouton prend la taille de son contenu visible ;
   s'il atteint une limite maximale, seul le libellé est tronqué proprement.
   ====================================================================== */
.guardians-v2-profile-action-dock .courses-control-dock__actions,
.guardians-v2-editor-action-dock .courses-control-dock__actions {
  flex: 0 1 auto !important;
  inline-size: auto !important;
  width: auto !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  max-inline-size: calc(100% - .5rem) !important;
  max-width: calc(100% - .5rem) !important;
  overflow: visible !important;
  justify-content: flex-end !important;
}

.guardians-v2-profile-action-dock .smart-panel-responsive-action,
.guardians-v2-editor-action-dock .smart-panel-responsive-action {
  --guardian-v2-action-max-inline-size: 16.75rem;
  flex: 0 1 auto !important;
  inline-size: fit-content !important;
  width: fit-content !important;
  min-inline-size: var(--courses-control-row-height, 2.46rem) !important;
  min-width: var(--courses-control-row-height, 2.46rem) !important;
  max-inline-size: min(100%, var(--guardian-v2-action-max-inline-size)) !important;
  max-width: min(100%, var(--guardian-v2-action-max-inline-size)) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  justify-content: center !important;
}

.guardians-v2-profile-action-dock .smart-panel-responsive-action i,
.guardians-v2-editor-action-dock .smart-panel-responsive-action i {
  flex: 0 0 auto !important;
}

.guardians-v2-profile-action-dock .smart-panel-responsive-action .ui-btn__label--full,
.guardians-v2-profile-action-dock .smart-panel-responsive-action .ui-btn__label--short,
.guardians-v2-editor-action-dock .smart-panel-responsive-action .ui-btn__label--full,
.guardians-v2-editor-action-dock .smart-panel-responsive-action .ui-btn__label--short {
  flex: 1 1 auto !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  inline-size: auto !important;
  width: auto !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (min-width: 768px) and (max-width: 1023px) and (min-height: 521px) {
  .guardians-v2-profile-action-dock .smart-panel-responsive-action,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action {
    --guardian-v2-action-max-inline-size: 12.5rem;
    padding-inline: .86rem !important;
  }
}

@media (min-width: 1024px) {
  .guardians-v2-profile-action-dock .smart-panel-responsive-action,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action {
    --guardian-v2-action-max-inline-size: 16.75rem;
    padding-inline: .95rem !important;
  }
}

@media (min-width: 1440px) {
  .guardians-v2-profile-action-dock .smart-panel-responsive-action,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action {
    --guardian-v2-action-max-inline-size: 17rem;
  }
}

@media (max-width: 767px), (max-width: 980px) and (max-height: 520px) and (orientation: landscape) {
  .guardians-v2-profile-action-dock .smart-panel-responsive-action,
  .guardians-v2-editor-action-dock .smart-panel-responsive-action {
    --guardian-v2-action-size: var(--courses-smart-row-height, var(--courses-control-row-height, 2.65rem));
    inline-size: var(--guardian-v2-action-size) !important;
    width: var(--guardian-v2-action-size) !important;
    min-inline-size: var(--guardian-v2-action-size) !important;
    min-width: var(--guardian-v2-action-size) !important;
    max-inline-size: var(--guardian-v2-action-size) !important;
    max-width: var(--guardian-v2-action-size) !important;
    overflow: hidden !important;
  }
}

/* Guardian vNext · élèves disponibles */
.guardians-v2-student-picker-root .guardians-v2-student-picker-grid.dashboard-layout {
  width: 100%;
}

.guardians-v2-student-picker-root .guardian-v2-student-picker-card.ui-accent-card {
  touch-action: manipulation;
}

.guardians-v2-student-picker-root .guardian-v2-student-picker-action-dock .courses-control-action--primary {
  --courses-control-action-color: var(--edq-success, #22c55e);
}

/* ======================================================================
   EDQ V47.0.43 — Responsables vNext : raccord dock → formulaire
   ----------------------------------------------------------------------
   Le panel Ajouter/Modifier un responsable reprend le dock commun, mais le
   formulaire gardait un coussin vertical hérité sous le dock. On réduit ce
   padding à la source du sous-panel, sans changer le dock ni le CTA.
   ====================================================================== */
.guardians-v2-editor-root .guardians-v2-editor-action-dock.courses-control-dock.has-action + .guardians-v2-editor-content.courses-panel-content {
  padding-top: clamp(.30rem, .52vw, .46rem) !important;
}

.guardians-v2-editor-root #guardian-v2-editor-panel-content .guardian-v2-editor-form.student-editor-form--hybrid {
  padding-top: clamp(.30rem, .72vw, .55rem) !important;
}

@media (max-width: 767px), (max-width: 980px) and (max-height: 520px) and (orientation: landscape) {
  .guardians-v2-editor-root .guardians-v2-editor-action-dock.courses-control-dock.has-action + .guardians-v2-editor-content.courses-panel-content {
    padding-top: .24rem !important;
  }

  .guardians-v2-editor-root #guardian-v2-editor-panel-content .guardian-v2-editor-form.student-editor-form--hybrid {
    padding-top: .24rem !important;
  }
}

