/* ============================================================
   Klub Strzelecki — Component styles
   (Critical layout is inlined in main.php)
   ============================================================ */

/* Cards */
.card { border-radius: .5rem; box-shadow: 0 1px 3px rgba(0,0,0,.07); }
.card-header { background: #fff; border-bottom: 1px solid #dee2e6; font-size: .9rem; }

/* Tables */
.table th {
    font-size: .82rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
    white-space: nowrap;
}
.table td { vertical-align: middle; }

/* Badges */
.badge { font-weight: 500; font-size: .75em; }
.badge.bg-danger  { background-color: #dc3545 !important; }
.badge.bg-warning { background-color: #ffc107 !important; color: #000 !important; }
.badge.bg-success { background-color: #198754 !important; }

/* Forms */
.form-label { font-weight: 500; font-size: .88rem; margin-bottom: .25rem; }

/* Dashboard */
.display-6 { font-size: 2rem; }

/* Pagination */
.pagination .page-link { font-size: .85rem; padding: .25rem .6rem; }

/* Permissions matrix */
.perm-table th { font-size: .78rem; }
.perm-table .role-col { width: 110px; text-align: center; }
.perm-check { width: 1.3rem; height: 1.3rem; cursor: pointer; accent-color: #dc3545; }
.perm-check:disabled { opacity: .35; cursor: not-allowed; }
.perm-row-label { font-weight: 500; font-size: .88rem; }
.perm-row-label .bi { color: #888; margin-right: .3rem; }

/* Sticky table column (fee rates etc.) */
.sticky-col {
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}

/* Print */
@media print {
    .no-print { display: none !important; }
    .card { box-shadow: none; border: 1px solid #dee2e6; }
    a { color: inherit; text-decoration: none; }
}
