/* Shared flat, edge-to-edge surface for the main operational screens. */
body.app-body .content-area > .container-fluid:has(.visual-page) {
  padding: 0 !important;
}

body.app-body .content-area:has(.visual-page) {
  padding-bottom: 0 !important;
}

body.app-body .visual-page {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.app-body .ot-page,
body.app-body .clientes-page,
body.app-body .proveedores-page,
body.app-body .historial-shell,
body.app-body #calendar-layout,
body.app-body .caja-panel {
  height: calc(100dvh - var(--app-footer-height)) !important;
  min-height: 0;
}

body.app-body .ot-page-header,
body.app-body .clientes-header,
body.app-body .proveedores-toolbar,
body.app-body .historial-shell > .card:first-child,
body.app-body #calendar-toolbar,
body.app-body .caja-panel > .row .card-header {
  border: 0 !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  padding: 1rem 1.5rem;
  background:
    radial-gradient(circle at top right, rgba(45, 212, 191, .16), transparent 30%),
    linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 50%, #0f172a 100%) !important;
  color: #fff !important;
  box-shadow: var(--app-shadow-lg) !important;
}

body.app-body .ot-page-header h1,
body.app-body .ot-page-header h2,
body.app-body .ot-page-header small,
body.app-body .clientes-header h1,
body.app-body .proveedores-toolbar h1,
body.app-body .proveedores-toolbar h4,
body.app-body .historial-toolbar-title,
body.app-body #calendar-toolbar h1,
body.app-body #calendar-toolbar h4,
body.app-body .caja-panel > .row .card-header h1,
body.app-body .caja-panel > .row .card-header h2,
body.app-body .caja-panel > .row .card-header .text-muted {
  color: #fff !important;
}

body.app-body .historial-shell > .card:first-child .card-body {
  padding: 0 !important;
}

body.app-body #calendar-toolbar {
  --bs-gutter-x: 0;
  margin-left: 0;
  margin-right: 0;
}

body.app-body .clientes-filter {
  --bs-gutter-x: 0;
  margin-left: 0;
  margin-right: 0;
  padding: .85rem 1.25rem;
  background: var(--app-card-muted);
}

body.app-body .proveedores-search-column {
  width: 100%;
  padding: .85rem 1.25rem;
  background: var(--app-card-muted);
}

body.app-body .visual-page .form-label {
  color: var(--app-muted);
}

body.app-body .historial-toolbar {
  gap: 1.25rem;
}

body.app-body .ot-filter-card,
body.app-body .ot-table-card,
body.app-body .clientes-table-card,
body.app-body .proveedores-table-card,
body.app-body .historial-grid-card,
body.app-body #calendar-card,
body.app-body .caja-panel > .row .card {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: var(--app-shadow-md) !important;
  background: linear-gradient(180deg, var(--app-card-elevated), var(--app-card)) !important;
  color: var(--app-ink) !important;
}

body.app-body .ot-filter-card,
body.app-body .clientes-filter,
body.app-body .proveedores-search-column {
  margin-bottom: 0 !important;
}

body.app-body .ot-filter-card .card-body {
  padding: .85rem 1.25rem !important;
}

body.app-body .caja-panel {
  gap: 0 !important;
}

body.app-body .caja-panel > .row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  flex: 1 1 auto;
  margin: 0;
}

body.app-body .caja-panel > .row > .col-12 {
  padding: 0;
}

body.app-body .caja-panel > .row .card-body {
  padding: 1rem 1.25rem;
}

body.app-body .visual-page :is(.table, .table-responsive) {
  --bs-table-bg: transparent;
  --bs-table-color: var(--app-ink);
  --bs-table-border-color: var(--app-border);
  color: var(--app-ink);
}

body.app-body .visual-page .table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--app-border) !important;
  background: #0f172a !important;
  color: #bfdbfe !important;
  font-size: .78rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.app-body .visual-page .table tbody td {
  padding: .85rem 1rem;
  border-color: var(--app-border) !important;
  color: var(--app-ink);
}

body.app-body .visual-page .table-hover > tbody > tr:hover > * {
  --bs-table-bg-state: rgba(59, 130, 246, .15);
  color: #fff;
}

/* Calendar uses the same dark surfaces and blue accents as the lists. */
body.app-body .calendar-page #calendar-card .card-body {
  padding: 0 !important;
}

body.app-body .calendar-page .fc {
  --fc-border-color: var(--app-border);
  --fc-page-bg-color: var(--app-card);
  --fc-neutral-bg-color: var(--app-card-muted);
  --fc-list-event-hover-bg-color: var(--app-card-elevated);
  --fc-today-bg-color: rgba(59, 130, 246, .12);
  color: var(--app-ink);
}

body.app-body .calendar-page .fc :is(.fc-toolbar-title, .fc-col-header-cell-cushion, .fc-daygrid-day-number, .fc-timegrid-axis-cushion) {
  color: var(--app-ink) !important;
}

body.app-body .calendar-page .fc .fc-day-sat .fc-daygrid-day-frame,
body.app-body .calendar-page .fc .fc-day-sun .fc-daygrid-day-frame {
  background: rgba(148, 163, 184, .035);
}

body.app-body .calendar-page .fc .fc-daygrid-more-link {
  background: var(--app-card-elevated);
  color: #bfdbfe;
}

@media (max-width: 767.98px) {
  body.app-body .content-area:has(.visual-page) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.app-body .visual-page {
    padding-top: 0 !important;
  }

  body.app-body .ot-page,
  body.app-body .clientes-page,
  body.app-body .proveedores-page,
  body.app-body .historial-shell {
    height: auto !important;
  }

  body.app-body .ot-page-header,
  body.app-body .clientes-header,
  body.app-body .proveedores-toolbar,
  body.app-body .historial-shell > .card:first-child,
  body.app-body #calendar-toolbar,
  body.app-body .caja-panel > .row .card-header {
    padding: 1rem;
  }

  body.app-body .ot-filter-card .card-body,
  body.app-body .caja-panel > .row .card-body {
    padding: .85rem !important;
  }

  body.app-body .visual-page .table tbody td,
  body.app-body .visual-page .table thead th {
    padding: .7rem .75rem;
  }

  body.app-body .ot-mobile-card,
  body.app-body .clientes-page .clientes-table tbody tr,
  body.app-body .proveedores-page .proveedores-table tbody tr {
    border-radius: 0 !important;
  }
}
