/* public/css/v2/components.css — Bootstrap 5.3 bileşenlerinin ve v1 ortak sınıflarının v2 ("en koyu grafit") görünümü.
   Kural: her seçici html.ui-v2 ile başlar. style.css'teki !important'lar yüzünden gereken yerde !important kullanılır. */

/* ---------- tipografi ---------- */
html.ui-v2 h1, html.ui-v2 h2, html.ui-v2 h3, html.ui-v2 h4, html.ui-v2 h5, html.ui-v2 h6 { font-family: var(--cf-font); font-weight: 600; letter-spacing: -.015em; color: var(--cf-tx); }
html.ui-v2 h4, html.ui-v2 .h4 { font-size: 20px; line-height: 1.2; letter-spacing: -.02em; }
html.ui-v2 h5, html.ui-v2 .h5 { font-size: 17px; line-height: 1.25; }
html.ui-v2 h6, html.ui-v2 .h6 { font-size: 14.5px; }
/* yalnız sınıfsız içerik bağlantıları: .sidebar-link, .dropdown-item, .page-link, .list-group-item-action vb. kendi renginde kalır */
html.ui-v2 :where(a:not([class])) { color: var(--cf-acc); text-underline-offset: 2px; }
html.ui-v2 :where(a:not([class])):hover { color: #5FF0CB; }
html.ui-v2 .small, html.ui-v2 small { font-size: 12.5px; }
html.ui-v2 .text-muted, html.ui-v2 .text-muted-custom, html.ui-v2 .card .text-muted, html.ui-v2 .card-body .text-muted.small, html.ui-v2 .card-body p.text-muted, html.ui-v2 .table .text-muted, html.ui-v2 .collapse .text-muted, html.ui-v2 .form-text { color: var(--cf-faint) !important; }
html.ui-v2 .text-secondary { color: var(--cf-muted) !important; }
html.ui-v2 .text-white, html.ui-v2 .text-light, html.ui-v2 .text-dark { color: var(--cf-tx) !important; }
html.ui-v2 .text-success, html.ui-v2 .text-brand { color: var(--cf-acc) !important; }
html.ui-v2 .text-warning { color: var(--cf-warn) !important; }
html.ui-v2 .text-danger { color: var(--cf-err) !important; }
html.ui-v2 .text-info, html.ui-v2 .text-primary { color: var(--cf-info) !important; }
html.ui-v2 code { color: var(--cf-code); background: var(--cf-hover-2); padding: 1px 6px; border-radius: 5px; font-size: .86em; overflow-wrap: anywhere; }
html.ui-v2 pre { background: var(--cf-sunken); color: var(--cf-code-block); border: 0; border-radius: var(--cf-r1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); padding: 12px 16px; font: 400 12.5px/1.7 var(--cf-mono); }
html.ui-v2 pre code { background: none; padding: 0; color: inherit; overflow-wrap: normal; }
html.ui-v2 kbd { font: 500 11.5px/1 var(--cf-mono); padding: 3px 6px; border-radius: 6px; background: var(--cf-hover-2); color: var(--cf-muted); box-shadow: none; }
html.ui-v2 hr { border-color: var(--cf-line); opacity: 1; }

/* ---------- içerik alanı ---------- */
html.ui-v2 .main-content { background: transparent; }
html.ui-v2 .content-wrapper { padding: 4px 12px 32px; }

/* ---------- kartlar ---------- */
html.ui-v2 .card { --bs-card-bg: var(--cf-panel); --bs-card-border-width: 0; --bs-card-cap-bg: transparent; background: var(--cf-panel) !important; border: 0 !important; border-radius: var(--cf-r1); box-shadow: var(--cf-panel-shadow); color: var(--cf-tx); }
html.ui-v2 .card-header { background: transparent !important; border-bottom: 1px solid var(--cf-line) !important; padding: 14px 18px 12px; font-size: 14px; font-weight: 600; color: var(--cf-tx); border-radius: var(--cf-r1) var(--cf-r1) 0 0 !important; }
html.ui-v2 .card-body { padding: 18px; }
html.ui-v2 .card-footer { background: transparent !important; border-top: 1px solid var(--cf-line) !important; padding: 12px 18px; }
html.ui-v2 .card .card, html.ui-v2 .modal .card { background: var(--cf-raised) !important; box-shadow: var(--cf-edge); }
html.ui-v2 .project-card, html.ui-v2 .action-card, html.ui-v2 .platform-card, html.ui-v2 .api-card, html.ui-v2 .db-card { background: var(--cf-panel) !important; border: 0 !important; border-radius: var(--cf-r1); box-shadow: var(--cf-panel-shadow); transition: box-shadow .15s ease; }
html.ui-v2 .project-card:hover, html.ui-v2 .action-card:hover, html.ui-v2 .platform-card:hover { border-color: transparent !important; box-shadow: inset 0 0 0 1px var(--cf-line-2), 0 30px 60px -30px rgba(0,0,0,.55); }
html.ui-v2 .stat-card-v2 { background: var(--cf-panel) !important; border: 0 !important; border-radius: var(--cf-r1) !important; box-shadow: var(--cf-panel-shadow) !important; }
html.ui-v2 .stat-icon-v2, html.ui-v2 .stat-icon, html.ui-v2 .stat-icon-green, html.ui-v2 .stat-icon-blue, html.ui-v2 .stat-icon-yellow { background: var(--cf-hover-2) !important; color: var(--cf-muted) !important; border-radius: var(--cf-r2) !important; }
html.ui-v2 .stat-value-v2, html.ui-v2 .stat-value { font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--cf-tx) !important; }
html.ui-v2 .stat-label-v2, html.ui-v2 .stat-label { color: var(--cf-faint) !important; font-size: 12.5px; text-transform: none !important; letter-spacing: 0 !important; } /* büyük harf etiket yok (Görev 19) */

