/**
 * OPUS UI V2 — raffinement mobile aligné maquettes (missions, dispos, dashboard).
 * Couche visuelle uniquement — sans refonte guidée des zones.
 */

@media (max-width: 768px) {
  /* ——— Dashboard mobile ——— */
  body.opus-ui-v2 #dash .dashHeader h2 {
    font-size: 1.35rem;
  }

  body.opus-ui-v2 #dashSummary.cards-row {
    gap: 10px !important;
  }

  body.opus-ui-v2 .opus-v2-next-panel {
    border-radius: 14px;
  }

  /* ——— Missions disponibles (maquette) ——— */
  body.opus-ui-v2 .opus-v2-mission-stage-header {
    margin: 0 0 14px;
    padding: 0 2px;
  }

  body.opus-ui-v2 .opus-v2-mission-stage-title {
    margin: 0 0 4px;
    color: #182033;
    font-size: 1.25rem;
    font-weight: 760;
    letter-spacing: -.03em;
  }

  body.opus-ui-v2 .opus-v2-mission-stage-count {
    margin: 0;
    color: #697386;
    font-size: .88rem;
    line-height: 1.45;
  }

  body.opus-ui-v2 #mesMatchsGrid.opus-v2-mission-carousel .match-card.opus-market-card {
    min-height: min(68dvh, 560px);
    padding: 20px 18px !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 28px rgba(24, 32, 51, .08) !important;
  }

  body.opus-ui-v2 #mesMatchsGrid.opus-v2-mission-carousel .match-card::before {
    display: none;
  }

  body.opus-ui-v2 .opus-v2-mission-badge.is-new {
    color: #fff;
    background: #ff6b57;
    border: 0;
  }

  body.opus-ui-v2 .opus-v2-mission-badge.is-match {
    color: #697386;
    background: #f0f2f5;
    border: 1px solid #e2e5ea;
  }

  body.opus-ui-v2 .opus-v2-mission-finance-hero {
    margin-top: 14px !important;
    padding: 16px !important;
    background: #f7f7fa !important;
    border-radius: 12px !important;
  }

  body.opus-ui-v2 .opus-market-card .opus-v2-mockup-cta {
    width: 100%;
    min-height: 48px;
    margin-top: 4px;
    color: #fff !important;
    background: linear-gradient(135deg, #ff6b57 0%, #ef654f 100%) !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 20px rgba(239, 101, 79, .22);
    font-size: .92rem !important;
    font-weight: 700 !important;
  }

  body.opus-ui-v2 .opus-market-card .actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: auto;
    padding-top: 14px;
  }

  body.opus-ui-v2 .opus-market-card .actions .secondary,
  body.opus-ui-v2 .opus-market-card .actions button.secondary {
    min-height: 42px;
    border-radius: 11px !important;
  }

  body.opus-ui-v2 .opus-v2-mission-dot.is-active {
    background: #182033;
  }

  body.opus-ui-v2 .opus-v2-mission-nav-btn {
    border-radius: 10px;
    box-shadow: none;
  }

  /* ——— Disponibilités (maquette) ——— */
  body.opus-ui-v2 #disposSection > h2 {
    font-size: 1.25rem;
    margin-bottom: 6px;
  }

  body.opus-ui-v2 #disposSection > .muted.dispos-intro {
    font-size: .88rem;
    line-height: 1.5;
  }

  body.opus-ui-v2 #disposSection .calendar-title {
    font-size: 1rem !important;
    font-weight: 700;
    color: #182033;
  }

  body.opus-ui-v2 #disposSection .calendar-controls button.secondary {
    min-width: 44px;
    min-height: 44px;
    border-radius: 10px;
  }

  body.opus-ui-v2 #disposSection .dispos-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-top: 12px;
    padding: 10px 12px;
    background: #f7f7fa;
    border: 1px solid #ececf1;
    border-radius: 12px;
    font-size: .78rem;
    color: #697386;
  }

  body.opus-ui-v2 #disposSection .opus-dispos-calendar-panel {
    padding: 14px 12px;
    background: #fff;
    border: 1px solid #e7e8ee;
    border-radius: 14px;
  }

  body.opus-ui-v2 #disposSection .opus-calendar-cell.is-available {
    background: #e9f8f2 !important;
    border-color: #b8e8d4 !important;
  }

  body.opus-ui-v2 #disposSection .opus-calendar-cell.is-busy {
    background: #fff1f0 !important;
    border-color: #f5c4be !important;
  }

  /* ——— Messagerie liste ——— */
  body.opus-ui-v2 #messagesSection > h2 {
    font-size: 1.25rem;
  }

  /* ——— Phase B : touch targets + feedback mobile ——— */
  body.opus-ui-v2 .btn,
  body.opus-ui-v2 button.primary,
  body.opus-ui-v2 button.secondary,
  body.opus-ui-v2 .calendar-controls button {
    min-height: 44px;
  }

  body.opus-ui-v2 #zonesSection .zone-actions button,
  body.opus-ui-v2 #disposSection .calendar-controls button,
  body.opus-ui-v2 #disposSection .dispos-bulk-actions button {
    min-height: 44px;
    border-radius: 11px;
  }

  body.opus-ui-v2 #zonesSection,
  body.opus-ui-v2 #disposSection {
    padding: 14px 12px 18px;
    border-radius: 14px;
  }

  body.opus-ui-v2 #notificationToast,
  body.opus-ui-v2 .notification-toast {
    bottom: calc(var(--opus-v2-bottom-nav-h, 48px) + 12px + env(safe-area-inset-bottom, 0px));
    z-index: 1600;
  }

  body.opus-ui-v2.opus-v2-bottom-nav-active #notificationToast,
  body.opus-ui-v2.opus-v2-bottom-nav-active .notification-toast {
    max-width: calc(100vw - 24px);
  }
}
