/* Inventory App Custom Styles */

/* Sidebar */
#sidebar {
    transition: margin-left 0.3s ease;
}

@media (max-width: 768px) {
    #sidebar {
        position: fixed;
        z-index: 1000;
        height: 100vh;
        transform: translateX(-100%);
    }
    #sidebar:not(.d-none) {
        transform: translateX(0);
    }
}

.nav-link.active {
    background-color: rgba(var(--bs-primary-rgb), 0.1);
    color: var(--bs-primary);
    font-weight: 600;
}

/* Cards */
.card {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);
}

/* Tables */
.table th {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

/* Badges */
.badge {
    font-weight: 500;
}

/* Form controls */
.form-label {
    font-size: 0.85rem;
    font-weight: 500;
    margin-bottom: 0.25rem;
}

/* Dark mode overrides */
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * {
    color-scheme: dark;
}

[data-bs-theme="dark"] .card {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
}

/* Print styles */
@media print {
    #sidebar, .btn, .pagination {
        display: none !important;
    }
    main {
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* Loading spinner for HTMX */
.htmx-indicator {
    opacity: 0;
    transition: opacity 200ms ease-in;
}
.htmx-request .htmx-indicator {
    opacity: 1;
}
.htmx-request.htmx-indicator {
    opacity: 1;
}

/* Asset type icons */
.bi-pc-display,
.bi-hdd-stack,
.bi-hdd-rack,
.bi-ethernet {
    font-size: 1.1em;
}

/* Responsive table wrapper */
.table-responsive {
    border-radius: 0.375rem;
}
