// Custom Theming for NG-ZORRO
@import "../../../../../node_modules/ng-zorro-antd/ng-zorro-antd.compact.less";
@import "../service/fikoyt-ui/src/lib/temalar/temalar.less";

@breadcrumb-separator-margin: 0 0;
@alert-padding-vertical: 0px;
@alert-padding-horizontal: 0px;
@wave-animation-width: 14px;

dinamik-bilesen .ant-picker,
dinamik-bilesen .ant-select:not(.ant-select-customize-input) .ant-select-selector {
  background: var(--py-arkaplan-hover, rgba(0,0,0,.02)) !important;
  border: 1px solid var(--py-kenarlik, rgba(0,0,0,.1)) !important;
  border-radius: 8px !important;
  min-height: 34px;
  font-size: 13px !important;
  transition: border-color .25s, box-shadow .25s, background .25s !important;
}
dinamik-bilesen .ant-picker input,
dinamik-bilesen .ant-select-selection-search-input,
dinamik-bilesen .ant-select-selection-item {
  font-size: 13px !important;
  color: var(--py-metin) !important;
}
dinamik-bilesen .ant-picker:hover,
dinamik-bilesen .ant-select:not(.ant-select-customize-input):hover .ant-select-selector {
  border-color: rgba(102,126,234,.3) !important;
}
dinamik-bilesen .ant-picker-focused,
dinamik-bilesen .ant-select-focused .ant-select-selector {
  border-color: rgba(102,126,234,.5) !important;
  box-shadow: 0 0 0 2px rgba(102,126,234,.08) !important;
}

.ant-card {
    border-radius: 10px;
}

[ant-click-animating-without-extra-node="true"]:not([z-index]) {
    z-index: 1;
}

html {
    font-size: 0.75rem;
}

html,
body {
    padding: 0;
    margin: 0;
    background: #e6e6e6;
    color: var(--py-metin, rgba(0, 0, 0, 0.88));
    transition: background 0.3s, color 0.3s;
}

// Dark mode body + html arka plan (overscroll dahil)
body.tema-karanlik {
    background: #141414;
    color: rgba(255, 255, 255, 0.88);
}

// html elementi de koyu arka plan alsin (overscroll/rubber-band icin)
html.tema-karanlik,
html:has(body.tema-karanlik) {
    background: #141414;
    color: rgba(255, 255, 255, 0.88);
}

// Tam ekran modunda FikoYT page header'i gizle (HMI pano vb.)
:fullscreen {
    --fikoyt-uygulama-baslik-yukseklik: 0px;

    fikoyt-uygulama-baslik {
        display: none !important;
    }
}

// Kullanici secim ve drag engelleme (sadece standart ozellikler)
*:not(input, textarea) {
    -webkit-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
}

.ui.animated.button>.hidden.content {
    opacity: 1;
    display: block !important;
}

.ant-drawer-content {
    pointer-events: auto;
}

// CDK scroll block'u tamamen devre disi birak - dialog acilinca sayfa scroll pozisyonu korunsun
html.cdk-global-scrollblock {
    position: static !important;
    top: auto !important;
    left: auto !important;
    overflow-y: scroll !important;
    width: auto !important;
}

body {
    position: relative !important;
}

// ═══ Global Dropdown Tema ═══
.ant-select-dropdown {
    background: var(--py-arkaplan) !important;
    border: 1px solid var(--py-kenarlik) !important;
    box-shadow: var(--py-golge-yukselti) !important;
    max-height: 320px !important;
    .ant-select-item { min-height: 40px; padding: 6px 12px; display: flex; align-items: center; }
    .ant-select-item { color: var(--py-metin) !important; }
    .ant-select-item-option-active { background: var(--py-arkaplan-hover) !important; }
    .ant-select-item-option-selected { background: var(--py-arkaplan-aktif) !important; color: var(--py-metin) !important; }
    .ant-select-item-option-content { color: var(--py-metin) !important; }
    .ant-select-item-empty { color: var(--py-metin-ucuncul) !important; }
}
.ant-picker-dropdown {
    .ant-picker-panel-container { background: var(--py-arkaplan) !important; border: 1px solid var(--py-kenarlik) !important; }
    .ant-picker-header { color: var(--py-metin) !important; border-bottom-color: var(--py-kenarlik) !important; }
    .ant-picker-header button { color: var(--py-metin-ikincil) !important; }
    .ant-picker-body { color: var(--py-metin) !important; }
    .ant-picker-cell-inner { color: var(--py-metin) !important; }
    .ant-picker-cell:hover .ant-picker-cell-inner { background: var(--py-arkaplan-hover) !important; }
    .ant-picker-footer { border-top-color: var(--py-kenarlik) !important; }
}
.ant-input-number-dropdown { background: var(--py-arkaplan) !important; border: 1px solid var(--py-kenarlik) !important; }

