/* ═══════════════════════════════════════════════════════════════
   Paylaşılan inline sekonder toolbar (.page-toolbar)
   ObjectTree (Relational Compare), Schema Compare ve Data Comparison
   sayfalarında ortak kullanılan toolbar kabuğu.
   Item-level utility class'lar (rc-field, rc-derinlik, rc-step-btn,
   rc-seg-btn, rc-toggle*) bilinçli olarak .rc- prefix'iyle bırakıldı —
   sayfa HTML'leri bunlara referans veriyor.
   ═══════════════════════════════════════════════════════════════ */

/* Toolbar item grubu (örn. "Grupla:" label + buton) — overflow "..." menüsüne
   tek birim olarak gider (yoksa label orphan kalıp kırpılıyordu). */
.rc-grupla { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; }

.page-toolbar {
    display: flex; align-items: center; gap: 6px;
    /* Çerçevesiz inline toolbar (Database Migration Tool.dc.html) —
       border/shadow/bg kart görünümü kaldırıldı, gereksiz boşluk yok. */
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    flex-wrap: nowrap; overflow: visible;
    position: relative;
}
/* Overflow kebab görünürken son akış öğesi (search box) kebab'ın altına
   girmesin diye sağda yer ayır (kebab absolute right:8px). */
.page-toolbar-root.has-overflow { padding-right: 44px; }
/* Toolbar item'ları küçülmesin — overflow ölçümü (scrollWidth) güvenilir olsun;
   sığmayan item büzülmek yerine "..." menüsüne gider. (spacer + kebab hariç) */
.page-toolbar-root > *:not(.page-toolbar-spacer):not(.page-toolbar-more) { flex-shrink: 0; }
.page-toolbar::-webkit-scrollbar { height: 6px; }
.page-toolbar::-webkit-scrollbar-thumb { background: #CED5E0; border-radius: 4px; }

/* ─── Overflow ("...") menu ──────────────────────────────── */
/* JS pageToolbar.js container'a sığmayan child'lara data-overflow="true" verir. */
.page-toolbar-root > [data-overflow="true"] { display: none !important; }

.page-toolbar-more {
    position: absolute;
    right: 8px; top: 50%;
    transform: translateY(-50%);
    width: var(--rn-control-h); height: var(--rn-control-h);
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--rn-white); border: 1px solid var(--rn-control-border); border-radius: 7px;
    color: var(--rn-muted); cursor: pointer;
    font-size: 14px;
    visibility: hidden; /* JS açar */
    z-index: 5;
}
.page-toolbar-more:hover { background: var(--rn-hover); border-color: var(--rn-faint); color: var(--rn-blue); }

.page-toolbar-overflow-backdrop { position: fixed; inset: 0; z-index: 19; background: transparent; }
.page-toolbar-overflow-panel {
    position: absolute;
    right: 8px; top: calc(100% + 6px);
    min-width: 220px; max-width: 320px;
    background: var(--rn-white);
    border: 1px solid var(--rn-border);
    border-radius: 10px;
    box-shadow: 0 8px 24px var(--rn-shadow-pop);
    padding: 10px 12px;
    z-index: 20;
}
.page-toolbar-overflow-title {
    font-size: 11px; font-weight: 700; color: var(--rn-muted);
    text-transform: uppercase; letter-spacing: .04em;
    margin-bottom: 6px;
}
.page-toolbar-overflow-list {
    list-style: none; padding: 0; margin: 0 0 8px 0;
    max-height: 260px; overflow-y: auto;
}
.page-toolbar-overflow-list li {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 8px;
    font-size: 12.5px; color: var(--rn-ink);
    border-radius: 6px;
}
.page-toolbar-overflow-list li:hover { background: var(--rn-hover); }
.page-toolbar-overflow-list li i { color: var(--rn-muted-3); font-size: 11px; }
.page-toolbar-overflow-hint {
    font-size: 11px; color: var(--rn-muted-3);
    border-top: 1px solid var(--rn-surface);
    padding-top: 6px;
}

.rc-field { display: flex; align-items: center; }

/* MsPicker butonu page-toolbar içinde — ortak control yüksekliği (#38).
   Primary "Karşılaştır" + ghost + search ile hizalı. */
.rc-field .mspicker-btn { height: var(--rn-control-h) !important; padding: 0 .65rem !important; font-size: var(--rn-control-font) !important; }

