/* ==========================================================================
   BM Components — BusinessMedia / MediaCenter ortak bileşen stilleri
   Site primary rengi üzerinden tema uyumludur (var(--bs-primary-rgb))
   ========================================================================== */


/* ---------- Shared primitives ---------- */

/* Karakter sayacı pill (textarea/input label'ında) */
.bm-counter {
    display: inline-block;
    padding: 1px 8px;
    font-size: .72rem;
    line-height: 1.4;
    font-weight: 500;
    color: #6c757d;
    background: #f1f3f5;
    border: 1px solid #e9ecef;
    border-radius: 999px;
}
.bm-counter.is-warn {
    color: #b02a37;
    background: #fbeaec;
    border-color: #f3c2c8;
}

/* Genel empty state kart */
.bm-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3rem 1.5rem;
    background: #fff;
    border: 1px dashed #d8dde2;
    border-radius: 14px;
    min-height: 320px;
}
.bm-empty-state .bm-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px; height: 72px;
    border-radius: 50%;
    background: #f1f3f5;
    color: #6c757d;
    margin-bottom: 1rem;
}
.bm-empty-state .bm-empty-icon .material-symbols-rounded { font-size: 38px; }
.bm-empty-state .bm-empty-title {
    font-size: 1.05rem; font-weight: 600; color: #212529;
    margin-bottom: .35rem;
}
.bm-empty-state .bm-empty-desc {
    color: #6c757d; font-size: .9rem; max-width: 460px; margin-bottom: 1.25rem;
}

/* Kompakt empty (kart içi) */
.bm-empty-compact {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center; text-align: center;
    padding: 2rem 1rem;
    min-height: 220px;
    color: #6c757d;
}
.bm-empty-compact .bm-empty-ic {
    display: inline-flex; align-items: center; justify-content: center;
    width: 56px; height: 56px;
    border-radius: 50%;
    background: #f1f3f5; color: #adb5bd;
    margin-bottom: .75rem;
}
.bm-empty-compact .bm-empty-ic .material-symbols-rounded { font-size: 30px; }
.bm-empty-compact .bm-empty-title { font-weight: 600; color: #212529; margin-bottom: .2rem; }
.bm-empty-compact .bm-empty-sub { font-size: .85rem; }


/* ---------- Media browser details panel ---------- */

#bmDetails .bm-header-strip {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .55rem .75rem;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    margin-bottom: 1rem;
}
#bmDetails .bm-header-strip .bm-file-icon { font-size: 22px; color: #6c757d; }
#bmDetails .bm-header-strip .bm-file-name {
    flex: 1 1 auto; min-width: 0;
    font-weight: 600;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
#bmDetails .bm-type-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    background: rgba(var(--bs-primary-rgb, 138, 13, 30), .10);
    color: var(--bs-primary, #8a0d1e);
    border: 1px solid rgba(var(--bs-primary-rgb, 138, 13, 30), .30);
    border-radius: 999px;
}

/* Tarih chip'leri */
#bmDetails .bm-date-row {
    display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem;
}
#bmDetails .bm-date-chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 10px;
    background: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px;
    font-size: .8rem;
}
#bmDetails .bm-date-chip .bm-date-label {
    color: #6c757d; font-size: .72rem;
    text-transform: uppercase; letter-spacing: .03em;
}
#bmDetails .bm-date-chip .bm-date-value { color: #212529; font-weight: 500; }
#bmDetails .bm-date-chip .material-symbols-rounded { font-size: 16px; color: #6c757d; }

/* Önizleme card */
#bmDetails .bm-preview-card {
    margin-top: 1rem;
    padding: .75rem;
    background: #fafbfc; border: 1px solid #e9ecef; border-radius: 12px;
}
#bmDetails .bm-preview-card .bm-preview-title {
    display: flex; align-items: center; gap: 6px;
    margin-bottom: .5rem;
    color: #6c757d; font-size: .78rem;
    text-transform: uppercase; letter-spacing: .04em; font-weight: 600;
}

/* Preview media */
#bmDetails .bm-preview {
    width: 100%;
    max-height: min(60vh, 440px);
    border-radius: 12px;
    overflow: hidden;
}
#bmDetails .bm-preview video,
#bmDetails .bm-preview img {
    display: block; width: 100%;
    max-height: min(60vh, 440px);
    height: auto; object-fit: contain;
}
#bmDetails .bm-preview iframe {
    width: 100%; height: min(60vh, 440px);
    border: 0; border-radius: 12px;
}
#bmDetails .bm-preview audio {
    width: 100%; max-width: 720px;
}