/* ---------- tablolar ---------- */
html.ui-v2 .table, html.ui-v2 .table-dark { --bs-table-bg: transparent; --bs-table-color: var(--cf-tx); --bs-table-border-color: var(--cf-line); --bs-table-striped-bg: rgba(229,231,235,.025); --bs-table-striped-color: var(--cf-tx); --bs-table-hover-bg: var(--cf-hover); --bs-table-hover-color: var(--cf-tx); --bs-table-active-bg: var(--cf-acc-soft); --bs-table-active-color: var(--cf-tx); background: transparent; color: var(--cf-tx); }
html.ui-v2 .table th { background: transparent !important; color: var(--cf-faint) !important; font-size: 12.5px; font-weight: 500; border-color: var(--cf-line-2) !important; padding: 10px 12px; white-space: nowrap; }
html.ui-v2 .table td { border-color: var(--cf-line) !important; color: var(--cf-tx); padding: 11px 12px; font-size: 13.5px; }
html.ui-v2 .table > :last-child > tr:last-child > td { border-bottom-color: transparent !important; }
html.ui-v2 .table-responsive { border-radius: var(--cf-r2); }
@media (max-width: 1199.98px) {
  html.ui-v2 .main-content table.table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  html.ui-v2 .main-content .table-responsive > table.table { display: table; }
  html.ui-v2 .main-content .card, html.ui-v2 .main-content .card-body, html.ui-v2 .main-content [class*="col-"] { min-width: 0; }
}
@media (max-width: 575.98px) {
  html.ui-v2 .main-content .card-header .d-flex:not(.flex-nowrap):has(> .form-select, > .btn) { flex-wrap: wrap; }
  html.ui-v2 .main-content .card-header .d-flex > .flex-grow-1 { min-width: 0 !important; max-width: 100% !important; }
}

