/* ============================================================
   Yayinla.net — "Vantage Admin" Teması v2.0
   Yönetim paneli için sıfırdan yazılmış tasarım sistemi.
   · Koyu mürekkep-lacivert sidebar + açık içerik alanı
   · Yoğun veri tablosu estetiği (editörler için okunabilirlik)
   · Kırmızı aksan yalnızca acil/uyarı bağlamlarında
   ============================================================ */

:root {
    --ad-ink: #1a1f2a;
    --ad-ink-soft: #5a6373;
    --ad-ink-faint: #929bab;
    --ad-bg: #f2f3f6;
    --ad-elev: #ffffff;
    --ad-brand: #1b2a44;
    --ad-brand-deep: #101827;
    --ad-brand-hover: #22345a;
    --ad-red: #d81f2a;
    --ad-green: #17864f;
    --ad-amber: #b3721a;
    --ad-border: #e3e5ea;
    --ad-border-strong: #d2d5dd;
    --ad-sidebar-w: 252px;
    --ad-radius: 12px;
    --ad-radius-sm: 8px;
    --ad-shadow-sm: 0 1px 2px rgba(16, 24, 39, .06), 0 1px 6px rgba(16, 24, 39, .05);
    --ad-shadow: 0 8px 24px rgba(16, 24, 39, .10), 0 2px 6px rgba(16, 24, 39, .05);
    --ad-trans: .18s cubic-bezier(.2, .6, .3, 1);
}

