/* Modern White — Global override for all screens
 * Layers: reset < base < components < overlays
 * v2.3 - Selected badge color added (2026-01-09 21:20)
*/
@layer reset, base, components, overlays;

/* RESET */
@layer reset {
    :root {
        --mw-text: #111827;
        --mw-text-2: #1f2937;
        --mw-muted: #6b7280;
        --mw-border: #e5e7eb;
        --mw-bg: #ffffff;
        --mw-bg-soft: #fafafa;
        --mw-primary: #10b981;
        --mw-secondary: #6b7280;
        --mw-success: #22c55e;
        --mw-danger: #ef4444;
        --mw-warning: #f59e0b;
        --mw-info: #3b82f6;
    }

    html, body {
        color: var(--mw-text);
        background: var(--mw-bg);
        font-family: ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
    }
}

/* BASE — CardCore containers */
@layer base {
    .cards-container {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        margin: 12px;
        width: calc(100% - 24px);
        max-width: 100%;
        overflow: visible;
        box-sizing: border-box;
        padding: 0;
        align-items: flex-start; /* Kartları üstten hizala */
    }

    .card {
        background: var(--mw-bg);
        border: 1px solid var(--mw-border);
        border-radius: 12px;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        height: 400px !important; /* Sabit yükseklik */
        min-height: 400px !important;
        max-height: 400px !important;
        min-width: min(340px, 100%);
        box-sizing: border-box;
        /* Grid col değeri varsa kullan (12'lik sistem) */
        width: var(--col-pct, 100%);
        max-width: var(--col-pct, 100%);
    }

    .card-header {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        padding: 12px 14px;
        border-bottom: 1px solid #eee;
        background: #fff;
        flex-shrink: 0; /* Sabit yükseklik */
    }

    .card-title {
        font-weight: 700;
        color: var(--mw-text);
        white-space: nowrap;
        text-align: left;
        width: auto;
        flex-shrink: 0;
    }

    .card-actions {
        display: flex !important;
        gap: 6px !important;
        align-items: center !important;
        justify-content: flex-end !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto;
        flex-shrink: 0;
    }

    .card-body {
        padding: 8px;
        font-size: 14px;
        line-height: 1.6;
        flex: 1 1 auto !important; /* Header ve footer arasındaki alanı doldur */
        overflow-y: auto !important; /* Düşey scroll */
        overflow-x: auto !important; /* Yatay scroll */
        min-height: 0 !important; /* Flex child için gerekli */
        width: 100%; /* Body tam genişlik kullan */
        box-sizing: border-box;
    }

        /* Scroll bar styling (modern) */
        .card-body::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }

        .card-body::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 4px;
        }

        .card-body::-webkit-scrollbar-thumb {
            background: #cbd5e0;
            border-radius: 4px;
        }

            .card-body::-webkit-scrollbar-thumb:hover {
                background: #a0aec0;
            }

    .card-footer {
        padding: 6px 8px;
        border-top: 1px solid #eee;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: var(--mw-bg-soft);
        gap: 6px;
        flex-shrink: 0; /* Sabit yükseklik */
    }

        /* Status bar sol tarafa */
        .card-footer .ridc-status-bar {
            margin-right: auto;
        }

        /* Sağdaki aksiyon grubu (CardCoreV2 .ridc-footer-actions) — tek margin-left:auto */
        .card-footer > .ridc-footer-actions {
            display: flex !important;
            align-items: center;
            flex-wrap: nowrap;
            gap: 0;
            margin-left: auto;
            flex-shrink: 0;
        }

        /* Butonlar arası tam 2px (gap + bootstrap margin çakışmasına karşı) */
        .card-footer > .ridc-footer-actions > * + * {
            margin-left: 2px !important;
        }

        /* Eski düzen: doğrudan footera bağlı tek / çok buton (geri uyum) */
        .card-footer > .btn:first-of-type,
        .card-footer > button:first-of-type {
            margin-left: auto !important;
        }

        .card-footer > .btn ~ .btn,
        .card-footer > button ~ button {
            margin-left: 2px !important;
        }

    /* 🆕 Footer buttons - matching header button size (28px x 28px) */
    /* FOOTER — sol rozetler + sağ butonlar tek tip yüksekliğe sabit */
    #CardsHost .card-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

        #CardsHost .card-footer .footer-left,
        #CardsHost .card-footer .footer-right,
        #CardsHost .card-footer .ridc-status-bar {
            display: flex;
            align-items: center;
            gap: 3px;
        }

        #CardsHost .card-footer > .ridc-footer-actions {
            display: flex !important;
            align-items: center;
            flex-wrap: nowrap;
            gap: 0;
            margin-left: auto;
            flex-shrink: 0;
        }

        #CardsHost .card-footer .ridc-footer-actions > * + * {
            margin-left: 2px !important;
        }

    /* Footer sağ tarafındaki butonlar için özel grup */
    #CardsHost .card-footer {
        display: flex;
        align-items: center;
        gap: 3px;
        flex-wrap: nowrap;
    }

        /* Çoklu footer çocuğu: yalnızca aksiyon grubunu sağa it (status sola kalır) */
        #CardsHost .card-footer > .ridc-footer-actions:last-child {
            margin-left: auto;
        }

        /* ridc-footer-actions yoksa (eski HTML): son öğeyi sağa it */
        #CardsHost .card-footer:not(:has(> .ridc-footer-actions)) > *:last-child {
            margin-left: auto;
        }

        /* Sağdaki butonlar (metinli/ikonlu) - XS boyut */
        #CardsHost .card-footer .btn,
        #CardsHost .card-footer button,
        #CardsHost .card-footer .dx-button {
            height: 24px !important;
            min-height: 24px !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            box-sizing: border-box !important;
            line-height: 1 !important;
            padding: 0 6px !important; /* daha az padding */
            font-size: 12px !important; /* daha küçük font */
        }

            /* Sadece ikon olan footer butonları: kare, XS boyut */
            #CardsHost .card-footer .btn-icon-only,
            #CardsHost .card-footer .dx-button.dx-button-icon-only {
                width: 24px !important;
                height: 24px !important;
                min-width: 24px !important;
                padding: 0 !important;
            }

            /* DevExtreme içerik hizası */
            #CardsHost .card-footer .dx-button .dx-button-content {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                gap: 6px;
                line-height: 1;
            }

        /* Sol rozet/badge'ler: buton yüksekliği ile bire bir */
        #CardsHost .card-footer .ridc-status-badge {
            height: var(--header-btn-size) !important;
            min-height: var(--header-btn-size) !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            box-sizing: border-box !important;
            line-height: 1 !important;
            padding: 0 10px !important; /* ikon + sayı için yatay boşluk */
        }

        /* Sağ grup buton aralığı - minimal boşluk */
        #CardsHost .card-footer > .btn ~ .btn,
        #CardsHost .card-footer > button ~ button {
            margin-left: 2px !important;
        }

    /* Mobilde opsiyonel küçültme: header+footer birlikte 26px olur */
    @media (max-width: 768px) {
        #CardsHost {
            --header-btn-size: 26px;
        }
    }

    /* FALLBACK for non-#CardsHost contexts - XS boyut */
    .card-footer .btn,
    .card-footer button {
        padding: 4px 6px !important;
        font-size: 12px !important;
        min-width: 24px !important;
        min-height: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        border-radius: 4px !important;
    }

        /* Footer button icons - XS boyut */
        .card-footer .btn i,
        .card-footer button i {
            font-size: 11px !important;
            line-height: 1 !important;
        }

    /* ═══════════════════════════════════════════════════════════════════════════
   * BUTTONS - Base styles
   * ═══════════════════════════════════════════════════════════════════════════ */
    .btn,
    button.btn,
    .card-actions .btn,
    .ridc-actions .ridc-btn {
        padding: 8px 12px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 8px !important;
        background: #ffffff !important;
        color: #374151 !important;
        cursor: pointer !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05) !important;
        transition: all 0.15s ease !important;
        flex-shrink: 0 !important;
    }

        .btn:hover,
        button.btn:hover,
        .card-actions .btn:hover,
        .ridc-actions .ridc-btn:hover {
            background: #f9fafb !important;
            border-color: #d1d5db !important;
            box-shadow: 0 1px 3px 0 rgba(0,0,0,0.1) !important;
        }

        /* Disabled state */
        .btn:disabled,
        button.btn:disabled,
        .btn.disabled,
        button.btn.disabled {
            opacity: 0.5 !important;
            cursor: not-allowed !important;
            pointer-events: none !important;
        }

    /* ═══════════════════════════════════════════════════════════════════════════
   * BUTTON VARIANTS - Solid
   * ═══════════════════════════════════════════════════════════════════════════ */

    /* Primary - Green */
    .btn-primary, button.btn-primary {
        background: #10b981 !important;
        color: #fff !important;
        border-color: #10b981 !important;
        box-shadow: 0 1px 2px 0 rgba(16,185,129,0.2) !important;
    }

        .btn-primary:hover, button.btn-primary:hover {
            background: #059669 !important;
            border-color: #059669 !important;
            box-shadow: 0 2px 4px 0 rgba(16,185,129,0.3) !important;
        }

    /* Secondary - Gray */
    .btn-secondary, button.btn-secondary {
        background: #6b7280 !important;
        color: #fff !important;
        border-color: #6b7280 !important;
        box-shadow: 0 1px 2px 0 rgba(107,114,128,0.2) !important;
    }

        .btn-secondary:hover, button.btn-secondary:hover {
            background: #4b5563 !important;
            border-color: #4b5563 !important;
            box-shadow: 0 2px 4px 0 rgba(107,114,128,0.3) !important;
        }

    /* Success - Green (brighter) */
    .btn-success, button.btn-success {
        background: #22c55e !important;
        color: #fff !important;
        border-color: #22c55e !important;
        box-shadow: 0 1px 2px 0 rgba(34,197,94,0.2) !important;
    }

        .btn-success:hover, button.btn-success:hover {
            background: #16a34a !important;
            border-color: #16a34a !important;
            box-shadow: 0 2px 4px 0 rgba(34,197,94,0.3) !important;
        }

    /* Danger - Red */
    .btn-danger, button.btn-danger {
        background: #ef4444 !important;
        color: #fff !important;
        border-color: #ef4444 !important;
        box-shadow: 0 1px 2px 0 rgba(239,68,68,0.2) !important;
    }

        .btn-danger:hover, button.btn-danger:hover {
            background: #dc2626 !important;
            border-color: #dc2626 !important;
            box-shadow: 0 2px 4px 0 rgba(239,68,68,0.3) !important;
        }

    /* Warning - Orange/Amber */
    .btn-warning, button.btn-warning {
        background: #f59e0b !important;
        color: #fff !important;
        border-color: #f59e0b !important;
        box-shadow: 0 1px 2px 0 rgba(245,158,11,0.2) !important;
    }

        .btn-warning:hover, button.btn-warning:hover {
            background: #d97706 !important;
            border-color: #d97706 !important;
            box-shadow: 0 2px 4px 0 rgba(245,158,11,0.3) !important;
        }

    /* Info - Blue */
    .btn-info, button.btn-info {
        background: #3b82f6 !important;
        color: #fff !important;
        border-color: #3b82f6 !important;
        box-shadow: 0 1px 2px 0 rgba(59,130,246,0.2) !important;
    }

        .btn-info:hover, button.btn-info:hover {
            background: #2563eb !important;
            border-color: #2563eb !important;
            box-shadow: 0 2px 4px 0 rgba(59,130,246,0.3) !important;
        }

    /* Light - Light gray */
    .btn-light, button.btn-light {
        background: #f3f4f6 !important;
        color: #374151 !important;
        border-color: #e5e7eb !important;
        box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05) !important;
    }

        .btn-light:hover, button.btn-light:hover {
            background: #e5e7eb !important;
            border-color: #d1d5db !important;
            box-shadow: 0 2px 4px 0 rgba(0,0,0,0.1) !important;
        }

    /* Dark - Dark gray */
    .btn-dark, button.btn-dark {
        background: #1f2937 !important;
        color: #fff !important;
        border-color: #1f2937 !important;
        box-shadow: 0 1px 2px 0 rgba(31,41,55,0.2) !important;
    }

        .btn-dark:hover, button.btn-dark:hover {
            background: #111827 !important;
            border-color: #111827 !important;
            box-shadow: 0 2px 4px 0 rgba(31,41,55,0.3) !important;
        }

    /* ═══════════════════════════════════════════════════════════════════════════
   * BADGES - Bootstrap-compatible badge styles
   * ═══════════════════════════════════════════════════════════════════════════ */

    .badge {
        display: inline-block !important;
        padding: 4px 8px !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        text-align: center !important;
        white-space: nowrap !important;
        vertical-align: baseline !important;
        border-radius: 4px !important;
    }

        /* Badge color variants */
        .badge.bg-primary, .bg-primary {
            background-color: #10b981 !important;
            color: #fff !important;
        }

        .badge.bg-secondary, .bg-secondary {
            background-color: #6b7280 !important;
            color: #fff !important;
        }

        .badge.bg-success, .bg-success {
            background-color: #22c55e !important;
            color: #fff !important;
        }

        .badge.bg-danger, .bg-danger {
            background-color: #ef4444 !important;
            color: #fff !important;
        }

        .badge.bg-warning, .bg-warning {
            background-color: #f59e0b !important;
            color: #fff !important;
        }

        .badge.bg-info, .bg-info {
            background-color: #3b82f6 !important;
            color: #fff !important;
        }

        .badge.bg-light, .bg-light {
            background-color: #f3f4f6 !important;
            color: #374151 !important;
        }

        .badge.bg-dark, .bg-dark {
            background-color: #1f2937 !important;
            color: #fff !important;
        }

    /* ═══════════════════════════════════════════════════════════════════════════
   * BUTTON VARIANTS - Outline
   * ═══════════════════════════════════════════════════════════════════════════ */

    /* Outline Primary */
    .btn-outline-primary, button.btn-outline-primary {
        background: transparent !important;
        color: #10b981 !important;
        border-color: #10b981 !important;
    }

        .btn-outline-primary:hover, button.btn-outline-primary:hover {
            background: #10b981 !important;
            color: #fff !important;
        }

    /* Outline Secondary */
    .btn-outline-secondary, button.btn-outline-secondary {
        background: transparent !important;
        color: #6b7280 !important;
        border-color: #6b7280 !important;
    }

        .btn-outline-secondary:hover, button.btn-outline-secondary:hover {
            background: #6b7280 !important;
            color: #fff !important;
        }

    /* Outline Success */
    .btn-outline-success, button.btn-outline-success {
        background: transparent !important;
        color: #22c55e !important;
        border-color: #22c55e !important;
    }

        .btn-outline-success:hover, button.btn-outline-success:hover {
            background: #22c55e !important;
            color: #fff !important;
        }

    /* Outline Danger */
    .btn-outline-danger, button.btn-outline-danger {
        background: transparent !important;
        color: #ef4444 !important;
        border-color: #ef4444 !important;
    }

        .btn-outline-danger:hover, button.btn-outline-danger:hover {
            background: #ef4444 !important;
            color: #fff !important;
        }

    /* Outline Warning */
    .btn-outline-warning, button.btn-outline-warning {
        background: transparent !important;
        color: #f59e0b !important;
        border-color: #f59e0b !important;
    }

        .btn-outline-warning:hover, button.btn-outline-warning:hover {
            background: #f59e0b !important;
            color: #fff !important;
        }

    /* Outline Info */
    .btn-outline-info, button.btn-outline-info {
        background: transparent !important;
        color: #3b82f6 !important;
        border-color: #3b82f6 !important;
    }

        .btn-outline-info:hover, button.btn-outline-info:hover {
            background: #3b82f6 !important;
            color: #fff !important;
        }

    /* Outline Document (doküman yükle — mavi ton) */
    .btn-outline-document, button.btn-outline-document {
        background: transparent !important;
        color: #2563eb !important;
        border-color: #2563eb !important;
    }

        .btn-outline-document:hover, button.btn-outline-document:hover {
            background: #2563eb !important;
            color: #fff !important;
        }

    /* ═══════════════════════════════════════════════════════════════════════════
   * BUTTON SIZES
   * ═══════════════════════════════════════════════════════════════════════════ */

    /* Small */
    .btn-sm, button.btn-sm {
        padding: 4px 8px !important;
        font-size: 12px !important;
    }

    /* Large */
    .btn-lg, button.btn-lg {
        padding: 12px 20px !important;
        font-size: 15px !important;
    }

    /* Block (full width) */
    .btn-block, button.btn-block {
        width: 100% !important;
        display: flex !important;
    }

    /* ─────────────────────────────────────────────────────────────
   Scoped design token: header+footer buton yüksekliği
   ───────────────────────────────────────────────────────────── */
    #CardsHost {
        --header-btn-size: 28px; /* İster 30/32 yap, header+footer birlikte güncellenir */
    }

        /* HEADER — icon-only butonları (#CardsHost içinde) - BASE STYLES */
        #CardsHost .card-header .ridc-btn,
        #CardsHost .card-actions .ridc-btn,
        #CardsHost .ridc-btn.js-ridc-details,
        #CardsHost .ridc-btn.js-ridc-refresh,
        #CardsHost .ridc-btn.js-ridc-rules,
        #CardsHost .ridc-btn.js-ridc-historic {
            padding: 6px !important;
            min-width: var(--header-btn-size) !important;
            min-height: var(--header-btn-size) !important;
            border-radius: 6px !important;
            font-size: 14px !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            line-height: 1 !important;
            transition: all 0.2s ease;
            /* Default colors - will be overridden by state classes */
            background: #ffffff;
            color: #374151;
            border: 1px solid #e5e7eb;
        }

            /* Default hover - will be overridden by state classes */
            #CardsHost .card-header .ridc-btn:hover,
            #CardsHost .card-actions .ridc-btn:hover,
            #CardsHost .ridc-btn.js-ridc-details:hover,
            #CardsHost .ridc-btn.js-ridc-refresh:hover,
            #CardsHost .ridc-btn.js-ridc-rules:hover:not(.green):not(.red):not(.gray):not(.yellow),
            #CardsHost .ridc-btn.js-ridc-historic:hover {
                background: #f3f4f6 !important;
                color: #1f2937 !important;
                border-color: #d1d5db !important;
            }

        /* ═══════════════════════════════════════════════════════════════════════════
   * TOOLBAR STATE COLORS (for ridc-btn) - MUST COME AFTER BASE STYLES
   * ═══════════════════════════════════════════════════════════════════════════ */
        /* Green state (rules pass) */
        #CardsHost .ridc-btn.green,
        #CardsHost .ridc-btn--rules.green,
        #CardsHost button.ridc-btn.green,
        .ridc-btn.green,
        .ridc-btn--rules.green,
        button.ridc-btn.green {
            background: #ecfdf5 !important;
            color: #065f46 !important;
            border-color: #a7f3d0 !important;
        }

        /* Red state (rules fail) */
        #CardsHost .ridc-btn.red,
        #CardsHost .ridc-btn--rules.red,
        #CardsHost button.ridc-btn.red,
        .ridc-btn.red,
        .ridc-btn--rules.red,
        button.ridc-btn.red {
            background: #fef2f2 !important;
            color: #991b1b !important;
            border-color: #fecaca !important;
        }

        /* Yellow state (rules warning / non-blocking fail) */
        #CardsHost .ridc-btn.yellow,
        #CardsHost .ridc-btn--rules.yellow,
        #CardsHost button.ridc-btn.yellow,
        .ridc-btn.yellow,
        .ridc-btn--rules.yellow,
        button.ridc-btn.yellow {
            background: #fef3c7 !important;
            color: #92400e !important;
            border-color: #fde68a !important;
        }

        /* Gray state (no rules / neutral) */
        #CardsHost .ridc-btn.gray,
        #CardsHost .ridc-btn--rules.gray,
        #CardsHost button.ridc-btn.gray,
        .ridc-btn.gray,
        .ridc-btn--rules.gray,
        button.ridc-btn.gray {
            background: #f3f4f6 !important;
            color: #6b7280 !important;
            border-color: #d1d5db !important;
        }

        /* İkonların dikey hizası */
        #CardsHost .card-footer i,
        #CardsHost .card-footer .fa,
        #CardsHost .card-footer .dx-icon,
        #CardsHost .card-footer .status-icon,
        #CardsHost .card-header i,
        #CardsHost .card-header .fa,
        #CardsHost .card-header .dx-icon {
            display: inline-block;
            vertical-align: middle;
            line-height: 1 !important;
            font-size: 14px;
        }

    /* FALLBACK for non-#CardsHost contexts */
    .ridc-btn.js-ridc-details,
    .ridc-btn.js-ridc-refresh,
    .ridc-btn.js-ridc-rules,
    .ridc-btn.js-ridc-historic,
    .card-actions .ridc-btn,
    .card-header .ridc-btn {
        padding: 6px !important;
        min-width: 28px !important;
        min-height: 28px !important;
        border-radius: 6px !important;
        font-size: 14px !important;
        background: #ffffff !important;
        color: #374151 !important;
        border: 1px solid #e5e7eb !important;
    }

        .ridc-btn.js-ridc-details:hover,
        .ridc-btn.js-ridc-refresh:hover,
        .ridc-btn.js-ridc-rules:hover,
        .ridc-btn.js-ridc-historic:hover,
        .card-actions .ridc-btn:hover,
        .card-header .ridc-btn:hover {
            background: #f9fafb !important;
            border-color: #d1d5db !important;
            box-shadow: 0 1px 3px 0 rgba(0,0,0,0.1) !important;
        }

    /* Responsive */
    @media (max-width: 768px) {
        .cards-container {
            grid-template-columns: 1fr;
            padding: 0 12px;
        }

        .card {
            min-width: 100%;
            max-width: 100%;
            height: 350px; /* Mobilde daha küçük sabit yükseklik */
        }

        .card-actions .btn, .btn, button.btn, .ridc-actions .ridc-btn {
            padding: 6px 10px !important;
            font-size: 12px !important;
        }
    }
}

