/* VIS - Verkaufs-Informations-System */
/* Brand color from original: #7F8DBB */

:root {
    --vis-primary: #7F8DBB;
    --vis-primary-dark: #6674A0;
    --vis-primary-light: #B8C4E0;
    --vis-bg: #f8f9fa;
}

body {
    background-color: var(--vis-bg);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Navbar */
.bg-vis {
    background-color: var(--vis-primary) !important;
}

.btn-vis {
    background-color: var(--vis-primary);
    border-color: var(--vis-primary);
    color: #fff;
}

.btn-vis:hover {
    background-color: var(--vis-primary-dark);
    border-color: var(--vis-primary-dark);
    color: #fff;
}

.badge.bg-vis {
    background-color: var(--vis-primary) !important;
}

/* Tables */
.table th {
    font-size: 0.85rem;
    font-weight: 600;
    white-space: nowrap;
}

.table td {
    font-size: 0.9rem;
    vertical-align: middle;
}

/* Cards */
.card-header {
    font-weight: 600;
    background-color: #f8f9fa;
}

/* Links */
a {
    color: var(--vis-primary);
}

a:hover {
    color: var(--vis-primary-dark);
}

/* Pagination */
.page-item.active .page-link {
    background-color: var(--vis-primary);
    border-color: var(--vis-primary);
}

.page-link {
    color: var(--vis-primary);
}

/* Status badges */
.badge {
    font-weight: 500;
}

/* Form controls focus */
.form-control:focus,
.form-select:focus {
    border-color: var(--vis-primary-light);
    box-shadow: 0 0 0 0.2rem rgba(127, 141, 187, 0.25);
}

/* Dashboard stat cards */
.card.border-primary {
    border-color: var(--vis-primary) !important;
}

/* Responsive table fix */
.table-responsive {
    margin-bottom: 0;
}

/* Scrollable table with sticky header for long unpaginated reports */
.table-sticky {
    max-height: 75vh;
    overflow-y: auto;
}

.table-sticky thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: #f8f9fa;
    box-shadow: inset 0 -1px 0 #dee2e6;
}

/* Toast positioning */
.toast-container {
    position: fixed;
    top: 70px;
    right: 20px;
    z-index: 1100;
}

/* Print styles */
@media print {
    .navbar, .btn, form, .pagination {
        display: none !important;
    }
    .container-fluid {
        padding: 0;
    }
}