/* ---------- TEMEL ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.admin-body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    background: var(--ad-bg);
    color: var(--ad-ink);
    font-size: .9rem;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-weight: 700; letter-spacing: -.01em; color: var(--ad-ink); }
a { color: var(--ad-brand); }
::selection { background: var(--ad-red); color: #fff; }
* { scrollbar-width: thin; scrollbar-color: var(--ad-border-strong) transparent; }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-thumb { background: var(--ad-border-strong); border-radius: 8px; }

/* ---------- YERLEŞİM ---------- */
.admin-wrapper { display: flex; min-height: 100vh; }
.admin-sidebar {
    width: var(--ad-sidebar-w);
    flex-shrink: 0;
    background: linear-gradient(180deg, var(--ad-brand-deep) 0%, #0c1422 100%);
    color: #c2cad8;
    position: sticky; top: 0;
    height: 100vh;
    overflow-y: auto;
    z-index: 1030;
    display: flex; flex-direction: column;
}
.sidebar-brand { border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-mark {
    font-family: "Iowan Old Style", Georgia, "Times New Roman", serif;
    font-weight: 700; font-size: 1.32rem; color: #fff; letter-spacing: -.01em;
}
.brand-mark .dot { color: #ff5158; }
.sidebar-nav { flex: 1; padding: .7rem .55rem; }
.sidebar-nav .nav-link {
    color: #97a2b5;
    font-size: .83rem;
    font-weight: 600;
    padding: .48rem .7rem;
    border-radius: var(--ad-radius-sm);
    display: flex; align-items: center; gap: .55rem;
    margin-bottom: 1px;
    position: relative;
    transition: background var(--ad-trans), color var(--ad-trans);
    white-space: nowrap;
}
.sidebar-nav .nav-link .bi { font-size: .98rem; width: 20px; text-align: center; flex-shrink: 0; }
.sidebar-nav .nav-link:hover { color: #fff; background: rgba(255,255,255,.07); }
.sidebar-nav .nav-link.active {
    color: #fff;
    background: linear-gradient(90deg, rgba(216,31,42,.24), rgba(216,31,42,.10));
    font-weight: 700;
}
.sidebar-nav .nav-link.active::before {
    content: ""; position: absolute; left: 0; top: 22%; bottom: 22%;
    width: 3px; border-radius: 3px; background: var(--ad-red);
}
.sidebar-heading { letter-spacing: .13em; text-transform: uppercase; opacity: .55; font-weight: 700; }

.admin-main {
    flex: 1;
    min-width: 0;
    display: flex; flex-direction: column;
}
.admin-topbar {
    background: var(--ad-elev);
    border-bottom: 1px solid var(--ad-border);
    position: sticky; top: 0; z-index: 1020;
    min-height: 54px;
}
.admin-content { flex: 1; max-width: 1400px; }

/* ---------- KARTLAR & FORMLAR ---------- */
.admin-body .card {
    border-color: var(--ad-border);
    border-radius: var(--ad-radius);
    box-shadow: var(--ad-shadow-sm);
    background: var(--ad-elev);
}
.admin-body .card-header { background: transparent; border-bottom-color: var(--ad-border); font-weight: 700; }
.admin-card { overflow: hidden; }
.admin-body .form-control, .admin-body .form-select {
    border-color: var(--ad-border-strong);
    border-radius: var(--ad-radius-sm);
    font-size: .875rem;
    background: var(--ad-elev); color: var(--ad-ink);
}
.admin-body .form-control:focus, .admin-body .form-select:focus {
    border-color: var(--ad-brand);
    box-shadow: 0 0 0 .18rem rgba(27, 42, 68, .13);
}
.admin-body .form-label { font-weight: 600; font-size: .8rem; color: var(--ad-ink-soft); }
.admin-body .btn { border-radius: var(--ad-radius-sm); font-weight: 600; }
.admin-body .btn-primary { --bs-btn-bg: var(--ad-brand); --bs-btn-border-color: var(--ad-brand); --bs-btn-hover-bg: var(--ad-brand-hover); --bs-btn-hover-border-color: var(--ad-brand-hover); }
.admin-body .btn-outline-primary { --bs-btn-color: var(--ad-brand); --bs-btn-border-color: var(--ad-border-strong); --bs-btn-hover-bg: var(--ad-brand); --bs-btn-hover-border-color: var(--ad-brand); }
.admin-body .btn-danger { --bs-btn-bg: var(--ad-red); --bs-btn-border-color: var(--ad-red); }
.admin-body .btn-outline-secondary { --bs-btn-color: var(--ad-ink-soft); --bs-btn-border-color: var(--ad-border-strong); --bs-btn-hover-bg: var(--ad-bg); --bs-btn-hover-color: var(--ad-ink); --bs-btn-hover-border-color: var(--ad-border-strong); }

/* ---------- TABLOLAR ---------- */
.admin-body .table {
    font-size: .865rem;
    margin-bottom: 0;
}
.admin-body .table thead th {
    background: var(--ad-bg);
    color: var(--ad-ink-soft);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    border-bottom: 1px solid var(--ad-border);
    padding: .65rem .75rem;
    white-space: nowrap;
}
.admin-body .table tbody td { padding: .6rem .75rem; vertical-align: middle; border-color: var(--ad-border); }
.admin-body .table-hover tbody tr { transition: background var(--ad-trans); }
.admin-body .table-hover tbody tr:hover { background: #f6f8fb; }
.admin-body .badge { font-weight: 700; }

/* ---------- HABER LİSTESİ ÖZEL ---------- */
.admin-status-tabs { flex-wrap: nowrap; }
.admin-status-tabs .nav-link {
    color: var(--ad-ink-soft);
    font-size: .8rem;
    font-weight: 600;
    padding: .34rem .75rem;
    border-radius: 999px;
    border: 1px solid transparent;
    white-space: nowrap;
    transition: all var(--ad-trans);
}
.admin-status-tabs .nav-link:hover { color: var(--ad-ink); background: #e9ecf2; }
.admin-status-tabs .nav-link.active {
    color: #fff !important;
    background: var(--ad-brand) !important;
    font-weight: 700;
}
.admin-status-tabs .count {
    background: rgba(0,0,0,.08);
    border-radius: 999px;
    font-size: .68rem;
    padding: .05rem .4rem;
    margin-left: .3rem;
    font-variant-numeric: tabular-nums;
}
.admin-status-tabs .nav-link.active .count { background: rgba(255,255,255,.2); }
.admin-news-thumb { width: 56px; height: 40px; background: #e9ecf2; border-radius: 6px; }
.admin-news-thumb-art {
    display: flex; align-items: center; justify-content: center;
    width: 56px; height: 40px; color: #a6adbb; font-size: .95rem;
}
.admin-empty { border-style: dashed !important; border-width: 1.5px !important; }

/* ---------- MİSAFİR OFFCANVAS (mobil menü) ---------- */
.admin-offcanvas { background: var(--ad-brand-deep); border: 0; width: 268px !important; }
.admin-offcanvas .nav-link { color: #aab4c6; }
.admin-offcanvas .nav-link.active { color: #fff; background: rgba(216,31,42,.2); }
.sidebar-backdrop { display: none; }

/* ---------- ÇEŞİTLİ ---------- */
.admin-body .alert { border-radius: var(--ad-radius-sm); }
.admin-body .pagination { --bs-pagination-active-bg: var(--ad-brand); --bs-pagination-active-border-color: var(--ad-brand); --bs-pagination-color: var(--ad-ink-soft); --bs-pagination-hover-color: var(--ad-ink); --bs-pagination-hover-bg: var(--ad-bg); --bs-pagination-hover-border-color: var(--ad-border-strong); margin-bottom: 0; }
.admin-body .dropdown-menu { border-color: var(--ad-border); border-radius: var(--ad-radius-sm); box-shadow: var(--ad-shadow); }
.admin-body .modal-content { border-radius: var(--ad-radius); border: 1px solid var(--ad-border); }
.quick-actions .btn { white-space: nowrap; }
.min-w-0 { min-width: 0; }

@media (max-width: 991.98px) {
    .admin-sidebar { display: none; }
    .admin-content { max-width: none; }
}
@media print {
    .admin-sidebar, .admin-topbar, .btn, .quick-actions { display: none !important; }
    body.admin-body { background: #fff; }
}

/* ---------- ROZET KÖPRÜSÜ: site temasıyla paylaşılan rozetler ---------- */
.category-chip {
    background: color-mix(in srgb, var(--chip, #0d6efd) 12%, #fff);
    color: color-mix(in srgb, var(--chip, #0d6efd) 88%, #1a1f2a);
    border: 1px solid color-mix(in srgb, var(--chip, #0d6efd) 30%, transparent);
    font-weight: 700;
}
.badge-verify { font-size: .68rem; letter-spacing: .01em; }
.badge-breaking { background: var(--ad-red) !important; color: #fff; text-transform: uppercase; }
.admin-body .badge.text-bg-success-subtle { color: var(--ad-green) !important; }
.admin-body .badge.text-bg-info-subtle { color: #0d6efd !important; }
.admin-body .badge.text-bg-warning-subtle { color: var(--ad-amber) !important; }
.admin-body .status-chip {
    border-radius: 999px; font-size: .68rem; font-weight: 800;
    letter-spacing: .04em; text-transform: uppercase; padding: .28rem .6rem;
}
.admin-body .badge a, .admin-body .badge { text-decoration: none; }
.ad-slot { background: var(--ad-bg); border: 1px dashed var(--ad-border-strong); border-radius: var(--ad-radius-sm); padding: .8rem; text-align: center; color: var(--ad-ink-faint); font-size: .78rem; }

/* ---------- BİLDİRİLEN İÇERİKLER — MODERASYON KUYRUĞU ---------- */
.rpq-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; margin: 1rem 0 .8rem; }
.rpq-stat {
    display: flex; align-items: center; gap: .6rem;
    background: var(--ad-elev); border: 1px solid var(--ad-border);
    border-radius: var(--ad-radius); padding: .6rem .8rem;
    text-decoration: none; color: var(--ad-ink);
    box-shadow: var(--ad-shadow-sm);
    transition: transform var(--ad-trans), box-shadow var(--ad-trans), border-color var(--ad-trans);
}
.rpq-stat:hover { transform: translateY(-2px); box-shadow: var(--ad-shadow); text-decoration: none; }
.rpq-stat.is-active { border-color: var(--ad-brand); outline: 2px solid rgba(27, 42, 68, .14); }
.rpq-stat-ic {
    width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0;
    display: grid; place-items: center; font-size: .95rem;
}
.rpq-stat.is-danger .rpq-stat-ic { background: rgba(216, 31, 42, .12); color: var(--ad-red); }
.rpq-stat.is-warn .rpq-stat-ic { background: rgba(179, 114, 26, .13); color: var(--ad-amber); }
.rpq-stat.is-ok .rpq-stat-ic { background: rgba(23, 134, 79, .12); color: var(--ad-green); }
.rpq-stat.is-off .rpq-stat-ic { background: rgba(90, 99, 115, .12); color: var(--ad-ink-soft); }
.rpq-stat-body { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.rpq-stat-body b { font-size: 1.18rem; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.rpq-stat-body small { color: var(--ad-ink-soft); font-weight: 600; font-size: .72rem; }
.rpq-stat-extra {
    margin-left: auto; font-size: .64rem; font-weight: 800; letter-spacing: .04em;
    color: var(--ad-red); background: rgba(216, 31, 42, .08);
    border: 1px solid rgba(216, 31, 42, .22); border-radius: 999px; padding: .12rem .45rem;
    white-space: nowrap;
}
.rpq-filters { display: flex; align-items: end; gap: .5rem; flex-wrap: wrap; margin-bottom: .8rem; }
.rpq-filter { display: flex; flex-direction: column; gap: .18rem; }
.rpq-filter span { font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; color: var(--ad-ink-soft); }
.rpq-total { color: var(--ad-ink-faint); font-size: .78rem; font-weight: 600; padding-bottom: .4rem; }
.rpq-list { display: grid; gap: .55rem; }
.rpq-item {
    background: var(--ad-elev); border: 1px solid var(--ad-border); border-radius: var(--ad-radius);
    padding: .65rem .8rem; box-shadow: var(--ad-shadow-sm);
    border-left-width: 3px;
    transition: box-shadow var(--ad-trans), border-color var(--ad-trans);
}
.rpq-item:hover { box-shadow: var(--ad-shadow); }
.rpq-item.is-high { border-left-color: var(--ad-red); }
.rpq-item.is-mid { border-left-color: var(--ad-amber); }
.rpq-item.is-low { border-left-color: var(--ad-ink-faint); }
.rpq-item.is-resolved, .rpq-item.is-dismissed { opacity: .72; }
.rpq-item-head { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .4rem; }
.rpq-reason {
    display: inline-flex; align-items: center; gap: .3rem;
    font-size: .72rem; font-weight: 800; letter-spacing: .02em;
    border-radius: 999px; padding: .16rem .6rem;
}
.rpq-reason-high { background: rgba(216, 31, 42, .1); color: var(--ad-red); border: 1px solid rgba(216, 31, 42, .25); }
.rpq-reason-mid { background: rgba(179, 114, 26, .11); color: var(--ad-amber); border: 1px solid rgba(179, 114, 26, .28); }
.rpq-reason-low { background: rgba(90, 99, 115, .1); color: var(--ad-ink-soft); border: 1px solid var(--ad-border-strong); }
.rpq-meta { color: var(--ad-ink-faint); font-size: .74rem; font-variant-numeric: tabular-nums; }
.rpq-multi {
    display: inline-flex; align-items: center; gap: .25rem;
    font-size: .66rem; font-weight: 800; color: var(--ad-red);
    background: rgba(216, 31, 42, .08); border: 1px dashed rgba(216, 31, 42, .35);
    border-radius: 999px; padding: .1rem .45rem;
}
.rpq-status { margin-left: auto; font-size: .64rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; border-radius: 999px; padding: .18rem .55rem; }
.rpq-status-open { background: rgba(216, 31, 42, .1); color: var(--ad-red); }
.rpq-status-reviewing { background: rgba(179, 114, 26, .12); color: var(--ad-amber); }
.rpq-status-resolved { background: rgba(23, 134, 79, .11); color: var(--ad-green); }
.rpq-status-dismissed { background: rgba(90, 99, 115, .12); color: var(--ad-ink-soft); }
.rpq-item-body { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: .8rem; }
.rpq-target-label { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; margin-bottom: .25rem; }
.rpq-target-snippet {
    margin: 0 0 .3rem; font-size: .84rem; line-height: 1.5;
    color: var(--ad-ink); overflow-wrap: anywhere;
}
.rpq-target-link { font-size: .74rem; font-weight: 700; text-decoration: none; }
.rpq-target-link:hover { text-decoration: underline; }
.rpq-aside {
    border-left: 1px solid var(--ad-border); padding-left: .8rem;
    font-size: .76rem; min-width: 0;
}
.rpq-reporter { display: flex; align-items: center; gap: .3rem; font-weight: 600; margin-bottom: .2rem; }
.rpq-desc { margin: 0; color: var(--ad-ink-soft); font-size: .74rem; overflow-wrap: anywhere; }
.rpq-item-foot { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; margin-top: .55rem; padding-top: .5rem; border-top: 1px dashed var(--ad-border); }
.rpq-handled { display: inline-flex; align-items: center; gap: .35rem; font-size: .76rem; font-weight: 600; color: var(--ad-ink-soft); }
.rpq-empty {
    border: 1.5px dashed var(--ad-border-strong); border-radius: var(--ad-radius);
    padding: 2rem; text-align: center; color: var(--ad-ink-faint);
    font-size: .85rem; background: var(--ad-elev);
}
.rpq-empty .bi { font-size: 1.4rem; display: block; margin-bottom: .4rem; }
@media (max-width: 767.98px) {
    .rpq-stats { grid-template-columns: repeat(2, 1fr); }
    .rpq-item-body { grid-template-columns: 1fr; }
    .rpq-aside { border-left: 0; padding-left: 0; border-top: 1px dashed var(--ad-border); padding-top: .5rem; }
    .rpq-status { margin-left: 0; }
}

/* ============================================================
   v3.8 — Rapor kuyruğu: TOPLU İŞLEM çubuğu + moderatör notu
   ============================================================ */
.rpq-check { display: inline-grid; place-items: center; margin-right: .1rem; cursor: pointer; }
.rpq-check .form-check-input {
    width: 1.05rem; height: 1.05rem; margin: 0; cursor: pointer;
    border-color: var(--ad-border-strong);
    transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.rpq-check .form-check-input:hover { border-color: var(--ad-brand); }
.rpq-check .form-check-input:checked { background-color: var(--ad-brand); border-color: var(--ad-brand); }
.rpq-check .form-check-input:focus-visible { box-shadow: 0 0 0 3px rgba(27, 42, 68, .18); }

.rpq-bulk {
    display: flex; align-items: center; gap: .6rem; flex-wrap: wrap;
    border: 1px solid var(--ad-border); border-left: 3px solid var(--ad-border-strong);
    border-radius: var(--ad-radius); background: var(--ad-elev);
    padding: .55rem .75rem; margin: .2rem 0 .7rem;
    transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.rpq-bulk.is-active {
    border-left-color: var(--ad-brand);
    background: color-mix(in srgb, var(--ad-brand) 5%, var(--ad-elev));
    box-shadow: 0 6px 18px rgba(27, 42, 68, .1);
}
.rpq-bulk-all { display: inline-flex; align-items: center; gap: .35rem; font-size: .74rem; font-weight: 800; cursor: pointer; user-select: none; }
.rpq-bulk-all .form-check-input { width: 1.05rem; height: 1.05rem; margin: 0; cursor: pointer; }
.rpq-bulk-count {
    font-size: .72rem; font-weight: 800; font-variant-numeric: tabular-nums;
    color: var(--ad-ink-faint); white-space: nowrap;
    border: 1px dashed var(--ad-border-strong); border-radius: 999px; padding: .14rem .55rem;
    transition: color .2s, border-color .2s, background-color .2s;
}
.rpq-bulk.is-active .rpq-bulk-count { color: var(--ad-brand); border-color: var(--ad-brand); background: rgba(27, 42, 68, .07); }
.rpq-bulk-note { flex: 1 1 220px; min-width: 0; font-size: .8rem; border-color: var(--ad-border); }
.rpq-bulk-note:focus { border-color: var(--ad-brand); box-shadow: 0 0 0 3px rgba(27, 42, 68, .12); }
.rpq-bulk-btns { display: inline-flex; gap: .35rem; flex-wrap: wrap; }
.rpq-bulk-btns .btn[disabled] { pointer-events: none; opacity: .5; }

.rpq-noteview {
    display: flex; align-items: flex-start; gap: .4rem;
    margin: .5rem 0 0; padding: .45rem .6rem;
    font-size: .76rem; line-height: 1.45; color: var(--ad-ink-soft);
    background: color-mix(in srgb, var(--ad-amber) 7%, transparent);
    border: 1px dashed color-mix(in srgb, var(--ad-amber) 40%, transparent);
    border-radius: var(--ad-radius-sm);
    overflow-wrap: anywhere;
}
.rpq-noteview .bi { flex-shrink: 0; margin-top: .05rem; color: var(--ad-amber); }
.rpq-noteview b { color: var(--ad-ink); font-weight: 700; }

.rpq-act { display: flex; align-items: flex-end; gap: .5rem; flex-wrap: wrap; width: 100%; }
.rpq-note {
    flex: 1 1 200px; min-width: 0; resize: vertical;
    border: 1px solid var(--ad-border); border-radius: var(--ad-radius-sm);
    background: var(--ad-bg); color: var(--ad-ink);
    font-size: .76rem; line-height: 1.4; padding: .35rem .55rem;
    transition: border-color .15s, box-shadow .15s;
}
.rpq-note::placeholder { color: var(--ad-ink-faint); }
.rpq-note:focus { outline: none; border-color: var(--ad-brand); box-shadow: 0 0 0 3px rgba(27, 42, 68, .1); }
.rpq-act-btns { display: inline-flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.rpq-item .rpq-item-foot { display: block; }
.rpq-item .rpq-item-foot .rpq-handled { display: inline-flex; }

@media (max-width: 767.98px) {
    .rpq-bulk { align-items: stretch; flex-direction: column; }
    .rpq-bulk-note { flex-basis: auto; }
    .rpq-bulk-btns { justify-content: stretch; }
    .rpq-bulk-btns .btn { flex: 1 1 auto; }
    .rpq-act { align-items: stretch; flex-direction: column; }
    .rpq-act-btns .btn { flex: 1 1 auto; justify-content: center; }
}

/* ============================================================
   v4.0 — DASHBOARD GRAFİK DÜZENEĞİ
   ============================================================ */
.ad-chart-card { border-top: 3px solid var(--ad-brand); border-radius: var(--ad-radius); transition: box-shadow var(--ad-trans), transform var(--ad-trans); }
.ad-chart-card:hover { box-shadow: var(--ad-shadow); }
.ad-chart-card:nth-child(2), .col-lg-4 .ad-chart-card { border-top-color: var(--ad-red); }
.ad-chart-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap; margin-bottom: .65rem; }
.ad-chart-head .bi { color: var(--ad-red); margin-right: .3rem; }
.ad-chart-sub { font-weight: 600; font-size: .68rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ad-ink-faint); margin-left: .35rem; }
.ad-chart-sum { font-size: .74rem; font-weight: 800; color: var(--ad-brand); background: rgba(27, 42, 68, .07); padding: .2rem .6rem; border-radius: 999px; white-space: nowrap; }
.ad-chart-badge { font-size: .72rem; font-weight: 800; color: var(--ad-green); background: rgba(23, 134, 79, .1); padding: .2rem .6rem; border-radius: 999px; white-space: nowrap; }
.ad-chart-badge.is-hot { color: var(--ad-red); background: rgba(216, 31, 42, .09); }
.ad-chart-box { position: relative; height: 240px; }
.ad-chart-box.is-sm { height: 190px; }
.ad-chart-box.is-sq { height: 200px; }
.ad-chart-empty {
    height: 140px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .4rem;
    color: var(--ad-ink-faint); font-size: .8rem; text-align: center;
    border: 1.5px dashed var(--ad-border-strong); border-radius: var(--ad-radius-sm);
}
.ad-chart-empty .bi { font-size: 1.4rem; color: var(--ad-green); }
@media (max-width: 991.98px) {
    .ad-chart-box { height: 210px; }
    .ad-chart-box.is-sm, .ad-chart-box.is-sq { height: 180px; }
}

/* v5.3 — Kategori modülleri panosu: MODÜL ibaresi + veri kaynağı çipi */
.admin-mod-tag {
    display: inline-block; vertical-align: 1px; margin-left: .35rem;
    font-size: .54rem; font-weight: 800; letter-spacing: .12em;
    color: var(--ad-brand, #1b2a44); background: color-mix(in srgb, var(--ad-brand, #1b2a44) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--ad-brand, #1b2a44) 35%, transparent);
    border-radius: 6px; padding: .1rem .4rem;
}
.admin-mod-src {
    display: inline-block; vertical-align: 1px; margin-left: .3rem;
    font-size: .56rem; font-weight: 700;
    color: #6b7280; background: rgba(107, 114, 128, .1);
    border-radius: 99px; padding: .12rem .45rem;
}
.admin-mod-src--live { color: #0f9d58; background: rgba(15, 157, 88, .12); }