/* COMPONENTS — Renderer scoped */
@layer components {
    .ridc-scope {
        font-size: 14px;
        line-height: 1.6;
        color: var(--mw-text);
        background: var(--mw-bg);
    }

    .ridc-section {
        padding: 12px 0;
        border-top: 1px solid var(--mw-border);
    }

        .ridc-section:first-child {
            border-top: none;
        }

    .ridc-row {
        display: flex;
        gap: 12px;
        margin: 6px 0;
        align-items: baseline;
    }

    .ridc-label {
        min-width: 160px;
        color: var(--mw-muted);
        flex-shrink: 0;
        text-align: left !important;
    }

    .ridc-value {
        font-weight: 600;
        color: var(--mw-text);
        text-align: left !important;
        word-break: break-word;
    }

    .ridc-note {
        margin-top: 8px;
        color: var(--mw-muted);
    }

    .ridc-toggle {
        margin-top: 12px;
    }

    .ridc-linkbtn {
        appearance: none;
        border: none;
        background: transparent;
        color: var(--mw-primary);
        font-size: 13px;
        cursor: pointer;
        padding: 0;
    }

        .ridc-linkbtn:hover {
            text-decoration: underline;
        }

    .ridc-json {
        margin-top: 8px;
        padding: 10px;
        border: 1px solid var(--mw-border);
        border-radius: 10px;
        background: var(--mw-bg-soft);
        font-size: 12px;
        white-space: pre-wrap;
        word-break: break-word;
        color: var(--mw-text-2);
    }

    .ridc-table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 6px;
    }

        .ridc-table th, .ridc-table td {
            border-bottom: 1px solid var(--mw-border);
            padding: 8px;
            text-align: left !important;
            font-size: 13px;
        }

    .ridc-row-actions {
        white-space: nowrap;
    }

    /* KV TABLE */
    .ridc-kv {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
    }

        .ridc-kv td {
            border-bottom: 1px solid var(--mw-border);
            padding: 6px 8px;
            text-align: left !important;
            vertical-align: top;
        }

        .ridc-kv .ridc-label {
            width: 140px;
            min-width: 140px;
            max-width: 140px;
            color: var(--mw-muted);
            font-weight: 400;
            text-align: left !important;
        }

        .ridc-kv .ridc-value {
            font-weight: 600;
            color: var(--mw-text);
            text-align: left !important;
            word-break: break-word;
        }
}

