:root {
  --fbz-primary: #2457a7;
  --fbz-primary-dark: #19427f;
}

body { background: #f5f7fb; }
.app-navbar { background: #fff; border-bottom: 1px solid rgba(98,105,118,.16); }
.brand-mark { display: inline-grid; place-items: center; min-width: 2.4rem; height: 2rem; padding: 0 .45rem; border-radius: .45rem; color: #fff; background: var(--fbz-primary); font-size: .85rem; letter-spacing: .03em; }
.page-title i, .card-title i { vertical-align: -.12em; }
.form-card { max-width: 960px; }
.detail-card { height: 100%; }
.detail-list { margin: 0; }
.detail-list dt { color: var(--tblr-secondary); font-size: .75rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
.detail-list dd { margin-bottom: 1rem; overflow-wrap: anywhere; }
.detail-list dd:last-child { margin-bottom: 0; }
.type-grid > div, .type-grid ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .5rem 1rem; padding: 0; margin: 0; list-style: none; }
.type-grid label { display: flex; align-items: center; gap: .5rem; min-height: 2rem; }
.type-grid .checkbox-select-list { width: 100%; height: auto; border: 0; background: transparent; box-shadow: none; }
.type-grid .form-check-input { flex: 0 0 auto; margin: 0; }
.contact-symbol { display: inline-grid; place-items: center; flex: 0 0 auto; width: 2.15rem; height: 2.15rem; border-radius: 50%; background: #eaf2ff; color: var(--fbz-primary); font-size: 1.1rem; }
.contact-symbol.organization { border-radius: .5rem; background: #e9f7f1; color: #19704b; }
.row-link { cursor: pointer; }
.row-link:hover { background-color: rgba(36,87,167,.04); }
.row-link a { position: relative; z-index: 1; }
.table-primary-text { color: var(--tblr-body-color); font-weight: 600; text-decoration: none; }
.empty-cell { padding: 3rem 1rem !important; text-align: center; color: var(--tblr-secondary); }
.htmx-indicator { opacity: 0; transition: opacity .15s ease-in; }
.htmx-request .htmx-indicator, .htmx-request.htmx-indicator { opacity: 1; }
.search-card .form-control, .search-card .form-select { min-height: 2.6rem; }
.badge-system { background: #f1f3f5; color: #495057; }
.mobile-actions .btn { white-space: nowrap; }

@media (max-width: 767.98px) {
  .navbar-collapse { padding: .75rem 0; }
  .navbar-collapse .nav-link { padding: .7rem .5rem; }
  .page-header .page-title { font-size: 1.3rem; }
  .page-header-actions { width: 100%; margin-top: .75rem; }
  .page-header-actions .btn { flex: 1 1 auto; }
  .search-card .card-body { padding: .75rem; }
  .mobile-actions { display: grid !important; grid-template-columns: 1fr 1fr; width: 100%; }
  .mobile-actions > * { width: 100%; }
  .mobile-actions form .btn { width: 100%; }

  .responsive-table thead { display: none; }
  .responsive-table, .responsive-table tbody, .responsive-table tr, .responsive-table td { display: block; width: 100%; }
  .responsive-table tr { position: relative; padding: .8rem 3rem .8rem .85rem; border-bottom: 1px solid var(--tblr-border-color); }
  .responsive-table tr:last-child { border-bottom: 0; }
  .responsive-table td { min-height: 0; padding: .15rem 0 !important; border: 0; }
  .responsive-table td[data-label]::before { content: attr(data-label) ": "; color: var(--tblr-secondary); font-size: .78rem; }
  .responsive-table td.table-name-cell { display: flex; align-items: center; gap: .65rem; padding-bottom: .4rem !important; }
  .responsive-table td.table-name-cell::before { display: none; }
  .responsive-table td.table-actions { position: absolute; top: .75rem; right: .55rem; width: auto; }
  .responsive-table .empty-cell { padding: 2rem 1rem !important; }
}
