/* assets/css/style.css */
body { background-color: #f4f6f9; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }


/* Kartlar */
.card { border: none; box-shadow: 0 2px 10px rgba(0,0,0,0.05); margin-bottom: 20px; border-radius: 10px; }
.card-header { background-color: #fff; font-weight: bold; color: #495057; border-bottom: 1px solid #eee; }

/* İstatistik Kartları (History) */
.stat-card { transition: transform 0.2s; }
.stat-card:hover { transform: translateY(-3px); }
.icon-box { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; border-radius: 10px; font-size: 1.5rem; color: white; }
.bg-purple { background-color: #6f42c1; }
.bg-orange { background-color: #fd7e14; }

/* Sıralanabilir Listeler (Profile) */
.sortable-list { list-style: none; padding: 0; }
.sortable-item { padding: 12px 15px; background: #fff; border: 1px solid #e3e6f0; margin-bottom: 8px; border-radius: 6px; display: flex; justify-content: space-between; align-items: center; transition: all 0.2s; }
.sortable-item:hover { border-color: #b0b3b8; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.handle { color: #ccc; margin-right: 10px; cursor: grab; }
.handle:active { cursor: grabbing; }

/* Diş Şeması (Dashboard) */
.tooth-chart { display: flex; justify-content: center; gap: 5px; flex-wrap: wrap; }
.tooth-checkbox { display: none; }
.tooth-label { width: 35px; height: 35px; border: 1px solid #ced4da; background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 4px; user-select: none; font-size: 0.85rem; }
.tooth-checkbox:checked + .tooth-label { background-color: #0d6efd; color: white; border-color: #0d6efd; }

/* Yanıp sönen kırmızı badge için */
@keyframes blinker {
  50% { opacity: 0.5; }
}
.blinking-badge {
  animation: blinker 1.5s linear infinite;
}

/* Timeline Stili (history.php head kısmına ekleyin) */
.status-timeline { display: flex; justify-content: space-between; margin-bottom: 20px; position: relative; padding: 0 10px; }
.status-step { text-align: center; flex: 1; position: relative; z-index: 2; opacity: 0.4; font-size: 0.8rem; }
.status-step.active { opacity: 1; font-weight: bold; color: #0d6efd; }
.status-step i { display: block; font-size: 1.2rem; margin-bottom: 5px; }
.status-line { position: absolute; top: 10px; left: 10%; right: 10%; height: 2px; background: #dee2e6; z-index: 1; }

/* Log Listesi */
.log-feed { max-height: 300px; overflow-y: auto; }
.log-item { padding: 8px 0; border-left: 2px solid #e0e0e0; padding-left: 15px; position: relative; margin-left: 5px; }
.log-item::before { content: ''; position: absolute; left: -6px; top: 12px; width: 10px; height: 10px; border-radius: 50%; background: #ccc; }
.log-item:first-child::before { background: #28a745; }