@import url("../design/tokens.cf68e2506a35.css");

.schedule-dashboard,
.schedule-selected-period,
.schedule-dashboard-lead,
.schedule-next,
.schedule-next-days {
  min-width: 0;
}

.schedule-dashboard,
.schedule-selected-period {
  display: grid;
  gap: var(--space-5);
}

.schedule-dashboard-lead {
  display: grid;
  gap: var(--space-4);
}

.schedule-today,
.schedule-next,
.schedule-selected-period {
  min-width: 0;
}

.schedule-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-4);
  border-bottom: var(--border-width-default) solid var(--color-line);
  padding-bottom: var(--space-2);
}

.schedule-section-heading h2,
.schedule-section-heading h3,
.schedule-section-kicker {
  margin: 0;
}

.schedule-section-heading h2 {
  font-size: 1.2rem;
  line-height: 1.2;
}

.schedule-section-kicker {
  margin-bottom: 2px;
  color: var(--color-muted);
  font-size: var(--typography-size-caption);
  font-weight: var(--typography-weight-semibold);
}

.schedule-section-count,
.schedule-week-total {
  color: var(--color-muted);
  font-size: var(--typography-size-caption);
  font-weight: var(--typography-weight-semibold);
  white-space: nowrap;
}

.schedule-empty-note {
  margin: var(--space-3) 0 0;
  color: var(--color-muted);
  font-size: var(--typography-size-meta);
}

.schedule-week-summary {
  min-width: 0;
  align-self: start;
  border: var(--border-width-default) solid var(--color-line);
  border-radius: var(--radius-surface);
  background: var(--color-surface);
}

.schedule-week-summary > summary {
  min-height: var(--control-height-default);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3);
  cursor: pointer;
  font-weight: var(--typography-weight-semibold);
  list-style-position: inside;
}

.schedule-week-summary > summary:focus-visible,
.occurrence-details > summary:focus-visible {
  outline: var(--border-width-focus) solid var(--color-focus);
  outline-offset: var(--space-1);
}

.schedule-week-summary[open] > summary {
  border-bottom: var(--border-width-default) solid var(--color-line);
}

.schedule-week-summary-body {
  padding: var(--space-3);
}

.schedule-week-summary-body > .muted {
  margin: 0;
  font-size: var(--typography-size-caption);
}

