body {
    background-color: #f4f7f5;
}

.app-content {
    max-width: 1100px;
    margin: 0 auto;
}

.login-body {
    min-height: 100vh;
    background: linear-gradient(135deg, #d7f5e3, #f4f7f5);
}
.login-card {
    width: 100%;
    max-width: 380px;
    border: none;
    border-radius: 14px;
}

.summary-card {
    border: none;
    border-radius: 14px;
    color: #fff;
}
.summary-card .card-body { padding: 1.1rem 1.2rem; }
.summary-card .value { font-size: 1.6rem; font-weight: 700; }
.summary-card .label { font-size: .85rem; opacity: .9; }

.bg-cash1 { background: linear-gradient(135deg,#2e7d32,#66bb6a); }
.bg-cash2 { background: linear-gradient(135deg,#1565c0,#42a5f5); }
.bg-cash3 { background: linear-gradient(135deg,#ef6c00,#ffa726); }
.bg-cash4 { background: linear-gradient(135deg,#c62828,#ef5350); }

.badge-paid { background-color: #198754; }
.badge-unpaid { background-color: #dc3545; }
.badge-cash { background-color: #6c757d; }
.badge-upi { background-color: #6f42c1; }

.card {
    border-radius: 12px;
}

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

/* Make forms/tables comfortable on small screens */
@media (max-width: 576px) {
    .summary-card .value { font-size: 1.3rem; }
    h3, h4 { font-size: 1.15rem; }
    .btn { font-size: .9rem; }
}

/* Print-friendly reports */
@media print {
    .no-print { display: none !important; }
    body { background: #fff; }
    .app-content { max-width: 100%; }
    .card { border: 1px solid #ccc !important; }
}
