/* BizPlay Manager - app-level CSS overrides */
/* Base styles come from _content/BizPlay.UI/css/bizplay-app.min.css */

/* Manager sidebar: always uses a darker tone even in light mode */
.manager-sidebar {
    background-color: #111113;
}

html:not(.dark) .manager-sidebar {
    background-color: #111113;
    border-right-color: rgba(255, 255, 255, 0.08);
}

html:not(.dark) .manager-sidebar .nav-link {
    color: rgba(255, 255, 255, 0.65);
}

html:not(.dark) .manager-sidebar .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.9);
}

html:not(.dark) .manager-sidebar .nav-link.active {
    background-color: rgba(254, 80, 0, 0.15);
    border-color: rgba(254, 80, 0, 0.3);
    color: #FE5000;
}

html:not(.dark) .manager-sidebar .nav-group-label {
    color: rgba(255, 255, 255, 0.35);
}

html:not(.dark) .manager-sidebar .nav-group-header {
    color: rgba(255, 255, 255, 0.6);
}

html:not(.dark) .manager-sidebar .nav-group-header:hover {
    background-color: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.9);
}

html:not(.dark) .manager-sidebar .sidebar-footer {
    background-color: rgba(0, 0, 0, 0.3);
    border-top-color: rgba(255, 255, 255, 0.08);
}

/* Katalog parca listesi kapak ustu oynat/duraklat katmani: hover'da ya da calarken gorunur. Eskiden satir ici
   onmouseover/onmouseout ile style yaziliyordu; CSP satir ici olaya izin vermez (BZP-223 F6). */
.mgr-play-overlay {
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.15s;
}

.mgr-play-overlay:hover,
.mgr-play-overlay.is-playing {
    opacity: 1;
}

/* Rozet (BZP-277 F4, D600): plan sayfasi (plan-edit.css) ve plan listesi ayni yasam dongusu rozetini cizer; liste
   plan-edit.css'i yuklemez, rozet bu yuzden burada. Yazi tipi plan sayfasinin degiskeninden, yoksa ayni yigin. */
.pe-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 8px; font-family: var(--pe-display, 'Space Grotesk', 'DM Sans', sans-serif); font-size: 11px; font-weight: 700; line-height: 18px; white-space: nowrap; }
.pe-badge-neutral { background: var(--bg-hover); color: var(--text-primary); }
.pe-badge-success { background: var(--success-light); color: var(--success); }
.pe-badge-warning { background: var(--warning-light); color: var(--warning); }
.pe-badge-info { background: var(--info-light); color: var(--info); }
.pe-badge-btn { cursor: pointer; border: 1px solid transparent; }
.pe-badge-btn:hover { border-color: currentColor; }
.pe-badge-error { background: var(--error-light); color: var(--error); }

/* Katalog parca bilesenleri (BZP-305 F4, D605 madde 8): playlist Tracks sekmesi, ekleme cekmecesi ve Tracks listesi
   (manual#49) ayni siniflari kullanir; Tracks sayfasi plan-edit.css'i yuklemedigi icin burada. Renkler tema token'larindan. */
