/* Container System - ROA2WEB */

/* Main App Container */
.app-container {
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: var(--space-lg);
  min-height: calc(100vh - var(--header-height));
}

/* Page Container */
.page-container {
  width: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 0 var(--space-lg);
}

/* Section Container */
.section-container {
  margin-bottom: var(--space-xl);
}

/* Content Container */
.content-container {
  background: var(--color-bg);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

/* Header Container */
.header-container {
  width: 100%;
  height: var(--header-height);
  background: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-fixed);
  display: flex;
  align-items: center;
  padding: 0 var(--space-lg);
}

/* Main Content with Header Offset */
.main-content {
  margin-top: var(--header-height);
  padding: var(--space-lg);
}

/* Dashboard Container */
.dashboard-container {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
  padding: var(--space-lg);
}

/* Card Container */
.card-container {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  padding: var(--space-lg);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition-fast);
}

.card-container:hover {
  box-shadow: var(--shadow-md);
}

/* Compact Card Container */
.card-compact {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  padding: var(--space-md);
  box-shadow: var(--shadow-sm);
}

/* Mini Card Container */
.card-mini {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: var(--space-sm);
  box-shadow: var(--shadow-sm);
}

/* Stats Container */
.stats-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--space-lg);
}

.stats-container-horizontal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-md);
}

/* Table Container */
.table-container {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  overflow: hidden;
}

/* Form Container */
.form-container {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  padding: var(--space-xl);
}

/* Toolbar Container */
.toolbar-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-md) var(--space-lg);
  background: var(--color-bg-secondary);
  border-bottom: 1px solid var(--color-border);
}

/* Action Bar Container */
.action-bar {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md);
  background: var(--color-bg-secondary);
  border-radius: var(--card-radius);
  margin-bottom: var(--space-lg);
}

/* Mobile Container Adjustments */
@media (max-width: 768px) {
  .app-container,
  .main-content,
  .page-container {
    padding: var(--space-md);
  }

  .header-container {
    padding: 0 var(--space-md);
  }

  .dashboard-container {
    gap: var(--space-lg);
    padding: var(--space-md);
  }

  .card-container {
    padding: var(--space-md);
  }

  .toolbar-container {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
    padding: var(--space-md);
  }

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

@media (max-width: 480px) {
  .app-container,
  .main-content,
  .page-container,
  .dashboard-container {
    padding: var(--space-sm);
  }

  .header-container {
    padding: 0 var(--space-sm);
  }

  .card-container {
    padding: var(--space-sm);
  }

  .stats-container-horizontal {
    flex-direction: column;
    gap: var(--space-sm);
    text-align: center;
  }
}

/* Utility Container Classes */
.container-fluid {
  width: 100%;
}
.container-full-height {
  min-height: 100vh;
}
.container-centered {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50vh;
}
