/* الحاوية */
.cts-wrapper { font-family: inherit; margin-bottom: 30px; }
.cts-filter-bar { margin-bottom: 15px; text-align: right; }
.cts-filter-bar select { padding: 8px; width: 200px; border: 1px solid #ddd; }

/* الجدول */
.cts-table-container { overflow-x: auto; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.cts-timetable { width: 100%; border-collapse: collapse; min-width: 800px; background: #fff; }

/* الهيدر (الأيام) */
.cts-timetable th { background: #2c3e50; color: #fff; padding: 15px 5px; text-align: center; border: 1px solid #34495e; width: 13.5%; }
.cts-timetable th.head-time { width: 80px; background: #e74c3c; }

/* خلية التوقيت (الجانبية) */
.time-cell { background: #f9f9f9; font-weight: bold; color: #555; text-align: center; border: 1px solid #eee; vertical-align: middle; }

/* خلية المواعيد */
.cts-slot { border: 1px solid #eee; padding: 5px; vertical-align: top; height: 80px; background: #fff; transition: 0.2s; }
.cts-slot:hover { background: #fafafa; }

/* بطاقة الطبيب */
.cts-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 4px;
    padding: 6px;
    margin-bottom: 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.03);
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    position: relative;
    overflow: hidden;
}

.cts-thumb img { border-radius: 50%; width: 30px; height: 30px; object-fit: cover; }

.cts-info { display: flex; flex-direction: column; line-height: 1.3; }
.doc-name { font-weight: bold; color: #333; font-size: 12px; }
.doc-link { color: #2980b9; text-decoration: none; font-weight: bold; }
.dept-name { color: #888; font-size: 10px; }

/* زر الحجز */
.cts-book-btn { margin-top: 4px; background: #27ae60; color: #fff; border: 0; padding: 2px 8px; border-radius: 3px; cursor: pointer; width: 100%; }

/* تجاوب للموبايل */
@media (max-width: 768px) {
    .cts-timetable thead { display: none; }
    .cts-timetable tr { display: block; margin-bottom: 20px; border: 1px solid #ddd; }
    .cts-timetable td { display: block; width: 100%; box-sizing: border-box; }
    .time-cell { background: #333; color: #fff; padding: 10px; }
    .cts-slot::before { content: attr(data-label); font-weight: bold; display: block; margin-bottom: 5px; color: #aaa; }
}