:root{
  --gold:#f4c542;
  --glass: rgba(255,255,255,.06);
  --border: rgba(244,197,66,.35);
}
.bg-app{
  background:
    radial-gradient(1200px 800px at 20% 10%, rgba(244,197,66,.12), transparent 60%),
    radial-gradient(900px 600px at 80% 0%, rgba(120,200,255,.08), transparent 55%),
    radial-gradient(900px 700px at 80% 80%, rgba(180,120,255,.08), transparent 60%),
    #0b1020;
  min-height:100vh;
}

/* readability */
body{ color: #333; font-size:16px; line-height:1.4; }
.text-secondary{ color: #6c757d !important; }
.text-muted{ color: #6c757d !important; }
.text-light{ color: #f8f9fa !important; }
.text-dark{ color: #212529 !important; }
.small{ font-size: .875rem; }
.table{ font-size: .95rem; }
.form-label{ color: #495057; font-weight:600; }
.card{
  background: var(--glass);
  border: 1px solid var(--border);
  backdrop-filter: blur(10px);
  color: #212529;
}
.card .card-header{
  background: rgba(0,0,0,.1);
  border-bottom: 1px solid rgba(244,197,66,.4);
  color: #212529;
}
.table{
  color: #212529;
}
.table thead th{
  color: #212529;
  background-color: rgba(0,0,0,.05);
}
.table tbody tr:nth-of-type(odd) {
  background-color: rgba(0,0,0,.03);
}
.form-control, .form-select{
  background: #fff;
  border: 1px solid rgba(0,0,0,.15);
  color: #212529;
}
.form-control:focus, .form-select:focus{
  background: #fff;
  border-color: rgba(244,197,66,.7);
  box-shadow: 0 0 0 .25rem rgba(244,197,66,.2);
  color: #212529;
}
.form-control::placeholder{color: #6c757d;} 
.form-control:disabled, .form-select:disabled{
  background: #e9ecef;
  color: #6c757d;
}
.btn-gold{background: var(--gold); border-color: var(--gold); color:#212529; font-weight:600;}
.btn-gold:hover{background: #e0b030; border-color: #e0b030; filter: brightness(.95);} 
.btn-outline-warning{color: var(--gold); border-color: rgba(244,197,66,.7);}
.btn-outline-warning:hover{background: rgba(244,197,66,.2); border-color: var(--gold); color: #212529;}
.btn-outline-light{color: #f8f9fa; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.1); }
.btn-outline-light:hover{background: rgba(255,255,255,.3); border-color: rgba(255,255,255,.5); color: #212529;}
.btn-outline-dark{color: #212529; border-color: rgba(0,0,0,.2); }
.btn-outline-dark:hover{background: #212529; border-color: #212529; color: #fff;}
.navbar{ 
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; 
  backdrop-filter: blur(10px); 
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  position: relative;
  z-index: 1050; /* Higher than Bootstrap's default */
}
.navbar-brand{ 
  color: #ffffff !important; 
  font-weight: bold;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.nav-link{ 
  color: rgba(255,255,255,0.9) !important; 
  border-radius: 6px;
  margin: 0 2px;
  padding: 8px 12px !important;
}
.nav-link:hover{ 
  color: #ffffff !important; 
  background: rgba(255,255,255,0.2) !important; 
  backdrop-filter: blur(5px);
}
.navbar-toggler {
  border-color: rgba(255,255,255,0.5) !important;
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.dropdown-menu {
  z-index: 1060 !important; /* Higher than navbar */
  background-color: #ffffff;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
  backdrop-filter: blur(10px);
}
.dropdown-item {
  color: #212529;
  padding: 0.5rem 1rem;
}
.dropdown-item:hover {
  background-color: rgba(102, 126, 234, 0.1);
  color: #212529;
}
.alert{ border-radius: .5rem; padding: 1rem; }
.alert-warning{ background: rgba(252,178,28,.15); border: 1px solid rgba(252,178,28,.3); color: #856404; }
.alert-info{ background: rgba(23,162,184,.15); border: 1px solid rgba(23,162,184,.3); color: #0c5460; }
.alert-success{ background: rgba(40,167,69,.15); border: 1px solid rgba(40,167,69,.3); color: #155724; }
.alert-danger{ background: rgba(220,53,69,.15); border: 1px solid rgba(220,53,69,.3); color: #721c24; }
.badge{ font-size: .75em; padding: .35em .65em; }
.badge.bg-dark{ background: rgba(0,0,0,.5) !important; }
.hr-soft{border-color: rgba(0,0,0,.12);} 
.small-muted{color: #6c757d;}

@media print{
  nav, .no-print{display:none !important;}
  body{background:#fff !important;}
  .card{background:#fff !important; border:1px solid #ddd !important;}
  .table{color:#000 !important;}
}

.btn-gold{
  background: linear-gradient(135deg, #f4c542, #f7d773);
  border: 1px solid rgba(0,0,0,.2);
  color:#212529;
  font-weight:600;
}
.btn-gold:hover{ filter: brightness(.98); }

.icon-pill{
  width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  border-radius:14px;
  background: rgba(244,197,66,.15);
  border:1px solid var(--border);
  color: var(--gold);
}

.table thead th{ color:#495057; }
.form-control, .form-select{
  background: #fff;
  border:1px solid rgba(0,0,0,.15);
  color:#212529;
}
.form-control:focus, .form-select:focus{
  background: #fff;
  border-color: rgba(244,197,66,.55);
  box-shadow: 0 0 0 .25rem rgba(244,197,66,.15);
  color:#212529;
}

.modal-content{ background: #fff; color:#212529; border:1px solid rgba(0,0,0,.2); }
.modal-header { border-bottom: 1px solid rgba(0,0,0,.1); }
.modal-footer { border-top: 1px solid rgba(0,0,0,.1); }

/* Specific overrides for dark backgrounds */
.card.bg-app .text-dark { color: #f8f9fa !important; }
.card.bg-app .text-secondary { color: rgba(255,255,255,.8) !important; }
.card.bg-app .text-muted { color: rgba(255,255,255,.7) !important; }

/* Dashboard card number visibility */
.card .h3, .card .h4, .card .h5, .card .h6 { 
  color: #ffffff !important; 
  text-shadow: 0 1px 2px rgba(0,0,0,.3);
}

/* More specific dashboard number styling */
.dashboard-number { 
  color: #ffffff !important; 
  font-weight: bold;
  text-shadow: 0 1px 2px rgba(0,0,0,.3);
}

.dashboard-card .h3.mb-0 { 
  color: #ffffff !important; 
  font-weight: bold;
  text-shadow: 0 1px 2px rgba(0,0,0,.3);
}



/* Ensure good contrast in modals */
.modal-content .text-muted { color: #6c757d !important; }
.modal-content .text-secondary { color: #6c757d !important; }
.modal-content table { color: #212529; }
.modal-content .table thead th { color: #495057; }
.modal-content .table .btn-outline-warning { color: var(--gold); }
.modal-content .table .btn-outline-warning:hover { color: #212529; }