:root {
    --sidebar-width: 260px;
    --primary: #dc2626;
    --primary-dark: #b91c1c;
    --bg: #f1f5f9;
    --sidebar-bg: #0f172a;
    --sidebar-hover: #1e293b;
    --text-muted: #94a3b8;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    background: var(--bg);
    color: #1e293b;
}

.app-wrapper { display: flex; min-height: 100vh; }

/* ---------- SIDEBAR ---------- */
.sidebar {
    width: var(--sidebar-width);
    background: var(--sidebar-bg);
    color: #e2e8f0;
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0; left: 0; bottom: 0;
    z-index: 1040;
    transition: transform .25s ease;
}

.sidebar-brand {
    display: flex; align-items: center; gap: .6rem;
    padding: 1.35rem 1.5rem;
    font-size: 1.25rem;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.sidebar-brand i { color: var(--primary); font-size: 1.6rem; }
.sidebar-brand strong { color: var(--primary); }

.sidebar-nav { flex: 1; padding: .75rem .75rem; display: flex; flex-direction: column; gap: .15rem; overflow-y: auto; min-height: 0; }
/* Ince kaydirma cubugu (grup acildiginda tasarsa) */
.sidebar-nav::-webkit-scrollbar { width: 6px; }
.sidebar-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.15); border-radius: 6px; }
.sidebar-nav::-webkit-scrollbar-track { background: transparent; }
.sidebar-nav .nav-link {
    display: flex; align-items: center; gap: .7rem;
    color: #cbd5e1;
    padding: .55rem 1rem;
    border-radius: .55rem;
    text-decoration: none;
    font-size: .9rem;
    transition: all .15s ease;
}
.sidebar-nav .nav-link i { font-size: 1.1rem; width: 22px; text-align: center; }
.sidebar-nav .nav-link:hover { background: var(--sidebar-hover); color: #fff; }
.sidebar-nav .nav-link.active { background: var(--primary); color: #fff; box-shadow: 0 4px 14px rgba(220,38,38,.4); }

/* ---------- ACILIR MENU GRUBU ---------- */
.nav-group { display: flex; flex-direction: column; gap: .25rem; }
.sidebar-nav .nav-group-toggle {
    width: 100%; background: transparent; border: none; cursor: pointer;
    font-family: inherit; text-align: left;
}
.sidebar-nav .nav-group-toggle.active-parent { color: #fff; }
.nav-group-caret { font-size: .8rem !important; width: auto !important; transition: transform .2s ease; }
.nav-group.open .nav-group-caret { transform: rotate(180deg); }
.nav-group-items {
    display: grid; grid-template-rows: 0fr;
    transition: grid-template-rows .22s ease;
    overflow: hidden;
}
.nav-group-items > * { min-height: 0; }
.nav-group.open .nav-group-items { grid-template-rows: 1fr; }
.nav-group-inner { display: flex; flex-direction: column; gap: .12rem; padding-left: .5rem; margin-top: .05rem; }
.nav-group-items .nav-link { font-size: .85rem; padding: .48rem 1rem; }
.nav-group-items .nav-link i { font-size: 1rem; }

.sidebar-footer { padding: 1rem 1.5rem; border-top: 1px solid rgba(255,255,255,.06); text-align: center; }

/* ---------- MAIN ---------- */
.main-area { flex: 1; margin-left: var(--sidebar-width); display: flex; flex-direction: column; min-width: 0; }

.topbar {
    background: #fff;
    height: 66px;
    display: flex; align-items: center; gap: 1rem;
    padding: 0 1.5rem;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    position: sticky; top: 0; z-index: 1030;
}
.topbar-title { font-size: 1.15rem; font-weight: 600; margin: 0; flex: 1; }
.topbar-user .dropdown-toggle {
    display: flex; align-items: center; gap: .5rem;
    text-decoration: none; color: #1e293b;
}
.avatar {
    width: 36px; height: 36px; border-radius: 50%;
    background: var(--primary); color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 600;
}

/* ---------- BILDIRIMLER (zil + menu) ---------- */
.topbar-notif { position: relative; }
.notif-bell {
    position: relative; width: 40px; height: 40px; border-radius: .7rem;
    border: 1px solid #e6eaf0; background: #f7f8fb; color: #475569;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.2rem; cursor: pointer; transition: all .15s ease;
}
.notif-bell:hover { background: #fff; border-color: #cbd5e1; color: #dc2626; }
.notif-bell[aria-expanded="true"] { background: #fff; border-color: #ef4444; box-shadow: 0 0 0 4px rgba(239,68,68,.12); color: #dc2626; }
.notif-badge {
    position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px;
    padding: 0 5px; border-radius: 9px; background: #dc2626; color: #fff;
    font-size: .68rem; font-weight: 800; line-height: 18px; text-align: center;
    box-shadow: 0 0 0 2px #fff; animation: notifPulse 2s infinite;
}
@keyframes notifPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.12); }
}
.notif-menu {
    width: 360px; max-width: calc(100vw - 24px); padding: 0;
    border: 1px solid #e6eaf0; border-radius: 1rem; overflow: hidden;
    box-shadow: 0 18px 50px rgba(15,23,42,.18);
}
.notif-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: .85rem 1rem; border-bottom: 1px solid #eef1f6;
    font-weight: 700; color: #1e293b; font-size: .95rem;
}
.notif-head i { color: #dc2626; }
.notif-list { max-height: 380px; overflow-y: auto; }
.notif-empty {
    display: flex; flex-direction: column; align-items: center; gap: .5rem;
    padding: 2.2rem 1rem; color: #94a3b8; font-size: .88rem;
}
.notif-empty i { font-size: 1.8rem; opacity: .6; }
.notif-item {
    display: flex; align-items: flex-start; gap: .7rem; position: relative;
    padding: .8rem 1rem; border-bottom: 1px solid #f1f5f9;
    text-decoration: none; color: inherit; transition: background .12s ease;
}
.notif-item:last-child { border-bottom: none; }
.notif-item:hover { background: #f8fafc; }
.notif-item.is-unread { background: #fef7f7; }
.notif-item.is-unread:hover { background: #fdeeee; }
.notif-ic {
    flex-shrink: 0; width: 38px; height: 38px; border-radius: .6rem;
    background: rgba(220,38,38,.1); color: #dc2626;
    display: inline-flex; align-items: center; justify-content: center; font-size: 1.05rem;
}
.notif-body { display: flex; flex-direction: column; gap: .15rem; min-width: 0; flex: 1; }
.notif-title { font-weight: 600; font-size: .88rem; color: #1e293b; }
.notif-msg { font-size: .82rem; color: #64748b; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.notif-time { font-size: .72rem; color: #94a3b8; display: inline-flex; align-items: center; gap: .25rem; margin-top: .1rem; }
.notif-dot { position: absolute; top: 1rem; right: .85rem; width: 8px; height: 8px; border-radius: 50%; background: #dc2626; }
.notif-foot { border-top: 1px solid #eef1f6; text-align: center; }
.notif-foot a {
    display: block; padding: .7rem; font-size: .84rem; font-weight: 600;
    color: #dc2626; text-decoration: none; transition: background .12s ease;
}
.notif-foot a:hover { background: #fef2f2; }

.content { padding: 1.75rem; flex: 1; }

/* ---------- KARTLAR ---------- */
.stat-card {
    background: #fff; border-radius: 1rem; padding: 1.4rem;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    display: flex; align-items: center; gap: 1rem;
    border: 1px solid #e2e8f0;
}
.stat-card .icon {
    width: 54px; height: 54px; border-radius: .85rem;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.5rem; color: #fff;
}
.stat-card .value { font-size: 1.7rem; font-weight: 700; line-height: 1; }
.stat-card .label { color: #64748b; font-size: .88rem; }

.bg-indigo { background: var(--primary); }
.bg-emerald { background: #10b981; }
.bg-amber { background: #f59e0b; }
.bg-rose { background: #f43f5e; }
.bg-sky { background: #0ea5e9; }

.card { border: 1px solid #e2e8f0; border-radius: 1rem; box-shadow: 0 1px 3px rgba(0,0,0,.05); }
.card-header { background: #fff; border-bottom: 1px solid #e2e8f0; font-weight: 600; border-radius: 1rem 1rem 0 0 !important; }

.table > :not(caption) > * > * { padding: .85rem 1rem; }
.table thead th { background: #f8fafc; color: #475569; font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; }

.btn-primary { background: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); }

.badge-status { padding: .35em .7em; font-weight: 600; font-size: .75rem; }
/* Form etiketlerine tiklaninca yazi imleci cikmasin (secilemez) */
.form-label { cursor: default; user-select: none; }
/* Beklemede/Serviste rozet varsayilanlari (tema bloğu override eder) */
.badge-status.badge-pending { background: #1e40af; color: #fff; }
.badge-status.badge-service { background: #d97706; color: #fff; }

/* ---------- LOGIN ---------- */
.login-page {
    min-height: 100vh; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #dc2626 0%, #dc2626 100%);
    padding: 1rem;
}
.login-card {
    background: #fff; border-radius: 1.25rem; padding: 2.5rem;
    width: 100%; max-width: 410px;
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.login-brand { text-align: center; margin-bottom: 1.75rem; }
.login-brand i { font-size: 2.5rem; color: var(--primary); }
.login-brand h1 { font-size: 1.35rem; margin: .5rem 0 0; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 991.98px) {
    .sidebar { transform: translateX(-100%); }
    .sidebar.open { transform: translateX(0); }
    .main-area { margin-left: 0; }
}

/* =====================================================================
   DEMIRBAS SAYFASI - PROFESYONEL BILESENLER
   ===================================================================== */

/* Ozet istatistik kartlari */
.asset-stat {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    padding: 1.15rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
    height: 100%;
    transition: transform .15s ease, box-shadow .15s ease;
}
.asset-stat:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.08); }
.asset-stat-icon {
    width: 50px; height: 50px; border-radius: .8rem;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.4rem; color: #fff; flex-shrink: 0;
}
.asset-stat-value { font-size: 1.6rem; font-weight: 700; line-height: 1.1; color: #0f172a; }
.asset-stat-label { color: #64748b; font-size: .82rem; }

/* Durum sekmeleri */
.asset-tabs { display: flex; flex-wrap: wrap; gap: .4rem; }
.asset-tab {
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .4rem .9rem;
    border-radius: 2rem;
    font-size: .88rem; font-weight: 500;
    color: #475569; text-decoration: none;
    background: #f1f5f9;
    border: 1px solid transparent;
    transition: all .15s ease;
}
.asset-tab:hover { background: #e2e8f0; color: #1e293b; }
.asset-tab.active { background: var(--primary); color: #fff; box-shadow: 0 3px 10px rgba(220,38,38,.35); }
.asset-tab-count {
    background: rgba(0,0,0,.08);
    padding: 0 .5rem; border-radius: 1rem;
    font-size: .75rem; font-weight: 700;
}
.asset-tab.active .asset-tab-count { background: rgba(255,255,255,.25); }

/* Tablo */
.asset-table thead th {
    background: #f8fafc; color: #64748b;
    font-size: .74rem; text-transform: uppercase; letter-spacing: .04em;
    border-bottom: 1px solid #e2e8f0;
}
.asset-table tbody tr { border-bottom: 1px solid #f1f5f9; }
.asset-table tbody tr:hover { background: #f8fafc; }
.asset-table td { padding: .8rem 1rem; }

/* Satir avatar/ikon */
.asset-avatar {
    width: 38px; height: 38px; border-radius: .65rem;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.1rem;
}
.tone-emerald   { background: #d1fae5; color: #059669; }
.tone-rose      { background: #ffe4e6; color: #e11d48; }
.tone-amber     { background: #fef3c7; color: #d97706; }
.tone-navy      { background: #e0e7ff; color: #1e40af; }
.tone-secondary { background: #e2e8f0; color: #64748b; }

/* Kategori rozeti */
.cat-badge {
    background: #fef2f2; color: #dc2626;
    border: 1px solid #fecaca;
    font-weight: 600; font-size: .78rem;
    padding: .35em .7em;
}

/* Kategori modal listesi */
.cat-list .list-group-item { border-radius: .6rem; margin-bottom: .35rem; border: 1px solid #e2e8f0; }

/* ---------- PARCA SECIMI (ariza kapatma modali) ---------- */
.part-select-bar { display: flex; gap: .5rem; align-items: stretch; }
.part-select-bar .part-select-src { flex: 1; min-width: 0; }
.part-select-add { flex-shrink: 0; white-space: nowrap; }
.part-select-chosen { display: flex; flex-direction: column; gap: .4rem; margin-top: .6rem; }
.part-select-empty { margin-top: .5rem; }
.ps-row {
    display: flex; align-items: center; gap: .6rem;
    background: #f8fafc; border: 1px solid #e6eaf0; border-radius: .6rem;
    padding: .4rem .5rem .4rem .75rem;
}
.ps-name { flex: 1; font-size: .9rem; color: #1e293b; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ps-qty { width: 72px; flex-shrink: 0; }
.ps-del {
    flex-shrink: 0; width: 30px; height: 30px; border-radius: .5rem;
    border: none; background: #fee2e2; color: #dc2626; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background .12s ease;
}
.ps-del:hover { background: #fecaca; }

/* ---------- DEKONT / MAKBUZ LINKI (detay) ---------- */
.receipt-link {
    display: flex; align-items: center; gap: .75rem;
    padding: .7rem .85rem; border-radius: .7rem;
    background: #f8fafc; border: 1px solid #e6eaf0;
    text-decoration: none; color: inherit; transition: all .15s ease;
}
.receipt-link:hover { background: #eff6ff; border-color: #bfdbfe; }
.receipt-ic {
    flex-shrink: 0; width: 42px; height: 42px; border-radius: .6rem;
    background: linear-gradient(135deg, #38bdf8, #0284c7); color: #fff;
    display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem;
}
.receipt-body { display: flex; flex-direction: column; min-width: 0; }
.receipt-name { font-weight: 600; font-size: .9rem; color: #0f172a; }
.receipt-hint { font-size: .76rem; color: #94a3b8; }
.receipt-link .bi-box-arrow-up-right { color: #94a3b8; }

/* ---------- HIZLI KAPATMA (toggle) ---------- */
.quick-close-toggle {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: .7rem .9rem; margin: .35rem 0 .25rem;
    border: 1px solid #e2e8f0; border-radius: .8rem;
    background: linear-gradient(135deg, #f8fafc, #fff);
}
.quick-close-toggle .qct-info { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.quick-close-toggle .qct-ic {
    flex-shrink: 0; width: 38px; height: 38px; border-radius: .65rem;
    display: inline-flex; align-items: center; justify-content: center;
    color: #fff; font-size: 1.05rem;
    background: linear-gradient(135deg, #60a5fa, #2563eb);
    box-shadow: 0 5px 14px rgba(37,99,235,.35), inset 0 1px 0 rgba(255,255,255,.35);
}
.quick-close-toggle .qct-text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.quick-close-toggle .qct-title { font-weight: 700; font-size: .9rem; color: #0f172a; }
.quick-close-toggle .qct-sub { font-size: .74rem; color: #94a3b8; }

/* iOS tarzi switch */
.qct-switch { position: relative; flex-shrink: 0; width: 48px; height: 27px; margin: 0; cursor: pointer; }
.qct-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.qct-slider {
    position: absolute; inset: 0; border-radius: 999px;
    background: #cbd5e1; transition: background .2s ease;
}
.qct-slider::before {
    content: ''; position: absolute; top: 3px; left: 3px;
    width: 21px; height: 21px; border-radius: 50%;
    background: #fff; box-shadow: 0 2px 5px rgba(0,0,0,.25);
    transition: transform .2s ease;
}
.qct-switch input:checked + .qct-slider { background: linear-gradient(135deg, #22c55e, #16a34a); }
.qct-switch input:checked + .qct-slider::before { transform: translateX(21px); }
.qct-switch input:focus-visible + .qct-slider { box-shadow: 0 0 0 3px rgba(34,197,94,.3); }

/* Gizlenen ek alanlar */
.close-extra.is-hidden { display: none !important; }

/* ---------- DEMIRBAS RESIMLERI ---------- */
.asset-img-grid { display: flex; flex-wrap: wrap; gap: .6rem; }
.asset-img-thumb, .asset-img-cell {
    position: relative; width: 96px; height: 96px; border-radius: .6rem;
    overflow: hidden; border: 1px solid #e2e8f0; background: #f8fafc;
    display: block; flex-shrink: 0;
}
.asset-img-grid-lg .asset-img-thumb { width: 120px; height: 120px; }
.asset-img-thumb img, .asset-img-cell img { width: 100%; height: 100%; object-fit: cover; display: block; }
.asset-img-thumb:hover { border-color: #bfdbfe; }
.asset-img-del {
    position: absolute; top: 4px; right: 4px;
    width: 24px; height: 24px; border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(220,38,38,.92); color: #fff; text-decoration: none;
    font-size: .75rem; transition: background .12s ease;
}
.asset-img-del:hover { background: #b91c1c; color: #fff; }
body.theme-dark .asset-img-thumb, body.theme-dark .asset-img-cell { background: #10192b !important; border-color: #2a3852 !important; }

/* ---------- ARIZA RESIMLERI ---------- */
.fault-img-grid {
    display: flex; flex-wrap: wrap; gap: .6rem;
}
.fault-img-thumb, .fault-img-cell {
    position: relative; width: 96px; height: 96px; border-radius: .6rem;
    overflow: hidden; border: 1px solid #e2e8f0; background: #f8fafc;
    display: block; flex-shrink: 0;
}
.fault-img-thumb img, .fault-img-cell img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.fault-img-thumb:hover { border-color: #bfdbfe; }
.fault-img-del {
    position: absolute; top: 4px; right: 4px;
    width: 24px; height: 24px; border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(220,38,38,.92); color: #fff; text-decoration: none;
    font-size: .75rem; transition: background .12s ease;
}
.fault-img-del:hover { background: #b91c1c; color: #fff; }

/* ---------- KULLANILAN PARCALAR (detay) ---------- */
.fault-parts-list { list-style: none; padding: 0; margin: 0; }
.fault-parts-list li {
    display: flex; align-items: center; gap: .5rem;
    padding: .4rem 0; border-bottom: 1px dashed #e2e8f0; font-size: .88rem;
}
.fault-parts-list li:last-child { border-bottom: none; }
.fault-parts-list .fp-name { flex: 1; color: #1e293b; }
.fault-parts-list .fp-qty { color: #64748b; font-weight: 600; }
.fault-parts-list .fp-price { color: #1e293b; font-weight: 600; min-width: 90px; text-align: right; }
.fault-parts-list .fp-total { font-weight: 700; border-top: 2px solid #e2e8f0; margin-top: .2rem; padding-top: .5rem; }
.fault-parts-list .fp-remove {
    flex-shrink: 0; width: 24px; height: 24px; border-radius: 6px; margin-left: .4rem;
    background: #fee2e2; color: #dc2626; text-decoration: none;
    display: inline-flex; align-items: center; justify-content: center; font-size: .7rem;
    transition: background .12s ease;
}
.fault-parts-list .fp-remove:hover { background: #fecaca; color: #b91c1c; }

/* ---------- SUBE KATEGORI GRUPLARI ---------- */
.branch-cat-img {
    width: 52px; height: 38px; border-radius: .5rem; object-fit: contain;
    flex-shrink: 0; border: 1px solid #e2e8f0; background: #fff;
    padding: 3px;
    display: inline-flex; align-items: center; justify-content: center;
}
.branch-cat-noimg { color: #94a3b8; font-size: 1.05rem; width: 38px; }
.branch-group { border-bottom: 1px solid #eef1f6; }
.branch-group:last-child { border-bottom: none; }
.branch-group-head {
    display: flex; align-items: center; gap: .6rem;
    padding: .7rem 1.1rem; background: #f8fafc;
    border-bottom: 1px solid #eef1f6;
    cursor: pointer; user-select: none;
    transition: background .12s ease;
}
.branch-group-head:hover { background: #f1f5f9; }
.branch-group-caret { color: #94a3b8; font-size: .82rem; transition: transform .2s ease; flex-shrink: 0; }
.branch-group-name { font-weight: 700; color: #1e293b; font-size: .95rem; }
.branch-row {
    display: flex; align-items: center; gap: .75rem;
    padding: .6rem 1.1rem .6rem 1.5rem; border-bottom: 1px solid #f1f5f9;
    transition: background .12s ease;
}
.branch-row:last-child { border-bottom: none; }
.branch-row:hover { background: #f8fafc; }
.branch-row-code { flex-shrink: 0; }
.branch-row-name { flex: 1 1 auto; min-width: 0; color: #1e293b; font-weight: 500; overflow-wrap: anywhere; word-break: break-word; }
.branch-row-status { flex-shrink: 0; }
.branch-row-actions { flex-shrink: 0; margin-left: auto; text-align: right; white-space: nowrap; }

/* Mobilde sube satiri: tek satir korunur, kompakt ve modern */
@media (max-width: 575.98px) {
    .branch-row {
        gap: .5rem;
        padding: .55rem .75rem;
    }
    .branch-row-code {
        font-size: .68rem;
        padding: .22em .5em;
    }
    .branch-row-name {
        font-size: .82rem;
        line-height: 1.25;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        word-break: break-word;
    }
    /* Durum rozetini gizle, yerden tasarruf (form/detayda zaten gorunur) */
    .branch-row-status { display: none; }
    .branch-row-actions {
        display: inline-flex;
        gap: .35rem;
    }
    .branch-row-actions .btn {
        width: 34px; height: 34px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: .6rem;
    }
    .branch-row-actions .btn i { font-size: .95rem; }
}

/* =====================================================================
   ARIZA DETAY MODALI - PROFESYONEL
   ===================================================================== */
.fault-detail { border: none; border-radius: 1rem; overflow: hidden; }

.fault-detail-head {
    padding: 1.5rem;
    color: #fff;
    background: linear-gradient(135deg, #64748b, #475569);
}
.fault-detail-head.tone-rose    { background: linear-gradient(135deg, #ef4444, #b91c1c); }
.fault-detail-head.tone-amber   { background: linear-gradient(135deg, #f59e0b, #b45309); }
.fault-detail-head.tone-navy    { background: linear-gradient(135deg, #3b52c4, #1e3a8a); }
.fault-detail-head.tone-emerald { background: linear-gradient(135deg, #10b981, #047857); }

.fault-detail-icon {
    width: 52px; height: 52px; border-radius: .8rem;
    background: rgba(255,255,255,.2);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.5rem; flex-shrink: 0;
}
.fault-detail-ticket { font-size: .8rem; opacity: .85; letter-spacing: .03em; font-family: monospace; }
.fault-detail-title { font-weight: 600; }
.fault-detail-head .badge-status { background: rgba(255,255,255,.25) !important; color: #fff !important; }

/* Ariza modallari (kapat / duzenle / beklemeye al) - detay tarzi renkli baslik */
.fault-modal-head { padding: 1.15rem 1.25rem; cursor: default; user-select: none; }
.fault-modal-head .fault-detail-icon { width: 44px; height: 44px; font-size: 1.25rem; border-radius: .7rem; }
.fault-modal-head .fault-detail-title { font-size: 1.15rem; }
.fault-modal-subtitle { font-size: .88rem; opacity: .92; line-height: 1.35; }
/* Modal govdesi/altligi detay kartiyla uyumlu */
.fault-detail .modal-body { padding: 1.25rem; }
.fault-detail .modal-footer { border-top: 1px solid #eef1f6; padding: .9rem 1.25rem; }

/* Bilgi kutulari */
.fault-info {
    display: flex; align-items: center; gap: .75rem;
    background: #f8fafc; border: 1px solid #eef2f6;
    border-radius: .7rem; padding: .7rem .85rem;
    height: 100%;
}
.fault-info > i { font-size: 1.15rem; color: var(--primary); width: 24px; text-align: center; }
.fault-info span { display: block; font-size: .72rem; color: #94a3b8; text-transform: uppercase; letter-spacing: .03em; }
.fault-info strong { display: block; font-size: .9rem; color: #1e293b; }

/* Bolumler */
.fault-section {
    border: 1px solid #e2e8f0; border-radius: .7rem;
    padding: .9rem 1rem; margin-bottom: 1rem;
}
.fault-section-success { background: #f0fdf4; border-color: #bbf7d0; }
.fault-section-pending { background: #eef2ff; border-color: #c7d2fe; }
.fault-section-service { background: #fffbeb; border-color: #fde68a; }
.fault-section-title { font-size: .8rem; font-weight: 700; color: #64748b; margin-bottom: .4rem; text-transform: uppercase; letter-spacing: .03em; }

/* Zaman cizelgesi */
.fault-timeline { position: relative; padding-left: .5rem; margin-top: 1.25rem; }
.fault-timeline-item { display: flex; gap: .75rem; padding-bottom: 1rem; position: relative; }
.fault-timeline-item:not(:last-child)::before {
    content: ''; position: absolute; left: 6px; top: 16px; bottom: 0;
    width: 2px; background: #e2e8f0;
}
.fault-timeline-item .dot {
    width: 14px; height: 14px; border-radius: 50%;
    background: #cbd5e1; border: 2px solid #fff; box-shadow: 0 0 0 2px #e2e8f0;
    margin-top: 3px; flex-shrink: 0; z-index: 1;
}
.fault-timeline-item.done .dot { background: var(--primary); box-shadow: 0 0 0 2px rgba(220,38,38,.3); }
.fault-timeline-item strong { display: block; font-size: .88rem; }
.fault-timeline-item small { color: #94a3b8; font-size: .78rem; }

/* ---------- MODERN ZAMAN CIZELGESI (fault-tl) ---------- */
.fault-tl {
    position: relative;
    margin-top: 1.25rem;
    padding: .25rem 0;
}
.fault-tl-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    padding-bottom: 1.15rem;
}
.fault-tl-item:last-child { padding-bottom: 0; }

/* Yuvarlak durum dugumu (ikonlu) */
.fault-tl-node {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 34px; height: 34px;
    border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .95rem;
    background: #f1f5f9; color: #94a3b8;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1.5px #e2e8f0, 0 3px 8px rgba(16,24,40,.06);
    transition: transform .15s ease;
}
/* Dugumler arasi baglanti cizgisi */
.fault-tl-line {
    position: absolute;
    left: 16px; top: 34px; bottom: -1.15px;
    width: 2px;
    background: #e2e8f0;
    z-index: 0;
}
.fault-tl-body {
    display: flex; flex-direction: column;
    padding-top: .25rem; line-height: 1.25;
}
.fault-tl-label { font-weight: 700; font-size: .9rem; color: #1e293b; }
.fault-tl-time  { font-size: .78rem; color: #94a3b8; margin-top: .1rem; }

/* Tamamlanmis adimlarda renkli dugum + renkli cizgi */
.fault-tl-item.is-done.tl-rose    .fault-tl-node { background: linear-gradient(135deg,#f87171,#dc2626); color:#fff; box-shadow: 0 0 0 1.5px #fecaca, 0 4px 10px rgba(220,38,38,.28); }
.fault-tl-item.is-done.tl-navy    .fault-tl-node { background: linear-gradient(135deg,#3b52c4,#1e3a8a); color:#fff; box-shadow: 0 0 0 1.5px #c7d2fe, 0 4px 10px rgba(30,58,138,.28); }
.fault-tl-item.is-done.tl-amber   .fault-tl-node { background: linear-gradient(135deg,#fbbf24,#d97706); color:#fff; box-shadow: 0 0 0 1.5px #fde68a, 0 4px 10px rgba(217,119,6,.28); }
.fault-tl-item.is-done.tl-emerald .fault-tl-node { background: linear-gradient(135deg,#34d399,#059669); color:#fff; box-shadow: 0 0 0 1.5px #a7f3d0, 0 4px 10px rgba(5,150,105,.28); }
.fault-tl-item.is-done .fault-tl-line { background: linear-gradient(180deg, #cbd5e1, #e2e8f0); }

/* Bekleyen (henuz olmamis) adim soluk */
.fault-tl-item.is-pending .fault-tl-node { background: #f8fafc; color: #cbd5e1; border-style: dashed; }
.fault-tl-item.is-pending .fault-tl-label { color: #94a3b8; }

/* Aktif (mevcut) durum: hafif pulse halkasi */
.fault-tl-item.is-active .fault-tl-node { transform: scale(1.06); }
.fault-tl-item.is-active .fault-tl-node::after {
    content: ''; position: absolute; inset: -5px;
    border-radius: 50%; border: 2px solid currentColor;
    opacity: .35; animation: faultTlPulse 1.8s ease-out infinite;
}
@keyframes faultTlPulse {
    0%   { transform: scale(.8); opacity: .5; }
    100% { transform: scale(1.35); opacity: 0; }
}

/* =====================================================================
   MARKA / LOGO
   ===================================================================== */
.sidebar-brand { flex-direction: column; align-items: center; gap: .35rem !important; }
.sidebar-brand .brand-logo-full {
    width: 100%; max-width: 190px; height: auto;
}
.sidebar-brand .brand-sub {
    font-size: .68rem; font-weight: 500; letter-spacing: .08em;
    color: var(--text-muted); text-transform: uppercase;
    text-align: center;
}
/* Mobilde slogani gizle, logo tek basina ortali kalsin */
@media (max-width: 991.98px) {
    .sidebar-brand .brand-sub { display: none; }
}

/* Giris ekrani logosu */
.login-brand .login-logo {
    width: 68px; height: 68px; margin-bottom: .5rem;
    filter: drop-shadow(0 6px 14px rgba(220,38,38,.35));
}
.login-brand h1 { font-size: 1.5rem; margin: .35rem 0 0; font-weight: 700; }

/* Flex icinde text-truncate'in dogru calismasi icin */
.min-w-0 { min-width: 0; }

/* =====================================================================
   ARIZA ARAC CUBUGU - MODERN
   ===================================================================== */
.toolbar-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    padding: 1rem 1.15rem;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.toolbar-row {
    display: flex; flex-wrap: wrap; align-items: center; gap: .65rem;
}
.toolbar-row .btn-new {
    border-radius: .7rem; font-weight: 600;
    padding: .55rem 1.1rem;
    box-shadow: 0 4px 12px rgba(220,38,38,.3);
}

/* Arama */
.toolbar-search {
    position: relative; display: flex; align-items: center;
    flex: 1 1 260px; min-width: 220px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: .7rem;
    padding: 0 .35rem 0 .85rem;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.toolbar-search:focus-within {
    background: #fff;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(220,38,38,.12);
}
.toolbar-search > i.bi-search { color: #94a3b8; font-size: .95rem; }
.toolbar-search input {
    flex: 1; border: none; background: transparent; outline: none;
    padding: .6rem .6rem; font-size: .92rem; color: #1e293b; min-width: 0;
}
.toolbar-search .search-clear {
    color: #94a3b8; display: inline-flex; padding: .3rem .45rem;
    border-radius: .5rem; text-decoration: none;
}
.toolbar-search .search-clear:hover { background: #e2e8f0; color: #475569; }
.toolbar-search .search-go {
    border: none; background: var(--primary); color: #fff;
    border-radius: .55rem; padding: .45rem 1rem; font-size: .88rem; font-weight: 600;
    margin: .25rem;
    transition: background .15s;
}
.toolbar-search .search-go:hover { background: var(--primary-dark); }

/* Sube secici */
.toolbar-select {
    position: relative; display: flex; align-items: center; gap: .5rem;
    background: #f8fafc; border: 1px solid #e2e8f0; border-radius: .7rem;
    padding: 0 .85rem;
}
.toolbar-select > i { color: #94a3b8; }
.toolbar-select select {
    border: none; background: transparent; outline: none;
    padding: .6rem 1.5rem .6rem 0; font-size: .92rem; color: #1e293b;
    cursor: pointer; -webkit-appearance: none; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right .1rem center;
}

/* Durum pill'leri */
.status-pills {
    display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
    margin-top: 1rem; padding-top: 1rem;
    border-top: 1px dashed #e2e8f0;
}
.status-pill {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .45rem .9rem;
    border-radius: 2rem;
    font-size: .88rem; font-weight: 600;
    text-decoration: none;
    background: #f1f5f9; color: #64748b;
    border: 1.5px solid transparent;
    transition: all .15s ease;
}
.status-pill i { font-size: 1rem; }
.status-pill:hover { background: #e2e8f0; color: #334155; }
.status-pill .pill-count {
    background: rgba(100,116,139,.15); color: inherit;
    min-width: 22px; text-align: center;
    padding: .05rem .45rem; border-radius: 1rem;
    font-size: .78rem; font-weight: 700;
}

/* Aktif pill renkleri (duruma gore) */
.status-pill.pill-all.active    { background: rgba(220,38,38,.1);  color: var(--primary); border-color: rgba(220,38,38,.3); }
.status-pill.pill-open.active   { background: rgba(244,63,94,.1);  color: #e11d48;        border-color: rgba(244,63,94,.3); }
.status-pill.pill-closed.active { background: rgba(16,185,129,.12);color: #059669;        border-color: rgba(16,185,129,.35); }
.status-pill.active .pill-count { background: rgba(255,255,255,.6); }

/* Aktif sube filtre etiketi */
.active-filter {
    display: inline-flex; align-items: center; gap: .4rem;
    background: #fef2f2; color: #dc2626;
    border: 1px solid #fecaca; border-radius: 2rem;
    padding: .35rem .85rem; font-size: .82rem; font-weight: 600;
}
.active-filter a { color: #ef4444; display: inline-flex; text-decoration: none; }
.active-filter a:hover { color: #b91c1c; }

@media (max-width: 575.98px) {
    .status-pills .active-filter { margin-left: 0 !important; }
}

/* =====================================================================
   ARIZA ARAC CUBUGU v2 - PREMIUM
   ===================================================================== */
.tb2 {
    background: #fff;
    border: 1px solid #eceef3;
    border-radius: 1.25rem;
    box-shadow: 0 1px 2px rgba(16,24,40,.03), 0 10px 30px rgba(16,24,40,.06);
    overflow: hidden;
}

/* Ust satir */
.tb2-head {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: 1.25rem 1.5rem;
    background:
        radial-gradient(120% 140% at 0% 0%, #fef2f2 0%, rgba(254,242,242,0) 60%),
        linear-gradient(180deg, #fcfcff, #ffffff);
    border-bottom: 1px solid #f0f2f7;
}
.tb2-title { display: flex; align-items: center; gap: 1rem; }
.tb2-title-icon {
    width: 50px; height: 50px; border-radius: 1rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #ef4444, #f87171);
    color: #fff; font-size: 1.45rem;
    box-shadow: 0 8px 20px rgba(239,68,68,.4), inset 0 1px 0 rgba(255,255,255,.35);
}
.tb2-title h2 { font-size: 1.18rem; font-weight: 700; margin: 0; color: #0f172a; letter-spacing: -.01em; }
.tb2-title p  { margin: .1rem 0 0; font-size: .82rem; color: #94a3b8; font-weight: 500; }

.tb2-new {
    display: inline-flex; align-items: center; gap: .5rem;
    border: none; cursor: pointer;
    background: linear-gradient(135deg, #ef4444, #f87171);
    color: #fff; font-weight: 600; font-size: .92rem;
    padding: .7rem 1.35rem; border-radius: .9rem;
    box-shadow: 0 8px 20px rgba(239,68,68,.4), inset 0 1px 0 rgba(255,255,255,.25);
    transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}
.tb2-new:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(239,68,68,.5); filter: brightness(1.04); }
.tb2-new:active { transform: translateY(0); }

/* Alt kontrol satiri */
.tb2-controls {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: 1rem; padding: 1.1rem 1.5rem;
}
.tb2-right { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; }

/* Segment (birlesik durum filtresi) */
.segment {
    display: inline-flex; align-items: center;
    background: #f4f5f9; border: 1px solid #eceef4;
    border-radius: .95rem; padding: .3rem;
    gap: .2rem;
}
.seg-item {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .52rem .95rem; border-radius: .72rem;
    font-size: .88rem; font-weight: 600; color: #64748b;
    text-decoration: none; white-space: nowrap;
    transition: all .18s cubic-bezier(.4,0,.2,1);
}
.seg-item i { font-size: 1rem; opacity: .85; }
.seg-item:hover { color: #334155; background: rgba(255,255,255,.65); }
.seg-count {
    min-width: 22px; text-align: center;
    background: rgba(100,116,139,.14); color: inherit;
    padding: .06rem .45rem; border-radius: 1rem;
    font-size: .74rem; font-weight: 700;
}
/* Aktif segment - renkli dolgu + hafif golge */
.seg-item.active {
    color: #fff; box-shadow: 0 4px 12px rgba(16,24,40,.18);
}
.seg-item.active i { opacity: 1; }
.seg-item.seg-all.active    { background: linear-gradient(135deg, #ef4444, #f87171); box-shadow: 0 4px 12px rgba(239,68,68,.4); }
.seg-item.seg-open.active   { background: linear-gradient(135deg, #f43f5e, #fb7185); box-shadow: 0 4px 12px rgba(244,63,94,.38); }
.seg-item.seg-closed.active { background: linear-gradient(135deg, #10b981, #34d399); box-shadow: 0 4px 12px rgba(16,185,129,.38); }
.seg-item.active .seg-count { background: rgba(255,255,255,.28); color: #fff; }

/* Arama */
.tb2-search {
    position: relative; display: flex; align-items: center;
    background: #f4f5f9; border: 1.5px solid #eceef4; border-radius: .9rem;
    padding: 0 .5rem 0 .95rem; min-width: 250px;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.tb2-search:focus-within { background: #fff; border-color: #f87171; box-shadow: 0 0 0 4px rgba(248,113,113,.14); }
.tb2-search > i { color: #94a3b8; }
.tb2-search input {
    border: none; background: transparent; outline: none;
    padding: .64rem .55rem; font-size: .9rem; color: #1e293b; width: 220px; max-width: 100%;
}
.tb2-clear { color: #94a3b8; display: inline-flex; padding: .3rem .4rem; border-radius: .45rem; text-decoration: none; }
.tb2-clear:hover { background: #eef1f6; color: #475569; }

/* Sube secici */
.tb2-select {
    display: flex; align-items: center; gap: .5rem;
    background: #f8fafc; border: 1.5px solid #e6eaf0; border-radius: .8rem; padding: 0 .85rem;
}
.tb2-select > i { color: #94a3b8; }
.tb2-select select {
    border: none; background: transparent; outline: none; cursor: pointer;
    padding: .62rem 1.5rem .62rem 0; font-size: .9rem; color: #1e293b;
    -webkit-appearance: none; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right .1rem center;
}

@media (max-width: 767.98px) {
    .tb2-controls { flex-direction: column; align-items: stretch; }
    .segment { justify-content: space-between; }
    .seg-item { flex: 1; justify-content: center; }
    .tb2-right { flex-direction: column; align-items: stretch; }
    .tb2-search, .tb2-select { width: 100%; }
    .tb2-search input { width: 100%; }
}

/* =====================================================================
   SUBE DROPDOWN (native select yerine modern menu)
   ===================================================================== */
.tb2-dropdown .tb2-dropbtn {
    display: inline-flex; align-items: center; gap: .55rem;
    background: #f4f5f9; border: 1.5px solid #eceef4; border-radius: .9rem;
    padding: .66rem 1rem; cursor: pointer;
    font-size: .9rem; color: #1e293b; font-weight: 500;
    transition: border-color .15s, box-shadow .15s, background .15s;
    min-width: 180px;
}
.tb2-dropdown .tb2-dropbtn:hover { background: #fff; border-color: #cbd5e1; }
.tb2-dropdown.show .tb2-dropbtn,
.tb2-dropdown .tb2-dropbtn[aria-expanded="true"] {
    background: #fff; border-color: #f87171; box-shadow: 0 0 0 4px rgba(248,113,113,.14);
}
.tb2-dropbtn > i.bi-building { color: #94a3b8; }
.tb2-dropbtn-label { flex: 1; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tb2-dropbtn-caret { color: #94a3b8; font-size: .8rem; transition: transform .15s ease; }
.tb2-dropdown.show .tb2-dropbtn-caret { transform: rotate(180deg); }

/* Menu */
.tb2-menu {
    border: 1px solid #e8ecf2;
    border-radius: .85rem;
    box-shadow: 0 12px 32px rgba(16,24,40,.14);
    padding: .35rem;
    min-width: 220px;
    margin-top: .4rem !important;
    max-height: 320px; overflow-y: auto; overflow-x: hidden;
}
.tb2-menu-item {
    display: flex; align-items: center; gap: .6rem;
    padding: .55rem .7rem; border-radius: .55rem;
    font-size: .9rem; color: #334155; text-decoration: none;
    transition: background .12s, color .12s;
}
.tb2-menu-item > i { color: #94a3b8; font-size: 1rem; width: 18px; text-align: center; flex-shrink: 0; }
.tb2-menu-item > span { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.tb2-menu-item:hover { background: #f1f5f9; color: #0f172a; }
.tb2-menu-item.active {
    background: rgba(239,68,68,.1); color: #dc2626; font-weight: 600;
}
.tb2-menu-item.active > i { color: #ef4444; }
.tb2-menu-item .bi-check-lg { color: #ef4444; }

/* tb2 ikincil (ghost) buton */
.tb2-new-ghost {
    display: inline-flex; align-items: center; gap: .45rem;
    border: 1.5px solid #e6eaf0; cursor: pointer;
    background: #fff; color: #475569; font-weight: 600; font-size: .92rem;
    padding: .7rem 1.1rem; border-radius: .9rem;
    transition: border-color .14s, background .14s, color .14s;
}
.tb2-new-ghost:hover { background: #f8fafc; border-color: #cbd5e1; color: #1e293b; }
.tb2-new-ghost > i { color: #f87171; }

/* Ek segment renkleri (demirbas durumlari) */
.seg-item.seg-warn.active  { background: linear-gradient(135deg, #f59e0b, #fbbf24); box-shadow: 0 4px 12px rgba(245,158,11,.38); color: #fff; }
.seg-item.seg-muted.active { background: linear-gradient(135deg, #64748b, #94a3b8); box-shadow: 0 4px 12px rgba(100,116,139,.35); color: #fff; }

/* =====================================================================
   RAPOR / TARIH ARALIGI PANELI - PREMIUM
   ===================================================================== */
.report-panel {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: .85rem;
    padding: .85rem 1rem;
    margin-top: 1rem;
    background: linear-gradient(180deg, #fafbff, #f6f7fb);
    border: 1px solid #eceef4;
    border-radius: 1rem;
}

/* Sol: tarih formu */
.report-form { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.report-icon {
    width: 38px; height: 38px; border-radius: .7rem; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(220,38,38,.1); color: var(--primary); font-size: 1.1rem;
}

.report-fields {
    display: inline-flex; align-items: center; gap: .3rem;
    background: #fff; border: 1.5px solid #e6eaf0; border-radius: .8rem;
    padding: .25rem .35rem;
    transition: border-color .15s, box-shadow .15s;
}
.report-fields:focus-within { border-color: #f87171; box-shadow: 0 0 0 4px rgba(248,113,113,.12); }
.report-field { display: flex; flex-direction: column; padding: .1rem .55rem; }
.report-field label { font-size: .66rem; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .04em; }
.report-field input[type="date"] {
    border: none; background: transparent; outline: none;
    font-size: .86rem; color: #1e293b; padding: .1rem 0; min-width: 120px;
}
.report-arrow { color: #cbd5e1; font-size: .8rem; padding: 0 .1rem; }

.report-apply {
    display: inline-flex; align-items: center; gap: .4rem;
    border: none; cursor: pointer;
    background: linear-gradient(135deg, #ef4444, #f87171); color: #fff;
    font-size: .86rem; font-weight: 600; padding: .6rem 1.1rem; border-radius: .75rem;
    box-shadow: 0 4px 12px rgba(239,68,68,.35);
    transition: transform .12s ease, filter .12s ease;
}
.report-apply:hover { transform: translateY(-1px); filter: brightness(1.05); }
.report-reset {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: .7rem;
    background: #fff; border: 1.5px solid #e6eaf0; color: #94a3b8; text-decoration: none;
    transition: all .12s ease;
}
.report-reset:hover { background: #fee2e2; border-color: #fecaca; color: #dc2626; }

/* Sag: sayac + export */
.report-export { display: flex; align-items: center; gap: .6rem; }
.report-count {
    font-size: .84rem; color: #475569;
    background: #fff; border: 1px solid #e6eaf0;
    padding: .45rem .85rem; border-radius: 2rem;
}
.report-count b { color: #0f172a; }
.report-sep { width: 1px; height: 24px; background: #e2e8f0; }

.btn-export {
    display: inline-flex; align-items: center; gap: .45rem;
    padding: .55rem 1rem; border-radius: .75rem;
    font-size: .86rem; font-weight: 600; text-decoration: none;
    color: #fff; transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.btn-export:hover { transform: translateY(-1px); filter: brightness(1.05); color: #fff; }
.btn-export i { font-size: 1.05rem; }
.btn-excel { background: linear-gradient(135deg, #15803d, #22c55e); box-shadow: 0 5px 14px rgba(34,197,94,.4); }
.btn-pdf   { background: linear-gradient(135deg, #b91c1c, #ef4444); box-shadow: 0 5px 14px rgba(239,68,68,.4); }
.btn-transfer { background: linear-gradient(135deg, #6d28d9, #8b5cf6); box-shadow: 0 5px 14px rgba(139,92,246,.4); border: none; cursor: pointer; }

/* Demirbas tasima ozeti */
.transfer-summary {
    display: inline-flex; align-items: center; gap: .5rem;
    background: rgba(139,92,246,.1); color: #6d28d9; border: 1px solid rgba(139,92,246,.28);
    padding: .6rem .95rem; border-radius: .7rem; font-size: .9rem; font-weight: 600;
}
.transfer-summary > i { font-size: 1.1rem; }
body.theme-dark .transfer-summary { background: rgba(139,92,246,.16); color: #c4b5fd; border-color: rgba(139,92,246,.4); }

@media (max-width: 767.98px) {
    .report-panel { flex-direction: column; align-items: stretch; }
    .report-form { justify-content: space-between; }
    .report-export { justify-content: flex-end; }
}

/* =====================================================================
   ARIZA PARCA MALIYETI - KOMPAKT
   ===================================================================== */
.fault-cost-compact {
    display: flex; align-items: center; gap: .65rem;
    padding: .45rem .6rem; min-height: 56px;
    background: #fff; border: 1px solid #e6eaf0; border-radius: .85rem;
    box-shadow: 0 3px 14px rgba(15,23,42,.05);
}
.fcc-info { display: flex; align-items: center; gap: .55rem; min-width: 230px; }
.fcc-icon {
    flex: 0 0 34px; width: 34px; height: 34px; border-radius: .6rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #172033, #334155); color: #fff; font-size: .95rem;
}
.fcc-copy { display: flex; flex-direction: column; min-width: 0; }
.fcc-title { color: #0f172a; font-size: .86rem; line-height: 1.15; font-weight: 800; white-space: nowrap; }
.fcc-subtitle { margin-top: .1rem; color: #94a3b8; font-size: .63rem; line-height: 1.1; white-space: nowrap; }
.fcc-count {
    flex-shrink: 0; padding: .25rem .5rem; border: 1px solid #e2e8f0; border-radius: 2rem;
    background: #f8fafc; color: #64748b; font-size: .64rem; line-height: 1; font-weight: 750; white-space: nowrap;
}
.fcc-amounts { display: flex; align-items: center; justify-content: flex-end; gap: .4rem; margin-left: auto; min-width: 0; }
.fcc-amount {
    --fcc-color: #475569; --fcc-bg: #f8fafc; --fcc-line: #e2e8f0;
    display: flex; align-items: center; gap: .42rem; min-width: 155px;
    padding: .32rem .5rem .32rem .32rem; border: 1px solid var(--fcc-line); border-radius: .65rem;
    background: var(--fcc-bg); color: #0f172a;
}
.fcc-symbol {
    flex: 0 0 27px; width: 27px; height: 27px; border-radius: .46rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--fcc-color); color: #fff; font-size: .78rem; font-weight: 850;
}
.fcc-amount-copy { display: flex; flex-direction: column; min-width: 0; }
.fcc-amount-copy small { color: #64748b; font-size: .56rem; line-height: 1; font-weight: 700; text-transform: uppercase; }
.fcc-amount-copy strong { margin-top: .12rem; font-size: .9rem; line-height: 1; font-weight: 850; white-space: nowrap; }
.fcc-try { --fcc-color: #dc2626; --fcc-bg: #fff7f7; --fcc-line: #fecaca; }
.fcc-usd { --fcc-color: #059669; --fcc-bg: #f0fdf8; --fcc-line: #a7f3d0; }
body.theme-dark .fault-cost-compact { background: #151d30; border-color: #2a3852; }
body.theme-dark .fcc-title { color: #f5f8fc; }
body.theme-dark .fcc-subtitle { color: #7c8aa5; }
body.theme-dark .fcc-count { background: #1c2740; border-color: #2f3d57; color: #cbd5e1; }
body.theme-dark .fcc-amount { background: #1c2740; border-color: #33425d; color: #f1f5f9; }
body.theme-dark .fcc-amount-copy small { color: #94a3b8; }
@media (max-width: 767.98px) {
    .fault-cost-compact {
        display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem .55rem;
        min-height: 0; padding: .55rem; border-radius: .8rem;
    }
    .fcc-info { min-width: 0; gap: .45rem; }
    .fcc-icon { flex-basis: 31px; width: 31px; height: 31px; border-radius: .52rem; }
    .fcc-title { font-size: .78rem; white-space: normal; }
    .fcc-subtitle { display: none; }
    .fcc-count { display: inline-flex; align-items: center; padding: .24rem .42rem; font-size: .59rem; }
    .fcc-amounts {
        grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%; gap: .4rem; margin-left: 0;
    }
    .fcc-amount { min-width: 0; padding: .34rem .42rem .34rem .3rem; gap: .35rem; }
    .fcc-symbol { flex-basis: 25px; width: 25px; height: 25px; font-size: .72rem; }
    .fcc-amount-copy small { display: block; font-size: .52rem; }
    .fcc-amount-copy strong { margin-top: .1rem; font-size: clamp(.76rem, 3.6vw, .9rem); overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 380px) {
    .fault-cost-compact { padding: .45rem; }
    .fcc-icon { flex-basis: 29px; width: 29px; height: 29px; }
    .fcc-count { font-size: .55rem; padding-inline: .34rem; }
    .fcc-symbol { flex-basis: 23px; width: 23px; height: 23px; }
    .fcc-amount { padding-right: .3rem; gap: .28rem; }
    .fcc-amount-copy strong { font-size: .74rem; }
}

/* =====================================================================
   ALIM GECMISI TABLOSU - MOBILDE KART GORUNUMU
   ===================================================================== */
@media (max-width: 575.98px) {
    .purchase-history-table { border: 0; }
    .purchase-history-table thead { display: none; }
    .purchase-history-table tbody { display: flex; flex-direction: column; gap: .55rem; }
    .purchase-history-table tbody tr {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem .6rem;
        padding: .6rem .7rem; border: 1px solid #e6eaf0; border-radius: .7rem;
        background: #fff; box-shadow: 0 2px 8px rgba(15,23,42,.05);
    }
    .purchase-history-table tbody td {
        display: flex; flex-direction: column; gap: .12rem; padding: 0; border: 0;
        font-size: .82rem; min-width: 0;
        background: transparent !important; box-shadow: none !important; --bs-table-bg: transparent;
    }
    .purchase-history-table tbody tr { --bs-table-bg: transparent; --bs-table-accent-bg: transparent; }
    .purchase-history-table tbody td::before {
        content: attr(data-label); font-size: .6rem; font-weight: 800; letter-spacing: .03em;
        text-transform: uppercase; color: #94a3b8;
    }
    .purchase-history-table tbody td[data-label=""]::before { content: none; }
    .purchase-history-table tbody td.ph-actions {
        grid-column: 1 / -1; flex-direction: row; justify-content: flex-end; gap: .4rem;
        margin-top: .1rem; padding-top: .5rem; border-top: 1px dashed #e2e8f0;
    }
    .purchase-history-table tbody td.ph-actions::before { content: none; }
    .purchase-history-table tbody td.ph-actions .btn { flex: 1; max-width: 60px; }

    .purchase-history-table tfoot { display: block; margin-top: .6rem; }
    .purchase-history-table tfoot tr.ph-total {
        display: flex; align-items: center; gap: .7rem;
        padding: .65rem .8rem; border: 0; border-radius: .75rem;
        background: linear-gradient(135deg, #16a34a, #15803d);
        --bs-table-bg: transparent; --bs-table-accent-bg: transparent;
    }
    .purchase-history-table tfoot tr.ph-total td {
        padding: 0; border: 0; color: #fff !important;
        background: transparent !important; box-shadow: none !important; --bs-table-bg: transparent;
    }
    /* "Toplam" basligi - solda rozet gibi */
    .purchase-history-table tfoot tr.ph-total td.ph-total-title {
        display: inline-flex; align-items: center; gap: .4rem;
        font-size: .82rem; font-weight: 800; letter-spacing: .02em;
        padding-right: .7rem; margin-right: auto;
    }
    .purchase-history-table tfoot tr.ph-total td.ph-total-title::before {
        content: "\F4C3"; font-family: "bootstrap-icons"; font-size: 1rem; font-weight: 400;
        color: rgba(255,255,255,.85); text-transform: none;
    }
    /* Adet ve Tutar degerleri - etiket ustte, deger altta */
    .purchase-history-table tfoot tr.ph-total td[data-label]:not(.ph-total-title) {
        display: flex; flex-direction: column; align-items: flex-end; gap: .1rem; text-align: right;
        font-size: .95rem; font-weight: 800; line-height: 1.1;
    }
    .purchase-history-table tfoot tr.ph-total td[data-label]:not(.ph-total-title)::before {
        content: attr(data-label); font-size: .58rem; font-weight: 700; text-transform: uppercase;
        letter-spacing: .04em; color: rgba(255,255,255,.6);
    }
}
body.theme-dark .purchase-history-table tbody tr { background: #1c2740; border-color: #33425d; }
@media (max-width: 575.98px) {
    body.theme-dark .purchase-history-table tbody td::before { color: #7c8aa5; }
    body.theme-dark .purchase-history-table tbody td.ph-actions { border-top-color: #33425d; }
}

/* =====================================================================
   KOMPAKT MOD - sayfaya daha cok veri sigsin diye yukseklikler daraltildi
   ===================================================================== */

/* Ust bar ve icerik bosluklari */
.topbar { height: 54px; padding: 0 1.15rem; }
.topbar-title { font-size: 1rem; }
.avatar { width: 30px; height: 30px; font-size: .85rem; }
.content { padding: 1.1rem 1.15rem; }

/* Kartlar arasi bosluk */
.content .mb-4 { margin-bottom: .85rem !important; }
.content .mb-3 { margin-bottom: .7rem !important; }
.content .g-3 { --bs-gutter-y: .65rem; --bs-gutter-x: .65rem; }

/* Kart govde/baslik */
.card-body { padding: .85rem 1rem; }
.card-header { padding: .65rem 1rem; }

/* Dashboard stat-card */
.stat-card { padding: .9rem 1rem; gap: .75rem; border-radius: .85rem; }
.stat-card .icon { width: 42px; height: 42px; font-size: 1.15rem; border-radius: .65rem; }
.stat-card .value { font-size: 1.35rem; }
.stat-card .label { font-size: .8rem; }

/* Ozet istatistik kartlari (asset-stat) */
.asset-stat { padding: .8rem .9rem; gap: .7rem; border-radius: .8rem; }
.asset-stat-icon { width: 40px; height: 40px; font-size: 1.15rem; border-radius: .65rem; }
.asset-stat-value { font-size: 1.3rem; }
.asset-stat-label { font-size: .78rem; }

/* Tablolar - satir yuksekligini kis */
.table > :not(caption) > * > * { padding: .5rem .8rem; }
.asset-table td { padding: .5rem .8rem; }
.asset-table thead th { font-size: .7rem; }
.asset-avatar { width: 32px; height: 32px; font-size: .95rem; border-radius: .55rem; }

/* Liste gruplari (dashboard) */
.list-group-item { padding-top: .6rem; padding-bottom: .6rem; }

/* Durum sekmeleri */
.asset-tab { padding: .32rem .75rem; font-size: .84rem; }

/* Rapor paneli */
.report-panel { padding: .6rem .8rem; margin-top: .7rem; }
.report-icon { width: 34px; height: 34px; font-size: 1rem; }
.report-apply { padding: .5rem .9rem; }

/* Form kontrolleri biraz daha kompakt */
.form-control, .form-select { padding-top: .4rem; padding-bottom: .4rem; }
.btn { padding-top: .4rem; padding-bottom: .4rem; }

/* Modal govdesi */
.modal-body { padding: 1rem 1.15rem; }
.modal-header, .modal-footer { padding: .7rem 1.15rem; }

/* =====================================================================
   GIRIS SAYFASI - MODERN IKI PANELLI
   ===================================================================== */
.auth-wrap {
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    padding: 1.25rem;
    background:
        radial-gradient(1000px 600px at 10% 10%, #fef2f2 0%, rgba(254,242,242,0) 55%),
        radial-gradient(900px 600px at 90% 90%, #fef2f2 0%, rgba(254,242,242,0) 55%),
        #f1f5f9;
}
.auth-card {
    width: 100%; max-width: 940px;
    display: grid; grid-template-columns: 1.05fr 1fr;
    background: #fff;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 30px 70px rgba(16,24,40,.18), 0 2px 6px rgba(16,24,40,.05);
}

/* Sol panel - sade & dekoratif */
.auth-side {
    position: relative;
    background: linear-gradient(150deg, #dc2626 0%, #dc2626 55%, #b91c1c 100%);
    color: #fff;
    padding: 2.5rem;
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    overflow: hidden;
    min-height: 480px;
}
.auth-side-glow {
    position: absolute; inset: 0;
    background:
        radial-gradient(340px 340px at 82% 12%, rgba(255,255,255,.18), transparent 70%),
        radial-gradient(300px 300px at 12% 92%, rgba(255,255,255,.12), transparent 70%);
    pointer-events: none;
}
/* Yuzen dekoratif daireler */
.auth-orb { position: absolute; border-radius: 50%; pointer-events: none; }
.auth-orb-1 {
    width: 220px; height: 220px; top: -60px; right: -50px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
}
.auth-orb-2 {
    width: 140px; height: 140px; bottom: 30px; left: -40px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
}
.auth-orb-3 {
    width: 90px; height: 90px; bottom: -30px; right: 60px;
    background: rgba(252,165,165,.18);
}

.auth-side-center { position: relative; z-index: 1; text-align: center; }
.auth-logo-img {
    width: 320px; max-width: 90%; height: auto; display: block; margin: 0 auto;
    filter: drop-shadow(0 12px 28px rgba(0,0,0,.3));
}
.auth-brand-sub {
    margin-top: 1rem; font-size: .9rem; letter-spacing: .28em; text-transform: uppercase;
    color: rgba(255,255,255,.85); text-align: center;
}

/* Sirket grubu logolari (giris ekrani sol panel) */
.auth-groups {
    position: relative; z-index: 1;
    margin-top: 1.8rem; padding-top: 1.4rem;
    border-top: 1px solid rgba(255,255,255,.22);
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .7rem;
    max-width: 340px; margin-left: auto; margin-right: auto;
}
.auth-group-logo {
    width: 62px; height: 62px; border-radius: .8rem; flex-shrink: 0;
    background: #fff; padding: 8px;
    display: inline-flex; align-items: center; justify-content: center;
    box-shadow: 0 8px 20px rgba(0,0,0,.22);
    transition: transform .18s ease;
}
.auth-group-logo:hover { transform: translateY(-3px); }
.auth-group-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* Mobil form ustundeki grup logolari - varsayilan gizli (desktopta sol panelde) */
.auth-groups-mobile { display: none; }
.auth-side-foot {
    position: absolute; bottom: 1.5rem; left: 0; right: 0;
    z-index: 1; text-align: center;
    font-size: .8rem; color: #ffffff;
}

/* Sag panel (form) */
.auth-form { padding: 2.75rem 2.5rem; display: flex; flex-direction: column; justify-content: center; }
.auth-form-head { margin-bottom: 1.75rem; text-align: center; }
.auth-form-logo { width: 200px; height: auto; margin: 0 auto; display: none; }

.auth-alert {
    display: flex; align-items: center; gap: .5rem;
    background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;
    padding: .7rem .9rem; border-radius: .7rem; font-size: .88rem; margin-bottom: 1.1rem;
}

.auth-group { margin-bottom: 1.05rem; }
.auth-group label { display: block; font-size: .82rem; font-weight: 600; color: #475569; margin-bottom: .4rem; }
.auth-input {
    display: flex; align-items: center; gap: .6rem;
    background: #f8fafc; border: 1.5px solid #e6eaf0; border-radius: .8rem;
    padding: 0 .9rem;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.auth-input:focus-within { background: #fff; border-color: #dc2626; box-shadow: 0 0 0 4px rgba(220,38,38,.12); }
.auth-input > i { color: #94a3b8; font-size: 1.05rem; }
.auth-input input {
    flex: 1; border: none; background: transparent; outline: none;
    padding: .78rem 0; font-size: .95rem; color: #1e293b;
}
.auth-eye {
    border: none; background: transparent; cursor: pointer;
    color: #94a3b8; padding: .3rem; display: inline-flex; border-radius: .4rem;
}
.auth-eye:hover { color: #dc2626; }

.auth-submit {
    width: 100%; border: none; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    background: linear-gradient(135deg, #dc2626, #dc2626);
    color: #fff; font-weight: 600; font-size: 1rem;
    padding: .85rem; border-radius: .85rem; margin-top: .35rem;
    box-shadow: 0 10px 24px rgba(220,38,38,.4);
    transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}
.auth-submit:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(220,38,38,.5); filter: brightness(1.04); }
.auth-submit:active { transform: translateY(0); }

.auth-form-foot {
    margin-top: 1.5rem; text-align: center;
    font-size: .8rem; color: #94a3b8; display: flex; align-items: center; justify-content: center; gap: .4rem;
}
.auth-form-foot i { color: #22c55e; }

/* Mobilde gorunen slogan/telif: masaustunde gizli (solda zaten var) */
.auth-form-slogan { display: none; }
.auth-form-copy { display: none; }

/* Responsive: tek kolon */
@media (max-width: 767.98px) {
    .auth-card { grid-template-columns: 1fr; max-width: 440px; }
    .auth-side { display: none; }
    .auth-form { padding: 2rem 1.75rem 1.5rem; display: flex; flex-direction: column; }
    .auth-form-logo { display: block; margin-left: auto; margin-right: auto; }
    .auth-form-head { text-align: center; }

    /* Mobilde logonun altindaki slogan/rozet gizli, logo tek basina ortali */
    .auth-form-slogan { display: none !important; }

    /* Mobilde grup logolari formun ustunde gorunur */
    .auth-groups-mobile {
        display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
        gap: .55rem; margin: 1.1rem auto 0; padding-top: 1rem;
        border-top: 1px solid #eef1f6; max-width: 320px;
    }
    .auth-groups-mobile .auth-group-logo {
        width: 50px; height: 50px; padding: 6px; border-radius: .7rem;
        border: 1px solid #eef1f6; box-shadow: 0 4px 12px rgba(0,0,0,.08);
    }

    /* En altta telif - modern ince ayrac ile */
    .auth-form-copy {
        display: block; text-align: center; margin-top: auto;
        padding-top: 1.1rem; font-size: .78rem; font-weight: 500; color: #94a3b8;
        position: relative;
    }
    .auth-form-copy::before {
        content: ""; display: block; width: 44px; height: 3px; border-radius: 3px;
        margin: 0 auto .8rem;
        background: linear-gradient(90deg, var(--primary, #dc2626), rgba(var(--primary-rgb, 220,38,38), .25));
    }
}

/* Dark tema (mobil giris) */
body.theme-dark .auth-form-copy { color: #64748b; }

/* =====================================================================
   ARIZA DETAY - DURUMA GORE VURGU RENGI
   ===================================================================== */
/* Kapali (yesil) durumda ic ogeleri de yesile uyarla */
.fault-detail.accent-emerald .fault-info > i { color: #059669; }
.fault-detail.accent-emerald .fault-timeline-item.done .dot {
    background: #059669; box-shadow: 0 0 0 2px rgba(16,185,129,.3);
}
.fault-detail.accent-emerald .fault-timeline-item:not(:last-child)::before { background: #bbf7d0; }

/* Acik (kirmizi) durumda ic ogeler marka kirmizisi */
.fault-detail.accent-rose .fault-info > i { color: #dc2626; }
.fault-detail.accent-rose .fault-timeline-item.done .dot {
    background: #dc2626; box-shadow: 0 0 0 2px rgba(220,38,38,.3);
}

/* =====================================================================
   MOBIL UYUMLULUK (genel)
   ===================================================================== */
/* Sidebar overlay - mobilde sidebar acikken arka plan karartma */
.sidebar-overlay {
    position: fixed; inset: 0;
    background: rgba(15,23,42,.5);
    opacity: 0; visibility: hidden;
    transition: opacity .25s ease;
    z-index: 1035;
}
body.sidebar-open .sidebar-overlay { opacity: 1; visibility: visible; }

@media (max-width: 991.98px) {
    .sidebar { z-index: 1045; box-shadow: 4px 0 24px rgba(0,0,0,.25); }
    /* Sidebar acikken sayfa kaymasin */
    body.sidebar-open { overflow: hidden; }
}

/* Yatay tasmayi engelle */
html, body { max-width: 100%; overflow-x: hidden; }
.main-area { max-width: 100%; }
.content { max-width: 100%; }

@media (max-width: 767.98px) {
    /* Ust bar */
    .topbar { height: 52px; padding: 0 .85rem; gap: .6rem; }
    .topbar-title { font-size: .95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .topbar-user .dropdown-toggle .badge { display: none; }
    .content { padding: .85rem .8rem; }

    /* Kart ic bosluklari */
    .card-body { padding: .8rem .85rem; }
    .card-header { padding: .6rem .85rem; }

    /* Istatistik kartlari - deger tasmasin */
    .stat-card .value, .asset-stat-value { font-size: 1.15rem; word-break: break-word; }
    .stat-card, .asset-stat { padding: .75rem .8rem; gap: .6rem; }
    .stat-card .icon, .asset-stat-icon { width: 38px; height: 38px; font-size: 1.05rem; }

    /* Arac cubugu (demirbas/ariza) - dikey akis */
    .card-body > .d-flex.flex-wrap { gap: .5rem !important; }
    .card-body > .d-flex.flex-wrap > .btn,
    .card-body > .d-flex.flex-wrap > form,
    .card-body > .d-flex.flex-wrap > .form-select { width: 100%; }
    .card-body > .d-flex.flex-wrap .form-select { width: 100% !important; }
    .card-body .vr { display: none !important; }

    /* Durum sekmeleri kaydirilabilir */
    .asset-tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: .25rem; }
    .asset-tabs::-webkit-scrollbar { height: 4px; }
    .asset-tab { white-space: nowrap; flex-shrink: 0; }

    /* Tablolar - yatay kaydirma zaten .table-responsive ile; font kucult */
    .table, .asset-table { font-size: .84rem; }
    .table > :not(caption) > * > *, .asset-table td { padding: .5rem .55rem; white-space: nowrap; }

    /* Rapor paneli */
    .report-panel { flex-direction: column; align-items: stretch; gap: .6rem; }
    .report-form { flex-wrap: wrap; }
    .report-fields { flex: 1; }
    .report-export { flex-wrap: wrap; justify-content: flex-start; }
    .btn-export { flex: 1; justify-content: center; white-space: nowrap; }
    .btn-transfer { flex-basis: 100%; }

    /* Modallar - kenar boslugu */
    .modal-dialog { margin: .6rem; }
    .modal-body { padding: .9rem; }
    .modal-body .row > [class*="col-"] { margin-bottom: .15rem; }

    /* Dashboard sube secici satiri */
    .card-body.d-flex.justify-content-between { flex-direction: column; align-items: stretch !important; }

    /* Detay modali basligi */
    .fault-detail-head { padding: 1.1rem; }
    .fault-detail-title { font-size: 1.05rem; }
}

/* Cok kucuk ekranlar */
@media (max-width: 400px) {
    .asset-stat-value { font-size: 1.05rem; }
    .stat-card .value { font-size: 1.05rem; }
    .btn { font-size: .85rem; }
}


/* =====================================================================
   CEREZ ONAY BILDIRIMI - PREMIUM
   ===================================================================== */
.cookie-card {
    position: fixed; z-index: 1060;
    left: 1.5rem; bottom: 1.5rem; width: 370px; max-width: calc(100vw - 3rem);
    background: #fff;
    border: 1px solid #eceef4;
    border-radius: 1.25rem;
    box-shadow: 0 24px 60px rgba(16,24,40,.28), 0 2px 6px rgba(16,24,40,.06);
    overflow: hidden;
    transform: translateY(160%) scale(.96); opacity: 0;
    transition: transform .45s cubic-bezier(.34,1.2,.4,1), opacity .4s ease;
}
.cookie-card.show { transform: translateY(0) scale(1); opacity: 1; }
/* Ust kirmizi seritte ince vurgu */
.cookie-card::before {
    content: ''; display: block; height: 4px;
    background: linear-gradient(90deg, #ef4444, #b91c1c);
}

.cookie-head { display: flex; align-items: flex-start; gap: .85rem; padding: 1.15rem 1.2rem .5rem; }
.cookie-emoji {
    width: 46px; height: 46px; flex-shrink: 0; border-radius: .9rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, rgba(239,68,68,.14), rgba(185,28,28,.14));
    color: var(--primary); font-size: 1.5rem;
    animation: cookieBob 2.4s ease-in-out infinite;
}
@keyframes cookieBob { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(-6deg); } }
.cookie-head h6 { margin: 0 0 .2rem; font-size: .98rem; font-weight: 700; color: #0f172a; }
.cookie-head p  { margin: 0; font-size: .82rem; color: #64748b; line-height: 1.45; }
.cookie-x {
    border: none; background: transparent; cursor: pointer; color: #cbd5e1;
    padding: .2rem; border-radius: .4rem; line-height: 1; flex-shrink: 0; font-size: .9rem;
    transition: color .12s, background .12s;
}
.cookie-x:hover { color: #64748b; background: #f1f5f9; }

.cookie-foot { display: flex; gap: .6rem; padding: .5rem 1.2rem 1.2rem; }
.cookie-btn {
    flex: 1; border: none; cursor: pointer; white-space: nowrap;
    display: inline-flex; align-items: center; justify-content: center; gap: .35rem;
    padding: .65rem .9rem; border-radius: .75rem; font-size: .86rem; font-weight: 600;
    transition: transform .12s ease, filter .12s ease, background .12s ease;
}
.cookie-btn-accept {
    background: linear-gradient(135deg, #ef4444, #b91c1c); color: #fff;
    box-shadow: 0 6px 16px rgba(220,38,38,.38);
}
.cookie-btn-accept:hover { transform: translateY(-1px); filter: brightness(1.05); }
.cookie-btn-ghost { background: #f4f5f9; color: #475569; border: 1px solid #eceef4; }
.cookie-btn-ghost:hover { background: #e9ebf1; color: #1e293b; }

@media (max-width: 575.98px) {
    .cookie-card { left: .75rem; right: .75rem; bottom: .75rem; width: auto; }
}

/* =====================================================================
   SERVISTE UYARI POPUP - PREMIUM
   ===================================================================== */
.svc-modal-backdrop {
    position: fixed; inset: 0; z-index: 1090;
    display: flex; align-items: center; justify-content: center; padding: 1rem;
    background: rgba(15, 23, 42, .55); backdrop-filter: blur(4px);
    opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease;
}
.svc-modal-backdrop.show { opacity: 1; visibility: visible; }
.svc-modal {
    position: relative; width: 420px; max-width: 100%;
    background: #fff; border-radius: 1.25rem; padding: 2rem 1.75rem 1.6rem;
    text-align: center; overflow: hidden;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .35);
    transform: translateY(16px) scale(.97); transition: transform .28s cubic-bezier(.34,1.56,.64,1);
}
.svc-modal-backdrop.show .svc-modal { transform: translateY(0) scale(1); }
.svc-modal-glow {
    position: absolute; top: -60px; left: 50%; transform: translateX(-50%);
    width: 220px; height: 220px; border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle, rgba(245,158,11,.25), transparent 70%);
}
.svc-modal-x {
    position: absolute; top: .9rem; right: .9rem; z-index: 2;
    width: 34px; height: 34px; border-radius: .6rem; border: none;
    background: #f1f5f9; color: #64748b; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; transition: all .15s ease;
}
.svc-modal-x:hover { background: #e2e8f0; color: #1e293b; }
.svc-modal-icon {
    position: relative; z-index: 1; width: 76px; height: 76px; margin: 0 auto 1.1rem;
    border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    font-size: 2.1rem; color: #fff;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    box-shadow: 0 12px 28px rgba(217, 119, 6, .45);
}
.svc-modal-title { position: relative; z-index: 1; font-size: 1.25rem; font-weight: 800; color: #0f172a; margin-bottom: .5rem; }
.svc-modal-text { position: relative; z-index: 1; font-size: .92rem; color: #64748b; line-height: 1.6; margin-bottom: 1.4rem; }
.svc-modal-text strong { color: #d97706; }
.svc-modal-actions { position: relative; z-index: 1; display: flex; gap: .6rem; justify-content: center; flex-wrap: wrap; }
.svc-btn {
    display: inline-flex; align-items: center; gap: .45rem; cursor: pointer;
    padding: .7rem 1.3rem; border-radius: .8rem; font-size: .92rem; font-weight: 600;
    text-decoration: none; border: 1px solid transparent; transition: all .15s ease;
}
.svc-btn-primary { background: linear-gradient(135deg, #f59e0b, #d97706); color: #fff; box-shadow: 0 6px 16px rgba(217,119,6,.4); }
.svc-btn-primary:hover { filter: brightness(1.05); transform: translateY(-1px); color: #fff; }
.svc-btn-ghost { background: #f4f5f9; color: #475569; border-color: #eceef4; }
.svc-btn-ghost:hover { background: #e9ebf1; color: #1e293b; }

/* Beklemede varyanti (lacivert) */
.svc-modal--pending .svc-modal-glow { background: radial-gradient(circle, rgba(37,99,235,.25), transparent 70%); }
.svc-modal--pending .svc-modal-icon {
    background: linear-gradient(135deg, #3b52c4, #1e3a8a);
    box-shadow: 0 12px 28px rgba(30,58,138,.45);
}
.svc-modal--pending .svc-modal-text strong { color: #1e40af; }
.svc-modal--pending .svc-btn-primary { background: linear-gradient(135deg, #3b52c4, #1e3a8a); box-shadow: 0 6px 16px rgba(30,58,138,.4); }

@media (max-width: 575.98px) {
    .svc-modal { padding: 1.6rem 1.25rem 1.3rem; }
    .svc-modal-actions { flex-direction: column; }
    .svc-btn { justify-content: center; }
}

/* =====================================================================
   ARIZA FILTRE CUBUGU - RAFINE
   ===================================================================== */
.flt-row { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }

.flt-new {
    display: inline-flex; align-items: center; gap: .45rem;
    border: none; cursor: pointer;
    background: linear-gradient(135deg, #ef4444, #b91c1c); color: #fff;
    font-weight: 600; font-size: .9rem; padding: .6rem 1.1rem; border-radius: .8rem;
    box-shadow: 0 5px 14px rgba(220,38,38,.35);
    transition: transform .12s ease, filter .12s ease;
    white-space: nowrap;
}
.flt-new:hover { transform: translateY(-1px); filter: brightness(1.05); }

.flt-search {
    position: relative; display: flex; align-items: center; flex: 1 1 260px; min-width: 220px;
    background: #f4f5f9; border: 1.5px solid #eceef4; border-radius: .8rem; padding: 0 .35rem 0 .9rem;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.flt-search:focus-within { background: #fff; border-color: #ef4444; box-shadow: 0 0 0 4px rgba(239,68,68,.12); }
.flt-search > i { color: #94a3b8; }
.flt-search input { flex: 1; border: none; background: transparent; outline: none; padding: .62rem .55rem; font-size: .9rem; color: #1e293b; min-width: 0; }
.flt-clear { color: #94a3b8; display: inline-flex; padding: .3rem .4rem; border-radius: .45rem; text-decoration: none; }
.flt-clear:hover { background: #eef1f6; color: #475569; }
.flt-go {
    border: none; background: var(--primary); color: #fff;
    border-radius: .6rem; padding: .45rem 1rem; font-size: .86rem; font-weight: 600; margin: .22rem;
    transition: background .12s;
}
.flt-go:hover { background: var(--primary-dark); }

.flt-select {
    display: flex; align-items: center; gap: .5rem;
    background: #f4f5f9; border: 1.5px solid #eceef4; border-radius: .8rem; padding: 0 .9rem;
}
.flt-select > i { color: #94a3b8; }
.flt-select select {
    border: none; background: transparent; outline: none; cursor: pointer;
    padding: .62rem 1.5rem .62rem 0; font-size: .9rem; color: #1e293b;
    -webkit-appearance: none; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right .1rem center;
}

/* Durum pill'leri */
.flt-pills { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed #eceef4; }
.flt-pill {
    display: inline-flex; align-items: center; gap: .45rem;
    padding: .45rem .9rem; border-radius: 2rem;
    font-size: .86rem; font-weight: 600; color: #64748b; text-decoration: none;
    background: #f4f5f9; border: 1.5px solid transparent;
    transition: all .15s ease;
}
.flt-pill i { font-size: .95rem; }
.flt-pill:hover { background: #e9ebf1; color: #334155; }
.flt-pill-count {
    min-width: 20px; text-align: center; background: rgba(100,116,139,.15); color: inherit;
    padding: .02rem .45rem; border-radius: 1rem; font-size: .74rem; font-weight: 700;
}
.flt-pill.flt-all.active    { background: rgba(220,38,38,.1);  color: #dc2626; border-color: rgba(220,38,38,.3); }
.flt-pill.flt-open.active   { background: rgba(244,63,94,.1);  color: #e11d48; border-color: rgba(244,63,94,.3); }
.flt-pill.flt-closed.active { background: rgba(16,185,129,.12);color: #059669; border-color: rgba(16,185,129,.35); }
.flt-pill.active .flt-pill-count { background: rgba(255,255,255,.55); }

.flt-active {
    display: inline-flex; align-items: center; gap: .4rem;
    background: rgba(220,38,38,.08); color: #dc2626; border: 1px solid rgba(220,38,38,.2);
    border-radius: 2rem; padding: .35rem .8rem; font-size: .8rem; font-weight: 600;
}
.flt-active a { color: #dc2626; display: inline-flex; text-decoration: none; }

@media (max-width: 767.98px) {
    .flt-new { width: 100%; justify-content: center; }
    .flt-search { flex: 1 1 100%; }
    .flt-select { width: 100%; }
    .flt-select select { flex: 1; }
    .flt-pills { flex-wrap: nowrap; overflow-x: auto; }
    .flt-active { margin-left: 0 !important; }
}

/* =====================================================================
   ARIZA FILTRE - KART-BUTON TASARIM (fx)
   ===================================================================== */
/* Durum kart-butonlari */
.fx-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .9rem; }
.fx-card {
    display: flex; align-items: center; gap: .9rem;
    padding: 1.1rem 1.15rem; border-radius: 1.15rem;
    background: #fff; border: 1px solid #eef1f6;
    text-decoration: none; color: #1e293b;
    box-shadow: 0 1px 2px rgba(16,24,40,.04);
    transition: transform .18s cubic-bezier(.4,0,.2,1), box-shadow .18s ease, border-color .18s ease, background .18s ease;
    position: relative; overflow: hidden;
}
.fx-card::before {
    content: ''; position: absolute; inset: 0; opacity: 0;
    transition: opacity .18s ease; pointer-events: none;
}
.fx-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(16,24,40,.1); }
.fx-card-icon {
    width: 52px; height: 52px; flex-shrink: 0; border-radius: 1rem;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.5rem; color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
    transition: transform .18s ease;
}
.fx-card:hover .fx-card-icon { transform: scale(1.06); }
.fx-card-body { display: flex; flex-direction: column; line-height: 1.05; }
.fx-card-num { font-size: 1.75rem; font-weight: 800; color: #0f172a; letter-spacing: -.02em; }
.fx-card-lbl { font-size: .82rem; color: #64748b; font-weight: 600; margin-top: .1rem; }

/* Ikon renkleri (duruma gore) */
.fx-all    .fx-card-icon { background: linear-gradient(135deg, #64748b, #334155); box-shadow: 0 6px 16px rgba(100,116,139,.35), inset 0 1px 0 rgba(255,255,255,.3); }
.fx-open   .fx-card-icon { background: linear-gradient(135deg, #f87171, #b91c1c); box-shadow: 0 6px 16px rgba(239,68,68,.4), inset 0 1px 0 rgba(255,255,255,.3); }
.fx-service .fx-card-icon { background: linear-gradient(135deg, #fbbf24, #d97706); box-shadow: 0 6px 16px rgba(217,119,6,.4), inset 0 1px 0 rgba(255,255,255,.3); }
.fx-pending .fx-card-icon { background: linear-gradient(135deg, #3b52c4, #1e3a8a); box-shadow: 0 6px 16px rgba(30,58,138,.4), inset 0 1px 0 rgba(255,255,255,.3); }
.fx-software .fx-card-icon { background: linear-gradient(135deg, #60a5fa, #2563eb); box-shadow: 0 6px 16px rgba(37,99,235,.4), inset 0 1px 0 rgba(255,255,255,.3); }

/* Ariza listesinde baslik tek satir, tasarsa uc nokta (...) */
.fault-title-cell {
    max-width: 320px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 767.98px) {
    .fault-title-cell { max-width: 180px; }
}

/* Ariza tablosu: her hucre tek satir, kompakt punto */
.asset-table td, .asset-table th { font-size: .84rem; vertical-align: middle; }
.asset-table td { white-space: nowrap; }
/* Demirbas hucresi: kod ustte, isim altta - ikisi de tek satir + ellipsis */
.fault-asset-cell { max-width: 220px; }
.fault-asset-cell code { display: block; font-size: .72rem; line-height: 1.2; }
.fault-asset-cell .fac-name {
    display: block; max-width: 220px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    line-height: 1.2;
}
/* Sube tek satir + ellipsis */
.fault-branch-cell {
    max-width: 160px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* Acilis tarihi tek satir */
.fault-date-cell, .fault-date-cell small { white-space: nowrap; }
.fault-date-cell small { font-size: .8rem; }

@media (max-width: 767.98px) {
    .fault-asset-cell, .fault-asset-cell .fac-name { max-width: 130px; }
    .fault-branch-cell { max-width: 110px; }
}

/* Beklemede/Serviste kartinda kayit varsa ikon + rakam yanip sonsun */
.fx-card.fx-blink .fx-card-icon,
.fx-card.fx-blink .fx-card-num { animation: fxBlink 1.1s ease-in-out infinite; }
@keyframes fxBlink {
    0%, 100% { opacity: 1; }
    50%      { opacity: .25; }
}
@media (prefers-reduced-motion: reduce) {
    .fx-card.fx-blink .fx-card-icon,
    .fx-card.fx-blink .fx-card-num { animation: none; }
}
.fx-closed .fx-card-icon { background: linear-gradient(135deg, #34d399, #047857); box-shadow: 0 6px 16px rgba(16,185,129,.4), inset 0 1px 0 rgba(255,255,255,.3); }

/* Aktif kart - yumusak renkli zemin + belirgin cerceve */
.fx-card.active { border-width: 1.5px; }
.fx-card.fx-all.active    { border-color: #cbd5e1; background: linear-gradient(180deg, #f8fafc, #fff); box-shadow: 0 10px 26px rgba(100,116,139,.18); }
.fx-card.fx-open.active   { border-color: #fca5a5; background: linear-gradient(180deg, #fef2f2, #fff); box-shadow: 0 10px 26px rgba(239,68,68,.18); }
.fx-card.fx-service.active { border-color: #fcd34d; background: linear-gradient(180deg, #fffbeb, #fff); box-shadow: 0 10px 26px rgba(217,119,6,.18); }
.fx-card.fx-pending.active { border-color: #a5b4fc; background: linear-gradient(180deg, #eef2ff, #fff); box-shadow: 0 10px 26px rgba(30,58,138,.18); }
.fx-card.fx-software.active { border-color: #93c5fd; background: linear-gradient(180deg, #eff6ff, #fff); box-shadow: 0 10px 26px rgba(37,99,235,.18); }
.fx-card.fx-closed.active { border-color: #6ee7b7; background: linear-gradient(180deg, #f0fdf4, #fff); box-shadow: 0 10px 26px rgba(16,185,129,.18); }
.fx-card.active::after {
    content: ''; position: absolute; left: 0; top: 12%; bottom: 12%; width: 4px; border-radius: 0 4px 4px 0;
}
.fx-card.fx-all.active::after    { background: #64748b; }
.fx-card.fx-open.active::after   { background: #ef4444; }
.fx-card.fx-service.active::after { background: #d97706; }
.fx-card.fx-pending.active::after { background: #1e3a8a; }
.fx-card.fx-software.active::after { background: #2563eb; }
.fx-card.fx-closed.active::after { background: #10b981; }
/* Aktif kartta sayi rengini duruma boya */
.fx-card.fx-open.active .fx-card-num   { color: #dc2626; }
.fx-card.fx-service.active .fx-card-num { color: #d97706; }
.fx-card.fx-pending.active .fx-card-num { color: #1e3a8a; }
.fx-card.fx-software.active .fx-card-num { color: #2563eb; }
.fx-card.fx-closed.active .fx-card-num { color: #059669; }

/* Alt cubuk: arama + sube + yeni */
.fx-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: 1rem; }
.fx-search {
    position: relative; display: flex; align-items: center; flex: 1 1 240px; min-width: 200px;
    background: #f6f7fb; border: 1.5px solid #eceef4; border-radius: .85rem; padding: 0 .5rem 0 .95rem;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.fx-search:focus-within { background: #fff; border-color: #ef4444; box-shadow: 0 0 0 4px rgba(239,68,68,.12); }
.fx-search > i { color: #94a3b8; }
.fx-search input { flex: 1; border: none; background: transparent; outline: none; padding: .68rem .55rem; font-size: .92rem; color: #1e293b; min-width: 0; }
.fx-clear { color: #94a3b8; display: inline-flex; padding: .3rem .4rem; border-radius: .45rem; text-decoration: none; }
.fx-clear:hover { background: #eef1f6; color: #475569; }

.fx-select {
    display: flex; align-items: center; gap: .5rem;
    background: #f6f7fb; border: 1.5px solid #eceef4; border-radius: .85rem; padding: 0 .95rem;
}
.fx-select > i { color: #94a3b8; }
.fx-select select {
    border: none; background: transparent; outline: none; cursor: pointer;
    padding: .68rem 1.5rem .68rem 0; font-size: .92rem; color: #1e293b;
    -webkit-appearance: none; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right .1rem center;
}

.fx-new {
    display: inline-flex; align-items: center; gap: .45rem;
    border: none; cursor: pointer;
    background: linear-gradient(135deg, #ef4444, #b91c1c); color: #fff;
    font-weight: 600; font-size: .92rem; padding: .7rem 1.25rem; border-radius: .85rem;
    box-shadow: 0 6px 16px rgba(220,38,38,.38);
    transition: transform .12s ease, filter .12s ease; white-space: nowrap;
}
.fx-new:hover { transform: translateY(-1px); filter: brightness(1.05); }

/* fx-new renk varyantlari (dashboard hizli islem renkleriyle uyumlu) */
.fx-new--rose   { background: linear-gradient(135deg, #ef4444, #b91c1c); box-shadow: 0 6px 16px rgba(239, 68, 68, .38); }    /* ariza */
.fx-new--navy   { background: linear-gradient(135deg, #1e3a8a, #0f172a); box-shadow: 0 6px 16px rgba(30, 58, 138, .38); }   /* demirbas */
.fx-new--orange { background: linear-gradient(135deg, #f97316, #c2410c); box-shadow: 0 6px 16px rgba(249, 115, 22, .38); }  /* sarf */
.fx-new--green  { background: linear-gradient(135deg, #16a34a, #15803d); box-shadow: 0 6px 16px rgba(22, 163, 74, .38); }   /* parca */
.fx-new--sky    { background: linear-gradient(135deg, #0ea5e9, #0284c7); box-shadow: 0 6px 16px rgba(14, 165, 233, .38); }  /* genel rapor */

@media (max-width: 767.98px) {
    /* Kartlar kompakt: 2 sutun, kucuk ve az yer kaplayan */
    .fx-cards { grid-template-columns: repeat(2, 1fr); gap: .5rem; }
    .fx-card { flex-direction: row; align-items: center; gap: .55rem; padding: .55rem .65rem; border-radius: .8rem; }
    .fx-card-icon { width: 34px; height: 34px; font-size: 1rem; border-radius: .6rem; }
    .fx-card-num { font-size: 1.15rem; }
    .fx-card-lbl { font-size: .7rem; }
    .fx-card.active::after { top: 8px; bottom: 8px; width: 3px; }

    .fx-search { flex: 1 1 100%; }
    .fx-select, .fx-new { width: 100%; justify-content: center; }
    .fx-select select { flex: 1; }
}

/* 5'li kart grubu (demirbas) mobilde 3 sutuna sigar, cok yer kaplamasin */
@media (max-width: 767.98px) {
    .fx-cards-5 { grid-template-columns: repeat(3, 1fr); gap: .45rem; }
    .fx-cards-5 .fx-card { flex-direction: column; align-items: flex-start; gap: .25rem; padding: .5rem .55rem; }
    .fx-cards-5 .fx-card-icon { width: 30px; height: 30px; font-size: .9rem; }
    .fx-cards-5 .fx-card-num { font-size: 1.05rem; }
    .fx-cards-5 .fx-card-lbl { font-size: .66rem; }
}
@media (max-width: 400px) {
    .fx-cards-5 { grid-template-columns: repeat(2, 1fr); }
}

/* ============ 3'lu OZET KART GRUBU (sarf malzeme) - modern ============ */
.fx-cards-3 { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.fx-cards-3 .fx-card {
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border-radius: 1.1rem;
    border: 1px solid #eef1f6;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(148,163,184,.06), transparent 55%),
        #fff;
    box-shadow: 0 1px 2px rgba(16,24,40,.05), 0 8px 24px -18px rgba(16,24,40,.2);
}
/* Sol renkli aksan cizgisi (kart tonuna gore) */
.fx-cards-3 .fx-card::after {
    content: ''; position: absolute; left: 0; top: 18%; bottom: 18%;
    width: 4px; border-radius: 0 4px 4px 0; opacity: .9;
}
.fx-cards-3 .fx-closed::after  { background: linear-gradient(180deg, #34d399, #047857); }
.fx-cards-3 .fx-all::after     { background: linear-gradient(180deg, #64748b, #334155); }
.fx-cards-3 .fx-service::after { background: linear-gradient(180deg, #fbbf24, #d97706); }
/* Ikon: yumusak halka + hafif buyuk */
.fx-cards-3 .fx-card-icon { width: 54px; height: 54px; font-size: 1.55rem; border-radius: 1.05rem; }
.fx-cards-3 .fx-card-num { font-size: 1.9rem; font-weight: 800; letter-spacing: -.03em; }
.fx-cards-3 .fx-card-lbl {
    font-size: .72rem; font-weight: 700; margin-top: .2rem;
    text-transform: uppercase; letter-spacing: .04em; color: #94a3b8;
}
.fx-cards-3 .fx-card:hover { box-shadow: 0 16px 34px -14px rgba(16,24,40,.22); }

/* Mobilde: ikon + sayi yan yana (ust satir), etiket altta ortali */
@media (max-width: 575.98px) {
    .fx-cards-3 { grid-template-columns: repeat(3, 1fr) !important; gap: .55rem; }
    .fx-cards-3 .fx-card {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: .35rem .55rem;
        padding: .9rem .5rem .8rem;
        border-radius: 1rem;
    }
    /* Aksan cizgisini ustte yatay serit yap */
    .fx-cards-3 .fx-card::after {
        left: 22%; right: 22%; top: 0; bottom: auto;
        width: auto; height: 3px; border-radius: 0 0 3px 3px;
    }
    /* fx-card-body sarmalayicisini kaldir: num ve lbl dogrudan karta katilsin */
    .fx-cards-3 .fx-card-body { display: contents; }
    .fx-cards-3 .fx-card-icon {
        width: 40px; height: 40px; font-size: 1.15rem; border-radius: .8rem;
        flex: 0 0 auto;
    }
    /* Sayi tam genislik -> her zaman ikonun altina, ortali (tum kartlar ayni) */
    .fx-cards-3 .fx-card-num {
        flex: 1 1 100%;
        font-size: 1.55rem; font-weight: 800; letter-spacing: -.02em; line-height: 1;
    }
    /* Etiket tam genislik -> sayinin altina duser, ortalanir */
    .fx-cards-3 .fx-card-lbl {
        flex: 1 1 100%;
        margin-top: .15rem;
        font-size: .64rem; font-weight: 700;
        text-transform: uppercase; letter-spacing: .03em; color: #94a3b8;
    }
}

/* Cok dar ekranlarda sayi/etiket biraz kuculsun, tasmasin */
@media (max-width: 360px) {
    .fx-cards-3 .fx-card-icon { width: 34px; height: 34px; font-size: 1rem; }
    .fx-cards-3 .fx-card-num { font-size: 1.3rem; }
    .fx-cards-3 .fx-card-lbl { font-size: .58rem; }
}

/* Parcalar kartlari mobilde tek sutun - para birimli metin tasmasin */
@media (max-width: 575.98px) {
    .fx-cards-parts { grid-template-columns: 1fr !important; }
    .fx-cards-parts .fx-card { flex-direction: row; align-items: center; }
    .fx-cards-parts .fx-card-num { font-size: 1.2rem !important; }
}

/* =====================================================================
   ARIZA SUBE DROPDOWN (fx) - native select yerine sik menu
   ===================================================================== */
.fx-dd .fx-ddbtn {
    display: inline-flex; align-items: center; gap: .55rem;
    background: #f6f7fb; border: 1.5px solid #eceef4; border-radius: .85rem;
    padding: .68rem 1rem; cursor: pointer; min-width: 180px;
    font-size: .92rem; color: #1e293b; font-weight: 500;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.fx-dd .fx-ddbtn:hover { background: #fff; border-color: #cbd5e1; }
.fx-dd.show .fx-ddbtn,
.fx-dd .fx-ddbtn[aria-expanded="true"] {
    background: #fff; border-color: #ef4444; box-shadow: 0 0 0 4px rgba(239,68,68,.12);
}
.fx-ddbtn > i.bi-building { color: #94a3b8; }
.fx-ddbtn-lbl { flex: 1; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fx-ddbtn-caret { color: #94a3b8; font-size: .8rem; transition: transform .15s ease; }
.fx-dd.show .fx-ddbtn-caret { transform: rotate(180deg); }

/* Kilitli sube gostergesi (yetkisiz kullanici tek subeye kilitli) */
.fx-ddbtn-locked {
    display: inline-flex; align-items: center; gap: .55rem;
    background: #f1f5f9; border: 1.5px solid #e2e8f0; border-radius: .85rem;
    padding: .68rem 1rem; min-width: 180px; cursor: default;
    font-size: .92rem; color: #475569; font-weight: 500;
}
.fx-ddbtn-locked > i.bi-building { color: #94a3b8; }
.fx-ddbtn-locked .bi-lock-fill { color: #94a3b8; font-size: .8rem; }

.fx-dd { position: relative; flex: 0 0 auto; }
.fx-ddmenu {
    border: 1px solid #eceef4; border-radius: .9rem;
    box-shadow: 0 14px 34px rgba(16,24,40,.16);
    padding: .35rem; margin-top: .4rem !important;
    max-height: 320px; overflow-y: auto; overflow-x: hidden;
    /* Buton genisligiyle ayni ac */
    min-width: 100%; width: 100%;
}
.fx-dditem {
    display: flex; align-items: center; gap: .6rem;
    padding: .58rem .7rem; border-radius: .6rem;
    font-size: .92rem; color: #334155; text-decoration: none;
    transition: background .12s, color .12s;
}
.fx-dditem > i { color: #94a3b8; width: 18px; text-align: center; flex-shrink: 0; }
/* Uzun sube adlari tasmasin: tek satir + ... */
.fx-dditem > span { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.fx-dditem .bi-check-lg { flex-shrink: 0; }
.fx-dditem:hover { background: #f4f5f9; color: #0f172a; }
.fx-dditem.active { background: rgba(220,38,38,.1); color: #dc2626; font-weight: 600; }
.fx-dditem.active > i, .fx-dditem .bi-check-lg { color: #dc2626; }

/* Şube arama kutusu — fx-dd dropdown içi */
.fx-dd-search-wrap {
    position: sticky; top: 0; z-index: 2;
    background: #fff; padding: .45rem .5rem .4rem;
    border-bottom: 1px solid #eceef4;
    display: flex; align-items: center; gap: .4rem;
}
.fx-dd-search {
    flex: 1; border: 1px solid #e2e8f0; border-radius: .55rem;
    padding: .38rem .75rem .38rem 2rem; font-size: .87rem; color: #1e293b;
    background: #f8fafc; outline: none; transition: border-color .14s, box-shadow .14s;
    width: 100%;
}
.fx-dd-search:focus { border-color: var(--primary, #dc2626); background: #fff; box-shadow: 0 0 0 3px rgba(220,38,38,.1); }
.fx-dd-search-ic {
    position: absolute; left: .95rem; color: #94a3b8; font-size: .88rem; pointer-events: none;
}
.fx-dd-search-wrap { position: relative; }
.fx-dd-empty > .fx-dditem { color: #94a3b8; font-style: italic; cursor: default; }
.fx-dd-empty > .fx-dditem:hover { background: none; }

body.theme-dark .fx-dd-search-wrap { background: #10192b; border-bottom-color: #2a3852; }
body.theme-dark .fx-dd-search { background: #1c2740; border-color: #2f3d57; color: #e8edf5; }
body.theme-dark .fx-dd-search:focus { border-color: var(--primary, #dc2626); background: #1c2740; }

@media (max-width: 767.98px) {
    .fx-dd { width: 100%; }
    .fx-dd .fx-ddbtn { width: 100%; }
}

/* fx kartlari - 5'li grid (demirbas durumlari) */
.fx-cards-5 { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 991.98px) and (min-width: 768px) { .fx-cards-5 { grid-template-columns: repeat(3, 1fr); } }

/* Parcalar ozet kartlari: masaustunde otomatik sigar, para birimli metin tasmasin */
.fx-cards-parts { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.fx-cards-parts .fx-card-num { word-break: break-word; overflow-wrap: anywhere; line-height: 1.15; }

/* Ek fx ikon renkleri */
.fx-ok   .fx-card-icon { background: linear-gradient(135deg, #34d399, #047857); box-shadow: 0 6px 16px rgba(16,185,129,.4), inset 0 1px 0 rgba(255,255,255,.3); }
.fx-warn .fx-card-icon { background: linear-gradient(135deg, #fbbf24, #b45309); box-shadow: 0 6px 16px rgba(245,158,11,.4), inset 0 1px 0 rgba(255,255,255,.3); }
.fx-muted .fx-card-icon { background: linear-gradient(135deg, #94a3b8, #475569); box-shadow: 0 6px 16px rgba(100,116,139,.35), inset 0 1px 0 rgba(255,255,255,.3); }

.fx-card.fx-ok.active    { border-color: #6ee7b7; background: linear-gradient(180deg, #f0fdf4, #fff); box-shadow: 0 10px 26px rgba(16,185,129,.18); }
.fx-card.fx-warn.active  { border-color: #fcd34d; background: linear-gradient(180deg, #fffbeb, #fff); box-shadow: 0 10px 26px rgba(245,158,11,.18); }
.fx-card.fx-muted.active { border-color: #cbd5e1; background: linear-gradient(180deg, #f8fafc, #fff); box-shadow: 0 10px 26px rgba(100,116,139,.16); }
.fx-card.fx-ok.active::after    { background: #10b981; }
.fx-card.fx-warn.active::after  { background: #f59e0b; }
.fx-card.fx-muted.active::after { background: #94a3b8; }

/* fx ikincil (ghost) buton */
.fx-ghost {
    display: inline-flex; align-items: center; gap: .45rem;
    border: 1.5px solid #eceef4; cursor: pointer;
    background: #fff; color: #475569; font-weight: 600; font-size: .92rem;
    padding: .7rem 1.1rem; border-radius: .85rem;
    transition: border-color .14s, background .14s, color .14s; white-space: nowrap;
}
.fx-ghost:hover { background: #f8fafc; border-color: #cbd5e1; color: #1e293b; }
.fx-ghost > i { color: #dc2626; }

/* =====================================================================
   DASHBOARD - PROFESYONEL
   ===================================================================== */
/* Hero karsilama */
.dash-hero {
    position: relative;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
    padding: 1.4rem 1.6rem;
    border-radius: 1.25rem;
    background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%);
    color: #fff;
    box-shadow: 0 12px 30px rgba(220,38,38,.28);
}
.dash-hero-glow {
    position: absolute; inset: 0; pointer-events: none;
    border-radius: 1.25rem; overflow: hidden;
    background:
        radial-gradient(300px 300px at 88% -20%, rgba(255,255,255,.18), transparent 70%),
        radial-gradient(240px 240px at 15% 130%, rgba(255,255,255,.12), transparent 70%);
}
.dash-hero-brand { position: relative; z-index: 1; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.dash-hero-logos { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; }
.dash-hero-left { position: relative; z-index: 1; }
.dash-hero-logo {
    position: relative; z-index: 1; flex-shrink: 0;
    width: 60px; height: 60px; border-radius: .85rem;
    background: #fff; padding: 7px;
    display: inline-flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.dash-hero-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.dash-hero-hi { font-size: 1.4rem; font-weight: 800; letter-spacing: -.01em; }
.dash-hero-date { margin-top: .3rem; font-size: .88rem; color: rgba(255,255,255,.85); display: flex; align-items: center; gap: .4rem; }
.dash-hero-dd { position: relative; z-index: 20; }
.dash-hero-dd .fx-ddmenu { z-index: 1080; }
.dash-hero-branch {
    display: flex; align-items: center; gap: .55rem; cursor: pointer;
    background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.3);
    border-radius: .8rem; padding: .6rem 1rem; min-width: 190px;
    color: #fff; font-weight: 600; font-size: .9rem;
    backdrop-filter: blur(4px);
    transition: background .15s;
}
.dash-hero-branch:hover { background: rgba(255,255,255,.24); }
.dash-hero-branch > i.bi-funnel-fill { color: rgba(255,255,255,.85); }
.dash-hero-lbl { flex: 1; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dash-hero-caret { color: rgba(255,255,255,.85); font-size: .8rem; transition: transform .15s; }
.dash-hero-dd.show .dash-hero-caret { transform: rotate(180deg); }
.dash-hero-dd .fx-ddmenu { min-width: 100%; width: 100%; }

/* Hizli islemler (dashboard) */
.quick-actions { display: grid; grid-template-columns: repeat(var(--qa-cols, 6), 1fr); gap: .8rem; }
.qa-btn {
    position: relative; overflow: hidden;
    display: flex; align-items: center; gap: .7rem;
    padding: .9rem .9rem; border-radius: 1rem; text-decoration: none; color: #fff;
    box-shadow: 0 8px 22px rgba(0,0,0,.14);
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.qa-btn::after {
    content: ''; position: absolute; right: -30px; top: -30px;
    width: 110px; height: 110px; border-radius: 50%;
    background: rgba(255,255,255,.14); pointer-events: none;
}
.qa-btn:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0,0,0,.2); color: #fff; filter: brightness(1.03); }
.qa-ic {
    flex-shrink: 0; width: 42px; height: 42px; border-radius: .75rem;
    background: rgba(255,255,255,.22);
    display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem;
}
.qa-body { display: flex; flex-direction: column; min-width: 0; position: relative; z-index: 1; }
.qa-title { font-weight: 700; font-size: .9rem; line-height: 1.2; }
.qa-sub { font-size: .74rem; opacity: .85; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qa-plus { margin-left: auto; font-size: 1.1rem; opacity: .9; position: relative; z-index: 1; }
.qa-rose    { background: linear-gradient(135deg, #ef4444, #b91c1c); }   /* kirmizi - ariza */
.qa-navy    { background: linear-gradient(135deg, #1e3a8a, #0f172a); }   /* koyu lacivert - demirbas */
.qa-orange  { background: linear-gradient(135deg, #f97316, #c2410c); }   /* turuncu - sarf */
.qa-green   { background: linear-gradient(135deg, #16a34a, #15803d); }   /* yesil - parca */
.qa-crimson { background: linear-gradient(135deg, #991b1b, #7f1d1d); }   /* koyu kirmizi - sube */
/* eski adlar (uyumluluk) */
.qa-indigo  { background: linear-gradient(135deg, #1e3a8a, #0f172a); }
.qa-emerald { background: linear-gradient(135deg, #16a34a, #15803d); }
.qa-amber   { background: linear-gradient(135deg, #f97316, #c2410c); }
/* Orta ekran: cok sikismasin diye 3'lu sarim */
@media (max-width: 991.98px) {
    .quick-actions { grid-template-columns: repeat(3, 1fr); }
    .qa-plus { display: none; }
    .qa-sub { display: none; }
}
@media (max-width: 575.98px) {
    .quick-actions { grid-template-columns: repeat(2, 1fr); gap: .6rem; }
    .qa-btn { padding: .8rem .75rem; gap: .6rem; border-radius: .8rem; }
    .qa-ic { width: 38px; height: 38px; font-size: 1.1rem; }
    .qa-title { font-size: .88rem; }
    .qa-sub { display: none; }
    .qa-plus { display: none; }
}

/* Ozet kartlar */
.dash-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }
.dash-stat {
    position: relative; overflow: hidden; display: block;
    background: #fff; border: 1px solid #eef1f6; border-radius: 1.15rem;
    padding: 1.15rem 1.2rem;
    box-shadow: 0 1px 2px rgba(16,24,40,.04);
    transition: transform .18s ease, box-shadow .18s ease;
    color: inherit; text-decoration: none;
}
a.dash-stat { cursor: pointer; }
.dash-stat:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(16,24,40,.1); text-decoration: none; color: inherit; }
.dash-stat::before {
    content: ''; position: absolute; right: -30px; top: -30px; width: 90px; height: 90px; border-radius: 50%;
    opacity: .08;
}
.dash-stat-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: .7rem; }
.dash-stat-ic {
    width: 44px; height: 44px; border-radius: .85rem;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.3rem; color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
}
.dash-stat-tag { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #94a3b8; background: #f1f5f9; padding: .2rem .55rem; border-radius: 1rem; }
.dash-stat-num { font-size: 1.9rem; font-weight: 800; color: #0f172a; line-height: 1; letter-spacing: -.02em; }
.dash-stat-num.blur-value { filter: blur(7px); user-select: none; letter-spacing: .15em; }

/* Demirbas degeri gizli (yetkisiz kullanici) */
.asset-value-blur {
    display: inline-block; filter: blur(5px); user-select: none;
    letter-spacing: .1em; color: #64748b; cursor: not-allowed;
}
.dash-stat-lbl { margin-top: .25rem; font-size: .84rem; color: #64748b; font-weight: 500; }

.ds-indigo  .dash-stat-ic { background: linear-gradient(135deg, #6366f1, #4338ca); }
.ds-indigo::before  { background: #6366f1; }
.ds-sky     .dash-stat-ic { background: linear-gradient(135deg, #0ea5e9, #0369a1); }
.ds-sky::before     { background: #0ea5e9; }
.ds-rose    .dash-stat-ic { background: linear-gradient(135deg, #ef4444, #b91c1c); }
.ds-rose::before    { background: #ef4444; }
.ds-amber   .dash-stat-ic { background: linear-gradient(135deg, #f59e0b, #d97706); }
.ds-amber::before   { background: #f59e0b; }
.ds-emerald .dash-stat-ic { background: linear-gradient(135deg, #10b981, #047857); }
.ds-emerald::before { background: #10b981; }
.ds-pending .dash-stat-ic { background: linear-gradient(135deg, #3b52c4, #1e3a8a); }
.ds-pending::before { background: #1e40af; }
.ds-blue    .dash-stat-ic { background: linear-gradient(135deg, #60a5fa, #2563eb); }
.ds-blue::before    { background: #2563eb; }

/* Ozet kartlarda kayit varsa ikon + sayi yanip sonsun */
.dash-stat.ds-blink .dash-stat-ic,
.dash-stat.ds-blink .dash-stat-num { animation: fxBlink 1.1s ease-in-out infinite; }
/* Son Arizalar listesinde ikon yanip sonsun */
.dash-li-blink { animation: fxBlink 1.1s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
    .dash-stat.ds-blink .dash-stat-ic,
    .dash-stat.ds-blink .dash-stat-num,
    .dash-li-blink { animation: none; }
}

/* Ozet kartlari tek satirda tut (genis ekran) */
@media (min-width: 992px) {
    .dash-stats-oneline { grid-template-columns: repeat(var(--dash-cols, 5), 1fr); }
}

/* ---------- ISTATISTIK SAYFASI (stx) ---------- */
.stx-section-head {
    display: flex; align-items: center; gap: .85rem;
    margin: .5rem 0 1rem;
}
.stx-section-ic {
    flex-shrink: 0; width: 44px; height: 44px; border-radius: .85rem;
    display: inline-flex; align-items: center; justify-content: center;
    color: #fff; font-size: 1.3rem;
    box-shadow: 0 6px 16px -4px rgba(16,24,40,.3), inset 0 1px 0 rgba(255,255,255,.3);
}
.stx-section-ic.ic-rose    { background: linear-gradient(135deg, #f87171, #dc2626); }
.stx-section-ic.ic-indigo  { background: linear-gradient(135deg, #818cf8, #4338ca); }
.stx-section-ic.ic-amber   { background: linear-gradient(135deg, #fbbf24, #d97706); }
.stx-section-ic.ic-emerald { background: linear-gradient(135deg, #34d399, #059669); }
.stx-section-title { font-weight: 800; font-size: 1.12rem; color: #0f172a; letter-spacing: -.01em; }
.stx-section-sub { font-size: .82rem; color: #94a3b8; margin-top: .05rem; }

/* Cozum orani gauge */
.stx-gauge {
    --pct: 0%;
    position: relative; width: 130px; height: 130px; border-radius: 50%;
    background: conic-gradient(#10b981 var(--pct), #eef2f7 0);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.stx-gauge::before {
    content: ''; position: absolute; inset: 12px; border-radius: 50%; background: #fff;
    box-shadow: inset 0 1px 4px rgba(16,24,40,.08);
}
.stx-gauge-num { position: relative; z-index: 1; font-size: 1.7rem; font-weight: 800; color: #059669; line-height: 1; }
.stx-gauge-lbl { position: relative; z-index: 1; font-size: .78rem; color: #94a3b8; margin-top: .2rem; }

/* Deger metni (parca alim degeri) */
.stx-value { font-size: 1.6rem; font-weight: 800; color: #0f172a; letter-spacing: -.02em; line-height: 1.2; word-break: break-word; }
.stx-value-sub { font-size: .82rem; color: #94a3b8; margin-top: .3rem; }

/* Renkli progress bar varyantlari */
.stat-bar-fill.stx-bar-indigo  { background: linear-gradient(90deg, #6366f1, #4338ca); }
.stat-bar-fill.stx-bar-emerald { background: linear-gradient(90deg, #34d399, #059669); }

body.theme-dark .stx-section-title { color: #f1f5f9; }
body.theme-dark .stx-section-sub, body.theme-dark .stx-value-sub { color: #7c8aa5; }
body.theme-dark .stx-gauge::before { background: #151d30; }
body.theme-dark .stx-gauge { background: conic-gradient(#10b981 var(--pct), #24304a 0); }
body.theme-dark .stx-value { color: #f1f5f9; }

/* Liste karti basliklari */
.dash-ch { display: flex; align-items: center; justify-content: space-between; }
.dash-ch-title { display: inline-flex; align-items: center; gap: .55rem; font-weight: 600; color: #0f172a; }
.dash-ch-ic {
    width: 30px; height: 30px; border-radius: .6rem;
    display: inline-flex; align-items: center; justify-content: center;
    color: #fff; font-size: .95rem;
}
.ic-rose    { background: linear-gradient(135deg, #ef4444, #b91c1c); }
.ic-emerald { background: linear-gradient(135deg, #10b981, #047857); }
.ic-indigo  { background: linear-gradient(135deg, #6366f1, #4338ca); }
.ic-amber   { background: linear-gradient(135deg, #f59e0b, #b45309); }
.ic-sky     { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.ic-checklist { background: linear-gradient(135deg, var(--cl-1, #0284c7), var(--cl-2, #0369a1)); }
.dash-ch-all {
    display: inline-flex; align-items: center; gap: .3rem;
    font-size: .82rem; font-weight: 600; color: var(--primary); text-decoration: none;
    padding: .3rem .6rem; border-radius: .5rem; transition: background .12s;
}
.dash-ch-all:hover { background: rgba(220,38,38,.08); }

/* ---------- DASHBOARD LISTE KARTLARI (premium) ---------- */
.dash-list-card {
    border: 1px solid #eceff5; border-radius: 1.25rem; overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 14px 34px -22px rgba(16,24,40,.28);
    transition: box-shadow .2s ease, transform .2s ease;
}
.dash-list-card:hover { box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 20px 44px -22px rgba(16,24,40,.35); }
.dash-list-card .card-header {
    background:
        radial-gradient(130% 130% at 0% 0%, rgba(148,163,184,.08), transparent 60%),
        #fff;
    border-bottom: 1px solid #f1f5f9; padding: 1.05rem 1.2rem;
}
.dash-ch-ic { box-shadow: 0 4px 10px -2px rgba(16,24,40,.25), inset 0 1px 0 rgba(255,255,255,.3); }
.dash-list { display: flex; flex-direction: column; padding: .5rem .55rem .6rem; }

.dash-li {
    display: flex; align-items: center; gap: .85rem;
    padding: .7rem .75rem; border-radius: .85rem;
    text-decoration: none; color: inherit;
    position: relative; overflow: hidden;
    transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.dash-li + .dash-li { margin-top: .15rem; }
/* Satirlar arasi ince ayrac */
.dash-li:not(:last-child)::after {
    content: ''; position: absolute; left: 3.6rem; right: .75rem; bottom: 0;
    height: 1px; background: linear-gradient(90deg, #eef1f6, transparent);
}
/* Hover: yumusak zemin + sol renkli serit + hafif kayma */
a.dash-li::before {
    content: ''; position: absolute; left: 0; top: 22%; bottom: 22%; width: 3px;
    border-radius: 0 3px 3px 0; opacity: 0;
    transition: opacity .16s ease;
}
a.dash-li:has(.tone-rose)::before    { background: #dc2626; }
a.dash-li:has(.tone-emerald)::before { background: #059669; }
a.dash-li:has(.tone-navy)::before    { background: #2563eb; }
a.dash-li:has(.tone-amber)::before   { background: #d97706; }
a.dash-li:has(.tone-pending)::before { background: #1e40af; }
a.dash-li:has(.tone-service)::before { background: #d97706; }
a.dash-li:hover {
    background: linear-gradient(90deg, rgba(148,163,184,.09), rgba(148,163,184,.02));
    transform: translateX(3px);
    box-shadow: 0 6px 18px -12px rgba(16,24,40,.4);
}
a.dash-li:hover::before { opacity: .8; }
a.dash-li:hover .dash-li-ic { transform: scale(1.05); }
.dash-li-ic { transition: transform .16s ease; }

.dash-li-ic {
    flex-shrink: 0; width: 42px; height: 42px; border-radius: .8rem;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.1rem; color: #fff;
    box-shadow: 0 5px 12px -3px rgba(16,24,40,.3), inset 0 1px 0 rgba(255,255,255,.35);
}
.dash-li-ic.tone-rose    { background: linear-gradient(135deg, #f87171, #dc2626); }
.dash-li-ic.tone-emerald { background: linear-gradient(135deg, #34d399, #059669); }
.dash-li-ic.tone-navy    { background: linear-gradient(135deg, #60a5fa, #2563eb); }
.dash-li-ic.tone-amber   { background: linear-gradient(135deg, #fbbf24, #d97706); }
.dash-li-ic.tone-pending { background: linear-gradient(135deg, #3b52c4, #1e3a8a); }
.dash-li-ic.tone-service { background: linear-gradient(135deg, #fbbf24, #d97706); }

/* Sag taraf: durum rozeti + zaman */
.dash-li-right { flex-shrink: 0; display: inline-flex; flex-direction: column; align-items: flex-end; gap: .25rem; }
.dli-badge {
    font-size: .66rem; font-weight: 700; letter-spacing: .02em;
    padding: .15rem .5rem; border-radius: .5rem; white-space: nowrap;
    text-transform: uppercase;
}
.dli-badge-open    { background: rgba(239,68,68,.12);  color: #dc2626; }
.dli-badge-pending { background: rgba(37,99,235,.12);  color: #1e40af; }
.dli-badge-service { background: rgba(245,158,11,.14); color: #d97706; }
.dash-li-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .18rem; }
.dash-li-title {
    font-weight: 700; font-size: .92rem; color: #0f172a; letter-spacing: -.01em;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dash-li-meta {
    font-size: .76rem; color: #94a3b8;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    display: flex; align-items: center; gap: .35rem; flex-wrap: nowrap;
}
.dash-li-meta code {
    color: #475569; background: #eef2f7; padding: .1rem .4rem; border-radius: .4rem;
    font-size: .71rem; font-weight: 600; letter-spacing: .02em;
}
.dash-li-meta .bi { font-size: .78rem; opacity: .8; }
.dash-li-dot { color: #cbd5e1; }

.dash-li-time {
    flex-shrink: 0; font-size: .73rem; color: #94a3b8; white-space: nowrap; font-weight: 600;
    display: inline-flex; align-items: center;
}
.dash-li-time-ok { color: #059669; }

.dash-li-badge {
    flex-shrink: 0; font-size: .74rem; font-weight: 700; white-space: nowrap;
    padding: .32rem .65rem; border-radius: .6rem;
    background: #eef2f7; color: #475569;
    border: 1px solid #e5e9f0;
}
.dash-li-badge-green { background: rgba(16,185,129,.1); color: #059669; border-color: rgba(16,185,129,.22); }

.dash-list-empty {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: .7rem; padding: 3rem 1rem; color: #94a3b8; text-align: center;
}
.dash-list-empty i {
    font-size: 1.6rem; width: 58px; height: 58px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: #f4f6fa; color: #cbd5e1;
}
.dash-list-empty .text-success { background: rgba(16,185,129,.1); color: #059669; }
.dash-list-empty span { font-size: .88rem; font-weight: 500; }

/* Dark mode */
body.theme-dark .dash-list-card {
    background: #151d30 !important; border-color: #2a3852 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.3), 0 16px 40px -24px rgba(0,0,0,.7) !important;
}
body.theme-dark .dash-list-card .card-header { background: #151d30 !important; border-bottom-color: #2a3852 !important; }
body.theme-dark .dash-li:not(:last-child)::after { background: linear-gradient(90deg, #24304a, transparent); }
body.theme-dark a.dash-li:hover { background: linear-gradient(90deg, rgba(148,163,184,.1), rgba(148,163,184,.02)); }
body.theme-dark .dash-li-title { color: #f1f5f9; }
body.theme-dark a.dash-li:hover .dash-li-title { color: #f1f5f9; }
body.theme-dark .dash-li-meta, body.theme-dark .dash-li-time { color: #7c8aa5; }
body.theme-dark .dash-li-meta code { background: #1c2740; color: #97a4bb; }
body.theme-dark .dash-li-badge { background: #1c2740; color: #cbd5e1; border-color: #2a3852; }
body.theme-dark .dash-list-empty i { background: #1c2740; color: #3d4c66; }

@media (max-width: 991.98px) { .dash-stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575.98px) {
    .dash-hero { padding: 1.1rem 1.2rem; }
    .dash-hero-hi { font-size: 1.15rem; }
    .dash-hero-logo { width: 46px; height: 46px; padding: 5px; border-radius: .7rem; }
    .dash-hero-logos { gap: .4rem; }
    .dash-hero-brand { gap: .7rem; }
    .dash-hero-branch { width: 100%; }
    .dash-hero-branch select { flex: 1; }
    .dash-stats { grid-template-columns: repeat(2, 1fr); gap: .6rem; }
    .dash-stat { padding: .85rem .9rem; }
    .dash-stat-num { font-size: 1.4rem; }
}

/* =====================================================================
   ISTATISTIK SAYFASI
   ===================================================================== */
.stat-mini-row { display: flex; gap: .75rem; }
.stat-mini {
    flex: 1; text-align: center;
    background: #f8fafc; border: 1px solid #eef1f6; border-radius: .85rem;
    padding: .85rem .5rem;
}
.stat-mini-num { display: block; font-size: 1.6rem; font-weight: 800; color: #0f172a; line-height: 1; }
.stat-mini-lbl { display: block; margin-top: .3rem; font-size: .78rem; color: #64748b; font-weight: 600; }

.stat-bar { flex: 1; height: 8px; border-radius: 4px; background: #eef1f6; overflow: hidden; }
.stat-bar-fill { height: 100%; border-radius: 4px; background: linear-gradient(90deg, #10b981, #34d399); }

/* =====================================================================
   PROFIL SAYFASI
   ===================================================================== */
.profile-hero {
    position: relative;
    display: flex; align-items: center; gap: 1.25rem;
    padding: 1.5rem 1.75rem;
    border-radius: 1.25rem;
    background: linear-gradient(135deg, #dc2626 0%, #7f1d1d 100%);
    color: #fff;
    box-shadow: 0 12px 30px rgba(220,38,38,.28);
}
.profile-hero-glow {
    position: absolute; inset: 0; border-radius: 1.25rem; overflow: hidden; pointer-events: none;
    background:
        radial-gradient(280px 280px at 90% -30%, rgba(255,255,255,.16), transparent 70%),
        radial-gradient(220px 220px at 8% 140%, rgba(255,255,255,.1), transparent 70%);
}
.profile-avatar {
    position: relative; z-index: 1; flex-shrink: 0;
    width: 78px; height: 78px; border-radius: 1.1rem;
    background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.3);
    display: flex; align-items: center; justify-content: center;
    font-size: 2.2rem; font-weight: 800;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 8px 20px rgba(0,0,0,.15);
    backdrop-filter: blur(4px);
}
.profile-hero-info { position: relative; z-index: 1; min-width: 0; }
.profile-hero-info h2 { font-size: 1.5rem; font-weight: 800; margin: 0 0 .5rem; letter-spacing: -.01em; }
.profile-hero-meta { display: flex; flex-wrap: wrap; gap: .5rem .95rem; font-size: .88rem; color: rgba(255,255,255,.9); }
.profile-hero-meta span { display: inline-flex; align-items: center; gap: .35rem; }
.profile-role {
    background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.3);
    padding: .15rem .65rem; border-radius: 2rem; font-weight: 600;
}
.profile-hero .input-group-text { background: #f8fafc; }

@media (max-width: 575.98px) {
    .profile-hero { flex-direction: column; text-align: center; }
    .profile-hero-meta { justify-content: center; }
}

/* =====================================================================
   AYARLAR - TEMA SECIMI
   ===================================================================== */
/* Aktif tema bilgi rozeti */
.theme-active-info {
    display: flex; align-items: center; gap: .6rem;
    padding: .7rem 1rem; border-radius: .8rem; margin-bottom: 1.1rem;
    font-size: .92rem; border: 1px solid transparent;
}
.theme-active-info i { font-size: 1.15rem; }
.theme-active-info.is-light { background: #fffbeb; border-color: #fde68a; color: #b45309; }
.theme-active-info.is-dark  { background: #1e293b; border-color: #334155; color: #cbd5e1; }
.theme-active-info.is-dark i { color: #818cf8; }

/* Site ayarlari logo onizleme */
.settings-logo-preview {
    position: relative;
    flex-shrink: 0; min-width: 120px; max-width: 200px; height: 64px;
    border: 1px solid #e6eaf0; border-radius: .7rem; background: #fff;
    display: inline-flex; align-items: center; justify-content: center; padding: 8px;
}
.settings-logo-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }
.logo-remove-x {
    position: absolute; top: -8px; right: -8px;
    width: 24px; height: 24px; border-radius: 50%;
    background: #dc2626; color: #fff; border: 2px solid #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .7rem; text-decoration: none; cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,.25); transition: transform .12s ease, background .12s ease;
}
.logo-remove-x:hover { background: #b91c1c; color: #fff; transform: scale(1.12); }

.theme-choices { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.theme-choice {
    display: block; cursor: pointer; text-align: center;
    border: 2px solid #e6eaf0; border-radius: 1rem; padding: 1rem;
    transition: border-color .15s, box-shadow .15s;
}
.theme-choice:hover { border-color: #cbd5e1; }
.theme-choice.selected { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(220,38,38,.12); }
.theme-choice input { display: none; }
.theme-preview {
    height: 70px; border-radius: .7rem; overflow: hidden; margin-bottom: .65rem;
    display: flex; flex-direction: column; border: 1px solid #e2e8f0;
}
.theme-preview .tp-bar { height: 22px; }
.theme-preview .tp-body { flex: 1; }
.theme-preview-light .tp-bar { background: #dc2626; }
.theme-preview-light .tp-body { background: #f1f5f9; }
.theme-preview-dark .tp-bar { background: #dc2626; }
.theme-preview-dark .tp-body { background: #0f172a; }
.theme-name { font-weight: 700; color: #0f172a; }
.theme-name i { color: var(--primary); }


/* =====================================================================
   KARANLIK MOD (body.theme-dark) - v2 temiz & profesyonel
   Palet: bg #0b1120 · yuzey #151d30 · yuzey2 #1c2740 · kenar #2a3852
          metin #e8edf5 · soluk #97a4bb · vurgu kirmizi #f87171
   ===================================================================== */

/* --- ZEMIN --- */
body.theme-dark {
    background:
        radial-gradient(1000px 560px at 100% -10%, rgba(129,140,248,.06), transparent 60%),
        radial-gradient(800px 560px at -10% 110%, rgba(248,113,113,.05), transparent 60%),
        #0b1120 !important;
    color: #e8edf5;
}
body.theme-dark .main-area { background: transparent; }

/* --- UST BAR --- */
body.theme-dark .topbar {
    background: rgba(21,29,48,.9) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.04), 0 6px 24px rgba(0,0,0,.35);
}
body.theme-dark .topbar-title,
body.theme-dark .topbar-user .dropdown-toggle { color: #f1f5f9 !important; }

/* --- BILDIRIMLER (karanlik) --- */
body.theme-dark .notif-bell { background: #1c2740 !important; border-color: #2f3d57 !important; color: #cbd5e1 !important; }
body.theme-dark .notif-bell:hover,
body.theme-dark .notif-bell[aria-expanded="true"] { background: #10192b !important; border-color: #ef4444 !important; color: #f87171 !important; }
body.theme-dark .notif-badge { box-shadow: 0 0 0 2px #151d30 !important; }
body.theme-dark .notif-menu { background: #151d30 !important; border-color: #2a3852 !important; box-shadow: 0 18px 50px rgba(0,0,0,.5) !important; }
body.theme-dark .notif-head { border-bottom-color: #2a3852 !important; color: #f1f5f9 !important; }
body.theme-dark .notif-item { border-bottom-color: #24304a !important; color: #e8edf5 !important; }
body.theme-dark .notif-item:hover { background: #1c2740 !important; }
body.theme-dark .notif-item.is-unread { background: #241a1f !important; }
body.theme-dark .notif-item.is-unread:hover { background: #2b1e24 !important; }
body.theme-dark .notif-ic { background: rgba(239,68,68,.16) !important; color: #f87171 !important; }
body.theme-dark .notif-title { color: #f1f5f9 !important; }
body.theme-dark .notif-msg { color: #97a4bb !important; }
body.theme-dark .notif-time { color: #7c8aa5 !important; }
body.theme-dark .notif-empty { color: #7c8aa5 !important; }
body.theme-dark .notif-foot { border-top-color: #2a3852 !important; }
body.theme-dark .notif-foot a { color: #f87171 !important; }
body.theme-dark .notif-foot a:hover { background: #1c2740 !important; }

/* --- KARTLAR --- */
body.theme-dark .card {
    background: #151d30 !important; border-color: #2a3852 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.3), 0 10px 28px rgba(0,0,0,.3);
}
body.theme-dark .card-header { background: transparent !important; border-bottom-color: #2a3852 !important; }
body.theme-dark .card-header, body.theme-dark .dash-ch-title,
body.theme-dark .modal-title,
body.theme-dark h1, body.theme-dark h2, body.theme-dark h3,
body.theme-dark h4, body.theme-dark h5, body.theme-dark h6 { color: #f5f8fc !important; }

/* --- ISTATISTIK / FX KARTLARI --- */
body.theme-dark .stat-card,
body.theme-dark .asset-stat,
body.theme-dark .dash-stat,
body.theme-dark .fx-card {
    background: #151d30 !important; border-color: #2a3852 !important;
}
body.theme-dark .fx-card.active { background: #1c2740 !important; }
body.theme-dark .stat-card .value,
body.theme-dark .asset-stat-value,
body.theme-dark .dash-stat-num,
body.theme-dark .fx-card-num,
body.theme-dark .stat-mini-num { color: #f8fafc !important; }
body.theme-dark .asset-stat-label,
body.theme-dark .dash-stat-lbl,
body.theme-dark .fx-card-lbl,
body.theme-dark .stat-card .label { color: #97a4bb !important; }
body.theme-dark .dash-stat-tag { background: #1c2740 !important; color: #97a4bb !important; }

/* --- TABLOLAR (kayit satirlari) --- */
body.theme-dark .table,
body.theme-dark .asset-table { color: #e8edf5 !important; background: transparent !important; }
body.theme-dark .table thead th,
body.theme-dark .asset-table thead th {
    background: #1c2740 !important; color: #97a4bb !important; border-color: #2a3852 !important;
}
body.theme-dark .asset-table tbody tr,
body.theme-dark .table tbody tr { background: transparent !important; }
body.theme-dark .asset-table tbody tr { border-bottom-color: #24304a !important; }
body.theme-dark .asset-table tbody tr:hover,
body.theme-dark .table-hover > tbody > tr:hover > * { background: #1c2740 !important; }
body.theme-dark .table td, body.theme-dark .table th,
body.theme-dark .asset-table td { border-color: #24304a !important; color: #e8edf5 !important; }
body.theme-dark .asset-table td .fw-semibold,
body.theme-dark .fw-semibold, body.theme-dark .fw-bold { color: #f1f5f9 !important; }
body.theme-dark .asset-table td .text-muted,
body.theme-dark .text-muted,
body.theme-dark small.text-muted,
body.theme-dark .small { color: #8b98b0 !important; }
body.theme-dark code { color: #fca5a5 !important; }

/* Satir avatar/ikon kutulari (beyaz sirimasin) */
body.theme-dark .asset-avatar.tone-emerald   { background: rgba(16,185,129,.16) !important; color: #34d399 !important; }
body.theme-dark .asset-avatar.tone-rose      { background: rgba(239,68,68,.16)  !important; color: #f87171 !important; }
body.theme-dark .asset-avatar.tone-amber     { background: rgba(245,158,11,.16) !important; color: #fbbf24 !important; }
body.theme-dark .asset-avatar.tone-secondary { background: #2a3852 !important; color: #97a4bb !important; }

/* --- ROZETLER --- */
body.theme-dark .cat-badge { background: rgba(239,68,68,.15) !important; color: #fca5a5 !important; border-color: rgba(239,68,68,.28) !important; }
body.theme-dark .badge.bg-light, body.theme-dark .badge.bg-light.text-dark {
    background-color: #1c2740 !important; color: #e8edf5 !important; border-color: #2a3852 !important;
}
body.theme-dark .badge.bg-success { background-color: #059669 !important; }
body.theme-dark .badge.bg-danger  { background-color: #dc2626 !important; }
body.theme-dark .badge.bg-warning { background-color: #d97706 !important; color: #fff !important; }
body.theme-dark .badge.bg-secondary { background-color: #475569 !important; }

/* --- FORMLAR --- */
body.theme-dark .form-control,
body.theme-dark .form-select,
body.theme-dark textarea.form-control {
    background: #0f1727 !important; border-color: #2f3d57 !important; color: #e8edf5 !important;
}
body.theme-dark .form-control::placeholder { color: #64748b !important; }
/* Dosya secme butonu (input type=file) - karanlik modda okunur olsun */
body.theme-dark .form-control::-webkit-file-upload-button,
body.theme-dark .form-control::file-selector-button {
    background: #2a3852 !important; color: #e8edf5 !important;
    border: 0 !important; border-right: 1px solid #2f3d57 !important;
}
body.theme-dark .form-control::-webkit-file-upload-button:hover,
body.theme-dark .form-control::file-selector-button:hover { background: #34435f !important; color: #fff !important; }
body.theme-dark .form-control:focus, body.theme-dark .form-select:focus {
    border-color: #ef4444 !important; box-shadow: 0 0 0 3px rgba(239,68,68,.2) !important;
}
body.theme-dark .input-group-text { background: #1c2740 !important; border-color: #2f3d57 !important; color: #97a4bb !important; }
body.theme-dark .form-label { color: #cbd5e1 !important; }
body.theme-dark option { background: #151d30; color: #e8edf5; }

/* --- BUTONLAR --- */
body.theme-dark .btn-light { background: #1c2740 !important; border-color: #2f3d57 !important; color: #cbd5e1 !important; }
body.theme-dark .btn-light:hover { background: #2a3852 !important; color: #fff !important; }
body.theme-dark .btn-light.text-danger, body.theme-dark .btn-light .text-danger { color: #f87171 !important; }
body.theme-dark .btn-outline-secondary { color: #cbd5e1 !important; border-color: #2f3d57 !important; }
body.theme-dark .btn-outline-secondary:hover { background: #2a3852 !important; color: #fff !important; }
body.theme-dark .btn-outline-primary { color: #f87171 !important; border-color: rgba(239,68,68,.4) !important; }
body.theme-dark .btn-outline-primary:hover { background: #dc2626 !important; color: #fff !important; }

/* --- MODALLAR --- */
body.theme-dark .modal-content { background: #151d30 !important; color: #e8edf5 !important; box-shadow: 0 24px 60px rgba(0,0,0,.6); }
body.theme-dark .modal-header, body.theme-dark .modal-footer { border-color: #2a3852 !important; }
body.theme-dark .btn-close { filter: invert(1) grayscale(1) brightness(1.6); }

/* --- LISTE GRUPLARI --- */
body.theme-dark .list-group-item { background: #151d30 !important; border-color: #24304a !important; color: #e8edf5 !important; }
body.theme-dark .list-group-flush .list-group-item:hover { background: #1c2740 !important; }

/* --- DROPDOWN MENULER --- */
body.theme-dark .dropdown-menu,
body.theme-dark .fx-ddmenu,
body.theme-dark .tb2-menu { background: #151d30 !important; border-color: #2a3852 !important; box-shadow: 0 16px 40px rgba(0,0,0,.5); }
body.theme-dark .fx-dditem, body.theme-dark .dropdown-item, body.theme-dark .tb2-menu-item { color: #e8edf5 !important; }
body.theme-dark .fx-dditem:hover, body.theme-dark .dropdown-item:hover, body.theme-dark .tb2-menu-item:hover { background: #1c2740 !important; color: #fff !important; }
body.theme-dark .dropdown-divider { border-color: #2a3852 !important; }
body.theme-dark .dropdown-item-text { color: #97a4bb !important; }

/* --- ARAC CUBUGU --- */
body.theme-dark .fx-search,
body.theme-dark .fx-ddbtn,
body.theme-dark .fx-ddbtn-locked,
body.theme-dark .fx-select,
body.theme-dark .report-fields,
body.theme-dark .report-count,
body.theme-dark .fx-ghost,
body.theme-dark .stat-mini { background: #1c2740 !important; border-color: #2f3d57 !important; color: #e8edf5 !important; }
body.theme-dark .report-count,
body.theme-dark .report-count b { color: #eef2f9 !important; }
body.theme-dark .report-panel { background: #10192b !important; border-color: #2a3852 !important; }
body.theme-dark .fx-search input, body.theme-dark .report-field input, body.theme-dark .fx-select select { color: #e8edf5 !important; }
body.theme-dark .fx-ghost:hover { background: #2a3852 !important; color: #fff !important; }
body.theme-dark .stat-bar { background: #2a3852 !important; }
body.theme-dark .report-field label, body.theme-dark .report-range-label { color: #97a4bb !important; }
body.theme-dark .report-field { background: #1c2740 !important; border-color: #2f3d57 !important; }
body.theme-dark .report-field input { background: transparent !important; }
body.theme-dark .report-field input::-webkit-calendar-picker-indicator { filter: invert(1) brightness(1.4); }
body.theme-dark .report-arrow { color: #64748b !important; }
body.theme-dark .report-reset { background: #1c2740 !important; border-color: #2f3d57 !important; color: #cbd5e1 !important; }
body.theme-dark .report-reset:hover { background: #3a1620 !important; border-color: #7f1d1d !important; color: #f87171 !important; }
body.theme-dark .report-sep { background: #2a3852 !important; }

/* --- KULLANILAN PARCA MALIYET OZETI --- */
body.theme-dark .parts-cost-summary { background: #151d30 !important; border-color: #2a3852 !important; }
body.theme-dark .pcs-title { color: #f5f8fc !important; }
body.theme-dark .pcs-sub { color: #7c8aa5 !important; }
body.theme-dark .pcs-badge { background: #1c2740 !important; border-color: #2f3d57 !important; color: #cbd5e1 !important; }

/* --- ARIZA DETAY --- */
body.theme-dark .fault-info { background: #1c2740 !important; border-color: #2a3852 !important; }
body.theme-dark .fault-info span { color: #97a4bb !important; }
body.theme-dark .fault-info strong,
body.theme-dark .fault-timeline-item strong,
body.theme-dark .fault-detail-title { color: #f1f5f9 !important; }
body.theme-dark .fault-section { border-color: #2a3852 !important; }
body.theme-dark .fault-img-thumb, body.theme-dark .fault-img-cell { background: #10192b !important; border-color: #2a3852 !important; }
body.theme-dark .fault-detail .modal-footer { border-top-color: #2a3852 !important; }
body.theme-dark .quick-close-toggle { background: #151d30 !important; border-color: #2a3852 !important; }
body.theme-dark .quick-close-toggle .qct-title { color: #f1f5f9 !important; }
body.theme-dark .quick-close-toggle .qct-sub { color: #7c8aa5 !important; }
body.theme-dark .qct-slider { background: #33425d !important; }
body.theme-dark .fault-section-success { background: rgba(16,185,129,.1) !important; border-color: rgba(16,185,129,.3) !important; }
body.theme-dark .fault-timeline-item:not(:last-child)::before { background: #2a3852 !important; }
/* Modern timeline (dark) */
body.theme-dark .fault-tl-node { background: #1c2740 !important; border-color: #151d30 !important; box-shadow: 0 0 0 1.5px #2a3852, 0 3px 8px rgba(0,0,0,.3) !important; }
body.theme-dark .fault-tl-line { background: #2a3852 !important; }
body.theme-dark .fault-tl-label { color: #f1f5f9 !important; }
body.theme-dark .fault-tl-time { color: #7c8aa5 !important; }
body.theme-dark .fault-tl-item.is-pending .fault-tl-node { background: #151d30 !important; color: #3d4c66 !important; }
body.theme-dark .fault-tl-item.is-pending .fault-tl-label { color: #7c8aa5 !important; }

/* --- KIRMIZI ZEMINLI HERO'LAR beyaz kalir --- */
body.theme-dark .dash-hero, body.theme-dark .dash-hero *,
body.theme-dark .profile-hero, body.theme-dark .profile-hero * { color: #fff !important; }
body.theme-dark .profile-hero .input-group-text { color: #97a4bb !important; }

/* --- GENEL YARDIMCILAR --- */
body.theme-dark .text-dark { color: #e8edf5 !important; }
body.theme-dark .bg-light { background-color: #1c2740 !important; }
body.theme-dark .border { border-color: #2a3852 !important; }
body.theme-dark hr, body.theme-dark .dropdown-divider { border-color: #2a3852 !important; }

/* --- AYARLAR TEMA SECIM --- */
body.theme-dark .settings-logo-preview { background: #fff !important; border-color: #2f3d57 !important; }
body.theme-dark .logo-remove-x { border-color: #151d30 !important; }
body.theme-dark .theme-name { color: #f1f5f9 !important; }
body.theme-dark .theme-choice { border-color: #2f3d57 !important; }
body.theme-dark .theme-choice:hover { border-color: #475569 !important; }
body.theme-dark .theme-active-info.is-light { background: #2a2416 !important; border-color: #4d4020 !important; color: #fde68a !important; }

/* --- SERVISTE POPUP --- */
body.theme-dark .svc-modal { background: #151d30 !important; box-shadow: 0 30px 70px rgba(0,0,0,.6) !important; }
body.theme-dark .svc-modal-title { color: #f5f8fc !important; }
body.theme-dark .svc-modal-text { color: #97a4bb !important; }
body.theme-dark .svc-modal-x { background: #1c2740 !important; color: #97a4bb !important; }
body.theme-dark .svc-modal-x:hover { background: #2a3852 !important; color: #fff !important; }
body.theme-dark .svc-btn-ghost { background: #1c2740 !important; border-color: #2f3d57 !important; color: #cbd5e1 !important; }
body.theme-dark .svc-btn-ghost:hover { background: #2a3852 !important; color: #fff !important; }

/* --- CEREZ KARTI --- */
body.theme-dark .cookie-card { background: #151d30 !important; border-color: #2a3852 !important; }
body.theme-dark .cookie-head h6 { color: #f1f5f9 !important; }
body.theme-dark .cookie-head p, body.theme-dark .cookie-text span { color: #97a4bb !important; }
body.theme-dark .cookie-btn-ghost { background: #1c2740 !important; border-color: #2f3d57 !important; color: #cbd5e1 !important; }
body.theme-dark .cookie-btn-ghost:hover { background: #2a3852 !important; color: #fff !important; }

/* =====================================================================
   KARANLIK MOD - TABLO METIN KESIN DUZELTME
   (satir icindeki tum metinleri acik yap; ikincil/rozet haric)
   ===================================================================== */
body.theme-dark .asset-table td,
body.theme-dark .asset-table td * {
    color: #eef2f9 !important;
}
/* Istisnalar: ikincil bilgiler, kodlar, rozetler kendi renginde kalir */
body.theme-dark .asset-table td .text-muted,
body.theme-dark .asset-table td small { color: #8b98b0 !important; }
body.theme-dark .asset-table td code { color: #fca5a5 !important; }
body.theme-dark .asset-table td .cat-badge { color: #fca5a5 !important; }
body.theme-dark .asset-table td .badge.bg-success,
body.theme-dark .asset-table td .badge.bg-danger,
body.theme-dark .asset-table td .badge.bg-warning,
body.theme-dark .asset-table td .badge.bg-secondary { color: #fff !important; }
body.theme-dark .asset-table td .badge.bg-light { color: #eef2f9 !important; }
/* Islem butonlarindaki ikon renkleri */
body.theme-dark .asset-table td .btn-light { color: #cbd5e1 !important; }
body.theme-dark .asset-table td .btn-light.text-danger,
body.theme-dark .asset-table td .btn-light .text-danger { color: #f87171 !important; }
/* Avatar ikonu kendi tonunu korusun */
body.theme-dark .asset-table td .asset-avatar.tone-emerald   i { color: #34d399 !important; }
body.theme-dark .asset-table td .asset-avatar.tone-rose      i { color: #f87171 !important; }
body.theme-dark .asset-table td .asset-avatar.tone-amber     i { color: #fbbf24 !important; }
body.theme-dark .asset-table td .asset-avatar.tone-secondary i { color: #97a4bb !important; }

/* =====================================================================
   KARANLIK MOD - EN KESIN METIN DUZELTMESI
   Bootstrap tablo/emphasis renk degiskenlerini de sifirla
   ===================================================================== */
body.theme-dark {
    --bs-body-color: #eef2f9;
    --bs-emphasis-color: #ffffff;
    --bs-table-color: #eef2f9;
    --bs-table-bg: transparent;
    --bs-secondary-color: #97a4bb;
}
body.theme-dark .table {
    --bs-table-color: #eef2f9;
    --bs-table-bg: transparent;
    --bs-table-hover-color: #ffffff;
    --bs-table-hover-bg: #1c2740;
    --bs-table-striped-color: #eef2f9;
    color: #eef2f9 !important;
}
/* Kart ve tablo icindeki genel metin (rozet/kod/buton/badge haric) */
body.theme-dark .card-body,
body.theme-dark .card-body .fw-semibold,
body.theme-dark .card-body div:not(.badge):not(.asset-avatar),
body.theme-dark .card-body td,
body.theme-dark .asset-table tbody td { color: #eef2f9 !important; }

/* =====================================================================
   KARANLIK MOD - STANDART TABLO (subeler / kullanicilar)
   ===================================================================== */
body.theme-dark .table thead th {
    background: #1c2740 !important; color: #97a4bb !important; border-color: #2a3852 !important;
}
body.theme-dark .table tbody td,
body.theme-dark .table tbody th,
body.theme-dark .table tbody td * {
    color: #eef2f9 !important; border-color: #24304a !important; background: transparent !important;
}
body.theme-dark .table-hover > tbody > tr:hover > * { background: #1c2740 !important; color: #ffffff !important; }
/* Istisnalar: rozet/kod/buton kendi renginde */
body.theme-dark .table tbody td .text-muted,
body.theme-dark .table tbody td small { color: #8b98b0 !important; }
body.theme-dark .table tbody td code { color: #fca5a5 !important; }
body.theme-dark .table tbody td .badge.bg-success,
body.theme-dark .table tbody td .badge.bg-danger,
body.theme-dark .table tbody td .badge.bg-primary,
body.theme-dark .table tbody td .badge.bg-warning,
body.theme-dark .table tbody td .badge.bg-secondary { color: #fff !important; }
body.theme-dark .table tbody td .badge.bg-light,
body.theme-dark .table tbody td .badge.bg-light.text-dark { background-color: #1c2740 !important; color: #eef2f9 !important; border-color: #2a3852 !important; }
body.theme-dark .table tbody td .btn-outline-primary { color: #f87171 !important; border-color: rgba(239,68,68,.4) !important; }
body.theme-dark .table tbody td .btn-outline-danger { color: #f87171 !important; border-color: rgba(239,68,68,.4) !important; }
body.theme-dark .table tbody td .btn-outline-primary:hover { background: #dc2626 !important; color: #fff !important; }
body.theme-dark .table tbody td .btn-outline-danger:hover { background: #dc2626 !important; color: #fff !important; }

/* =====================================================================
   KARANLIK MOD - SUBE KATEGORI GRUPLARI
   ===================================================================== */
body.theme-dark .branch-group { border-bottom-color: #24304a !important; }
body.theme-dark .branch-group-head { background: #1c2740 !important; border-bottom-color: #2a3852 !important; }
body.theme-dark .branch-group-head:hover { background: #22334f !important; }
body.theme-dark .branch-group-name { color: #f1f5f9 !important; }
body.theme-dark .branch-group-caret { color: #64748b !important; }

/* Pasif şubeler grubu — hafifçe ayrışık görünüm */
.branch-group-passive .branch-group-head { background: #f8f8f8; border-top: 1px dashed #e2e8f0; }
.branch-group-passive .branch-row { opacity: .72; }
body.theme-dark .branch-group-passive .branch-group-head { background: #0e1725 !important; border-top-color: #2a3852 !important; }
body.theme-dark .branch-row { border-bottom-color: #24304a !important; }
body.theme-dark .branch-row:hover { background: #1c2740 !important; }
body.theme-dark .branch-row-name { color: #eef2f9 !important; }
body.theme-dark .branch-cat-img { background: #fff !important; border-color: #2f3d57 !important; }
body.theme-dark .branch-cat-noimg { color: #97a4bb !important; }
body.theme-dark .cat-list .list-group-item { border-color: #24304a !important; }

/* =====================================================================
   KARANLIK MOD - PARCA SECIMI & KULLANILAN PARCALAR
   ===================================================================== */
body.theme-dark .ps-row { background: #10192b !important; border-color: #2a3852 !important; }
body.theme-dark .ps-name { color: #eef2f9 !important; }
body.theme-dark .ps-del { background: rgba(239,68,68,.18) !important; color: #f87171 !important; }
body.theme-dark .ps-del:hover { background: rgba(239,68,68,.28) !important; }
body.theme-dark .receipt-link { background: #10192b !important; border-color: #2a3852 !important; }
body.theme-dark .receipt-link:hover { background: #14243a !important; border-color: #2563eb !important; }
body.theme-dark .receipt-name { color: #eef2f9 !important; }
body.theme-dark .receipt-hint { color: #7c8aa5 !important; }
body.theme-dark .fault-parts-list li { border-bottom-color: #2a3852 !important; }
body.theme-dark .fault-parts-list .fp-remove { background: rgba(239,68,68,.18) !important; color: #f87171 !important; }
body.theme-dark .fault-parts-list .fp-remove:hover { background: rgba(239,68,68,.3) !important; }
body.theme-dark .fault-parts-list .fp-name,
body.theme-dark .fault-parts-list .fp-price { color: #eef2f9 !important; }
body.theme-dark .fault-parts-list .fp-qty { color: #97a4bb !important; }
body.theme-dark .fault-parts-list .fp-total { border-top-color: #2a3852 !important; }

/* =====================================================================
 *  DEMIRBAS - EKSTRA OZELLIKLER (kategoriye ozel dinamik alanlar)
 * ===================================================================*/

/* Form icindeki "Ekstra Ozellikler" bolumu */
.extra-section {
    margin-top: 1.25rem;
    padding: 1.1rem 1.25rem 1.25rem;
    border: 1px solid #e9d5d5;
    border-radius: 1rem;
    background:
        linear-gradient(180deg, rgba(220,38,38,.045) 0%, rgba(220,38,38,0) 70%),
        #fff;
    position: relative;
    animation: extraFade .25s ease;
}
@keyframes extraFade {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}
.extra-section-head {
    display: flex; align-items: center; gap: .75rem;
    margin-bottom: 1rem; padding-bottom: .85rem;
    border-bottom: 1px dashed #f0d5d5;
}
.extra-section-icon {
    flex-shrink: 0; width: 40px; height: 40px; border-radius: .75rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    color: #fff; font-size: 1.15rem;
    box-shadow: 0 6px 16px rgba(220,38,38,.28);
}
.extra-section-title { font-weight: 800; color: #0f172a; font-size: 1rem; line-height: 1.1; }
.extra-section-sub   { font-size: .78rem; color: #94a3b8; margin-top: .15rem; }

.extra-label {
    font-size: .82rem; font-weight: 600; color: #475569;
    display: inline-flex; align-items: center; gap: .35rem;
}
.extra-label > i { color: #dc2626; font-size: .95rem; }
.extra-section .form-control,
.extra-section .form-select {
    border-radius: .6rem; border-color: #e2e8f0; background: #fff;
}
.extra-section .form-control:focus,
.extra-section .form-select:focus {
    border-color: #dc2626; box-shadow: 0 0 0 3px rgba(220,38,38,.12);
}

/* Listedeki ekstra ozellik "chip"leri */
.asset-extra { display: flex; flex-wrap: wrap; gap: .3rem; }

/* Mobilde demirbas listesindeki ekstra ozellikleri gizle (form etkilenmez) */
@media (max-width: 767.98px) {
    .asset-extra { display: none !important; }
}
.extra-chip {
    display: inline-flex; align-items: stretch; overflow: hidden;
    border: 1px solid #e2e8f0; border-radius: .55rem;
    font-size: .7rem; line-height: 1; background: #fff;
    box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.extra-chip-key {
    background: #f8fafc; color: #64748b; font-weight: 600;
    padding: .3rem .5rem; border-right: 1px solid #e2e8f0;
    text-transform: uppercase; letter-spacing: .02em; font-size: .64rem;
    display: inline-flex; align-items: center;
}
.extra-chip-val {
    padding: .3rem .55rem; color: #0f172a; font-weight: 700;
    display: inline-flex; align-items: center;
}

/* --- Dark tema --- */
body.theme-dark .extra-section {
    background: linear-gradient(180deg, rgba(239,68,68,.08) 0%, rgba(239,68,68,0) 70%), #151d30;
    border-color: #3a2530;
}
body.theme-dark .extra-section-head { border-bottom-color: #3a2530; }
body.theme-dark .extra-section-title { color: #e2e8f0; }
body.theme-dark .extra-section-sub { color: #64748b; }
body.theme-dark .extra-label { color: #cbd5e1; }
body.theme-dark .extra-label > i { color: #f87171; }
body.theme-dark .extra-section .form-control,
body.theme-dark .extra-section .form-select { background: #0f172a; border-color: #2a3852; color: #e2e8f0; }
body.theme-dark .extra-chip { background: #151d30; border-color: #2a3852; }
body.theme-dark .extra-chip-key { background: #0f172a; color: #94a3b8; border-right-color: #2a3852; }
body.theme-dark .extra-chip-val { color: #e2e8f0; }

/* =====================================================================
 *  DEMIRBAS MODAL - MODERN TASARIM
 * ===================================================================*/
.asset-modal {
    border: none;
    border-radius: 1.25rem;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .22);
}

/* Gradient baslik */
.asset-modal-head {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 60%, #991b1b 100%);
    color: #fff;
    border: none;
    padding: 1.15rem 1.35rem;
    align-items: center;
}
.asset-modal-head-inner { display: flex; align-items: center; gap: .9rem; }
.asset-modal-badge {
    flex-shrink: 0; width: 46px; height: 46px; border-radius: .85rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .25);
    font-size: 1.35rem; color: #fff;
    backdrop-filter: blur(4px);
}
.asset-modal-head .modal-title { font-weight: 800; font-size: 1.15rem; letter-spacing: .01em; }
.asset-modal-sub { font-size: .8rem; opacity: .9; margin-top: .1rem; }
.asset-modal-head .btn-close {
    opacity: .9; transition: opacity .15s ease, transform .15s ease;
}
.asset-modal-head .btn-close:hover { opacity: 1; transform: rotate(90deg); }

/* Segment sekmeler */
.asset-seg {
    background: #f1f5f9;
    border-radius: .85rem;
    padding: .3rem;
    gap: .25rem;
    display: inline-flex;
    width: 100%;
}
.asset-seg .nav-item { flex: 1; }
.asset-seg .nav-link {
    width: 100%;
    border-radius: .65rem;
    color: #64748b;
    font-weight: 600;
    font-size: .9rem;
    padding: .55rem .5rem;
    display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
    background: transparent;
    transition: all .18s ease;
}
.asset-seg .nav-link:hover { color: #dc2626; }
.asset-seg .nav-link.active {
    background: #fff;
    color: #dc2626;
    box-shadow: 0 3px 10px rgba(15, 23, 42, .1);
}

/* Modal govde form alanlari */
.asset-modal .modal-body { padding: 1.35rem; }
.asset-modal .form-label {
    font-size: .82rem; font-weight: 600; color: #475569; margin-bottom: .3rem;
}
.asset-modal .form-control,
.asset-modal .form-select {
    border-radius: .65rem;
    border-color: #e2e8f0;
    padding: .55rem .8rem;
    transition: border-color .15s, box-shadow .15s;
}
.asset-modal .form-control:focus,
.asset-modal .form-select:focus {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .12);
}
.asset-modal .modal-footer {
    border-top: 1px solid #eef1f6;
    padding: 1rem 1.35rem;
    gap: .5rem;
}
.asset-modal .modal-footer .btn {
    border-radius: .65rem; font-weight: 600; padding: .55rem 1.2rem;
}
.asset-modal .modal-footer .btn-primary {
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    border: none;
    box-shadow: 0 6px 16px rgba(220, 38, 38, .28);
}
.asset-modal .modal-footer .btn-primary:hover { filter: brightness(1.05); }

/* Demirbas No (pasif) alani vurgusu */
.asset-modal input[disabled].bg-light {
    background: #f8fafc !important;
    border-style: dashed;
    font-family: 'Consolas', monospace;
    font-weight: 700;
    color: #64748b;
    letter-spacing: .05em;
}

/* --- Dark tema --- */
body.theme-dark .asset-modal { box-shadow: 0 24px 60px rgba(0, 0, 0, .5); }
body.theme-dark .asset-seg { background: #0f172a; }
body.theme-dark .asset-seg .nav-link { color: #94a3b8; }
body.theme-dark .asset-seg .nav-link.active { background: #1e293b; color: #f87171; }
body.theme-dark .asset-modal .form-label { color: #cbd5e1; }
body.theme-dark .asset-modal .modal-footer { border-top-color: #2a3852; }
body.theme-dark .asset-modal input[disabled].bg-light {
    background: #0f172a !important; color: #94a3b8; border-color: #2a3852;
}

/* =====================================================================
 *  GENEL MODERN MODAL (ariza / sarf malzeme / sube ekleme)
 * ===================================================================*/
.app-modal {
    border: none;
    border-radius: 1.25rem;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .22);
}
.app-modal-head {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 60%, #991b1b 100%);
    color: #fff;
    cursor: default; user-select: none;
    border: none;
    padding: 1.15rem 1.35rem;
    align-items: center;
}
.app-modal-head-inner { display: flex; align-items: center; gap: .9rem; }
.app-modal-badge {
    flex-shrink: 0; width: 46px; height: 46px; border-radius: .85rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .25);
    font-size: 1.35rem; color: #fff;
}
.app-modal-head .modal-title { font-weight: 800; font-size: 1.15rem; letter-spacing: .01em; }
.app-modal-sub { font-size: .8rem; opacity: .9; margin-top: .1rem; }
.app-modal-head .btn-close { opacity: .9; transition: opacity .15s ease, transform .15s ease; }
.app-modal-head .btn-close:hover { opacity: 1; transform: rotate(90deg); }

.app-modal .modal-body { padding: 1.35rem; }
.app-modal .form-label { font-size: .82rem; font-weight: 600; color: #475569; margin-bottom: .3rem; cursor: default; user-select: none; }
.app-modal .form-control,
.app-modal .form-select {
    border-radius: .65rem; border-color: #e2e8f0; padding: .55rem .8rem;
    transition: border-color .15s, box-shadow .15s;
}
.app-modal .form-control:focus,
.app-modal .form-select:focus {
    border-color: #dc2626; box-shadow: 0 0 0 3px rgba(220, 38, 38, .12);
}
.app-modal .modal-footer { border-top: 1px solid #eef1f6; padding: 1rem 1.35rem; gap: .5rem; }
.app-modal .modal-footer .btn { border-radius: .65rem; font-weight: 600; padding: .55rem 1.2rem; }
.app-modal .modal-footer .btn-primary {
    background: linear-gradient(135deg, #dc2626, #b91c1c); border: none;
    box-shadow: 0 6px 16px rgba(220, 38, 38, .28);
}
.app-modal .modal-footer .btn-primary:hover { filter: brightness(1.05); }
.app-modal .modal-footer .btn-success {
    background: linear-gradient(135deg, #059669, #047857); border: none;
    box-shadow: 0 6px 16px rgba(5, 150, 105, .28);
}

/* Kategori/grup yonetim modalindaki inline ekleme formu */
.app-modal .input-group .btn-primary {
    background: linear-gradient(135deg, #dc2626, #b91c1c); border: none;
}

/* --- Dark tema --- */
body.theme-dark .app-modal { box-shadow: 0 24px 60px rgba(0, 0, 0, .5); }
body.theme-dark .app-modal .form-label { color: #cbd5e1; }
body.theme-dark .app-modal .modal-footer { border-top-color: #2a3852; }

/* =====================================================================
 *  SUBE EKLEME KARTI - MODERN TASARIM
 * ===================================================================*/
.branch-form-card {
    border: none;
    border-radius: 1.25rem;
    overflow: hidden;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .1);
}
.branch-form-head {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 60%, #991b1b 100%);
    color: #fff;
    padding: 1.15rem 1.35rem;
    display: flex; align-items: center; gap: .9rem;
}
.branch-form-badge {
    flex-shrink: 0; width: 46px; height: 46px; border-radius: .85rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .25);
    font-size: 1.35rem; color: #fff;
}
.branch-form-title { font-weight: 800; font-size: 1.1rem; }
.branch-form-sub { font-size: .8rem; opacity: .9; margin-top: .1rem; }

.branch-form-card .card-body { padding: 1.35rem; }
.branch-form-card .form-label { font-size: .82rem; font-weight: 600; color: #475569; }
.branch-form-card .form-control,
.branch-form-card .form-select {
    border-radius: .65rem; border-color: #e2e8f0; padding: .55rem .8rem;
    transition: border-color .15s, box-shadow .15s;
}
.branch-form-card .form-control:focus,
.branch-form-card .form-select:focus {
    border-color: #dc2626; box-shadow: 0 0 0 3px rgba(220, 38, 38, .12);
}
.branch-form-card .form-switch .form-check-input { width: 2.4em; height: 1.25em; cursor: pointer; }
.branch-form-card .form-switch .form-check-input:checked {
    background-color: #dc2626; border-color: #dc2626;
}
.branch-form-card .form-switch .form-check-input:focus {
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .12); border-color: #dc2626;
}
.branch-save {
    background: linear-gradient(135deg, #dc2626, #b91c1c); border: none;
    border-radius: .65rem; font-weight: 600; padding: .6rem 1.4rem;
    box-shadow: 0 6px 16px rgba(220, 38, 38, .28);
}
.branch-save:hover { filter: brightness(1.05); }

body.theme-dark .branch-form-card { box-shadow: 0 12px 34px rgba(0, 0, 0, .4); }
body.theme-dark .branch-form-card .form-label { color: #cbd5e1; }

/* =====================================================================
 *  KULLANICILAR SAYFASI - MODERN
 * ===================================================================*/
/* Form karti - renkli baslik seridi */
.user-form-card { border: none; border-radius: 1.25rem; overflow: hidden; box-shadow: 0 12px 34px rgba(15,23,42,.1); }
.user-form-head {
    padding: 1.15rem 1.35rem; color: #fff;
    display: flex; align-items: center; gap: .9rem;
    background: linear-gradient(135deg, #6366f1 0%, #4f46e5 60%, #4338ca 100%);
    user-select: none;
}
.user-form-badge {
    flex-shrink: 0; width: 46px; height: 46px; border-radius: .85rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.2); font-size: 1.35rem; color: #fff;
}
.user-form-title { font-weight: 800; font-size: 1.12rem; }
.user-form-sub { font-size: .8rem; opacity: .9; margin-top: .1rem; }
.user-form-card .card-body { padding: 1.35rem; }
.user-form-card .form-label { font-size: .82rem; font-weight: 600; color: #475569; }
.user-form-card .form-control, .user-form-card .form-select { border-radius: .65rem; border-color: #e2e8f0; padding: .55rem .8rem; }
.user-form-card .form-control:focus, .user-form-card .form-select:focus { border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99,102,241,.14); }
.user-save { background: linear-gradient(135deg, #6366f1, #4338ca); border: none; border-radius: .65rem; font-weight: 600; padding: .6rem 1.4rem; box-shadow: 0 6px 16px rgba(79,70,229,.3); }
.user-save:hover { filter: brightness(1.05); }

/* Liste karti */
.user-list-card { border: 1px solid #eceff5; border-radius: 1.25rem; overflow: hidden; box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 14px 34px -22px rgba(16,24,40,.28); }
.user-list-card .card-header { background: #fff; border-bottom: 1px solid #f1f5f9; padding: 1.05rem 1.2rem; }
.user-count-badge { font-size: .78rem; font-weight: 700; color: #64748b; background: #f1f5f9; border: 1px solid #e5e9f0; padding: .28rem .7rem; border-radius: 2rem; }

.user-table thead th { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #94a3b8; font-weight: 700; border-bottom: 1px solid #eef1f6; padding: .7rem 1rem; }
.user-table tbody td { padding: .7rem 1rem; border-bottom: 1px solid #f4f6fa; vertical-align: middle; }
.user-table tbody tr:last-child td { border-bottom: none; }
.user-table tbody tr { transition: background .12s ease; }
.user-table tbody tr:hover { background: #f8fafc; }

/* Kullanici hucresi: avatar + isim + meta */
.user-cell { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.user-avatar {
    flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: .88rem; color: #fff; letter-spacing: .02em;
    box-shadow: 0 4px 10px -3px rgba(16,24,40,.35), inset 0 1px 0 rgba(255,255,255,.3);
}
.user-cell-body { min-width: 0; }
.user-cell-name { font-weight: 700; font-size: .9rem; color: #0f172a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-cell-meta { font-size: .76rem; color: #94a3b8; display: flex; align-items: center; gap: .28rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-cell-meta .bi { font-size: .78rem; opacity: .8; }
.user-meta-dot { color: #cbd5e1; }
.user-you { font-size: .66rem; font-weight: 700; text-transform: uppercase; color: #4f46e5; background: rgba(99,102,241,.12); padding: .05rem .4rem; border-radius: .4rem; vertical-align: middle; }

/* Rol tonlari (avatar + rozet) */
.user-avatar.ut-admin   { background: linear-gradient(135deg, #f87171, #dc2626); }
.user-avatar.ut-manager { background: linear-gradient(135deg, #fbbf24, #d97706); }
.user-avatar.ut-staff   { background: linear-gradient(135deg, #94a3b8, #475569); }
.user-role-badge { font-size: .72rem; font-weight: 700; padding: .32rem .65rem; border-radius: .6rem; }
.user-role-badge.ut-admin   { background: rgba(239,68,68,.12);  color: #dc2626; }
.user-role-badge.ut-manager { background: rgba(245,158,11,.14); color: #d97706; }
.user-role-badge.ut-staff   { background: rgba(100,116,139,.14); color: #475569; }
.user-branch { font-size: .86rem; color: #334155; }

/* Durum gostergesi */
.user-status { display: inline-flex; align-items: center; gap: .4rem; font-size: .8rem; font-weight: 600; }
.user-status .dot { width: 8px; height: 8px; border-radius: 50%; }
.user-status.is-on { color: #059669; }
.user-status.is-on .dot { background: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,.18); }
.user-status.is-off { color: #94a3b8; }
.user-status.is-off .dot { background: #cbd5e1; }

/* Dark mode */
body.theme-dark .user-list-card { background: #151d30 !important; border-color: #2a3852 !important; }
body.theme-dark .user-list-card .card-header { background: #151d30 !important; border-bottom-color: #2a3852 !important; }
body.theme-dark .user-count-badge { background: #1c2740 !important; color: #cbd5e1 !important; border-color: #2a3852 !important; }
body.theme-dark .user-table thead th { color: #7c8aa5 !important; border-bottom-color: #2a3852 !important; }
body.theme-dark .user-table tbody td { border-bottom-color: #24304a !important; }
body.theme-dark .user-table tbody tr:hover { background: #1c2740 !important; }
body.theme-dark .user-cell-name { color: #f1f5f9 !important; }
body.theme-dark .user-cell-meta { color: #7c8aa5 !important; }
body.theme-dark .user-branch { color: #cbd5e1 !important; }
body.theme-dark .user-form-card { box-shadow: 0 12px 34px rgba(0,0,0,.4); }
body.theme-dark .user-form-card .card-body { background: #151d30; }
body.theme-dark .user-form-card .form-label { color: #cbd5e1; }

/* =====================================================================
 *  DEMIRBAS DETAY SAYFASI
 * ===================================================================*/
.asset-name-link { color: #0f172a; text-decoration: none; transition: color .12s ease; }
.asset-name-link:hover { color: #dc2626; text-decoration: underline; }

.asset-view { max-width: 960px; margin: 0 auto; }

/* Ust bar */
.av-topbar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 1rem; margin-bottom: 1.1rem; flex-wrap: wrap;
}
.av-back {
    display: inline-flex; align-items: center; gap: .45rem;
    color: #64748b; text-decoration: none; font-weight: 600; font-size: .9rem;
    padding: .5rem .9rem; border-radius: .65rem; border: 1px solid #e2e8f0; background: #fff;
    transition: all .15s ease;
}
.av-back:hover { color: #dc2626; border-color: #fecaca; background: #fef2f2; }
.av-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.av-btn {
    display: inline-flex; align-items: center; gap: .45rem;
    padding: .55rem 1.05rem; border-radius: .65rem; font-weight: 600; font-size: .9rem;
    text-decoration: none; border: 1px solid transparent; transition: all .15s ease;
}
.av-btn-light { background: #fff; color: #dc2626; border-color: #e2e8f0; }
.av-btn-light:hover { border-color: #fecaca; background: #fef2f2; }
.av-btn-primary {
    background: linear-gradient(135deg, #dc2626, #b91c1c); color: #fff;
    box-shadow: 0 6px 16px rgba(220, 38, 38, .28);
}
.av-btn-primary:hover { filter: brightness(1.05); color: #fff; }

/* Hero */
.av-hero {
    display: flex; align-items: center; gap: 1.15rem;
    padding: 1.5rem 1.6rem; border-radius: 1.25rem; color: #fff;
    background: linear-gradient(135deg, #64748b, #475569);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .18);
    margin-bottom: 1.1rem;
}
.av-hero.av-emerald   { background: linear-gradient(135deg, #10b981, #047857); }
.av-hero.av-rose      { background: linear-gradient(135deg, #f43f5e, #be123c); }
.av-hero.av-secondary { background: linear-gradient(135deg, #64748b, #334155); }
.av-hero.av-hurda     { background: linear-gradient(135deg, #64748b, #334155); }
.av-hero.av-asset     { background: linear-gradient(135deg, #1e3a8a, #0f172a); }
.av-status-hurda { color: #334155; }
.av-gauge-hurda { background: conic-gradient(#64748b var(--pct, 0%), #f1f5f9 0); }
.av-hero-icon {
    flex-shrink: 0; width: 72px; height: 72px; border-radius: 1.1rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .28);
    font-size: 2.1rem;
}
.av-hero-main { min-width: 0; }
.av-hero-cat { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; opacity: .9; }
.av-hero-name { font-size: 1.7rem; font-weight: 850; margin: .1rem 0 .6rem; line-height: 1.15; }
.av-hero-tags { display: flex; flex-wrap: wrap; gap: .45rem; }
.av-chip {
    display: inline-flex; align-items: center; gap: .35rem;
    background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .25);
    padding: .3rem .7rem; border-radius: 2rem; font-size: .8rem; font-weight: 600;
}
.av-chip-code { font-family: 'Consolas', monospace; letter-spacing: .04em; }
.av-status {
    display: inline-flex; align-items: center; padding: .3rem .8rem;
    border-radius: 2rem; font-size: .8rem; font-weight: 700; background: #fff;
}
.av-status-emerald { color: #047857; }
.av-status-rose { color: #be123c; }
.av-status-secondary { color: #334155; }

/* Bilgi kartlari grid */
.av-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-bottom: 1.1rem;
}
.av-stat {
    display: flex; align-items: center; gap: .8rem;
    background: #fff; border: 1px solid #eef1f6; border-radius: 1rem; padding: 1rem 1.1rem;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .04);
}
.av-stat-ic {
    flex-shrink: 0; width: 42px; height: 42px; border-radius: .7rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(220, 38, 38, .1); color: #dc2626; font-size: 1.15rem;
}
.av-stat-lbl { font-size: .74rem; color: #94a3b8; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.av-stat-val { font-size: 1rem; font-weight: 800; color: #0f172a; margin-top: .1rem; }

/* Ekstra ozellik karti */
.av-card {
    background: #fff; border: 1px solid #eef1f6; border-radius: 1.25rem;
    padding: 1.35rem; box-shadow: 0 4px 14px rgba(15, 23, 42, .04);
}
.av-card-head { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; }
.av-card-ic {
    flex-shrink: 0; width: 44px; height: 44px; border-radius: .8rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #dc2626, #b91c1c); color: #fff; font-size: 1.2rem;
    box-shadow: 0 6px 16px rgba(220, 38, 38, .28);
}
.av-card-title { font-weight: 800; font-size: 1.05rem; color: #0f172a; }
.av-card-sub { font-size: .8rem; color: #94a3b8; }
.av-card-count {
    margin-left: auto; min-width: 28px; height: 28px; padding: 0 .5rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: #fef2f2; color: #dc2626; border: 1px solid #fecaca;
    border-radius: 2rem; font-weight: 800; font-size: .85rem;
}
.av-props { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; }
.av-prop {
    border: 1px solid #eef1f6; border-radius: .85rem; padding: .8rem .95rem;
    background: #f8fafc;
}
.av-prop-key { font-size: .74rem; color: #94a3b8; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; margin-bottom: .2rem; }
.av-prop-val { font-size: .98rem; color: #0f172a; font-weight: 700; word-break: break-word; }
.av-empty {
    display: flex; flex-direction: column; align-items: center; gap: .5rem;
    padding: 2rem; color: #94a3b8; text-align: center;
}
.av-empty i { font-size: 2rem; opacity: .6; }

/* Responsive */
@media (max-width: 767.98px) {
    .av-grid { grid-template-columns: 1fr 1fr; }
    .av-props { grid-template-columns: 1fr; }
    .av-hero { flex-direction: column; text-align: center; }
    .av-hero-tags { justify-content: center; }
    .av-hero-name { font-size: 1.35rem; }
    .av-actions { width: 100%; }
    .av-actions .av-btn { flex: 1; justify-content: center; }
}
@media (max-width: 480px) {
    .av-grid { grid-template-columns: 1fr; }
}

/* --- Dark tema --- */
body.theme-dark .asset-name-link { color: #e2e8f0; }
body.theme-dark .asset-name-link:hover { color: #f87171; }
body.theme-dark .av-back { background: #1e293b; border-color: #2a3852; color: #cbd5e1; }
body.theme-dark .av-back:hover { background: #2a3852; color: #f87171; border-color: #3a2530; }
body.theme-dark .av-btn-light { background: #1e293b; border-color: #2a3852; color: #f87171; }
body.theme-dark .av-stat,
body.theme-dark .av-card { background: #151d30; border-color: #2a3852; }
body.theme-dark .av-stat-val,
body.theme-dark .av-card-title { color: #e2e8f0; }
body.theme-dark .av-prop { background: #0f172a; border-color: #2a3852; }
body.theme-dark .av-prop-val { color: #e2e8f0; }
body.theme-dark .av-card-count { background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.3); color: #f87171; }

/* =====================================================================
 *  MODAL RENK VARYANTLARI (dashboard hizli islem renkleriyle uyumlu)
 *  Demirbas=lacivert, Sarf=turuncu, Parca=yesil
 * ===================================================================*/

/* --- DEMIRBAS: lacivert (asset-modal) --- */
.asset-modal .asset-modal-head {
    background: linear-gradient(135deg, #1e3a8a 0%, #172e6e 60%, #0f172a 100%);
}
.asset-modal .asset-seg .nav-link:hover { color: #1e3a8a; }
.asset-modal .asset-seg .nav-link.active { color: #1e3a8a; }
.asset-modal .form-control:focus,
.asset-modal .form-select:focus {
    border-color: #1e3a8a; box-shadow: 0 0 0 3px rgba(30, 58, 138, .13);
}
.asset-modal .modal-footer .btn-primary {
    background: linear-gradient(135deg, #1e3a8a, #0f172a);
    box-shadow: 0 6px 16px rgba(30, 58, 138, .3);
}
body.theme-dark .asset-modal .asset-seg .nav-link.active { color: #93c5fd; }

/* --- Genel app-modal renk modifier'lari --- */
.app-modal--navy .app-modal-head   { background: linear-gradient(135deg, #1e3a8a 0%, #172e6e 60%, #0f172a 100%); }
.app-modal--orange .app-modal-head { background: linear-gradient(135deg, #f97316 0%, #ea580c 60%, #c2410c 100%); }
.app-modal--green .app-modal-head  { background: linear-gradient(135deg, #16a34a 0%, #15913f 60%, #15803d 100%); }
.app-modal--sky .app-modal-head    { background: linear-gradient(135deg, #0ea5e9 0%, #0891cf 60%, #0284c7 100%); }

/* Turuncu (sarf malzeme) */
.app-modal--orange .form-control:focus,
.app-modal--orange .form-select:focus {
    border-color: #f97316; box-shadow: 0 0 0 3px rgba(249, 115, 22, .15);
}
.app-modal--orange .modal-footer .btn-primary,
.app-modal--orange .input-group .btn-primary {
    background: linear-gradient(135deg, #f97316, #c2410c);
    box-shadow: 0 6px 16px rgba(249, 115, 22, .3);
}

/* Yesil (parca) */
.app-modal--green .form-control:focus,
.app-modal--green .form-select:focus {
    border-color: #16a34a; box-shadow: 0 0 0 3px rgba(22, 163, 74, .15);
}
.app-modal--green .modal-footer .btn-primary,
.app-modal--green .input-group .btn-primary {
    background: linear-gradient(135deg, #16a34a, #15803d);
    box-shadow: 0 6px 16px rgba(22, 163, 74, .3);
}

/* =====================================================================
 *  DEMIRBAS DETAY SAYFASI - LACIVERT TEMA (dashboard demirbas rengi)
 *  Onceki kirmizi aksanlari lacivert ile override eder.
 * ===================================================================*/
.asset-name-link:hover { color: #1e3a8a; }

.av-back:hover { color: #1e3a8a; border-color: #c7d2fe; background: #eef2ff; }
.av-btn-light { color: #1e3a8a; }
.av-btn-light:hover { border-color: #c7d2fe; background: #eef2ff; }
.av-btn-primary {
    background: linear-gradient(135deg, #1e3a8a, #0f172a);
    box-shadow: 0 6px 16px rgba(30, 58, 138, .3);
}

/* Nötr durumda (secondary) hero'yu lacivarte cek - demirbas kimligi */
.av-hero.av-secondary { background: linear-gradient(135deg, #1e3a8a, #0f172a); }

/* Bilgi kart ikonlari lacivert */
.av-stat-ic { background: rgba(30, 58, 138, .1); color: #1e3a8a; }
.av-stat { transition: transform .15s ease, box-shadow .15s ease; }
.av-stat:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(15, 23, 42, .1); }

/* Ekstra ozellik karti basligi lacivert */
.av-card-ic {
    background: linear-gradient(135deg, #1e3a8a, #0f172a);
    box-shadow: 0 6px 16px rgba(30, 58, 138, .3);
}
.av-card-count { background: #eef2ff; color: #1e3a8a; border-color: #c7d2fe; }
.av-prop { transition: border-color .15s ease, background .15s ease; }
.av-prop:hover { border-color: #c7d2fe; background: #eef2ff; }

/* Dark tema */
body.theme-dark .asset-name-link:hover { color: #93c5fd; }
body.theme-dark .av-back:hover { background: #1e293b; color: #93c5fd; border-color: #1e3a8a; }
body.theme-dark .av-btn-light { color: #93c5fd; }
body.theme-dark .av-stat-ic { background: rgba(59, 130, 246, .15); color: #93c5fd; }
body.theme-dark .av-card-count { background: rgba(59, 130, 246, .15); border-color: rgba(59, 130, 246, .35); color: #93c5fd; }
body.theme-dark .av-prop:hover { background: #16233c; border-color: #1e3a8a; }

/* =====================================================================
 *  DEMIRBAS DETAY - GELISMIS MODERN DUZEN
 * ===================================================================*/
.asset-view { max-width: 1080px; }

/* Hero dekoratif desen + derinlik */
.av-hero { position: relative; overflow: hidden; }
.av-hero-deco {
    position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(circle at 88% -20%, rgba(255,255,255,.22), transparent 45%),
        radial-gradient(circle at 108% 120%, rgba(0,0,0,.18), transparent 40%);
}
.av-hero-icon, .av-hero-main { position: relative; z-index: 1; }
.av-hero-icon {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.15), 0 8px 20px rgba(0,0,0,.15);
}
.av-hero-cat { display: inline-flex; align-items: center; gap: .35rem; }

/* Iki kolonlu layout */
.av-layout { display: grid; grid-template-columns: 1fr 320px; gap: 1.1rem; align-items: start; }
.av-col-main { display: flex; flex-direction: column; gap: 1.1rem; }
.av-col-side { display: flex; flex-direction: column; gap: 1.1rem; position: sticky; top: 1rem; }

/* Bilgi grid 2 sutun (yan kolon oldugu icin) */
.av-grid { grid-template-columns: repeat(2, 1fr); margin-bottom: 0; }
.av-mono { font-family: 'Consolas', monospace; letter-spacing: .04em; }

/* Ekstra ozellik: ikonlu satirlar */
.av-prop { display: flex; align-items: flex-start; gap: .7rem; }
.av-prop-ic {
    flex-shrink: 0; width: 34px; height: 34px; border-radius: .6rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(30, 58, 138, .1); color: #1e3a8a; font-size: .95rem;
}
.av-prop-body { min-width: 0; }

/* --- Sag kolon kartlari --- */
.av-side-card {
    background: #fff; border: 1px solid #eef1f6; border-radius: 1.25rem;
    padding: 1.25rem; box-shadow: 0 4px 14px rgba(15, 23, 42, .04);
}
.av-side-title {
    display: flex; align-items: center; gap: .45rem;
    font-weight: 800; color: #0f172a; font-size: .95rem; margin-bottom: 1rem;
}
.av-side-title > i { color: #1e3a8a; }

/* Dairesel gosterge */
.av-gauge {
    width: 118px; height: 118px; margin: 0 auto .9rem;
    border-radius: 50%; display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    background: conic-gradient(#1e3a8a var(--pct, 0%), #eef2ff 0);
    position: relative;
}
.av-gauge::before {
    content: ""; position: absolute; inset: 10px; border-radius: 50%; background: #fff;
}
.av-gauge-num, .av-gauge-lbl { position: relative; z-index: 1; }
.av-gauge-num { font-size: 1.7rem; font-weight: 850; color: #0f172a; line-height: 1; }
.av-gauge-lbl { font-size: .72rem; color: #94a3b8; text-transform: uppercase; letter-spacing: .04em; margin-top: .2rem; }
.av-gauge-emerald   { background: conic-gradient(#10b981 var(--pct, 0%), #ecfdf5 0); }
.av-gauge-rose      { background: conic-gradient(#f43f5e var(--pct, 0%), #fef2f2 0); }
.av-gauge-secondary { background: conic-gradient(#1e3a8a var(--pct, 0%), #eef2ff 0); }

/* Ilerleme cubugu */
.av-bar { height: 8px; border-radius: 8px; background: #eef2ff; overflow: hidden; margin-bottom: 1rem; }
.av-bar-fill { height: 100%; border-radius: 8px; background: linear-gradient(90deg, #1e3a8a, #3b82f6); transition: width .5s ease; }

.av-side-stats { display: flex; flex-direction: column; gap: .55rem; }
.av-side-stat {
    display: flex; align-items: center; gap: .5rem;
    font-size: .85rem; color: #475569; font-weight: 600;
}
.av-side-stat b { margin-left: auto; color: #0f172a; font-weight: 800; }
.dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.dot-emerald { background: #10b981; }
.dot-rose { background: #f43f5e; }
.dot-navy { background: #1e3a8a; }

/* Barkod karti */
.av-barcode-card { text-align: center; }
.av-barcode-card svg { max-width: 100%; height: 48px; }
.av-barcode-code {
    font-family: 'Consolas', monospace; font-weight: 700; letter-spacing: 2px;
    color: #0f172a; font-size: .95rem; margin: .3rem 0 .9rem;
}
.av-barcode-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
    width: 100%; padding: .6rem; border-radius: .7rem; text-decoration: none;
    background: linear-gradient(135deg, #1e3a8a, #0f172a); color: #fff; font-weight: 600; font-size: .88rem;
    box-shadow: 0 6px 16px rgba(30, 58, 138, .28); transition: filter .15s ease;
}
.av-barcode-btn:hover { filter: brightness(1.08); color: #fff; }

/* Responsive: yan kolon alta insin */
@media (max-width: 900px) {
    .av-layout { grid-template-columns: 1fr; }
    .av-col-side { position: static; flex-direction: row; flex-wrap: wrap; }
    .av-col-side .av-side-card { flex: 1 1 260px; }
}
@media (max-width: 767.98px) {
    .av-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .av-grid { grid-template-columns: 1fr; }
    .av-col-side { flex-direction: column; }
}

/* --- Dark tema --- */
body.theme-dark .av-side-card { background: #151d30; border-color: #2a3852; }
body.theme-dark .av-side-title { color: #e2e8f0; }
body.theme-dark .av-side-title > i { color: #93c5fd; }
body.theme-dark .av-gauge::before { background: #151d30; }
body.theme-dark .av-gauge-num { color: #e2e8f0; }
body.theme-dark .av-gauge,
body.theme-dark .av-gauge-secondary { background: conic-gradient(#3b82f6 var(--pct, 0%), #0f172a 0); }
body.theme-dark .av-bar { background: #0f172a; }
body.theme-dark .av-side-stat { color: #cbd5e1; }
body.theme-dark .av-side-stat b { color: #e2e8f0; }
body.theme-dark .av-prop-ic { background: rgba(59, 130, 246, .15); color: #93c5fd; }
body.theme-dark .av-barcode-code { color: #e2e8f0; }
body.theme-dark .av-barcode-card svg { background: #fff; border-radius: .4rem; padding: 4px; }

/* =====================================================================
 *  ALIM GECMISI TABLOSU - PARCA YESILI TEMASI (masaustu)
 * ===================================================================*/
.purchase-history-table thead th {
    background: #ecfdf5;
    color: #15803d;
    font-weight: 700;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    border-bottom: 2px solid #bbf7d0;
    padding: .6rem .75rem;
}
.purchase-history-table tbody td { border-bottom: 1px solid #eef1f6; }
.purchase-history-table tbody tr:hover { background: #f0fdf4; }
.purchase-history-table .badge.bg-success {
    background: linear-gradient(135deg, #16a34a, #15803d) !important;
    font-weight: 700;
}

/* Masaustu toplam satiri: yesil vurgu */
@media (min-width: 576px) {
    .purchase-history-table tfoot tr.ph-total td {
        background: #ecfdf5;
        color: #15803d;
        font-weight: 800;
        border-top: 2px solid #bbf7d0;
        padding: .65rem .75rem;
    }
    .purchase-history-table tfoot tr.ph-total td.ph-total-title { color: #15803d; }
}

/* Gecmis modalindaki duzenle/sil butonlari yesil hover */
#historyModal .pp-edit-btn:hover { color: #16a34a; border-color: #bbf7d0; background: #f0fdf4; }

/* --- Dark tema --- */
body.theme-dark .purchase-history-table thead th {
    background: #143024; color: #4ade80; border-bottom-color: #1f5133;
}
body.theme-dark .purchase-history-table tbody tr:hover { background: #16233c; }
body.theme-dark .purchase-history-table tbody td { border-bottom-color: #2a3852; }
@media (min-width: 576px) {
    body.theme-dark .purchase-history-table tfoot tr.ph-total td {
        background: #143024; color: #4ade80; border-top-color: #1f5133;
    }
    body.theme-dark .purchase-history-table tfoot tr.ph-total td.ph-total-title { color: #4ade80; }
}

/* =====================================================================
 *  TEMA AYARLARI SAYFASI
 * ===================================================================*/
.theme-color-grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: .9rem;
}
.tc-group-title {
    display: flex; align-items: center; gap: .5rem;
    margin: 1.4rem 0 .9rem; padding-top: 1.1rem;
    border-top: 1px solid #eef1f6;
    font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    color: #64748b;
}
body.theme-dark .tc-group-title { border-top-color: #2a3852; color: #94a3b8; }
.tc-item {
    display: flex; align-items: flex-start; gap: .9rem;
    border: 1px solid #eef1f6; border-radius: 1rem; padding: 1rem;
    background: #fff; transition: border-color .15s ease, box-shadow .15s ease;
}
.tc-item:hover { border-color: var(--tc, #dc2626); box-shadow: 0 6px 18px rgba(15,23,42,.06); }
.tc-swatch { flex-shrink: 0; }
.tc-preview {
    width: 48px; height: 48px; border-radius: .8rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--tc, #dc2626); color: #fff; font-size: 1.4rem;
    box-shadow: 0 6px 16px color-mix(in srgb, var(--tc, #dc2626) 40%, transparent);
    transition: background .15s ease;
}
.tc-body { min-width: 0; flex: 1; }
.tc-label { font-weight: 800; color: #0f172a; font-size: .95rem; }
.tc-desc { font-size: .78rem; color: #94a3b8; margin: .1rem 0 .55rem; }
.tc-controls { display: flex; align-items: center; gap: .5rem; }
.tc-color {
    width: 44px; height: 38px; padding: 2px; border: 1px solid #e2e8f0;
    border-radius: .55rem; cursor: pointer; background: #fff; flex-shrink: 0;
}
.tc-color::-webkit-color-swatch { border: none; border-radius: .35rem; }
.tc-color::-moz-color-swatch { border: none; border-radius: .35rem; }
.tc-hex {
    font-family: 'Consolas', monospace; text-transform: lowercase;
    max-width: 110px; border-radius: .55rem;
}

/* Canli onizleme */
.tc-preview-row { display: flex; flex-wrap: wrap; gap: .5rem; }
.tc-demo-btn {
    display: inline-flex; align-items: center; padding: .55rem 1.1rem;
    border-radius: .65rem; color: #fff; font-weight: 700; font-size: .88rem;
    box-shadow: 0 4px 12px rgba(15,23,42,.12);
}
.tc-demo-badge {
    display: inline-flex; align-items: center; padding: .35rem .85rem;
    border-radius: 2rem; color: #fff; font-weight: 700; font-size: .8rem;
}

@media (max-width: 767.98px) {
    .theme-color-grid { grid-template-columns: 1fr; }
}

/* Dark tema */
body.theme-dark .tc-item { background: #151d30; border-color: #2a3852; }
body.theme-dark .tc-label { color: #e2e8f0; }
body.theme-dark .tc-color { background: #0f172a; border-color: #2a3852; }

/* =====================================================================
 *  AYARLAR - GIZLILIK TOGGLE
 * ===================================================================*/
.settings-toggle {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.settings-toggle-title { font-weight: 700; color: #0f172a; font-size: .98rem; }
.settings-toggle-desc { font-size: .82rem; color: #64748b; margin-top: .2rem; max-width: 640px; }
.settings-switch .form-check-input {
    width: 2.6em; height: 1.4em; cursor: pointer; margin: 0;
}
.settings-switch .form-check-input:checked {
    background-color: var(--primary, #dc2626); border-color: var(--primary, #dc2626);
}
.settings-switch .form-check-input:focus {
    border-color: var(--primary, #dc2626);
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb, 220,38,38), .18);
}
body.theme-dark .settings-toggle-title { color: #e2e8f0; }
body.theme-dark .settings-toggle-desc { color: #94a3b8; }

/* Modul Ayarlari: her modul ayri kutu + ikon */
.mod-toggle {
    border: 1px solid #eef1f6; border-radius: .85rem;
    padding: .95rem 1.1rem; margin-bottom: .75rem;
    background: #fff; transition: border-color .15s ease, box-shadow .15s ease;
}
.mod-toggle:last-child { margin-bottom: 0; }
.mod-toggle:hover { border-color: #e2e8f0; box-shadow: 0 6px 18px -12px rgba(16,24,40,.25); }
.mod-ic {
    flex-shrink: 0; width: 44px; height: 44px; border-radius: .7rem;
    display: inline-flex; align-items: center; justify-content: center;
    color: #fff; font-size: 1.25rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
}
body.theme-dark .mod-toggle { background: #151d30 !important; border-color: #2a3852 !important; }

/* =====================================================================
 *  VERITABANI & BAKIM SAYFASI
 * ===================================================================*/
/* Ozet kartlari */
.db-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }
.db-stat {
    display: flex; align-items: center; gap: .8rem;
    background: #fff; border: 1px solid #eef1f6; border-radius: 1rem; padding: 1rem 1.1rem;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .04);
}
.db-stat-ic {
    flex-shrink: 0; width: 44px; height: 44px; border-radius: .7rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(var(--primary-rgb, 220,38,38), .1); color: var(--primary, #dc2626); font-size: 1.2rem;
}
.db-stat-num { font-size: 1.25rem; font-weight: 850; color: #0f172a; line-height: 1; }
.db-stat-lbl { font-size: .76rem; color: #94a3b8; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; margin-top: .2rem; }
.db-stat-warn .db-stat-ic { background: rgba(245, 158, 11, .12); color: #d97706; }
.db-stat-warn .db-stat-num { color: #d97706; }

/* Arac satirlari */
.db-tools { display: flex; flex-direction: column; gap: .7rem; }
.db-tool {
    display: flex; align-items: center; gap: 1rem;
    border: 1px solid #eef1f6; border-radius: .9rem; padding: .9rem 1rem;
    transition: border-color .15s ease, box-shadow .15s ease; margin: 0;
}
.db-tool:hover { border-color: #dbe2ea; box-shadow: 0 6px 18px rgba(15, 23, 42, .06); }
.db-tool-ic {
    flex-shrink: 0; width: 46px; height: 46px; border-radius: .75rem;
    display: inline-flex; align-items: center; justify-content: center;
    color: #fff; font-size: 1.3rem;
}
.db-tool-ic.tone-emerald { background: linear-gradient(135deg, #10b981, #047857); }
.db-tool-ic.tone-amber   { background: linear-gradient(135deg, #f59e0b, #b45309); }
.db-tool-ic.tone-sky     { background: linear-gradient(135deg, #0ea5e9, #0369a1); }
.db-tool-ic.tone-rose    { background: linear-gradient(135deg, #f43f5e, #be123c); }
.db-tool-body { flex: 1; min-width: 0; }
.db-tool-title { font-weight: 800; color: #0f172a; font-size: .98rem; }
.db-tool-desc { font-size: .82rem; color: #64748b; margin-top: .1rem; }
.db-tool-btn {
    flex-shrink: 0; background: var(--primary, #dc2626); color: #fff; border: none;
    border-radius: .6rem; font-weight: 600; padding: .5rem 1rem;
    display: inline-flex; align-items: center; gap: .35rem;
}
.db-tool-btn:hover { filter: brightness(1.08); color: #fff; }

/* Yedekleme durumu + cron kutusu */
.db-backup-status {
    display: flex; align-items: flex-start; gap: .8rem;
    padding: .9rem 1.1rem; border-radius: .8rem; border: 1px solid;
}
.db-backup-status > i { font-size: 1.4rem; margin-top: .1rem; }
.db-backup-status.ok   { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.db-backup-status.none { background: #fffbeb; border-color: #fde68a; color: #b45309; }
.db-backup-status-title { font-weight: 800; font-size: .95rem; }
.db-backup-status-sub { font-size: .84rem; color: #475569; margin-top: .12rem; }
.db-auto-note { font-size: .8rem; color: #15803d; display: flex; align-items: center; gap: .35rem; }
body.theme-dark .db-auto-note { color: #86efac; }
.db-cron-box { background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: .8rem; padding: 1rem 1.1rem; }
.db-cron-title { font-weight: 800; font-size: .92rem; color: #0f172a; display: flex; align-items: center; gap: .4rem; }
.db-cron-title > i { color: var(--primary, #dc2626); }
.db-cron-desc { font-size: .84rem; color: #64748b; }
.db-cron-code {
    display: flex; align-items: center; gap: .5rem; background: #0f172a; color: #e2e8f0;
    border-radius: .55rem; padding: .55rem .75rem; overflow-x: auto;
}
.db-cron-code code { color: #86efac; font-size: .82rem; white-space: nowrap; flex: 1; background: none; }
.db-cron-code .btn { flex-shrink: 0; }
body.theme-dark .db-backup-status.ok { background: rgba(22,163,74,.12); border-color: rgba(22,163,74,.4); color: #86efac; }
body.theme-dark .db-backup-status.none { background: rgba(217,119,6,.12); border-color: rgba(217,119,6,.4); color: #fcd34d; }
body.theme-dark .db-backup-status-sub { color: #97a4bb; }
body.theme-dark .db-cron-box { background: #10192b; border-color: #2a3852; }
body.theme-dark .db-cron-title { color: #e8edf5; }

/* Islem sonucu */
.db-result { max-height: 320px; overflow-y: auto; display: flex; flex-direction: column; gap: .35rem; }
.db-result-row {
    display: flex; align-items: center; gap: .5rem; font-size: .85rem;
    padding: .45rem .65rem; border-radius: .5rem; background: #f8fafc;
}
.db-result-row code { color: #0f172a; }
.db-result-msg { color: #64748b; }

/* Tablo listesi */
.db-table code { font-size: .82rem; }
.db-table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: #94a3b8; }

/* Sistem bilgisi */
.db-info { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; }
.db-info-item {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: .6rem .85rem; border: 1px solid #eef1f6; border-radius: .7rem; background: #f8fafc;
}
.db-info-k { font-size: .82rem; color: #64748b; font-weight: 600; }
.db-info-v { font-size: .88rem; color: #0f172a; font-weight: 700; font-family: 'Consolas', monospace; }

@media (max-width: 767.98px) {
    .db-stats { grid-template-columns: 1fr 1fr; }
    .db-info { grid-template-columns: 1fr; }
    .db-tool { flex-wrap: wrap; }
    .db-tool-btn { width: 100%; justify-content: center; margin-top: .2rem; }
}

/* Dark tema */
body.theme-dark .db-stat,
body.theme-dark .db-tool { background: #151d30; border-color: #2a3852; }
body.theme-dark .db-stat-num,
body.theme-dark .db-tool-title { color: #e2e8f0; }
body.theme-dark .db-result-row,
body.theme-dark .db-info-item { background: #0f172a; border-color: #2a3852; }
body.theme-dark .db-result-row code,
body.theme-dark .db-info-v { color: #e2e8f0; }


/* ---------- KATEGORI IKON SECICI (cat-icon-picker) ---------- */
.cat-icon-picker {
    border: 1px solid #e2e8f0; border-radius: .75rem; padding: .7rem; background: #f8fafc;
}
.cip-header { display: flex; align-items: center; gap: .5rem; margin-bottom: .6rem; }
.cip-preview {
    flex-shrink: 0; width: 40px; height: 40px; border-radius: .6rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--primary, #dc2626), var(--primary-dark, #b91c1c));
    color: #fff; font-size: 1.15rem;
    box-shadow: 0 4px 10px -3px rgba(16,24,40,.3), inset 0 1px 0 rgba(255,255,255,.3);
}
.cip-search { flex: 1 1 auto; }
.cip-clear { flex-shrink: 0; }
.cip-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(42px, 1fr));
    gap: .4rem; max-height: 190px; overflow-y: auto; padding: .2rem;
}
.cip-item {
    aspect-ratio: 1 / 1; border: 1px solid #e5e9f0; border-radius: .55rem;
    background: #fff; color: #475569; font-size: 1.1rem; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: all .12s ease;
}
.cip-item:hover { border-color: var(--primary, #dc2626); color: var(--primary, #dc2626); transform: translateY(-1px); }
.cip-item.selected {
    background: var(--primary, #dc2626); border-color: var(--primary, #dc2626); color: #fff;
    box-shadow: 0 4px 10px -3px rgba(220,38,38,.4);
}
.cip-item.cip-hidden { display: none; }

body.theme-dark .cat-icon-picker { background: #151d30; border-color: #2a3852; }
body.theme-dark .cip-item { background: #1c2740; border-color: #2a3852; color: #cbd5e1; }
body.theme-dark .cip-item:hover { border-color: #60a5fa; color: #60a5fa; }

/* =====================================================================
 *  COZUMLER (BILGI BANKASI) - PREMIUM TASARIM
 *  Tek renk dili: amber/altin tema, yumusak golge, cam efekti
 * ===================================================================*/
:root {
    --sol-4: #fbbf24;   /* en acik (hero degrade basi) */
    --sol-1: #f59e0b;   /* amber */
    --sol-2: #d97706;   /* koyu amber */
    --sol-3: #b45309;   /* en koyu */
    --sol-rgb: 217,119,6;
    --sol-soft: rgba(217,119,6,.10);
    --sol-line: #eef1f6;
}

/* ---------- HERO ---------- */
.sol-hero {
    position: relative; overflow: hidden; border-radius: 1.5rem; margin-bottom: 1.25rem;
    padding: 2rem 2.1rem; color: #fff;
    background: linear-gradient(120deg, var(--sol-4) 0%, var(--sol-1) 40%, var(--sol-2) 75%, var(--sol-3) 100%);
    display: flex; align-items: center; justify-content: space-between; gap: 1.4rem; flex-wrap: wrap;
    box-shadow: 0 24px 60px -28px rgba(var(--sol-rgb),.75);
}
.sol-hero-bg {
    position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(circle at 85% -10%, rgba(255,255,255,.28), transparent 42%),
        radial-gradient(circle at 12% 130%, rgba(0,0,0,.16), transparent 50%);
}
/* Dekoratif desenli daireler */
.sol-hero::after {
    content: ''; position: absolute; right: -60px; top: -60px; width: 240px; height: 240px; border-radius: 50%;
    border: 40px solid rgba(255,255,255,.08); pointer-events: none;
}
.sol-hero-main { position: relative; z-index: 1; display: flex; align-items: center; gap: 1.15rem; min-width: 0; }
.sol-hero-ic {
    flex-shrink: 0; width: 66px; height: 66px; border-radius: 1.25rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.22); font-size: 2rem;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.45), 0 10px 24px -8px rgba(0,0,0,.25);
    backdrop-filter: blur(3px);
}
.sol-hero-title { font-size: 1.65rem; font-weight: 800; margin: 0; letter-spacing: -.03em; text-shadow: 0 2px 8px rgba(0,0,0,.12); }
.sol-hero-sub { font-size: .92rem; opacity: .94; margin: .25rem 0 0; }
.sol-hero-stats { position: relative; z-index: 1; display: flex; gap: .7rem; }
.sol-hero-stat {
    text-align: center; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.22);
    border-radius: 1rem; padding: .75rem 1.15rem; min-width: 90px; backdrop-filter: blur(6px);
}
.shs-num { display: block; font-size: 1.55rem; font-weight: 800; line-height: 1; }
.shs-lbl { display: block; font-size: .72rem; opacity: .92; margin-top: .3rem; letter-spacing: .02em; }

/* ---------- ARAC CUBUGU ---------- */
.sol-toolbar-row { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.1rem; flex-wrap: wrap; }
.sol-search {
    flex: 1 1 280px; display: flex; align-items: center; gap: .55rem;
    background: #fff; border: 1.5px solid var(--sol-line); border-radius: .95rem; padding: 0 .95rem;
    box-shadow: 0 1px 2px rgba(16,24,40,.04);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.sol-search:focus-within { border-color: var(--sol-1); box-shadow: 0 0 0 4px rgba(var(--sol-rgb),.14); }
.sol-search > i { color: #94a3b8; }
.sol-search input { flex: 1; border: none; background: transparent; outline: none; padding: .72rem .2rem; font-size: .93rem; color: #1e293b; min-width: 0; }
.sol-search-clear { color: #94a3b8; display: inline-flex; padding: .3rem; border-radius: .45rem; text-decoration: none; }
.sol-search-clear:hover { background: #eef1f6; color: #475569; }

.sol-ghost {
    flex-shrink: 0; display: inline-flex; align-items: center; gap: .45rem; cursor: pointer;
    border: 1.5px solid var(--sol-line); background: #fff; color: #475569;
    font-weight: 600; font-size: .9rem; padding: .72rem 1.15rem; border-radius: .95rem;
    box-shadow: 0 1px 2px rgba(16,24,40,.04); transition: all .14s ease;
}
.sol-ghost:hover { background: rgba(var(--sol-rgb),.06); border-color: var(--sol-4); color: var(--sol-2); }

.sol-new {
    flex-shrink: 0; display: inline-flex; align-items: center; gap: .45rem; cursor: pointer;
    border: none; background: linear-gradient(135deg, var(--sol-1), var(--sol-2)); color: #fff;
    font-weight: 700; font-size: .92rem; padding: .75rem 1.35rem; border-radius: .95rem;
    box-shadow: 0 10px 22px -8px rgba(var(--sol-rgb),.6); transition: transform .14s ease, filter .14s ease;
    text-decoration: none;
}
.sol-new:hover { transform: translateY(-2px); filter: brightness(1.05); color: #fff; }

/* ---------- KATEGORI FILTRE CHIP'LERI ---------- */
.sol-catfilter { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.2rem; }
.sol-catchip {
    display: inline-flex; align-items: center; gap: .35rem; text-decoration: none;
    font-size: .82rem; font-weight: 600; padding: .48rem .95rem; border-radius: 2rem;
    background: #fff; color: #64748b; border: 1px solid var(--sol-line);
    box-shadow: 0 1px 2px rgba(16,24,40,.04); transition: all .14s ease;
}
.sol-catchip:hover { border-color: var(--sol-4); color: var(--sol-2); transform: translateY(-1px); }
.sol-catchip.active {
    background: linear-gradient(135deg, var(--sol-1), var(--sol-2)); color: #fff; border-color: transparent;
    box-shadow: 0 8px 16px -6px rgba(var(--sol-rgb),.55);
}

/* ---------- MOBIL: arac cubugu + kategori filtresi ---------- */
@media (max-width: 575.98px) {
    /* Arama tam genislik ustte; Kategoriler + Yeni Not altta yan yana */
    .sol-toolbar-row { gap: .6rem; }
    .sol-toolbar-row .sol-search { flex: 1 1 100%; order: 1; }
    .sol-toolbar-row .sol-ghost { order: 2; flex: 1 1 0; justify-content: center; }
    .sol-toolbar-row .sol-new   { order: 3; flex: 1 1 0; justify-content: center; }
    .sol-ghost .d-none.d-sm-inline { display: inline !important; } /* mobilde "Kategoriler" yazisi gorunsun */

    /* Kategori chip'leri: yatay kaydirmali tek satir (scroll-snap) */
    .sol-catfilter {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        gap: .45rem;
        margin: 0 -1rem 1.1rem;      /* kenarlara tasir, kart boslugunu kullan */
        padding: .15rem 1rem .5rem;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;        /* Firefox */
    }
    .sol-catfilter::-webkit-scrollbar { display: none; } /* Chrome/Safari */
    .sol-catchip {
        flex: 0 0 auto;
        scroll-snap-align: start;
        padding: .5rem 1rem;
        font-size: .83rem;
    }
}

/* ---------- NOT KARTLARI ---------- */
.sol-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 1.1rem; }
.sol-note {
    display: flex; flex-direction: column; gap: .65rem;
    background: #fff; border: 1px solid #eef1f6; border-radius: 1.25rem; padding: 1.3rem 1.35rem;
    text-decoration: none; color: inherit; position: relative; overflow: hidden;
    box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 18px 44px -30px rgba(16,24,40,.5);
    transition: transform .18s cubic-bezier(.4,0,.2,1), box-shadow .18s ease, border-color .18s ease;
}
.sol-note::before {
    content: ''; position: absolute; left: 0; top: 0; height: 100%; width: 4px;
    background: linear-gradient(180deg, var(--sol-1), var(--sol-2)); transform: scaleY(0); transform-origin: top;
    transition: transform .2s ease;
}
.sol-note::after {
    content: ''; position: absolute; right: -40px; top: -40px; width: 130px; height: 130px; border-radius: 50%;
    background: radial-gradient(circle, var(--sol-soft), transparent 70%); opacity: 0; transition: opacity .2s ease;
}
.sol-note:hover { transform: translateY(-5px); border-color: var(--sol-4); box-shadow: 0 28px 55px -28px rgba(var(--sol-rgb),.55); }
.sol-note:hover::before { transform: scaleY(1); }
.sol-note:hover::after { opacity: 1; }

.sol-note-top { display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 1; }
.sol-note-ic {
    width: 46px; height: 46px; border-radius: .9rem; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 1.25rem;
    background: linear-gradient(135deg, var(--sol-4), var(--sol-2));
    box-shadow: 0 8px 16px -5px rgba(var(--sol-rgb),.55), inset 0 1px 0 rgba(255,255,255,.45);
    transition: transform .18s ease;
}
.sol-note:hover .sol-note-ic { transform: scale(1.08) rotate(-5deg); }
.sol-note-title { font-size: 1.08rem; font-weight: 700; color: #0f172a; margin: 0; line-height: 1.35; letter-spacing: -.01em; position: relative; z-index: 1; }
.sol-note:hover .sol-note-title { color: var(--sol-2); }
.sol-note-preview {
    font-size: .86rem; color: #64748b; line-height: 1.65; margin: 0; flex: 1 1 auto; position: relative; z-index: 1;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.sol-note-chips { display: flex; flex-wrap: wrap; gap: .35rem; position: relative; z-index: 1; }
.sol-note-chip {
    font-size: .7rem; font-weight: 600; padding: .2rem .6rem; border-radius: 2rem;
    background: #f1f5f9; color: #64748b;
}
.sol-note-chip.cat { background: var(--sol-soft); color: var(--sol-3); }
.sol-note-foot {
    display: flex; align-items: center; justify-content: space-between; gap: .5rem; position: relative; z-index: 1;
    font-size: .75rem; color: #94a3b8; padding-top: .7rem; border-top: 1px solid #f1f5f9;
    transition: opacity .18s ease;
}
.sol-note-foot .bi { opacity: .8; }
.sol-note-open {
    position: absolute; left: 1.35rem; right: 1.35rem; bottom: 1.1rem; z-index: 2;
    opacity: 0; transform: translateY(6px);
    font-size: .82rem; font-weight: 700; color: var(--sol-2);
    display: inline-flex; align-items: center; justify-content: space-between; gap: .3rem;
    transition: opacity .18s ease, transform .18s ease; pointer-events: none;
}
@media (hover: hover) {
    .sol-note:hover .sol-note-foot { opacity: 0; }
    .sol-note:hover .sol-note-open { opacity: 1; transform: translateY(0); }
}

/* ---------- BOS DURUM ---------- */
.sol-empty { text-align: center; padding: 3.5rem 1rem; color: #94a3b8; }
.sol-empty > i {
    font-size: 2rem; width: 76px; height: 76px; border-radius: 50%; margin: 0 auto .8rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--sol-soft); color: var(--sol-2);
}
.sol-empty-title { font-weight: 800; color: #475569; font-size: 1.15rem; }
.sol-empty-sub { font-size: .9rem; margin-top: .3rem; }

/* ---------- DETAY SAYFASI ---------- */
.sol-detail-wrap { max-width: 880px; margin: 0 auto; }
.sol-back {
    display: inline-flex; align-items: center; gap: .45rem; text-decoration: none;
    color: #64748b; font-weight: 600; font-size: .88rem; margin-bottom: 1rem;
    padding: .4rem .8rem; border-radius: .6rem; transition: all .12s ease;
}
.sol-back:hover { color: var(--sol-2); background: rgba(var(--sol-rgb),.06); }
.sol-detail-card { border: 1px solid #eef1f6; border-radius: 1.4rem; overflow: hidden; box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 30px 70px -38px rgba(16,24,40,.5); }
.sol-detail-head {
    position: relative; overflow: hidden;
    display: flex; align-items: flex-start; gap: 1.2rem; padding: 2.1rem 2rem;
    color: #fff; background: linear-gradient(120deg, var(--sol-4) 0%, var(--sol-1) 45%, var(--sol-2) 80%, var(--sol-3) 100%);
}
.sol-detail-head::before {
    content: ''; position: absolute; right: -50px; top: -70px; width: 240px; height: 240px;
    border-radius: 50%; border: 44px solid rgba(255,255,255,.1); pointer-events: none;
}
.sol-detail-ic {
    flex-shrink: 0; width: 62px; height: 62px; border-radius: 1.2rem; position: relative; z-index: 1;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.22); font-size: 1.85rem;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.45);
}
.sol-detail-headmain { min-width: 0; position: relative; z-index: 1; }
.sol-detail-tag {
    display: inline-block; font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700;
    background: rgba(255,255,255,.22); padding: .22rem .7rem; border-radius: 2rem; margin-bottom: .55rem;
}
.sol-detail-title { font-size: 1.7rem; font-weight: 800; margin: 0 0 .65rem; line-height: 1.2; letter-spacing: -.02em; }
.sol-detail-meta { display: flex; flex-wrap: wrap; gap: .45rem .7rem; font-size: .8rem; }
.sol-detail-meta span { display: inline-flex; align-items: center; gap: .35rem; background: rgba(255,255,255,.16); padding: .28rem .7rem; border-radius: 2rem; }
.sol-detail-chips { display: flex; flex-wrap: wrap; gap: .5rem; padding: 1.2rem 2rem 0; }
.sol-chip {
    display: inline-flex; align-items: center; gap: .35rem;
    font-size: .78rem; font-weight: 600; padding: .35rem .8rem; border-radius: 2rem;
}
.sol-chip-cat { background: var(--sol-soft); color: var(--sol-3); }
.sol-chip-tag { background: #eef2f7; color: #64748b; }
.sol-detail-body {
    padding: 1.8rem 2rem; font-size: 1.03rem; line-height: 1.9; color: #1e293b;
    white-space: normal; word-break: break-word;
}
.sol-detail-foot {
    display: flex; gap: .6rem; padding: 1.2rem 2rem 1.6rem; border-top: 1px solid #f1f5f9; background: #fafbfd;
}

/* ---------- FORM SAYFASI ---------- */
.sol-form-card { border: 1px solid #eef1f6; border-radius: 1.4rem; overflow: hidden; box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 30px 70px -38px rgba(16,24,40,.5); }
.sol-form-card .card-body { padding: 1.7rem; }
.sol-form-card .form-label { font-weight: 600; color: #475569; font-size: .85rem; }
.sol-form-card .form-control, .sol-form-card .form-select { border-radius: .75rem; border-color: #e2e8f0; }
.sol-form-card .form-control:focus, .sol-form-card .form-select:focus { border-color: var(--sol-2); box-shadow: 0 0 0 3px rgba(var(--sol-rgb),.15); }

/* ---------- ORTAK MODAL (kategori) ---------- */
.sol-modal { border: none; border-radius: 1.3rem; overflow: hidden; }
.sol-modal-head {
    display: flex; align-items: center; justify-content: space-between; padding: 1.2rem 1.3rem; color: #fff;
    background: linear-gradient(120deg, var(--sol-1) 0%, var(--sol-2) 60%, var(--sol-3) 100%); user-select: none;
}
.sol-modal-badge {
    flex-shrink: 0; width: 46px; height: 46px; border-radius: .8rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.22); font-size: 1.3rem; box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
}
.sol-modal .modal-title { font-weight: 800; font-size: 1.15rem; }
.sol-modal-sub { font-size: .8rem; opacity: .9; margin-top: .1rem; }
.sol-modal .modal-body { padding: 1.4rem; }
.sol-save { background: linear-gradient(135deg, var(--sol-1), var(--sol-2)); border: none; font-weight: 600; }
.sol-save:hover { background: linear-gradient(135deg, var(--sol-2), var(--sol-3)); }

/* ---------- KATEGORI YONETIM LISTESI ---------- */
.sol-cat-list { display: flex; flex-direction: column; gap: .4rem; max-height: 340px; overflow-y: auto; }
.sol-cat-item {
    display: flex; align-items: center; justify-content: space-between;
    padding: .65rem .9rem; border: 1px solid #eef1f6; border-radius: .7rem; background: #fff;
    font-size: .92rem; font-weight: 500; color: #1e293b;
}
.sol-cat-del {
    width: 32px; height: 32px; border-radius: .55rem; display: inline-flex; align-items: center; justify-content: center;
    color: #dc2626; background: #fef2f2; text-decoration: none; transition: all .12s ease;
}
.sol-cat-del:hover { background: #fecaca; }

/* ---------- METIN ARAC CUBUGU (form) ---------- */
.sol-toolbar {
    display: flex; flex-wrap: wrap; gap: .35rem; padding: .55rem;
    background: #fafbfd; border: 1px solid #e2e8f0; border-bottom: none; border-radius: .8rem .8rem 0 0;
}
.sol-tb-btn {
    display: inline-flex; align-items: center; gap: .3rem; cursor: pointer;
    border: 1px solid #e5e9f0; background: #fff; color: #475569;
    font-size: .78rem; font-weight: 600; padding: .38rem .65rem; border-radius: .55rem; transition: all .12s ease;
}
.sol-tb-btn:hover { background: rgba(var(--sol-rgb),.06); border-color: var(--sol-4); color: var(--sol-2); }
.sol-body-area { border-radius: 0 0 .8rem .8rem !important; border-top: none; }

/* ---------- DETAY RESIM GALERISI ---------- */
.sol-detail-gallery { padding: 0 2rem 1.6rem; }
.sol-gallery-title { font-size: .82rem; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .75rem; display: flex; align-items: center; gap: .4rem; }
.sol-gallery-title > i { color: var(--sol-2); }
.sol-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .75rem; }
.sol-gallery-item {
    position: relative; display: block; aspect-ratio: 4/3; border-radius: .9rem; overflow: hidden;
    border: 1px solid var(--sol-line); background: #f1f5f9;
    box-shadow: 0 1px 2px rgba(16,24,40,.05); transition: transform .16s ease, box-shadow .16s ease;
}
.sol-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sol-gallery-item:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -12px rgba(var(--sol-rgb),.5); }

/* ---------- FORM RESIM DUZENLE IZGARASI ---------- */
.sol-imgedit-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .6rem; }
.sol-imgedit-item {
    position: relative; aspect-ratio: 1/1; border-radius: .7rem; overflow: hidden;
    border: 1px solid var(--sol-line); background: #f1f5f9;
}
.sol-imgedit-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sol-imgedit-del {
    position: absolute; top: 5px; right: 5px; width: 26px; height: 26px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
    background: rgba(220,38,38,.92); color: #fff; font-size: .8rem; box-shadow: 0 2px 6px rgba(0,0,0,.3);
    transition: background .12s ease, transform .12s ease;
}
.sol-imgedit-del:hover { background: #b91c1c; color: #fff; transform: scale(1.08); }

/* ---------- GOVDE BICIMLENDIRME (adim / madde / uyari / ipucu) ---------- */
.sol-fb { font-size: 1rem; line-height: 1.75; color: #1e293b; }
.sol-fb-p { margin: 0 0 .9rem; }
.sol-fb-p:last-child { margin-bottom: 0; }
.sol-fb strong { color: #0f172a; font-weight: 700; }

/* Adim kutusu */
.sol-fb-step {
    display: flex; align-items: flex-start; gap: .9rem; margin: 0 0 .7rem;
    padding: .85rem 1rem; border-radius: .9rem;
    background: rgba(var(--sol-rgb),.05); border: 1px solid rgba(var(--sol-rgb),.14);
}
.sol-fb-step-no {
    flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: .9rem; color: #fff;
    background: linear-gradient(135deg, var(--sol-1), var(--sol-2));
    box-shadow: 0 4px 10px -3px rgba(var(--sol-rgb),.6);
}
.sol-fb-step-txt { padding-top: .18rem; flex: 1; min-width: 0; }

/* Madde listesi */
.sol-fb-list { margin: 0 0 .9rem; padding-left: 0; list-style: none; }
.sol-fb-list li {
    position: relative; padding-left: 1.5rem; margin-bottom: .4rem; line-height: 1.65;
}
.sol-fb-list li::before {
    content: ''; position: absolute; left: .25rem; top: .62em; width: 7px; height: 7px; border-radius: 50%;
    background: var(--sol-2);
}

/* Uyari / Ipucu kutulari */
.sol-fb-note {
    display: flex; align-items: flex-start; gap: .7rem; margin: 0 0 .9rem;
    padding: .85rem 1rem; border-radius: .9rem; border: 1px solid;
}
.sol-fb-note > i { font-size: 1.15rem; flex-shrink: 0; margin-top: .12rem; }
.sol-fb-note-lbl { display: block; font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .1rem; }
.sol-fb-warn { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.sol-fb-warn > i, .sol-fb-warn .sol-fb-note-lbl { color: #d97706; }
.sol-fb-tip { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
.sol-fb-tip > i, .sol-fb-tip .sol-fb-note-lbl { color: #2563eb; }

/* Ayrac */
.sol-fb-divider { border: none; border-top: 2px dashed #e2e8f0; margin: 1.2rem 0; }

/* Kod bloğu */
.sol-fb-code {
    margin: 0 0 1rem;
    border-radius: .85rem;
    background: #0f172a;
    border: 1px solid #1e293b;
    overflow: hidden;
}
.sol-fb-code pre {
    margin: 0;
    padding: 1rem 1.2rem;
    overflow-x: auto;
    font-size: .87rem;
    line-height: 1.7;
    color: #e2e8f0;
    font-family: 'Cascadia Code', 'Fira Code', 'Courier New', monospace;
    white-space: pre-wrap;
    word-break: break-all;
}
.sol-fb-code code { background: none; color: inherit; padding: 0; font-size: inherit; }

/* Satir ici kod */
.sol-fb-inline-code {
    background: #f1f5f9;
    color: #0f172a;
    border: 1px solid #e2e8f0;
    border-radius: .3rem;
    padding: .1em .4em;
    font-size: .85em;
    font-family: 'Cascadia Code', 'Fira Code', 'Courier New', monospace;
    word-break: break-word;
}
body.theme-dark .sol-fb-inline-code { background: #1c2740; color: #e2e8f0; border-color: #2f3d57; }

body.theme-dark .sol-fb { color: #e8edf5; }
body.theme-dark .sol-fb strong { color: #fff; }
body.theme-dark .sol-fb-step { background: #1c2740; border-color: #2a3852; }
body.theme-dark .sol-fb-warn { background: rgba(217,119,6,.12); border-color: rgba(217,119,6,.4); color: #fcd34d; }
body.theme-dark .sol-fb-tip { background: rgba(37,99,235,.12); border-color: rgba(37,99,235,.4); color: #93c5fd; }
body.theme-dark .sol-fb-divider { border-top-color: #2a3852; }

/* ---------- DETAY UST BAR + HIZLI EYLEMLER ---------- */
.sol-detail-topbar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; flex-wrap: wrap; }
.sol-detail-topbar .sol-back { margin-bottom: 0; }
.sol-detail-quickacts { display: flex; gap: .45rem; flex-wrap: wrap; }
.sol-qa-btn {
    display: inline-flex; align-items: center; gap: .4rem; cursor: pointer;
    border: 1.5px solid var(--sol-line); background: #fff; color: #475569;
    font-size: .82rem; font-weight: 600; padding: .5rem .85rem; border-radius: .75rem;
    text-decoration: none; transition: all .14s ease;
}
.sol-qa-btn:hover { border-color: var(--sol-4); color: var(--sol-2); background: rgba(var(--sol-rgb),.06); }
.sol-qa-btn.active { background: linear-gradient(135deg, var(--sol-1), var(--sol-2)); border-color: transparent; color: #fff; }

/* ---------- FAYDALI BULDUM KUTUSU ---------- */
.sol-helpful-box {
    display: flex; align-items: center; flex-wrap: wrap; gap: .7rem;
    margin: 0 2rem 1.4rem; padding: 1.1rem 1.3rem; border-radius: 1rem;
    background: rgba(var(--sol-rgb),.06); border: 1px solid rgba(var(--sol-rgb),.2);
}
.sol-helpful-q { font-weight: 700; color: #334155; font-size: .95rem; display: inline-flex; align-items: center; gap: .45rem; }
.sol-helpful-q > i { color: var(--sol-2); }
.sol-helpful-btn {
    display: inline-flex; align-items: center; gap: .45rem; text-decoration: none;
    background: linear-gradient(135deg, var(--sol-1), var(--sol-2)); color: #fff; font-weight: 700;
    padding: .5rem 1.1rem; border-radius: 2rem; font-size: .86rem;
    box-shadow: 0 8px 18px -8px rgba(var(--sol-rgb),.6); transition: transform .14s ease, filter .14s ease;
}
.sol-helpful-btn:hover { transform: translateY(-2px); filter: brightness(1.05); color: #fff; }
.sol-helpful-done { display: inline-flex; align-items: center; gap: .4rem; color: #059669; font-weight: 700; font-size: .86rem; }
.sol-helpful-count { margin-left: auto; font-size: .8rem; color: #94a3b8; font-weight: 600; }

/* ---------- SIRALAMA CUBUGU ---------- */
.sol-sortbar { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.2rem; }
.sol-sort-lbl { font-size: .82rem; font-weight: 700; color: #64748b; display: inline-flex; align-items: center; gap: .35rem; margin-right: .2rem; }
.sol-sort-chip {
    display: inline-flex; align-items: center; gap: .35rem; text-decoration: none;
    font-size: .8rem; font-weight: 600; padding: .42rem .85rem; border-radius: 2rem;
    background: #fff; color: #64748b; border: 1px solid var(--sol-line); transition: all .14s ease;
}
.sol-sort-chip:hover { border-color: var(--sol-4); color: var(--sol-2); }
.sol-sort-chip.active { background: #0f172a; color: #fff; border-color: transparent; }

/* ---------- KART: PIN ROZETI + MINI ISTATISTIK ---------- */
.sol-note.is-pinned { border-color: var(--sol-4); box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 18px 44px -26px rgba(var(--sol-rgb),.55); }
.sol-note-pin {
    position: absolute; top: 12px; right: 12px; z-index: 2; width: 30px; height: 30px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center; font-size: .85rem; color: #fff;
    background: linear-gradient(135deg, var(--sol-1), var(--sol-2)); box-shadow: 0 4px 10px -3px rgba(var(--sol-rgb),.6);
    transform: rotate(15deg);
}
.sol-note-stats { display: inline-flex; gap: .6rem; font-size: .74rem; color: #94a3b8; font-weight: 600; }
.sol-note-stats > span { display: inline-flex; align-items: center; gap: .25rem; }

/* ---------- DARK MODE (premium ekler) ---------- */
body.theme-dark .sol-qa-btn { background: #1c2740; border-color: #2a3852; color: #cbd5e1; }
body.theme-dark .sol-helpful-box { background: #1c2740; border-color: #2a3852; }
body.theme-dark .sol-helpful-q { color: #e8edf5; }
body.theme-dark .sol-sort-chip { background: #151d30; border-color: #2a3852; color: #97a4bb; }
body.theme-dark .sol-sort-chip.active { background: #f1f5f9; color: #0f172a; }

/* ---------- DARK MODE ---------- */
body.theme-dark .sol-search { background: #10192b; border-color: #2a3852; }
body.theme-dark .sol-search input { color: #e8edf5; }
body.theme-dark .sol-ghost { background: #1c2740; border-color: #2a3852; color: #cbd5e1; }
body.theme-dark .sol-catchip { background: #151d30; border-color: #2a3852; color: #97a4bb; }
body.theme-dark .sol-note { background: #151d30; border-color: #2a3852; box-shadow: 0 1px 2px rgba(0,0,0,.3), 0 20px 48px -30px rgba(0,0,0,.75); }
body.theme-dark .sol-note-title { color: #f1f5f9; }
body.theme-dark .sol-note-preview { color: #97a4bb; }
body.theme-dark .sol-note-foot { border-top-color: #24304a; }
body.theme-dark .sol-note-chip { background: #1c2740; color: #97a4bb; }
body.theme-dark .sol-detail-card { border-color: #2a3852; box-shadow: 0 1px 2px rgba(0,0,0,.3), 0 30px 70px -38px rgba(0,0,0,.8); }
body.theme-dark .sol-detail-body { color: #e8edf5; }
body.theme-dark .sol-detail-foot { border-top-color: #24304a; background: #10192b; }
body.theme-dark .sol-back:hover { color: #fbbf24; background: #1c2740; }
body.theme-dark .sol-form-card { border-color: #2a3852; }
body.theme-dark .sol-cat-item { background: #151d30; border-color: #2a3852; color: #e8edf5; }
body.theme-dark .sol-toolbar { background: #10192b; border-color: #2a3852; }
body.theme-dark .sol-tb-btn { background: #1c2740; border-color: #2a3852; color: #cbd5e1; }
body.theme-dark .sol-tb-btn:hover { background: #24304a; color: #fbbf24; }
body.theme-dark .sol-empty-title { color: #cbd5e1; }
body.theme-dark .sol-gallery-title { color: #97a4bb; }
body.theme-dark .sol-gallery-item, body.theme-dark .sol-imgedit-item { background: #1c2740; border-color: #2a3852; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 767.98px) {
    .sol-hero { padding: 1.4rem 1.4rem; border-radius: 1.2rem; }
    .sol-hero-title { font-size: 1.3rem; }
    .sol-hero-ic { width: 54px; height: 54px; font-size: 1.6rem; }
    .sol-hero-stats { width: 100%; }
    .sol-hero-stat { flex: 1; }
    .sol-cards { grid-template-columns: 1fr; }
    .sol-detail-head { flex-direction: column; gap: .8rem; padding: 1.4rem; }
    .sol-detail-title { font-size: 1.3rem; }
    .sol-detail-body { padding: 1.4rem; }
    .sol-detail-foot { flex-direction: column; padding: 1.1rem 1.4rem 1.3rem; }
    .sol-detail-foot .btn { justify-content: center; }
    .sol-detail-chips { padding: 1.1rem 1.4rem 0; }
}



/* =====================================================================
 *  SAYFALAMA (demirbas / sarf / ariza listeleri)
 * ===================================================================*/
.pg-nav {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem;
    padding: .9rem 1.1rem; border-top: 1px solid #eef1f6;
}
.pg-info { font-size: .82rem; color: #64748b; }
.pg-list { display: flex; align-items: center; gap: .3rem; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
.pg-item .pg-link {
    display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px;
    padding: 0 .55rem; border-radius: .6rem; text-decoration: none; font-size: .88rem; font-weight: 600;
    color: #475569; background: #fff; border: 1px solid #e5e9f0; transition: all .12s ease;
}
.pg-item .pg-link:hover { border-color: var(--primary); color: var(--primary); }
.pg-item.active .pg-link { background: var(--primary); border-color: var(--primary); color: #fff; }
.pg-item.disabled .pg-link { opacity: .5; pointer-events: none; }
body.theme-dark .pg-nav { border-top-color: #24304a; }
body.theme-dark .pg-item .pg-link { background: #1c2740; border-color: #2a3852; color: #cbd5e1; }
body.theme-dark .pg-info { color: #97a4bb; }

/* =====================================================================
 *  YAZDIRMA (cozum detayi - profesyonel belge cikti)
 * ===================================================================*/
@media print {
    @page { margin: 16mm 14mm; }

    /* Renkleri koru */
    * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }

    /* Ekrana ozgu ogeleri gizle */
    .sidebar, .topbar, .app-topbar, .app-header, .sol-detail-topbar, .sol-detail-foot,
    .sol-helpful-box, .footer, .app-footer, .btn, .navbar, .mobile-topbar,
    .notif-bell, .sidebar-toggle, .flash-wrap { display: none !important; }

    html, body { background: #fff !important; margin: 0 !important; padding: 0 !important; }
    .app-wrapper, .app-main, .app-content, main { margin: 0 !important; padding: 0 !important; display: block !important; width: 100% !important; }
    .sol-detail-wrap { max-width: 100% !important; margin: 0 !important; }

    /* Kart: cerceve yerine sade belge */
    .sol-detail-card { box-shadow: none !important; border: 1px solid #e2e8f0 !important; border-radius: 8px !important; overflow: visible !important; }

    /* Baslik seridi kurumsal */
    .sol-detail-head {
        background: #b45309 !important; color: #fff !important;
        padding: 18px 22px !important; border-radius: 8px 8px 0 0 !important;
    }
    .sol-detail-head::before { display: none !important; }
    .sol-detail-title { font-size: 20pt !important; }
    .sol-detail-meta span { background: rgba(255,255,255,.18) !important; }

    /* Govde: sayfa kesmelerine dikkat */
    .sol-detail-body { font-size: 11pt !important; line-height: 1.6 !important; color: #111 !important; padding: 18px 22px !important; }
    .sol-fb-step, .sol-fb-note { break-inside: avoid; page-break-inside: avoid; }
    .sol-fb-code { break-inside: avoid; page-break-inside: avoid; background: #1a1a2e !important; border-color: #2a2a4a !important; }
    .sol-fb-step { background: #fdf6e9 !important; border: 1px solid #f0d9a8 !important; }
    .sol-fb-step-no { background: #d97706 !important; color: #fff !important; }
    .sol-fb-warn { background: #fffbeb !important; border: 1px solid #fde68a !important; color: #92400e !important; }
    .sol-fb-tip { background: #eff6ff !important; border: 1px solid #bfdbfe !important; color: #1e40af !important; }

    /* Chip ve galeri */
    .sol-detail-chips { padding: 12px 22px 0 !important; }
    .sol-chip { border: 1px solid #e2e8f0 !important; }
    .sol-detail-gallery { padding: 0 22px 18px !important; break-inside: avoid; }
    .sol-gallery-grid { grid-template-columns: repeat(3, 1fr) !important; }
    .sol-gallery-item { break-inside: avoid; }

    /* Baglanti URL'lerini yazdirma */
    a[href]:after { content: '' !important; }

    /* Ustbilgi: belge basligi */
    .sol-detail-card::before {
        content: 'ÇÖZÜM BANKASI · Seyhanlar' !important;
        display: block !important; font-size: 8pt !important; letter-spacing: .12em !important;
        color: #94a3b8 !important; text-transform: uppercase !important;
        padding: 0 0 8px !important; text-align: right !important;
    }
}

/* ============================================================
   CHECKLIST MODULU  (tek kimlik rengi: --cl-1 / --cl-2 / --cl-rgb)
   ============================================================ */
/* Sayfa kapsaminda butonlar ve odak renkleri checklist rengine baglanir */
.cl-scope .btn-primary { background:var(--cl-1, #0284c7); border-color:var(--cl-1, #0284c7); }
.cl-scope .btn-primary:hover, .cl-scope .btn-primary:focus { background:var(--cl-2, #0369a1); border-color:var(--cl-2, #0369a1); }
.cl-scope .btn-outline-primary { color:var(--cl-1, #0284c7); border-color:var(--cl-1, #0284c7); }
.cl-scope .btn-outline-primary:hover { background:var(--cl-1, #0284c7); border-color:var(--cl-1, #0284c7); color:#fff; }
.cl-scope .text-primary { color:var(--cl-1, #0284c7) !important; }
.cl-scope .form-control:focus, .cl-scope .form-select:focus { border-color:var(--cl-1, #0284c7); box-shadow:0 0 0 .2rem rgba(var(--cl-rgb,2,132,199),.18); }

.cl-header { display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.cl-header h4 { font-weight:800; }
.cl-header-actions { display:flex; gap:.5rem; flex-wrap:wrap; }

.cl-topbar { display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; flex-wrap:wrap; }
.cl-topbar-title { font-weight:800; margin:0; font-size:1.15rem; }

/* Sablon kartlari (grid) */
.cl-tpl-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:.85rem; }
.cl-tpl-card {
    display:flex; align-items:flex-start; gap:.75rem;
    background:#fff; border:1px solid #e6eaf0; border-radius:.9rem; padding:1rem;
    transition:transform .12s ease, box-shadow .12s ease;
}
.cl-tpl-card:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(15,23,42,.08); }
.cl-tpl-ic {
    width:42px; height:42px; flex:0 0 auto; border-radius:.7rem; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, var(--cl-1, #0284c7), var(--cl-2, #0369a1)); color:#fff; font-size:1.2rem;
}
.cl-tpl-body { flex:1; min-width:0; }
.cl-tpl-name { font-weight:700; color:#0f172a; display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.cl-tpl-desc { font-size:.82rem; color:#64748b; margin-top:.15rem; }
.cl-tpl-meta { font-size:.78rem; color:#94a3b8; margin-top:.4rem; }
.cl-tpl-actions { display:flex; gap:.3rem; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; }

/* Sablon rozetleri + durum gorunumu */
.cl-tpl-badge { font-size:.64rem; font-weight:700; padding:.12rem .5rem; border-radius:1rem; text-transform:uppercase; letter-spacing:.02em; display:inline-flex; align-items:center; gap:.2rem; }
.cl-badge-default { background:#fef3c7; color:#b45309; }
.cl-badge-active  { background:#dcfce7; color:#15803d; }
.cl-badge-passive { background:#f1f5f9; color:#64748b; }
.cl-tpl-card.is-passive { opacity:.62; background:#f8fafc; }
.cl-tpl-card.is-passive .cl-tpl-ic { filter:grayscale(1); }
.cl-tpl-card.is-default { border-color:#f59e0b; box-shadow:0 0 0 1px #f59e0b inset; }
body.theme-dark .cl-badge-default { background:rgba(245,158,11,.18); color:#fcd34d; }
body.theme-dark .cl-badge-active  { background:rgba(22,163,74,.18); color:#86efac; }
body.theme-dark .cl-badge-passive { background:#1c2740; color:#97a4bb; }
body.theme-dark .cl-tpl-card.is-passive { background:#0c1626; }

/* Denetim baslat ekrani */
.cl-start-lead { color:#64748b; font-size:.9rem; margin-bottom:1rem; }
.cl-start-form { display:flex; align-items:flex-end; gap:1rem; flex-wrap:wrap; }
.cl-start-fields { display:flex; gap:1rem; flex:1; flex-wrap:wrap; min-width:0; }
.cl-start-field { flex:1; min-width:220px; }
.cl-start-label { display:flex; align-items:center; gap:.5rem; font-weight:600; font-size:.85rem; color:#334155; margin-bottom:.4rem; }
.cl-start-step { width:22px; height:22px; flex:0 0 auto; border-radius:50%; background:var(--cl-1, #0284c7); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:.75rem; font-weight:700; }
.cl-start-input { position:relative; }
.cl-start-input > i { position:absolute; left:.85rem; top:50%; transform:translateY(-50%); color:#94a3b8; pointer-events:none; z-index:2; }
.cl-start-input .form-select { padding-left:2.4rem; height:46px; border-radius:.7rem; }
.cl-start-hint { font-size:.76rem; color:#b45309; margin-top:.4rem; display:flex; align-items:center; gap:.3rem; }
.cl-start-hint i { color:#f59e0b; }
.cl-start-btn { height:46px; border-radius:.7rem; white-space:nowrap; padding-inline:1.3rem; }
body.theme-dark .cl-start-label { color:#c7d2e0; }
@media (max-width: 767.98px) {
    .cl-start-fields { flex-direction:column; gap:.85rem; }
    .cl-start-field { min-width:0; width:100%; }
    .cl-start-btn { width:100%; }
}

/* Soru duzenleme (sablon edit) */
.cl-question { border:1px solid #e6eaf0; border-radius:.75rem; padding:.85rem 1rem; margin-bottom:.7rem; background:#fbfcfe; }
.cl-question-head { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.cl-qnum {
    width:26px; height:26px; flex:0 0 auto; border-radius:50%; background:var(--cl-1, #0284c7); color:#fff;
    display:inline-flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:700;
}
.cl-qtext { font-weight:600; color:#1e293b; flex:1; min-width:150px; }
.cl-qmax { font-size:.74rem; color:#64748b; background:#eef2f7; border-radius:1rem; padding:.15rem .6rem; }
.cl-qactions { display:flex; gap:.3rem; }
.cl-options { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.6rem; padding-left:2.1rem; }
.cl-opt-chip { font-size:.78rem; background:#fff; border:1px solid #e2e8f0; border-radius:1rem; padding:.2rem .7rem; color:#475569; }
.cl-opt-chip b { color:var(--cl-1, #0284c7); margin-left:.15rem; }

/* ---- Soru ekle/duzenle modali ---- */
.cl-qmodal { border:none; border-radius:1rem; overflow:hidden; box-shadow:0 20px 55px rgba(15,23,42,.25); }
.cl-qmodal-head {
    display:flex; align-items:center; gap:.85rem; padding:1.1rem 1.3rem; color:#fff;
    background:linear-gradient(135deg, var(--cl-1, #0284c7), var(--cl-2, #0369a1));
}
.cl-qmodal-badge {
    width:42px; height:42px; flex:0 0 auto; border-radius:.7rem; display:inline-flex; align-items:center; justify-content:center;
    background:rgba(255,255,255,.18); font-size:1.25rem;
}
.cl-qmodal-title { margin:0; font-weight:800; font-size:1.1rem; }
.cl-qmodal-sub { font-size:.8rem; opacity:.85; margin-top:.1rem; }
.cl-qmodal-body { padding:1.3rem; }
.cl-field-label { font-weight:700; color:#334155; display:flex; align-items:center; gap:.4rem; }
.cl-field-label i { color:var(--cl-1, #0284c7); }
.cl-qmodal-hint { font-size:.8rem; color:#64748b; margin-top:.8rem; display:flex; align-items:flex-start; gap:.4rem; background:#f8fafc; border:1px solid #eef2f7; border-radius:.5rem; padding:.55rem .7rem; }
.cl-qmodal-hint i { color:var(--cl-1, #0284c7); margin-top:.1rem; }
.cl-qmodal-foot { border-top:1px solid #eef2f7; padding:.9rem 1.3rem; }

/* Sik editoru (modal) */
.cl-opt-editor { display:flex; flex-direction:column; gap:.55rem; }
.cl-opt-row {
    display:flex; align-items:center; gap:.5rem;
    background:#f8fafc; border:1px solid #eef2f7; border-radius:.65rem; padding:.45rem .55rem;
}
.cl-opt-handle { flex:0 0 auto; color:#cbd5e1; font-size:1.1rem; cursor:default; display:inline-flex; }
.cl-opt-row .form-control { border:1px solid #e2e8f0; }
.cl-opt-pts-wrap { position:relative; flex:0 0 auto; width:110px; }
.cl-opt-pts-wrap .cl-opt-pts { width:100%; padding-right:2.9rem; text-align:right; font-weight:700; max-width:none; }
.cl-opt-pts-suffix { position:absolute; right:.7rem; top:50%; transform:translateY(-50%); font-size:.72rem; color:#94a3b8; pointer-events:none; }
.cl-opt-del {
    flex:0 0 auto; width:38px; height:38px; border-radius:.55rem; padding:0;
    display:inline-flex; align-items:center; justify-content:center;
    background:#fff; border:1px solid #fecaca; color:#dc2626; transition:background .12s, color .12s;
}
.cl-opt-del:hover { background:#dc2626; border-color:#dc2626; color:#fff; }
.cl-opt-add-btn {
    margin-top:.7rem; width:100%; border:1px dashed #cbd5e1; background:#fff; color:#475569;
    border-radius:.65rem; padding:.6rem; font-weight:600; font-size:.9rem; transition:border-color .12s, color .12s, background .12s;
    display:inline-flex; align-items:center; justify-content:center; gap:.4rem; cursor:pointer;
}
.cl-opt-add-btn:hover { border-color:var(--cl-1, #0284c7); color:var(--cl-1, #0284c7); background:rgba(var(--cl-rgb,2,132,199),.05); }

body.theme-dark .cl-qmodal { background:#10192b; }
body.theme-dark .cl-qmodal-body { background:#10192b; }
body.theme-dark .cl-field-label { color:#e8edf5; }
body.theme-dark .cl-qmodal-hint { background:#0f1a2c; border-color:#2f3d57; color:#97a4bb; }
body.theme-dark .cl-qmodal-foot { border-top-color:#2a3852; background:#10192b; }
body.theme-dark .cl-opt-row { background:#0f1a2c; border-color:#2a3852; }
body.theme-dark .cl-opt-row .form-control { background:#1c2740; border-color:#2f3d57; color:#e8edf5; }
body.theme-dark .cl-opt-del { background:#1c2740; border-color:#7f1d1d; }
body.theme-dark .cl-opt-add-btn { background:#0f1a2c; border-color:#2f3d57; color:#c7d2e0; }

/* Tasma korumasi: uzun metin/URL'ler sayfayi yatay buyutmesin */
.cl-fill-q, .cl-fill-qtext, .cl-fill-opt, .cl-fill-opt-text,
.cl-review, .cl-review-item, .cl-review-q, .cl-answer-comment, .cl-result-note {
    overflow-wrap:anywhere; word-break:break-word; min-width:0;
}
.cl-fill-comment textarea, .cl-general-note textarea { max-width:100%; resize:vertical; }

/* Doldurma: soru bazli denetleyen gorusu */
.cl-fill-comment { margin-top:.8rem; padding-left:2.1rem; }
.cl-fill-comment .form-label { color:#64748b; display:flex; align-items:center; gap:.35rem; }
.cl-fill-comment .form-label i { color:var(--cl-1, #0284c7); }
.cl-general-note {
    border-top:1px dashed #cbd5e1; padding-top:1.1rem; margin-top:1.2rem;
}
.cl-general-note .form-label { font-weight:700; color:#334155; display:flex; align-items:center; gap:.4rem; }
.cl-general-note .form-label i { color:var(--cl-1, #0284c7); }

/* Sonuc: cevap dokumu (tablo yerine responsive liste) */
.cl-review { display:flex; flex-direction:column; gap:.6rem; }
.cl-review-item {
    display:flex; align-items:flex-start; gap:.85rem;
    border:1px solid #e6eaf0; border-radius:.75rem; padding:.85rem 1rem; background:#fbfcfe;
}
.cl-review-num {
    width:28px; height:28px; flex:0 0 auto; border-radius:50%; background:var(--cl-1, #0284c7); color:#fff;
    display:inline-flex; align-items:center; justify-content:center; font-size:.82rem; font-weight:700;
}
.cl-review-body { flex:1; min-width:0; }
.cl-review-q { font-weight:600; color:#1e293b; }
.cl-review-answer { display:flex; align-items:flex-start; gap:.4rem; margin-top:.4rem; font-size:.9rem; color:#334155; }
.cl-review-answer i { color:#059669; flex:0 0 auto; margin-top:.15rem; }
.cl-review-pts {
    flex:0 0 auto; text-align:center; font-weight:800; font-size:1.05rem; color:var(--cl-1, #0284c7);
    display:flex; flex-direction:column; align-items:center; line-height:1.1; min-width:64px;
}
.cl-review-pts span { font-size:.66rem; font-weight:600; color:#94a3b8; text-transform:uppercase; letter-spacing:.03em; }

/* Sonuc: denetleyen gorusu */
.cl-answer-comment { font-size:.82rem; color:#334155; margin-top:.5rem; background:#fff; border:1px solid #eef2f7; border-left:3px solid var(--cl-1, #0284c7); border-radius:.4rem; padding:.4rem .65rem; }
.cl-answer-comment i { color:var(--cl-1, #0284c7); }

/* Denetim doldurma */
.cl-live-score { font-size:.85rem; color:#475569; }
.cl-live-score b { color:var(--cl-1, #0284c7); font-size:1.05rem; }
.cl-fill-q { padding:1rem 1.1rem; border:1px solid #e6eaf0; border-radius:.8rem; background:#fff; margin-bottom:.8rem; transition:box-shadow .12s ease; }
.cl-fill-q:hover { box-shadow:0 4px 14px rgba(15,23,42,.06); }
.cl-fill-q:last-of-type { margin-bottom:0; }
body.theme-dark .cl-fill-q { background:#0f1a2c; border-color:#2a3852; }
.cl-fill-qtext { font-weight:600; color:#1e293b; margin-bottom:.6rem; display:flex; align-items:center; gap:.5rem; }
.cl-fill-opts { display:flex; flex-direction:column; gap:.45rem; padding-left:2.1rem; }
.cl-fill-opt {
    display:flex; align-items:center; gap:.6rem; cursor:pointer;
    border:1px solid #e6eaf0; border-radius:.6rem; padding:.55rem .8rem; transition:border-color .12s, background .12s;
}
.cl-fill-opt:hover { border-color:#cbd5e1; background:#f8fafc; }
.cl-fill-opt:has(input:checked) { border-color:var(--cl-1, #0284c7); background:rgba(var(--cl-rgb,2,132,199),.07); }
/* Gercek radio'yu gizle; yerine kare tik kutusu goster */
.cl-fill-opt input { position:absolute; opacity:0; width:0; height:0; pointer-events:none; }
.cl-check {
    flex:0 0 auto; width:22px; height:22px; border-radius:6px;
    border:2px solid #cbd5e1; background:#fff;
    display:inline-flex; align-items:center; justify-content:center;
    color:#fff; transition:background .12s ease, border-color .12s ease, transform .12s ease;
}
.cl-check i { font-size:.95rem; opacity:0; transform:scale(.5); transition:opacity .12s ease, transform .12s ease; }
.cl-fill-opt:hover .cl-check { border-color:var(--cl-1, #0284c7); }
.cl-fill-opt:has(input:checked) .cl-check {
    background:var(--cl-1, #0284c7); border-color:var(--cl-1, #0284c7);
}
.cl-fill-opt:has(input:checked) .cl-check i { opacity:1; transform:scale(1); }
.cl-fill-opt:has(input:focus-visible) .cl-check { box-shadow:0 0 0 3px rgba(var(--cl-rgb,2,132,199),.25); }
.cl-fill-opt-text { flex:1; color:#334155; }
.cl-fill-opt-pts { font-size:.78rem; font-weight:700; color:#64748b; flex:0 0 auto; }

/* Skor gostergeleri (pill + ring) */
.cl-score-pill { display:inline-block; padding:.2rem .7rem; border-radius:1rem; font-weight:700; font-size:.82rem; color:#fff; }
.cl-score-pill.cl-ok   { background:#059669; }
.cl-score-pill.cl-warn { background:#d97706; }
.cl-score-pill.cl-bad  { background:#dc2626; }

.cl-result-head { display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; }
.cl-ring {
    width:110px; height:110px; flex:0 0 auto; border-radius:50%;
    background:conic-gradient(#059669 var(--pct,0%), #e2e8f0 0);
    display:flex; align-items:center; justify-content:center;
}
.cl-result-head.cl-warn .cl-ring { background:conic-gradient(#d97706 var(--pct,0%), #e2e8f0 0); }
.cl-result-head.cl-bad  .cl-ring { background:conic-gradient(#dc2626 var(--pct,0%), #e2e8f0 0); }
.cl-ring-inner { width:82px; height:82px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; }
.cl-ring-pct { font-size:1.6rem; font-weight:800; color:#059669; line-height:1; }
.cl-result-head.cl-warn .cl-ring-pct { color:#d97706; }
.cl-result-head.cl-bad  .cl-ring-pct { color:#dc2626; }
.cl-ring-pct small { font-size:.8rem; }
.cl-result-meta { flex:1; min-width:200px; }
.cl-score-badge { display:inline-block; padding:.25rem .85rem; border-radius:1rem; font-weight:700; font-size:.8rem; color:#fff; background:#059669; }
.cl-warn .cl-score-badge { background:#d97706; }
.cl-bad  .cl-score-badge { background:#dc2626; }
.cl-result-branch { font-weight:800; font-size:1.15rem; color:#0f172a; margin-top:.5rem; }
.cl-result-sub { font-size:.85rem; color:#64748b; margin-top:.2rem; }
.cl-result-note { font-size:.85rem; color:#475569; margin-top:.5rem; background:#f8fafc; border:1px solid #eef2f7; border-radius:.5rem; padding:.5rem .75rem; }

/* Dark tema */
body.theme-dark .cl-tpl-card { background:#10192b; border-color:#2a3852; }
body.theme-dark .cl-tpl-name { color:#e8edf5; }
body.theme-dark .cl-tpl-desc { color:#97a4bb; }
body.theme-dark .cl-question { background:#0f1a2c; border-color:#2a3852; }
body.theme-dark .cl-qtext, body.theme-dark .cl-fill-qtext { color:#e8edf5; }
body.theme-dark .cl-qmax { background:#1c2740; color:#97a4bb; }
body.theme-dark .cl-opt-chip { background:#1c2740; border-color:#2f3d57; color:#c7d2e0; }
body.theme-dark .cl-fill-opt { background:#0f1a2c; border-color:#2a3852; }
body.theme-dark .cl-fill-opt:hover { background:#1c2740; }
body.theme-dark .cl-check { background:#1c2740; border-color:#2f3d57; }
body.theme-dark .cl-fill-opt-text { color:#c7d2e0; }
body.theme-dark .cl-answer-comment { background:#0f1a2c; border-color:#2f3d57; color:#c7d2e0; }
body.theme-dark .cl-review-item { background:#0f1a2c; border-color:#2a3852; }
body.theme-dark .cl-review-q { color:#e8edf5; }
body.theme-dark .cl-review-answer { color:#c7d2e0; }
body.theme-dark .cl-general-note { border-top-color:#2f3d57; }
body.theme-dark .cl-general-note .form-label { color:#e8edf5; }
body.theme-dark .cl-fill-comment .form-label { color:#97a4bb; }
body.theme-dark .cl-ring-inner { background:#10192b; }
body.theme-dark .cl-result-branch { color:#e8edf5; }
body.theme-dark .cl-result-note { background:#1c2740; border-color:#2f3d57; color:#c7d2e0; }

@media (max-width: 575.98px) {
    .cl-opt-row { flex-wrap:wrap; }
    .cl-opt-row .form-control:not(.cl-opt-pts) { flex:1 1 100%; order:1; }
    .cl-opt-handle { display:none; }
    .cl-opt-pts-wrap { order:2; width:auto; flex:1; }
    .cl-opt-del { order:3; }
    .cl-fill-opts, .cl-options, .cl-fill-comment { padding-left:0; }
    .cl-fill-opt { flex-wrap:wrap; }
    .cl-fill-opt-pts { margin-left:auto; }

    /* Sonuc dokumu: puan alta insin, tasma olmasin */
    .cl-review-item { flex-wrap:wrap; }
    .cl-review-body { flex:1 1 100%; order:2; }
    .cl-review-num { order:1; }
    .cl-review-pts {
        order:1; margin-left:auto; flex-direction:row; gap:.3rem; align-items:baseline; min-width:0; font-size:1rem;
    }
    .cl-review-pts span { font-size:.7rem; }
}

/* ============================================================
   ARANABILIR ŞUBE SEÇİCİ  (sb-wrap — modal içi custom dropdown)
   ============================================================ */
.sb-wrap { position: relative; }

/* Tetikleyici buton */
.sb-trigger {
    display: flex; align-items: center; gap: .5rem;
    border: 1px solid #dee2e6; border-radius: .375rem;
    padding: .44rem .75rem; background: #fff; cursor: pointer;
    font-size: 1rem; color: #212529; min-height: 38px;
    transition: border-color .15s, box-shadow .15s;
    user-select: none;
}
.sb-trigger:hover { border-color: #b0b7c0; }
.sb-wrap.is-open .sb-trigger,
.sb-trigger:focus { border-color: var(--primary, #dc2626); outline: none; box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb,220,38,38),.18); }
.sb-trigger-ic { color: #6c757d; flex: 0 0 auto; }
.sb-trigger-lbl { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sb-trigger-lbl--placeholder { color: #6c757d; }
.sb-trigger-caret { color: #6c757d; font-size: .8rem; flex: 0 0 auto; transition: transform .15s; }
.sb-wrap.is-open .sb-trigger-caret { transform: rotate(180deg); }

/* Panel */
.sb-panel {
    display: none;
    background: #fff; border: 1px solid #e2e8f0; border-radius: .65rem;
    box-shadow: 0 12px 32px rgba(15,23,42,.18); overflow: hidden;
    min-width: 200px;
}
.sb-wrap.is-open .sb-panel { display: block; }
/* Modal içinde panelin kırpılmaması için */
.sb-wrap { overflow: visible !important; }
.sb-wrap.is-open ~ * { position: relative; }

/* Arama satırı */
.sb-search-wrap {
    position: relative; padding: .5rem .5rem .4rem;
    border-bottom: 1px solid #eceef4; background: #fff;
}
.sb-search {
    width: 100%; border: 1px solid #e2e8f0; border-radius: .5rem;
    padding: .4rem .75rem .4rem 2.1rem; font-size: .88rem; color: #1e293b;
    background: #f8fafc; outline: none; transition: border-color .14s, box-shadow .14s;
}
.sb-search:focus { border-color: var(--primary, #dc2626); background: #fff; box-shadow: 0 0 0 3px rgba(var(--primary-rgb,220,38,38),.1); }
.sb-search-ic {
    position: absolute; left: 1rem; top: 50%; transform: translateY(-50%);
    color: #94a3b8; font-size: .88rem; pointer-events: none;
}

/* Liste */
.sb-list {
    list-style: none; margin: 0; padding: .3rem .35rem;
    max-height: 240px; overflow-y: auto; overflow-x: hidden;
}
.sb-item {
    display: flex; align-items: center; gap: .55rem;
    padding: .5rem .65rem; border-radius: .45rem; cursor: pointer;
    font-size: .92rem; color: #334155; transition: background .11s, color .11s;
}
.sb-item:hover { background: #f4f5f9; color: #0f172a; }
.sb-item > i { color: #94a3b8; flex: 0 0 auto; }
.sb-item > span { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sb-item .bi-check-lg { color: var(--primary, #dc2626); flex: 0 0 auto; }
.sb-item.is-selected { background: rgba(220,38,38,.07); color: var(--primary, #dc2626); font-weight: 600; }
.sb-item.is-selected > i { color: var(--primary, #dc2626); }

/* Boş sonuç */
.sb-empty {
    padding: .65rem .9rem; font-size: .87rem; color: #94a3b8;
    display: flex; align-items: center; gap: .4rem;
}

/* Dark tema */
body.theme-dark .sb-trigger { background: #1c2740; border-color: #2f3d57; color: #e8edf5; }
body.theme-dark .sb-trigger:hover { border-color: #4a5568; }
body.theme-dark .sb-wrap.is-open .sb-trigger,
body.theme-dark .sb-trigger:focus { border-color: var(--primary, #dc2626); }
body.theme-dark .sb-trigger-ic, body.theme-dark .sb-trigger-caret { color: #97a4bb; }
body.theme-dark .sb-panel { background: #10192b; border-color: #2a3852; box-shadow: 0 12px 32px rgba(0,0,0,.4); }
body.theme-dark .sb-search-wrap { background: #10192b; border-bottom-color: #2a3852; }
body.theme-dark .sb-search { background: #1c2740; border-color: #2f3d57; color: #e8edf5; }
body.theme-dark .sb-search:focus { background: #1c2740; border-color: var(--primary, #dc2626); }
body.theme-dark .sb-item { color: #c7d2e0; }
body.theme-dark .sb-item:hover { background: #1c2740; color: #e8edf5; }
body.theme-dark .sb-item.is-selected { background: rgba(220,38,38,.12); }
body.theme-dark .sb-empty { color: #64748b; }

@media (max-width: 575.98px) {
    /* Mobilde panel: ekranin altina sabit bottom-sheet (klavye/liste degisiminde stabil) */
    .sb-wrap.is-open .sb-panel {
        position: fixed !important;
        left: 0 !important; right: 0 !important;
        bottom: 0 !important; top: auto !important;
        width: 100% !important; min-width: 0 !important;
        border-radius: 1rem 1rem 0 0;
        box-shadow: 0 -8px 30px rgba(15,23,42,.25);
        z-index: 3000 !important;
        max-height: 70vh; display: flex; flex-direction: column;
        animation: sbSheetUp .2s ease;
    }
    .sb-wrap.is-open .sb-list { max-height: none; flex: 1; }
    /* Bottom-sheet arka plan karartma */
    .sb-sheet-backdrop {
        position: fixed; inset: 0; background: rgba(15,23,42,.4);
        z-index: 2999; animation: sbFade .2s ease;
    }
}
@keyframes sbSheetUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes sbFade { from { opacity: 0; } to { opacity: 1; } }
/* ============================================================
   ŞUBE LİSTESİ ARAMA KUTUSU
   ============================================================ */
.branch-search-wrap {
    position: relative; display: flex; align-items: center;
    background: #f8fafc; border: 1px solid #e2e8f0; border-radius: .6rem;
    padding: .3rem .55rem .3rem 2rem; min-width: 200px; max-width: 280px;
    transition: border-color .14s, box-shadow .14s;
}
.branch-search-wrap:focus-within {
    background: #fff; border-color: var(--primary, #dc2626);
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb,220,38,38),.1);
}
.branch-search-ic {
    position: absolute; left: .65rem; color: #94a3b8; font-size: .88rem; pointer-events: none;
}
.branch-search-input {
    flex: 1; border: none; background: transparent; outline: none;
    font-size: .87rem; color: #1e293b; min-width: 0;
}
.branch-search-input::placeholder { color: #94a3b8; }
.branch-search-clear {
    flex: 0 0 auto; border: none; background: transparent; color: #94a3b8;
    padding: 0 .15rem; line-height: 1; font-size: .8rem; cursor: pointer;
    transition: color .12s;
}
.branch-search-clear:hover { color: var(--primary, #dc2626); }

body.theme-dark .branch-search-wrap { background: #1c2740; border-color: #2f3d57; }
body.theme-dark .branch-search-wrap:focus-within { background: #1c2740; border-color: var(--primary, #dc2626); }
body.theme-dark .branch-search-input { color: #e8edf5; }

@media (max-width: 575.98px) {
    .branch-search-wrap { min-width: 0; flex: 1; max-width: none; }
}

/* ============================================================
   CHECKLIST RESIM UPLOAD + SONUÇ GÖRSELLERİ
   ============================================================ */
.cl-fill-imgup { margin-top:.7rem; padding-left:2.1rem; }
.cl-fill-imgup-label { font-size:.82rem; color:#64748b; display:flex; align-items:center; gap:.35rem; margin-bottom:.4rem; cursor:pointer; }
.cl-fill-imgup-label i { color:var(--cl-1, #0284c7); }
.cl-fill-imgup-input { display:block; font-size:.82rem; color:#64748b; margin-bottom:.4rem; }
.cl-fill-imgup-preview { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.35rem; }
.cl-imgup-thumb { width:80px; height:60px; object-fit:cover; border-radius:.45rem; border:1px solid #e2e8f0; }

/* Sonuç + PDF'te resimler */
.cl-review-imgs { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.6rem; }
.cl-review-imgs a { display:block; }
.cl-review-imgs img { width:90px; height:68px; object-fit:cover; border-radius:.5rem; border:1px solid #e2e8f0; transition:transform .12s; }
.cl-review-imgs img:hover { transform:scale(1.05); }

/* Sonuç info (puan halkası kaldırıldı) */
.cl-result-info { padding:.5rem 0; }
.cl-result-info .cl-result-branch { font-weight:800; font-size:1.1rem; color:#0f172a; margin-bottom:.3rem; }
.cl-result-info .cl-result-sub { font-size:.85rem; color:#64748b; }
.cl-result-info .cl-result-note { font-size:.85rem; color:#475569; margin-top:.5rem; background:#f8fafc; border:1px solid #eef2f7; border-radius:.5rem; padding:.5rem .75rem; }

body.theme-dark .cl-fill-imgup-label { color:#97a4bb; }
body.theme-dark .cl-imgup-thumb, body.theme-dark .cl-review-imgs img { border-color:#2f3d57; }
body.theme-dark .cl-result-info .cl-result-branch { color:#e8edf5; }
body.theme-dark .cl-result-info .cl-result-note { background:#1c2740; border-color:#2f3d57; color:#c7d2e0; }

@media (max-width:575.98px) {
    .cl-fill-imgup { padding-left:0; }
}

/* ============================================================
   PARCA KULLANIM RAPORU MODALI (sade)
   ============================================================ */
.prt-report-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin: 0 0 1.2rem; }
.prt-sum-card {
    display: flex; align-items: center; gap: .7rem;
    border: 1px solid #e9edf3; border-radius: .8rem; padding: .9rem 1rem;
}
.prt-sum-ic {
    width: 42px; height: 42px; flex-shrink: 0; border-radius: .7rem; color: #fff;
    display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem;
}
.prt-sum-num { font-size: 1.6rem; font-weight: 850; line-height: 1; }
.prt-sum-lbl { font-size: .76rem; color: #64748b; margin-top: .25rem; }
/* Renk varyantlari */
.prt-sum-buy  { background: #eff6ff; } .prt-sum-buy  .prt-sum-ic { background: #2563eb; } .prt-sum-buy  .prt-sum-num { color: #2563eb; }
.prt-sum-use  { background: #fef2f2; } .prt-sum-use  .prt-sum-ic { background: #dc2626; } .prt-sum-use  .prt-sum-num { color: #dc2626; }
.prt-sum-left { background: #f0fdf4; } .prt-sum-left .prt-sum-ic { background: #16a34a; } .prt-sum-left .prt-sum-num { color: #16a34a; }
.prt-sum-rng  { background: #fff7ed; } .prt-sum-rng  .prt-sum-ic { background: #ea580c; } .prt-sum-rng  .prt-sum-num { color: #ea580c; }

/* Genel rapor ozeti: aralik karti acilinca 4 karta kadar esnek dagilim */
.prt-report-summary--all { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }

/* Tarih araligi filtresi */
.prt-daterange {
    display: flex; align-items: flex-end; gap: .55rem; flex-wrap: wrap;
    background: #f8fafc; border: 1px solid #e9edf3; border-radius: .7rem;
    padding: .7rem .85rem; margin-bottom: 1rem;
}
.prt-dr-field { display: flex; flex-direction: column; gap: .2rem; }
.prt-dr-field label { font-size: .72rem; color: #64748b; font-weight: 600; }
.prt-dr-field input { max-width: 160px; }
.prt-dr-sep { color: #94a3b8; padding-bottom: .45rem; }

.prt-report-h { font-size: .85rem; font-weight: 700; color: #334155; margin: 0 0 .5rem; display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.prt-report-h i { color: #16a34a; }
.prt-range-tag {
    font-size: .72rem; font-weight: 600; color: #15803d;
    background: #dcfce7; border-radius: 1rem; padding: .15rem .6rem;
}
.prt-report-table thead th { background: #f1f5f9; color: #475569; font-size: .74rem; text-transform: uppercase; letter-spacing: .02em; }
.prt-report-table td { font-size: .88rem; }

.prt-report-empty { text-align: center; padding: 2rem 1rem; color: #94a3b8; }
.prt-report-empty i { font-size: 2rem; display: block; margin-bottom: .5rem; opacity: .6; }

/* Dark tema */
body.theme-dark .prt-sum-card { border-color: #2a3852; }
body.theme-dark .prt-sum-buy  { background: rgba(37,99,235,.12); }
body.theme-dark .prt-sum-use  { background: rgba(220,38,38,.12); }
body.theme-dark .prt-sum-left { background: rgba(22,163,74,.12); }
body.theme-dark .prt-sum-rng  { background: rgba(234,88,12,.12); }
body.theme-dark .prt-sum-lbl { color: #97a4bb; }
body.theme-dark .prt-report-h { color: #c7d2e0; }
body.theme-dark .prt-report-table thead th { background: #1c2740; color: #97a4bb; }
body.theme-dark .prt-daterange { background: #0f1a2c; border-color: #2a3852; }
body.theme-dark .prt-dr-field label { color: #97a4bb; }
body.theme-dark .prt-range-tag { background: rgba(22,163,74,.18); color: #86efac; }

/* Genel rapor modali: sky vurgular */
.app-modal--sky .prt-report-h i { color: #0ea5e9; }
.app-modal--sky .prt-range-tag { background: #e0f2fe; color: #0369a1; }
body.theme-dark .app-modal--sky .prt-range-tag { background: rgba(14,165,233,.18); color: #7dd3fc; }

@media (max-width: 575.98px) {
    .prt-report-summary { grid-template-columns: repeat(2, 1fr); gap: .6rem; }
    .prt-report-summary--all { grid-template-columns: repeat(2, 1fr); }
    .prt-daterange { gap: .5rem; }
    .prt-dr-field { flex: 1; }
    .prt-dr-field input { max-width: none; width: 100%; }
    .prt-dr-sep { display: none; }
    .prt-daterange .btn { flex: 1; }
    /* 3. kart (Kalan) tek basina kalirsa tam genislik + ortali */
    .prt-report-summary .prt-sum-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .prt-sum-ic { width: 38px; height: 38px; font-size: 1.05rem; }
    .prt-sum-num { font-size: 1.35rem; }
    .prt-sum-lbl { font-size: .72rem; }
}
