/* TokuVoice panel — tema üstü küçük özelleştirmeler */
:root { --bs-app-sidebar-width: 150px; --bs-app-sidebar-width-actual: 150px; }
.tv-nav .tv-nav-link { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: .6rem .25rem; border-radius: .65rem; transition: background .15s; }
.tv-nav .tv-nav-icon i { font-size: 1.65rem; color: var(--bs-gray-600); transition: color .15s; }
.tv-nav .tv-nav-title { margin-top: .3rem; font-size: .72rem; font-weight: 600; line-height: 1.15; color: var(--bs-gray-600); text-align: center; white-space: normal; }
.tv-nav .tv-nav-link:hover { background: var(--bs-gray-100); }
.tv-nav .tv-nav-link.active { background: var(--bs-primary-light); }
.tv-nav .tv-nav-link.active .tv-nav-icon i, .tv-nav .tv-nav-link.active .tv-nav-title, .tv-nav .tv-nav-link:hover .tv-nav-icon i { color: var(--bs-primary); }
@media (min-width: 992px) { .app-header-logo { width: var(--bs-app-sidebar-width); padding-right: .5rem; } }

.tv-kpi { min-height: 128px; }
.tv-kpi .tv-kpi-value { font-size: 2.1rem; font-weight: 700; line-height: 1; }
.tv-kpi .tv-kpi-delta { font-size: .85rem; font-weight: 600; }
.tv-kpi .tv-kpi-icon { width: 44px; height: 44px; border-radius: .65rem; display: flex; align-items: center; justify-content: center; }

/* Transkript */
.tv-transcript { max-height: 560px; overflow-y: auto; padding-right: .5rem; }
.tv-turn { display: flex; margin-bottom: .9rem; cursor: pointer; }
.tv-turn.assistant { justify-content: flex-start; }
.tv-turn.caller { justify-content: flex-end; }
.tv-turn .tv-bubble { max-width: 78%; padding: .7rem 1rem; border-radius: 1rem; font-size: .95rem; line-height: 1.45; position: relative; transition: box-shadow .15s, background-color .15s; }
.tv-turn.assistant .tv-bubble { background: var(--bs-light); color: var(--bs-gray-800); border-bottom-left-radius: .25rem; }
.tv-turn.caller .tv-bubble { background: var(--bs-primary); color: #fff; border-bottom-right-radius: .25rem; }
.tv-turn .tv-time { display: block; font-size: .72rem; opacity: .7; margin-top: .25rem; }
.tv-turn.active .tv-bubble { box-shadow: 0 0 0 3px var(--bs-warning); }
.tv-turn.tool, .tv-turn.system { justify-content: center; }
.tv-turn.tool .tv-bubble, .tv-turn.system .tv-bubble { background: transparent; border: 1px dashed var(--bs-border-dashed-color); color: var(--bs-gray-600); font-size: .8rem; padding: .35rem .75rem; border-radius: 2rem; }

/* Ses oynatıcı */
.tv-player audio { width: 100%; }
.tv-score-ring { width: 86px; height: 86px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.7rem; font-weight: 700; border: 6px solid var(--bs-gray-300); }
.tv-score-ring.good { border-color: var(--bs-success); color: var(--bs-success); }
.tv-score-ring.mid { border-color: var(--bs-warning); color: var(--bs-warning); }
.tv-score-ring.bad { border-color: var(--bs-danger); color: var(--bs-danger); }

/* Yıldız */
.tv-stars i { cursor: pointer; font-size: 1.4rem; color: var(--bs-gray-400); transition: color .1s; }
.tv-stars i.on { color: var(--bs-warning); }

/* Tablolar */
.tv-table tbody tr { cursor: pointer; }
.tv-table tbody tr:hover { background: var(--bs-gray-100); }
.tv-nowrap { white-space: nowrap; }


/* Test arama modalı */
.tv-wave { height: 10px; display: flex; gap: 3px; align-items: center; }
.tv-wave span { width: 4px; height: 4px; background: var(--bs-primary); border-radius: 2px; animation: tvwave 1s infinite ease-in-out; }
.tv-wave span:nth-child(2) { animation-delay: .15s; } .tv-wave span:nth-child(3) { animation-delay: .3s; } .tv-wave span:nth-child(4) { animation-delay: .45s; }
@keyframes tvwave { 0%, 100% { height: 4px; } 50% { height: 14px; } }

/* Boş durum */
.tv-empty { text-align: center; padding: 3rem 1rem; color: var(--bs-gray-500); }

@media (max-width: 991.98px) { .tv-transcript { max-height: 420px; } }

/* gorev kartlari */
.tv-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 1.2em; }
