/* App Layout using Flexbox */
.app-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: var(--background-color);
  position: relative; /* For absolute positioning of global spinner */
}

.main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  
  .container {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
}

/* Special handling for login page */
.landing-page {
  min-height: 100%;
  display: flex;
  align-items: center;
  
  .container {
    width: 100%;
  }
}

/* Global Loading Spinner */
.global-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
//   backdrop-filter: blur(2px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  
  .global-loading-content {
    display: flex;
    align-items: center;
    
    mat-progress-spinner {
      ::ng-deep circle {
        stroke: var(--primary-color) !important;
      }
    }
  }
}