// ═══ Dark Mode - ng-zorro Global Override ═══
body.tema-karanlik {
    // Pagination
    .ant-pagination {
        color: var(--py-metin, rgba(255,255,255,0.88));

        .ant-pagination-item {
            background: var(--py-arkaplan-yukselti, #2a2a2a);
            border-color: var(--py-kenarlik, #434343);
            a { color: var(--py-metin, rgba(255,255,255,0.88)); }
            &:hover {
                border-color: var(--py-kenarlik-aktif, #177ddc);
                a { color: var(--py-kenarlik-aktif, #177ddc); }
            }
            &-active {
                background: var(--py-arkaplan-hover, #333);
                border-color: var(--py-kenarlik-aktif, #177ddc);
                a { color: var(--py-kenarlik-aktif, #177ddc); }
            }
        }
        .ant-pagination-prev, .ant-pagination-next {
            .ant-pagination-item-link {
                background: var(--py-arkaplan-yukselti, #2a2a2a);
                border-color: var(--py-kenarlik, #434343);
                color: var(--py-metin, rgba(255,255,255,0.88));
            }
            &:hover .ant-pagination-item-link {
                border-color: var(--py-kenarlik-aktif, #177ddc);
                color: var(--py-kenarlik-aktif, #177ddc);
            }
        }
        .ant-pagination-disabled {
            .ant-pagination-item-link {
                color: var(--py-metin-devre-disi, rgba(255,255,255,0.25)) !important;
                border-color: var(--py-kenarlik, #434343) !important;
                background: var(--py-arkaplan-soluk, rgba(255,255,255,0.06)) !important;
            }
        }
        .ant-pagination-options {
            color: var(--py-metin, rgba(255,255,255,0.88));

            .ant-select-selector {
                background: var(--py-arkaplan-yukselti, #2a2a2a) !important;
                border-color: var(--py-kenarlik, #434343) !important;
                color: var(--py-metin, rgba(255,255,255,0.88)) !important;
            }
            .ant-select-selection-item {
                color: var(--py-metin, rgba(255,255,255,0.88)) !important;
            }

            // Quick jumper — "Git" input + "Sayfa" text
            .ant-pagination-options-quick-jumper {
                color: var(--py-metin, rgba(255,255,255,0.88));

                input {
                    background: var(--py-input-arka, #2a2a2a) !important;
                    border-color: var(--py-input-kenarlik, #434343) !important;
                    color: var(--py-input-metin, rgba(255,255,255,0.88)) !important;

                    &::placeholder {
                        color: var(--py-placeholder, rgba(255,255,255,0.35));
                    }

                    &:hover {
                        border-color: var(--py-kenarlik-hover, #5a5a5a) !important;
                    }

                    &:focus {
                        border-color: var(--py-kenarlik-aktif, #177ddc) !important;
                        box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.15);
                    }
                }
            }
        }
        // Toplam metin
        .ant-pagination-total-text {
            color: var(--py-metin-ikincil, rgba(255,255,255,0.65));
        }
        .ant-pagination-jump-prev, .ant-pagination-jump-next {
            .ant-pagination-item-link { color: var(--py-metin-ucuncul, rgba(255,255,255,0.45)); }
        }
        // Simple pagination
        .ant-pagination-simple {
            .ant-pagination-simple-pager {
                input {
                    background: var(--py-input-arka, #2a2a2a) !important;
                    border-color: var(--py-kenarlik, #434343) !important;
                    color: var(--py-metin, rgba(255,255,255,0.88)) !important;
                }
            }
        }
    }

    // Select dropdown
    .ant-select-dropdown {
        background: var(--py-arkaplan-yukselti, #2a2a2a);
        box-shadow: 0 6px 16px rgba(0,0,0,.45), 0 3px 6px rgba(0,0,0,.3);
        .ant-select-item {
            color: var(--py-metin, rgba(255,255,255,0.88));
            &-option-active { background: var(--py-arkaplan-hover, #333); }
            &-option-selected { background: var(--py-arkaplan-aktif, #404040); color: var(--py-metin, rgba(255,255,255,0.88)); }
            &-option-content { color: var(--py-metin, rgba(255,255,255,0.88)); }
        }
        .sel-ad { color: var(--py-metin, rgba(255,255,255,0.88)); }
        .sel-detay { color: var(--py-metin-ikincil, rgba(255,255,255,0.65)) !important; }
        .sel-bilgi { color: var(--py-metin, rgba(255,255,255,0.88)); }
        nz-divider, .ant-divider { border-top-color: rgba(255,255,255,0.12) !important; }
        .aku-hizli-ekle { color: var(--py-link, #177ddc); &:hover { background: var(--py-arkaplan-hover, rgba(255,255,255,0.06)); } }
    }
    .ant-select-selection-placeholder { color: var(--py-placeholder, rgba(255,255,255,0.35)) !important; }
    .ant-select-selection-item { color: var(--py-input-metin, rgba(255,255,255,0.88)); }
    .ant-select-arrow { color: var(--py-metin-ucuncul, rgba(255,255,255,0.45)); }
    .ant-input-number-handler { background: var(--py-arkaplan-hover, #333); color: var(--py-metin-ucuncul, rgba(255,255,255,0.45)); &:hover { color: var(--py-kenarlik-aktif, #177ddc); } }
    .ant-input-number-handler-down { border-top-color: var(--py-kenarlik, #434343); }

    // Checkbox
    .ant-checkbox-wrapper {
        color: var(--py-metin, rgba(255,255,255,0.88));
    }
    .ant-checkbox .ant-checkbox-inner {
        background: var(--py-input-arka, #2a2a2a);
        border-color: var(--py-kenarlik, #434343);
    }
    .ant-checkbox-checked .ant-checkbox-inner {
        background: var(--py-kenarlik-aktif, #177ddc);
        border-color: var(--py-kenarlik-aktif, #177ddc);
    }

    // Popconfirm
    .ant-popconfirm {
        .ant-popconfirm-message-title { color: var(--py-metin, rgba(255,255,255,0.88)); }
    }

    // Input
    .ant-input {
        background: var(--py-input-arka, #2a2a2a);
        border-color: var(--py-input-kenarlik, #434343);
        color: var(--py-input-metin, rgba(255,255,255,0.88));
        &::placeholder { color: var(--py-placeholder, rgba(255,255,255,0.35)); }
        &:hover { border-color: var(--py-kenarlik-hover, #5a5a5a); }
        &:focus, &-focused { border-color: var(--py-kenarlik-aktif, #177ddc); box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.15); }
    }

    // Input affix wrapper (prefix/suffix icons)
    .ant-input-affix-wrapper {
        background: var(--py-input-arka, #2a2a2a);
        border-color: var(--py-input-kenarlik, #434343);
        color: var(--py-input-metin, rgba(255,255,255,0.88));
        &:hover { border-color: var(--py-kenarlik-hover, #5a5a5a); }
        &-focused, &:focus { border-color: var(--py-kenarlik-aktif, #177ddc); box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.15); }
        .ant-input-prefix, .ant-input-suffix { color: var(--py-metin-ucuncul, rgba(255,255,255,0.45)); }
        input.ant-input { background: transparent; }
    }

    // Input group wrapper
    .ant-input-group-wrapper {
        .ant-input-group-addon {
            background: var(--py-arkaplan-hover, #333);
            border-color: var(--py-input-kenarlik, #434343);
            color: var(--py-metin, rgba(255,255,255,0.88));
        }
    }

    // Input number
    .ant-input-number {
        background: var(--py-input-arka, #2a2a2a);
        border-color: var(--py-input-kenarlik, #434343);
        color: var(--py-input-metin, rgba(255,255,255,0.88));
        &:hover { border-color: var(--py-kenarlik-hover, #5a5a5a); }
        &-focused { border-color: var(--py-kenarlik-aktif, #177ddc); box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.15); }
        .ant-input-number-input { color: var(--py-input-metin, rgba(255,255,255,0.88)); &::placeholder { color: var(--py-placeholder, rgba(255,255,255,0.35)); } }
        .ant-input-number-handler-wrap { background: var(--py-arkaplan-yukselti, #2a2a2a); border-color: var(--py-input-kenarlik, #434343); }
        .ant-input-number-handler { color: var(--py-metin-ucuncul, rgba(255,255,255,0.45)); &:hover { color: var(--py-kenarlik-aktif, #177ddc); } }
    }

    // Textarea
    textarea.ant-input {
        background: var(--py-input-arka, #2a2a2a);
        border-color: var(--py-input-kenarlik, #434343);
        color: var(--py-input-metin, rgba(255,255,255,0.88));
        &::placeholder { color: var(--py-placeholder, rgba(255,255,255,0.35)); }
        &:hover { border-color: var(--py-kenarlik-hover, #5a5a5a); }
        &:focus { border-color: var(--py-kenarlik-aktif, #177ddc); box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.15); }
    }

    // Message
    .ant-message-notice-content {
        background: var(--py-arkaplan-yukselti, #2a2a2a);
        color: var(--py-metin, rgba(255,255,255,0.88));
        box-shadow: var(--py-golge-yukselti);
    }

    // Notification
    .ant-notification-notice {
        background: var(--py-arkaplan-yukselti, #2a2a2a);
        color: var(--py-metin, rgba(255,255,255,0.88));
        box-shadow: 0 6px 16px rgba(0,0,0,0.3), 0 3px 6px rgba(0,0,0,0.2);
        .ant-notification-notice-message { color: var(--py-metin, rgba(255,255,255,0.88)); }
        .ant-notification-notice-description { color: var(--py-metin-ikincil, rgba(255,255,255,0.65)); }
        .ant-notification-notice-close { color: var(--py-metin-ucuncul, rgba(255,255,255,0.45)); }
    }

    // Tooltip
    .ant-tooltip-inner {
        background: var(--py-arkaplan-hover, #333);
        color: var(--py-metin, rgba(255,255,255,0.88));
    }
    .ant-tooltip-arrow-content,
    .ant-tooltip-arrow::before {
        background: var(--py-arkaplan-hover, #333);
    }

    // Dropdown
    .ant-dropdown-menu {
        background: var(--py-arkaplan-yukselti, #2a2a2a);
        box-shadow: 0 6px 16px rgba(0,0,0,0.3);
        .ant-dropdown-menu-item {
            color: var(--py-metin, rgba(255,255,255,0.88));
            &:hover { background: var(--py-arkaplan-hover, #333); }
            &-disabled { color: var(--py-metin-devre-disi, rgba(255,255,255,0.25)); }
        }
        .ant-dropdown-menu-item-divider { background: var(--py-bolucu, rgba(255,255,255,0.08)); }
    }

    // Tabs
    .ant-tabs {
        color: var(--py-metin, rgba(255,255,255,0.88));
        .ant-tabs-tab { color: var(--py-metin-ikincil, rgba(255,255,255,0.65)); &:hover { color: var(--py-metin, rgba(255,255,255,0.88)); } }
        .ant-tabs-tab-active .ant-tabs-tab-btn { color: var(--py-kenarlik-aktif, #177ddc); }
        .ant-tabs-nav::before { border-bottom-color: var(--py-bolucu, rgba(255,255,255,0.08)); }
        // Card tipi tab arka planlari
        &.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab,
        &.ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab {
            background: var(--py-arkaplan-hover, #333);
            border-color: var(--py-kenarlik, #434343);
        }
        &.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active,
        &.ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab-active {
            background: var(--py-arkaplan-yukselti, #2a2a2a);
            border-color: var(--py-kenarlik, #434343);
            border-bottom-color: var(--py-arkaplan-yukselti, #2a2a2a);
        }
    }

    // Table
    .ant-table {
        background: var(--py-arkaplan, #1f1f1f);
        color: var(--py-metin, rgba(255,255,255,0.88));
        .ant-table-thead > tr > th {
            background: var(--py-arkaplan-yukselti, #2a2a2a);
            color: var(--py-metin, rgba(255,255,255,0.88));
            border-bottom-color: var(--py-bolucu, rgba(255,255,255,0.08));
        }
        .ant-table-tbody > tr > td { border-bottom-color: var(--py-bolucu, rgba(255,255,255,0.08)); }
        .ant-table-tbody > tr:hover > td { background: var(--py-arkaplan-hover, #333); }
    }

    // Alert
    .ant-alert {
        &-warning { background: var(--py-uyari-arka, #2b2111); border-color: var(--py-uyari-kenarlik, #594214); }
        &-error { background: var(--py-hata-arka, #2c1618); border-color: var(--py-hata-kenarlik, #58181c); }
        &-success { background: var(--py-basari-arka, #162312); border-color: var(--py-basari-kenarlik, #274916); }
        &-info { background: rgba(23,125,220,0.1); border-color: rgba(23,125,220,0.3); }
        &-message { color: var(--py-metin, rgba(255,255,255,0.88)); }
        &-description { color: var(--py-metin-ikincil, rgba(255,255,255,0.65)); }
    }

    // Form
    .ant-form-item-label > label { color: var(--py-metin, rgba(255,255,255,0.88)); }
    .ant-form-item-explain { color: var(--py-metin-ikincil, rgba(255,255,255,0.65)); }

    // Tag
    .ant-tag {
        background: var(--py-arkaplan-hover, #333);
        color: var(--py-metin, rgba(255,255,255,0.88));
        border-color: var(--py-kenarlik, #434343);
    }

    // Select
    .ant-select:not(.ant-select-customize-input) .ant-select-selector {
        background: var(--py-input-arka, #2a2a2a);
        border-color: var(--py-input-kenarlik, #434343);
        color: var(--py-input-metin, rgba(255,255,255,0.88));
    }
    .ant-select:not(.ant-select-disabled):hover .ant-select-selector { border-color: var(--py-kenarlik-hover, #5a5a5a); }
    .ant-select-focused:not(.ant-select-disabled) .ant-select-selector { border-color: var(--py-kenarlik-aktif, #177ddc) !important; box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.15); }
    .ant-select-arrow { color: var(--py-metin-ucuncul, rgba(255,255,255,0.45)); }
    .ant-select-selection-placeholder { color: var(--py-placeholder, rgba(255,255,255,0.35)) !important; }
    .ant-select-selection-item { color: var(--py-input-metin, rgba(255,255,255,0.88)); }
    .ant-select-clear { background: var(--py-input-arka, #2a2a2a); color: var(--py-metin-ucuncul, rgba(255,255,255,0.45)); }

    // Button - default, text, dashed
    .ant-btn-default {
        background: var(--py-arkaplan-yukselti, #2a2a2a);
        color: var(--py-metin, rgba(255,255,255,0.88));
        border-color: var(--py-kenarlik, #434343);
        &:hover { background: var(--py-arkaplan-hover, #333); border-color: var(--py-kenarlik-hover, #5a5a5a); }
    }
    .ant-btn-text { color: var(--py-metin, rgba(255,255,255,0.88)); &:hover { background: var(--py-arkaplan-hover, #333); } }
    .ant-btn-dashed {
        background: var(--py-arkaplan-yukselti, #2a2a2a);
        color: var(--py-metin, rgba(255,255,255,0.88));
        border-color: var(--py-kenarlik, #434343);
    }

    // Divider
    .ant-divider { border-top-color: var(--py-bolucu, rgba(255,255,255,0.08)); color: var(--py-metin-ucuncul, rgba(255,255,255,0.45)); }

    // DatePicker
    .ant-picker {
        background: var(--py-input-arka, #2a2a2a);
        border-color: var(--py-input-kenarlik, #434343);
        color: var(--py-input-metin, rgba(255,255,255,0.88));
        .ant-picker-input > input { color: var(--py-input-metin, rgba(255,255,255,0.88)); }
        .ant-picker-suffix, .ant-picker-clear { color: var(--py-metin-ucuncul, rgba(255,255,255,0.45)); }
    }
    .ant-picker-dropdown .ant-picker-panel-container {
        background: var(--py-arkaplan-yukselti, #2a2a2a);
        .ant-picker-header { color: var(--py-metin, rgba(255,255,255,0.88)); border-bottom-color: var(--py-bolucu, rgba(255,255,255,0.08)); }
        .ant-picker-cell-in-view { color: var(--py-metin, rgba(255,255,255,0.88)); }
    }

    // Empty
    .ant-empty-description { color: var(--py-metin-ucuncul, rgba(255,255,255,0.45)); }

    // Popconfirm buttons
    .ant-popconfirm-buttons .ant-btn-default {
        background: var(--py-arkaplan-yukselti, #2a2a2a);
        color: var(--py-metin, rgba(255,255,255,0.88));
        border-color: var(--py-kenarlik, #434343);
    }

    // Drawer close
    .ant-drawer-close { color: var(--py-metin-ikincil, rgba(255,255,255,0.65)); &:hover { color: var(--py-metin, rgba(255,255,255,0.88)); } }

    // Shimmer dark mode
    .yt-shimmer {
        background: linear-gradient(90deg, #2a2a2a 25%, #333 50%, #2a2a2a 75%);
        background-size: 200% 100%;
    }

    // Bos durum dark mode
    .yt-bos-durum__baslik { color: var(--py-metin-ikincil, rgba(255,255,255,0.65)); }
    .yt-bos-durum__aciklama { color: var(--py-metin-ucuncul, rgba(255,255,255,0.45)); }
}

/* YAP: Yazdırma CSS - Menüleri ve gereksiz elementleri gizle */
@media print {
  /* Menüleri gizle */
  nz-sider,
  .ant-layout-sider,
  nz-header,
  .ant-layout-header,
  nz-footer,
  .ant-layout-footer,
  .ui.menu,
  .ui.sidebar,
  nav,
  header,
  footer,
  .no-print {
    display: none !important;
  }

  /* Layout düzenlemeleri */
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: white !important;
  }

  /* Ana içeriği genişlet */
  .ant-layout,
  .ant-layout-content,
  .ui.container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Sadece yazdırma içeriğini göster */
  .yazdirma-icerik,
  .print-only {
    display: block !important;
  }

  /* Scroll'u kaldır */
  * {
    overflow: visible !important;
  }
}

/* ========================================
   CDK Overlay Z-Index - Fallback değerler
   Dinamik z-index FikoDialogService.overlayZIndexAl() ile JS tarafında ayarlanır
   Bu CSS değerleri sadece fallback olarak kullanılır
   ======================================== */
.cdk-overlay-container {
  z-index: 2000 !important;
}

.cdk-overlay-pane {
  z-index: 2001 !important;
}

/* Semantic UI Modal - Fallback */
.ui.modals.dimmer {
  z-index: 1999 !important;
}

.ui.modal.visible.active {
  z-index: 2000 !important;
}

/* Fiko Sağ Tuş Menüsü - Dinamik z-index JS'de ayarlanır */
.fiko-sag-menu-overlay {
  z-index: 2002 !important;
}

/* Yuz etiketleme popover — modal üstünde görünmeli */
.ye-popover {
  .ant-popover-inner {
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
    padding: 14px;
  }
  .ant-popover-arrow-content,
  .ant-popover-arrow::before,
  .ant-popover-arrow::after {
    background: #fff;
  }
}

body.tema-karanlik .ye-popover {
  .ant-popover-inner {
    background: var(--py-arkaplan-yukselti, #2a2a2a);
    color: var(--py-metin, rgba(255,255,255,0.88));
  }
  .ant-popover-arrow-content,
  .ant-popover-arrow::before,
  .ant-popover-arrow::after {
    background: var(--py-arkaplan-yukselti, #2a2a2a);
  }
}

/* ========================================
   Yüz Tanıma Sistemi - Global UX Animasyonları
   ======================================== */

// Fade-in animasyonu
.yt-fade-in {
  animation: ytFadeIn 0.3s ease;
}
@keyframes ytFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

// Slide-up animasyonu
.yt-slide-up {
  animation: ytSlideUp 0.3s ease;
}
@keyframes ytSlideUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

// Scale-in animasyonu (modal/card için)
.yt-scale-in {
  animation: ytScaleIn 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes ytScaleIn {
  from { opacity: 0; transform: scale(0.92); }
  to { opacity: 1; transform: scale(1); }
}

// Nabız animasyonu (canlı durum göstergesi)
.yt-nabiz {
  animation: ytNabiz 1.5s ease-in-out infinite;
}
@keyframes ytNabiz {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

// Canlı durum noktası
.yt-canli-nokta {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3b82f6;
  animation: ytNabiz 1.5s ease-in-out infinite;
}
.yt-canli-nokta--basarili { background: #22c55e; }
.yt-canli-nokta--hata { background: #ef4444; }
.yt-canli-nokta--uyari { background: #f59e0b; }

// Skeleton shimmer
.yt-shimmer {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: ytShimmer 1.5s infinite;
}
@keyframes ytShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

// Boş durum stili
.yt-bos-durum {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  color: #999;
  text-align: center;

  &__ikon {
    font-size: 48px;
    margin-bottom: 16px;
    opacity: 0.4;
  }
  &__baslik {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 8px;
    color: #666;
  }
  &__aciklama {
    font-size: 13px;
    margin-bottom: 16px;
    max-width: 320px;
  }
}

// Lightbox yüz etiket modları (global, tüm lightbox'larda geçerli)
.kf-lb-yuz-liste {
  border: 2px dotted rgba(255,255,255,0.4);
  transition: border-color 0.3s ease;
  &:hover { border-color: rgba(255,255,255,0.9); }
}

.kf-lb-yuz-temiz {
  border: 1.5px solid rgba(255,255,255,0.15);
  border-radius: 4px;
  transition: border-color 0.3s ease;
  &:hover { border-color: rgba(255,255,255,0.5); }
}

.kf-lb-yuz-etiket {
  border: none;
}

.kf-lb-etiket-chip {
  position: absolute;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px 2px 2px;
  background: rgba(0,0,0,0.75);
  border-radius: 14px;
  white-space: nowrap;
  backdrop-filter: blur(8px);
  animation: ytFadeIn 0.2s ease;
}

.kf-lb-etiket-isim {
  font-size: 11px;
  color: #fff;
  font-weight: 500;
}

.kf-lb-mod-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 16px;
  background: rgba(0,0,0,0.5);
  color: #fff;
  font-size: 12px;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: all 0.2s ease;
  &:hover {
    background: rgba(0,0,0,0.7);
    border-color: rgba(255,255,255,0.5);
  }
}
.kf-lb-mod-etiket { font-weight: 500; }

.kf-lb-isim-fade {
  animation: ytFadeIn 0.2s ease;
}

/* Leaflet harita düzeltmeleri */
.leaflet-container {
  img {
    max-width: none !important;
    max-height: none !important;
  }
  .leaflet-tile {
    max-width: none !important;
    max-height: none !important;
  }
  .leaflet-control-zoom a {
    user-select: none;
  }
}

.kart-menu-grid {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  padding: 4px;
}
.kart-menu-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 12px;
  border: 1px solid var(--py-kenarlik, #d9d9d9);
  border-radius: 8px;
  background: var(--py-arkaplan, #fff);
  cursor: pointer;
  min-width: 56px;
  transition: all .2s;
  font-size: 10px;
  color: var(--py-metin-ikincil, #666);
}
.kart-menu-btn nz-icon {
  font-size: 18px;
  color: var(--py-metin, #333);
}
.kart-menu-btn:hover {
  background: var(--py-arkaplan-hover, #f5f5f5);
  transform: translateY(-1px);
}
.kart-menu-btn--tehlike {
  border-color: rgba(255, 77, 79, .2);
}
.kart-menu-btn--tehlike nz-icon {
  color: #ff4d4f;
}
.kart-menu-btn--tehlike:hover {
  background: rgba(255, 77, 79, .05);
}
body.tema-karanlik {
  .kart-menu-btn {
    background: var(--py-arkaplan, #1f1f1f);
    border-color: var(--py-kenarlik, #434343);
    color: var(--py-metin-ikincil, #a6a6a6);
  }
  .kart-menu-btn nz-icon {
    color: var(--py-metin, #e0e0e0);
  }
  .kart-menu-btn:hover {
    background: var(--py-arkaplan-hover, #2a2a2a);
  }
  .kart-menu-btn--tehlike:hover {
    background: rgba(255, 77, 79, .1);
  }
}

// ═══ Rich Select Dropdown Items ═══
.sel-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  height: 100%;
  line-height: normal;
}
.ant-select-selection-item .sel-item {
  height: 100%;
  padding: 0;
}
.sel-emoji {
  font-size: 14px;
  flex-shrink: 0;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}
.ant-select-item-option-content .sel-emoji {
  font-size: 16px;
}
.sel-bilgi {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.sel-ad {
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sel-detay {
  font-size: 10px;
  color: var(--py-metin-ikincil, #999);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}
// Dropdown panel item sel-item iç padding
.ant-select-item-option-content .sel-item {
  padding: 2px 0;
}
.ant-select-item-option-content .sel-bilgi {
  gap: 1px;
}

body.tema-karanlik {
  .sel-ad { color: var(--py-metin, rgba(255,255,255,0.88)); }
  .sel-detay { color: var(--py-metin-ikincil, rgba(255,255,255,0.55)); }
}

.flt-uye-dropdown-panel {
  &.ant-select-dropdown { min-width: 460px !important; }

  .ant-select-item {
    height: auto !important;
    min-height: 56px !important;
    padding: 12px !important;
    line-height: normal !important;
  }
  .ant-select-item-option {
    height: auto !important;
    min-height: 56px !important;
    padding: 12px !important;
    display: flex !important;
    align-items: center !important;
  }
  .ant-select-item-option-content {
    overflow: visible !important;
    white-space: normal !important;
    line-height: normal !important;
    display: flex !important;
    align-items: center !important;
    min-height: 40px !important;
  }
  cdk-virtual-scroll-viewport {
    height: auto !important;
    min-height: 56px !important;
    max-height: 350px !important;
  }
  .cdk-virtual-scroll-content-wrapper {
    position: relative !important;
  }

  .flt-uye-option {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 40px !important;
    padding: 4px 0 !important;
  }
  .flt-uye-avatar {
    width: 36px !important; height: 36px !important; border-radius: 50% !important;
    object-fit: cover !important; flex-shrink: 0 !important;
  }
  .flt-uye-avatar-placeholder {
    width: 36px !important; height: 36px !important; border-radius: 50% !important;
    flex-shrink: 0 !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    font-size: 18px !important;
  }
  .flt-uye-bilgi {
    display: flex !important; flex-direction: column !important;
    gap: 2px !important; line-height: 1.3 !important; min-width: 0 !important;
  }
  .flt-uye-ad {
    font-size: 13px !important; font-weight: 600 !important;
  }
  .flt-uye-kullanici {
    font-size: 11px !important; color: var(--py-metin-ikincil, #999) !important;
  }
}

.sk {
  display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 10px;
  background: var(--py-arkaplan-yukselti, #fff);
  border: 1px solid var(--py-kenarlik, #e8e8e8);
  // border-left: 3px solid var(--sk-accent, #1890ff);
  transition: border-color .2s, box-shadow .2s, transform .15s;
  position: relative; overflow: hidden;
}
.sk:hover {
  border-color: var(--sk-accent, #1890ff);
  box-shadow: 0 2px 8px var(--py-arkaplan-soluk, rgba(0,0,0,.06));
  transform: translateY(-1px);
}
.sk-icerik { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.sk-baslik { font-size: 14px; font-weight: 600; color: var(--py-metin, #333); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sk-alt {
    font-size: 11px;
    color: var(--py-metin-ikincil, #999);
    /* white-space: nowrap; */
    overflow: hidden;
    /* text-overflow: ellipsis; */
    /* max-width: 100%; */
}
.sk-chip {
  display: inline-flex; align-items: center; gap: 4px; font-size: 9px; font-weight: 500;
  padding: 2px 8px; border-radius: 10px;
  background: var(--py-arkaplan-soluk, rgba(0,0,0,.04));
  color: var(--py-metin-ikincil, #666);
  border: 1px solid var(--py-kenarlik, #e8e8e8);
  white-space: nowrap;
}
.sk-badge { font-size: 9px; font-weight: 600; padding: 2px 8px; border-radius: 10px; color: #fff; white-space: nowrap; }
.sk-sag { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex-shrink: 0; }
.sk-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.sk-bar { height: 3px; border-radius: 2px; background: var(--py-kenarlik, #e8e8e8); overflow: hidden; width: 100%; margin-top: 4px; }
.sk-bar-dolgu { height: 100%; border-radius: 2px; background: var(--sk-accent, #1890ff); transition: width .5s ease; }
.sk-stat { font-size: 10px; color: var(--py-metin-ikincil, #999); display: flex; gap: 8px; flex-wrap: wrap; }
.sk-stat b { color: var(--py-metin, #333); font-variant-numeric: tabular-nums; }

/* Modal hiçbir ekranda taşmasın (tablet/orta ekran dahil) — desktop'ta etkisiz */
.ant-modal { max-width: 96vw; }

@media (max-width: 480px) {
  .sk { flex-wrap: wrap; gap: 8px; padding: 12px; }
  .sk-baslik { font-size: 13px; white-space: normal; }
  .sk-sag { flex-direction: row; gap: 8px; width: 100%; justify-content: flex-end; }

  .ant-modal {
    max-width: 95vw !important;
    margin: 8px auto !important;
  }
  .ant-modal-content {
    padding: 12px !important;
  }
  .ant-modal-body {
    max-height: 70vh !important;
    overflow-y: auto !important;
  }
  .ant-modal .ant-form-item {
    margin-bottom: 8px !important;
  }
  .ant-modal .ant-select,
  .ant-modal .ant-input,
  .ant-modal .ant-picker {
    width: 100% !important;
  }
}

// ═══════════════════════════════════════════════════
// TEMA SİSTEMİ — Çoklu Renk Temaları
// ═══════════════════════════════════════════════════

// ═══ TEMA: Okyanus ═══
body.tema-okyanus {
  --py-link: #0077b6;
  --py-link-hover: #023e8a;
  --py-arkaplan: #f8fdff;
  --py-arkaplan-yukselti: #ffffff;
  --py-arkaplan-hover: #e0f2ff;
  --py-kenarlik: #b8d8e8;
  --py-kenarlik-aktif: #0077b6;
  --py-kenarlik-hover: #48a9c9;
  --py-input-arka: #f0f9ff;
  --py-input-kenarlik: #b8d8e8;
  --py-input-metin: #023e8a;
  --py-metin: #023e8a;
  --py-metin-ikincil: #3a7ca5;
  --py-metin-ucuncul: #6aa3c4;
  --py-placeholder: #90cdf4;
  --py-bolucu: #d0ecf9;
  --km-accent: #0077b6;
  --km-accent2: #0096c7;
}
body.tema-okyanus.tema-karanlik {
  --py-arkaplan: #001219;
  --py-arkaplan-yukselti: #002233;
  --py-arkaplan-hover: #003344;
  --py-metin: #e0f2ff;
  --py-metin-ikincil: #88b4c8;
  --py-metin-ucuncul: #5c8fa8;
  --py-kenarlik: #004466;
  --py-kenarlik-aktif: #00b4d8;
  --py-kenarlik-hover: #0096c7;
  --py-input-arka: #001d2e;
  --py-input-kenarlik: #004466;
  --py-input-metin: #e0f2ff;
  --py-placeholder: rgba(224, 242, 255, 0.35);
  --py-bolucu: rgba(0, 180, 216, 0.12);
  --py-link: #48cae4;
  --py-link-hover: #90e0ef;
  --km-accent: #48cae4;
  --km-accent2: #00b4d8;
}

// ═══ TEMA: Orman ═══
body.tema-orman {
  --py-link: #2d6a4f;
  --py-link-hover: #1b4332;
  --py-arkaplan: #f5faf7;
  --py-arkaplan-yukselti: #ffffff;
  --py-arkaplan-hover: #d8f3dc;
  --py-kenarlik: #b7e4c7;
  --py-kenarlik-aktif: #2d6a4f;
  --py-kenarlik-hover: #52b788;
  --py-input-arka: #edf7f0;
  --py-input-kenarlik: #b7e4c7;
  --py-input-metin: #1b4332;
  --py-metin: #1b4332;
  --py-metin-ikincil: #40916c;
  --py-metin-ucuncul: #74c69d;
  --py-placeholder: #95d5b2;
  --py-bolucu: #d8f3dc;
  --km-accent: #2d6a4f;
  --km-accent2: #40916c;
}
body.tema-orman.tema-karanlik {
  --py-arkaplan: #0b1f14;
  --py-arkaplan-yukselti: #152d1e;
  --py-arkaplan-hover: #1e3d28;
  --py-metin: #d8f3dc;
  --py-metin-ikincil: #95d5b2;
  --py-metin-ucuncul: #52b788;
  --py-kenarlik: #1b4332;
  --py-kenarlik-aktif: #52b788;
  --py-kenarlik-hover: #40916c;
  --py-input-arka: #0f2619;
  --py-input-kenarlik: #1b4332;
  --py-input-metin: #d8f3dc;
  --py-placeholder: rgba(216, 243, 220, 0.35);
  --py-bolucu: rgba(82, 183, 136, 0.12);
  --py-link: #74c69d;
  --py-link-hover: #95d5b2;
  --km-accent: #74c69d;
  --km-accent2: #52b788;
}

// ═══ TEMA: Gün Batımı ═══
body.tema-gunbatimi {
  --py-link: #e85d04;
  --py-link-hover: #dc2f02;
  --py-arkaplan: #fffaf5;
  --py-arkaplan-yukselti: #ffffff;
  --py-arkaplan-hover: #fff3e0;
  --py-kenarlik: #f4c59e;
  --py-kenarlik-aktif: #e85d04;
  --py-kenarlik-hover: #f48c06;
  --py-input-arka: #fff8f0;
  --py-input-kenarlik: #f4c59e;
  --py-input-metin: #6a040f;
  --py-metin: #6a040f;
  --py-metin-ikincil: #b84a16;
  --py-metin-ucuncul: #dc7a3f;
  --py-placeholder: #f4a261;
  --py-bolucu: #fde2c8;
  --km-accent: #e85d04;
  --km-accent2: #dc2f02;
}
body.tema-gunbatimi.tema-karanlik {
  --py-arkaplan: #1a0a02;
  --py-arkaplan-yukselti: #2a1508;
  --py-arkaplan-hover: #3a200e;
  --py-metin: #fff3e0;
  --py-metin-ikincil: #f4a261;
  --py-metin-ucuncul: #c77b3f;
  --py-kenarlik: #4a2a0a;
  --py-kenarlik-aktif: #f48c06;
  --py-kenarlik-hover: #e85d04;
  --py-input-arka: #221005;
  --py-input-kenarlik: #4a2a0a;
  --py-input-metin: #fff3e0;
  --py-placeholder: rgba(255, 243, 224, 0.35);
  --py-bolucu: rgba(244, 140, 6, 0.12);
  --py-link: #f4a261;
  --py-link-hover: #f9c784;
  --km-accent: #f4a261;
  --km-accent2: #f48c06;
}

// ═══ TEMA: Mor Rüya ═══
body.tema-mor-ruya {
  --py-link: #7b2cbf;
  --py-link-hover: #5a189a;
  --py-arkaplan: #faf5ff;
  --py-arkaplan-yukselti: #ffffff;
  --py-arkaplan-hover: #f3e5f5;
  --py-kenarlik: #d4b5e8;
  --py-kenarlik-aktif: #7b2cbf;
  --py-kenarlik-hover: #9d4edd;
  --py-input-arka: #f5eefb;
  --py-input-kenarlik: #d4b5e8;
  --py-input-metin: #3c096c;
  --py-metin: #3c096c;
  --py-metin-ikincil: #7b2cbf;
  --py-metin-ucuncul: #b47de8;
  --py-placeholder: #c77dff;
  --py-bolucu: #e8d5f5;
  --km-accent: #7b2cbf;
  --km-accent2: #9d4edd;
}
body.tema-mor-ruya.tema-karanlik {
  --py-arkaplan: #10002b;
  --py-arkaplan-yukselti: #1a0040;
  --py-arkaplan-hover: #240060;
  --py-metin: #f3e5f5;
  --py-metin-ikincil: #c77dff;
  --py-metin-ucuncul: #9d4edd;
  --py-kenarlik: #3c096c;
  --py-kenarlik-aktif: #c77dff;
  --py-kenarlik-hover: #9d4edd;
  --py-input-arka: #140035;
  --py-input-kenarlik: #3c096c;
  --py-input-metin: #f3e5f5;
  --py-placeholder: rgba(243, 229, 245, 0.35);
  --py-bolucu: rgba(199, 125, 255, 0.12);
  --py-link: #c77dff;
  --py-link-hover: #e0aaff;
  --km-accent: #c77dff;
  --km-accent2: #9d4edd;
}

// ═══ TEMA: Kuzey Işıkları ═══
body.tema-kuzey-isiklari {
  --py-link: #00b4d8;
  --py-link-hover: #0077b6;
  --py-arkaplan: #f5fdff;
  --py-arkaplan-yukselti: #ffffff;
  --py-arkaplan-hover: #e0f7fa;
  --py-kenarlik: #b2ebf2;
  --py-kenarlik-aktif: #00b4d8;
  --py-kenarlik-hover: #26c6da;
  --py-input-arka: #eefcff;
  --py-input-kenarlik: #b2ebf2;
  --py-input-metin: #006064;
  --py-metin: #004d61;
  --py-metin-ikincil: #0097a7;
  --py-metin-ucuncul: #4dd0e1;
  --py-placeholder: #80deea;
  --py-bolucu: #d0f4f8;
  --km-accent: #00b4d8;
  --km-accent2: #0097a7;
}
body.tema-kuzey-isiklari.tema-karanlik {
  --py-arkaplan: #001418;
  --py-arkaplan-yukselti: #002028;
  --py-arkaplan-hover: #003040;
  --py-metin: #e0f7fa;
  --py-metin-ikincil: #80deea;
  --py-metin-ucuncul: #4dd0e1;
  --py-kenarlik: #004d61;
  --py-kenarlik-aktif: #26c6da;
  --py-kenarlik-hover: #00b4d8;
  --py-input-arka: #001a22;
  --py-input-kenarlik: #004d61;
  --py-input-metin: #e0f7fa;
  --py-placeholder: rgba(224, 247, 250, 0.35);
  --py-bolucu: rgba(38, 198, 218, 0.12);
  --py-link: #4dd0e1;
  --py-link-hover: #80deea;
  --km-accent: #4dd0e1;
  --km-accent2: #26c6da;
}
\n.sk-alt.expanded { white-space: normal; overflow: visible; }

/* Lisanssız 3D komut butonu — kilitli/gri (köprü: window.__fikoLisans) */
.fiko-kilit { opacity: .4 !important; filter: grayscale(1); pointer-events: none; position: relative; }
.fiko-kilit::after { content: '🔒'; position: absolute; top: -5px; right: -5px; font-size: 11px; line-height: 1; filter: none; }

/* Bildirimler her zaman en üstte (3D tam-ekran canvas arkasında kalmasın) — kampanya bildirimleri dahil */
.ant-notification, .ant-message { z-index: 100000 !important; }

/* Üretim & Maliyet modül dialog'ları: 3-kolon grid number input'larının çerçeveyi taşmasını engelle.
   1fr grid track min-width:auto → input intrinsic genişliği yüzünden küçülemiyordu (taşma). min-width:0 düzeltir. */
fikoyt-teklif, fikoyt-kesim, fikoyt-kaplama, fikoyt-kesme-parametre, fikoyt-takvim,
fikoyt-nesting, fikoyt-bukum, fikoyt-muayene, fikoyt-tolerans, fikoyt-malzeme-karsilastir,
fikoyt-is-emri, fikoyt-dxf, fikoyt-uretim-karti, fikoyt-feature-tani, fikoyt-uretim-menu {
  input, select, textarea { min-width: 0; max-width: 100%; box-sizing: border-box; }
  [class$="-grid"], [class$="-ust"], [class$="-kap"], [class$="-tr"], [class$="-th"],
  [class$="-bilgi"], [class$="-levha"], [class$="-proses"], [class$="-gor"] { min-width: 0; }
  [class$="-grid"] > *, [class$="-in"], [class$="-tr"] > * { min-width: 0; }
}

/* ───────── MOBİL / TABLET: modül dialog'ları dar ekrana sığdır ─────────
   Component'lerin sabit min-width'i (280-360px) dar modalı taşırıyordu. Mobilde modalı viewport'a oturt +
   component host'u ve içeriğini %100 genişliğe sığdır (min-width:0). Masaüstü (>768px) tasarımı değişmez. */
@media (max-width: 768px) {
  fikoyt-dialog-core .ui.modal,
  .ui.modal.tiny, .ui.modal.neon-b {
    width: 96vw !important;
    max-width: 96vw !important;
    min-width: 0 !important;
  }
  fikoyt-teklif, fikoyt-kesim, fikoyt-kaplama, fikoyt-kesme-parametre, fikoyt-takvim,
  fikoyt-nesting, fikoyt-bukum, fikoyt-muayene, fikoyt-tolerans, fikoyt-malzeme-karsilastir,
  fikoyt-is-emri, fikoyt-dxf, fikoyt-uretim-karti, fikoyt-uretim-menu, fikoyt-feature-tani,
  fikoyt-civata, fikoyt-birim, fikoyt-mass-info {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  fikoyt-teklif > *, fikoyt-kesim > *, fikoyt-kaplama > *, fikoyt-kesme-parametre > *, fikoyt-takvim > *,
  fikoyt-nesting > *, fikoyt-bukum > *, fikoyt-muayene > *, fikoyt-tolerans > *, fikoyt-malzeme-karsilastir > *,
  fikoyt-is-emri > *, fikoyt-dxf > *, fikoyt-uretim-karti > *, fikoyt-uretim-menu > *, fikoyt-feature-tani > *,
  fikoyt-civata > *, fikoyt-birim > *, fikoyt-mass-info > * {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  /* dar ekranda 3-kolon grid'leri 2-kolona indir (input'lar okunabilir kalsın) */
  fikoyt-teklif [class$="-grid"], fikoyt-kesim [class$="-grid"], fikoyt-kaplama [class$="-grid"],
  fikoyt-kesme-parametre [class$="-grid"], fikoyt-civata [class$="-tork-in"], fikoyt-uretim-karti [class$="-grid"] {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* ───────── DIALOG RESIZE: içerik çerçeveyi DOLDURSUN — TÜM FikoDialogCore dialog'ları ─────────
   .arka-plan (resize:both) büyütülünce içteki flex wrapper içeriği ortalıyordu (boş kenarlar) +
   component max-width cap'i büyümeyi durduruyordu. Genel kural: wrapper'ı üstten-hizala + içeriği %100 doldur.
   Varsayılan genişlik .arka-plan'a uygulanan boyut.w ile korunur (dialog-core HTML). */
/* SADECE boyut.w'si olan dialog'lar (.boyutlu): bunlar bilinen genişlikte → fill güvenli.
   Boyutsuz açılan dialog'lar (komut/fillet/thickness vb. fit-content) DOKUNULMAZ → şişmez. */
.arka-plan.boyutlu > .scrolling.content { width: 100% !important; box-sizing: border-box; }
.arka-plan.boyutlu > .scrolling.content > div {
  align-items: flex-start !important;   /* dikey: içerik üstte (ortada yüzmesin) */
  justify-content: stretch !important;
  width: 100% !important;
}
.arka-plan.boyutlu > .scrolling.content > div > * {            /* component host (fikoyt-*) → çerçeveyi doldur */
  flex: 1 1 auto !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}
.arka-plan.boyutlu > .scrolling.content > div > * > * {        /* component iç kök → max-width cap'ini kaldır */
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
}
