/* doc-project | standard/css/line-control.css | Définit le style dédié du bouton d’accès au pilotage du standard, désormais enrichi d’un résumé visuel simultané des statuts de Lançon et de Pélissanne, d’un repérage plus net du PDV courant, d’un meilleur contraste mobile-first et de briques visuelles plus généreuses pour les badges, messages et cartes de statut utilisées par la modale de contrôle de ligne. | Expose: aucun | Dépend de: standard/index.php, standard/js/standard-line-toggle.js, standard/css/line-control-modal.css | Impacte: UI du pilotage du standard, lisibilité de l’état ouvert/fermé, feedback opérateur, point d’entrée ergonomique sur mobile, visibilité des deux PDV | Tables: aucune */

.standard-line-control-wrap {
  margin-top: 24px;
  padding: 18px 16px 40px;
}

.standard-line-control-launcher-wrap {
  width: 95%;
  margin: 0 auto;
}

.standard-line-control-launcher {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 24px 22px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 28px;
  background:
    radial-gradient(circle at top left, rgba(86, 149, 255, 0.22), transparent 36%),
    linear-gradient(140deg, rgba(7, 36, 77, 0.96), rgba(11, 18, 30, 0.98));
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.42);
  color: #ffffff;
  text-align: left;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.standard-line-control-launcher:hover,
.standard-line-control-launcher:focus {
  color: #ffffff;
  text-decoration: none;
  outline: none;
  transform: translateY(-1px);
  box-shadow: 0 24px 52px rgba(0, 0, 0, 0.42);
  border-color: rgba(255, 255, 255, 0.24);
}

.standard-line-control-launcher.is-busy {
  opacity: 0.92;
}

.standard-line-control-launcher__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.12);
  font-size: 2rem;
  line-height: 1;
}

.standard-line-control-launcher__content {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.standard-line-control-launcher__eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.85rem;
  opacity: 0.72;
}

.standard-line-control-launcher__title {
  display: block;
  font-size: 1.45rem;
  line-height: 1.2;
  font-weight: 800;
}

.standard-line-control-launcher__meta {
  display: block;
  margin-top: 2px;
  font-size: 1.02rem;
  line-height: 1.4;
  opacity: 0.9;
}

.standard-line-control-launcher__hint {
  display: block;
  margin-top: 2px;
  font-size: 0.98rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.82);
}

.standard-line-control-launcher__status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.standard-line-control-launcher__status-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.standard-line-control-launcher__status-card.is-current {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.standard-line-control-launcher__status-card.is-other {
  opacity: 0.94;
}

.standard-line-control-launcher__status-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.standard-line-control-launcher__status-name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

.standard-line-control-launcher__status-role {
  margin-top: 4px;
  font-size: 0.82rem;
  line-height: 1.25;
  color: rgba(255, 255, 255, 0.72);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.standard-line-control-launcher__mini-badge {
  min-width: 122px;
  min-height: 44px;
  padding: 0.5rem 0.85rem;
  font-size: 0.9rem;
}

.standard-line-control-launcher__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.standard-line-control-launcher__footer-text {
  font-size: 0.98rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.8);
}

.standard-line-control-launcher__footer-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  font-size: 1.15rem;
  font-weight: 800;
}

.standard-line-control__meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px 16px;
  margin-top: 16px;
  font-size: 1rem;
}

.standard-line-control__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 148px;
  min-height: 52px;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: 1rem;
  background: rgba(255, 255, 255, 0.16);
}

.standard-line-control__badge.is-open { background: #198754; }
.standard-line-control__badge.is-closed { background: #dc3545; }
.standard-line-control__badge.is-unknown,
.standard-line-control__badge.is-loading { background: #6c757d; }

.standard-line-control__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.standard-line-control__actions .btn {
  min-width: 190px;
  font-weight: 700;
}

.standard-line-control__message {
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 12px;
  font-weight: 600;
}

.standard-line-control__message.is-info {
  background: rgba(13, 110, 253, 0.18);
  border: 1px solid rgba(13, 110, 253, 0.32);
}

.standard-line-control__message.is-success {
  background: rgba(25, 135, 84, 0.18);
  border: 1px solid rgba(25, 135, 84, 0.32);
}

.standard-line-control__message.is-warning {
  background: rgba(255, 193, 7, 0.18);
  border: 1px solid rgba(255, 193, 7, 0.32);
}

.standard-line-control__message.is-danger {
  background: rgba(220, 53, 69, 0.18);
  border: 1px solid rgba(220, 53, 69, 0.32);
}

@media (max-width: 768px) {
  .standard-line-control-wrap {
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 26px;
  }

  .standard-line-control-launcher-wrap {
    width: 100%;
  }

  .standard-line-control-launcher {
    align-items: stretch;
    gap: 14px;
    padding: 20px 16px 18px;
    border-radius: 24px;
  }

  .standard-line-control-launcher__icon {
    width: 60px;
    height: 60px;
    border-radius: 18px;
    font-size: 1.7rem;
  }

  .standard-line-control-launcher__title {
    font-size: 1.3rem;
  }

  .standard-line-control-launcher__meta {
    font-size: 0.98rem;
  }

  .standard-line-control-launcher__hint,
  .standard-line-control-launcher__footer-text {
    font-size: 0.92rem;
    line-height: 1.45;
  }

  .standard-line-control-launcher__status-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .standard-line-control-launcher__status-card {
    padding: 12px;
    border-radius: 16px;
  }

  .standard-line-control-launcher__status-name {
    font-size: 0.96rem;
  }

  .standard-line-control-launcher__mini-badge {
    min-width: 116px;
    min-height: 42px;
    padding: 0.48rem 0.7rem;
    font-size: 0.88rem;
  }

  .standard-line-control-launcher__footer {
    margin-top: 12px;
    padding-top: 12px;
  }

  .standard-line-control-launcher__footer-arrow {
    width: 36px;
    height: 36px;
  }
}