:root { --bs-primary: #315ac7; }
[hidden] { display: none !important; }
body { background: #f5f6fa; color: #253047; }
.eyebrow { font-size: .7rem; letter-spacing: .15em; color: #65708a; font-weight: 700; }
.card { border-color: #e0e4ed; border-radius: .75rem; }
.login-card { max-width: 420px; margin-top: 8vh; }
.counter { background: white; border: 1px solid #e0e4ed; border-radius: .75rem; padding: 1rem 1.25rem; }
.counter span { display: block; font-size: .85rem; color: #65708a; }
.counter strong { display: block; font-size: 1.8rem; }
.counter-found { border-color: #315ac7; }
.search { flex: 1 1 280px; }
.form-label { font-size: .875rem; }
.tabulator { background: white; border: 1px solid #e0e4ed; border-radius: .5rem; font-size: .875rem; }
.tabulator .tabulator-header { background: #edf0f6; border-bottom-color: #e0e4ed; }
.tabulator .tabulator-header .tabulator-col { background: transparent; }
.tabulator-row.tabulator-row-even { background: #f8f9fc; }
.tabulator-row .tabulator-cell { border-right: 0; padding: .65rem .5rem; }
.tabulator .tabulator-tableholder { min-height: 110px; }
.tabulator-col-title { white-space: normal !important; }
.table-sort { border: 0; padding: 0; background: transparent; color: inherit; font-weight: 600; text-align: left; width: 100%; }
.table-sort:focus-visible { outline: 2px solid #315ac7; outline-offset: -2px; }
.row-actions { display: flex; gap: .4rem; }
.status { font-weight: 500; color: #4b5563; }
.status-checked { color: #176544; }
.empty-state { padding: 1.5rem; text-align: center; background: white; border-radius: .5rem; }
.card-details { background: #f5f6fa; padding: .85rem; border-radius: .5rem; white-space: pre-line; overflow-wrap: anywhere; }
#page-size { width: 5rem; }
.btn { min-height: 38px; }
.import-file { flex: 1 1 280px; width: auto; }
.import-scroll { max-height: 50vh; }
.import-scroll table { min-width: 1250px; font-size: .85rem; }
.import-scroll td { min-width: 90px; max-width: 260px; white-space: pre-wrap; overflow-wrap: anywhere; }
.import-scroll th { position: sticky; top: 0; background: #edf0f6; }
@media (max-width: 575px) { .modal-footer .btn { flex: 1; } .counter { padding: .75rem; } #sort { max-width: 200px; } }

.template-male{background-color:#e8f3fc}.template-female{background-color:#fcecf3}.template-unknown{background-color:#fff4cd}.template-badge{display:inline-block;padding:3px 6px;border-radius:4px;color:#253044}