.schedule-week-workspaces {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.schedule-week-workspaces li {
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
  color: var(--color-muted);
  font-size: var(--typography-size-caption);
}

.schedule-week-workspaces li span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.schedule-week-workspaces strong {
  flex: 0 0 auto;
  color: var(--color-ink);
}

.chronology-occurrence--compact {
  min-width: 0;
}

.occurrence-details {
  min-width: 0;
}

.occurrence-details > summary {
  min-height: var(--control-height-compact);
  width: fit-content;
  display: inline-flex;
  align-items: center;
  color: var(--color-muted);
  cursor: pointer;
  font-size: var(--typography-size-caption);
  font-weight: var(--typography-weight-semibold);
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

.occurrence-details[open] > summary {
  color: var(--color-ink);
}

.occurrence-details-body {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-2);
  border-left: var(--border-width-default) solid var(--color-line);
  padding-left: var(--space-3);
}

.occurrence-details-body > p,
.occurrence-details-body > .occurrence-meta,
.occurrence-details-body > .actions {
  margin: 0;
}

.occurrence-details-body > p {
  color: var(--color-muted);
  font-size: var(--typography-size-meta);
  line-height: 1.45;
}

.occurrence-details-body > .actions button {
  min-height: var(--control-height-default);
}

.occurrence-resource-list {
  display: grid;
  gap: 2px;
  margin: 0;
  padding-left: 1.1rem;
}

.schedule-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (min-width: 901px) {
  .schedule-dashboard,
  .schedule-selected-period {
    gap: var(--space-4);
  }

  .schedule-section-heading {
    padding-bottom: var(--space-2);
  }

  .chronology-occurrence--compact {
    grid-template-columns: minmax(96px, 112px) minmax(0, 1.6fr) minmax(170px, .7fr);
    grid-template-areas:
      "time title context"
      ". details details";
  }

  .chronology-occurrence--compact .occurrence-time {
    grid-area: time;
  }

  .chronology-occurrence--compact h3 {
    grid-area: title;
  }

  .chronology-occurrence--compact .chronology-context {
    grid-area: context;
  }

  .chronology-occurrence--compact .occurrence-details {
    grid-area: details;
  }

  .chronology-occurrence--compact .occurrence-details-body .occurrence-meta {
    display: flex;
  }

  .chronology-occurrence--compact .occurrence-details-body > .actions {
    justify-self: start;
  }
}

@media (min-width: 1180px) {
  .schedule-dashboard-lead {
    grid-template-columns: minmax(0, 1fr) minmax(220px, .34fr);
    align-items: start;
    gap: var(--space-6);
  }

  .schedule-today {
    min-width: 0;
  }

  .schedule-week-summary {
    margin-top: 0;
  }

  .schedule-next-days .chronology-day,
  .schedule-selected-period .chronology-day {
    grid-template-columns: minmax(10.5rem, 12rem) minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .schedule-dashboard,
  .schedule-selected-period {
    gap: var(--space-4);
  }

  .schedule-section-heading {
    align-items: baseline;
  }

  .chronology-occurrence--compact .occurrence-details-body .occurrence-meta {
    margin-top: 0;
  }
}

@media (max-width: 700px) {
  .schedule-dashboard,
  .schedule-selected-period,
  .schedule-dashboard-lead {
    gap: var(--space-3);
  }

  .schedule-section-heading h2 {
    font-size: 1.05rem;
  }

  .schedule-section-kicker {
    display: none;
  }

  .schedule-week-summary > summary {
    padding: var(--space-2) var(--space-3);
  }

  .schedule-week-summary-body {
    padding: var(--space-3);
  }

  .chronology-occurrence--compact {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "time"
      "title"
      "context"
      "details";
    gap: 2px;
    padding: var(--space-2) 0;
  }

  .chronology-occurrence--compact .occurrence-time {
    grid-area: time;
    margin: 0;
  }

  .chronology-occurrence--compact h3 {
    grid-area: title;
  }

  .chronology-occurrence--compact .chronology-context {
    grid-area: context;
    margin: var(--space-1) 0 0;
  }

  .chronology-occurrence--compact .occurrence-details {
    grid-area: details;
  }

  .occurrence-details > summary {
    min-height: var(--control-height-default);
  }

  .occurrence-details-body {
    margin-top: 0;
  }

  .schedule-next .chronology-day-heading,
  .schedule-selected-period .chronology-day-heading {
    padding-top: var(--space-2);
  }
}

/* C360-B — cockpit adaptatif contextuel. */
.schedule-context-line {
  margin: 0;
  color: var(--color-muted);
  font-size: var(--typography-size-caption);
}

.schedule-cockpit-summary,
.schedule-space-perspective,
.schedule-space-list,
.schedule-space-row {
  min-width: 0;
}

.schedule-cockpit-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, auto);
  align-items: center;
  gap: var(--space-5);
  border-block: var(--border-width-default) solid var(--color-line);
  padding: var(--space-4) 0;
}

.schedule-cockpit-copy,
.schedule-cockpit-facts,
.schedule-overlap-signal,
.schedule-now-next,
.schedule-space-total,
.schedule-selected-facts {
  margin: 0;
}

.schedule-cockpit-facts {
  color: var(--color-muted);
  font-size: var(--typography-size-meta);
  line-height: 1.5;
}

.schedule-cockpit-facts strong {
  color: var(--color-ink);
  font-size: 1.05rem;
  font-weight: var(--typography-weight-semibold);
}

.schedule-overlap-signal {
  width: fit-content;
  margin-top: var(--space-2);
  color: var(--color-danger);
  font-size: var(--typography-size-caption);
  font-weight: var(--typography-weight-semibold);
}

