/* Bariatric Istanbul CRM - brand layer over DashLite (demo1) */

:root {
  --bi-red: #e02d2d;
  --bi-red-dark: #bc1f1f;
}

/* ---- system font fallback (Georgian/Cyrillic coverage: ka, ru, bg, ...) ---- */
body {
  font-family: "Nunito", "DM Sans", system-ui, -apple-system, "Segoe UI",
    Roboto, "Noto Sans", "Noto Sans Georgian", "DejaVu Sans", Arial, sans-serif;
}

/* ---- primary color = brand red ---- */
.btn-primary { background-color: var(--bi-red); border-color: var(--bi-red); }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active { background-color: var(--bi-red-dark); border-color: var(--bi-red-dark); }
.btn-primary:focus { box-shadow: 0 0 0 .25rem rgba(224, 45, 45, .2); }
.btn-outline-primary { color: var(--bi-red); border-color: var(--bi-red); }
.btn-outline-primary:hover { background-color: var(--bi-red); border-color: var(--bi-red); }
.bg-primary { background-color: var(--bi-red) !important; }
.text-primary { color: var(--bi-red) !important; }
.link-primary { color: var(--bi-red) !important; }
.link-primary:hover { color: var(--bi-red-dark) !important; }
.user-avatar.bg-primary { background-color: var(--bi-red) !important; }
.badge.bg-primary { background-color: var(--bi-red) !important; }
.badge.bg-outline-primary { color: var(--bi-red); border-color: rgba(224, 45, 45, .35); }

.form-control:focus, .form-select:focus {
  border-color: rgba(224, 45, 45, .6);
  box-shadow: 0 0 0 .25rem rgba(224, 45, 45, .15);
}
.form-check-input:checked { background-color: var(--bi-red); border-color: var(--bi-red); }
.custom-control-input:checked ~ .custom-control-label::before {
  border-color: var(--bi-red);
  background-color: var(--bi-red);
}
.page-item.active .page-link { background-color: var(--bi-red); border-color: var(--bi-red); }
.page-link { color: var(--bi-red); }
.page-link:hover { color: var(--bi-red-dark); }
.pagination .page-item.disabled .page-link { color: #8094ae; }

/* ---- text brand (no image logos) ---- */
.logo-text { color: #fff; font-size: 1.2rem; font-weight: 700; letter-spacing: .2px; white-space: nowrap; }
.logo-text-dark { color: #364a63; font-size: 1.15rem; font-weight: 700; white-space: nowrap; }

/* ---- auth centered card (no slider/images) ---- */
.auth-center { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 2.5rem 1rem; }
.auth-card-box { width: 100%; max-width: 440px; background: #fff; border: 1px solid #e5e9f2; border-radius: 8px; padding: 2.25rem; }
.auth-card-box .brand-logo { margin-bottom: 1.5rem; }

/* ---- form error text ---- */
.form-error { color: #e85347; font-size: .78rem; margin-top: .3rem; }

/* ---- logout button inside a dropdown link-list ---- */
.link-list form { margin: 0; padding: 0; }
.link-list form button {
  display: flex; align-items: center; gap: .75rem; width: 100%;
  background: none; border: 0; padding: .5rem .75rem;
  color: #526484; font-size: .875rem; text-align: left; cursor: pointer;
  border-radius: 4px; font-family: inherit;
}
.link-list form button:hover { color: var(--bi-red); background: #f5f6fa; }

/* ---- dashboard amount text ---- */
.amount { font-size: 1.45rem; font-weight: 700; color: #364a63; letter-spacing: -.02em; }

/* ---- misc helpers ---- */
.mw-320 { max-width: 320px; }
.audit-meta { font-size: .78rem; color: #8094ae; word-break: break-all; }
.table-filters .form-group { margin-bottom: .75rem; }