/* Stat pill'leri */
#bmDetails .bm-stat-row {
    display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem;
}
#bmDetails .bm-stat-pill {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 6px 12px;
    background: #fff; border: 1px solid #e9ecef; border-radius: 999px;
    font-size: .85rem;
}
#bmDetails .bm-stat-pill .material-symbols-rounded { font-size: 18px; color: #6c757d; }
#bmDetails .bm-stat-pill .bm-stat-value { font-weight: 600; color: #212529; }
#bmDetails .bm-stat-pill .bm-stat-label { color: #6c757d; }

/* Alt action bar */
#bmDetails .bm-footer-actions {
    display: flex; align-items: center; gap: .5rem;
    margin-top: 1.25rem; padding-top: .75rem;
    border-top: 1px solid #e9ecef;
}

/* Sol panel dosya adı ellipsis */
#places-container .side-drawer-item { min-width: 0; }
#places-container .side-drawer-item .bm-list-filename {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ---------- Add modal — highlight & counter ---------- */

#add-file-modal .col-form-label { padding-bottom: .35rem; }
#add-file-modal .bm-allfleets-box {
    padding: .6rem .75rem;
    background: #fff8e1;
    border: 1px dashed #ffc107;
    border-radius: 8px;
}
#add-file-modal .bm-allfleets-box .form-check-label { margin-left: .25rem; }


/* ---------- Kompakt araç satırı (Media/Route Settings paylaşıyor) ---------- */

.bm-vehicle-row {
    display: flex !important;
    align-items: center;
    gap: .3rem;
    padding: .3rem .45rem !important;
    border-radius: 8px;
}

/* MediaBrowser Ayarlar tab'ındaki vehicle-list kartları arasındaki gap'i sıkıştır */
#vehicle-list {
    gap: .15rem !important;
    margin: .3rem !important;
}
.bm-vehicle-row > .bm-vr-left,
.bm-vehicle-row > .bm-vr-right { flex: 0 0 auto; }
.bm-vehicle-row > .bm-vr-main { flex: 1 1 auto; min-width: 0; }

.bm-vr-line1 {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: .15rem .3rem; min-width: 0;
}
.bm-vr-name {
    font-weight: 600; font-size: .85rem;
    line-height: 1.2; min-width: 0;
    word-break: break-word; overflow-wrap: anywhere;
}
.bm-vr-line2 {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: .15rem .4rem;
    margin-top: 0;
    font-size: .7rem; color: #6c757d; line-height: 1.2;
}
.bm-vr-versions { display: inline-flex; align-items: center; gap: 3px; }
.bm-vr-versions .badge { padding: 1px 6px; font-size: .68rem; font-weight: 600; }
.bm-vr-versions .bm-vr-arrow { color: #adb5bd; font-weight: 700; }

.bm-vr-schedules { display: inline-flex; align-items: center; gap: 3px; }
.bm-vr-schedules .material-symbols-rounded { font-size: 14px; color: #6c757d; }

.bm-vehicle-row .bm-status-badge { font-size: .65rem; padding: 2px 6px; line-height: 1.2; }
.bm-vehicle-row .bm-assign-state { font-size: .65rem; padding: 2px 7px; }
.bm-vehicle-row .bm-warning-line {
    display: inline-flex; align-items: center;
    font-size: .68rem; gap: 2px;
}
.bm-vehicle-row .bm-warning-line .material-symbols-rounded { font-size: 14px; }
.bm-vehicle-row .switch { margin: 0; }
.bm-vehicle-row .bm-assign-dot {
    position: static; width: 8px; height: 8px; flex: 0 0 auto;
}

/* Schedule panel — seçili araç başlık şeridi */
.bm-schedule-vehicle-head {
    display: flex; align-items: center; gap: 6px;
    padding: .4rem .6rem;
    margin-bottom: .6rem;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
}
.bm-schedule-vehicle-head .material-symbols-rounded { font-size: 18px; color: #6c757d; }
.bm-schedule-vehicle-head:empty,
.bm-schedule-vehicle-head:has(#bmSelectedVehicleName:empty) { display: none; }

/* Schedule body — empty + alert */
#bmSchedulePanel #bmScheduleBody {
    padding: 1.5rem 1rem;
    text-align: center;
    color: #6c757d;
    font-style: italic;
    font-size: .85rem;
}
#bmSchedulePanel #bmScheduleBody:has(*) {
    padding: 0; text-align: left; font-style: normal;
}
#bmSchedulePanel #bmScheduleBody:not(:has(*))::before {
    content: 'event_busy';
    font-family: 'Material Symbols Rounded', 'Material Symbols Outlined', sans-serif;
    font-style: normal; font-weight: normal;
    display: block; font-size: 36px; line-height: 1;
    color: #ced4da; margin-bottom: .5rem;
}
#bmSchedulePanel #bmScheduleBody .alert-secondary {
    padding: .65rem .85rem !important;
    margin: 0;
    border-radius: 8px;
    background: #fff8e1; color: #6d5400;
    border: 1px solid #ffe082;
    display: flex; align-items: flex-start; gap: .5rem;
    font-style: normal;
}
#bmSchedulePanel #bmScheduleBody .alert-secondary::before {
    content: 'info';
    font-family: 'Material Symbols Rounded', 'Material Symbols Outlined', sans-serif;
    font-size: 18px; line-height: 1.3; color: #b78a00; flex: 0 0 auto;
}