.ct-ident { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
.ct-cover { width: 36px; height: 36px; border-radius: 8px; flex-shrink: 0; overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--bg-hover); color: var(--text-tertiary); }
.ct-cover img { width: 100%; height: 100%; object-fit: cover; }
.ct-title { font-size: 13px; font-weight: 600; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-current { color: var(--accent-primary); }
.ct-sub { font-size: 12px; color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-badges { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.ct-icon-btn { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; border: 0; background: transparent; color: var(--text-secondary); cursor: pointer; flex-shrink: 0; }
.ct-icon-btn:hover:not(:disabled) { background: var(--bg-hover); color: var(--text-primary); }
.ct-icon-btn:disabled { opacity: .4; cursor: not-allowed; }
.ct-icon-btn.ct-on { color: var(--accent-primary); background: var(--accent-light); }
.ct-icon-btn.ct-danger:hover:not(:disabled) { color: var(--error); background: var(--error-light); }
.ct-selbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 8px 12px; margin-bottom: 12px; border-radius: 12px; background: var(--bg-surface); border: 1px solid var(--border-strong); color: var(--text-primary); }
.ct-chk { width: 18px; height: 18px; accent-color: var(--accent-primary); cursor: pointer; }
.ct-chk:disabled { cursor: not-allowed; opacity: .5; }
table.ct-table { width: 100%; border-collapse: separate; border-spacing: 0; }
table.ct-table th { text-align: left; padding: 10px 12px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border-default); white-space: nowrap; }
table.ct-table td { padding: 8px 12px; vertical-align: middle; border-bottom: 1px solid var(--border-default); }
table.ct-table tr.ct-row-sel td { background: var(--accent-light); }
table.ct-table tr.ct-row-now td { background: var(--bg-surface-alt); }
/* Tracks listesi: satir tiklamasi duzenleme cekmecesini acar (D606 madde 2) */
table.ct-table tr.ct-row-click { cursor: pointer; }
table.ct-table tr.ct-row-click:not(.ct-row-sel):hover td { background: var(--bg-hover); }
/* Satir tiklamasinin klavye yolu: baslik dugmesi (TrackIdentityCell OnOpen) */
.ct-title-btn { display: block; max-width: 100%; padding: 0; border: 0; background: transparent; font-family: inherit; text-align: start; cursor: pointer; }
.ct-title-btn:hover { text-decoration: underline; }
.ct-title-btn:focus-visible { outline: 2px solid var(--accent-primary); outline-offset: 2px; border-radius: 2px; }
table.ct-table .ct-pos { text-align: right; font-size: 12px; color: var(--text-tertiary); font-variant-numeric: tabular-nums; width: 40px; }
@media (max-width: 767px) { table.ct-table .ct-opt { display: none; } }
.ct-rows { list-style: none; margin: 0; padding: 0; }
.ct-drow { display: flex; align-items: flex-start; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--border-default); }
.ct-drow-blocked .ct-ident { opacity: .7; }
.ct-rowmsg { display: flex; gap: 6px; align-items: flex-start; font-size: 12px; margin-top: 6px; line-height: 1.45; }
.ct-rowmsg-err { color: var(--error); }
.ct-rowmsg-ok { color: var(--success); }
.ct-rowmsg-info { color: var(--info); }
.ct-player { position: fixed; bottom: 0; left: 0; right: 0; height: 72px; z-index: 55; background: var(--bg-surface); border-top: 1px solid var(--border-default); color: var(--text-primary); transform: translateY(100%); transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1); }
.ct-player-open { transform: translateY(0); }
.ct-player-toggle { width: 36px; height: 36px; border-radius: 9999px; border: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; background: var(--accent-primary); color: var(--text-on-accent); }
.ct-player-time { font-size: 10px; font-family: ui-monospace, monospace; flex-shrink: 0; width: 28px; color: var(--text-secondary); }
/* Oynatici acikken yapiskan kayit cubugu ve ekleme cekmecesi onun ustunde biter (prototip has-player: bottom 72px).
   Dar ekranda cekmece tam ekran ve oynaticinin ustunde (z-60), kaydirma gerekmez. */
.pe-savebar.ct-above-player { bottom: 72px; }
@media (min-width: 768px) { .ct-above-player .biz-drawer { bottom: 72px; } }
.ct-search-ic { position: absolute; inset-inline-start: 12px; color: var(--text-secondary); pointer-events: none; }
.pe-inp.ct-search-inp { padding-inline-start: 34px; }
@media (prefers-reduced-motion: reduce) { .ct-player { transition: none; } }

/* Mobile sidebar responsive */
@media (max-width: 767px) {
    [data-main-content] {
        margin-left: 0 !important;
        width: 100% !important;
    }
}
