.tt-stats { grid-template-columns: repeat(3, 1fr); }
.tt-stats .student-stat:nth-child(3) strong { color: #d64545; }

.tt-table { min-width: 900px; }
.tt-table th,
.tt-table td { white-space: nowrap; vertical-align: middle; }
.tt-table th small { display: block; font-weight: 400; color: var(--muted); }

.tt-slot {
    width: 100%;
    min-width: 130px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: white;
    color: var(--text);
    font: inherit;
}
.tt-slot.filled { background: var(--primary-soft); border-color: transparent; color: var(--primary-dark); font-weight: 600; }
.tt-slot.clash { background: #fdeaea; border-color: #d64545; color: #d64545; }

.tt-teacher { display: block; margin-top: 4px; font-size: 0.75rem; color: var(--muted); }
.tt-teacher.clash { color: #d64545; font-weight: 700; }

.tt-break td {
    background: var(--background);
    color: var(--muted);
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.08em;
}

.tt-cell-readonly { font-weight: 600; }
.tt-cell-readonly.filled { color: var(--primary-dark); }

.tt-actions { display: inline-flex; gap: 10px; }

@media (max-width: 700px) {
    .tt-stats { grid-template-columns: repeat(3, 1fr); }
}