/* ---------- Routes — Özet tab ---------- */

.bm-route-map-card {
    position: relative;
    padding: 0;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
/* Pair toggle legend item'ı (TomTom'un tt-map-legends içine JS ile taşınır) */
.bm-route-legend-item {
    display: inline-flex; align-items: center; gap: 6px;
    cursor: pointer; margin: 0;
}
.bm-route-legend-item input[type="checkbox"] { cursor: pointer; margin: 0; }

.bm-route-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .5rem;
}
@media (max-width: 1199.98px) {
    .bm-route-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .bm-route-stat-grid { grid-template-columns: 1fr; }
}
.bm-route-stat {
    display: flex; align-items: center; gap: .6rem;
    padding: .55rem .75rem;
    background: #fff; border: 1px solid #e9ecef; border-radius: 10px;
}
.bm-route-stat .bm-route-stat-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px;
    border-radius: 8px;
    background: #f1f3f5; color: #495057;
    flex: 0 0 auto;
}
.bm-route-stat .bm-route-stat-icon .material-symbols-rounded { font-size: 18px; }
.bm-route-stat .bm-route-stat-body { min-width: 0; }
.bm-route-stat .bm-route-stat-label {
    display: block; font-size: .7rem;
    color: #6c757d; text-transform: uppercase; letter-spacing: .03em;
    line-height: 1.1;
}
.bm-route-stat .bm-route-stat-value {
    display: block; font-size: .95rem; font-weight: 600; color: #212529;
    line-height: 1.25;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.bm-route-section-title {
    display: flex; align-items: center; gap: .4rem;
    margin: 1rem 0 .5rem;
    font-size: .82rem; font-weight: 600; color: #6c757d;
    text-transform: uppercase; letter-spacing: .04em;
}
.bm-route-section-title .bm-route-section-line {
    flex: 1 1 auto; height: 1px; background: #e9ecef;
}
.bm-route-section-title .route-badge { margin-left: .25rem; }


/* ---------- Routes — İstasyonlar tab ---------- */

.bm-route-stations-box {
    display: flex; flex-direction: column;
    height: 100%;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}
.bm-route-stations-head {
    display: flex; align-items: center; justify-content: space-between;
    gap: .5rem; flex-wrap: wrap;
    padding: .6rem .85rem;
    background: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
}
.bm-route-stations-head .bm-rs-title {
    display: inline-flex; align-items: center; gap: .4rem;
    font-weight: 600; font-size: .92rem;
}
.bm-route-stations-head .bm-rs-title .material-symbols-rounded {
    font-size: 18px; color: #6c757d;
}
.bm-route-stations-head .bm-rs-count {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 2px 8px;
    font-size: .72rem; font-weight: 500;
    color: #495057; background: #e9ecef; border-radius: 999px;
}

.bm-route-stations-empty {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center;
    padding: 2rem 1rem;
    min-height: 220px;
    color: #6c757d;
}
.bm-route-stations-empty .bm-empty-ic {
    display: inline-flex; align-items: center; justify-content: center;
    width: 56px; height: 56px;
    border-radius: 50%;
    background: #f1f3f5; color: #adb5bd;
    margin-bottom: .75rem;
}
.bm-route-stations-empty .bm-empty-ic .material-symbols-rounded { font-size: 30px; }
.bm-route-stations-empty .bm-empty-title { font-weight: 600; color: #212529; margin-bottom: .2rem; }
.bm-route-stations-empty .bm-empty-sub { font-size: .85rem; }


/* ---------- Routes — Ayarlar tab ---------- */

.bm-rs-card {
    display: flex; flex-direction: column;
    height: 100%;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}
.bm-rs-card-head {
    display: flex; align-items: center; justify-content: space-between;
    gap: .5rem;
    padding: .6rem .85rem;
    background: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
    font-weight: 600; font-size: .92rem;
}
.bm-rs-card-body {
    flex: 1 1 auto;
    overflow-y: auto; overflow-x: hidden;
    padding: .5rem;
}

/* Filo listesi */
#fleet-tablist.bm-fleet-list { display: flex; flex-direction: column; gap: 4px; }
#fleet-tablist .fleet-link {
    display: flex; align-items: center; gap: .5rem;
    padding: .5rem .65rem;
    background: #fff; color: #212529;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    cursor: pointer; text-align: left;
    transition: background-color .15s, border-color .15s;
}
#fleet-tablist .fleet-link:hover {
    background: #f8f9fa; border-color: #ced4da;
}
#fleet-tablist .fleet-link.active,
#fleet-tablist .info-box.active .fleet-link,
#fleet-tablist .info-box.active {
    background: rgba(var(--bs-primary-rgb, 138, 13, 30), .08) !important;
    border-color: rgba(var(--bs-primary-rgb, 138, 13, 30), .35) !important;
    color: var(--bs-primary, #8a0d1e) !important;
}
#fleet-tablist .fleet-link .bm-fleet-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px;
    border-radius: 6px;
    background: #f1f3f5; color: #6c757d;
    flex: 0 0 auto;
}
#fleet-tablist .fleet-link .bm-fleet-icon .material-symbols-rounded { font-size: 18px; }
#fleet-tablist .fleet-link.active .bm-fleet-icon {
    background: rgba(var(--bs-primary-rgb, 138, 13, 30), .18);
    color: var(--bs-primary, #8a0d1e);
}
#fleet-tablist .fleet-link .bm-fleet-name {
    flex: 1 1 auto; min-width: 0;
    font-weight: 500;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
