/* Composants transversaux destinés au design system. */

/* Pont v2.2 : la structure historique imbrique la sidebar dans `.app` et
   conserve déjà le décalage du contenu sur `.shell`. */
.app.cc-app-shell {
  padding-left: 0;
}

/* La structure actuelle place les entrées directement dans la sidebar.
   Le rythme est donc porté par chaque item, sans gap de groupe supplémentaire. */
.sidebar.cc-sidebar {
  gap: 0;
}

/* Adaptation v2.2 ciblée : les synthèses CRM n'ont pas de libellé distinct. */
.crm-stat.cc-kpi .cc-kpi__value {
  margin-top: 0;
}

/* Les lignes existantes conservent leurs colonnes d'action et leur axe temporel. */
.task-line.cc-task {
  grid-template-columns: 8px minmax(0, 1fr) auto 16px;
}

.agenda-item.cc-agenda__item {
  grid-template-columns: 72px 18px minmax(0, 1fr) auto;
  gap: 16px;
}

.agenda-marker.cc-agenda__marker {
  width: 18px;
  height: 18px;
}

.sync-hero.cc-sync-status {
  display: flex;
}

@media (max-width: 1080px) {
  #view-vehicle .vehicle-hero.cc-entity-header {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-vehicle .hero-car.cc-entity-header__media {
    width: 100%;
    aspect-ratio: auto;
  }
}

.component-stack {
  display: grid;
  gap: var(--space-4);
}

.component-row {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.component-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-4);
}

.btn:focus-visible,
.icon-btn:focus-visible,
.link-button:focus-visible,
.tabs button:focus-visible,
.vehicle-tabs button:focus-visible {
  outline: 3px solid var(--accent-soft-2);
  outline-offset: 2px;
}

.is-disabled,
:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.ds-swatch {
  min-height: 96px;
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--panel-2);
}

.ds-swatch i {
  display: block;
  width: 100%;
  height: 42px;
  margin-bottom: var(--space-3);
  border-radius: var(--radius-md);
  background: var(--swatch);
}

.ds-swatch code {
  color: var(--muted);
}
