/* Custom CSS */

/* Hide scrollbar for Chrome, Safari and Opera */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.no-scrollbar {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

/* Minimal Bootstrap-like defaults for Tailwind-marked pages during transition */
body { font-family: 'Trebuchet MS', sans-serif; font-size: 14px; }
input, select, textarea {
  font-family: 'Trebuchet MS', sans-serif;
  font-size: 14px;
  display: block;
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
}
label { font-family: 'Trebuchet MS', sans-serif; font-size: 14px; display: inline-block; margin-bottom: 0.25rem; }
.text-muted { color: #6c757d !important; }
.text-center { text-align: center; }
.bg-white { background-color: #fff !important; }
.bg-light { background-color: #f8f9fa !important; }
.border { border: 1px solid #dee2e6 !important; }
.rounded, .rounded-lg, .rounded-xl { border-radius: 0.5rem !important; }
.shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important; }
.shadow-lg { box-shadow: 0 1rem 3rem rgba(0,0,0,.175) !important; }
.text-primary { color: var(--bs-primary) !important; }
.bg-primary { background-color: var(--bs-primary) !important; }
.text-muted-foreground { color: #6c757d !important; }
.py-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-5 { padding-top: 3rem; padding-bottom: 3rem; }
.px-3 { padding-left: .75rem; padding-right: .75rem; }
.container-like { max-width: 960px; margin: 0 auto; padding: 0 1rem; }

/* Modern theme */
:root {
  --bs-primary: #16a34a;
  --bs-primary-rgb: 22, 163, 74;
  --bs-link-color: #16a34a;
  --bs-link-hover-color: #128a3d;
  --bs-primary-text-emphasis: #0e5b2c;
  --bs-primary-bg-subtle: #e6f4ec;
  --bs-primary-border-subtle: #b7e2c6;
}
body { background-color: #f6f8fb; }
.card { border: 1px solid #e9eef5; border-radius: .75rem; box-shadow: 0 10px 24px rgba(2, 6, 23, .06); }
.card .card-body { padding: 1.25rem 1.25rem; }
.form-control, .form-select { border-radius: .6rem; border-color: #d6dbe3; background-color: #fff; }
/* Restore visible dropdown caret for selects */
.form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236c757d'%3e%3cpath d='M3.204 5h9.592L8 10.481 3.204 5z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right .75rem center;
  background-size: 16px 12px;
  padding-right: 2rem;
}
.form-control:focus, .form-select:focus { border-color: #16a34a; box-shadow: 0 0 0 .25rem rgba(22,163,74,.15); }
.btn { border-radius: .6rem; font-size: 14px; }
.btn-primary { background: linear-gradient(135deg, #16a34a, #22c55e); border-color: #16a34a; }
.btn-primary:hover { filter: brightness(.95); }
.btn-success { background: linear-gradient(135deg, #16a34a, #22c55e); border-color: #16a34a; }
.btn-outline-secondary { border-color: #c9d1e1; color: #4b5563; }
.btn-outline-secondary:hover { background-color: #f1f5f9; color: #111827; }

/* Enforce minimum readable font size across utility classes */
.small, small, .text-muted, .form-text { font-size: 14px !important; }

/* Step indicator */
#stepIndicator { scrollbar-width: none; -ms-overflow-style: none; }
#stepIndicator::-webkit-scrollbar { display: none; }
#stepIndicator .btn { box-shadow: 0 2px 8px rgba(2,6,23,.08); }

/* Removed Tailwind-like utilities; using Bootstrap classes */

/* KPI cards styling */
.card-kpi { border-radius: .75rem; border: 1px solid #e9eef5; }
.card-kpi .card-body { padding: 1rem 1.25rem; }
.card-kpi.kpi-green { background-image: linear-gradient(180deg, #f0fdf4, #ffffff); border-color: #b7e3c7; }
.card-kpi.kpi-blue { background-image: linear-gradient(180deg, #eff6ff, #ffffff); border-color: #c7d2fe; }
.card-kpi.kpi-purple { background-image: linear-gradient(180deg, #f5f3ff, #ffffff); border-color: #ddd6fe; }
.card-kpi.kpi-orange { background-image: linear-gradient(180deg, #fff7ed, #ffffff); border-color: #fed7aa; }
.card-kpi.kpi-pink { background-image: linear-gradient(180deg, #fdf2f8, #ffffff); border-color: #fbcfe8; }
.card-kpi.kpi-teal { background-image: linear-gradient(180deg, #f0fdfa, #ffffff); border-color: #99f6e4; }
.card-kpi .small { color: #6c757d; }
.card-kpi h3 { color: #111827; }

/* Subtle separators and headings */
hr { border-top: 1px solid #e6ebf2; opacity: 1; }
h1,h2,h3,h4 { letter-spacing: .2px; }

/* Alerts polish */
.alert { border-radius: .75rem; border: 1px solid rgba(0,0,0,.06); }

/* Tables polish (admin pages) */
table.table-modern thead th { background-color: #f8fafc; color: #64748b; font-weight: 600; }
table.table-modern tbody tr:hover { background-color: #f9fbff; }

 


.field-wrap { display: flex; align-items: center; gap: .5rem; }
.field-wrap .form-control, .field-wrap .form-select { flex: 1 1 auto; }
.field-icon { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background-color: var(--bs-primary-bg-subtle); border: 1px solid var(--bs-primary-border-subtle); color: var(--bs-primary); }
.field-icon svg { width: 18px; height: 18px; }



.partner-strip { align-items: center; gap: .75rem; }
.partner-strip .chip { display: inline-flex; align-items: center; padding: .5rem 1rem; border-radius: 9999px; background-color: #fff; border: 2px solid #d1d9e6; font-weight: 700; font-size: 1.1rem; color: #111827; box-shadow: 0 2px 8px rgba(2,6,23,.06); white-space: nowrap; }
.partner-strip .chip:hover { box-shadow: 0 6px 16px rgba(2,6,23,.12); }
.partner-strip .entity-sep { width: 2px; height: 24px; background-color: #cbd5e1; border-radius: 1px; }
.partner-strip .chip-green { border-color: #22c55e; color: #065f46; }
.partner-strip .chip-blue { border-color: #3b82f6; color: #1e3a8a; }
.partner-strip .chip-amber { border-color: #f59e0b; color: #92400e; }
input.form-check-input[type="checkbox"] {
  accent-color: #16a34a;
  border-color: #16a34a;
  border-width: 2px;
}

input.form-check-input[type="checkbox"]:focus {
  box-shadow: 0 0 0 .25rem rgba(22, 163, 74, .25);
  border-color: #16a34a;
}

input.form-check-input[type="checkbox"]:checked {
  background-color: #16a34a;
  border-color: #16a34a;
}

/* Global input borders: make all inputs/selects/textarea outer line green */
.form-control,
.form-select,
textarea.form-control,
input.form-control {
  border-color: #16a34a;
  border-width: 2px;
}

.form-control:focus,
.form-select:focus,
textarea.form-control:focus,
input.form-control:focus {
  border-color: #16a34a;
  box-shadow: 0 0 0 .25rem rgba(22, 163, 74, .25);
}

/* Fix navbar dropdown to overlay content on mobile */
@media (max-width: 991.98px) {
  #mainNav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: white;
    z-index: 9999;
    padding: 1rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid #e5e7eb;
    max-height: 80vh;
    overflow-y: auto;
  }
}