/* OVERLAYS */
@layer overlays {
    .cs-modal-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.35) !important;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 9999;
    }

    .cs-modal {
        background: var(--mw-bg);
        border-radius: 12px;
        box-shadow: 0 12px 40px rgba(0,0,0,.25);
        max-width: 90vw;
        max-height: 85vh;
        overflow: auto;
    }

    .cs-modal-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px;
        border-bottom: 1px solid var(--mw-border);
        color: var(--mw-text);
    }

    .cs-modal-title {
        font-weight: 700;
    }

    .cs-modal-body {
        padding: 16px;
        color: var(--mw-text);
        background: var(--mw-bg);
    }
}

/**
 * ENHANCED STYLES - SORTABLE TABLE & HISTORIC FEATURES
 * 
 * Bu dosyayı modern-white-all.css dosyasının sonuna ekleyin veya
 * ayrı bir dosya olarak include edin.
 */

/* ═══════════════════════════════════════════════════════════════════ */
/* ICON-ONLY BUTTONS (Header Toolbar) */
/* ═══════════════════════════════════════════════════════════════════ */

/* Button structure: icon + text */
.ridc-btn .btn-icon,
.btn .btn-icon,
.card-actions .btn .btn-icon,
.card-actions .ridc-btn .btn-icon {
    display: inline-block;
    font-size: 16px;
    line-height: 1;
    vertical-align: middle;
}

.ridc-btn .btn-text,
.btn .btn-text,
.card-actions .btn .btn-text,
.card-actions .ridc-btn .btn-text {
    display: inline-block;
    margin-left: 6px;
    font-size: 13px;
    vertical-align: middle;
}

/* DEFAULT: Show text on desktop, hide on mobile */
@media (min-width: 769px) {
    .card-actions .btn .btn-text,
    .card-actions .ridc-btn .btn-text {
        display: inline-block !important;
    }
}

/* MOBILE: Hide text, show only icons */
@media (max-width: 768px) {
    .card-actions .btn .btn-text,
    .card-actions .ridc-btn .btn-text {
        display: none !important;
    }

    .card-actions .btn,
    .card-actions .ridc-btn {
        padding: 8px !important;
        min-width: 36px !important;
    }
}

/* FORCE ICON-ONLY MODE (Optional class) */
.card-actions.icon-only .btn .btn-text,
.card-actions.icon-only .ridc-btn .btn-text {
    display: none !important;
}

.card-actions.icon-only .btn,
.card-actions.icon-only .ridc-btn {
    padding: 8px !important;
    min-width: 36px !important;
}

/* ═══════════════════════════════════════════════════════════════════ */
/* SORTABLE TABLE STYLES */
/* ═══════════════════════════════════════════════════════════════════ */

.ridc-sortable-table-container {
    width: 100%;
    margin: 16px 0;
}

.ridc-table-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #111827;
}

.ridc-table-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    gap: 12px;
}

.ridc-table-search {
    flex: 1;
    max-width: 400px;
    padding: 8px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

    .ridc-table-search:focus {
        border-color: #3b82f6;
        box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    }

.ridc-table-count {
    font-size: 13px;
    color: #6b7280;
    white-space: nowrap;
}

/* View toggle buttons */
.ridc-view-toggle {
    display: flex;
    gap: 4px;
    margin-left: auto;
    background: #f3f4f6;
    padding: 2px;
    border-radius: 6px;
}

.ridc-view-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    background: transparent;
    color: #6b7280;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
}

    .ridc-view-btn:hover {
        background: #e5e7eb;
        color: #374151;
    }

    .ridc-view-btn.active {
        background: #fff;
        color: #3b82f6;
        box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    }

    .ridc-view-btn svg {
        width: 16px;
        height: 16px;
    }

/* View container */
.ridc-view-container {
    position: relative;
}

.ridc-table-wrapper {
    overflow-x: auto; /* Yatay scroll tablo container'ında */
    overflow-y: visible; /* Dikey scroll popup content'te olacak */
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
}

/* Card view (content only, nav moved to overlay) */
.ridc-card-view {
    display: none;
    padding: 20px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    min-height: 400px;
}

/* Card navigation overlay - sabit pozisyon, popup üzerinde */
.ridc-card-nav-overlay {
    position: fixed;
    bottom: 24px;
    right: 24px;
    display: none; /* JavaScript ile gösterilecek */
    align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.95);
    padding: 12px 20px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 10000; /* Popup içinde en üstte */
    backdrop-filter: blur(8px);
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.ridc-card-content {
    flex: 1;
    overflow-y: auto;
}

.ridc-card-fields {
    display: grid;
    gap: 16px;
    max-width: 800px;
    margin: 0 auto;
}

.ridc-card-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px;
    background: #f9fafb;
    border-radius: 6px;
    border-left: 3px solid #3b82f6;
}

