/* ==========================================================================
   DIRECTOR MODE — Net, belirgin satır tasarımı (CSS Variables & Light Mode)
   ========================================================================== */

:root {
    --dr-bg: #0d1117;
    --dr-panel-bg: #161b22;
    --dr-panel-border: #30363d;
    --dr-border: #21262d;
    --dr-txt-bright: #e6edf3;
    --dr-txt-muted: #8b949e;
    
    --dr-th-bg: #161b22;
    --dr-th-color: #8b949e;
    
    --dr-row-odd: #0d1117;
    --dr-row-even: #111820;
    --dr-row-hover: #1c2128;
    --dr-row-hover-border: #58a6ff;
    
    --dr-cum-color: #58a6ff;
    --dr-elapsed-color: #3fb950;
    
    --dr-status-bg: rgba(139, 148, 158, 0.12);
    --dr-status-border: rgba(139, 148, 158, 0.2);
    --dr-status-color: #8b949e;
    
    --dr-btn-sec-bg: #21262d;
    --dr-btn-sec-border: #30363d;
    --dr-btn-sec-color: #8b949e;
    
    --dr-badge-played-bg: rgba(35, 134, 54, 0.08);
    --dr-badge-played-border: rgba(86, 211, 100, 0.35);
    
    /* played / skipped states */
    --dr-played-bg: rgba(35, 134, 54, 0.1);
    --dr-played-border: #238636;
    --dr-played-txt: #56d364;
    
    --dr-skipped-bg: rgba(218, 54, 51, 0.05);
    --dr-skipped-border: #da3633;
    --dr-skipped-txt: #8b949e;
}

[data-bs-theme=light] {
    --dr-bg: #f8fafc;
    --dr-panel-bg: #ffffff;
    --dr-panel-border: #e2e8f0;
    --dr-border: #e2e8f0;
    --dr-txt-bright: #0f172a;
    --dr-txt-muted: #64748b;
    
    --dr-th-bg: #f1f5f9;
    --dr-th-color: #475569;
    
    --dr-row-odd: #ffffff;
    --dr-row-even: #f8fafc;
    --dr-row-hover: #f1f5f9;
    --dr-row-hover-border: #2563eb;
    
    --dr-cum-color: #2563eb;
    --dr-elapsed-color: #16a34a;
    
    --dr-status-bg: #f1f5f9;
    --dr-status-border: #cbd5e1;
    --dr-status-color: #475569;
    
    --dr-btn-sec-bg: #f8fafc;
    --dr-btn-sec-border: #cbd5e1;
    --dr-btn-sec-color: #475569;
    
    --dr-badge-played-bg: rgba(22, 163, 74, 0.08);
    --dr-badge-played-border: rgba(22, 163, 74, 0.35);
    
    /* played / skipped states */
    --dr-played-bg: rgba(22, 163, 74, 0.06);
    --dr-played-border: #16a34a;
    --dr-played-txt: #15803d;
    
    --dr-skipped-bg: rgba(220, 38, 38, 0.04);
    --dr-skipped-border: #dc2626;
    --dr-skipped-txt: #94a3b8;
}

/* ── TABLE HEADER ───────────────────────────────────────────────── */
.dr-th {
    background: var(--dr-th-bg);
    padding: 9px 12px;
    text-align: left;
    border-bottom: 2px solid var(--dr-panel-border);
    color: var(--dr-th-color);
    font-weight: 700;
    white-space: nowrap;
    font-size: 10.5px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

/* ── TABLE COLUMNS ──────────────────────────────────────────────── */
.dr-col-num   { width: 44px;  text-align: center; border-right: 1px solid var(--dr-border); }
.dr-col-noid  { width: 110px; }
.dr-col-type  { width: 64px;  text-align: center; }
.dr-col-title { min-width: 220px; }
.dr-col-dur   { width: 70px;  text-align: right; }
.dr-col-cum   { width: 74px;  text-align: right; border-right: 1px solid var(--dr-border); }
.dr-col-chk   { width: 94px;  text-align: center; }

/* ── STORY ROW BASE ─────────────────────────────────────────────── */
#dr-main-table tbody tr.dr-story-row {
    border-left: 3px solid transparent;
    transition: border-color 0.15s, background 0.15s;
}

/* Zebra stripe — tek/çift satırları ayırt et */
#dr-main-table tbody tr.dr-story-row:nth-child(odd) td {
    background: var(--dr-row-odd);
}
#dr-main-table tbody tr.dr-story-row:nth-child(even) td {
    background: var(--dr-row-even);
}

#dr-main-table tbody tr.dr-story-row:hover td {
    background: var(--dr-row-hover) !important;
    border-left-color: var(--dr-row-hover-border);
}

/* ── TABLE ROW CELLS ────────────────────────────────────────────── */
#dr-main-table tbody td {
    padding: 11px 12px;
    border-bottom: 1px solid var(--dr-border);
    vertical-align: middle;
    font-size: 13.5px;
}

/* Sol border aksan — story row'a uygulanır */
#dr-main-table tbody tr.dr-story-row td:first-child {
    border-left: 3px solid var(--dr-panel-border);
}
#dr-main-table tbody tr.dr-story-row:hover td:first-child {
    border-left-color: var(--dr-row-hover-border);
}