#fleet-tablist .fleet-link .bm-fleet-count {
    display: inline-flex; align-items: center;
    padding: 1px 7px;
    font-size: .7rem; font-weight: 600;
    color: #495057; background: #e9ecef; border-radius: 999px;
}
#fleet-tablist .fleet-link.fleet-link-unassigned {
    border-color: #ffe082; background: #fff8e1;
}
#fleet-tablist .fleet-link.fleet-link-unassigned:hover { background: #fff2b8; }
#fleet-tablist .fleet-link.fleet-link-unassigned .bm-fleet-icon {
    background: #ffe7a3; color: #8a6500;
}

/* Araç satırı — Routes Settings varyantı */
.bm-rv-row {
    display: flex !important; align-items: center;
    gap: .3rem;
    padding: .3rem .45rem;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    background: #fff;
    margin-bottom: .15rem;
}
.bm-rv-row .switch { margin: 0; flex: 0 0 auto; }
.bm-rv-main { flex: 1 1 auto; min-width: 0; }
.bm-rv-line1 {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: .25rem .4rem;
}
.bm-rv-name {
    font-weight: 600; font-size: .88rem;
    line-height: 1.25;
    min-width: 0;
    word-break: break-word; overflow-wrap: anywhere;
}
.bm-rv-line2 {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: .25rem .65rem;
    margin-top: 2px;
    font-size: .72rem; color: #6c757d; line-height: 1.3;
}
.bm-rv-versions { display: inline-flex; align-items: center; gap: 3px; }
.bm-rv-versions .badge { padding: 1px 6px; font-size: .68rem; font-weight: 600; }
.bm-rv-versions .bm-rv-arrow { color: #adb5bd; font-weight: 700; }

.bm-rv-row .bm-status-badge { font-size: .65rem; padding: 2px 6px; line-height: 1.2; }
.bm-rv-row .bm-warning-line {
    display: inline-flex; align-items: center;
    font-size: .68rem; gap: 2px; color: #b02a37;
}
.bm-rv-row .bm-warning-line .material-symbols-rounded { font-size: 14px; }

/* Empty */
.bm-rs-empty {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center; text-align: center;
    padding: 2.5rem 1rem;
    color: #6c757d; min-height: 240px;
}
.bm-rs-empty .bm-empty-ic {
    display: inline-flex; align-items: center; justify-content: center;
    width: 60px; height: 60px;
    border-radius: 50%; background: #f1f3f5; color: #adb5bd;
    margin-bottom: .75rem;
}
.bm-rs-empty .bm-empty-ic .material-symbols-rounded { font-size: 32px; }
.bm-rs-empty .bm-empty-title { font-weight: 600; color: #212529; margin-bottom: .2rem; }
.bm-rs-empty .bm-empty-sub { font-size: .85rem; }


/* ---------- Clone sayfası ---------- */

.bm-clone-wrap {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 14px;
    padding: 1.1rem 1.25rem;
}

.bm-clone-hero {
    display: flex; align-items: center; gap: .85rem;
    padding: .75rem 1rem;
    margin-bottom: 1.1rem;
    background: rgba(var(--bs-primary-rgb, 138, 13, 30), .06);
    border: 1px solid rgba(var(--bs-primary-rgb, 138, 13, 30), .18);
    border-radius: 10px;
}
.bm-clone-hero .bm-clone-hero-icon {
    flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center;
    width: 42px; height: 42px;
    border-radius: 50%;
    background: rgba(var(--bs-primary-rgb, 138, 13, 30), .15);
    color: var(--bs-primary, #8a0d1e);
}
.bm-clone-hero .bm-clone-hero-icon .material-symbols-rounded { font-size: 22px; }
.bm-clone-hero .bm-clone-hero-body { min-width: 0; }
.bm-clone-hero .bm-clone-hero-title { font-weight: 600; color: #212529; margin-bottom: 1px; }
.bm-clone-hero .bm-clone-hero-desc { font-size: .84rem; color: #495057; }

/* Kaynak → Hedef akışı */
.bm-clone-flow {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: .8rem;
    align-items: end;
}
.bm-clone-flow .bm-clone-arrow {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 38px;
    margin-bottom: 4px;
    border-radius: 50%;
    background: #f1f3f5; color: #6c757d;
}
.bm-clone-flow .bm-clone-arrow .material-symbols-rounded { font-size: 22px; }
@media (max-width: 767.98px) {
    .bm-clone-flow { grid-template-columns: 1fr; }
    .bm-clone-flow .bm-clone-arrow {
        transform: rotate(90deg);
        justify-self: center;
        margin: 0;
    }
}

.bm-clone-field-label {
    display: flex; align-items: center; gap: 6px;
    font-weight: 600; margin-bottom: .35rem; color: #212529;
}
.bm-clone-field-label .bm-clone-pill {
    display: inline-flex; align-items: center;
    padding: 1px 8px;
    font-size: .65rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .04em;
    border-radius: 999px;
}
.bm-clone-field-label .bm-clone-pill.is-source {
    color: var(--bs-primary, #8a0d1e);
    background: rgba(var(--bs-primary-rgb, 138, 13, 30), .10);
    border: 1px solid rgba(var(--bs-primary-rgb, 138, 13, 30), .30);
}
.bm-clone-field-label .bm-clone-pill.is-target {
    color: #0a6e3a; background: #e6f5ec; border: 1px solid #b7e0c5;
}

.bm-clone-scope-title {
    font-weight: 600; color: #212529;
    margin: 1rem 0 .4rem;
}
.bm-clone-scope-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}
@media (max-width: 575.98px) { .bm-clone-scope-grid { grid-template-columns: 1fr; } }
.bm-clone-scope-chip {
    display: flex; align-items: center; gap: .6rem;
    padding: .55rem .75rem;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: background-color .15s, border-color .15s;
}
.bm-clone-scope-chip:hover { background: #f8f9fa; border-color: #ced4da; }
.bm-clone-scope-chip .form-check-input { margin: 0; flex: 0 0 auto; }
.bm-clone-scope-chip .bm-clone-scope-ic {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; border-radius: 8px;
    background: #f1f3f5; color: #495057;
    flex: 0 0 auto;
}
.bm-clone-scope-chip .bm-clone-scope-ic .material-symbols-rounded { font-size: 18px; }
.bm-clone-scope-chip .bm-clone-scope-body { min-width: 0; flex: 1 1 auto; }
.bm-clone-scope-chip .bm-clone-scope-name {
    font-weight: 600; color: #212529;
    display: block; line-height: 1.2;
}
.bm-clone-scope-chip .bm-clone-scope-desc { font-size: .75rem; color: #6c757d; }
.bm-clone-scope-chip.is-checked {
    background: rgba(var(--bs-primary-rgb, 138, 13, 30), .06);
    border-color: rgba(var(--bs-primary-rgb, 138, 13, 30), .35);
}
.bm-clone-scope-chip.is-checked .bm-clone-scope-ic {
    background: rgba(var(--bs-primary-rgb, 138, 13, 30), .15);
    color: var(--bs-primary, #8a0d1e);
}

.bm-clone-actions {
    display: flex; justify-content: flex-end;
    margin-top: 1.1rem; padding-top: .8rem;
    border-top: 1px solid #e9ecef;
}

.bm-clone-empty {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center; text-align: center;
    padding: 3rem 1.5rem;
    background: #fff;
    border: 1px dashed #d8dde2;
    border-radius: 14px;
    min-height: 280px;
}
.bm-clone-empty .bm-empty-ic {
    display: inline-flex; align-items: center; justify-content: center;
    width: 72px; height: 72px;
    border-radius: 50%;
    background: #f1f3f5; color: #adb5bd;
    margin-bottom: 1rem;
}
.bm-clone-empty .bm-empty-ic .material-symbols-rounded { font-size: 38px; }
.bm-clone-empty .bm-empty-title { font-weight: 600; color: #212529; margin-bottom: .35rem; font-size: 1.05rem; }
.bm-clone-empty .bm-empty-desc { color: #6c757d; font-size: .9rem; max-width: 460px; }

/* Overlay */
.clone-lock-overlay {
    position: fixed; inset: 0; z-index: 3000;
    background: rgba(33, 37, 41, .55);
    backdrop-filter: blur(2px);
    display: flex; align-items: center; justify-content: center;
}
.clone-lock-content {
    display: flex; flex-direction: column; align-items: center;
    gap: .5rem;
    padding: 1.4rem 1.75rem;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .25);
    min-width: 260px; text-align: center;
}
.clone-lock-content .spinner-border { color: var(--bs-primary, #8a0d1e); }
.clone-lock-content .bm-clone-lock-title { font-weight: 600; color: #212529; }
.clone-lock-content .bm-clone-lock-sub { color: #6c757d; font-size: .85rem; }

/* Kaynak araç özet paneli */
.bm-clone-preview {
    margin-top: 1rem;
    padding: .8rem 1rem;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 10px;
}
.bm-clone-preview-title {
    display: flex; align-items: center; gap: 6px;
    font-size: .78rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: .04em;
    color: #6c757d; margin-bottom: .6rem;
}
.bm-clone-preview-stats {
    display: flex; flex-wrap: wrap; gap: .45rem;
    margin-bottom: .65rem;
}
.bm-clone-preview-stat {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 10px;
    background: #fff; border: 1px solid #e9ecef;
    border-radius: 999px; font-size: .8rem;
}
.bm-clone-preview-stat .material-symbols-rounded { font-size: 16px; color: #6c757d; }
.bm-clone-preview-stat .bm-stat-value { font-weight: 600; color: #212529; }
.bm-clone-preview-section { margin-top: .5rem; }
.bm-clone-preview-section .bm-section-head {
    display: flex; align-items: center; gap: 4px;
    font-size: .72rem; font-weight: 600;
    color: #495057;
    text-transform: uppercase; letter-spacing: .03em;
    margin-bottom: 4px;
}
.bm-clone-preview-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.bm-clone-preview-chip {
    display: inline-flex; align-items: center; gap: 4px;
    max-width: 100%;
    padding: 2px 8px;
    background: #fff; border: 1px solid #e9ecef;
    border-radius: 6px; font-size: .75rem;
}
.bm-clone-preview-chip .material-symbols-rounded { font-size: 14px; color: #6c757d; }
.bm-clone-preview-chip .bm-chip-text {
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    max-width: 220px;
}
.bm-clone-preview-empty { font-size: .8rem; color: #6c757d; font-style: italic; }
.bm-clone-preview-loading {
    display: flex; align-items: center; gap: 8px;
    font-size: .85rem; color: #6c757d;
}