.ridc-card-field-label {
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ridc-card-field-value {
    font-size: 14px;
    color: #1f2937;
    word-break: break-word;
}

/* Card counter in overlay */
.ridc-card-counter {
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
    min-width: 80px;
    text-align: center;
    user-select: none;
}

/* Card navigation buttons in overlay */
.ridc-card-nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #d1d5db;
    background: #fff;
    color: #374151;
    border-radius: 50%; /* Yuvarlak butonlar */
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

    .ridc-card-nav-btn:hover:not(:disabled) {
        background: #f3f4f6;
        border-color: #9ca3af;
        color: #1f2937;
        transform: scale(1.05);
    }

    .ridc-card-nav-btn:active:not(:disabled) {
        transform: scale(0.95);
    }

    .ridc-card-nav-btn:disabled {
        opacity: 0.4;
        cursor: not-allowed;
    }

    .ridc-card-nav-btn svg {
        width: 20px;
        height: 20px;
    }

/* Responsive adjustments */
@media (max-width: 768px) {
    .ridc-card-fields {
        gap: 12px;
    }

    .ridc-card-field {
        padding: 10px;
    }

    .ridc-card-nav-btn {
        width: 36px;
        height: 36px;
    }
}

.ridc-table.ridc-sortable {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

    .ridc-table.ridc-sortable thead {
        background: #f9fafb;
        border-bottom: 2px solid #e5e7eb;
    }

        .ridc-table.ridc-sortable thead th {
            padding: 12px 16px;
            text-align: left;
            font-weight: 600;
            color: #374151;
            white-space: nowrap;
        }

            .ridc-table.ridc-sortable thead th.sortable {
                cursor: pointer;
                user-select: none;
                transition: background-color 0.2s;
            }

                .ridc-table.ridc-sortable thead th.sortable:hover {
                    background: #f3f4f6;
                }

                .ridc-table.ridc-sortable thead th.sortable:active {
                    background: #e5e7eb;
                }

    .ridc-table.ridc-sortable tbody tr {
        border-bottom: 1px solid #e5e7eb;
        transition: background-color 0.15s;
    }

        .ridc-table.ridc-sortable tbody tr:hover {
            background: #f9fafb;
        }

        .ridc-table.ridc-sortable tbody tr:last-child {
            border-bottom: none;
        }

    .ridc-table.ridc-sortable tbody td {
        padding: 12px 16px;
        color: #1f2937;
        white-space: nowrap; /* Varsayılan: wrap yok */
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Wrap mode aktif */
    .ridc-table.ridc-sortable.ridc-table-wrapped tbody td {
        white-space: normal; /* Metni kaydır */
        overflow: visible;
        text-overflow: clip;
    }

    .ridc-table.ridc-sortable.ridc-table-wrapped thead th {
        white-space: normal;
    }

    /* Empty state */
    .ridc-table.ridc-sortable tbody tr td[colspan] {
        text-align: center;
        color: #9ca3af;
        font-style: italic;
        padding: 24px;
    }

/* ═══════════════════════════════════════════════════════════════════ */
/* STATUS BAR & BADGES */
/* ═══════════════════════════════════════════════════════════════════ */

.ridc-status-bar {
    display: flex;
    gap: 6px;
    margin: 0;
    flex-wrap: wrap;
    align-items: center;
}

.ridc-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    white-space: nowrap;
    min-height: 28px !important;
    min-width: 28px !important;
    cursor: default !important;
    box-shadow: none !important;
}

    .ridc-status-badge.active {
        background: #dcfce7 !important;
        color: #166534 !important;
        border: 1px solid #bbf7d0 !important;
    }

    .ridc-status-badge.historic {
        background: #fef3c7 !important;
        color: #92400e !important;
        border: 1px solid #fde68a !important;
    }

    .ridc-status-badge.selected {
        background: #dbeafe !important;
        color: #1e40af !important;
        border: 1px solid #93c5fd !important;
    }

    /* Icon styling inside badge */
    .ridc-status-badge .status-icon {
        font-size: 13px;
        line-height: 1;
    }

    .ridc-status-badge .status-count {
        font-weight: 700;
        font-size: 12px;
    }

/* ═══════════════════════════════════════════════════════════════════ */
/* HISTORIC BUTTON (in header toolbar) */
/* ═══════════════════════════════════════════════════════════════════ */

.ridc-btn.ridc-btn--historic {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}

    .ridc-btn.ridc-btn--historic:hover {
        background: #fde68a;
    }

    .ridc-btn.ridc-btn--historic:active {
        background: #fcd34d;
    }

/* ═══════════════════════════════════════════════════════════════════ */
/* RESPONSIVE DESIGN */
/* ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    .ridc-table-controls {
        flex-direction: column;
        align-items: stretch;
    }

    .ridc-table-search {
        max-width: none;
    }

    .ridc-table-count {
        text-align: center;
    }

    .ridc-sortable-table-container {
        margin: 12px 0;
    }

    .ridc-table.ridc-sortable {
        font-size: 13px;
    }

        .ridc-table.ridc-sortable thead th,
        .ridc-table.ridc-sortable tbody td {
            padding: 8px 12px;
        }

    .ridc-status-bar {
        margin-bottom: 8px;
    }

    .ridc-status-badge {
        font-size: 11px;
        padding: 3px 8px;
    }
}

@media (max-width: 480px) {
    .ridc-table.ridc-sortable {
        font-size: 12px;
    }

        .ridc-table.ridc-sortable thead th,
        .ridc-table.ridc-sortable tbody td {
            padding: 6px 8px;
        }

    /* Horizontal scroll hint */
    .ridc-table-wrapper::after {
        content: '← Kaydırarak daha fazla göster →';
        display: block;
        text-align: center;
        padding: 8px;
        font-size: 11px;
        color: #9ca3af;
        background: #f9fafb;
        border-top: 1px solid #e5e7eb;
    }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* LOADING & ANIMATIONS */
/* ═══════════════════════════════════════════════════════════════════ */

.ridc-table-loading {
    text-align: center;
    padding: 24px;
    color: #9ca3af;
}

    .ridc-table-loading::before {
        content: '⏳';
        display: inline-block;
        margin-right: 8px;
        animation: ridc-spin 1s linear infinite;
    }

@keyframes ridc-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* PRINT STYLES */
/* ═══════════════════════════════════════════════════════════════════ */

@media print {
    .ridc-table-controls {
        display: none;
    }

    .ridc-table.ridc-sortable thead th.sortable {
        cursor: default;
    }

    .ridc-table.ridc-sortable tbody tr:hover {
        background: none;
    }

    .ridc-btn.ridc-btn--historic {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* ACCESSIBILITY IMPROVEMENTS */
/* ═══════════════════════════════════════════════════════════════════ */

/* Focus states */
.ridc-table-search:focus,
.ridc-table.ridc-sortable thead th.sortable:focus {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

/* Screen reader only text */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .ridc-table.ridc-sortable tbody tr {
        border-bottom: 2px solid #000;
    }

    .ridc-status-badge.active {
        border: 2px solid #166534;
    }

    .ridc-status-badge.historic {
        border: 2px solid #92400e;
    }

    .ridc-status-badge.selected {
        border: 2px solid #1e40af;
    }
}

/* Dark mode support (optional) */
@media (prefers-color-scheme: dark) {
    .ridc-sortable-table-container {
        color: #f3f4f6;
    }

    .ridc-table.ridc-sortable {
        background: #1f2937;
    }

        .ridc-table.ridc-sortable thead {
            background: #374151;
            border-bottom-color: #4b5563;
        }

            .ridc-table.ridc-sortable thead th {
                color: #f9fafb;
            }

        .ridc-table.ridc-sortable tbody tr {
            border-bottom-color: #374151;
        }

            .ridc-table.ridc-sortable tbody tr:hover {
                background: #374151;
            }

        .ridc-table.ridc-sortable tbody td {
            color: #e5e7eb;
        }

    .ridc-table-search {
        background: #374151;
        border-color: #4b5563;
        color: #f3f4f6;
    }

    .ridc-table-wrapper {
        border-color: #4b5563;
        background: #1f2937;
    }
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE - Mobil ve Küçük Ekranlar
   ═══════════════════════════════════════════════════════════════ */

/* Tablet ve daha küçük ekranlar için single column */
@media (max-width: 900px) {
    .cards-container {
        gap: 12px;
        margin: 8px;
        width: calc(100% - 16px);
    }

    .card {
        height: 350px;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100%;
        border-radius: 8px;
    }
}

@media (max-width: 768px) {
    .cards-container {
        gap: 10px;
        margin: 6px;
        width: calc(100% - 12px);
    }

    .card-header {
        padding: 10px 12px;
    }

    .card-title {
        font-size: 14px;
    }

    .card-body {
        padding: 10px;
        font-size: 13px;
    }

    .card-footer {
        padding: 6px 12px;
    }

    .ridc-btn {
        padding: 5px !important;
        min-width: 26px !important;
        min-height: 26px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 480px) {
    .cards-container {
        margin: 4px;
        width: calc(100% - 8px);
    }

    .card {
        height: 320px;
        width: 100% !important;
        max-width: 100% !important;
    }

    .card-header {
        padding: 8px 10px;
    }

    .card-title {
        font-size: 13px;
    }

    .card-body {
        padding: 8px;
        font-size: 12px;
    }
}



@layer reset, base, components, overlays;

/* RESET */
@layer reset {
  :root {
    --mw-text: #111827;
    --mw-text-2:#1f2937;
    --mw-muted:#6b7280;
    --mw-border:#e5e7eb;
    --mw-bg:#ffffff;
    --mw-bg-soft:#fafafa;
    --mw-primary:#10b981;
    --mw-secondary:#6b7280;
    --mw-success:#22c55e;
    --mw-danger:#ef4444;
    --mw-warning:#f59e0b;
    --mw-info:#3b82f6;
  }
  html, body {
    color: var(--mw-text);
    background: var(--mw-bg);
    font-family: ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  }
}

/* BASE — CardCore containers */
@layer base {
  .cards-container,
  .cards-container-v2 {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 12px;
    width: calc(100% - 24px);
    max-width: 100%;
    overflow: visible;
    box-sizing: border-box;
    padding: 0;
    align-items: flex-start; /* Kartları üstten hizala */
  }
  .card {
    background: var(--mw-bg);
    border: 1px solid var(--mw-border);
    border-radius: 12px;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: 400px !important; /* Sabit yükseklik */
    min-height: 400px !important;
    max-height: 400px !important;
    min-width: min(340px, 100%);
    box-sizing: border-box;

    /* Grid col değeri varsa kullan (12'lik sistem) */
    width: var(--col-pct, 100%);
    max-width: var(--col-pct, 100%);
  }
  .card-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 12px 14px;
    border-bottom: 1px solid #eee;
    background: #fff;
    flex-shrink: 0; /* Sabit yükseklik */
  }
  .card-title {
    font-weight: 700;
    color: var(--mw-text);
    white-space: nowrap;
    text-align: left;
    width: auto;
    flex-shrink: 0;
  }
  .card-actions {
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto;
    flex-shrink: 0;
  }
  .card-body {
    padding: 8px;
    font-size: 14px;
    line-height: 1.6;
    flex: 1 1 auto !important; /* Header ve footer arasındaki alanı doldur */
    overflow-y: auto !important; /* Düşey scroll */
    overflow-x: auto !important; /* Yatay scroll */
    min-height: 0 !important; /* Flex child için gerekli */
    width: 100%; /* Body tam genişlik kullan */
    box-sizing: border-box;
  }

  /* Scroll bar styling (modern) */
  .card-body::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }

  .card-body::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
  }

  .card-body::-webkit-scrollbar-thumb {
    background: #cbd5e0;
    border-radius: 4px;
  }

  .card-body::-webkit-scrollbar-thumb:hover {
    background: #a0aec0;
  }
  .card-footer {
    padding: 6px 8px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--mw-bg-soft);
    gap: 6px;
    flex-shrink: 0; /* Sabit yükseklik */
  }

  /* Status bar sol tarafa */
  .card-footer .ridc-status-bar {
    margin-right: auto;
  }

  .card-footer > .ridc-footer-actions {
    display: flex !important;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
    margin-left: auto;
    flex-shrink: 0;
  }

  .card-footer > .ridc-footer-actions > * + * {
    margin-left: 2px !important;
  }

  .card-footer > .btn:first-of-type,
  .card-footer > button:first-of-type {
    margin-left: auto !important;
  }

  .card-footer > .btn ~ .btn,
  .card-footer > button ~ button {
    margin-left: 2px !important;
  }

  /* 🆕 Footer buttons - matching header button size (28px x 28px) */
  /* FOOTER — sol rozetler + sağ butonlar tek tip yüksekliğe sabit */
#CardsHost .card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

#CardsHost .card-footer .footer-left,
#CardsHost .card-footer .footer-right,
#CardsHost .card-footer .ridc-status-bar {
  display: flex;
  align-items: center;
  gap: 3px;
}

#CardsHost .card-footer > .ridc-footer-actions {
  display: flex !important;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
  margin-left: auto;
  flex-shrink: 0;
}

#CardsHost .card-footer .ridc-footer-actions > * + * {
  margin-left: 2px !important;
}

