/**
 * Lightweight bridge so legacy admin pages pick up typography / tokens
 * from the perfect-sap shell (fonts + primary blues) without rewriting all Bootstrap 3 markup.
 */
@import url("https://cdn.jsdelivr.net/npm/@fontsource/source-sans-3@5.0.12/index.css");

html {
  font-family: "Source Sans 3", "Source Sans Pro", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

.app-header.navbar {
  min-height: 3.5rem;
  border-bottom: 1px solid #dee2e6;
}

.app-sidebar .sidebar-brand {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.app-sidebar .brand-link {
  min-height: 3.5rem;
}

.app-sidebar .brand-image {
  max-height: 32px;
}

.skin-blue .main-header .logo,
.skin-blue-light .main-header .logo {
  font-weight: 600;
}

/* Bridge legacy AdminLTE 2 sidebar tree into AdminLTE 4 shell */
.legacy-sidebar-bridge .sidebar {
  padding: 0.5rem 0.5rem 1rem;
}

.legacy-sidebar-bridge .sidebar-menu,
.legacy-sidebar-bridge .treeview-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.legacy-sidebar-bridge .sidebar-menu > li > a,
.legacy-sidebar-bridge .treeview-menu > li > a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  border-radius: 0.375rem;
  padding: 0.42rem 0.7rem;
  font-size: 0.92rem;
  line-height: 1.3;
}

.legacy-sidebar-bridge .nav-link {
  display: flex;
  align-items: center;
  width: 100%;
}

.legacy-sidebar-bridge .nav-icon {
  width: 1.2rem;
  text-align: center;
  flex: 0 0 1.2rem;
}

.legacy-sidebar-bridge .nav-link > p {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  width: 100%;
}

.legacy-sidebar-bridge .nav-badge {
  margin-left: auto;
  margin-right: 0.5rem;
}

.legacy-sidebar-bridge .sidebar-menu > li > a:hover,
.legacy-sidebar-bridge .treeview-menu > li > a:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.12);
}

.legacy-sidebar-bridge .treeview-menu {
  margin: 0.2rem 0 0.35rem 0.9rem;
  padding-left: 0.5rem;
  border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.legacy-sidebar-bridge .treeview > .treeview-menu {
  display: none;
}

.legacy-sidebar-bridge .treeview.menu-open > .treeview-menu {
  display: block;
}

.legacy-sidebar-bridge .header {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.58);
  margin: 0.75rem 0.6rem 0.35rem;
}

.legacy-sidebar-bridge .previous-btn-glow {
  border-radius: 0.45rem;
  margin: 0.45rem 0.4rem 0.75rem;
  box-shadow: none !important;
  animation: none !important;
  background: rgba(255, 255, 255, 0.12);
}

.legacy-sidebar-bridge .previous-btn-glow a {
  color: #f9f9f9 !important;
  font-size: 0.86rem !important;
  padding: 0.52rem 0.72rem !important;
  line-height: 1.3 !important;
}

.legacy-sidebar-bridge .pull-right-container {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
}

.legacy-sidebar-bridge .fa-angle-left {
  opacity: 0.75;
  transition: transform 0.2s ease;
}

.legacy-sidebar-bridge .nav-arrow {
  margin-left: auto;
  opacity: 0.75;
  transition: transform 0.2s ease;
}

.legacy-sidebar-bridge .treeview.menu-open > a .fa-angle-left {
  transform: rotate(-90deg);
}

.legacy-sidebar-bridge .treeview.menu-open > a .nav-arrow {
  transform: rotate(90deg);
}

