/** SecBoard compact UI (scoped). Wrap page content in .sb-compact */

/*
 * Compact Styles for Compliance Module (module-specific overrides)
 * Shared tables, filters, toolbars: static/css/secboard-components.css (via base.html)
 * Tokens: static/css/secboard-tokens.css
 */

/* Cards */
.sb-compact .card {
    margin-bottom: 0;
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
    border: 0;
}

.sb-compact .card-body {
    padding: 0.9375rem;  /* 1.25rem * 0.75 */
}

.sb-compact .card-body h3 {
    font-size: 1.5rem;  /* 2rem * 0.75 */
    margin: 0;
    font-weight: bold;
}

.sb-compact .card-body h6 {
    margin-bottom: 0.375rem;  /* 0.5rem * 0.75 */
    font-size: 0.65625rem;  /* 0.875rem * 0.75 */
    font-weight: 500;
}

/* Icon circles */
.sb-compact .icon-circle {
    background-color: rgba(255, 255, 255, 0.25) !important;
    border-radius: 50%;
    padding: 0.5625rem;  /* 0.75rem * 0.75 */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;  /* 3rem * 0.75 */
    height: 2.25rem;  /* 3rem * 0.75 */
}

.sb-compact .icon-circle i {
    color: #fff !important;
    font-size: 0.75rem;  /* Reduced by 25% */
}

/* Progress bars */
.sb-compact .progress {
    height: 15px;  /* 20px * 0.75 */
    border-radius: 0.28125rem;  /* 0.375rem * 0.75 */
    background-color: rgba(0, 0, 0, 0.1);
}

.sb-compact .progress-bar {
    line-height: 15px;  /* 20px * 0.75 */
    font-weight: 600;
    font-size: 0.5625rem;  /* 0.75rem * 0.75 */
}

/* Badge status */
.sb-compact .badge {
    font-size: 0.65625rem !important;  /* 0.875rem * 0.75 */
}

.sb-compact .badge-status {
    padding: 0.28125rem 0.5625rem;  /* 0.375rem * 0.75, 0.75rem * 0.75 */
    border-radius: 0.28125rem;  /* 0.375rem * 0.75 */
    font-size: 0.65625rem;  /* 0.875rem * 0.75 */
    font-weight: 500;
}

/* Card headers */
.sb-compact .card-header {
    background-color: #fff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
    padding: 0.75rem 0.9375rem;  /* 1rem * 0.75, 1.25rem * 0.75 */
}

.sb-compact .card-header h4, .sb-compact .card-header h5 {
    margin: 0;
    font-size: 0.84375rem;  /* 1.125rem * 0.75 */
    font-weight: 600;
}

/* Main headings */
.sb-compact h1 {
    font-size: 1.875rem !important;  /* 2.5rem * 0.75 */
}

.sb-compact h2 {
    font-size: 1.5rem !important;  /* 2rem * 0.75 */
}

.sb-compact h3 {
    font-size: 1.3125rem !important;  /* 1.75rem * 0.75 */
}

.sb-compact h4 {
    font-size: 1.125rem !important;  /* 1.5rem * 0.75 */
}

.sb-compact h5 {
    font-size: 0.9375rem !important;  /* 1.25rem * 0.75 */
}

.sb-compact h6 {
    font-size: 0.75rem !important;  /* 1rem * 0.75 */
}

/* Buttons */
.sb-compact .btn {
    font-size: 0.75rem;  /* 1rem * 0.75 */
    padding: 0.375rem 0.75rem;  /* 0.5rem * 0.75, 1rem * 0.75 */
}

.sb-compact .btn-sm {
    font-size: 0.65625rem;  /* 0.875rem * 0.75 */
    padding: 0.28125rem 0.5625rem;  /* 0.375rem * 0.75, 0.75rem * 0.75 */
}

.sb-compact .btn-lg {
    font-size: 0.9375rem;  /* 1.25rem * 0.75 */
    padding: 0.5625rem 1.125rem;  /* 0.75rem * 0.75, 1.5rem * 0.75 */
}

.sb-compact .btn i {
    font-size: 0.65rem;  /* Slightly smaller icons */
}

/* Forms */
.sb-compact .form-label {
    font-size: 0.75rem;  /* 1rem * 0.75 */
    margin-bottom: 0.375rem;  /* 0.5rem * 0.75 */
}

.sb-compact .form-control, .sb-compact .form-select {
    font-size: 0.75rem;  /* 1rem * 0.75 */
    padding: 0.375rem 0.75rem;  /* 0.5rem * 0.75, 1rem * 0.75 */
}

.sb-compact .form-text {
    font-size: 0.65625rem;  /* 0.875rem * 0.75 */
}

