/* Light portal color scheme for better readability */
:root {
  --app-bg: #f8fafc;         /* page background */
  --app-dark: #212529;        /* dark navbar */
  --app-accent: #198754;      /* green accent */
  --app-accent-2: #6cc58d;    /* lighter green */
  --text: #212529;            /* readable dark text */
  --card-bg: #ffffff;         /* white cards */
  --border: #dee2e6;          /* light borders */
  --input-bg: #ffffff;        /* light inputs */
  --focus-shadow: rgba(25, 135, 84, .25);
}

.bg-app { background: var(--app-bg); color: var(--text); min-height: 100vh; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif; }
.bg-app-dark { background: linear-gradient(90deg, var(--app-dark), var(--app-dark)); }
.navbar-brand { color: var(--app-accent) !important; font-weight: 700; }
.nav-link.active, .dropdown-item.active { color: #fff !important; font-weight: 600; }
.btn-outline-light { border-color: var(--app-accent); color: var(--app-accent); }
.btn-outline-light:hover { background: var(--app-accent); color: #0f1024; }

.card-app { background: var(--card-bg); border: 1px solid var(--border); color: var(--text); transition: box-shadow .15s ease, transform .15s ease; }
.form-control, .form-select { background-color: var(--input-bg); color: var(--text); border-color: var(--border); }
.form-control:focus, .form-select:focus { border-color: var(--app-accent); box-shadow: 0 0 0 .25rem var(--focus-shadow); }

table.table-app { color: var(--text); }
table.table-app thead { background: var(--card-bg); }
table.table-app td, table.table-app th { border-color: var(--border); }

/* Utility */
.text-accent { color: var(--app-accent); }
.badge-accent { background: var(--app-accent); color: #0f1024; }
/* Accent background helper */
.bg-accent { background: var(--app-accent); color: #fff; }

/* Hidden date picker inputs: remain in DOM and focusable for showPicker, but not visible */
.visually-hidden-picker {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Dashboard specific card enhancements */
.page-dashboard .card-app {
  border-radius: 12px;
  border-color: transparent;
  box-shadow: 0 2px 8px rgba(16, 24, 40, 0.06);
}
.page-dashboard .card-app:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(16, 24, 40, 0.10);
}
.page-dashboard .badge-accent {
  border-radius: 999px;
  padding: .35rem .6rem;
  font-weight: 600;
}