/* Derinlik / segmented kontrol kutusu */
.rc-derinlik {
    display: inline-flex; align-items: center; gap: 4px;
    height: var(--rn-control-h); padding: 0 6px;
    /* ca-2: container fontunu token'a sabitle — yoksa body 16px miras alınır */
    font-size: var(--rn-control-font);
    background: var(--rn-white); border: 1px solid var(--rn-control-border); border-radius: 8px;
}
.rc-derinlik-lbl { font-size: .78rem; color: var(--rn-muted); font-weight: 600; padding-right: 4px; }
.rc-step-btn {
    width: 22px; height: 22px; border-radius: 5px;
    border: 1px solid var(--rn-control-border); background: var(--rn-white); color: var(--rn-ink-2);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .9rem; font-weight: 700; cursor: pointer;
    padding: 0; line-height: 1;
}
.rc-step-btn:hover:not(:disabled) { border-color: var(--rn-blue); color: var(--rn-blue); }
.rc-step-btn:disabled { opacity: .4; cursor: not-allowed; }
.rc-step-val {
    min-width: 22px; text-align: center;
    font-family: 'IBM Plex Mono', monospace; font-size: .85rem; font-weight: 700; color: var(--rn-ink-2);
}

/* Segmented buton (örn. Sayfa boyutu pills) */
.rc-seg-btn {
    height: 22px; min-width: 36px; padding: 0 7px;
    border: 1px solid var(--rn-control-border); background: var(--rn-white); color: var(--rn-ink-2);
    border-radius: 5px; cursor: pointer;
    font-size: 11.5px; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center;
    line-height: 1;
}
.rc-seg-btn:hover { border-color: var(--rn-blue); color: var(--rn-blue); }
.rc-seg-btn.active { background: var(--rn-blue); border-color: var(--rn-blue); color: var(--rn-white); }

/* Inline toggle switch */
.rc-toggle {
    display: inline-flex; align-items: center; gap: 6px;
    height: var(--rn-control-h); padding: 0 10px;
    background: var(--rn-white); border: 1px solid var(--rn-control-border); border-radius: 8px;
    font-size: 12px; font-weight: 600; color: var(--rn-muted);
    cursor: pointer; user-select: none;
}
.rc-toggle input { display: none; }
.rc-toggle-track {
    position: relative; width: 28px; height: 16px;
    background: var(--rn-control-border); border-radius: 999px;
    transition: background .15s;
}
.rc-toggle-thumb {
    position: absolute; top: 2px; left: 2px;
    width: 12px; height: 12px; background: var(--rn-white); border-radius: 50%;
    transition: transform .15s; box-shadow: 0 1px 2px rgba(0,0,0,.18);
}
.rc-toggle input:checked + .rc-toggle-track { background: var(--rn-blue); }
.rc-toggle input:checked + .rc-toggle-track .rc-toggle-thumb { transform: translateX(12px); }
.rc-toggle:hover { border-color: var(--rn-faint); }
.rc-toggle-label { white-space: nowrap; }
.rc-toggle-disabled { opacity: .55; cursor: not-allowed; pointer-events: none; }
.rc-toggle-disabled:hover { border-color: var(--rn-control-border); }