/* Footer sağ tarafındaki butonlar için özel grup */
#CardsHost .card-footer {
  display: flex;
  align-items: center;
  gap: 3px;
  flex-wrap: nowrap;
}

#CardsHost .card-footer > .ridc-footer-actions:last-child {
  margin-left: auto;
}

#CardsHost .card-footer:not(:has(> .ridc-footer-actions)) > *:last-child {
  margin-left: auto;
}

/* Sağdaki butonlar (metinli/ikonlu) - XS boyut */
#CardsHost .card-footer .btn,
#CardsHost .card-footer button,
#CardsHost .card-footer .dx-button {
  height: 24px !important;
  min-height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
  padding: 0 6px !important;  /* daha az padding */
  font-size: 12px !important;  /* daha küçük font */
}

/* Sadece ikon olan footer butonları: kare, XS boyut */
#CardsHost .card-footer .btn-icon-only,
#CardsHost .card-footer .dx-button.dx-button-icon-only {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  padding: 0 !important;
}

/* DevExtreme içerik hizası */
#CardsHost .card-footer .dx-button .dx-button-content {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px;
  line-height: 1;
}

/* Sol rozet/badge'ler: buton yüksekliği ile bire bir */
#CardsHost .card-footer .ridc-status-badge {
  height: var(--header-btn-size) !important;
  min-height: var(--header-btn-size) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
  padding: 0 10px !important;  /* ikon + sayı için yatay boşluk */
}

/* Sağ grup buton aralığı - minimal boşluk */
#CardsHost .card-footer > .btn ~ .btn,
#CardsHost .card-footer > button ~ button {
  margin-left: 2px !important;
}

/* Mobilde opsiyonel küçültme: header+footer birlikte 26px olur */
@media (max-width: 768px) {
  #CardsHost { --header-btn-size: 26px; }
}

/* FALLBACK for non-#CardsHost contexts - XS boyut */
.card-footer .btn,
.card-footer button {
  padding: 4px 6px !important;
  font-size: 12px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  border-radius: 4px !important;
}

/* Footer button icons - XS boyut */
.card-footer .btn i,
.card-footer button i {
  font-size: 11px !important;
  line-height: 1 !important;
}

  /* ═══════════════════════════════════════════════════════════════════════════
   * BUTTONS - Base styles
   * ═══════════════════════════════════════════════════════════════════════════ */
  .btn,
  button.btn,
  .card-actions .btn,
  .ridc-actions .ridc-btn {
    padding: 8px 12px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #374151 !important;
    cursor: pointer !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05) !important;
    transition: all 0.15s ease !important;
    flex-shrink: 0 !important;
  }
  .btn:hover,
  button.btn:hover,
  .card-actions .btn:hover,
  .ridc-actions .ridc-btn:hover {
    background: #f9fafb !important;
    border-color: #d1d5db !important;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.1) !important;
  }

  /* Disabled state */
  .btn:disabled,
  button.btn:disabled,
  .btn.disabled,
  button.btn.disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
  }

  /* ═══════════════════════════════════════════════════════════════════════════
   * BUTTON VARIANTS - Solid
   * ═══════════════════════════════════════════════════════════════════════════ */
  
  /* Primary - Green */
  .btn-primary, button.btn-primary {
    background: #10b981 !important;
    color: #fff !important;
    border-color: #10b981 !important;
    box-shadow: 0 1px 2px 0 rgba(16,185,129,0.2) !important;
  }
  .btn-primary:hover, button.btn-primary:hover {
    background: #059669 !important;
    border-color: #059669 !important;
    box-shadow: 0 2px 4px 0 rgba(16,185,129,0.3) !important;
  }

  /* Secondary - Gray */
  .btn-secondary, button.btn-secondary {
    background: #6b7280 !important;
    color: #fff !important;
    border-color: #6b7280 !important;
    box-shadow: 0 1px 2px 0 rgba(107,114,128,0.2) !important;
  }
  .btn-secondary:hover, button.btn-secondary:hover {
    background: #4b5563 !important;
    border-color: #4b5563 !important;
    box-shadow: 0 2px 4px 0 rgba(107,114,128,0.3) !important;
  }

  /* Success - Green (brighter) */
  .btn-success, button.btn-success {
    background: #22c55e !important;
    color: #fff !important;
    border-color: #22c55e !important;
    box-shadow: 0 1px 2px 0 rgba(34,197,94,0.2) !important;
  }
  .btn-success:hover, button.btn-success:hover {
    background: #16a34a !important;
    border-color: #16a34a !important;
    box-shadow: 0 2px 4px 0 rgba(34,197,94,0.3) !important;
  }

  /* Danger - Red */
  .btn-danger, button.btn-danger {
    background: #ef4444 !important;
    color: #fff !important;
    border-color: #ef4444 !important;
    box-shadow: 0 1px 2px 0 rgba(239,68,68,0.2) !important;
  }
  .btn-danger:hover, button.btn-danger:hover {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    box-shadow: 0 2px 4px 0 rgba(239,68,68,0.3) !important;
  }

  /* Warning - Orange/Amber */
  .btn-warning, button.btn-warning {
    background: #f59e0b !important;
    color: #fff !important;
    border-color: #f59e0b !important;
    box-shadow: 0 1px 2px 0 rgba(245,158,11,0.2) !important;
  }
  .btn-warning:hover, button.btn-warning:hover {
    background: #d97706 !important;
    border-color: #d97706 !important;
    box-shadow: 0 2px 4px 0 rgba(245,158,11,0.3) !important;
  }

  /* Info - Blue */
  .btn-info, button.btn-info {
    background: #3b82f6 !important;
    color: #fff !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 1px 2px 0 rgba(59,130,246,0.2) !important;
  }
  .btn-info:hover, button.btn-info:hover {
    background: #2563eb !important;
    border-color: #2563eb !important;
    box-shadow: 0 2px 4px 0 rgba(59,130,246,0.3) !important;
  }

  /* Light - Light gray */
  .btn-light, button.btn-light {
    background: #f3f4f6 !important;
    color: #374151 !important;
    border-color: #e5e7eb !important;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05) !important;
  }
  .btn-light:hover, button.btn-light:hover {
    background: #e5e7eb !important;
    border-color: #d1d5db !important;
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.1) !important;
  }

  /* Dark - Dark gray */
  .btn-dark, button.btn-dark {
    background: #1f2937 !important;
    color: #fff !important;
    border-color: #1f2937 !important;
    box-shadow: 0 1px 2px 0 rgba(31,41,55,0.2) !important;
  }
  .btn-dark:hover, button.btn-dark:hover {
    background: #111827 !important;
    border-color: #111827 !important;
    box-shadow: 0 2px 4px 0 rgba(31,41,55,0.3) !important;
  }

  /* ═══════════════════════════════════════════════════════════════════════════
   * BADGES - Bootstrap-compatible badge styles
   * ═══════════════════════════════════════════════════════════════════════════ */

  .badge {
    display: inline-block !important;
    padding: 4px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    vertical-align: baseline !important;
    border-radius: 4px !important;
  }

  /* Badge color variants */
  .badge.bg-primary, .bg-primary {
    background-color: #10b981 !important;
    color: #fff !important;
  }

  .badge.bg-secondary, .bg-secondary {
    background-color: #6b7280 !important;
    color: #fff !important;
  }

  .badge.bg-success, .bg-success {
    background-color: #22c55e !important;
    color: #fff !important;
  }

  .badge.bg-danger, .bg-danger {
    background-color: #ef4444 !important;
    color: #fff !important;
  }

  .badge.bg-warning, .bg-warning {
    background-color: #f59e0b !important;
    color: #fff !important;
  }

  .badge.bg-info, .bg-info {
    background-color: #3b82f6 !important;
    color: #fff !important;
  }

  .badge.bg-light, .bg-light {
    background-color: #f3f4f6 !important;
    color: #374151 !important;
  }

  .badge.bg-dark, .bg-dark {
    background-color: #1f2937 !important;
    color: #fff !important;
  }

  /* ═══════════════════════════════════════════════════════════════════════════
   * BUTTON VARIANTS - Outline
   * ═══════════════════════════════════════════════════════════════════════════ */

  /* Outline Primary */
  .btn-outline-primary, button.btn-outline-primary {
    background: transparent !important;
    color: #10b981 !important;
    border-color: #10b981 !important;
  }
  .btn-outline-primary:hover, button.btn-outline-primary:hover {
    background: #10b981 !important;
    color: #fff !important;
  }

  /* Outline Secondary */
  .btn-outline-secondary, button.btn-outline-secondary {
    background: transparent !important;
    color: #6b7280 !important;
    border-color: #6b7280 !important;
  }
  .btn-outline-secondary:hover, button.btn-outline-secondary:hover {
    background: #6b7280 !important;
    color: #fff !important;
  }

  /* Outline Success */
  .btn-outline-success, button.btn-outline-success {
    background: transparent !important;
    color: #22c55e !important;
    border-color: #22c55e !important;
  }
  .btn-outline-success:hover, button.btn-outline-success:hover {
    background: #22c55e !important;
    color: #fff !important;
  }

  /* Outline Danger */
  .btn-outline-danger, button.btn-outline-danger {
    background: transparent !important;
    color: #ef4444 !important;
    border-color: #ef4444 !important;
  }
  .btn-outline-danger:hover, button.btn-outline-danger:hover {
    background: #ef4444 !important;
    color: #fff !important;
  }

  /* Outline Warning */
  .btn-outline-warning, button.btn-outline-warning {
    background: transparent !important;
    color: #f59e0b !important;
    border-color: #f59e0b !important;
  }
  .btn-outline-warning:hover, button.btn-outline-warning:hover {
    background: #f59e0b !important;
    color: #fff !important;
  }

  /* Outline Info */
  .btn-outline-info, button.btn-outline-info {
    background: transparent !important;
    color: #3b82f6 !important;
    border-color: #3b82f6 !important;
  }
  .btn-outline-info:hover, button.btn-outline-info:hover {
    background: #3b82f6 !important;
    color: #fff !important;
  }

  /* Outline Document (doküman yükle — mavi ton) */
  .btn-outline-document, button.btn-outline-document {
    background: transparent !important;
    color: #2563eb !important;
    border-color: #2563eb !important;
  }
  .btn-outline-document:hover, button.btn-outline-document:hover {
    background: #2563eb !important;
    color: #fff !important;
  }

  /* ═══════════════════════════════════════════════════════════════════════════
   * BUTTON SIZES
   * ═══════════════════════════════════════════════════════════════════════════ */
  
  /* Small */
  .btn-sm, button.btn-sm {
    padding: 4px 8px !important;
    font-size: 12px !important;
  }

  /* Large */
  .btn-lg, button.btn-lg {
    padding: 12px 20px !important;
    font-size: 15px !important;
  }

  /* Block (full width) */
  .btn-block, button.btn-block {
    width: 100% !important;
    display: flex !important;
  }

  /* ─────────────────────────────────────────────────────────────
   Scoped design token: header+footer buton yüksekliği
   ───────────────────────────────────────────────────────────── */
