body {
    background-color: #f8f9fa;
    font-family: 'Segoe UI', sans-serif;
}

.navbar-brand {
    font-size: 1.3rem;
    letter-spacing: 0.5px;
}

.card {
    border: none;
    box-shadow: 0 2px 10px rgba(0,0,0,0.07);
    border-radius: 12px;
}

.card-header {
    background: linear-gradient(135deg, #0d6efd, #0a58ca);
    color: white;
    border-radius: 12px 12px 0 0 !important;
    font-weight: 600;
}

.stat-card {
    border-left: 4px solid;
    transition: transform 0.2s;
}
.stat-card:hover { transform: translateY(-3px); }
.stat-card.blue   { border-color: #0d6efd; }
.stat-card.green  { border-color: #198754; }
.stat-card.orange { border-color: #fd7e14; }
.stat-card.red    { border-color: #dc3545; }

.stat-icon {
    font-size: 2.5rem;
    opacity: 0.15;
    position: absolute;
    right: 15px;
    top: 15px;
}

.badge-status-pending    { background-color: #ffc107; color: #000; }
.badge-status-confirmed  { background-color: #0dcaf0; color: #000; }
.badge-status-completed  { background-color: #198754; color: #fff; }
.badge-status-cancelled  { background-color: #dc3545; color: #fff; }
.badge-status-unpaid     { background-color: #dc3545; color: #fff; }
.badge-status-partial    { background-color: #ffc107; color: #000; }
.badge-status-paid       { background-color: #198754; color: #fff; }

.table th { background-color: #f1f3f5; font-weight: 600; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; }
.table td { vertical-align: middle; }

/* Login page */
.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0d6efd 0%, #0a3d8f 100%);
}
.login-card {
    width: 100%;
    max-width: 420px;
    border-radius: 20px;
}
.login-logo { font-size: 3rem; }

/* Print invoice */
@media print {
    .no-print, .navbar, .footer, nav, .btn, .alert { display: none !important; }
    body { background: white !important; }
    .invoice-print { box-shadow: none !important; }
    .card { box-shadow: none !important; border: 1px solid #dee2e6 !important; }
}

.invoice-header {
    background: linear-gradient(135deg, #0d6efd, #0a3d8f);
    color: white;
    padding: 25px 30px;
    border-radius: 12px 12px 0 0;
}

.invoice-total-box {
    background: linear-gradient(135deg, #0d6efd, #0a3d8f);
    color: white;
    border-radius: 12px;
    padding: 20px;
}

.order-type-badge {
    font-size: 0.75rem;
    padding: 4px 10px;
    border-radius: 20px;
}
