.filters {
    display: flex;
    gap: var(--spacing);
    margin-bottom: var(--spacing);
}

.btn {
    padding: var(--spacing) calc(var(--spacing) * 2);
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
    font-size: 0.9rem;
    font-weight: 400;
}

.contracts-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    margin-top: var(--spacing);
    border: 1px solid var(--dark-border);
}

body:not(.dark-mode) .contracts-table {
    border: 1px solid var(--border);
}

.contracts-table th, .contracts-table td {
    padding: var(--spacing);
    text-align: left;
    font-size: 0.9rem;
    border: 1px solid var(--dark-table-border);
    font-weight: 400;
}

body:not(.dark-mode) .contracts-table th,
body:not(.dark-mode) .contracts-table td {
    border: 1px solid var(--table-border);
}

.contracts-table th {
    background: var(--dark-card-bg);
    font-weight: 500;
    cursor: pointer;
}

body:not(.dark-mode) .contracts-table th {
    background: var(--background);
}

.sort-icon::after {
    content: '↕';
    margin-left: 4px;
}

.sort-icon.asc::after {
    content: '↑';
}

.sort-icon.desc::after {
    content: '↓';
}

.status-pending { background: var(--warning); }
.status-active { background: var(--primary); }
.status-completed { background: var(--success); }
.status-disputed { background: var(--danger); }
.status-cancelled { background: var(--text-secondary); }

.indicator {
    padding: 4px 8px;
    border-radius: 4px;
    color: white;
    font-size: 0.75rem;
    font-weight: 400;
}