/* ── SIRA NUMARASI ──────────────────────────────────────────────── */
.dr-num {
    text-align: center;
    color: var(--dr-txt-muted);
    font-weight: 700;
    font-size: 12.5px;
    width: 44px;
}

/* ── HABER NO ───────────────────────────────────────────────────── */
.dr-noid {
    font-family: ui-monospace, monospace;
    color: var(--dr-txt-muted);
    font-size: 11px;
    white-space: nowrap;
}

/* ── BAŞLIK ─────────────────────────────────────────────────────── */
.dr-title {
    font-weight: 600;
    color: var(--dr-txt-bright);
    font-size: 14px;
    line-height: 1.45;
    white-space: normal;
    word-break: break-word;
}

/* ── SÜRE / TOPLAM ──────────────────────────────────────────────── */
.dr-dur {
    text-align: right;
    font-family: ui-monospace, monospace;
    color: var(--dr-txt-muted);
    font-size: 13px;
    white-space: nowrap;
    letter-spacing: 0.3px;
}
.dr-cum {
    text-align: right;
    font-family: ui-monospace, monospace;
    font-weight: 700;
    color: var(--dr-cum-color);
    font-size: 13px;
    white-space: nowrap;
    letter-spacing: 0.3px;
}

/* ── TYPE BADGES ────────────────────────────────────────────────── */
.dr-badge {
    display: inline-block;
    padding: 3px 7px;
    border-radius: 4px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: 1px solid transparent;
    white-space: nowrap;
}
.dr-badge-vtr   { color: #60a5fa; background: rgba(59,130,246,.15);  border-color: rgba(59,130,246,.35); }
.dr-badge-dsf   { color: #f472b6; background: rgba(244,114,182,.15); border-color: rgba(244,114,182,.35); }
.dr-badge-phone { color: #34d399; background: rgba(52,211,153,.15);  border-color: rgba(52,211,153,.35); }
.dr-badge-live  { color: #ef4444; background: rgba(239,68,68,.15);   border-color: rgba(239,68,68,.35);  animation: dr-pulse 1.8s infinite; }
.dr-badge-still { color: #a78bfa; background: rgba(167,139,250,.15); border-color: rgba(167,139,250,.35); }
.dr-badge-std   { color: #fbbf24; background: rgba(251,191,36,.15);  border-color: rgba(251,191,36,.35); }
.dr-badge-other { color: #8b949e; background: rgba(139,148,158,.15); border-color: rgba(139,148,158,.35); }

[data-bs-theme=light] .dr-badge-vtr   { color: #1d4ed8; background: rgba(37,99,235,.08);  border-color: rgba(37,99,235,.25); }
[data-bs-theme=light] .dr-badge-dsf   { color: #be185d; background: rgba(219,39,119,.08); border-color: rgba(219,39,119,.25); }
[data-bs-theme=light] .dr-badge-phone { color: #047857; background: rgba(5,150,105,.08);  border-color: rgba(5,150,105,.25); }
[data-bs-theme=light] .dr-badge-live  { color: #b91c1c; background: rgba(220,38,38,.08);   border-color: rgba(220,38,38,.25); }
[data-bs-theme=light] .dr-badge-still { color: #6d28d9; background: rgba(124,58,237,.08); border-color: rgba(124,58,237,.25); }
[data-bs-theme=light] .dr-badge-std   { color: #b45309; background: rgba(217,119,6,.08);  border-color: rgba(217,119,6,.25); }
[data-bs-theme=light] .dr-badge-other { color: #475569; background: rgba(71,85,105,.08);  border-color: rgba(71,85,105,.25); }

@keyframes dr-pulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.5; }
}

/* ── SEPARATOR ROW ──────────────────────────────────────────────── */
#dr-main-table tbody tr.dr-sep-row td {
    padding: 12px 14px !important;
    border-top: 2px solid rgba(239,68,68,.25) !important;
    border-bottom: 2px solid rgba(239,68,68,.25) !important;
    background: rgba(239,68,68,.06) !important;
}
.dr-sep-label {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #ef4444;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 4px;
    text-transform: uppercase;
    text-shadow: 0 0 12px rgba(239,68,68,.5);
}
[data-bs-theme=light] .dr-sep-label {
    text-shadow: none;
}
.dr-sep-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(239,68,68,.5), transparent);
    display: block;
}

/* ── ROW STATUS STATES ──────────────────────────────────────────── */
tr.dr-row-played td {
    background: var(--dr-played-bg) !important;
}
tr.dr-row-played td:first-child {
    border-left: 3px solid var(--dr-played-border) !important;
}
tr.dr-row-played .dr-title   { color: var(--dr-played-txt) !important; }
tr.dr-row-played .dr-num     { color: var(--dr-played-txt) !important; }

tr.dr-row-skipped td {
    background: var(--dr-skipped-bg) !important;
    opacity: 0.75;
}
tr.dr-row-skipped td:first-child {
    border-left: 3px solid var(--dr-skipped-border) !important;
}
tr.dr-row-skipped .dr-title {
    text-decoration: line-through;
    color: var(--dr-skipped-txt) !important;
}