/* ---------- formlar ---------- */
html.ui-v2 .form-control, html.ui-v2 .form-select, html.ui-v2 .form-control.bg-dark, html.ui-v2 .form-select.bg-dark { background-color: var(--cf-raised) !important; color: var(--cf-tx) !important; border: 0 !important; box-shadow: var(--cf-edge) !important; border-radius: var(--cf-r2); min-height: 38px; font-size: 14px; padding: 8px 12px; }
html.ui-v2 .form-select, html.ui-v2 .form-select.bg-dark { padding-right: 34px; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23A9ADB3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' d='m3.5 6 4.5 4.5L12.5 6'/%3e%3c/svg%3e") !important; background-repeat: no-repeat !important; background-position: right 12px center !important; background-size: 14px 14px !important; }
html.ui-v2 .form-control-sm, html.ui-v2 .form-select-sm { min-height: 32px; font-size: 13px; padding: 5px 10px; border-radius: 9px; }
html.ui-v2 .form-select-sm { padding-right: 30px; }
html.ui-v2 textarea.form-control { min-height: 80px; line-height: 1.55; }
html.ui-v2 .form-control:focus, html.ui-v2 .form-select:focus { box-shadow: inset 0 0 0 1px var(--cf-acc-line), 0 0 0 4px rgba(0,229,168,.08) !important; outline: 0; }
/* Görev 19 (R4): klavye odağı outline ile görünür (box-shadow halkası tek başına sayılmaz) */
html.ui-v2 .form-control:focus-visible, html.ui-v2 .form-select:focus-visible { outline: 2px solid var(--cf-acc-line); outline-offset: 0; box-shadow: 0 0 0 4px rgba(0,229,168,.08) !important; }
html.ui-v2 .form-control::placeholder, html.ui-v2 .form-select::placeholder { color: var(--cf-faint) !important; opacity: 1; }
html.ui-v2 .form-control:disabled, html.ui-v2 .form-control[readonly] { background-color: var(--cf-sunken) !important; color: var(--cf-muted) !important; }
html.ui-v2 .form-label, html.ui-v2 label.form-label, html.ui-v2 .form-label.small { color: var(--cf-faint); font-size: 12.5px; font-weight: 500; margin-bottom: 6px; }
html.ui-v2 .input-group { border-radius: var(--cf-r2); box-shadow: var(--cf-edge); background: var(--cf-raised); flex-wrap: nowrap; }
html.ui-v2 .input-group:focus-within { box-shadow: inset 0 0 0 1px var(--cf-acc-line), 0 0 0 4px rgba(0,229,168,.08); }
html.ui-v2 .input-group > .form-control, html.ui-v2 .input-group > .form-select, html.ui-v2 .input-group > .input-group-text { background-color: transparent !important; box-shadow: none !important; border: 0 !important; }
html.ui-v2 .input-group > .form-control:focus, html.ui-v2 .input-group > .form-select:focus { box-shadow: none !important; }
html.ui-v2 .input-group-text { color: var(--cf-faint) !important; font-size: 13.5px; }
html.ui-v2 .input-group > .btn { margin: 3px; border-radius: 9px !important; }
html.ui-v2 .form-check-input { background-color: var(--cf-raised); border: 1px solid rgba(229,231,235,.22); }
html.ui-v2 .form-check-input:checked { background-color: var(--cf-acc); border-color: var(--cf-acc); }
html.ui-v2 .form-check-input:focus { box-shadow: 0 0 0 3px rgba(0,229,168,.22); border-color: var(--cf-acc-line); }
html.ui-v2 .form-check-input:focus-visible { outline: 2px solid var(--cf-acc); outline-offset: 2px; }
html.ui-v2 .form-check-input[type=checkbox]:checked { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%2304211B' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); }
html.ui-v2 .form-check-input[type=radio]:checked { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%2304211B'/%3e%3c/svg%3e"); }
html.ui-v2 .form-switch .form-check-input { width: 36px; height: 20px; border: 0; background-color: var(--cf-hover-2); box-shadow: inset 0 0 0 1px var(--cf-line); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23C3C7CC'/%3e%3c/svg%3e"); }
html.ui-v2 .form-switch .form-check-input:checked { background-color: rgba(0,229,168,.35); box-shadow: inset 0 0 0 1px var(--cf-acc-line); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2374C9A8'/%3e%3c/svg%3e"); }
html.ui-v2 .form-check-label { color: var(--cf-tx); }
html.ui-v2 .btn-check + .btn { background: transparent !important; color: var(--cf-muted) !important; box-shadow: inset 0 0 0 1px var(--cf-line-2) !important; }
html.ui-v2 .btn-check:checked + .btn { background: var(--cf-acc-soft) !important; color: var(--cf-tx) !important; box-shadow: inset 0 0 0 1px var(--cf-acc-line) !important; }

/* ---------- düğmeler ---------- */
html.ui-v2 .btn { font-family: var(--cf-font); font-size: 13.5px; font-weight: 500; border-radius: var(--cf-r2); padding: 7px 14px; border: 0; transition: background-color .15s, color .15s, box-shadow .15s, filter .15s; }
html.ui-v2 .btn-sm { font-size: 12.5px; padding: 5px 10px; border-radius: 9px; }
html.ui-v2 .btn-lg { font-size: 15px; padding: 10px 18px; }
html.ui-v2 .btn:focus-visible { outline: 2px solid var(--cf-acc); outline-offset: 2px; box-shadow: none; }
/* klavye odağı yedeği (R4): bağlantı, özet, sekme ve tabindex'li öğeler; :where ile düşük öncelik — özel kurallar ezer */
html.ui-v2 :where(a[href], summary, [role="tab"], [tabindex]:not([tabindex="-1"])):focus-visible { outline: 2px solid var(--cf-acc); outline-offset: 2px; }
html.ui-v2 .btn-brand, html.ui-v2 .btn-primary { background: var(--cf-grad) !important; color: var(--cf-btn-tx) !important; border: 0 !important; font-weight: 600; }
html.ui-v2 .btn-brand:hover, html.ui-v2 .btn-primary:hover { filter: brightness(1.08); background: var(--cf-grad) !important; color: var(--cf-btn-tx) !important; }
html.ui-v2 .btn-success { background: rgba(0,229,168,.14) !important; color: var(--cf-acc) !important; border: 0 !important; box-shadow: inset 0 0 0 1px rgba(0,229,168,.28); font-weight: 600; }
html.ui-v2 .btn-success:hover { background: rgba(0,229,168,.22) !important; color: #5FF0CB !important; }
html.ui-v2 .btn-secondary, html.ui-v2 .btn-dark, html.ui-v2 .btn-light, html.ui-v2 .btn-info { background: var(--cf-hover-2) !important; color: var(--cf-tx) !important; border: 0 !important; }
html.ui-v2 .btn-secondary:hover, html.ui-v2 .btn-dark:hover, html.ui-v2 .btn-light:hover, html.ui-v2 .btn-info:hover { background: rgba(229,231,235,.13) !important; }
html.ui-v2 .btn-outline-secondary, html.ui-v2 .btn-outline-light, html.ui-v2 .btn-outline-info, html.ui-v2 .btn-outline-primary, html.ui-v2 .btn-outline-success, html.ui-v2 .btn-outline-dark { background: transparent !important; color: var(--cf-muted) !important; border: 0 !important; box-shadow: inset 0 0 0 1px var(--cf-line-2); }
html.ui-v2 .btn-outline-secondary:hover, html.ui-v2 .btn-outline-light:hover, html.ui-v2 .btn-outline-info:hover, html.ui-v2 .btn-outline-primary:hover, html.ui-v2 .btn-outline-success:hover, html.ui-v2 .btn-outline-dark:hover { background: var(--cf-hover) !important; color: var(--cf-tx) !important; }
html.ui-v2 .btn-link { background: none !important; box-shadow: none; color: var(--cf-acc) !important; padding-inline: 4px; text-decoration: none; }
html.ui-v2 .btn-warning, html.ui-v2 .btn-outline-warning { background: var(--cf-warn-soft) !important; color: var(--cf-warn) !important; border: 0 !important; box-shadow: inset 0 0 0 1px rgba(215,174,99,.28); }
html.ui-v2 .btn-warning:hover, html.ui-v2 .btn-outline-warning:hover { background: rgba(215,174,99,.18) !important; color: #E6C384 !important; }
html.ui-v2 .btn-danger, html.ui-v2 .btn-outline-danger { background: var(--cf-err-soft) !important; color: var(--cf-err) !important; border: 0 !important; box-shadow: inset 0 0 0 1px rgba(220,143,126,.28); }
html.ui-v2 .btn-danger:hover, html.ui-v2 .btn-outline-danger:hover { background: rgba(220,143,126,.16) !important; color: #E8A898 !important; }
html.ui-v2 .btn:disabled, html.ui-v2 .btn.disabled { opacity: .45; }
html.ui-v2 .btn-close { filter: invert(1) grayscale(1) brightness(1.6); opacity: .6; }
html.ui-v2 .btn-close:hover { opacity: 1; }
html.ui-v2 .btn-group > .btn { box-shadow: inset 0 0 0 1px var(--cf-line-2); }

/* ---------- rozetler (tonlu, dolgu yok) ---------- */
html.ui-v2 .badge { font-family: var(--cf-font); font-size: 11.5px; font-weight: 600; padding: 4px 8px; border-radius: 7px; letter-spacing: 0; }
html.ui-v2 .badge.bg-success { background: rgba(0,229,168,.14) !important; color: var(--cf-acc) !important; }
html.ui-v2 .badge.bg-warning, html.ui-v2 .badge.bg-warning.text-dark { background: rgba(215,174,99,.14) !important; color: var(--cf-warn) !important; }
html.ui-v2 .badge.bg-danger { background: rgba(220,143,126,.14) !important; color: var(--cf-err) !important; }
html.ui-v2 .badge.bg-info, html.ui-v2 .badge.bg-primary { background: rgba(157,180,204,.14) !important; color: var(--cf-info) !important; }
html.ui-v2 .badge.bg-secondary, html.ui-v2 .badge.bg-dark, html.ui-v2 .badge.bg-light { background: var(--cf-hover-2) !important; color: var(--cf-muted) !important; }

/* ---------- uyarı kutuları ---------- */
html.ui-v2 .alert { border: 0 !important; border-radius: var(--cf-r1); padding: 12px 16px; font-size: 13.5px; color: var(--cf-tx); box-shadow: inset 0 0 0 1px var(--cf-line); }
html.ui-v2 .alert-success { background: var(--cf-acc-soft) !important; box-shadow: inset 0 0 0 1px rgba(0,229,168,.22); color: #C6F5E8 !important; }
html.ui-v2 .alert-danger { background: var(--cf-err-soft) !important; box-shadow: inset 0 0 0 1px rgba(220,143,126,.22); color: #EEDCD6 !important; }
html.ui-v2 .alert-warning { background: var(--cf-warn-soft) !important; box-shadow: inset 0 0 0 1px rgba(215,174,99,.22); color: #F0E3C8 !important; }
html.ui-v2 .alert-info, html.ui-v2 .alert-secondary, html.ui-v2 .alert-primary { background: rgba(157,180,204,.08) !important; box-shadow: inset 0 0 0 1px rgba(157,180,204,.18); color: #DCE4EC !important; }
html.ui-v2 .alert-success > .bi:first-child { color: var(--cf-acc); }
html.ui-v2 .alert-danger > .bi:first-child { color: var(--cf-err); }
html.ui-v2 .alert-warning > .bi:first-child { color: var(--cf-warn); }
html.ui-v2 .alert-info > .bi:first-child { color: var(--cf-info); }
html.ui-v2 .alert-dismissible .btn-close { padding: 15px; }

/* ---------- modal ---------- */
html.ui-v2 .modal { --bs-modal-bg: var(--cf-overlay); --bs-modal-color: var(--cf-tx); --bs-modal-border-width: 0; --bs-modal-border-radius: 18px; --bs-modal-inner-border-radius: 18px; --bs-modal-header-border-color: var(--cf-line); --bs-modal-footer-border-color: var(--cf-line); --bs-modal-header-padding: 18px 20px 12px; --bs-modal-padding: 18px 20px; }
html.ui-v2 .modal-content, html.ui-v2 .modal-content.bg-dark { background: var(--cf-overlay) !important; border: 0 !important; border-radius: 18px; box-shadow: var(--cf-pop-shadow); color: var(--cf-tx) !important; }
html.ui-v2 .modal-header { border-bottom: 1px solid var(--cf-line) !important; }
html.ui-v2 .modal-footer { border-top: 1px solid var(--cf-line) !important; gap: 8px; }
html.ui-v2 .modal-title { font-size: 18px; font-weight: 600; letter-spacing: -.02em; }
html.ui-v2 .modal-backdrop { --bs-backdrop-bg: #07080A; --bs-backdrop-opacity: .62; }

/* ---------- açılır menü, sekme, akordeon, liste, sayfalama ---------- */
html.ui-v2 .dropdown-menu { --bs-dropdown-bg: var(--cf-overlay); --bs-dropdown-color: var(--cf-tx); --bs-dropdown-border-width: 0; --bs-dropdown-border-radius: 14px; --bs-dropdown-link-color: var(--cf-tx); --bs-dropdown-link-hover-bg: var(--cf-hover-2); --bs-dropdown-link-hover-color: var(--cf-tx); --bs-dropdown-link-active-bg: var(--cf-acc-soft); --bs-dropdown-link-active-color: var(--cf-tx); --bs-dropdown-divider-bg: var(--cf-line); --bs-dropdown-header-color: var(--cf-faint); padding: 6px; box-shadow: var(--cf-pop-shadow); font-size: 13.5px; }
html.ui-v2 .dropdown-item { border-radius: 9px; padding: 8px 10px; }
html.ui-v2 .nav-tabs { border: 0; gap: 2px; padding: 3px; background: rgba(255,255,255,.05); border-radius: var(--cf-r2); width: fit-content; max-width: 100%; flex-wrap: wrap; }
html.ui-v2 .nav-tabs .nav-link { border: 0 !important; border-radius: 8px; color: var(--cf-muted); padding: 5px 12px; font-size: 13px; background: transparent; }
html.ui-v2 .nav-tabs .nav-link:hover { color: var(--cf-tx); }
html.ui-v2 .nav-tabs .nav-link.active { background: rgba(255,255,255,.11) !important; color: var(--cf-tx) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
html.ui-v2 .nav-pills .nav-link { color: var(--cf-muted); border-radius: 9px; }
html.ui-v2 .nav-pills .nav-link.active { background: var(--cf-acc-soft); color: var(--cf-tx); }
html.ui-v2 .accordion { --bs-accordion-bg: transparent; --bs-accordion-color: var(--cf-tx); --bs-accordion-border-color: var(--cf-line); --bs-accordion-border-radius: var(--cf-r1); --bs-accordion-inner-border-radius: var(--cf-r1); --bs-accordion-btn-color: var(--cf-tx); --bs-accordion-btn-bg: transparent; --bs-accordion-active-color: var(--cf-tx); --bs-accordion-active-bg: var(--cf-hover); --bs-accordion-btn-focus-box-shadow: 0 0 0 3px rgba(0,229,168,.22); }
html.ui-v2 .accordion-item { background: var(--cf-panel) !important; border: 0 !important; border-radius: var(--cf-r1) !important; box-shadow: var(--cf-panel-shadow); margin-bottom: 10px; overflow: hidden; }
html.ui-v2 .accordion-button { background: transparent !important; color: var(--cf-tx) !important; box-shadow: none !important; font-weight: 600; }
html.ui-v2 .accordion-button:not(.collapsed) { background: var(--cf-hover) !important; }
html.ui-v2 .accordion-button::after { filter: none !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23A9ADB3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' d='m3.5 6 4.5 4.5L12.5 6'/%3e%3c/svg%3e") !important; }
html.ui-v2 .list-group { --bs-list-group-bg: transparent; --bs-list-group-color: var(--cf-tx); --bs-list-group-border-color: var(--cf-line); --bs-list-group-action-hover-bg: var(--cf-hover); --bs-list-group-action-hover-color: var(--cf-tx); --bs-list-group-active-bg: var(--cf-acc-soft); --bs-list-group-active-color: var(--cf-tx); --bs-list-group-active-border-color: var(--cf-line); }
html.ui-v2 .pagination { --bs-pagination-bg: transparent; --bs-pagination-color: var(--cf-muted); --bs-pagination-border-color: var(--cf-line); --bs-pagination-hover-bg: var(--cf-hover); --bs-pagination-hover-color: var(--cf-tx); --bs-pagination-hover-border-color: var(--cf-line); --bs-pagination-active-bg: var(--cf-acc-soft); --bs-pagination-active-color: var(--cf-tx); --bs-pagination-active-border-color: var(--cf-acc-line); --bs-pagination-disabled-bg: transparent; --bs-pagination-disabled-color: var(--cf-faint); --bs-pagination-focus-box-shadow: 0 0 0 3px rgba(0,229,168,.22); }

/* ---------- ilerleme, döner gösterge, ipucu, açılır kutu, carousel, Bootstrap toast ---------- */
html.ui-v2 .progress { background: var(--cf-hover-2); height: 6px; border-radius: 4px; }
html.ui-v2 .progress-bar { background: var(--cf-acc); }
html.ui-v2 .spinner-border { border-color: var(--cf-line-2); border-right-color: var(--cf-acc); }
html.ui-v2 .tooltip { --bs-tooltip-bg: var(--cf-tip); --bs-tooltip-color: var(--cf-tx); --bs-tooltip-border-radius: 9px; --bs-tooltip-font-size: 12.5px; --bs-tooltip-opacity: 1; }
html.ui-v2 .popover { --bs-popover-bg: var(--cf-overlay); --bs-popover-border-color: transparent; --bs-popover-body-color: var(--cf-tx); --bs-popover-header-bg: var(--cf-raised); --bs-popover-header-color: var(--cf-tx); --bs-popover-border-radius: 14px; box-shadow: var(--cf-pop-shadow); }
html.ui-v2 .carousel-control-prev-icon, html.ui-v2 .carousel-control-next-icon { background-color: rgba(7,8,10,.55); border-radius: 50%; background-size: 50%; width: 36px; height: 36px; }
html.ui-v2 .toast { --bs-toast-bg: var(--cf-overlay); --bs-toast-color: var(--cf-tx); --bs-toast-border-width: 0; --bs-toast-border-radius: 12px; box-shadow: var(--cf-pop-shadow); }

/* ---------- boş durum ---------- */
html.ui-v2 .empty-state { padding: 48px 20px; color: var(--cf-muted) !important; text-align: center; }
html.ui-v2 .empty-state i { font-size: 36px; opacity: 1; color: var(--cf-faint); margin-bottom: 14px; }
html.ui-v2 .empty-state p { font-size: 15px; color: var(--cf-tx); }

/* ---------- SweetAlert2 (firma sayfaları) ---------- */
html.ui-v2 .swal2-container.swal2-backdrop-show { background: rgba(7,8,10,.62) !important; }
html.ui-v2 .swal2-popup, html.ui-v2 .swal2-popup.brand-popup { background: var(--cf-overlay) !important; color: var(--cf-tx) !important; border: 0 !important; border-radius: 18px !important; box-shadow: var(--cf-pop-shadow) !important; font-family: var(--cf-font) !important; }
html.ui-v2 .swal2-title, html.ui-v2 .swal2-popup.brand-popup .swal2-title { color: var(--cf-tx) !important; font-size: 18px !important; font-weight: 600 !important; }
html.ui-v2 .swal2-html-container, html.ui-v2 .swal2-popup.brand-popup .swal2-html-container { color: var(--cf-muted) !important; font-size: 14px !important; }
html.ui-v2 .swal2-confirm, html.ui-v2 .swal2-popup.brand-popup .swal2-confirm { background: var(--cf-acc) !important; color: var(--cf-acc-tx) !important; border-radius: var(--cf-r2) !important; box-shadow: none !important; font-weight: 600 !important; }
html.ui-v2 .swal2-popup.brand-popup.brand-danger .swal2-confirm { background: var(--cf-err-soft) !important; color: var(--cf-err) !important; box-shadow: inset 0 0 0 1px rgba(220,143,126,.28) !important; }
html.ui-v2 .swal2-cancel, html.ui-v2 .swal2-deny, html.ui-v2 .swal2-popup.brand-popup .swal2-cancel { background: var(--cf-hover-2) !important; color: var(--cf-tx) !important; border-radius: var(--cf-r2) !important; box-shadow: none !important; }
html.ui-v2 .swal2-input, html.ui-v2 .swal2-textarea { background: var(--cf-raised) !important; color: var(--cf-tx) !important; border: 0 !important; box-shadow: var(--cf-edge) !important; border-radius: var(--cf-r2) !important; }

/* ---------- yardımcılar ---------- */
html.ui-v2 .bg-dark:not(.badge):not(.btn):not(.form-control):not(.form-select):not(.modal-content) { background-color: var(--cf-raised) !important; }
html.ui-v2 .border-secondary { border-color: var(--cf-line-2) !important; }
html.ui-v2 .border, html.ui-v2 .border-top, html.ui-v2 .border-bottom { border-color: var(--cf-line) !important; }

/* ---------- satır içi eski renkler (v1 HTML'ine dokunmadan v2 karşılığı) ---------- */
html.ui-v2 [style^="color:#00E5A8;" i], html.ui-v2 [style*=";color:#00E5A8;" i], html.ui-v2 [style*="; color:#00E5A8;" i], html.ui-v2 [style$=";color:#00E5A8" i], html.ui-v2 [style$="; color:#00E5A8" i], html.ui-v2 [style="color:#00E5A8" i], html.ui-v2 [style^="color: #00E5A8;" i], html.ui-v2 [style*=";color: #00E5A8;" i], html.ui-v2 [style*="; color: #00E5A8;" i], html.ui-v2 [style$=";color: #00E5A8" i], html.ui-v2 [style$="; color: #00E5A8" i], html.ui-v2 [style="color: #00E5A8" i], html.ui-v2 [style^="color:#3fb950;" i], html.ui-v2 [style*=";color:#3fb950;" i], html.ui-v2 [style*="; color:#3fb950;" i], html.ui-v2 [style$=";color:#3fb950" i], html.ui-v2 [style$="; color:#3fb950" i], html.ui-v2 [style="color:#3fb950" i], html.ui-v2 [style^="color:#10b981;" i], html.ui-v2 [style*=";color:#10b981;" i], html.ui-v2 [style*="; color:#10b981;" i], html.ui-v2 [style$=";color:#10b981" i], html.ui-v2 [style$="; color:#10b981" i], html.ui-v2 [style="color:#10b981" i] { color: var(--cf-acc) !important; }
html.ui-v2 [style^="color:#58a6ff;" i], html.ui-v2 [style*=";color:#58a6ff;" i], html.ui-v2 [style*="; color:#58a6ff;" i], html.ui-v2 [style$=";color:#58a6ff" i], html.ui-v2 [style$="; color:#58a6ff" i], html.ui-v2 [style="color:#58a6ff" i], html.ui-v2 [style^="color: #58a6ff;" i], html.ui-v2 [style*=";color: #58a6ff;" i], html.ui-v2 [style*="; color: #58a6ff;" i], html.ui-v2 [style$=";color: #58a6ff" i], html.ui-v2 [style$="; color: #58a6ff" i], html.ui-v2 [style="color: #58a6ff" i] { color: var(--cf-info) !important; }
html.ui-v2 [style^="color:#f85149;" i], html.ui-v2 [style*=";color:#f85149;" i], html.ui-v2 [style*="; color:#f85149;" i], html.ui-v2 [style$=";color:#f85149" i], html.ui-v2 [style$="; color:#f85149" i], html.ui-v2 [style="color:#f85149" i], html.ui-v2 [style^="color: #f85149;" i], html.ui-v2 [style*=";color: #f85149;" i], html.ui-v2 [style*="; color: #f85149;" i], html.ui-v2 [style$=";color: #f85149" i], html.ui-v2 [style$="; color: #f85149" i], html.ui-v2 [style="color: #f85149" i] { color: var(--cf-err) !important; }
html.ui-v2 [style^="color:#8b949e;" i], html.ui-v2 [style*=";color:#8b949e;" i], html.ui-v2 [style*="; color:#8b949e;" i], html.ui-v2 [style$=";color:#8b949e" i], html.ui-v2 [style$="; color:#8b949e" i], html.ui-v2 [style="color:#8b949e" i] { color: var(--cf-faint) !important; }
html.ui-v2 [style*="background:#00E5A822" i], html.ui-v2 [style*="background:#3fb95022" i], html.ui-v2 [style*="rgba(0,229,168,0.1" i], html.ui-v2 [style*="rgba(0, 229, 168, 0.1" i], html.ui-v2 [style*="rgba(16,185,129,0.15)" i] { background: var(--cf-acc-soft) !important; border-color: rgba(0,229,168,.28) !important; }
html.ui-v2 [style^="background:#00E5A8;" i], html.ui-v2 [style*=";background:#00E5A8;" i], html.ui-v2 [style*="; background:#00E5A8;" i], html.ui-v2 [style$=";background:#00E5A8" i], html.ui-v2 [style$="; background:#00E5A8" i], html.ui-v2 [style="background:#00E5A8" i], html.ui-v2 [style^="background: #00E5A8;" i], html.ui-v2 [style*=";background: #00E5A8;" i], html.ui-v2 [style*="; background: #00E5A8;" i], html.ui-v2 [style$=";background: #00E5A8" i], html.ui-v2 [style$="; background: #00E5A8" i], html.ui-v2 [style="background: #00E5A8" i] { background: var(--cf-acc) !important; }
html.ui-v2 [style*="rgba(88,166,255,0.1" i], html.ui-v2 [style*="rgba(88, 166, 255, 0.1" i] { background: rgba(157,180,204,.10) !important; }
html.ui-v2 [style*="linear-gradient(135deg" i][style*="rgba(16,185,129" i] { background: var(--cf-panel) !important; border-color: transparent !important; box-shadow: var(--cf-panel-shadow); }
html.ui-v2 [style*="background:#161b22" i], html.ui-v2 [style*="background:#141414" i], html.ui-v2 [style*="background:#0d1117" i] { background: var(--cf-raised) !important; border-color: var(--cf-line-2) !important; }
