:root {
    --pb-indigo: #3949ab;
    --pb-indigo-dark: #283593;
}

.bg-indigo {
    background-color: var(--pb-indigo) !important;
}

.navbar-dark.bg-indigo .nav-link:hover {
    color: rgba(255, 255, 255, 0.9);
}

.login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #e8eaf6 0%, #f5f5f5 100%);
}

.login-container {
    width: 100%;
    max-width: 420px;
    padding: 1rem;
}

.login-icon {
    font-size: 3rem;
}

.stat-card h2 {
    color: var(--pb-indigo);
    font-weight: 700;
}

.invoice-print {
    border-radius: 8px;
}

.invoice-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
}

.invoice-brand {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.company-logo,
.company-logo-preview {
    max-height: 72px;
    max-width: 200px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.login-logo {
    max-height: 80px;
    max-width: 220px;
    object-fit: contain;
    margin-bottom: 1rem;
}

.company-name {
    color: var(--pb-indigo);
    font-weight: 700;
}

.invoice-table th,
.invoice-table td {
    vertical-align: middle;
}

.doc-banner {
    letter-spacing: 0.08em;
    padding: 0.35rem 1rem;
    border-radius: 4px;
    border: 2px solid #ccc;
}

.doc-banner-proforma {
    color: #856404;
    border-color: #ffc107;
}

.doc-banner-consultation {
    color: #0f5132;
    border-color: #198754;
}

.proforma-doc {
    border-top: 4px solid #ffc107;
}

.consultation-doc {
    border-top: 4px solid #198754;
}

@media print {
    .navbar,
    .no-print,
    footer,
    .alert {
        display: none !important;
    }

    main {
        padding: 0 !important;
    }

    .row > .col-lg-8 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .invoice-print {
        box-shadow: none !important;
        border: none !important;
    }
}
