body { font-family: 'Inter', sans-serif; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

.modern-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.75rem;
}
.modern-table th {
    padding: 0.75rem 1rem;
    text-align: left;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #e2e8f0;
    white-space: nowrap;
}
.modern-table td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
    white-space: nowrap;
}
.modern-table tbody tr:hover { background-color: #f8fafc; }

.table-search-header th {
    padding: 0.5rem 1rem;
    background-color: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}
.table-search-input {
    width: 100%;
    padding: 0.25rem 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    color: #64748b;
    outline: none;
}
.table-search-input:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 1px #4f46e5;
}

.filter-label {
    font-size: 0.65rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    margin-bottom: 0.25rem;
    display: block;
}
.filter-input {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    color: #334155;
    outline: none;
    background-color: white;
    transition: all 0.2s;
}
.filter-input:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.1);
}
input[type="date"].filter-input {
    padding: 0.4rem 0.5rem;
    color: #475569;
}

.tree-toggle { cursor: pointer; color: #64748b; margin-right: 0.5rem; display: inline-flex; align-items: center; justify-content: center; }
.tree-toggle:hover { color: #4f46e5; }
.indent-1 { padding-left: 2rem !important; }
.indent-2 { padding-left: 3.5rem !important; }