#CardsHost {
  --header-btn-size: 28px; /* İster 30/32 yap, header+footer birlikte güncellenir */
}

/* HEADER — icon-only butonları (#CardsHost içinde) - BASE STYLES */
#CardsHost .card-header .ridc-btn,
#CardsHost .card-actions .ridc-btn,
#CardsHost .ridc-btn.js-ridc-details,
#CardsHost .ridc-btn.js-ridc-refresh,
#CardsHost .ridc-btn.js-ridc-rules,
#CardsHost .ridc-btn.js-ridc-historic {
  padding: 6px !important;
  min-width: var(--header-btn-size) !important;
  min-height: var(--header-btn-size) !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  transition: all 0.2s ease;
  /* Default colors - will be overridden by state classes */
  background: #ffffff;
  color: #374151;
  border: 1px solid #e5e7eb;
}

/* Default hover - will be overridden by state classes */
#CardsHost .card-header .ridc-btn:hover,
#CardsHost .card-actions .ridc-btn:hover,
#CardsHost .ridc-btn.js-ridc-details:hover,
#CardsHost .ridc-btn.js-ridc-refresh:hover,
#CardsHost .ridc-btn.js-ridc-rules:hover:not(.green):not(.red):not(.gray):not(.yellow),
#CardsHost .ridc-btn.js-ridc-historic:hover {
  background: #f3f4f6 !important;
  color: #1f2937 !important;
  border-color: #d1d5db !important;
}

  /* ═══════════════════════════════════════════════════════════════════════════
   * TOOLBAR STATE COLORS (for ridc-btn) - MUST COME AFTER BASE STYLES
   * ═══════════════════════════════════════════════════════════════════════════ */
  /* Green state (rules pass) */
  #CardsHost .ridc-btn.green,
  #CardsHost .ridc-btn--rules.green,
  #CardsHost button.ridc-btn.green,
  .ridc-btn.green,
  .ridc-btn--rules.green,
  button.ridc-btn.green {
    background: #ecfdf5 !important;
    color: #065f46 !important;
    border-color: #a7f3d0 !important;
  }

  /* Red state (rules fail) */
  #CardsHost .ridc-btn.red,
  #CardsHost .ridc-btn--rules.red,
  #CardsHost button.ridc-btn.red,
  .ridc-btn.red,
  .ridc-btn--rules.red,
  button.ridc-btn.red {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border-color: #fecaca !important;
  }

  /* Yellow state (rules warning / non-blocking fail) */
  #CardsHost .ridc-btn.yellow,
  #CardsHost .ridc-btn--rules.yellow,
  #CardsHost button.ridc-btn.yellow,
  .ridc-btn.yellow,
  .ridc-btn--rules.yellow,
  button.ridc-btn.yellow {
    background: #fef3c7 !important;
    color: #92400e !important;
    border-color: #fde68a !important;
  }

  /* Gray state (no rules / neutral) */
  #CardsHost .ridc-btn.gray,
  #CardsHost .ridc-btn--rules.gray,
  #CardsHost button.ridc-btn.gray,
  .ridc-btn.gray,
  .ridc-btn--rules.gray,
  button.ridc-btn.gray {
    background: #f3f4f6 !important;
    color: #6b7280 !important;
    border-color: #d1d5db !important;
  }

/* İkonların dikey hizası */
#CardsHost .card-footer i,
#CardsHost .card-footer .fa,
#CardsHost .card-footer .dx-icon,
#CardsHost .card-footer .status-icon,
#CardsHost .card-header i,
#CardsHost .card-header .fa,
#CardsHost .card-header .dx-icon {
  display: inline-block;
  vertical-align: middle;
  line-height: 1 !important;
  font-size: 14px;
}

/* FALLBACK for non-#CardsHost contexts */
.ridc-btn.js-ridc-details,
.ridc-btn.js-ridc-refresh,
.ridc-btn.js-ridc-rules,
.ridc-btn.js-ridc-historic,
.card-actions .ridc-btn,
.card-header .ridc-btn {
  padding: 6px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  background: #ffffff !important;
  color: #374151 !important;
  border: 1px solid #e5e7eb !important;
}

.ridc-btn.js-ridc-details:hover,
.ridc-btn.js-ridc-refresh:hover,
.ridc-btn.js-ridc-rules:hover,
.ridc-btn.js-ridc-historic:hover,
.card-actions .ridc-btn:hover,
.card-header .ridc-btn:hover {
  background: #f9fafb !important;
  border-color: #d1d5db !important;
  box-shadow: 0 1px 3px 0 rgba(0,0,0,0.1) !important;
}

  /* Responsive */
  @media (max-width: 768px) {
    .cards-container { grid-template-columns: 1fr; padding: 0 12px; }
    .card {
      min-width: 100%;
      max-width: 100%;
      height: 350px; /* Mobilde daha küçük sabit yükseklik */
    }
    .card-actions .btn, .btn, button.btn, .ridc-actions .ridc-btn {
      padding: 6px 10px !important; font-size: 12px !important;
    }
  }
}

/* COMPONENTS — Renderer scoped */
@layer components {
  .ridc-scope { font-size: 14px; line-height: 1.6; color: var(--mw-text); background: var(--mw-bg); }
  .ridc-section { padding: 12px 0; border-top: 1px solid var(--mw-border); }
  .ridc-section:first-child { border-top: none; }

  .ridc-row { display: flex; gap: 12px; margin: 6px 0; align-items: baseline; }
  .ridc-label { min-width: 160px; color: var(--mw-muted); flex-shrink: 0; text-align: left !important; }
  .ridc-value { font-weight: 600; color: var(--mw-text); text-align: left !important; word-break: break-word; }

  .ridc-note { margin-top: 8px; color: var(--mw-muted); }

  .ridc-toggle { margin-top: 12px; }
  .ridc-linkbtn { appearance: none; border: none; background: transparent; color: var(--mw-primary); font-size: 13px; cursor: pointer; padding: 0; }
  .ridc-linkbtn:hover { text-decoration: underline; }

  .ridc-json {
    margin-top: 8px; padding: 10px; border: 1px solid var(--mw-border); border-radius: 10px;
    background: var(--mw-bg-soft); font-size: 12px; white-space: pre-wrap; word-break: break-word; color: var(--mw-text-2);
  }

  .ridc-table { width: 100%; border-collapse: collapse; margin-top: 6px; }
  .ridc-table th, .ridc-table td { border-bottom: 1px solid var(--mw-border); padding: 8px; text-align: left !important; font-size: 13px; }
  .ridc-row-actions { white-space: nowrap; }

  /* KV TABLE */
  .ridc-kv { 
    width: 100%; 
    border-collapse: collapse; 
    table-layout: fixed;
  }
  .ridc-kv td { 
    border-bottom: 1px solid var(--mw-border); 
    padding: 6px 8px; 
    text-align: left !important;
    vertical-align: top;
  }
  .ridc-kv .ridc-label { 
    width: 140px;
    min-width: 140px;
    max-width: 140px;
    color: var(--mw-muted); 
    font-weight: 400;
    text-align: left !important;
  }
  .ridc-kv .ridc-value { 
    font-weight: 600; 
    color: var(--mw-text);
    text-align: left !important;
    word-break: break-word;
  }
}

