/* ==========================================================================
   Automotive Paint Mixing & Shop Management System - Responsive Styles
   ========================================================================== */

/* Collapsed Sidebar on Desktop */
body.sidebar-collapsed .app-sidebar {
  width: var(--sidebar-collapsed-width);
}

body.sidebar-collapsed .brand-text,
body.sidebar-collapsed .nav-section-title,
body.sidebar-collapsed .nav-text,
body.sidebar-collapsed .nav-arrow,
body.sidebar-collapsed .user-meta,
body.sidebar-collapsed .sidebar-submenu {
  display: none !important;
}

body.sidebar-collapsed .sidebar-brand {
  justify-content: center;
  padding: 0;
}

body.sidebar-collapsed .sidebar-nav .nav-link {
  justify-content: center;
  padding: 0.85rem 0;
}

body.sidebar-collapsed .sidebar-nav .nav-link i {
  margin-right: 0;
  font-size: 1.35rem;
}

body.sidebar-collapsed .sidebar-footer {
  justify-content: center;
  padding: 0.85rem 0;
}

body.sidebar-collapsed .app-main {
  margin-left: var(--sidebar-collapsed-width);
  width: calc(100% - var(--sidebar-collapsed-width));
}

/* Tablet & Mobile Screens */
@media (max-width: 991.98px) {
  .app-sidebar {
    transform: translateX(-100%);
    width: var(--sidebar-width) !important;
  }

  body.sidebar-open .app-sidebar {
    transform: translateX(0);
  }

  .app-main {
    margin-left: 0 !important;
    width: 100% !important;
  }

  .sidebar-backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1015;
  }

  body.sidebar-open .sidebar-backdrop {
    display: block;
  }

  .topnav-search {
    display: none;
  }

  .settings-container {
    flex-direction: column;
  }

  .settings-nav-card {
    width: 100%;
    position: static;
  }

  .calc-summary-panel {
    position: static;
    margin-top: 1.5rem;
  }
}

@media (max-width: 575.98px) {
  .page-body {
    padding: 1rem;
  }

  .page-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .page-header-actions {
    width: 100%;
  }

  .page-header-actions .btn {
    flex: 1;
    justify-content: center;
  }

  .filter-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .filter-inputs-group {
    flex-direction: column;
  }

  .filter-inputs-group .form-control,
  .filter-inputs-group .form-select {
    width: 100% !important;
  }
}

/* ==========================================================================
   Mobile & Scrollable Modal Enhancements
   ========================================================================== */
.modal-dialog-scrollable {
  max-height: calc(100dvh - 2rem);
}

.modal-dialog-scrollable .modal-content {
  max-height: calc(100dvh - 2rem);
  overflow: hidden;
  border-radius: var(--radius-md);
}

.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  max-height: calc(100dvh - 160px);
}

/* Custom clean scrollbar for modal-body */
.modal-dialog-scrollable .modal-body::-webkit-scrollbar {
  width: 6px;
}
.modal-dialog-scrollable .modal-body::-webkit-scrollbar-track {
  background: #f1f5f9;
}
.modal-dialog-scrollable .modal-body::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
.modal-dialog-scrollable .modal-body::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

@media (max-width: 575.98px) {
  .modal-dialog {
    margin: 0.75rem !important;
    max-width: calc(100% - 1.5rem) !important;
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100dvh - 1.5rem);
  }
  .modal-dialog-scrollable .modal-body {
    max-height: calc(100dvh - 150px);
    padding: 1rem !important;
  }
  .modal-header {
    padding: 0.85rem 1rem !important;
  }
  .modal-footer {
    padding: 0.75rem 1rem !important;
  }
  .modal-footer .btn {
    flex: 1;
  }
}