/* Ortak primary/ghost butonlar — primary 32px (action), diğerleri ortak --rn-control-h (#38) */
.page-toolbar .sc-btn-primary {
    display: inline-flex; align-items: center; gap: 8px;
    height: var(--rn-control-h-primary); padding: 0 14px;
    background: linear-gradient(120deg, #4A90FF, var(--rn-grad-to));
    color: #fff; border: none; border-radius: 8px;
    font-size: 13px; font-weight: 600; cursor: pointer;
    box-shadow: 0 2px 8px rgba(30, 79, 217, .32);
}
.page-toolbar .sc-btn-primary:hover:not(:disabled) { filter: brightness(1.05); }
.page-toolbar .sc-btn-primary:disabled { opacity: .55; cursor: not-allowed; }
.page-toolbar .sc-btn-ghost {
    display: inline-flex; align-items: center; gap: 7px;
    height: var(--rn-control-h); padding: 0 11px;
    background: transparent; border: 1px solid var(--rn-control-border); border-radius: 8px;
    font-size: 12.5px; font-weight: 600; color: var(--rn-muted); cursor: pointer;
    /* dr-5: dar ekranda label kırpılsın, taşmasın */
    max-width: 100%; min-width: 0;
}
.page-toolbar .sc-btn-ghost:hover:not(:disabled) { background: var(--rn-hover); border-color: var(--rn-faint); }
.page-toolbar .sc-btn-ghost:disabled { opacity: .5; cursor: not-allowed; }
/* dr-5: ghost/primary buton label'ı sığmazsa ellipsis + title tooltip devreye girer.
   <span> sarılı metin kırpılır; ikon ve gap korunur. */
.page-toolbar .sc-btn-ghost > span,
.page-toolbar .sc-btn-primary > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.page-toolbar .sc-btn-ghost > i,
.page-toolbar .sc-btn-primary > i { flex: 0 0 auto; }
.page-toolbar .sc-search-box {
    display: inline-flex; align-items: center; gap: 6px;
    height: var(--rn-control-h); padding: 0 10px;
    /* ca-2: container fontunu token'a sabitle (input/icon altta override eder) */
    font-size: var(--rn-control-font);
    background: var(--rn-white); border: 1px solid var(--rn-control-border); border-radius: 8px;
    color: var(--rn-muted-3);
}
.page-toolbar .sc-search-box i { font-size: 11px; }
.page-toolbar .sc-search-box input { border: none; outline: none; background: transparent; font-size: var(--rn-control-font); width: 160px; color: var(--rn-ink); }
.page-toolbar .sc-search-box input::placeholder { color: var(--rn-muted-3); }

/* Arama kutusu joker ipucu — ayrı ikon YOK; kutunun üzerine gelince açılır.
   Bağlam menüsüyle (menu.css) aynı popover dili: beyaz zemin + --rn-border +
   --rn-shadow-pop + yumuşak radius. Native title yerine. */
.sc-search-box { position: relative; }
.rn-sb-tip {
    position: absolute; top: calc(100% + 8px); right: 0; z-index: 3402;
    min-width: 232px; max-width: 300px;
    background: var(--rn-white);
    border: 1px solid var(--rn-border); border-radius: 9px;
    box-shadow: 0 16px 42px var(--rn-shadow-pop);
    padding: 8px 10px;
    font-size: 11.5px; line-height: 1.5; font-weight: 500;
    color: var(--rn-ink-2); text-align: left; white-space: normal;
    opacity: 0; visibility: hidden; transform: translateY(-3px);
    transition: opacity .12s ease, transform .12s ease, visibility .12s;
    transition-delay: 0s;
    pointer-events: none;
}
/* Küçük gecikmeyle aç (native tooltip hissi), kapanış anında */
.sc-search-box:hover .rn-sb-tip {
    opacity: 1; visibility: visible; transform: translateY(0);
    transition-delay: .35s;
}
.rn-sb-tip-row { display: block; }

/* SearchBox temizle butonu — global (toolbar dışı kullanımda da stilli olsun) */
.dc-detail-search-clear {
    border: none; background: transparent; padding: 0; line-height: 1;
    color: var(--rn-muted-3); cursor: pointer; font-size: 11px;
    display: inline-flex; align-items: center;
}
.dc-detail-search-clear:hover { color: var(--rn-target-accent); }

/* Arama eşleşme highlight — global (tree/liste dahil her yerde). Grid'lerdeki
   .page-grid / .dc-detail-body scoped kuralları aynı token'ı kullanır. */
mark.dc-hl { background: var(--rn-hl); color: inherit; padding: 0 1px; border-radius: 2px; }
.rn-sb-tip-row + .rn-sb-tip-row { margin-top: 4px; }
.rn-sb-tip b { color: var(--rn-ink); font-weight: 600; }
.rn-sb-tip code {
    font-family: 'IBM Plex Mono', ui-monospace, monospace;
    font-size: 11px; color: var(--rn-ink);
    background: var(--rn-surface-2); border-radius: 4px; padding: 0 4px;
}
.page-toolbar .dc-grp-btn {
    display: inline-flex; align-items: center; gap: 6px;
    height: var(--rn-control-h); padding: 0 10px;
    background: var(--rn-white); border: 1px solid var(--rn-control-border); border-radius: 8px;
    font-size: 12.5px; font-weight: 600; color: var(--rn-muted); cursor: pointer;
}
.page-toolbar .dc-grp-btn:hover { background: var(--rn-hover); border-color: var(--rn-faint); }
