.attendance-page .attendance-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.attendance-metric-accent strong {
    color: var(--accent);
}

.attendance-toolbar {
    display: grid;
    grid-template-columns: minmax(130px, .75fr) repeat(3, minmax(0, 1fr)) auto;
    gap: 10px;
    align-items: end;
    padding: 12px;
    border-bottom: 1px solid var(--border);
}

.attendance-toolbar input,
.attendance-toolbar select {
    width: 100%;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: #08131a;
    color: var(--text);
    font: inherit;
}

.attendance-message {
    margin: 0;
    padding: 10px 12px;
}

.attendance-message:empty {
    display: none;
}

.attendance-row {
    display: grid;
    grid-template-columns: 85px 1.3fr 1.2fr 1.2fr .8fr 1fr;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border-bottom: 1px solid var(--border);
    overflow-wrap: anywhere;
}

.attendance-row:last-child {
    border-bottom: 0;
}

.attendance-state {
    font-size: 12px;
}

.attendance-state.in { color: var(--accent); }
.attendance-state.out { color: #77baff; }

.attendance-person {
    display: grid;
    gap: 3px;
}

.attendance-person span,
.attendance-row > span {
    color: var(--muted);
}

@media (max-width: 1050px) {
    .attendance-toolbar,
    .attendance-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .attendance-page .attendance-summary,
    .attendance-toolbar,
    .attendance-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
