﻿/* ============================================================
   RESMI CARILER (Zirve Senkronizasyon)
   ============================================================ */

.rc-shell {
    display: flex;
    flex-direction: column;
    height: 100%;
    flex: 1;
    overflow: hidden;
    background: var(--yl-bg);
    font-family: 'Segoe UI', system-ui, sans-serif;
}

/* ─── HEADER ─────────────────────────────────── */
.rc-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--yl-border);
    background: var(--yl-white);
    flex-shrink: 0;
}
.rc-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}
.rc-header-icon {
    width: 28px;
    height: 28px;
    color: var(--yl-primary);
    flex-shrink: 0;
}
.rc-header h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--yl-text);
    display: flex;
    align-items: center;
    gap: 8px;
}
.rc-header-badge {
    font-size: 0.65rem;
    font-weight: 600;
    background: var(--yl-primary);
    color: #fff;
    padding: 1px 7px;
    border-radius: 0;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.rc-header-sub {
    margin: 2px 0 0;
    font-size: 0.78rem;
    color: var(--yl-text-light);
    display: flex;
    align-items: center;
    gap: 6px;
}
.rc-dot {
    width: 3px;
    height: 3px;
    background: var(--yl-text-light);
    border-radius: 50%;
    display: inline-block;
}
.rc-stat-ok   { color: #16a34a; font-weight: 600; }
.rc-stat-warn { color: #d97706; font-weight: 600; }
.rc-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.rc-sync-date {
    font-size: 0.72rem;
    color: var(--yl-text-light);
    white-space: nowrap;
}

/* ─── BUTTONS ────────────────────────────────── */
.rc-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    font-size: 0.8rem;
    font-weight: 600;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.15s, opacity 0.15s;
    white-space: nowrap;
}
.rc-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.rc-btn-primary {
    background: var(--yl-primary);
    color: #fff;
}
.rc-btn-primary:hover:not(:disabled) { background: #2c5ea0; }
.rc-btn-ghost {
    background: transparent;
    color: var(--yl-text-light);
    border: 1px solid var(--yl-border);
}
.rc-btn-ghost:hover:not(:disabled) { background: var(--yl-bg); }
.rc-btn-danger-sm {
    background: #dc2626;
    color: #fff;
    font-size: 0.72rem;
    padding: 4px 10px;
}
.rc-btn-danger-sm:hover:not(:disabled) { background: #b91c1c; }
.rc-btn-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}
.rc-spin {
    animation: rcSpin 1s linear infinite;
}
@keyframes rcSpin {
    to { transform: rotate(360deg); }
}

/* ─── TOAST ──────────────────────────────────── */
.rc-toast {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 16px;
    font-size: 0.8rem;
    font-weight: 500;
    border-bottom: 1px solid var(--yl-border);
    flex-shrink: 0;
}
.rc-toast.is-ok  { background: #f0fdf4; color: #15803d; }
.rc-toast.is-err { background: #fef2f2; color: #b91c1c; }
.rc-toast-close {
    background: none; border: none; font-size: 1.1rem;
    cursor: pointer; color: inherit; padding: 0 4px;
}

/* ─── FILTER TABS ────────────────────────────── */
.rc-filter-bar {
    display: flex;
    gap: 2px;
    padding: 0 20px;
    border-bottom: 1px solid var(--yl-border);
    background: var(--yl-white);
    flex-shrink: 0;
    /* Serit sarmiyordu: eklenen "Filtreleri Temizle" dar ekranda kirpiliyordu
       (.rc-shell overflow:hidden). */
    flex-wrap: wrap;
    align-items: center;
}
.rc-tab {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 14px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--yl-text-light);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s;
}
.rc-tab:hover       { color: var(--yl-text); }
.rc-tab.active      { color: var(--yl-primary); border-bottom-color: var(--yl-primary); }
.rc-tab-cnt {
    font-size: 0.68rem;
    padding: 1px 6px;
    background: #e5e7eb;
    color: #374151;
    border-radius: 0;
    font-weight: 700;
}
.rc-tab.active .rc-tab-cnt { background: rgba(55,99,170,0.15); color: var(--yl-primary); }
.rc-cnt-ok   { color: #16a34a !important; }
.rc-cnt-warn { color: #d97706 !important; }

/* ─── MASTER-DETAIL LAYOUT ───────────────────── */
.rc-layout {
    display: grid;
    grid-template-columns: 340px 1fr;
    flex: 1;
    overflow: hidden;
}

/* ─── LEFT PANEL: LIST ───────────────────────── */
.rc-list-panel {
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--yl-border);
    background: var(--yl-white);
    overflow: hidden;
}
.rc-search-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--yl-border);
    position: relative;
}
.rc-search-icon {
    width: 16px;
    height: 16px;
    color: var(--yl-text-light);
    flex-shrink: 0;
}
.rc-search-input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 0.82rem;
    background: transparent;
    color: var(--yl-text);
}
.rc-search-input::placeholder { color: var(--yl-text-light); }
.rc-search-clear {
    background: none; border: none; font-size: 1rem;
    color: var(--yl-text-light); cursor: pointer; padding: 0 4px;
}
/* Sekme + arama filtrelerini birlikte sifirlayan dugme (filtre serididir) */
.rc-filter-clear {
    margin-left: auto;
    border: 1px solid var(--yl-border);
    background: var(--yl-white);
    color: var(--yl-text-light);
    border-radius: 0;
    padding: 5px 10px;
    font-size: 0.72rem;
    cursor: pointer;
    white-space: nowrap;
}
.rc-filter-clear:hover { background: #eef2f8; color: var(--yl-text); border-color: var(--yl-primary); }
@media (max-width: 768px) {
    /* Dokunma hedefi + sarilan seritte kendi satirina dusunce sola yaslansin */
    .rc-filter-clear { margin-left: 0; min-height: 36px; }
}
.app-root.dark .rc-filter-clear { background: #161b22; border-color: #3a4250; }
.app-root.dark .rc-filter-clear:hover { background: #21262d; color: #e5e9f0; }
.rc-list-count {
    padding: 4px 12px;
    font-size: 0.68rem;
    color: var(--yl-text-light);
    border-bottom: 1px solid var(--yl-border);
    flex-shrink: 0;
}
.rc-list-scroll {
    flex: 1;
    overflow-y: auto;
    padding: 4px 0;
}

/* ─── LIST ITEM ──────────────────────────────── */
.rc-list-item {
    display: block;
    width: 100%;
    padding: 8px 14px;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid var(--yl-border);
    cursor: pointer;
    transition: background 0.12s;
}
.rc-list-item:hover { background: #f4f7fb; }
.rc-list-item.active {
    background: rgba(55,99,170,0.08);
    border-left: 3px solid var(--yl-primary);
    padding-left: 11px;
}
.rc-item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}
.rc-item-code-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    flex-wrap: wrap;   /* kod + tur + firma dar listede tasmasin */
}
.rc-item-code {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--yl-primary);
    font-family: 'Cascadia Code', 'Consolas', monospace;
}

/* Cari turu rozeti — 120xxx Musteri / 320xxx Tedarikci (Zirve entegrasyonu) */
.rc-cari-tip {
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 1px 6px;
    border-radius: 0;
    border: 1px solid transparent;
    white-space: nowrap;
    flex-shrink: 0;
}
.rc-cari-tip.is-musteri   { color: #1e40af; background: #eff6ff; border-color: #bfdbfe; }
.rc-cari-tip.is-tedarikci { color: #b45309; background: #fffbeb; border-color: #fde68a; }
.app-root.dark .rc-cari-tip.is-musteri   { color: #93c5fd; background: rgba(37,99,235,0.12); border-color: #2a4a8a; }
.app-root.dark .rc-cari-tip.is-tedarikci { color: #fcd34d; background: rgba(180,83,9,0.12); border-color: #92561a; }
/* Diger: 340 avans, 159, 329 ... vergi no'lu hesaplar */
.rc-cari-tip.is-diger { color: #475569; background: #f1f5f9; border-color: #cbd5e1; }
.app-root.dark .rc-cari-tip.is-diger { color: #cbd5e1; background: rgba(148,163,184,0.12); border-color: #475569; }

/* Zirve firmasi (ayni cari her firmada ayri satir) */
.rc-firma {
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--yl-text-light);
    padding: 1px 6px;
    border: 1px solid var(--yl-border);
    border-radius: 0;
    white-space: nowrap;
}
.app-root.dark .rc-firma { color: #8b949e; border-color: #3a4250; }

.rc-firma-select {
    margin-left: 8px;
    padding: 4px 8px;
    font-size: 0.75rem;
    border: 1px solid var(--yl-border);
    border-radius: 0;
    background: var(--yl-white);
    color: var(--yl-text);
    cursor: pointer;
}
.rc-firma-select.is-active { border-color: var(--yl-primary); color: var(--yl-primary); font-weight: 600; }
@media (max-width: 768px) {
    .rc-firma-select { margin: 4px 0; min-height: 36px; }
}
.app-root.dark .rc-firma-select { background: #161b22; border-color: #3a4250; color: var(--yl-text); }
.app-root.dark .rc-firma-select.is-active { border-color: var(--yl-accent); color: var(--yl-accent); }
.rc-item-badge {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    flex-shrink: 0;
}
.rc-badge-ok   { background: #1e3a6e; color: #fff; }
.rc-badge-warn { background: #1e3a6e; color: #fff; }
.rc-badge-svg  { width: 13px; height: 13px; display: block; }
.rc-item-name {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--yl-text);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rc-item-sub {
    font-size: 0.7rem;
    color: var(--yl-text-light);
    margin-top: 1px;
}

/* ─── RIGHT PANEL: DETAIL ────────────────────── */
.rc-detail-panel {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--yl-bg);
}
.rc-detail-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap: 12px;
    color: var(--yl-text-light);
    font-size: 0.85rem;
}
.rc-detail-scroll {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

/* Detail Header */
.rc-detail-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}
.rc-detail-code {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--yl-primary);
    font-family: 'Cascadia Code', 'Consolas', monospace;
    letter-spacing: 0.3px;
}
.rc-detail-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--yl-text);
    margin-top: 2px;
}
.rc-detail-unvan {
    font-size: 0.82rem;
    color: var(--yl-text-light);
    margin-top: 2px;
}
.rc-match-chip {
    font-size: 0.7rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 0;
    white-space: nowrap;
    flex-shrink: 0;
}
.rc-match-chip.is-ok   { background: #dcfce7; color: #16a34a; }
.rc-match-chip.is-warn { background: #fef3c7; color: #d97706; }

/* Info Grid */
.rc-info-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.rc-info-group {
    background: var(--yl-white);
    border: 1px solid var(--yl-border);
    border-radius: 0;
    padding: 14px 16px;
}
.rc-info-group h4 {
    margin: 0 0 10px;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--yl-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--yl-border);
}
.rc-info-row {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 8px;
    padding: 4px 0;
    font-size: 0.8rem;
}
.rc-info-row.full {
    grid-template-columns: 120px 1fr;
}
.rc-lbl {
    font-weight: 600;
    color: var(--yl-text-light);
    font-size: 0.75rem;
}
.rc-val {
    color: var(--yl-text);
    word-break: break-word;
}

/* ─── MATCHING PANEL ─────────────────────────── */
.rc-match-panel {
    margin-top: 18px;
    background: var(--yl-white);
    border: 1px solid var(--yl-border);
    border-radius: 0;
    padding: 14px 16px;
}
.rc-match-panel h4 {
    margin: 0 0 10px;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--yl-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--yl-border);
}
.rc-match-current {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
}
.rc-match-info {
    display: flex;
    align-items: center;
    gap: 8px;
}
.rc-match-label {
    font-size: 0.78rem;
    color: var(--yl-text-light);
    font-weight: 600;
}
.rc-match-name {
    font-size: 0.85rem;
    font-weight: 700;
    color: #16a34a;
}
.rc-match-form {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.rc-match-select-wrap {
    flex: 1;
    position: relative;
}
.rc-match-search {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--yl-border);
    border-radius: 0;
    font-size: 0.82rem;
    outline: none;
    background: var(--yl-white);
    color: var(--yl-text);
    box-sizing: border-box;
}
.rc-match-search:focus { border-color: var(--yl-primary); }
.rc-match-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--yl-white);
    border: 1px solid var(--yl-border);
    border-top: none;
    max-height: 200px;
    overflow-y: auto;
    z-index: 50;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.rc-match-option {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 7px 10px;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid var(--yl-border);
    cursor: pointer;
    font-size: 0.78rem;
    transition: background 0.1s;
}
.rc-match-option:hover { background: #f4f7fb; }
.rc-match-option.selected { background: rgba(55,99,170,0.1); }
.rc-opt-code {
    font-family: 'Cascadia Code', 'Consolas', monospace;
    font-size: 0.68rem;
    color: var(--yl-primary);
    font-weight: 600;
    flex-shrink: 0;
}
.rc-opt-name {
    color: var(--yl-text);
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rc-opt-vno {
    font-size: 0.65rem;
    color: var(--yl-text-light);
    margin-left: auto;
    flex-shrink: 0;
}
.rc-match-msg {
    margin-top: 8px;
    font-size: 0.78rem;
    font-weight: 500;
    padding: 5px 10px;
}
.rc-match-msg.is-ok  { background: #f0fdf4; color: #15803d; }
.rc-match-msg.is-err { background: #fef2f2; color: #b91c1c; }

/* ─── CONFIG PANEL ───────────────────────────── */
.rc-config-panel {
    background: var(--yl-white);
    border-bottom: 2px solid var(--yl-primary);
    flex-shrink: 0;
}
.rc-config-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: rgba(55,99,170,0.06);
    border-bottom: 1px solid var(--yl-border);
}
.rc-config-icon {
    width: 20px;
    height: 20px;
    color: var(--yl-primary);
}
.rc-config-header h3 {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--yl-text);
}
.rc-config-body {
    padding: 14px 20px;
}
.rc-config-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.rc-config-row label {
    width: 90px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--yl-text-light);
    flex-shrink: 0;
}
.rc-config-val {
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--yl-text);
    font-family: 'Cascadia Code', 'Consolas', monospace;
}
.rc-config-input {
    flex: 1;
    max-width: 280px;
    padding: 6px 10px;
    border: 1px solid var(--yl-border);
    border-radius: 0;
    font-size: 0.82rem;
    outline: none;
    background: var(--yl-white);
    color: var(--yl-text);
}
.rc-config-input:focus { border-color: var(--yl-primary); }
.rc-config-msg {
    font-size: 0.78rem;
    font-weight: 500;
    padding: 6px 10px;
    margin: 8px 0;
}
.rc-config-msg.is-ok  { background: #f0fdf4; color: #15803d; }
.rc-config-msg.is-err { background: #fef2f2; color: #b91c1c; }
.rc-config-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

/* ─── SKELETON ───────────────────────────────── */
.rc-skel-item {
    padding: 10px 14px;
    border-bottom: 1px solid var(--yl-border);
}
.rc-skel-line {
    height: 10px;
    background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
    background-size: 200% 100%;
    animation: rcShimmer 1.4s ease-in-out infinite;
    margin-bottom: 6px;
}
.rc-skel-line.w60 { width: 60%; }
.rc-skel-line.w40 { width: 40%; }
@keyframes rcShimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ─── RESPONSIVE ─────────────────────────────── */
@media (max-width: 900px) {
    .rc-layout {
        grid-template-columns: 1fr;
    }
    .rc-list-panel {
        border-right: none;
        border-bottom: 1px solid var(--yl-border);
        max-height: 40vh;
    }
    .rc-header {
        flex-wrap: wrap;
    }
}
@media (max-width: 600px) {
    .rc-header { padding: 10px 12px; }
    .rc-filter-bar { padding: 0 12px; }
    .rc-detail-scroll { padding: 12px; }
    .rc-info-row { grid-template-columns: 100px 1fr; }
    .rc-match-form { flex-direction: column; }
}

/* ============================================================
   DARK MODE
   ============================================================ */
.app-root.dark .rc-shell { background: var(--yl-bg); }
.app-root.dark .rc-header { background: var(--yl-white); border-bottom-color: var(--yl-border); }
.app-root.dark .rc-header h3 { color: var(--yl-text); }
.app-root.dark .rc-header-badge { background: var(--yl-accent); }
.app-root.dark .rc-stat-ok   { color: #4ade80; }
.app-root.dark .rc-stat-warn { color: #fbbf24; }

.app-root.dark .rc-filter-bar { background: var(--yl-white); border-bottom-color: var(--yl-border); }
.app-root.dark .rc-tab { color: #8b949e; }
.app-root.dark .rc-tab:hover { color: var(--yl-text); }
.app-root.dark .rc-tab.active { color: var(--yl-accent); border-bottom-color: var(--yl-accent); }
.app-root.dark .rc-tab-cnt { background: #21262d; color: #8b949e; }
.app-root.dark .rc-tab.active .rc-tab-cnt { background: rgba(88,166,255,0.15); color: var(--yl-accent); }

.app-root.dark .rc-list-panel { background: var(--yl-white); border-right-color: var(--yl-border); }
.app-root.dark .rc-search-wrap { border-bottom-color: var(--yl-border); }
.app-root.dark .rc-search-input { color: var(--yl-text); }
.app-root.dark .rc-list-count { border-bottom-color: var(--yl-border); }
.app-root.dark .rc-list-item { border-bottom-color: var(--yl-border); }
.app-root.dark .rc-list-item:hover { background: #161b22; }
.app-root.dark .rc-list-item.active {
    background: rgba(88,166,255,0.08);
    border-left-color: var(--yl-accent);
}
.app-root.dark .rc-item-code { color: var(--yl-accent); }
.app-root.dark .rc-item-name { color: var(--yl-text); }
.app-root.dark .rc-badge-ok   { background: #2a4a8a; color: #fff; }
.app-root.dark .rc-badge-warn { background: #2a4a8a; color: #fff; }

.app-root.dark .rc-detail-panel { background: var(--yl-bg); }
.app-root.dark .rc-detail-code { color: var(--yl-accent); }
.app-root.dark .rc-detail-name { color: var(--yl-text); }
.app-root.dark .rc-match-chip.is-ok   { background: rgba(74,222,128,0.15); color: #4ade80; }
.app-root.dark .rc-match-chip.is-warn { background: rgba(251,191,36,0.15); color: #fbbf24; }

.app-root.dark .rc-info-group { background: var(--yl-white); border-color: var(--yl-border); }
.app-root.dark .rc-info-group h4 { color: var(--yl-accent); border-bottom-color: var(--yl-border); }
.app-root.dark .rc-val { color: var(--yl-text); }

.app-root.dark .rc-match-panel { background: var(--yl-white); border-color: var(--yl-border); }
.app-root.dark .rc-match-panel h4 { color: var(--yl-accent); border-bottom-color: var(--yl-border); }
.app-root.dark .rc-match-name { color: #4ade80; }
.app-root.dark .rc-match-search {
    background: var(--yl-bg);
    border-color: var(--yl-border);
    color: var(--yl-text);
}
.app-root.dark .rc-match-dropdown {
    background: var(--yl-white);
    border-color: var(--yl-border);
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.app-root.dark .rc-match-option { border-bottom-color: var(--yl-border); }
.app-root.dark .rc-match-option:hover { background: #161b22; }
.app-root.dark .rc-match-option.selected { background: rgba(88,166,255,0.1); }
.app-root.dark .rc-opt-code { color: var(--yl-accent); }
.app-root.dark .rc-opt-name { color: var(--yl-text); }
.app-root.dark .rc-match-msg.is-ok  { background: rgba(74,222,128,0.1); color: #4ade80; }
.app-root.dark .rc-match-msg.is-err { background: rgba(248,113,113,0.1); color: #f87171; }

.app-root.dark .rc-toast.is-ok  { background: rgba(74,222,128,0.1);  color: #4ade80; }
.app-root.dark .rc-toast.is-err { background: rgba(248,113,113,0.1); color: #f87171; }

.app-root.dark .rc-config-panel { border-bottom-color: var(--yl-accent); }
.app-root.dark .rc-config-header {
    background: rgba(88,166,255,0.06);
    border-bottom-color: var(--yl-border);
}
.app-root.dark .rc-config-header h3 { color: var(--yl-text); }
.app-root.dark .rc-config-val { color: var(--yl-text); }
.app-root.dark .rc-config-input {
    background: var(--yl-bg);
    border-color: var(--yl-border);
    color: var(--yl-text);
}
.app-root.dark .rc-config-msg.is-ok  { background: rgba(74,222,128,0.1); color: #4ade80; }
.app-root.dark .rc-config-msg.is-err { background: rgba(248,113,113,0.1); color: #f87171; }

.app-root.dark .rc-btn-primary { background: var(--yl-accent); color: #0d1117; }
.app-root.dark .rc-btn-primary:hover:not(:disabled) { background: #79c0ff; }
.app-root.dark .rc-btn-ghost {
    color: #8b949e;
    border-color: var(--yl-border);
}
.app-root.dark .rc-btn-ghost:hover:not(:disabled) { background: #161b22; }
.app-root.dark .rc-btn-danger-sm { background: #da3633; }
.app-root.dark .rc-btn-danger-sm:hover:not(:disabled) { background: #f85149; }

.app-root.dark .rc-skel-line {
    background: linear-gradient(90deg, #21262d 25%, #30363d 50%, #21262d 75%);
    background-size: 200% 100%;
}

/* ============================================================
   CARİ KARTLAR — UNIFIED TAB UI (rc-main-tabs)
   ============================================================ */

/* ─── MAIN PAGE TABS ────────────────────────── */
.rc-main-tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--yl-border);
    background: var(--yl-white);
    flex-shrink: 0;
}
.rc-main-tab {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 12px 22px;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--yl-text-light);
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
    margin-bottom: -2px;
}
.rc-main-tab:hover { color: var(--yl-text); background: rgba(55,99,170,0.04); }
.rc-main-tab.active {
    color: var(--yl-primary);
    border-bottom-color: var(--yl-primary);
    background: rgba(55,99,170,0.06);
}
.rc-main-tab-badge {
    font-size: 0.58rem;
    font-weight: 700;
    background: var(--yl-primary);
    color: #fff;
    padding: 1px 6px;
    border-radius: 0;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* ─── FORM GRID ─────────────────────────────── */
.rc-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.rc-form-grid.rc-grid-3 {
    grid-template-columns: repeat(3, 1fr);
}
.rc-form-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.rc-form-field label {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--yl-text-light);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.rc-form-hint {
    display: block;
    margin-top: 4px;
    font-size: 0.68rem;
    color: #9ca3af;
    font-style: italic;
}
.rc-span-2 {
    grid-column: span 2;
}
.rc-form-input {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--yl-border);
    border-radius: 0;
    font-size: 0.82rem;
    outline: none;
    background: var(--yl-white);
    color: var(--yl-text);
    box-sizing: border-box;
    transition: border-color 0.15s;
}
.rc-form-input:focus { border-color: var(--yl-primary); }
.rc-form-input[readonly] {
    background: #f9fafb;
    color: var(--yl-text-light);
    cursor: default;
}
select.rc-form-input {
    appearance: auto;
    cursor: pointer;
}
.rc-textarea {
    resize: vertical;
    min-height: 60px;
    font-family: inherit;
}

/* ─── TOGGLE ────────────────────────────────── */
.rc-toggle-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 2px;
}
.rc-toggle {
    position: relative;
    display: inline-block;
    width: 36px;
    height: 20px;
    flex-shrink: 0;
}
.rc-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}
.rc-toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background: #d1d5db;
    border-radius: 0;
    transition: background 0.2s;
}
.rc-toggle-slider::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    left: 2px;
    bottom: 2px;
    background: #fff;
    border-radius: 0;
    transition: transform 0.2s;
}
.rc-toggle input:checked + .rc-toggle-slider {
    background: #16a34a;
}
.rc-toggle input:checked + .rc-toggle-slider::before {
    transform: translateX(16px);
}
.rc-toggle-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--yl-text);
}

/* ─── CONTACT CARD ──────────────────────────── */
.rc-contact-card {
    background: var(--yl-bg);
    border: 1px solid var(--yl-border);
    border-radius: 0;
    padding: 12px 14px;
    margin-bottom: 10px;
}
.rc-contact-card.even { background: var(--yl-bg); }
.rc-contact-card.odd  { background: var(--yl-white); }
.rc-contact-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--yl-border);
}
.rc-inline-check {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--yl-text-light);
    cursor: pointer;
    white-space: nowrap;
}
.rc-inline-check input[type="checkbox"] {
    width: 14px;
    height: 14px;
    accent-color: var(--yl-primary);
    cursor: pointer;
}

/* ─── DETAIL SUMMARY ITEM ───────────────────── */
.rc-detail-summary-item {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
    padding: 4px 10px;
    background: var(--yl-bg);
    border: 1px solid var(--yl-border);
    border-radius: 0;
}
.rc-detail-summary-item .rc-lbl {
    font-size: 0.65rem;
    text-transform: uppercase;
}
.rc-detail-summary-item strong {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--yl-text);
}

/* ─── FORM FOOTER ───────────────────────────── */
.rc-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 20px;
    padding-top: 14px;
    border-top: 1px solid var(--yl-border);
}
.rc-form-audit {
    display: flex;
    gap: 14px;
    font-size: 0.72rem;
    color: var(--yl-text-light);
}
.rc-form-actions {
    display: flex;
    gap: 8px;
}

/* ─── TOAST OVERLAY ─────────────────────────── */
.rc-toast-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 30px;
    z-index: 9999;
    pointer-events: none;
}
.rc-toast-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 0;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    pointer-events: auto;
    animation: rcToastIn 0.3s ease-out;
}
.rc-toast-card.is-ok {
    background: #f0fdf4;
    color: #15803d;
    border: 1px solid #bbf7d0;
}
.rc-toast-card.is-err {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}
@keyframes rcToastIn {
    from { opacity: 0; transform: translateY(-12px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ─── MODAL ─────────────────────────────────── */
.rc-modal-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    animation: rcFadeIn 0.15s ease-out;
}
.rc-modal {
    background: var(--yl-white);
    border: 1px solid var(--yl-border);
    border-radius: 0;
    min-width: 380px;
    max-width: 480px;
    width: 90%;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.rc-modal-header {
    padding: 14px 18px;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--yl-text);
    border-bottom: 1px solid var(--yl-border);
}
.rc-modal-body {
    padding: 18px;
    font-size: 0.85rem;
    color: var(--yl-text);
    line-height: 1.5;
}
.rc-modal-body p { margin: 0; }
.rc-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 18px;
    border-top: 1px solid var(--yl-border);
}
@keyframes rcFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* ─── RESPONSIVE (CariKartlar) ──────────────── */
@media (max-width: 900px) {
    .rc-main-tab { padding: 10px 14px; font-size: 0.82rem; }
    .rc-form-grid { grid-template-columns: 1fr; }
    .rc-form-grid.rc-grid-3 { grid-template-columns: repeat(2, 1fr); }
    .rc-span-2 { grid-column: auto; }
    .rc-detail-header { flex-direction: column; gap: 8px; }
    .rc-form-footer { flex-direction: column; gap: 8px; }
    .rc-form-actions { width: 100%; justify-content: flex-end; }
}
@media (max-width: 600px) {
    .rc-main-tabs { overflow-x: auto; }
    .rc-main-tab { padding: 8px 12px; font-size: 0.78rem; white-space: nowrap; }
    .rc-form-grid.rc-grid-3 { grid-template-columns: 1fr; }
    .rc-contact-footer { flex-wrap: wrap; }
    .rc-detail-summary-item { padding: 3px 6px; }
    .rc-modal { min-width: auto; max-width: 95%; }
}

/* ============================================================
   DARK MODE — CARİ KARTLAR EXTENSIONS
   ============================================================ */
.app-root.dark .rc-main-tabs { background: var(--yl-white); border-bottom-color: var(--yl-border); }
.app-root.dark .rc-main-tab { color: #8b949e; }
.app-root.dark .rc-main-tab:hover { color: var(--yl-text); background: rgba(88,166,255,0.04); }
.app-root.dark .rc-main-tab.active {
    color: var(--yl-accent);
    border-bottom-color: var(--yl-accent);
    background: rgba(88,166,255,0.06);
}
.app-root.dark .rc-main-tab-badge { background: var(--yl-accent); color: #0d1117; }

.app-root.dark .rc-form-input {
    background: var(--yl-bg);
    border-color: var(--yl-border);
    color: var(--yl-text);
}
.app-root.dark .rc-form-input:focus { border-color: var(--yl-accent); }
.app-root.dark .rc-form-input[readonly] {
    background: #161b22;
    color: #8b949e;
}
.app-root.dark select.rc-form-input { background: var(--yl-bg); }

.app-root.dark .rc-form-field label { color: #8b949e; }

.app-root.dark .rc-toggle-slider { background: #30363d; }
.app-root.dark .rc-toggle-slider::before { background: #8b949e; }
.app-root.dark .rc-toggle input:checked + .rc-toggle-slider { background: #238636; }
.app-root.dark .rc-toggle input:checked + .rc-toggle-slider::before { background: #fff; }
.app-root.dark .rc-toggle-label { color: var(--yl-text); }

.app-root.dark .rc-contact-card { border-color: var(--yl-border); }
.app-root.dark .rc-contact-card.even { background: #0d1117; }
.app-root.dark .rc-contact-card.odd  { background: var(--yl-white); }
.app-root.dark .rc-contact-footer { border-top-color: var(--yl-border); }
.app-root.dark .rc-inline-check { color: #8b949e; }

.app-root.dark .rc-detail-summary-item {
    background: #161b22;
    border-color: var(--yl-border);
}
.app-root.dark .rc-detail-summary-item strong { color: var(--yl-text); }

.app-root.dark .rc-form-footer { border-top-color: var(--yl-border); }
.app-root.dark .rc-form-audit { color: #8b949e; }

.app-root.dark .rc-toast-card.is-ok {
    background: rgba(74,222,128,0.1);
    color: #4ade80;
    border-color: rgba(74,222,128,0.3);
}
.app-root.dark .rc-toast-card.is-err {
    background: rgba(248,113,113,0.1);
    color: #f87171;
    border-color: rgba(248,113,113,0.3);
}

.app-root.dark .rc-modal-overlay { background: rgba(0,0,0,0.65); }
.app-root.dark .rc-modal {
    background: var(--yl-white);
    border-color: var(--yl-border);
    box-shadow: 0 8px 32px rgba(0,0,0,0.5);
}
.app-root.dark .rc-modal-header { color: var(--yl-text); border-bottom-color: var(--yl-border); }
.app-root.dark .rc-modal-body { color: var(--yl-text); }
.app-root.dark .rc-modal-footer { border-top-color: var(--yl-border); }

/* ============================================================
   MOBIL KART DUZENI (<=700px) - CariKartlari
   TeklifListesi'ndeki desenin aynisi: detay acikken liste gizlenir,
   detay paneli TAM EKRAN olur; detay kapaliyken liste tam ekrandir.
   DIKKAT: .rc-cari-layout ve .rc-mobil-detay siniflari YALNIZCA
   CariKartlari.razor'da eklenir - asagidaki panel gizleme kurallari
   bu siniflara baglidir, ResmiCariler ekrani ETKILENMEZ.
   Masaustu/tablet gorunumu degismez (tum kurallar media icinde;
   .rc-mobil-geri desktop'ta display:none).
   ============================================================ */

/* ‼️ LISTE ⇄ DETAY — ARTIK HER EKRAN BOYUTUNDA
   Cari ekrani eskiden "sol dar liste + sag form" (master-detail) idi ve panel
   gizleme kurallari YALNIZCA telefonda (<=700px) calisiyordu. Kullanici istegi
   2026-08 uzerine liste diger ekranlar gibi tam genislikte bir gride cevrildi;
   detay "Detay" sutunundan TAM EKRAN acilir. Bu yuzden asagidaki kurallar artik
   media sorgusunun DISINDA.
   .rc-cari-layout sinifi yalnizca CariKartlari.razor'da eklenir — ResmiCariler
   ekrani bu kurallardan ETKILENMEZ. */
.rc-cari-layout {
    display: flex;
    flex-direction: column;
}
.rc-cari-layout > .rc-grid-wrap,
.rc-cari-layout > .rc-detail-panel {
    flex: 1 1 auto;
    min-height: 0;
}
/* Grid, kalan alani doldursun ve KENDI icinde kaydirilsin */
.rc-cari-layout > .rc-grid-wrap {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}
.rc-cari-layout.rc-detay-acik  > .rc-grid-wrap    { display: none; }
.rc-cari-layout.rc-liste-acik  > .rc-detail-panel { display: none; }

/* "← Liste" dugmesi: detay acikken HER boyutta gorunur */
.rc-mobil-geri {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 36px;
    min-height: 34px;
    padding: 5px 12px;
    align-self: flex-start;
    background: transparent;
    border: 1px solid var(--yl-border);
    border-radius: 0;
    color: var(--yl-text);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}
.rc-mobil-geri:hover { background: var(--yl-bg-soft, #f1f5f9); }

/* ── Arac cubugu: arama + etiket suzme + durum ── */
.rc-arama-kutu {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 260px;
    flex: 1 1 260px;
}
.rc-arama-kutu .rc-search-input { width: 100%; padding-left: 30px; }
.rc-arama-kutu .rc-search-icon {
    position: absolute; left: 9px;
    width: 14px; height: 14px;
    color: var(--yl-text-light, #94a3b8);
    pointer-events: none;
}
.cet-filtre-arac { padding: 0; border-bottom: none; }
.rc-filtre-temizle { white-space: nowrap; }

/* Durum suzme menusu arac cubugunun SOLUNDA duruyor; gridin varsayilan
   chooser'i saga yaslidir (right:0) ve orada ekran disina tasardi. */
.rc-cari-layout .ylg-chooser-wrap > .ylg-chooser { left: 0; right: auto; }

/* ── Grid hucreleri ── */
.cari-kod {
    font-family: ui-monospace, 'Cascadia Mono', Consolas, monospace;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--yl-primary, #185fa5);
}
.cari-unvan { font-weight: 600; }
.cari-temsilci, .cari-ulke { color: var(--yl-text-light, #64748b); }
.cari-etiket-hucre { display: flex; flex-wrap: wrap; gap: 3px; }
.cari-bakiye { font-variant-numeric: tabular-nums; font-weight: 600; }
.cari-bakiye.is-borc { color: #A32D2D; }
.cari-para { font-size: 0.68rem; font-weight: 500; color: var(--yl-text-light, #94a3b8); }

.cari-durum {
    display: inline-block;
    padding: 1px 8px;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 0.68rem;
    font-weight: 700;
}
.cari-durum.is-aktif { background: rgba(22,163,74,0.12); border-color: rgba(22,163,74,0.4); color: #15803d; }
.cari-durum.is-pasif { background: rgba(100,116,139,0.12); border-color: rgba(100,116,139,0.35); color: #64748b; }

.cari-detay-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px; height: 26px;
    padding: 0;
    border: 1px solid var(--yl-border, #cbd5e1);
    border-radius: 0;
    background: var(--yl-white, #fff);
    color: var(--yl-primary, #185fa5);
    cursor: pointer;
}
.cari-detay-btn:hover { background: var(--yl-primary, #185fa5); border-color: var(--yl-primary, #185fa5); color: #fff; }

.app-root.dark .cari-detay-btn { background: #161b22; border-color: #30363d; }
.app-root.dark .rc-mobil-geri:hover { background: #21262d; }

@media (max-width: 700px) {
    .rc-arama-kutu { min-width: 0; flex: 1 1 100%; }
    /* eski mobil geri kurallari yerine artik ustteki genel kural gecerli */

    /* Liste kartlari: dokunma yuksekligi ve metin tasmasi
       (rc-list-item her iki ekranda da kart - ikisinde de yararli) */
    .rc-list-item { min-height: 44px; }

    /* Dokunma hedefleri: arama temizle butonu ve ana sekmeler >=36px */
    .rc-search-clear {
        min-width: 36px;
        min-height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .rc-main-tab { min-height: 36px; }
    .rc-item-sub {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .rc-item-code {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* ============================================================
   CARI KARTLAR — YERLESIM DUZENLEMESI (24.07.2026)

   Sorun (kullanici): "sag tarafta scroll var, asagiya cekiyorum
   zorlaniyorum". Kok neden: musteri basligi, sekmeler, form VE
   Kaydet butonu TEK bir kaydirma alanindaydi; form gereksiz uzundu
   (iki bilgi karti alt alta + yarim bos satirlar), bu yuzden
   kaydirma cubugu kisaliyor ve Kaydet'e ulasmak icin her seferinde
   en asagi inmek gerekiyordu.

   Cozum: baslik + sekmeler USTTE SABIT, eylem cubugu ALTTA SABIT,
   yalnizca form icerigi kayar; genis ekranda iki kart YAN YANA.

   TUM kurallar .rc-cari-detail altinda: rc-detail-* siniflari Resmi
   Cariler ekraniyla ORTAK - orasi etkilenmemeli.
   ============================================================ */

/* Baslik: sabit ust serit */
.rc-cari-detail .rc-detail-header {
    flex-shrink: 0;
    margin: 0;
    padding: 12px 20px;
    background: var(--yl-white);
    border-bottom: 1px solid var(--yl-border);
}

/* Sekmeler: baslikla alt alta, ikisi de sabit */
.rc-cari-detail .rc-cari-tabs {
    flex-shrink: 0;
    margin: 0;
    padding: 0 20px;
    background: var(--yl-white);
    border-bottom: 1px solid var(--yl-border);
}

/* Kayan alan: yalnizca form icerigi */
.rc-cari-detail .rc-detail-scroll {
    flex: 1;
    min-height: 0;
    padding: 16px 20px;
}

/* Eylem cubugu: sabit alt serit (Kaydet her zaman goruncede) */
.rc-cari-detail .rc-form-footer {
    flex-shrink: 0;
    margin: 0;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: var(--yl-white);
    border-top: 1px solid var(--yl-border);
}

/* Genis ekranda bilgi kartlari YAN YANA (form yariya kadar kisalir);
   dar ekranda kendiliginden alt alta iner. */
.rc-cari-detail .rc-info-grid {
    display: grid;
    /* min(360px, 100%): telefonda kapsayici 360px'ten darsa ray genisligi
       kapsayaciya coker; boylece dar ekranda yatay tasma OLMAZ (inceleme
       bulgusu, 2 mercek dogruladi). Genis ekranda ayni: kartlar yan yana. */
    grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
    gap: 14px;
    align-items: start;
}

/* Kaydirma cubugu: varsayilan ince cubugu tutmak zordu - genisletildi
   ve tutamac belirginlestirildi (kullanici sikayeti). */
.rc-cari-detail .rc-detail-scroll::-webkit-scrollbar,
.rc-cari-layout .rc-list-scroll::-webkit-scrollbar {
    width: 14px;
}
.rc-cari-detail .rc-detail-scroll::-webkit-scrollbar-track,
.rc-cari-layout .rc-list-scroll::-webkit-scrollbar-track {
    background: #eef1f6;
}
.rc-cari-detail .rc-detail-scroll::-webkit-scrollbar-thumb,
.rc-cari-layout .rc-list-scroll::-webkit-scrollbar-thumb {
    /* Tutamacin TAMAMI dolu ve belirgin (kullanici "cubugu tutmakta
       zorlaniyorum" dedi). Onceki hafif border tutamaci gorsel olarak
       inceltiyordu -> kaldirildi, renk koyulastirildi. */
    background: #7c8798;
    border-radius: 0;
    min-height: 48px;            /* cok kisalip yakalanamaz hale gelmesin */
}
.rc-cari-detail .rc-detail-scroll::-webkit-scrollbar-thumb:hover,
.rc-cari-layout .rc-list-scroll::-webkit-scrollbar-thumb:hover {
    background: #636f80;
}

/* Koyu tema */
.app-root.dark .rc-cari-detail .rc-detail-header,
.app-root.dark .rc-cari-detail .rc-cari-tabs,
.app-root.dark .rc-cari-detail .rc-form-footer {
    background: var(--yl-white);
    border-color: var(--yl-border);
}
.app-root.dark .rc-cari-detail .rc-detail-scroll::-webkit-scrollbar-track,
.app-root.dark .rc-cari-layout .rc-list-scroll::-webkit-scrollbar-track { background: #1b1e25; }
.app-root.dark .rc-cari-detail .rc-detail-scroll::-webkit-scrollbar-thumb,
.app-root.dark .rc-cari-layout .rc-list-scroll::-webkit-scrollbar-thumb {
    background: #5a6472;
}
/* Koyu temada hover kurali eksikti (acik temada vardi) - inceleme bulgusu.
   Ozgullugu acik tema :hover kuraliyla esit tutmak icin ayni yapi. */
.app-root.dark .rc-cari-detail .rc-detail-scroll::-webkit-scrollbar-thumb:hover,
.app-root.dark .rc-cari-layout .rc-list-scroll::-webkit-scrollbar-thumb:hover {
    background: #6e7a8a;
}

/* Telefon: seritler daralir, kartlar tek kolon (auto-fit zaten indirir) */
@media (max-width: 700px) {
    .rc-cari-detail .rc-detail-header,
    .rc-cari-detail .rc-cari-tabs,
    .rc-cari-detail .rc-form-footer { padding-left: 12px; padding-right: 12px; }
    .rc-cari-detail .rc-detail-scroll { padding: 12px; }
    .rc-cari-detail .rc-form-footer .rc-btn { min-height: 40px; }
}

/* Orta genislik (701-900px, masaustu pencere): mevcut @media(max-width:900px)
   basligi/footer'i DIKEY yigar (rc-detail-header/footer ortak sinif). Sabit
   seritte bu bosuna dikey yer yer; bu araligi yatay tutuyoruz. */
@media (min-width: 701px) and (max-width: 900px) {
    .rc-cari-detail .rc-detail-header { flex-direction: row; align-items: flex-start; }
    .rc-cari-detail .rc-form-footer { flex-direction: row; }
    .rc-cari-detail .rc-form-footer .rc-form-actions { width: auto; }
}

/* KISA pencere guvenligi: cok alcak ekranda (orn. bolunmus pencere) sabit
   ust+alt seritler formu ezerdi. Bu durumda DEGISIKLIK ONCESI davranisa don:
   panelin tamami tek parca kayar (Kaydet yine erisilir, sadece sabit degil). */
@media (max-height: 620px) {
    .rc-cari-detail { overflow-y: auto; }
    .rc-cari-detail .rc-detail-header,
    .rc-cari-detail .rc-cari-tabs { position: static; }
    .rc-cari-detail .rc-detail-scroll { overflow: visible; flex: 0 0 auto; min-height: 0; }
    .rc-cari-detail .rc-form-footer { flex-shrink: 0; }
}

/* ── Kullanici Yonetimi: yetkin dil coklu secimi ─────────────────────── */
/* Tum satiri kaplayan alan (grid iki kolonluysa) */
.rc-form-field-full { grid-column: 1 / -1; }

.ky-dil-secim {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 2px;
}
.ky-dil-secenek {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    border: 1px solid var(--yl-border, #e2e8f0);
    border-radius: 0;
    cursor: pointer;
    font-size: 0.78rem;
    background: #fff;
    user-select: none;
}
.ky-dil-secenek small { color: var(--yl-text-light, #64748b); font-size: 0.68rem; }
.ky-dil-secenek.secili {
    background: #eef2f8;
    border-color: var(--yl-accent, #185fa5);
    color: var(--yl-accent, #185fa5);
    font-weight: 700;
}
.ky-dil-secenek.secili small { color: var(--yl-accent, #185fa5); }
.ky-dil-secenek input { margin: 0; }

.app-root.dark .ky-dil-secenek { background: rgba(148,163,184,0.10); border-color: rgba(148,163,184,0.30); }
.app-root.dark .ky-dil-secenek.secili { background: rgba(59,125,221,0.18); border-color: #3b7ddd; color: #93c5fd; }

/* Ceviri ekranlarinda dil kisiti uyarisi */
.dil-kisit-serit {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    padding: 5px 8px;
    font-size: 0.72rem;
    border-radius: 0;
    line-height: 1.35;
}
.app-root.dark .dil-kisit-serit {
    background: rgba(59,125,221,0.12);
    border-color: rgba(59,125,221,0.35);
    color: #93c5fd;
}

/* ═══════════════════════════════════════════════════════════════════
   CARI ETIKETLERI
   Keskin koseler (border-radius: 0) proje kurali.
   ═══════════════════════════════════════════════════════════════════ */

.cet-rozet {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid var(--yl-border, #cbd5e1);
    border-radius: 0;
    padding: 1px 7px;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.6;
    white-space: nowrap;
}
.cet-rozet-mini { font-size: 0.62rem; padding: 0 5px; }
.cet-tik { font-size: 0.7rem; line-height: 1; }

.cet-rozet-btn { cursor: pointer; transition: opacity 0.12s; }
.cet-rozet-btn:hover:not(:disabled) { opacity: 0.82; }
.cet-rozet-btn:disabled { cursor: default; opacity: 0.55; }

/* ── Sol listedeki suzme seridi ── */
.cet-filtre {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 6px 10px 2px;
    border-bottom: 1px solid var(--yl-border, #e2e8f0);
}
.cet-filtre-temizle {
    border: 1px solid transparent;
    background: none;
    border-radius: 0;
    padding: 1px 6px;
    font-size: 0.66rem;
    font-weight: 600;
    color: var(--yl-text-light, #64748b);
    cursor: pointer;
    text-decoration: underline;
}
.cet-filtre-temizle:hover { color: var(--yl-text, #334155); }

/* ── Liste satirindaki rozetler ── */
.cet-satir-rozetler {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    margin-top: 3px;
}

/* ── Detay panelindeki etiketleme seridi ── */
.cet-detay-serit {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    background: var(--yl-bg-soft, #f8fafc);
    border-bottom: 1px solid var(--yl-border, #e2e8f0);
}
.cet-durum { font-size: 0.68rem; color: var(--yl-text-light, #64748b); }

/* ── Tanimlama penceresi ── */
.cet-modal { max-width: 620px; }
.cet-modal-body { max-height: 60vh; overflow-y: auto; }
.cet-bos {
    padding: 14px 0;
    font-size: 0.8rem;
    color: var(--yl-text-light, #64748b);
    text-align: center;
}
.cet-liste { display: flex; flex-direction: column; gap: 6px; }
.cet-satir {
    display: grid;
    grid-template-columns: minmax(72px, auto) 1fr 38px auto auto;
    align-items: center;
    gap: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--yl-border, #eef2f7);
}
.cet-satir.is-pasif { opacity: 0.55; }
.cet-ad { min-width: 0; }
.cet-renk {
    width: 34px; height: 26px;
    padding: 0;
    border: 1px solid var(--yl-border, #cbd5e1);
    border-radius: 0;
    background: none;
    cursor: pointer;
}
.cet-aktif {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.72rem;
    color: var(--yl-text-light, #64748b);
    white-space: nowrap;
    cursor: pointer;
}
.cet-ekle {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--yl-border, #e2e8f0);
}
.cet-ekle .rc-input { flex: 1; }
.cet-hata {
    margin-top: 10px;
    padding: 7px 10px;
    font-size: 0.76rem;
    color: #A32D2D;
    background: rgba(163,45,45,0.08);
    border: 1px solid rgba(163,45,45,0.25);
    border-radius: 0;
}

/* ── Telefon ── */
@media (max-width: 700px) {
    .cet-satir {
        grid-template-columns: 1fr auto auto;
        grid-template-areas: "rozet renk sil" "ad ad ad" "aktif aktif aktif";
        gap: 6px;
    }
    .cet-satir > .cet-rozet { grid-area: rozet; }
    .cet-satir > .cet-ad    { grid-area: ad; }
    .cet-satir > .cet-renk  { grid-area: renk; }
    .cet-satir > .cet-aktif { grid-area: aktif; }
    .cet-satir > .rc-btn    { grid-area: sil; }
    .cet-ekle { flex-wrap: wrap; }
}

.app-root.dark .cet-detay-serit { background: #161b22; border-bottom-color: #30363d; }
.app-root.dark .cet-filtre { border-bottom-color: #30363d; }
.app-root.dark .cet-satir { border-bottom-color: #21262d; }

/* ─── CARİ GRUBU (aynı sahibin birden fazla firması) — 18.09.2026 ───────────
   Listede grup adı rozet olarak görünür; birden fazla firma varsa sayı da yazar
   ve rozet vurgulanır. Tıklanınca liste o gruba süzülür. */
.cari-grup-rozet {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 100%;
    padding: 2px 7px;
    font-size: 0.72rem;
    line-height: 1.5;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    border-radius: 0;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cari-grup-rozet:hover { background: #e2e8f0; }
/* Birden fazla firması olan grup: asıl bilgi bu — belirgin renk. */
.cari-grup-rozet.is-coklu {
    color: #7c2d12;
    background: #ffedd5;
    border-color: #fdba74;
    font-weight: 600;
}
.cari-grup-rozet.is-coklu:hover { background: #fed7aa; }
.cari-grup-rozet.is-filtre { margin-left: 4px; }
.cari-grup-adet {
    padding: 0 4px;
    font-size: 0.66rem;
    font-weight: 700;
    color: #fff;
    background: #ea580c;
}
.cari-grup-x { font-size: 0.9rem; line-height: 1; }
.cari-grup-bos { color: var(--yl-text-light, #94a3b8); }

/* Cari formunda: aynı sahibin diğer firmaları (tıklayınca o kart açılır) */
.cari-grup-kardes {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}
.cari-grup-kardes-lbl { font-size: 0.74rem; color: #64748b; }
.cari-grup-kardes-btn {
    padding: 2px 8px;
    font-size: 0.74rem;
    color: #7c2d12;
    background: #ffedd5;
    border: 1px solid #fdba74;
    border-radius: 0;
    cursor: pointer;
}
.cari-grup-kardes-btn:hover { background: #fed7aa; }

/* ============================================================
   ILGILI KISI KARTVIZITI (fotograf) — 30.09.2026
   Kayitli kisininki hemen yuklenir; yeni kisininki kesikli cerceve +
   "Kaydedilince" rozetiyle bekler. Kose yaricapi 0 (proje kurali).
   ============================================================ */
.rc-kartvizit {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 10px;
}
.rc-kartvizit-baslik {
    flex: 0 0 auto;
    min-width: 62px;
    padding-top: 6px;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--yl-text-light);
}
.rc-kartvizit-liste {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.rc-kartvizit-kucuk {
    position: relative;
    width: 112px;
    height: 68px;
    padding: 0;
    border: 1px solid var(--yl-border);
    border-radius: 0;
    background: #fff;
    overflow: hidden;
    cursor: zoom-in;
}
.rc-kartvizit-kucuk img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rc-kartvizit-kucuk:hover { border-color: var(--yl-accent, #3b7ddd); }
.rc-kartvizit-kucuk.is-bekleyen { border: 1px dashed #d97706; }
.rc-kartvizit-rozet {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 1px 4px;
    background: rgba(217, 119, 6, 0.92);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    text-align: center;
}
.rc-kartvizit-rozet.is-baslik {
    position: static;
    display: inline-block;
    margin-left: 8px;
    padding: 2px 6px;
    font-size: 0.68rem;
    vertical-align: middle;
}
.rc-kartvizit-ekle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 112px;
    height: 68px;
    border: 1px dashed var(--yl-border);
    border-radius: 0;
    color: var(--yl-text-light);
    font-size: 0.75rem;
    font-weight: 600;
}
.rc-kartvizit-ekle:hover:not(.is-disabled) {
    border-color: var(--yl-accent, #3b7ddd);
    color: var(--yl-accent, #3b7ddd);
}
.rc-kartvizit-bos {
    padding-top: 6px;
    font-size: 0.75rem;
    color: var(--yl-text-light);
}

/* Buyutme penceresi: fotograf ekrana sigar, QR kod okunacak buyuklukte */
.rc-modal.rc-kartvizit-modal {
    min-width: 0;
    max-width: min(920px, 96vw);
    width: 96%;
}
.rc-kartvizit-buyuk {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.rc-kartvizit-buyuk img {
    max-width: 100%;
    max-height: 68vh;
    object-fit: contain;
    border: 1px solid var(--yl-border);
    background: #fff;
}
.rc-kartvizit-yukleniyor {
    padding: 40px 0;
    font-size: 0.85rem;
    color: var(--yl-text-light);
}
.rc-kartvizit-bilgi {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.78rem;
}

@media (max-width: 600px) {
    .rc-kartvizit { flex-direction: column; gap: 6px; }
    .rc-kartvizit-baslik { padding-top: 0; }
    .rc-kartvizit-kucuk,
    .rc-kartvizit-ekle { width: 96px; height: 58px; }
}

/* BAYI LOGOSU (11.10.2026) — bayi kartinda; belgede "Yetkili Bayi" olarak basilir */
.rc-logo-alan { display: flex; align-items: flex-start; gap: 14px; flex-wrap: wrap; }
.rc-logo-kutu { flex: 0 0 180px; height: 90px; display: flex; align-items: center; justify-content: center;
                border: 1px dashed var(--yl-border, #cbd5e1); background: repeating-conic-gradient(#f1f5f9 0% 25%, #fff 0% 50%) 50% / 16px 16px; }
.rc-logo-kutu img { max-width: 168px; max-height: 80px; object-fit: contain; }
.rc-logo-kutu span { font-size: 0.75rem; color: var(--yl-text-light, #64748b); }
.rc-logo-yan { flex: 1 1 220px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.rc-logo-not { font-size: 0.75rem; color: var(--yl-text-light, #64748b); }
.rc-logo-btnlar { display: flex; gap: 8px; flex-wrap: wrap; }
.rc-logo-btnlar label.rc-btn { cursor: pointer; }
.rc-logo-btnlar label.rc-btn.disabled { opacity: .6; pointer-events: none; }
.rc-logo-mesaj { font-size: 0.75rem; color: #15803d; }
.rc-logo-mesaj.hata { color: #b91c1c; }
@media (max-width: 768px) {
    .rc-logo-kutu { flex-basis: 100%; }
    .rc-logo-btnlar .rc-btn { min-height: 40px; }
}
.app-root.dark .rc-logo-kutu { background: repeating-conic-gradient(#1e293b 0% 25%, #0f172a 0% 50%) 50% / 16px 16px; border-color: #334155; }
