
/* Budget Generator Custom Styles */

:root {
  --budget-primary: #6f42c1;
  --budget-secondary: #5a32a3;
  --budget-accent: #f0ebfa;
  --budget-background: #f8f9fa;
}

body {
  background-color: var(--budget-background);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Navigation & Tabs */
.nav-tabs .nav-link {
  color: #495057;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.nav-tabs .nav-link.active {
  color: var(--budget-primary);
  border-color: #dee2e6 #dee2e6 #fff;
}

/* Cards */
.card {
  border-radius: 0.5rem;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.card-header {
  background-color: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

/* Buttons */
.btn-primary {
  background-color: var(--budget-primary);
  border-color: var(--budget-primary);
}

.btn-primary:hover {
  background-color: var(--budget-secondary);
  border-color: var(--budget-secondary);
}

.btn-outline-primary {
  color: var(--budget-primary);
  border-color: var(--budget-primary);
}

.btn-outline-primary:hover {
  background-color: var(--budget-primary);
  border-color: var(--budget-primary);
}

/* Text colors */
.text-primary {
  color: var(--budget-primary) !important;
}

/* Table styles */
.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.02);
}

/* Budget Preview */
#budgetPreview {
  min-height: 500px;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
}

#miniPreview {
  height: 200px;
  overflow-y: auto;
  font-size: 0.8rem;
}

/* Form elements */
.form-control:focus {
  border-color: var(--budget-primary);
  box-shadow: 0 0 0 0.25rem rgba(111, 66, 193, 0.25);
}

/* Print styles */
@media print {
  body * {
    visibility: hidden;
  }
  
  #printArea, #printArea * {
    visibility: visible;
  }
  
  #printArea {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
}