/* Shared page patterns. Tenant colors enter only through semantic UI tokens. */
.page-content,
.shell-main > #div_content {
  margin-inline: auto;
  max-width: 1600px;
  width: 100%;
}

.page-header {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--ui-space-3) var(--ui-space-5);
  justify-content: space-between;
  margin: 0 0 var(--ui-space-5);
}

.page-title {
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.2;
  margin: 0;
}

.page-description,
.panel-description,
.help-block {
  color: var(--ui-color-muted);
}

.panel {
  margin-bottom: var(--ui-space-5);
}

.panel-heading {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--ui-space-3);
  justify-content: space-between;
}

.panel-title {
  font-size: 17px;
  line-height: 1.35;
  margin: 0;
  padding: 0;
}

.panel-actions,
.page-actions,
.form-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--ui-space-2);
}

.form-group {
  margin-bottom: var(--ui-space-4);
}

.control-label,
.form-group > label:not(.switch):not(.input-group-addon) {
  color: var(--ui-color-text);
  font-size: 13px;
  font-weight: 650;
  margin-bottom: var(--ui-space-2);
}

.input-group-addon {
  background: var(--ui-color-canvas);
  border-color: var(--ui-color-border);
  color: var(--ui-color-muted);
}

.form-material .form-control {
  border-color: var(--ui-color-border);
  padding-inline: var(--ui-space-2);
}

.table-responsive {
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-md);
  box-shadow: var(--ui-shadow-sm);
  margin-bottom: var(--ui-space-4);
}

.table-responsive > .table,
.dataTables_wrapper .table {
  margin-bottom: 0;
}

.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_length {
  margin-bottom: var(--ui-space-3);
}

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  color: var(--ui-color-muted);
  padding-top: var(--ui-space-3);
}

.nav-tabs {
  border-bottom-color: var(--ui-color-border);
  display: flex;
  gap: var(--ui-space-1);
  overflow-x: auto;
}

.nav-tabs > li > a {
  border-radius: var(--ui-radius-sm) var(--ui-radius-sm) 0 0;
  color: var(--ui-color-muted);
  font-weight: 650;
  white-space: nowrap;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  border-color: var(--ui-color-border) var(--ui-color-border) var(--ui-color-surface);
  color: var(--ui-color-primary);
}

.modal-backdrop.in {
  opacity: .48;
}

.modal-content {
  overflow: hidden;
}

.modal-header,
.modal-footer {
  padding: var(--ui-space-4) var(--ui-space-5);
}

.modal-body {
  padding: var(--ui-space-5);
}

.modal-title {
  font-size: 19px;
}

.breadcrumb {
  background: transparent;
  color: var(--ui-color-muted);
  margin-bottom: var(--ui-space-4);
  padding: 0;
}

.close {
  color: var(--ui-color-text);
  opacity: .65;
}

.close:hover,
.close:focus {
  color: var(--ui-color-danger);
  opacity: 1;
}

.btn-default {
  background: var(--ui-color-surface);
  border-color: var(--ui-color-border);
  color: var(--ui-color-text);
}

.btn-default:hover,
.btn-default:focus {
  background: var(--ui-color-canvas);
  border-color: var(--ui-color-muted);
  color: var(--ui-color-primary);
}

.btn-info,
.bg-blue-600,
.bg-blue-700 {
  background-color: var(--ui-color-accent) !important;
  border-color: var(--ui-color-accent) !important;
}

@media (max-width: 800px) {
  .page-header,
  .panel-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .page-actions,
  .panel-actions,
  .form-actions {
    width: 100%;
  }

  .page-actions > .btn,
  .form-actions > .btn {
    flex: 1 1 auto;
  }

  .panel-body,
  .modal-body {
    padding: var(--ui-space-4);
  }

  .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media print {
  .page-actions,
  .panel-actions,
  .form-actions,
  .btn-floating {
    display: none !important;
  }

  .panel,
  .table-responsive {
    border-color: #cbd5e1;
    box-shadow: none;
  }
}