/* OVERLAYS */
@layer overlays {
  .cs-modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.35) !important; display:flex; align-items:center; justify-content:center; z-index:9999; }
  .cs-modal { background: var(--mw-bg); border-radius: 12px; box-shadow: 0 12px 40px rgba(0,0,0,.25); max-width: 90vw; max-height: 85vh; overflow: auto; }
  .cs-modal-header { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid var(--mw-border); color: var(--mw-text); }
  .cs-modal-title { font-weight: 700; }
  .cs-modal-body { padding: 16px; color: var(--mw-text); background: var(--mw-bg); }
}

/**
 * ENHANCED STYLES - SORTABLE TABLE & HISTORIC FEATURES
 * 
 * Bu dosyayı modern-white-all.css dosyasının sonuna ekleyin veya
 * ayrı bir dosya olarak include edin.
 */

/* ═══════════════════════════════════════════════════════════════════ */
/* ICON-ONLY BUTTONS (Header Toolbar) */
/* ═══════════════════════════════════════════════════════════════════ */

/* Button structure: icon + text */
.ridc-btn .btn-icon,
.btn .btn-icon,
.card-actions .btn .btn-icon,
.card-actions .ridc-btn .btn-icon {
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  vertical-align: middle;
}

.ridc-btn .btn-text,
.btn .btn-text,
.card-actions .btn .btn-text,
.card-actions .ridc-btn .btn-text {
  display: inline-block;
  margin-left: 6px;
  font-size: 13px;
  vertical-align: middle;
}

/* DEFAULT: Show text on desktop, hide on mobile */
@media (min-width: 769px) {
  .card-actions .btn .btn-text,
  .card-actions .ridc-btn .btn-text {
    display: inline-block !important;
  }
}

/* MOBILE: Hide text, show only icons */
@media (max-width: 768px) {
  .card-actions .btn .btn-text,
  .card-actions .ridc-btn .btn-text {
    display: none !important;
  }
  
  .card-actions .btn,
  .card-actions .ridc-btn {
    padding: 8px !important;
    min-width: 36px !important;
  }
}

/* FORCE ICON-ONLY MODE (Optional class) */
.card-actions.icon-only .btn .btn-text,
.card-actions.icon-only .ridc-btn .btn-text {
  display: none !important;
}

.card-actions.icon-only .btn,
.card-actions.icon-only .ridc-btn {
  padding: 8px !important;
  min-width: 36px !important;
}

/* ═══════════════════════════════════════════════════════════════════ */
/* SORTABLE TABLE STYLES */
/* ═══════════════════════════════════════════════════════════════════ */

.ridc-sortable-table-container {
  width: 100%;
  margin: 16px 0;
}

.ridc-table-title {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #111827;
}

.ridc-table-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  gap: 12px;
}

.ridc-table-search {
  flex: 1;
  max-width: 400px;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}

.ridc-table-search:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.ridc-table-count {
  font-size: 13px;
  color: #6b7280;
  white-space: nowrap;
}

/* View toggle buttons */
.ridc-view-toggle {
  display: flex;
  gap: 4px;
  margin-left: auto;
  background: #f3f4f6;
  padding: 2px;
  border-radius: 6px;
}

.ridc-view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: transparent;
  color: #6b7280;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s;
}

.ridc-view-btn:hover {
  background: #e5e7eb;
  color: #374151;
}

.ridc-view-btn.active {
  background: #fff;
  color: #3b82f6;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.ridc-view-btn svg {
  width: 16px;
  height: 16px;
}

/* View container */
.ridc-view-container {
  position: relative;
}

.ridc-table-wrapper {
  overflow-x: auto;  /* Yatay scroll tablo container'ında */
  overflow-y: visible;  /* Dikey scroll popup content'te olacak */
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}

/* Card view (content only, nav moved to overlay) */
.ridc-card-view {
  display: none;
  padding: 20px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  min-height: 400px;
}

/* Card navigation overlay - sabit pozisyon, popup üzerinde */
.ridc-card-nav-overlay {
  position: fixed;
  bottom: 24px;
  right: 24px;
  display: none;  /* JavaScript ile gösterilecek */
  align-items: center;
  gap: 16px;
  background: rgba(255, 255, 255, 0.95);
  padding: 12px 20px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 10000;  /* Popup içinde en üstte */
  backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.ridc-card-content {
  flex: 1;
  overflow-y: auto;
}

.ridc-card-fields {
  display: grid;
  gap: 16px;
  max-width: 800px;
  margin: 0 auto;
}

.ridc-card-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  background: #f9fafb;
  border-radius: 6px;
  border-left: 3px solid #3b82f6;
}

.ridc-card-field-label {
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ridc-card-field-value {
  font-size: 14px;
  color: #1f2937;
  word-break: break-word;
}

/* Card counter in overlay */
.ridc-card-counter {
  font-size: 15px;
  font-weight: 600;
  color: #1f2937;
  min-width: 80px;
  text-align: center;
  user-select: none;
}

/* Card navigation buttons in overlay */
.ridc-card-nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #374151;
  border-radius: 50%;  /* Yuvarlak butonlar */
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.ridc-card-nav-btn:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #9ca3af;
  color: #1f2937;
  transform: scale(1.05);
}

.ridc-card-nav-btn:active:not(:disabled) {
  transform: scale(0.95);
}

.ridc-card-nav-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.ridc-card-nav-btn svg {
  width: 20px;
  height: 20px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .ridc-card-fields {
    gap: 12px;
  }

  .ridc-card-field {
    padding: 10px;
  }

  .ridc-card-nav-btn {
    width: 36px;
    height: 36px;
  }
}

