html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    line-height: 60px;
}

/* Status Badge Colors */
.status-draft {
    background-color: #6c757d;
}

.status-pending {
    background-color: #ffc107;
    color: #000;
}

.status-sent {
    background-color: #0dcaf0;
    color: #000;
}

.status-partial {
    background-color: #fd7e14;
}

.status-paid {
    background-color: #198754;
}

.status-overdue {
    background-color: #dc3545;
}

.status-cancelled {
    background-color: #6c757d;
}

.status-accepted {
    background-color: #198754;
}

.status-rejected {
    background-color: #dc3545;
}

/* Card Styles */
.card {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.card-header {
    font-weight: 600;
}

/* Table Styles */
.table-hover tbody tr:hover {
    cursor: pointer;
}

/* Navbar */
.navbar-brand {
    font-weight: 600;
    font-size: 1.25rem;
}

.nav-link {
    font-weight: 500;
}