.legacy-sidebar-bridge .nav-treeview {
  list-style: none;
  margin: 0.15rem 0 0.35rem 0.9rem;
  padding: 0.15rem 0 0.15rem 0.5rem;
  border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.legacy-sidebar-bridge .nav-treeview .nav-link {
  font-size: 0.88rem;
}

.legacy-sidebar-bridge i.fa-angle-left.pull-right {
  display: none !important;
}

.app-content .card,
.app-content .box,
.app-content .panel {
  border: 0;
  border-radius: 0.75rem;
  box-shadow: 0 0.125rem 0.5rem rgba(15, 23, 42, 0.08);
}

.app-content .card-header,
.app-content .box-header,
.app-content .panel-heading {
  border-bottom: 1px solid #e9ecef;
}

.app-content .form-control,
.app-content .form-select {
  border-radius: 0.5rem;
  min-height: 2.55rem;
}

.app-content table.table thead th {
  background-color: #f8fafc;
  font-weight: 600;
}

.app-content table.table td,
.app-content table.table th {
  vertical-align: middle;
}

.sap-page-content {
  padding-top: 0.75rem;
  padding-bottom: 1rem;
}

.sap-page-content > .alert {
  border: 0;
  border-radius: 0.65rem;
  box-shadow: 0 0.125rem 0.5rem rgba(15, 23, 42, 0.08);
}

.sap-page-content .card {
  border-radius: 0.75rem;
  border: 0;
  box-shadow: 0 0.125rem 0.75rem rgba(2, 32, 71, 0.09);
}

.sap-page-content .card-header {
  border-bottom: 0;
}

.sap-page-content .btn {
  border-radius: 0.5rem;
}

.sap-page-content .btn-primary {
  border-color: #0d6efd;
  background-color: #0d6efd;
}

.sap-page-content .btn-outline-secondary {
  border-color: #d0d7de;
  color: #374151;
}

.sap-page-content .form-label,
.sap-page-content label {
  font-weight: 600;
  color: #1f2937;
}

.sap-page-content .form-control,
.sap-page-content .form-select,
.sap-page-content select.form-control,
.sap-page-content textarea.form-control {
  border: 1px solid #d8dee6;
  border-radius: 0.55rem;
  min-height: 2.55rem;
}

.sap-page-content textarea.form-control {
  min-height: 6rem;
}

.sap-page-content .form-control:focus,
.sap-page-content .form-select:focus {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.2);
}

.sap-page-content .table,
.sap-page-content table {
  border-color: #e9ecef;
}

.sap-page-content .table thead th,
.sap-page-content table thead th {
  background: #f8fafc;
  color: #1f2937;
  font-weight: 600;
}

.sap-page-content .table td,
.sap-page-content .table th {
  vertical-align: middle;
}

.sap-page-content .box,
.sap-page-content .panel {
  border: 0 !important;
  border-radius: 0.75rem;
  box-shadow: 0 0.125rem 0.75rem rgba(2, 32, 71, 0.09);
  background: #fff;
}