.schedule-now-next {
  min-width: 0;
  display: grid;
  gap: 2px;
  border-left: var(--border-width-default) solid var(--color-line);
  padding-left: var(--space-4);
}

.schedule-now-next > span {
  color: var(--color-muted);
  font-size: var(--typography-size-caption);
  font-weight: var(--typography-weight-semibold);
}

.schedule-now-next > strong {
  max-width: 24rem;
  color: var(--color-ink);
  font-size: var(--typography-size-meta);
  overflow-wrap: anywhere;
}

.schedule-week-spaces-link {
  width: fit-content;
  display: inline-flex;
  margin-top: var(--space-3);
  color: var(--color-ink);
  font-size: var(--typography-size-caption);
  font-weight: var(--typography-weight-semibold);
  text-underline-offset: .18em;
}

.schedule-space-perspective {
  display: grid;
  gap: var(--space-4);
}

@media (min-width: 901px) {
  .schedule-space-perspective {
    max-width: 980px;
  }
}

.schedule-space-header {
  min-width: 0;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-5);
  border-bottom: var(--border-width-default) solid var(--color-line);
  padding-bottom: var(--space-3);
}

.schedule-space-header h2,
.schedule-space-header .schedule-section-kicker {
  margin: 0;
}

.schedule-space-header h2 {
  font-size: 1.2rem;
}

.schedule-space-total {
  color: var(--color-muted);
  font-size: var(--typography-size-meta);
  text-align: right;
}

.schedule-space-total strong {
  color: var(--color-ink);
}

.schedule-space-list {
  display: grid;
  border-top: var(--border-width-default) solid var(--color-line);
}

.schedule-space-row {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-4) 0;
  border-bottom: var(--border-width-default) solid var(--color-line);
}

.schedule-space-row > h3 {
  min-width: 0;
  margin: 0;
  font-size: var(--typography-size-body);
  overflow-wrap: anywhere;
}

.schedule-space-comparison {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(10rem, 420px) minmax(0, 1fr);
  align-items: center;
  gap: var(--space-3);
}

.schedule-space-metrics {
  margin: 0;
  color: var(--color-muted);
  font-size: var(--typography-size-caption);
}

.schedule-space-metrics strong {
  color: var(--color-ink);
  font-weight: var(--typography-weight-semibold);
}

.schedule-space-bar {
  width: 100%;
  height: 8px;
  display: block;
  overflow: hidden;
  border-radius: 999px;
  background: var(--color-line);
}

.schedule-space-bar > span {
  width: 100%;
  height: 100%;
  display: block;
  transform: scaleX(var(--schedule-space-scale));
  transform-origin: left center;
  border-radius: 999px;
  background: #8fa4d4;
}

.schedule-space-next {
  min-width: 0;
  margin: 0;
  color: var(--color-muted);
  font-size: var(--typography-size-caption);
  overflow-wrap: anywhere;
}

.schedule-space-note {
  max-width: 70ch;
  margin: 0;
  color: var(--color-muted);
  font-size: var(--typography-size-caption);
  line-height: 1.5;
}

.schedule-space-empty {
  padding-block: var(--space-6);
  text-align: center;
}

.schedule-space-empty h3,
.schedule-space-empty p {
  margin: 0;
}

.schedule-space-empty p {
  margin-top: var(--space-2);
}

.schedule-selected-facts {
  color: var(--color-muted);
  font-size: var(--typography-size-meta);
}

@media (max-width: 700px) {
  .schedule-cockpit-summary {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
    padding: var(--space-3) 0;
  }

  .schedule-now-next {
    border-left: 0;
    border-top: var(--border-width-default) solid var(--color-line);
    padding: var(--space-3) 0 0;
  }

  .schedule-space-header {
    display: grid;
    gap: var(--space-2);
    align-items: start;
  }

  .schedule-space-total {
    text-align: left;
  }

  .schedule-space-row {
    gap: var(--space-1);
    padding: var(--space-3) 0;
  }

  .schedule-space-comparison {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }
}
