:root {
    color-scheme: light;
}

* {
    box-sizing: border-box;
}

html, body {
    min-height: 100%;
    background-color: #f8fafc;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid #0ea5e9;
    outline-offset: 2px;
}

.modern-grid {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    overflow: hidden;
}

.modern-grid thead th {
    background: #f8fafc;
    font-weight: 700;
    font-size: 0.9rem;
    color: #0f172a;
    padding: 0.9rem 1rem;
    border-bottom: 1px solid #e2e8f0;
}

.modern-grid tbody td {
    padding: 0.9rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.95rem;
    color: #1e293b;
}

.modern-grid tbody tr:nth-child(even) {
    background-color: #f8fafc;
}

.modern-grid tbody tr:hover {
    background-color: #eef2ff;
}

.progress-track {
    position: relative;
    height: 6px;
    border-radius: 9999px;
    background-color: #e2e8f0;
    overflow: hidden;
}

.progress-bar {
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    background: linear-gradient(90deg, #22d3ee, #0ea5e9);
}