.sap-page-content .box-header.with-border,
.sap-page-content .panel-heading {
  border: 0 !important;
  color: #fff;
  border-radius: 0.75rem 0.75rem 0 0;
  background: linear-gradient(135deg, #0d6efd 0%, #20c997 100%);
}

.sap-page-content .box-body,
.sap-page-content .panel-body {
  padding: 1rem;
}

.sap-page-content .box-fotter,
.sap-page-content .box-footer,
.sap-page-content .panel-footer {
  background: #f8f9fa;
  border-top: 1px solid #e9ecef;
  border-radius: 0 0 0.75rem 0.75rem;
  padding: 0.75rem 1rem;
}

/* Shared create/update form reference style */
.is-form-reference .app-content {
  padding-top: 0.25rem;
}

.is-form-reference .app-content .container-fluid > form,
.is-form-reference .app-content .container-fluid > .box,
.is-form-reference .app-content .container-fluid > .panel {
  background: #fff;
  border: 0;
  border-radius: 0.75rem;
  box-shadow: 0 0.125rem 0.75rem rgba(2, 32, 71, 0.09);
}

.is-form-reference .app-content .container-fluid > form {
  padding: 1rem 1rem 0.5rem;
}

.is-form-reference .app-content .content-header {
  margin: 0 0 1rem 0;
  padding: 0;
}

.is-form-reference .app-content .content-header > h1 {
  margin: 0;
  color: #fff;
  font-size: 1.9rem;
  font-weight: 600;
  border-radius: 0.75rem;
  padding: 1rem 1.2rem;
  background: linear-gradient(135deg, #0d6efd 0%, #6f42c1 50%, #20c997 100%);
}

.is-form-reference .app-content .content-header > h1 small {
  color: rgba(255, 255, 255, 0.85) !important;
}

.is-form-reference .app-content .box,
.is-form-reference .app-content .panel {
  margin-bottom: 1rem;
}

.is-form-reference .app-content .box-header,
.is-form-reference .app-content .panel-heading,
.is-form-reference .app-content .card-header {
  color: #fff;
  border-bottom: 0;
  border-radius: 0.75rem 0.75rem 0 0 !important;
  background: linear-gradient(135deg, #0d6efd 0%, #20c997 100%);
}

.is-form-reference .app-content .box-title,
.is-form-reference .app-content .panel-title {
  font-weight: 600;
}

.is-form-reference .app-content .box-header.with-border,
.is-form-reference .app-content .panel-heading {
  border: 0 !important;
}

.is-form-reference .app-content .box-body,
.is-form-reference .app-content .panel-body,
.is-form-reference .app-content .card-body {
  padding: 1rem;
}

.is-form-reference .app-content .box-fotter,
.is-form-reference .app-content .box-footer,
.is-form-reference .app-content .card-footer {
  border-top: 1px solid #e9ecef;
  background: #f8f9fa;
  border-radius: 0 0 0.75rem 0.75rem;
  padding: 0.75rem 1rem;
}

.is-form-reference .app-content .form-group {
  margin-bottom: 1rem;
}

.is-form-reference .app-content label {
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 0.4rem;
}

.is-form-reference .app-content .form-control,
.is-form-reference .app-content select.form-control,
.is-form-reference .app-content textarea.form-control {
  border: 1px solid #d8dee6;
  border-radius: 0.55rem;
  box-shadow: none;
  min-height: 2.6rem;
}

.is-form-reference .app-content textarea.form-control {
  min-height: 6rem;
}

.is-form-reference .app-content .form-control:focus {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.2);
}

.is-form-reference .app-content .btn-primary,
.is-form-reference .app-content .btn-success {
  border: 0;
  border-radius: 0.5rem;
  padding-inline: 1rem;
}

.is-form-reference .app-content .btn {
  border-radius: 0.5rem;
}

.is-form-reference .app-content .radio-inline,
.is-form-reference .app-content .checkbox-inline {
  margin-right: 1rem;
}

.is-form-reference .app-content .select2-container .select2-selection--single {
  min-height: 2.6rem;
  border-radius: 0.55rem;
  border-color: #d8dee6;
  padding-top: 0.2rem;
}

.is-form-reference .app-content .table,
.is-form-reference .app-content table {
  background: #fff;
}

.is-form-reference .app-content [class*="col-md-"] {
  margin-bottom: 0.5rem;
}

/* Legacy Bootstrap-3 grid compatibility for old forms */
.is-form-reference .app-content .box-body::before,
.is-form-reference .app-content .box-body::after,
.is-form-reference .app-content .panel-body::before,
.is-form-reference .app-content .panel-body::after,
.is-form-reference .app-content form::before,
.is-form-reference .app-content form::after {
  content: " ";
  display: table;
}

.is-form-reference .app-content .box-body::after,
.is-form-reference .app-content .panel-body::after,
.is-form-reference .app-content form::after {
  clear: both;
}

.is-form-reference .app-content [class^="col-md-"],
.is-form-reference .app-content [class*=" col-md-"] {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}

@media (min-width: 992px) {
  .is-form-reference .app-content .col-md-1 { width: 8.33333333%; float: left; }
  .is-form-reference .app-content .col-md-2 { width: 16.66666667%; float: left; }
  .is-form-reference .app-content .col-md-3 { width: 25%; float: left; }
  .is-form-reference .app-content .col-md-4 { width: 33.33333333%; float: left; }
  .is-form-reference .app-content .col-md-5 { width: 41.66666667%; float: left; }
  .is-form-reference .app-content .col-md-6 { width: 50%; float: left; }
  .is-form-reference .app-content .col-md-7 { width: 58.33333333%; float: left; }
  .is-form-reference .app-content .col-md-8 { width: 66.66666667%; float: left; }
  .is-form-reference .app-content .col-md-9 { width: 75%; float: left; }
  .is-form-reference .app-content .col-md-10 { width: 83.33333333%; float: left; }
  .is-form-reference .app-content .col-md-11 { width: 91.66666667%; float: left; }
  .is-form-reference .app-content .col-md-12 { width: 100%; float: left; }
}

@media (max-width: 991.98px) {
  .is-form-reference .app-content [class^="col-md-"],
  .is-form-reference .app-content [class*=" col-md-"] {
    width: 100%;
    float: none;
  }
}

.is-form-reference .app-content .help-block,
.is-form-reference .app-content .text-muted {
  font-size: 0.85rem;
}

@media print {
  .app-header,
  .app-sidebar,
  .app-footer {
    display: none !important;
  }

  .app-wrapper,
  .app-main {
    margin: 0 !important;
    padding: 0 !important;
  }

  .app-content {
    padding: 0 !important;
  }
}
