/* Scoped UI fixes added after the compiled core/ui bundles. */
@import url("./theme-structure.css?v=20260813-1");
@import url("./theme-layout-consistency.css?v=20260813-2");
@import url("./sidebar-navigation-20260815.css?v=20260815-2");
@import url("./sidebar-navigation-active-20260815.css?v=20260815-1");
@import url("./sidebar-navigation-adjustments-20260815.css?v=20260815-1");
@import url("./sidebar-navigation-final-20260815.css?v=20260815-1");
@import url("./sidebar-wide-layout-20260815.css?v=20260815-1");
@import url("./sidebar-navigation-static-20260815.css?v=20260815-1");
@import url("./sidebar-header-surface-20260815.css?v=20260815-1");
@import url("./dashboard-depth-20260815.css?v=20260815-2");
@import url("./patient-accounting.css?v=20260815-1");

/* Vacations: keep filter actions on the same baseline as the visible fields. */
html[data-theme] .vacation-admin-filter,
html[data-theme] .vacation-public-filter {
  align-items: end;
}

html[data-theme] .vacation-admin-filter > .form-group,
html[data-theme] .vacation-admin-filter > .form-actions,
html[data-theme] .vacation-public-filter > .form-group,
html[data-theme] .vacation-public-filter > .form-actions {
  margin: 0;
}

/* Vacations: manual approved period entry. */
.admin-section:has(> .vacation-manual-entry) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vacation-manual-entry {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.vacation-manual-summary {
  padding: 14px 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vacation-manual-summary:hover {
  background: transparent !important;
}

.vacation-manual-content {
  padding: 10px 0 0 !important;
}

.vacation-manual-form {
  grid-template-columns:
    minmax(280px, 1.55fr)
    minmax(220px, 0.72fr)
    minmax(190px, 0.58fr)
    minmax(290px, auto) !important;
  align-items: end !important;
  gap: 14px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vacation-manual-form > .form-group,
.vacation-manual-form > .form-actions {
  margin: 0 !important;
}

.vacation-manual-end {
  grid-column: 4 !important;
  grid-row: 1 !important;
  align-self: start !important;
  min-height: 18px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--muted, #64748b) !important;
  font-size: 0.84rem;
  font-weight: 400;
  line-height: 1.2;
  white-space: nowrap;
}

.vacation-manual-end strong {
  color: inherit !important;
  font-weight: 600;
}

.vacation-manual-form > .form-actions {
  grid-column: 4 !important;
  grid-row: 1 !important;
  align-self: end !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vacation-manual-form > .form-actions .btn {
  min-height: 48px;
  height: 48px;
  margin: 0;
  white-space: nowrap;
}

@media (max-width: 1050px) {
  .vacation-manual-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .vacation-manual-end,
  .vacation-manual-form > .form-actions {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
}

@media (max-width: 600px) {
  .vacation-manual-form {
    grid-template-columns: 1fr !important;
  }

  .vacation-manual-end,
  .vacation-manual-form > .form-actions {
    grid-column: 1 !important;
    grid-row: 4 !important;
  }
}

/* Dashboard: the badge in the card header is the only action counter. */
.dashboard-card--actions .dashboard-card__subtitle,
.dashboard-card--actions .dashboard-action-count {
  display: none;
}

.dashboard-card--actions .dashboard-card__header {
  margin-bottom: 10px;
}

.dashboard-card--actions .dashboard-report-list {
  max-height: 270px;
}

/* Employee card: keep permission actions readable without widening the table. */
.employee-effective-permissions-table th:nth-child(2),
.employee-effective-permissions-table td:nth-child(2) {
  width: 18%;
  white-space: nowrap;
}

.employee-effective-permissions-table th:nth-child(4),
.employee-effective-permissions-table td:nth-child(4) {
  width: 24%;
}

/* Vacation list printing is document output, not themed UI. */
@media print {
  @page {
    size: A4 portrait;
    margin: 12mm;
  }

  html,
  html[data-theme="green"],
  html[data-theme="blue"],
  html[data-theme="dark"],
  body {
    color-scheme: light !important;
    background: #ffffff !important;
    color: #000000 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  [data-vacation-view="list"],
  [data-vacation-view="list"] .table-scroll,
  .vacation-print-heading,
  .vacation-print-table,
  .vacation-date-table {
    background: #ffffff !important;
    color: #000000 !important;
    box-shadow: none !important;
  }

  [data-vacation-view="list"] *,
  .vacation-print-heading *,
  .vacation-print-table *,
  .vacation-date-table * {
    color: #000000 !important;
    text-shadow: none !important;
    box-shadow: none !important;
  }

  .vacation-print-table,
  .vacation-date-table {
    width: 100% !important;
    min-width: 0 !important;
    border: 1px solid #000000 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }

  .vacation-print-table th,
  .vacation-print-table td,
  .vacation-date-table th,
  .vacation-date-table td {
    border: 1px solid #000000 !important;
    background: #ffffff !important;
    color: #000000 !important;
  }

  .vacation-date-period,
  .vacation-date-periods,
  .vacation-print-table .muted,
  .vacation-print-table .text-muted,
  .vacation-date-table .muted,
  .vacation-date-table .text-muted {
    background: transparent !important;
    color: #000000 !important;
    border-radius: 0 !important;
  }
}