/* Input groups */
.sb-compact .input-group-text {
    font-size: 0.75rem;  /* 1rem * 0.75 */
    padding: 0.375rem 0.75rem;  /* 0.5rem * 0.75, 1rem * 0.75 */
}

/* Spacing utilities */
.sb-compact .mb-4 {
    margin-bottom: 1.125rem !important;  /* 1.5rem * 0.75 */
}

.sb-compact .mb-3 {
    margin-bottom: 0.75rem !important;  /* 1rem * 0.75 */
}

.sb-compact .mb-2 {
    margin-bottom: 0.375rem !important;  /* 0.5rem * 0.75 */
}

.sb-compact .mt-4 {
    margin-top: 1.125rem !important;  /* 1.5rem * 0.75 */
}

.sb-compact .mt-3 {
    margin-top: 0.75rem !important;  /* 1rem * 0.75 */
}

.sb-compact .mt-2 {
    margin-top: 0.375rem !important;  /* 0.5rem * 0.75 */
}

.sb-compact .p-4 {
    padding: 1.125rem !important;  /* 1.5rem * 0.75 */
}

.sb-compact .p-3 {
    padding: 0.75rem !important;  /* 1rem * 0.75 */
}

.sb-compact .p-2 {
    padding: 0.375rem !important;  /* 0.5rem * 0.75 */
}

/* Gap utilities */
.sb-compact .g-4 {
    gap: 1.125rem !important;  /* 1.5rem * 0.75 */
}

.sb-compact .g-3 {
    gap: 0.75rem !important;  /* 1rem * 0.75 */
}

.sb-compact .g-2 {
    gap: 0.375rem !important;  /* 0.5rem * 0.75 */
}

/* Text sizes */
.sb-compact .text-muted {
    font-size: 0.75rem;  /* Reduced */
}

/* Alerts */
.sb-compact .alert {
    font-size: 0.75rem;  /* 1rem * 0.75 */
    padding: 0.75rem 0.9375rem;  /* 1rem * 0.75, 1.25rem * 0.75 */
}

/* Breadcrumbs */
.sb-compact .breadcrumb {
    font-size: 0.75rem;  /* 1rem * 0.75 */
    padding: 0.5625rem 0.75rem;  /* 0.75rem * 0.75, 1rem * 0.75 */
}

/* Pagination */
.sb-compact .pagination {
    font-size: 0.75rem;  /* 1rem * 0.75 */
}

.sb-compact .page-link {
    padding: 0.375rem 0.5625rem;  /* 0.5rem * 0.75, 0.75rem * 0.75 */
}

/* Dropdowns */
.sb-compact .dropdown-menu {
    font-size: 0.75rem;  /* 1rem * 0.75 */
}

.sb-compact .dropdown-item {
    padding: 0.375rem 1.125rem;  /* 0.5rem * 0.75, 1.5rem * 0.75 */
}

/* Modals */
.sb-compact .modal-title {
    font-size: 1.125rem !important;  /* 1.5rem * 0.75 */
}

.sb-compact .modal-body {
    font-size: 0.75rem;  /* 1rem * 0.75 */
    padding: 0.75rem;  /* 1rem * 0.75 */
}

.sb-compact .modal-footer {
    padding: 0.5625rem;  /* 0.75rem * 0.75 */
}

/* Tooltips */
.sb-compact .tooltip {
    font-size: 0.65625rem;  /* 0.875rem * 0.75 */
}

/* List groups */
.sb-compact .list-group-item {
    font-size: 0.75rem;  /* 1rem * 0.75 */
    padding: 0.5625rem 0.9375rem;  /* 0.75rem * 0.75, 1.25rem * 0.75 */
}

/* Nav tabs */
.sb-compact .nav-tabs .nav-link {
    font-size: 0.75rem;  /* 1rem * 0.75 */
    padding: 0.375rem 0.75rem;  /* 0.5rem * 0.75, 1rem * 0.75 */
}

/* Container spacing */
.sb-compact .container-fluid {
    padding-right: 0.9375rem;  /* 1.25rem * 0.75 */
    padding-left: 0.9375rem;  /* 1.25rem * 0.75 */
}

/* Icons in text */
.sb-compact .fa, .sb-compact .fas, .sb-compact .far, .sb-compact .fab {
    font-size: inherit;
}

/* Priority cards specific styles */
.sb-compact .priority-card h5 {
    font-size: 0.9rem !important;
    margin-bottom: 0.5625rem !important;  /* 0.75rem * 0.75 */
}

.sb-compact .priority-stats {
    font-size: 1.125rem !important;  /* 1.5rem * 0.75 */
}

.sb-compact .priority-percentage {
    font-size: 0.825rem !important;  /* 1.1rem * 0.75 */
}

