/* AGGRESSIVE COMPACT LAYOUT - Minimal padding & spacing */

/* Hero Cards - Reduce padding by ~60% */
.ov-hero-card, .pm-hero-card, .banking-kpi-card, .costs-kpi-box {
  padding: 10px 14px !important; /* was 24px 32px */
  margin-bottom: 10px !important; /* was 24px */
  min-height: auto !important;
}

.ov-hero-value {
  font-size: 2rem !important; /* was 2.5rem */
  margin-bottom: 4px !important; /* was 8px */
}

.ov-hero-label {
  font-size: 0.8rem !important; /* was 0.9rem */
  margin-bottom: 8px !important; /* was 12px */
}

/* KPI Grids - Much tighter spacing */
.ov-kpis-grid, .costs-kpi-layout, .financial-kpis, .banking-kpis {
  gap: 8px !important; /* was 20px */
  margin-bottom: 12px !important; /* was 32px */
}

/* KPI Boxes - Minimize internal padding */
.ov-kpi-box, .costs-kpi-box, .fin-kpi-box, .banking-kpi-card {
  padding: 8px 12px !important; /* was 16px 20px */
  min-height: auto !important;
}

.ov-kpi-value, .costs-kpi-val {
  font-size: 1.6rem !important; /* was 2rem */
  margin-bottom: 2px !important; /* was 4px */
}

.ov-kpi-label, .costs-kpi-lbl {
  font-size: 0.75rem !important; /* was 0.8rem */
}

/* Tables - Reduce row height */
.bookings-table tbody tr,
.financial-table tbody tr,
.am-referrals-table tbody tr {
  height: 40px !important; /* was 48px */
}

.bookings-table td,
.financial-table td,
.am-referrals-table td {
  padding: 8px 12px !important; /* was 12px 16px */
  font-size: 0.8rem !important; /* was 0.85rem */
}

/* Project Cards - More compact */
.project-card {
  padding: 12px !important; /* was 16px */
  margin-bottom: 12px !important; /* was 16px */
}

.project-header {
  margin-bottom: 8px !important; /* was 12px */
}

.project-title {
  font-size: 0.9rem !important; /* was 1rem */
  margin-bottom: 2px !important; /* was 4px */
}

.project-subtitle {
  font-size: 0.7rem !important; /* was 0.75rem */
}

/* Construction Stats - Reduce height */
.const-stat {
  padding: 12px 16px !important; /* was 16px 20px */
}

.const-stat-value {
  font-size: 1.4rem !important; /* was 1.8rem */
  margin-bottom: 2px !important; /* was 4px */
}

.const-stat-label {
  font-size: 0.7rem !important; /* was 0.75rem */
}

/* General Container Padding - VERY aggressive */
.tab-content {
  padding: 12px 16px !important; /* was 24px 32px */
}

/* All major containers - reduce vertical spacing */
.costs-dashboard, .construction-content, .overview-dashboard, 
.am-dashboard, .calls-dashboard, .rentroll-dashboard {
  padding: 8px 12px !important;
}

/* Section Headers - Minimal space */
.construction-header, .ov-dashboard-header, .costs-header,
.am-header, .calls-header, .rr-header {
  padding-bottom: 8px !important; /* was 24px */
  margin-bottom: 8px !important; /* was 24px */
}

/* Dashboard sections - compress vertical spacing */
.dashboard-section, .kpi-section, .overview-section {
  margin-bottom: 12px !important; /* was 32px+ */
  padding: 8px 0 !important;
}

/* Card Lists - Tighter */
.cost-session-item,
.call-item {
  padding: 8px 12px !important; /* was 12px 16px */
  margin-bottom: 6px !important; /* was 8px */
}

/* Metrics Rows - Less height */
.metric-row {
  min-height: 32px !important; /* was 40px */
  padding: 6px 0 !important; /* was 8px 0 */
}

/* Button Groups - Tighter */
.ov-date-picker-container,
.filter-controls {
  margin-bottom: 12px !important; /* was 16px */
}

.ov-date-option {
  padding: 6px 12px !important; /* was 8px 16px */
  font-size: 0.75rem !important; /* was 0.8rem */
}

/* Loading States - Smaller */
.loading-construction,
.loading-state {
  padding: 20px !important; /* was 40px */
}

.loading-construction div:first-child {
  font-size: 32px !important; /* was 48px */
  margin-bottom: 8px !important; /* was 12px */
}

/* Subtab Navigation - More compact */
.construction-subtabs,
.am-subtabs {
  margin-bottom: 16px !important; /* was 24px */
}

.subtab {
  padding: 8px 14px !important; /* was 10px 18px */
  font-size: 0.8rem !important; /* was 0.85rem */
}

/* Rent Roll Analytics - Tighter */
.rr-analytics-grid {
  gap: 12px !important; /* was 16px */
  margin-bottom: 20px !important; /* was 28px */
}

/* Cost Columns - Less padding */
.costs-column {
  padding: 12px !important; /* was 16px */
}

.costs-daily-item {
  padding: 6px 8px !important; /* was 8px 12px */
  margin-bottom: 4px !important; /* was 6px */
}

/* Charts and large elements - reduce height */
.chart-container, .trend-chart, .rr-chart {
  height: 200px !important; /* reduce from default larger heights */
  margin: 8px 0 !important;
}

/* Overview metrics - more compact */
.overview-metrics, .costs-metrics, .am-metrics {
  padding: 6px 0 !important;
  margin: 8px 0 !important;
}

/* Card grids - tighter everywhere */
.project-cards-grid, .cost-cards-grid, .bookings-grid {
  gap: 8px !important;
  margin: 8px 0 !important;
}

/* Form elements and buttons - smaller */
.ov-date-picker-container, .filter-container, .controls-container {
  padding: 6px 0 !important;
  margin: 8px 0 !important;
}

/* Overview hero section - much more compact */
.ov-hero-section {
  padding: 12px 0 !important;
  margin-bottom: 12px !important;
}

/* Mobile Responsiveness - Even more compact */
@media (max-width: 768px) {
  .tab-content {
    padding: 8px 12px !important;
  }
  
  .ov-hero-card, .pm-hero-card, .costs-kpi-box {
    padding: 6px 10px !important;
    margin-bottom: 6px !important;
  }
  
  .ov-kpis-grid, .costs-kpi-layout {
    gap: 4px !important;
  }
}