[x-cloak] { display:none !important; }
.tab-pill { border-radius:20px;font-size:.82rem;font-weight:600;padding:.3rem 1rem;border:1.5px solid #dee2e6;background:#fff;color:#555;cursor:pointer;transition:all .15s; }
.tab-pill.active { background:#1b6055;border-color:#1b6055;color:#fff; }
.tab-pill:hover:not(.active) { border-color:#1b6055;color:#1b6055; }
.tbl th { font-size:.77rem;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.04em;padding:.7rem 1rem;border-bottom:1px solid #f0f0f0; }
.tbl td { padding:.75rem 1rem;vertical-align:middle;font-size:.875rem; }
.tbl tr:hover td { background:#f8fffe; }
.badge-bool { display:inline-block;padding:.15rem .5rem;border-radius:20px;font-size:.7rem;font-weight:700; }
.badge-yes  { background:#d1fae5;color:#065f46; }
.badge-no   { background:#f3f4f6;color:#9ca3af; }
.modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1055;display:flex;align-items:center;justify-content:center; }
.modal-box { background:#fff;border-radius:14px;width:100%;max-width:520px;padding:1.6rem;box-shadow:0 20px 60px rgba(0,0,0,.2);max-height:90vh;overflow-y:auto; }
.filter-combo { position:relative; min-width:280px; max-width:420px; }
.filter-combo-btn { min-height:36px; border:1px solid #dee2e6; border-radius:8px; background:#fff; padding:.35rem .65rem; width:100%; display:flex; align-items:center; gap:.45rem; font-size:.84rem; color:#444; }
.filter-combo-btn:hover { border-color:#1b6055; }
.filter-combo-menu { position:absolute; top:calc(100% + 6px); left:0; width:100%; background:#fff; border:1px solid #e5e7eb; border-radius:8px; box-shadow:0 14px 34px rgba(15,23,42,.14); z-index:30; overflow:hidden; }
.filter-combo-list { max-height:260px; overflow:auto; padding:.35rem; }
.filter-combo-option { display:flex; align-items:center; gap:.5rem; padding:.42rem .5rem; border-radius:6px; cursor:pointer; font-size:.83rem; color:#333; }
.filter-combo-option:hover { background:#f0fdfa; }
.filter-combo-footer { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.45rem .6rem; border-top:1px solid #f0f0f0; background:#fafafa; font-size:.76rem; color:#888; }
.filter-chip { display:inline-flex; align-items:center; max-width:150px; padding:.12rem .45rem; border-radius:20px; background:#e8f5f3; color:#1b6055; font-size:.72rem; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
