/*
  UI refresh layer
  Loaded after the legacy AdminLTE styles so existing templates retain their
  markup while forms, tables and workspace surfaces share a current visual
  language.
*/

:root {
  --ui-page: #f5f7fb;
  --ui-surface: #ffffff;
  --ui-surface-muted: #f8fafc;
  --ui-text: #172033;
  --ui-text-muted: #64748b;
  --ui-border: #e2e8f0;
  --ui-border-strong: #cbd5e1;
  --ui-primary: #0284c7;
  --ui-primary-hover: #0369a1;
  --ui-success: #16a34a;
  --ui-danger: #dc2626;
  --ui-warning: #d97706;
  --ui-radius-sm: 6px;
  --ui-radius: 10px;
  --ui-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 8px 24px rgba(15, 23, 42, .06);
  --ui-shadow-raised: 0 12px 30px rgba(15, 23, 42, .12);
}

.modern-layout,
.modern-layout .content-wrapper {
  color: var(--ui-text);
}

.modern-layout .content-wrapper {
  background: var(--ui-page);
}

.modern-layout .content {
  padding: 20px 24px 32px;
}

.modern-layout .content-header {
  padding: 22px 24px 10px;
}

.modern-layout .content-header > h1 {
  margin: 0;
  color: var(--ui-text);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -.025em;
}

.modern-layout .content-header > h1 > small,
.modern-layout .breadcrumb > li,
.modern-layout .breadcrumb > li + li:before {
  color: var(--ui-text-muted);
}

.modern-layout .breadcrumb {
  background: transparent;
  margin: 5px 0 0;
  padding: 0;
  font-size: 12px;
}

/* Panels */
.modern-layout .box {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow);
  margin-bottom: 20px;
}

.modern-layout .box-header,
.modern-layout .box-header.with-border {
  align-items: center;
  border-bottom: 1px solid var(--ui-border);
  min-height: 54px;
  padding: 15px 20px;
}

.modern-layout .box-title {
  color: var(--ui-text);
  font-size: 15px;
  font-weight: 650;
  letter-spacing: -.01em;
}

.modern-layout .box-body {
  padding: 20px;
}

.modern-layout .box-footer {
  background: var(--ui-surface-muted);
  border-top: 1px solid var(--ui-border);
  padding: 12px 20px;
}

.modern-layout .box.box-primary,
.modern-layout .box.box-success,
.modern-layout .box.box-info,
.modern-layout .box.box-warning,
.modern-layout .box.box-danger {
  border-top-width: 3px;
}

/* Actions */
.modern-layout .btn {
  border-radius: var(--ui-radius-sm);
  font-weight: 600;
  line-height: 1.35;
  padding: 8px 13px;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.modern-layout .btn:hover:not(:disabled),
.modern-layout .btn:focus:not(:disabled) {
  box-shadow: 0 4px 10px rgba(15, 23, 42, .12);
  transform: translateY(-1px);
}

.modern-layout .btn-primary,
.modern-layout .btn-info {
  background: var(--ui-primary);
  border-color: var(--ui-primary);
}

.modern-layout .btn-primary:hover,
.modern-layout .btn-primary:focus,
.modern-layout .btn-info:hover,
.modern-layout .btn-info:focus {
  background: var(--ui-primary-hover);
  border-color: var(--ui-primary-hover);
}

.modern-layout .btn-default,
.modern-layout .btn.JClear {
  background: var(--ui-surface);
  border-color: var(--ui-border-strong) !important;
}

.modern-layout .btn-success { background: var(--ui-success); border-color: var(--ui-success); }
.modern-layout .btn-danger { background: var(--ui-danger); border-color: var(--ui-danger); }
.modern-layout .btn-warning { background: var(--ui-warning); border-color: var(--ui-warning); }
.modern-layout .btn-xs { border-radius: 5px; padding: 3px 8px; }

/* Modals and feedback */
.modern-layout .modal-content {
  border: 0;
  border-radius: 12px;
  box-shadow: var(--ui-shadow-raised);
  overflow: hidden;
}

.modern-layout .modal-header {
  background: var(--ui-surface-muted);
  border-bottom: 1px solid var(--ui-border);
  padding: 16px 20px;
}

.modern-layout .modal-title { color: var(--ui-text); font-weight: 700; }
.modern-layout .modal-footer { background: var(--ui-surface-muted); border-top-color: var(--ui-border); }
.modern-layout .alert { border: 0; border-radius: var(--ui-radius-sm); box-shadow: 0 1px 2px rgba(15, 23, 42, .05); }

/* Navigation */
.modern-layout .main-header .navbar-nav > li > a {
  transition: background-color .18s ease;
}

.modern-layout .main-header .navbar-nav > li > a:hover,
.modern-layout .main-header .navbar-nav > .open > a {
  background: rgba(255, 255, 255, .12) !important;
}

.modern-layout .sidebar-menu > li > a {
  border-left: 3px solid transparent;
  margin: 2px 8px;
  border-radius: var(--ui-radius-sm);
  padding: 10px 12px;
}

.modern-layout .sidebar-menu > li.active > a {
  border-left-color: #7dd3fc;
  box-shadow: 0 4px 12px rgba(2, 132, 199, .22);
}

.modern-layout .sidebar-menu > li.header {
  background: transparent !important;
  color: #94a3b8 !important;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 18px 18px 6px;
}

.modern-layout :focus-visible {
  /* outline: 1px solid var(--skin-primary) !important; */
  outline-offset: 2px;
}

/* Global request progress indicator */
.modern-layout .progress_loader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  height: 4px;
  overflow: hidden;
  background: rgba(26, 115, 232, 0.15);
  box-shadow: 0 1px 4px rgba(26, 115, 232, 0.2);
  pointer-events: none;
}

.modern-layout .progress_loader__bar {
  position: absolute;
  top: 0;
  left: -40%;
  width: 40%;
  height: 100%;
  border-radius: 0 2px 2px 0;
  background: linear-gradient(90deg, #1a73e8, #42a5f5, #1a73e8);
  animation: progress-loader-slide 1.1s ease-in-out infinite;
}

@keyframes progress-loader-slide {
  0% { left: -40%; width: 40%; }
  50% { width: 55%; }
  100% { left: 100%; width: 40%; }
}

/* Order Details report filters */
.order-details-range {
  display: flex;
  gap: 8px;
}

.order-details-range .form-control {
  flex: 1 1 0;
  min-width: 0;
}

.modern-layout .order-details-actions {
  clear: both;
  margin-top: 12px;
  text-align: center;
}

.modern-layout .order-details-actions .btn + .btn {
  margin-left: 10px;
}

@media (prefers-reduced-motion: reduce) {
  .modern-layout *, .modern-layout *::before, .modern-layout *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }

  .modern-layout .progress_loader__bar {
    left: 0;
    width: 100%;
    animation: none;
  }
}

@media (max-width: 767px) {
  .modern-layout .content,
  .modern-layout .content-header { padding-left: 15px; padding-right: 15px; }
  .modern-layout .content { padding-top: 15px; }
  .modern-layout .content-header > h1 { font-size: 19px; }
  .modern-layout .box { border-radius: 8px; margin-bottom: 15px; }
  .modern-layout .box-header,
  .modern-layout .box-header.with-border,
  .modern-layout .box-body { padding-left: 15px; padding-right: 15px; }
  .modern-layout .btn { min-height: 38px; }
}