.ridc-table.ridc-sortable {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.ridc-table.ridc-sortable thead {
  background: #f9fafb;
  border-bottom: 2px solid #e5e7eb;
}

.ridc-table.ridc-sortable thead th {
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  color: #374151;
  white-space: nowrap;
}

.ridc-table.ridc-sortable thead th.sortable {
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s;
}

.ridc-table.ridc-sortable thead th.sortable:hover {
  background: #f3f4f6;
}

.ridc-table.ridc-sortable thead th.sortable:active {
  background: #e5e7eb;
}

.ridc-table.ridc-sortable tbody tr {
  border-bottom: 1px solid #e5e7eb;
  transition: background-color 0.15s;
}

.ridc-table.ridc-sortable tbody tr:hover {
  background: #f9fafb;
}

.ridc-table.ridc-sortable tbody tr:last-child {
  border-bottom: none;
}

.ridc-table.ridc-sortable tbody td {
  padding: 12px 16px;
  color: #1f2937;
  white-space: nowrap;  /* Varsayılan: wrap yok */
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Wrap mode aktif */
.ridc-table.ridc-sortable.ridc-table-wrapped tbody td {
  white-space: normal;  /* Metni kaydır */
  overflow: visible;
  text-overflow: clip;
}

.ridc-table.ridc-sortable.ridc-table-wrapped thead th {
  white-space: normal;
}

/* Empty state */
.ridc-table.ridc-sortable tbody tr td[colspan] {
  text-align: center;
  color: #9ca3af;
  font-style: italic;
  padding: 24px;
}

/* ═══════════════════════════════════════════════════════════════════ */
/* STATUS BAR & BADGES */
/* ═══════════════════════════════════════════════════════════════════ */

.ridc-status-bar {
  display: flex;
  gap: 6px;
  margin: 0;
  flex-wrap: wrap;
  align-items: center;
}

.ridc-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  white-space: nowrap;
  min-height: 28px !important;
  min-width: 28px !important;
  cursor: default !important;
  box-shadow: none !important;
}

.ridc-status-badge.active {
  background: #dcfce7 !important;
  color: #166534 !important;
  border: 1px solid #bbf7d0 !important;
}

.ridc-status-badge.historic {
  background: #fef3c7 !important;
  color: #92400e !important;
  border: 1px solid #fde68a !important;
}

.ridc-status-badge.selected {
  background: #dbeafe !important;
  color: #1e40af !important;
  border: 1px solid #93c5fd !important;
}

/* Icon styling inside badge */
.ridc-status-badge .status-icon {
  font-size: 13px;
  line-height: 1;
}

.ridc-status-badge .status-count {
  font-weight: 700;
  font-size: 12px;
}

/* ═══════════════════════════════════════════════════════════════════ */
/* HISTORIC BUTTON (in header toolbar) */
/* ═══════════════════════════════════════════════════════════════════ */

.ridc-btn.ridc-btn--historic {
  background: #fef3c7;
  color: #92400e;
  border-color: #fde68a;
}

.ridc-btn.ridc-btn--historic:hover {
  background: #fde68a;
}

.ridc-btn.ridc-btn--historic:active {
  background: #fcd34d;
}

/* Rules header button warning state (non-blocking failures) */
#CardsHost .ridc-btn--rules.yellow,
.ridc-btn--rules.yellow {
  background: #fef3c7 !important;
  color: #92400e !important;
  border-color: #f59e0b !important;
}

#CardsHost .ridc-btn--rules.yellow:hover,
.ridc-btn--rules.yellow:hover {
  background: #fde68a !important;
  color: #78350f !important;
}

/* ═══════════════════════════════════════════════════════════════════ */
/* RESPONSIVE DESIGN */
/* ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  .ridc-table-controls {
    flex-direction: column;
    align-items: stretch;
  }
  
  .ridc-table-search {
    max-width: none;
  }
  
  .ridc-table-count {
    text-align: center;
  }
  
  .ridc-sortable-table-container {
    margin: 12px 0;
  }
  
  .ridc-table.ridc-sortable {
    font-size: 13px;
  }
  
  .ridc-table.ridc-sortable thead th,
  .ridc-table.ridc-sortable tbody td {
    padding: 8px 12px;
  }
  
  .ridc-status-bar {
    margin-bottom: 8px;
  }
  
  .ridc-status-badge {
    font-size: 11px;
    padding: 3px 8px;
  }
}

@media (max-width: 480px) {
  .ridc-table.ridc-sortable {
    font-size: 12px;
  }
  
  .ridc-table.ridc-sortable thead th,
  .ridc-table.ridc-sortable tbody td {
    padding: 6px 8px;
  }
  
  /* Horizontal scroll hint */
  .ridc-table-wrapper::after {
    content: '← Kaydırarak daha fazla göster →';
    display: block;
    text-align: center;
    padding: 8px;
    font-size: 11px;
    color: #9ca3af;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
  }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* LOADING & ANIMATIONS */
/* ═══════════════════════════════════════════════════════════════════ */

.ridc-table-loading {
  text-align: center;
  padding: 24px;
  color: #9ca3af;
}

.ridc-table-loading::before {
  content: '⏳';
  display: inline-block;
  margin-right: 8px;
  animation: ridc-spin 1s linear infinite;
}

@keyframes ridc-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* PRINT STYLES */
/* ═══════════════════════════════════════════════════════════════════ */

@media print {
  .ridc-table-controls {
    display: none;
  }
  
  .ridc-table.ridc-sortable thead th.sortable {
    cursor: default;
  }
  
  .ridc-table.ridc-sortable tbody tr:hover {
    background: none;
  }
  
  .ridc-btn.ridc-btn--historic {
    display: none;
  }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* ACCESSIBILITY IMPROVEMENTS */
/* ═══════════════════════════════════════════════════════════════════ */

/* Focus states */
.ridc-table-search:focus,
.ridc-table.ridc-sortable thead th.sortable:focus {
  outline: 2px solid #3b82f6;
  outline-offset: 2px;
}

/* Screen reader only text */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .ridc-table.ridc-sortable tbody tr {
    border-bottom: 2px solid #000;
  }
  
  .ridc-status-badge.active {
    border: 2px solid #166534;
  }

  .ridc-status-badge.historic {
    border: 2px solid #92400e;
  }

  .ridc-status-badge.selected {
    border: 2px solid #1e40af;
  }
}

/* Dark mode support (optional) */
@media (prefers-color-scheme: dark) {
  .ridc-sortable-table-container {
    color: #f3f4f6;
  }
  
  .ridc-table.ridc-sortable {
    background: #1f2937;
  }
  
  .ridc-table.ridc-sortable thead {
    background: #374151;
    border-bottom-color: #4b5563;
  }
  
  .ridc-table.ridc-sortable thead th {
    color: #f9fafb;
  }
  
  .ridc-table.ridc-sortable tbody tr {
    border-bottom-color: #374151;
  }
  
  .ridc-table.ridc-sortable tbody tr:hover {
    background: #374151;
  }
  
  .ridc-table.ridc-sortable tbody td {
    color: #e5e7eb;
  }
  
  .ridc-table-search {
    background: #374151;
    border-color: #4b5563;
    color: #f3f4f6;
  }
  
  .ridc-table-wrapper {
    border-color: #4b5563;
    background: #1f2937;
  }
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE - Mobil ve Küçük Ekranlar
   ═══════════════════════════════════════════════════════════════ */

/* Tablet ve daha küçük ekranlar için single column */
@media (max-width: 900px) {
  .cards-container {
    gap: 12px;
    margin: 8px;
    width: calc(100% - 16px);
  }

  .card {
    height: 350px;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100%;
    border-radius: 8px;
  }
}

@media (max-width: 768px) {
  .cards-container {
    gap: 10px;
    margin: 6px;
    width: calc(100% - 12px);
  }

  .card-header {
    padding: 10px 12px;
  }

  .card-title {
    font-size: 14px;
  }

  .card-body {
    padding: 10px;
    font-size: 13px;
  }

  .card-footer {
    padding: 6px 12px;
  }

  .ridc-btn {
    padding: 5px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 480px) {
  .cards-container {
    margin: 4px;
    width: calc(100% - 8px);
  }

  .card {
    height: 320px;
    width: 100% !important;
    max-width: 100% !important;
  }

  .card-header {
    padding: 8px 10px;
  }

  .card-title {
    font-size: 13px;
  }

  .card-body {
    padding: 8px;
    font-size: 12px;
  }
}


/* ==== RESPONSIVE FLEX GRID (gap hesaplanır, responsive korunur) ==== */
.cards-container,
.cards-container-v2 {
    /* Varsayılanları tanımla */
    --gap: 16px;
    --cols: 4; /* Desktop başlangıç: 4 kolon */
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
    margin: 12px;
    width: calc(100% - 24px);
    box-sizing: border-box;
    align-items: flex-start;
}

    /* Kart genişliğini gap ve kolon sayısına göre hesapla */
    .cards-container .card,
    .cards-container-v2 .card {
        /* Eski min-width kilitlerini yok say */
        min-width: 0 !important;
        box-sizing: border-box !important;
        /* 1 satırda --cols kadar kart sığdır:
     flex-basis = (100% - (cols-1)*gap) / cols  */
        flex: 0 0 calc((100% - ((var(--cols) - 1) * var(--gap))) / var(--cols)) !important;
        max-width: calc((100% - ((var(--cols) - 1) * var(--gap))) / var(--cols)) !important;
        /* Diğer genişlik kurallarını etkisizleştir */
        width: auto !important;
    }

/* ===== Breakpoints: sadece --cols (ve gerekirse --gap) ayarla ===== */

/* ≥1200px — 4 kolon (varsayılan) */
@media (min-width: 1200px) {
    .cards-container,
    .cards-container-v2 {
        --cols: 4;
        --gap: 16px;
    }
}

/* 992–1199px — 3 kolon */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .cards-container,
    .cards-container-v2 {
        --cols: 3;
        --gap: 16px;
    }
}

/* 768–991px — 2 kolon */
@media (min-width: 768px) and (max-width: 991.98px) {
    .cards-container,
    .cards-container-v2 {
        --cols: 2;
        --gap: 14px;
    }
}

/* <768px — 1 kolon */
@media (max-width: 767.98px) {
    .cards-container,
    .cards-container-v2 {
        --cols: 1;
        --gap: 10px;
    }
}

/* ==== data-col override: @layer base içinde olmalı çünkü !important ile layer önceliği tersine döner ==== */
@layer base {
    /* col-12: tam genişlik, auto yükseklik, overflow visible */
    .cards-container .card[data-col="12"],
    .cards-container-v2 .card[data-col="12"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    /* col-12 header: title left, actions right (row layout) */
    .cards-container .card[data-col="12"] .card-header,
    .cards-container-v2 .card[data-col="12"] .card-header {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        padding: 8px 14px !important;
    }

    .cards-container .card[data-col="12"] .card-header .card-title,
    .cards-container-v2 .card[data-col="12"] .card-header .card-title {
        text-align: left !important;
        width: auto !important;
        flex-shrink: 0;
    }

    .cards-container .card[data-col="12"] .card-header .card-actions,
    .cards-container-v2 .card[data-col="12"] .card-header .card-actions {
        width: auto !important;
        justify-content: flex-end !important;
        flex-wrap: wrap;
    }

    /* col-12 body: no fixed overflow, auto height, expand to fit all content */
    .cards-container .card[data-col="12"] .card-body,
    .cards-container-v2 .card[data-col="12"] .card-body {
        overflow-y: visible !important;
        overflow-x: visible !important;
        flex: 1 1 auto !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
    }

    /* col-6 */
    .cards-container .card[data-col="6"],
    .cards-container-v2 .card[data-col="6"] {
        flex: 0 0 calc(50% - var(--gap) / 2) !important;
        max-width: calc(50% - var(--gap) / 2) !important;
    }

    /* col-4 */
    .cards-container .card[data-col="4"],
    .cards-container-v2 .card[data-col="4"] {
        flex: 0 0 calc(33.333% - var(--gap) * 2 / 3) !important;
        max-width: calc(33.333% - var(--gap) * 2 / 3) !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
 * TAB BAR (v2.1.0)
 * ═══════════════════════════════════════════════════════════════════════════ */

.v2-tab-bar {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--mw-border, #e5e7eb);
    background: var(--mw-bg, #ffffff);
    padding: 0 12px;
    position: sticky;
    top: 0;
    z-index: 100;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.v2-tab-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    border: none;
    background: transparent;
    color: var(--mw-muted, #6b7280);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
}

.v2-tab-item:hover {
    color: var(--mw-text, #111827);
    background: var(--mw-bg-soft, #fafafa);
}

.v2-tab-item.active {
    color: var(--mw-primary, #10b981);
    border-bottom-color: var(--mw-primary, #10b981);
    font-weight: 600;
}

.v2-tab-item i {
    font-size: 14px;
}

.v2-tab-panels {
    width: 100%;
}

.v2-tab-content {
    padding-top: 8px;
}

/* Responsive tab bar */
@media (max-width: 768px) {
    .v2-tab-item {
        padding: 8px 12px;
        font-size: 12px;
    }

    .v2-tab-item span {
        display: none;
    }

    .v2-tab-item i {
        font-size: 16px;
    }
}

/* Corporate card V2 — body fill + stable badge slot + bottom toolbar */
.card-body.corp-v2-card-body-host {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
}

.corp-v2-wrap .dx-multiview,
.corp-v2-wrap .dx-multiview-wrapper,
.corp-v2-wrap .dx-multiview-item,
.corp-v2-wrap .dx-multiview-item-content {
    height: 100% !important;
    min-height: 0 !important;
}

.corp-v2-record-badge.ridc-status-badge,
.corp-v2-record-badge-slot {
    margin: 0 !important;
    padding: 4px 6px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}
