/* Lactalis Suite visual system — controlled redesign layer */
:root {
  --suite-ink: #0b1f3a;
  --suite-muted: #5d6d82;
  --suite-brand: #075aa6;
  --suite-brand-dark: #062d63;
  --suite-cyan: #19a8df;
  --suite-line: #d9e5f0;
  --suite-surface: rgba(255, 255, 255, .94);
  --suite-shadow: 0 18px 42px rgba(7, 42, 94, .10);
}

body {
  color: var(--suite-ink);
  -webkit-font-smoothing: antialiased;
}

button, input, select { font: inherit; }

button, a, input, select, textarea {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease;
}

button:hover:not(:disabled), a:hover { transform: translateY(-1px); }

button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(25, 168, 223, .35);
  outline-offset: 2px;
}

.app-header, .topbar, .hero {
  border-radius: 24px !important;
  box-shadow: var(--suite-shadow) !important;
}

.filters-panel, .filters, .quality-filters, .route-filters,
.panel, .section-card, .chart-card, .kpi-card, .summary-card,
.table-card, .card {
  border: 1px solid var(--suite-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(7, 42, 94, .07) !important;
}

.filters-panel, .filters, .quality-filters, .route-filters {
  background: var(--suite-surface) !important;
  backdrop-filter: blur(10px);
}

.panel-header, .panel-head, .filters-toolbar {
  border-bottom-color: var(--suite-line) !important;
}

.panel-header h2, .panel-head h2, .filters-toolbar h2,
.panel-header h3, .panel-head h3 { color: var(--suite-ink); letter-spacing: -.02em; }

select, input, .filter-field select, .filter-field input {
  border-color: #cbdceb !important;
  border-radius: 12px !important;
  background: #fbfdff !important;
}

select:focus, input:focus { border-color: var(--suite-cyan) !important; box-shadow: 0 0 0 4px rgba(25,168,223,.12) !important; }

.primary-button, .primary-btn, .primary-button:hover, .primary-btn:hover {
  background: linear-gradient(135deg, var(--suite-brand-dark), var(--suite-brand)) !important;
  border-color: transparent !important;
}

@media (max-width: 760px) {
  .app-header, .topbar, .hero { border-radius: 20px !important; }
  .panel, .section-card, .chart-card, .kpi-card, .summary-card, .table-card, .card { border-radius: 15px !important; }
}
