:root { --app-sidebar-width: 260px; }
body { min-height: 100vh; }
.login-card { width: min(100%, 440px); }
.nav-link.disabled { color: #8b949e; cursor: not-allowed; }
@media (max-width: 767.98px) { aside { min-height: auto !important; } }
.nav-section{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#6c757d;font-weight:700;margin:1rem .75rem .25rem}.item-thumb{width:54px;height:54px;object-fit:cover;border-radius:.6rem;border:1px solid #dee2e6}.placeholder-thumb{display:grid;place-items:center;background:#f1f3f5;color:#adb5bd}.table th{white-space:nowrap}.card{border:0}


/* Brand logo sizing */
.brand-logo-cell {
    width: 220px;
    min-width: 220px;
}
.brand-logo-thumb,
.brand-logo-preview {
    width: 200px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: .375rem;
    padding: 8px;
}
.brand-logo-thumb img,
.brand-logo-preview img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 200px !important;
    max-height: 90px !important;
    object-fit: contain !important;
}
@media (max-width: 767.98px) {
    .brand-logo-cell {
        width: 170px;
        min-width: 170px;
    }
    .brand-logo-thumb,
    .brand-logo-preview {
        width: 150px;
        height: 75px;
    }
    .brand-logo-thumb img,
    .brand-logo-preview img {
        max-width: 150px !important;
        max-height: 75px !important;
    }
}

/* Global sortable and paginated data tables */
.app-data-table thead th.app-sortable {
    position: relative;
    cursor: pointer;
    user-select: none;
    padding-right: 1.75rem;
    transition: background-color .15s ease;
}
.app-data-table thead th.app-sortable:hover,
.app-data-table thead th.app-sortable:focus-visible {
    background: rgba(13, 110, 253, .08);
    outline: none;
}
.app-sort-indicator {
    position: absolute;
    right: .55rem;
    top: 50%;
    transform: translateY(-50%);
    color: #6c757d;
    font-size: .72rem;
    line-height: 1;
}
.app-table-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem 1rem;
    padding: .85rem .25rem .25rem;
}
.app-page-size {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: #6c757d;
    font-size: .875rem;
    white-space: nowrap;
}
.app-page-size .form-select {
    width: auto;
    min-width: 74px;
}
.app-table-summary {
    color: #6c757d;
    font-size: .875rem;
    margin-left: auto;
}
.app-table-pagination .pagination {
    flex-wrap: wrap;
}
.app-table-pagination .page-link {
    min-width: 2rem;
    text-align: center;
}
@media (max-width: 767.98px) {
    .app-table-controls {
        align-items: stretch;
    }
    .app-table-summary {
        width: 100%;
        margin-left: 0;
        order: 3;
    }
    .app-table-pagination {
        margin-left: auto;
    }
}

/* Instant table search */
.app-table-top-controls,
.app-table-bottom-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem 1rem;
    padding: .85rem .75rem;
    background: #fff;
}
.app-table-top-controls {
    border-bottom: 1px solid #dee2e6;
}
.app-table-bottom-controls {
    border-top: 1px solid #dee2e6;
}
.app-table-search {
    flex: 1 1 320px;
    max-width: 520px;
}
.app-table-search .input-group-text {
    background: #fff;
    color: #6c757d;
}
.app-table-search input[type="search"]::-webkit-search-cancel-button {
    cursor: pointer;
}
.app-table-no-matches[hidden] {
    display: none;
}
@media (max-width: 767.98px) {
    .app-table-top-controls,
    .app-table-bottom-controls {
        align-items: stretch;
    }
    .app-table-search {
        flex-basis: 100%;
        max-width: none;
    }
    .app-table-bottom-controls .app-table-summary {
        width: 100%;
        order: 2;
    }
}
