/* Ayar popup'ları (RDP/Host bildirimi, Asistan ayarları, Excel yüklemesi). Tokenlar sql-dashboard.css'teki .sqd-root
   kümesinden gelir (.pf-root oraya eklendi); popup kabuğu kuralları yalnız .pf-root barındıran pencereye uygulanır (:has). */
.pf-root { display: flex; flex-direction: column; font-size: 13px; }

/* ---------- Başlık bandı ---------- */
.pf-head { display: flex; align-items: center; gap: 12px; padding: 13px 18px; background: var(--sqd-navy); color: #fff; }
.pf-head-icon { font-size: 18px; color: var(--sqd-accent); }
.pf-head-title { flex: 1 1 auto; min-width: 0; font-size: 15px; font-weight: 600; }
.pf-head-sub { font-size: 12px; font-weight: 400; color: rgba(255, 255, 255, .72); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pf-close { width: 32px; height: 32px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 10px; background: transparent; color: rgba(255, 255, 255, .85); cursor: pointer; }
.pf-close:hover { background: rgba(255, 255, 255, .08); color: #fff; }

/* ---------- Gövde ve kartlar ---------- */
.pf-body { display: flex; flex-direction: column; gap: 12px; padding: 16px 18px; }
.pf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.pf-card { min-width: 0; border: 1px solid var(--sqd-line-soft); border-radius: 14px; background: #fff; overflow: hidden; }
.pf-card-head { display: flex; align-items: center; gap: 9px; padding: 10px 14px; border-bottom: 1px solid var(--sqd-line-soft); font-size: 13px; font-weight: 600; }
.pf-card-head i { width: 14px; text-align: center; color: var(--sqd-accent); }
.pf-block { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--sqd-line-soft); }
.pf-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 11px 14px; border-bottom: 1px solid var(--sqd-line-soft); }
.pf-block:last-child, .pf-row:last-child { border-bottom: 0; }
.pf-label { min-width: 0; }
.pf-name { font-size: 13px; font-weight: 600; }
.pf-help { font-size: 12px; line-height: 1.45; color: var(--sqd-muted); }
.pf-help:empty { display: none; }
.pf-label .pf-help { margin-top: 3px; }
.pf-mono { font-family: var(--sqd-mono) !important; font-size: 12.5px !important; }
.pf-mono::placeholder { font-family: var(--sqd-font); }

/* ---------- Alanlar ---------- */
.pf-input { display: flex; align-items: center; height: 32px; margin: 0; border: 1px solid var(--sqd-line); border-radius: 12px; background: #fff; overflow: hidden;
            flex: 1 1 auto; min-width: 0; transition: border-color .15s, box-shadow .15s; }
.pf-input:focus-within { border-color: var(--sqd-accent); box-shadow: 0 0 0 3px var(--sqd-accent-ring); }
.pf-input input { flex: 1 1 auto; min-width: 0; height: 100%; padding: 0 11px; border: 0; outline: 0; background: transparent; color: var(--sqd-navy); font: 13px var(--sqd-font); }
.pf-input input::placeholder { color: rgba(27, 40, 56, .4); }
.pf-input > span { display: flex; align-items: center; height: 100%; padding: 0 10px; background: var(--sqd-head-bg); color: var(--sqd-accent-text); font-size: 11.5px; font-weight: 500; }
.pf-short { flex: 0 0 150px; width: 150px; }
.pf-pair { display: flex; align-items: center; gap: 8px; }
.pf-cron { display: flex; gap: 8px; min-width: 0; }
.pf-button { height: 32px; min-width: 32px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: 0 0 auto;
             border: 1px solid var(--sqd-line); border-radius: 12px; background: #fff; color: var(--sqd-navy); font: 500 12.5px var(--sqd-font); cursor: pointer; white-space: nowrap; }
.pf-button i { color: var(--sqd-accent); }
.pf-button:hover { background: var(--sqd-accent-tint); border-color: rgba(166, 134, 87, .45); }
.pf-icon { width: 32px; padding: 0; }
.pf-summary { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 10px; background: var(--sqd-head-bg); font-size: 12.5px; }
.pf-summary i { color: var(--sqd-accent); }
.pf-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.pf-pill { height: 28px; padding: 0 11px; border: 1px solid var(--sqd-line); border-radius: 999px; background: #fff; color: var(--sqd-navy); font: 500 12px var(--sqd-font); cursor: pointer; }
.pf-pill:hover { background: var(--sqd-accent-tint); }
.pf-pill.pf-on { border-color: var(--sqd-accent); background: var(--sqd-accent); color: #fff; }
.pf-switch { position: relative; flex: 0 0 auto; width: 40px; height: 23px; padding: 0; border: 0; border-radius: 999px; background: rgba(27, 40, 56, .22); cursor: pointer; transition: background-color .15s; }
.pf-switch > span { position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(27, 40, 56, .25); transition: left .15s; }
.pf-switch-on { background: var(--sqd-success); }
.pf-switch-on > span { left: 20px; }
.pf-switch:focus-visible, .pf-pill:focus-visible, .pf-button:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--sqd-accent-ring); }
.pf-root .mss-chips { min-height: 34px; }

/* ---------- Popup kabuğu ---------- */
.dxbl-popup:has(.pf-root), .dxbl-window:has(.pf-root) { width: 780px !important; max-width: 95vw !important; margin: 0 auto !important; }
.dxbl-popup:has(.pf-root) .dxbl-modal-content { overflow: hidden; border: none; border-radius: 16px; background: #fbfaf7; }
.dxbl-popup:has(.pf-root) .dxbl-modal-header { display: none !important; }
.dxbl-popup:has(.pf-root) .dxbl-modal-body { padding: 0 !important; }
.dxbl-popup:has(.pf-root) .dxbl-modal-body :has(.pf-root) { padding: 0 !important; margin: 0 !important; gap: 0 !important; }
.dxbl-popup:has(.pf-root) .dxbl-modal-footer { padding: 10px 18px !important; border-top: 1px solid rgba(27, 40, 56, .08); background: #fff; }
.dxbl-popup:has(.pf-root) .dxbl-modal-footer .dxbl-btn { height: 32px; padding: 0 16px; border-radius: 12px; font-weight: 500; }
.dxbl-popup:has(.pf-root) .dxbl-modal-footer .dxbl-btn-primary { background: #a68657 !important; border-color: #a68657 !important; color: #fff !important; }
.dxbl-popup:has(.pf-root) .dxbl-modal-footer .dxbl-btn-primary:hover { background: #947549 !important; }
/* "Zamanlayıcı Oluştur" eylemi formdaki cron alanının yanından tetiklenir; footer'da gizlenir. */
.dxbl-popup:has(.pf-root) .dxbl-modal-footer [data-action-name="Zamanlayıcı Oluştur"] { display: none !important; }

/* ---------- Toplu yükleme (Excel): XAF editörleri kalır, düzen grupları kart olarak giydirilir ---------- */
.dxbl-popup:has(.pf-root):has(.spg-container), .dxbl-window:has(.pf-root):has(.spg-container) { width: 1000px !important; }
/* Başlık bandının zinciri sıfırlandığı için bant dışındaki gruplara kenar boşluğu geri verilir. */
/* Uzun formda başlık bandı kaydırmada sabit kalır; kaydırma gövdede olur. */
.dxbl-popup:has(.pf-root):has(.spg-container) .dxbl-modal-body { max-height: calc(100vh - 150px); overflow-y: auto !important; }
/* DxFormLayout'un overflow:hidden'ı sticky'yi bozar; bu popup'ta satırların negatif kenarı zaten sıfırlandığı için gerekmez. */
.dxbl-popup:has(.pf-root):has(.spg-container) .dxbl-fl { overflow: visible !important; }
.dxbl-popup:has(.pf-root):has(.spg-container) .dxbl-fl-item:has(.pf-root) ~ .dxbl-fl-group > .dxbl-row { margin-left: 0 !important; margin-right: 0 !important; }
.dxbl-popup:has(.pf-root):has(.spg-container) .dxbl-fl-item:has(.pf-root) ~ .dxbl-fl-group > .dxbl-row > .dxbl-col:first-child:not(:last-child) { padding-left: 0 !important; padding-right: 7px !important; }
.dxbl-popup:has(.pf-root):has(.spg-container) .dxbl-fl-item:has(.pf-root) ~ .dxbl-fl-group > .dxbl-row > .dxbl-col:last-child:not(:first-child) { padding-left: 7px !important; padding-right: 0 !important; }
.dxbl-popup:has(.pf-root) .dxbl-fl-item:has(.pf-root) { position: sticky; top: 0; z-index: 5; }
.dxbl-popup:has(.pf-root) .dxbl-fl-item:has(.pf-root) ~ .dxbl-fl-group { padding: 0 18px 14px !important; }
.dxbl-popup:has(.pf-root) .dxbl-fl-item:has(.pf-root) + .dxbl-fl-group { padding-top: 16px !important; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd > .dxbl-group { overflow: hidden; border: 1px solid rgba(27, 40, 56, .08); border-radius: 14px; background: #fff; box-shadow: none; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd > .dxbl-group > .dxbl-group-header { padding: 10px 14px !important; border-bottom: 1px solid rgba(27, 40, 56, .08);
    background: #fff !important; color: #1b2838; font-size: 13px; font-weight: 600; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd > .dxbl-group > .dxbl-group-header::before { width: 14px; margin-right: 9px; color: #a68657; font: 900 13px "Font Awesome 6 Free"; text-align: center; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd > .dxbl-group:has(.xaf-file-data-editor) > .dxbl-group-header::before { content: "\f574"; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd > .dxbl-group:has(dxbl-date-time-edit) > .dxbl-group-header::before { content: "\f073"; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd > .dxbl-group:has(dxbl-check) > .dxbl-group-header::before { content: "\f1de"; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd > .dxbl-group:has(.spg-container) > .dxbl-group-header::before { content: "\f0ce"; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd > .dxbl-group > .dxbl-group-body { padding: 12px 14px 14px !important; background: #fff; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd .dxbl-fl-cpt { margin-bottom: 2px; color: #1b2838; font: 600 13px var(--typography-font-family-font-base, Inter), sans-serif; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd .dxbl-fl-item { padding-bottom: 12px; }

/* Alanlar: 36 px, yuvarlak, krem odak halkası */
.dxbl-popup:has(.pf-root) .dxbl-fl-gd .dxbl-text-edit { min-height: 36px; border: 1px solid rgba(27, 40, 56, .14) !important; border-radius: 12px !important;
    background: #fff !important; box-shadow: none !important; overflow: hidden; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd .dxbl-text-edit:focus-within { border-color: #a68657 !important; box-shadow: 0 0 0 3px rgba(166, 134, 87, .18) !important; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd .dxbl-text-edit input { font-size: 13px; color: #1b2838; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd .dxbl-text-edit .dxbl-btn { border: 0 !important; background: transparent !important; color: rgba(27, 40, 56, .55); }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd .dxbl-text-edit .dxbl-btn:hover { color: #a68657; }

/* Dosya: kesikli yükleme kutusu; ataç düğmesi tüm kutuyu kaplar ki her yerden seçilebilsin */
.dxbl-popup:has(.pf-root) .dxbl-fl-gd .dxbl-text-edit.xaf-file-data-editor { position: relative; min-height: 84px !important; align-items: center;
    border: 1.5px dashed rgba(166, 134, 87, .55) !important; background: rgba(166, 134, 87, .06) !important; }
.dxbl-popup:has(.pf-root) .xaf-file-data-editor .dxbl-text-edit-template { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    width: 100%; padding: 0 44px; color: rgba(27, 40, 56, .7); font-size: 13px; text-align: center; }
.dxbl-popup:has(.pf-root) .xaf-file-data-editor .dxbl-text-edit-template::before { content: "\f0ee"; color: #a68657; font: 900 20px "Font Awesome 6 Free"; }
.dxbl-popup:has(.pf-root) .xaf-file-data-editor .xaf-append-image-button { position: absolute !important; inset: 0; z-index: 0; width: 100%; height: 100%; opacity: 0; }
.dxbl-popup:has(.pf-root) .xaf-file-data-editor .dxbl-btn:not(.xaf-append-image-button) { position: relative; z-index: 1; }

/* Zorla yükle: onay kutusu anahtar görünümünde */
.dxbl-popup:has(.pf-root) .dxbl-fl-gd dxbl-check .dxbl-checkbox-check-element { position: relative; width: 40px !important; height: 23px !important; border: 0 !important;
    border-radius: 999px !important; background: rgba(27, 40, 56, .22) !important; -webkit-mask: none !important; mask: none !important; transition: background-color .15s; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd dxbl-check .dxbl-checkbox-check-element::after { content: ""; position: absolute; top: 3px; left: 3px; width: 17px; height: 17px;
    border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(27, 40, 56, .25); transition: left .15s; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd dxbl-check.dxbl-checkbox-checked .dxbl-checkbox-check-element { background: #2e7d4f !important; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd dxbl-check.dxbl-checkbox-checked .dxbl-checkbox-check-element::after { left: 20px; }
.dxbl-popup:has(.pf-root) .dxbl-fl-gd dxbl-check .dxbl-checkbox-check-element::before { display: none !important; }

/* Bölme planı ızgarası */
.dxbl-popup:has(.pf-root) .spg-container { gap: 10px; min-height: 0; font-size: 13px; }
.dxbl-popup:has(.pf-root) .spg-summary { align-self: flex-start; padding: 3px 11px; border-radius: 999px; background: rgba(166, 134, 87, .12); color: #6e5530; font-size: 12px; font-weight: 500; }
.dxbl-popup:has(.pf-root) .spg-scroll { min-height: 9rem; border: 1px solid rgba(27, 40, 56, .08); border-radius: 12px; }
.dxbl-popup:has(.pf-root) .spg-grid { border: 0 !important; }
.dxbl-popup:has(.pf-root) .spg-grid th { background: #f5ede0 !important; color: #1b2838; font-size: 11.5px; font-weight: 600; }
.dxbl-popup:has(.pf-root) .spg-grid td { border-color: rgba(27, 40, 56, .06) !important; font-variant-numeric: tabular-nums; }
.dxbl-popup:has(.pf-root) .spg-row-past td { font-style: normal; color: rgba(27, 40, 56, .5); }
/* Komut kolonu ("Düzenle", satır düzenlerken Kaydet/İptal): link yerine küçük düğme. DxGrid sona boş bir dolgu hücresi
   ekleyebildiği için son sütun değil, komut hücresi sınıfı hedeflenir. */
.dxbl-popup:has(.pf-root) .spg-grid .dxbl-grid-command-cell :is(a, button) { height: 26px; padding: 0 10px; border: 1px solid rgba(27, 40, 56, .14) !important;
    border-radius: 10px !important; background: #fff !important; color: #6e5530 !important; font-size: 12px; font-weight: 500; text-decoration: none !important;
    display: inline-flex; align-items: center; }
.dxbl-popup:has(.pf-root) .spg-grid .dxbl-grid-command-cell :is(a, button) * { text-decoration: none !important; }
.dxbl-popup:has(.pf-root) .spg-grid .dxbl-grid-command-cell :is(a, button):hover { background: rgba(166, 134, 87, .12) !important; }
.dxbl-popup:has(.pf-root) .spg-warnings, .dxbl-popup:has(.pf-root) .spg-error { border-radius: 0 10px 10px 0; }

@media (max-width: 720px) {
    .pf-grid { grid-template-columns: 1fr; }
    .pf-cron { flex-wrap: wrap; }
}

/* Alarm Kuralları'na taşınmış (salt okunur) alanlar */
.pf-input input:disabled { color: var(--sqd-muted); cursor: not-allowed; }
.pf-button:disabled { opacity: .55; cursor: not-allowed; }
