:root {
    color-scheme: light;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: Inter, Arial, sans-serif;
    background: #f8fafc;
    color: #0f172a;
    -webkit-font-smoothing: antialiased;
}

.card-surface {
    background: white;
    border-radius: 1rem;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.glass {
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.82);
}

.badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: capitalize;
}

.badge.approved, .badge.completed {
    background: #dcfce7;
    color: #166534;
}

.badge.pending, .badge.sent {
    background: #fef3c7;
    color: #92400e;
}

.badge.rejected {
    background: #fee2e2;
    color: #991b1b;
}

.animate-card {
    animation: riseIn 0.6s ease both;
}

@keyframes riseIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.table-shell {
    overflow-x: auto;
    border-radius: 1rem;
}

.table-shell table {
    min-width: 100%;
}

@media (max-width: 767px) {
    body {
        font-size: 15px;
    }

    .card-surface {
        border-radius: 1.1rem;
    }

    .table-shell {
        -webkit-overflow-scrolling: touch;
    }
}
