/**
 * E42-Market Custom CSS
 * Project-specific additions to SixCSS base
 */

/* ============================================================================
   LAYOUT - CRM Style with Sidebar
   ========================================================================= */

body {
  margin: 0;
  display: flex;
  min-height: 100vh;
}

.crm-layout {
  display: flex;
  width: 100%;
  min-height: 100vh;
}

/* ============================================================================
   SIDEBAR NAVIGATION
   ========================================================================= */

.sidebar {
  width: 240px;
  background-color: var(--color-surface-elevated, #fafbfc);
  border-right: 1px solid var(--color-border, #d1d9e0);
  position: fixed;
  height: 100vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.sidebar-header {
  padding: var(--spacing-05, 1rem) var(--spacing-05, 1rem);
  border-bottom: 1px solid var(--color-border, #d1d9e0);
}

.sidebar-brand {
  color: var(--color-text-primary, #1a1a1a);
  text-decoration: none;
  font-size: var(--font-size-lg, 1.125rem);
  font-weight: var(--font-weight-semibold, 600);
  display: block;
}

.sidebar-nav {
  flex: 1;
  padding: var(--spacing-04, 0.75rem) 0;
}

.sidebar-section {
  margin-bottom: var(--spacing-06, 1.5rem);
}

.sidebar-section-title {
  padding: var(--spacing-02, 0.25rem) var(--spacing-05, 1rem);
  font-size: var(--font-size-xs, 0.75rem);
  font-weight: var(--font-weight-semibold, 600);
  color: var(--color-text-tertiary, #7a8896);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.sidebar-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sidebar-menu-item {
  margin: 0;
}

.sidebar-menu-link {
  display: block;
  padding: var(--spacing-03, 0.5rem) var(--spacing-05, 1rem);
  color: var(--color-text-secondary, #5a6c7d);
  text-decoration: none;
  font-size: var(--font-size-base, 1rem);
  transition: background-color 110ms, color 110ms;
  border-left: 3px solid transparent;
}

.sidebar-menu-link:hover {
  background-color: var(--color-hover-background, #f4f7fb);
  color: var(--color-primary, #2d5aa0);
}

.sidebar-menu-link.active {
  background-color: var(--color-primary-subtle, #f4f7fb);
  color: var(--color-primary, #2d5aa0);
  border-left-color: var(--color-primary, #2d5aa0);
  font-weight: var(--font-weight-medium, 500);
}

.sidebar-footer {
  padding: var(--spacing-05, 1rem);
  border-top: 1px solid var(--color-border, #d1d9e0);
  font-size: var(--font-size-sm, 0.875rem);
  color: var(--color-text-tertiary, #7a8896);
}

/* ============================================================================
   MAIN CONTENT AREA
   ========================================================================= */

.main-content {
  flex: 1;
  margin-left: 240px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.top-bar {
  background-color: var(--color-background, #ffffff);
  border-bottom: 1px solid var(--color-border, #d1d9e0);
  padding: var(--spacing-04, 0.75rem) var(--spacing-06, 1.5rem);
}

.content-wrapper {
  flex: 1;
  padding: var(--spacing-06, 1.5rem);
  background-color: var(--color-background, #ffffff);
  max-width: 1584px;
  margin: 0 auto;
  width: 100%;
}

/* ============================================================================
   PAGE HEADER
   ========================================================================= */

.page-header {
  margin-bottom: var(--spacing-07, 2rem);
}

.page-header h1 {
  margin-bottom: var(--spacing-02, 0.25rem);
}

/* ============================================================================
   DATA TABLE ALIAS
   ========================================================================= */

.data-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

.data-table thead {
  background-color: var(--color-surface-elevated, #fafbfc);
}

.data-table th {
  padding: var(--spacing-04, 0.75rem);
  text-align: left;
  font-weight: var(--font-weight-semibold, 600);
  font-size: var(--font-size-sm, 0.875rem);
  color: var(--color-text-primary, #1a1a1a);
  border-bottom: 2px solid var(--color-border, #d1d9e0);
}

.data-table td {
  padding: var(--spacing-04, 0.75rem);
  border-bottom: 1px solid var(--color-border-subtle, #e8ecef);
  font-size: var(--font-size-base, 1rem);
}

.data-table tbody tr:hover {
  background-color: var(--color-hover-background, #f4f7fb);
}

/* ============================================================================
   STATUS BADGES
   ========================================================================= */

.status-badge {
  display: inline-block;
  padding: var(--spacing-01, 0.125rem) var(--spacing-03, 0.5rem);
  font-size: var(--font-size-xs, 0.75rem);
  font-weight: var(--font-weight-semibold, 600);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 0;
}

.status-success {
  background-color: var(--color-success-subtle, #e6f4ea);
  color: var(--color-success, #0d7d32);
}

.status-info {
  background-color: var(--color-info-subtle, #e8f0fe);
  color: var(--color-info, #1565c0);
}

.status-warning {
  background-color: var(--color-warning-subtle, #fef7e0);
  color: var(--color-warning, #b06000);
}

.status-error {
  background-color: var(--color-error-subtle, #fce8e6);
  color: var(--color-error, #d33b2c);
}

/* ============================================================================
   ALERTS
   ========================================================================= */

.alert {
  padding: var(--spacing-05, 1rem);
  border-left: 4px solid var(--color-border, #d1d9e0);
  margin-bottom: var(--spacing-05, 1rem);
}

.alert-info {
  background-color: var(--color-info-subtle, #e8f0fe);
  border-left-color: var(--color-info, #1565c0);
  color: var(--color-text-primary, #1a1a1a);
}

.alert-warning {
  background-color: var(--color-warning-subtle, #fef7e0);
  border-left-color: var(--color-warning, #b06000);
  color: var(--color-text-primary, #1a1a1a);
}

.alert-error {
  background-color: var(--color-error-subtle, #fce8e6);
  border-left-color: var(--color-error, #d33b2c);
  color: var(--color-text-primary, #1a1a1a);
}

.alert-success {
  background-color: var(--color-success-subtle, #e6f4ea);
  border-left-color: var(--color-success, #0d7d32);
  color: var(--color-text-primary, #1a1a1a);
}

/* ============================================================================
   UTILITY CLASSES
   ========================================================================= */

.text-mono {
  font-family: var(--font-family-mono, 'Courier New', monospace);
  font-size: 0.9375rem;
}

.text-secondary {
  color: var(--color-text-secondary, #5a6c7d);
}

.text-tertiary {
  color: var(--color-text-tertiary, #7a8896);
}

.list-unstyled {
  list-style: none;
  padding: 0;
  margin: 0;
}

.list-unstyled li {
  margin-bottom: var(--spacing-03, 0.5rem);
}

/* ============================================================================
   STAT BOX (for metrics display)
   ========================================================================= */

.stat-box {
  padding: var(--spacing-05, 1rem);
  background-color: var(--color-surface-elevated, #fafbfc);
  border: 1px solid var(--color-border, #d1d9e0);
  border-radius: 0;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.stat-box .text-h2 {
  font-size: 2.5rem;
  font-weight: var(--font-weight-semibold, 600);
  line-height: 1.2;
  margin: var(--spacing-02, 0.25rem) 0;
  color: var(--color-primary, #2d5aa0);
}
