/* ==========================================================================
   HOLYSTOCK - Page-Specific Styles
   ==========================================================================
   Styles unique to each view: Dashboard, Inventory, Add Stock,
   Analytics, and Settings.
   ========================================================================== */

/* ============================================
   DASHBOARD
   ============================================ */

.dashboard-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-6);
  margin-bottom: var(--space-8);
}

.dashboard-alerts {
  margin-bottom: var(--space-8);
}

.dashboard-charts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: var(--space-6);
}

.chart-card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  box-shadow: var(--glass-highlight), var(--shadow-sm);
  transition: border-color var(--transition-base), background var(--transition-base);
}

.chart-card:hover {
  border-color: var(--glass-border-hover);
  background: var(--glass-bg-hover);
}

.chart-card .chart-title {
  font-size: var(--text-base);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--space-4);
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.chart-card canvas {
  width: 100% !important;
  max-height: 300px;
}

/* ============================================
   INVENTORY
   ============================================ */

.inventory-toolbar {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
  margin-bottom: var(--space-6);
}

.inventory-table-wrapper {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--glass-highlight), var(--shadow-sm);
}

.inventory-table-scroll {
  overflow-x: auto;
}

.inventory-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-2);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.inventory-footer-left {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.pagination-controls {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.pagination-controls #page-indicator {
  display: flex;
  align-items: center;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  white-space: nowrap;
}

/* Inline editable cells */
.editable-cell {
  cursor: pointer;
  padding: var(--space-1) var(--space-2);
  border-radius: var(--radius-sm);
  transition: background-color var(--transition-fast);
}

.editable-cell:hover {
  background: var(--color-surface-hover);
}

.editable-cell.editing {
  background: var(--color-surface);
}

.editable-cell input {
  width: 80px;
  padding: var(--space-1) var(--space-2);
  background: var(--color-bg);
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-sm);
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  text-align: center;
}

/* Inventory card view (mobile) */
.inventory-cards {
  display: none; /* shown on mobile via responsive.css */
  flex-direction: column;
  gap: var(--space-4);
}

.inventory-card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-xl);
  padding: var(--space-5);
  box-shadow: var(--glass-highlight), var(--shadow-sm);
  transition: border-color var(--transition-base), background var(--transition-base);
}

.inventory-card:hover {
  border-color: var(--glass-border-hover);
  background: var(--glass-bg-hover);
}

.inventory-card.card-danger {
  border-color: rgba(255, 51, 102, 0.3);
  background: var(--color-danger-dim);
}

.inventory-card.card-warning {
  border-color: rgba(255, 170, 0, 0.3);
  background: var(--color-warning-dim);
}

.inventory-card .card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}

.inventory-card .card-product-name {
  font-weight: var(--font-weight-semibold);
  font-size: var(--text-base);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inventory-card .card-top .badge {
  flex-shrink: 0;
  white-space: nowrap;
}

.inventory-card .card-details {
  display: flex;
  gap: var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-3);
}

.inventory-card .card-pricing {
  font-size: var(--text-sm);
  margin-bottom: var(--space-4);
}

.inventory-card .card-actions {
  display: flex;
  gap: var(--space-2);
}

/* ============================================
   ADD STOCK (handled mostly by modal in components.css)
   ============================================ */

.add-stock-form .profit-preview {
  background: var(--color-accent-dim);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid rgba(240, 255, 61, 0.2);
  border-radius: var(--radius-xl);
  padding: var(--space-4);
  text-align: center;
  box-shadow: var(--glass-highlight);
}

.add-stock-form .profit-value {
  font-size: var(--text-2xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-accent);
}

.add-stock-form .profit-label {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

/* ============================================
   ANALYTICS
   ============================================ */

.analytics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: var(--space-6);
}

.analytics-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-4);
  margin-bottom: var(--space-8);
}

/* ============================================
   SETTINGS
   ============================================ */

.settings-section {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  margin-bottom: var(--space-6);
  box-shadow: var(--glass-highlight), var(--shadow-sm);
}

.settings-section .settings-title {
  font-size: var(--text-lg);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--space-5);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}

.settings-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-border);
}

.settings-row:last-child {
  border-bottom: none;
}

.settings-row .setting-label {
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
}

.settings-row .setting-description {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  margin-top: var(--space-1);
}

.settings-row .setting-control {
  flex-shrink: 0;
}

.settings-actions {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-6);
}
