/* NaeronUI: yerel, bağımsız ve geliştirici odaklı arayüz katmanı. */
/* Geist ve Geist Mono (Vercel, SIL OFL 1.1 — vendor/fonts/geist/OFL.txt) kitle birlikte yerel gelir; CDN kullanılmaz.
   Değişken font tek dosyada 100–900 ağırlık taşır; her işletim sisteminde aynı görünüm için sistem fontundan önce gelir. */
@font-face { font-family: "Geist"; src: url("vendor/fonts/geist/Geist-Variable.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Geist Mono"; src: url("vendor/fonts/geist/GeistMono-Variable.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
:root {
	--nui-font-sans: Geist, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--nui-font-mono: "Geist Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	/* Ölçü (1.9.7): varsayılan kompakttır — 13px metin, 30px kontrol, 6/9px köşe; yönetim panellerinde 14px / 36px ölçü
	   fazla boşluklu kaldığı için. Daha ferah ölçü kapsayıcı bazında [data-nui-density="regular" | "comfortable"] ile seçilir.
	   Bileşenler sabit px yerine bu tokenları kullanır. */
	--nui-font-size-xs: 11px;
	--nui-font-size-sm: 12px;
	--nui-font-size-base: 13px;
	--nui-font-size-lg: 16px;
	/* Buton, giriş, seçim ve menü öğesi metni. Her yoğunluk bloğunda px olarak ayrıca yazılır. */
	--nui-control-font-size: 12px;
	--nui-input-max-width: 400px;
	--nui-radius: 9px;
	--nui-radius-sm: 6px;
	--nui-radius-lg: 9px;
	--nui-gap-1: 4px;
	--nui-gap-2: 8px;
	--nui-gap-3: 12px;
	--nui-gap-4: 16px;
	--nui-control-height: 30px;
	--nui-control-height-sm: 26px;
	--nui-control-height-lg: 34px;
	--nui-control-padding-x: 10px;
	--nui-icon-size: 30px;
	--nui-nav-item-height: 30px;
	--nui-table-cell-y: 6px;
	--nui-table-cell-x: 8px;
	--nui-card-padding: 14px;
	--nui-sidebar-width: 232px;
	/* Renk tokenları yalnız tema bloklarında (body / .nui-theme-*) tanımlıdır; :root boyut ve katman tokenlarını taşır. */
	--nui-layer-window: 4000;
	--nui-layer-modal: 10000;
	--nui-layer-menu: 12000;
	--nui-layer-tooltip: 13000;
}

[hidden] { display: none !important; }

/* Tema = mod + palet. Mod body (veya bağımsız yüzey) üzerindeki .nui-theme-dark | .nui-theme-light sınıfıdır;
   hiç yapılandırma yoksa koyudur. Palet isteğe bağlıdır: <body data-nui-light="ivory"> açık modda Ivory tonlarını
   kullanır, anahtar koyuya dönünce varsayılan koyu palete geçer. Varsayılan koyu/açık paletler nötr gri
   tonlardır; açık palette sayfa zemini hafif gri, kartlar beyaz ve giriş kenarı daha koyudur (netlik için).
   Katmanlar: (1) bu bloklardaki anlamsal tokenlar, (2) bileşenlerin yalnız bunlara başvurması, (3) isteğe bağlı
   bileşen tokenları (--nui-tab-active-bg gibi) anlamsal tokena düşer. Yeni renk ekleyen kod sabit hex yazmaz. */
body,
body.nui-theme-dark,
.nui-theme-dark {
	/* Durum (anlam) renkleri: metin/ikon tonu; -fill, -border ve -fg türevleri aşağıdaki türev bloğunda üretilir. */
	--nui-success: #4ade80; --nui-warning: #facc15; --nui-danger: #f87171; --nui-info: #60a5fa;
	/* Dolu (solid) aksiyon zeminleri ve üzerindeki metin. */
	--nui-success-solid: #15803d; --nui-success-solid-hover: #166534;
	--nui-danger-solid: #dc2626; --nui-danger-solid-hover: #b91c1c; --nui-danger-solid-active: #991b1b;
	--nui-on-solid: #ffffff;
	/* Ana aksiyon. */
	--nui-primary: #e5e5e5; --nui-primary-hover: #fafafa; --nui-primary-foreground: #171717;
	/* Vurgu: seçili göstergeler (onay kutusu, switch, progress, aktif adım); -fill seçili satır/öğe zemini; ring klavye odak halkası.
	   --nui-info yalnız "bilgi" anlamı taşır; seçim ve odak için --nui-accent / --nui-ring kullanılır. */
	--nui-accent: #e5e5e5; --nui-accent-foreground: #171717; --nui-accent-fill: #262626; --nui-accent-border: #525252; --nui-accent-fg: #fafafa;
	--nui-ring: #a1a1a1;
	/* Kabuk ve sayfa yüzeyleri. */
	--nui-bg: #0a0a0a;
	--nui-shell-bg: #0a0a0a;
	--nui-topbar-surface: #171717;
	--nui-sidebar-surface: #171717;
	--nui-content-surface: #0a0a0a;
	--nui-page-surface: none;
	--nui-dashboard-glow: none;
	--nui-tabbar-surface: #0a0a0a;
	--nui-content-border: #262626;
	/* Bileşen yüzeyleri, kenarlık ve metin. */
	--nui-panel: #171717;
	--nui-raised: #171717;
	--nui-raised-hover: #262626;
	--nui-input: #1c1c1c;
	--nui-border: #2e2e2e;
	--nui-border-strong: #404040;
	--nui-text: #fafafa;
	--nui-text-muted: #a1a1a1;
	--nui-text-faint: #8a8a8a;
	--nui-nav-hover-bg: #262626; --nui-nav-active-bg: #262626; --nui-nav-active-border: #404040; --nui-nav-active-text: #fafafa;
	/* Gölge, karartma ve kaydırma çubuğu. */
	--nui-shadow: rgba(0, 0, 0, .5);
	--nui-window-shadow: 0 16px 32px -8px var(--nui-shadow);
	--nui-overlay-color: 0 0 0; --nui-overlay-opacity: .5;
	--nui-scrollbar-track: #171717;
	--nui-scrollbar-thumb: #404040;
	--nui-switch-thumb: #fafafa;
	/* Grafik serileri (Chart.js hex bekler; color-mix kullanılmaz). */
	--nui-chart-1: #3b82f6; --nui-chart-2: #10b981; --nui-chart-3: #f59e0b; --nui-chart-4: #a855f7; --nui-chart-5: #f43f5e;
}

body.nui-theme-light,
.nui-theme-light {
	--nui-success: #15803d; --nui-warning: #a16207; --nui-danger: #dc2626; --nui-info: #2563eb;
	--nui-success-solid: #15803d; --nui-success-solid-hover: #166534;
	--nui-danger-solid: #dc2626; --nui-danger-solid-hover: #b91c1c; --nui-danger-solid-active: #991b1b;
	--nui-on-solid: #ffffff;
	--nui-primary: #171717; --nui-primary-hover: #262626; --nui-primary-foreground: #fafafa;
	--nui-accent: #171717; --nui-accent-foreground: #fafafa; --nui-accent-fill: #ededed; --nui-accent-border: #bdbdbd; --nui-accent-fg: #0a0a0a;
	--nui-ring: #737373;
	--nui-bg: #f5f5f5;
	--nui-shell-bg: #f5f5f5;
	--nui-topbar-surface: #fafafa;
	--nui-sidebar-surface: #fafafa;
	--nui-content-surface: #f5f5f5;
	--nui-page-surface: none;
	--nui-dashboard-glow: none;
	--nui-tabbar-surface: #e5e5e5;
	--nui-content-border: #e5e5e5;
	--nui-panel: #ffffff;
	--nui-raised: #ffffff;
	--nui-raised-hover: #f5f5f5;
	--nui-input: #ffffff;
	--nui-border: #e5e5e5;
	--nui-border-strong: #bdbdbd;
	--nui-text: #0a0a0a;
	--nui-text-muted: #5c5c5c;
	--nui-text-faint: #6b6b6b;
	--nui-nav-hover-bg: #f0f0f0; --nui-nav-active-bg: #ebebeb; --nui-nav-active-border: #d4d4d4; --nui-nav-active-text: #0a0a0a;
	--nui-shadow: rgba(0, 0, 0, .08);
	--nui-window-shadow: 0 16px 32px -12px rgba(0, 0, 0, .18);
	--nui-overlay-color: 0 0 0; --nui-overlay-opacity: .5;
	--nui-scrollbar-track: #f5f5f5;
	--nui-scrollbar-thumb: #bdbdbd;
	--nui-switch-thumb: #ffffff;
	--nui-chart-1: #2563eb; --nui-chart-2: #059669; --nui-chart-3: #d97706; --nui-chart-4: #9333ea; --nui-chart-5: #e11d48;
}

/* Ivory: sıcak fildişi açık palet (1.7.x öncesi varsayılan açık tema; indigo vurgu). Açık modda data-nui-light="ivory" ile seçilir. */
[data-nui-light="ivory"].nui-theme-light,
[data-nui-light="ivory"] .nui-theme-light {
	--nui-success: #216c39; --nui-warning: #795600; --nui-danger: #ac2937; --nui-info: #424ca3;
	--nui-success-solid: #16803d; --nui-success-solid-hover: #136b33;
	--nui-danger-solid: #b8273f; --nui-danger-solid-hover: #9d2135; --nui-danger-solid-active: #861c2d;
	--nui-primary: #18181b; --nui-primary-hover: #27272a; --nui-primary-foreground: #fafafa;
	--nui-accent: #424ca3; --nui-accent-foreground: #ffffff; --nui-accent-fill: color-mix(in srgb, #424ca3 12%, #fbfaf6); --nui-accent-border: color-mix(in srgb, #424ca3 48%, #cac6bd); --nui-accent-fg: #191817;
	--nui-ring: #424ca3;
	--nui-bg: #f2efe8;
	--nui-shell-bg: #ebe7df;
	--nui-topbar-surface: linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,0) 180px), #eeebe4;
	--nui-sidebar-surface: linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,0) 180px), #eeebe4;
	--nui-content-surface: radial-gradient(120% 78% at 48% 0, #fffdf8 0%, #f8f4ec 48%, #ede8de 100%);
	--nui-page-surface: radial-gradient(74% 52% at 12% 0, rgba(92,99,210,.12) 0%, rgba(92,99,210,0) 72%);
	--nui-dashboard-glow: radial-gradient(74% 52% at 12% 0, rgba(92,99,210,.12) 0%, rgba(92,99,210,0) 72%);
	--nui-tabbar-surface: #e6e1d6;
	--nui-content-border: #d2cdc3;
	--nui-panel: #fbfaf6;
	--nui-raised: #fbfaf6;
	--nui-raised-hover: #f1eee6;
	--nui-input: #fffdf8;
	--nui-border: #cac6bd;
	--nui-border-strong: #8c877e;
	--nui-text: #191817;
	--nui-text-muted: #5f5c57;
	--nui-text-faint: #6f6a63;
	--nui-nav-hover-bg: #e4dfd5; --nui-nav-active-bg: #d8d1c5; --nui-nav-active-border: #aaa297; --nui-nav-active-text: #191817;
	--nui-shadow: rgba(28, 25, 20, .12);
	--nui-window-shadow: 0 15px 20px var(--nui-shadow);
	--nui-overlay-opacity: .16;
	--nui-scrollbar-track: #ece7dd;
	--nui-scrollbar-thumb: #aaa297;
	--nui-switch-thumb: #ffffff;
	--nui-chart-1: #424ca3; --nui-chart-2: #216c39; --nui-chart-3: #795600; --nui-chart-4: #ac2937; --nui-chart-5: #5f5c57;
}

body { background: var(--nui-topbar-surface); color: var(--nui-text); font-family: var(--nui-font-sans); }
body.nui-theme-dark, body.nui-theme-light { margin: 0; }

.nui-shell, .nui-shell * { box-sizing: border-box; }
.nui-shell { display: flex; flex-direction: column; height: 100dvh; min-height: 0; overflow: hidden; font-family: var(--nui-font-sans); font-size: var(--nui-font-size-base); line-height: 1.35; color: var(--nui-text); background: var(--nui-shell-bg); }
/* Form öğesi yazı sıfırlaması :where ile en düşük özgüllüktedir; .nui-button, sekme, takvim günü gibi sınıf kuralları kabuk içinde de
   kendi boyut/kalınlığını korur (1.8 öncesi bu kural sınıfları eziyor, aynı bileşen kabuk içinde ve dışında farklı görünüyordu). */
.nui-shell :where(button, input, select, textarea) { font: inherit; }
.nui-shell * { scrollbar-color: var(--nui-scrollbar-thumb) var(--nui-scrollbar-track); }.nui-shell *::-webkit-scrollbar { width: 8px; height: 8px; }.nui-shell *::-webkit-scrollbar-track { background: var(--nui-scrollbar-track); }.nui-shell *::-webkit-scrollbar-thumb { border: 2px solid var(--nui-scrollbar-track); border-radius: 8px; background: var(--nui-scrollbar-thumb); }
.nui-table-action-group { display: flex; align-items: center; justify-content: center; gap: var(--nui-gap-1); min-width: max-content; }
.nui-table-action-group .nui-button { min-height: var(--nui-control-height-sm); white-space: nowrap; }
.nui-heading-stack { display: grid; min-width: 0; gap: 2px; }
.nui-heading-title { margin: 0; color: var(--nui-text); font-size: var(--nui-font-size-sm); font-weight: 700; line-height: 1.25; }
.nui-heading-description { color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); line-height: 1.35; }
.nui-shell .nui-topbar, .nui-shell .nui-brand, .nui-shell .nui-topbar-actions, .nui-shell .nui-topbar-menu { display: flex; align-items: center; }.nui-shell .nui-topbar { justify-content: space-between; flex: 0 0 auto; }.nui-shell .nui-brand { min-width: 0; }.nui-shell .nui-topbar-actions { gap: 8px; }.nui-shell .nui-topbar-menu-item { position: relative; cursor: pointer; }.nui-shell .nui-topbar-menu-dropdown { display: none; position: absolute; top: 100%; left: 0; z-index: var(--nui-layer-menu); min-width: 170px; }.nui-shell .nui-topbar-menu-dropdown a { display: block; padding: 7px 10px; text-decoration: none; }
.nui-shell .nui-topbar, .nui-shell .nui-sidebar { border: 0; box-shadow: none; }.nui-shell .nui-topbar { background: var(--nui-topbar-surface); }.nui-shell .nui-sidebar { background: var(--nui-sidebar-surface); }
.nui-shell .nui-topbar { height: 44px; min-height: 44px; padding: 0 14px 0 5px; }.nui-shell .nui-brand-logo { width: 24px; height: 24px; border-radius: 7px; }.nui-shell .nui-brand-title { margin-left: 8px; color: var(--nui-text); letter-spacing: .06em; }.nui-shell .nui-topbar-menu { height: 44px; margin-left: 24px; gap: 12px; }.nui-shell .nui-topbar-menu-item { padding: 5px 0; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }.nui-shell .nui-topbar-menu-item:hover, .nui-shell .nui-topbar-menu-item:focus-within { color: var(--nui-text); }.nui-shell .nui-topbar-menu-item > button { padding: 2px 4px; border: 0; border-radius: 4px; background: transparent; color: inherit; cursor: pointer; font: inherit; }.nui-shell .nui-topbar-menu-item > button:hover, .nui-shell .nui-topbar-menu-item > button:focus-visible { background: var(--nui-raised-hover); outline: none; }.nui-shell .nui-topbar-menu-dropdown { border: 1px solid var(--nui-border); border-radius: 7px; background: var(--nui-raised); box-shadow: 0 12px 28px var(--nui-shadow); }.nui-shell .nui-topbar-menu-item.is-open .nui-topbar-menu-dropdown { display: block; }.nui-shell .nui-topbar-menu-dropdown a, .nui-shell .nui-topbar-menu-dropdown button { display: block; width: 100%; padding: 7px 10px; border: 0; border-radius: 5px; background: transparent; color: var(--nui-text-muted); cursor: pointer; font: inherit; text-align: left; }.nui-shell .nui-topbar-menu-dropdown a:hover, .nui-shell .nui-topbar-menu-dropdown button:hover { color: var(--nui-text); background: var(--nui-raised-hover); }
.nui-shell .nui-mobile-nav-toggle { display: none; }
.nui-icon-button { display: inline-grid; place-items: center; width: var(--nui-icon-size); min-width: var(--nui-icon-size); min-height: var(--nui-icon-size); padding: 0; border: 0; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text-muted); cursor: pointer; }.nui-icon-button:hover { color: var(--nui-text); background: var(--nui-raised-hover); }.nui-icon-button:focus-visible, .nui-button:focus-visible, .nui-input:focus-visible, .nui-select:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 2px; }

.nui-shell .nui-shell-body { display: flex; flex: 1; min-height: 0; overflow: hidden; position: relative; padding: 0; background: var(--nui-topbar-surface); }.nui-shell .nui-sidebar { display: flex; flex: 0 0 auto; flex-direction: column; width: var(--nui-sidebar-width); padding: 8px; overflow: visible; transition: width .18s ease, transform .18s ease; }.nui-shell .nui-sidebar-brand { display: flex; align-items: center; height: 34px; margin-bottom: 6px; padding: 0 4px 0 8px; background: transparent; border: 0; }.nui-shell .nui-sidebar-brand .nui-sidebar-toggle { margin-inline-start: auto; width: var(--nui-control-height-sm); min-width: var(--nui-control-height-sm); min-height: var(--nui-control-height-sm); color: var(--nui-text); }.nui-shell .nui-sidebar-title { color: var(--nui-text); font-size: var(--nui-font-size-xs); font-weight: bold;letter-spacing: .04em; }.nui-shell .nui-nav-list { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 0; margin: 0; overflow-x: hidden; overflow-y: auto; }.nui-shell .nui-sidebar-account { flex: 0 0 auto; padding-top: 8px; border-top: 1px solid var(--nui-border); }.nui-shell .nui-nav-section { margin: 16px 8px 5px; color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); letter-spacing: .09em; font-weight: 700; }.nui-shell .nui-sidebar-account .nui-nav-section { margin-top: 0; }.nui-shell .nui-nav-item { display: flex; align-items: center; gap: 8px; min-height: var(--nui-nav-item-height); margin: 0; padding: 0 9px; border: 1px solid transparent; border-radius: var(--nui-radius-sm); color: var(--nui-text-muted); cursor: pointer; font-size: var(--nui-font-size-sm); text-decoration: none; white-space: nowrap; }.nui-shell .nui-nav-item:last-child { flex-shrink: 0; }.nui-shell .nui-nav-item > i:first-child { width: 16px; color: var(--nui-text-faint); text-align: center; }.nui-shell .nui-nav-item:hover { color: var(--nui-text); background: var(--nui-nav-hover-bg); }.nui-shell .nui-nav-item.is-active { color: var(--nui-nav-active-text); background: var(--nui-nav-active-bg); border-color: var(--nui-nav-active-border); }.nui-shell .nui-nav-item.is-active > i:first-child { color: currentColor; }.nui-shell.is-sidebar-collapsed .nui-sidebar { width: 60px; padding: 8px; }.nui-shell.is-sidebar-collapsed .nui-sidebar-brand { justify-content: center; padding: 0; }.nui-shell.is-sidebar-collapsed .nui-sidebar-title, .nui-shell.is-sidebar-collapsed .nui-nav-section, .nui-shell.is-sidebar-collapsed .nui-nav-item span, .nui-shell.is-sidebar-collapsed .nui-nav-item > i:last-child { display: none; }.nui-shell.is-sidebar-collapsed .nui-sidebar-account { padding-top: 0; border-top: 0; }.nui-shell.is-sidebar-collapsed .nui-sidebar-brand .nui-sidebar-toggle { margin-left: 0; }.nui-shell.is-sidebar-collapsed .nui-nav-item { width: 42px; justify-content: center; padding: 0; margin: 0 auto; overflow: visible; }.nui-shell.is-sidebar-collapsed .nui-nav-item > i:first-child { width: auto; }

.nui-shell .nui-main-content { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; margin: 0; overflow: hidden; border-inline-start: 1px solid var(--nui-content-border);border-top: 1px solid var(--nui-content-border); border-start-start-radius: 15px; background: var(--nui-content-surface); box-shadow: 0 18px 34px var(--nui-shadow); }.nui-shell .nui-tabs-header { display: flex; align-items: flex-end; height: 39px; min-height: 39px; padding: 0; gap: 2px; overflow-x: auto; overflow-y: hidden; border-bottom: 1px solid var(--nui-border); background: var(--nui-tabbar-surface); scrollbar-width: none; }.nui-shell .nui-tabs-header::-webkit-scrollbar { display: none; height: 0; }.nui-shell .nui-workspace-tab { position: relative; display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; height: 36px; max-width: 220px; padding: 0 7px; border: 0; border-radius: var(--nui-radius-sm) var(--nui-radius-sm) 0 0; color: var(--nui-text-muted); background: transparent; border-radius: 11px 11px 0 0; cursor: pointer; font-size: var(--nui-font-size-sm); white-space: nowrap; }.nui-shell .nui-workspace-tab::after { content: ''; position: absolute; right: 8px; bottom: 0; left: 8px; height: 3px; border-radius: 3px 3px 0 0; background: transparent; }.nui-shell .nui-workspace-tab:hover { background: color-mix(in srgb, var(--nui-text) 6%, transparent); color: var(--nui-text); }/* Sayfa sekmeleri: çubuk gri (--nui-tabbar-surface), etkin sekme açık yüzey + kenarlık + hafif gölgeyle öne çıkar; pasif sekme zeminsiz ve soluk metinlidir. */
.nui-shell .nui-workspace-tab.is-active { color: var(--nui-text); background: var(--nui-raised); box-shadow: inset 1px 0 0 var(--nui-border), inset -1px 0 0 var(--nui-border), inset 0 1px 0 var(--nui-border), 0 -1px 3px var(--nui-shadow); }.nui-shell .nui-workspace-tab.is-active::after { background: transparent; }.nui-shell .nui-workspace-tab-close { display: inline-grid; width: 18px; height: 18px; padding: 0; place-items: center; border: 0; border-radius: 4px; background: transparent; color: inherit; cursor: pointer; }.nui-shell .nui-workspace-tab * { pointer-events: none; }.nui-shell .nui-workspace-tab .nui-workspace-tab-close { pointer-events: auto; }.nui-shell .nui-workspace-tab-close:hover { background: var(--nui-raised-hover); }.nui-shell .nui-tabs-content { position: relative; display: flex; flex: 1; min-height: 0; padding: 0; overflow: hidden; background: transparent; }.nui-shell .nui-tab-content-wrapper { position: absolute; inset: 12px; display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow: auto; }

.nui-statusbar { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; min-height: 28px; margin: 0 12px 8px; padding: 7px 0 0; border: 0; border-top: 1px solid var(--nui-border); border-radius: 0; background: transparent; color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); white-space: nowrap; }.nui-statusbar .nui-statusbar-start, .nui-statusbar .nui-statusbar-end { display: flex; align-items: center; gap: 7px; }.nui-statusbar .nui-statusbar-env { color: var(--nui-text-muted); font-weight: 700; letter-spacing: .04em; }.nui-content-statusbar { order: 3; }.nui-page-statusbar { margin: auto 0 0; padding-top: 8px; }

/* Merkezi yüzey, pencere, form, tablo ve araç çubuğu bileşenleri. */
.nui-card, .nui-panel, .nui-window, .nui-fieldset, .nui-stat-card, .nui-service-card, .nui-right-window, .nui-modal-medium, .nui-modal-small { min-width: 0; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: var(--nui-raised); box-shadow: none; color: var(--nui-text); }.nui-card, .nui-panel, .nui-stat-card, .nui-service-card { padding: var(--nui-card-padding); }.nui-window { overflow: auto; min-width: 240px; min-height: 120px; padding: var(--nui-gap-3); }.nui-window[nui-window] { position: relative; display: flex; flex-direction: column; overflow: visible; box-sizing: border-box; resize: none; }.nui-window[nui-window] .nui-window-body { flex: 1 1 auto; min-height: 0; margin-right: calc((var(--nui-gap-3) * -1) + 8px); padding-right: calc(var(--nui-gap-3) - 8px); overflow: auto; }.nui-window[nui-window] .nui-window-footer { flex: 0 0 auto; margin: 12px -12px -12px; padding: 10px 12px; }.nui-window-resize-handle { position: absolute; z-index: 4; }.nui-window-resize-n, .nui-window-resize-s { right: 8px; left: 8px; height: 10px; cursor: ns-resize; }.nui-window-resize-n { top: -6px; }.nui-window-resize-s { bottom: -6px; }.nui-window-resize-e, .nui-window-resize-w { top: 8px; bottom: 8px; width: 10px; cursor: ew-resize; }.nui-window-resize-e { right: -6px; }.nui-window-resize-w { left: -6px; }.nui-window-resize-ne, .nui-window-resize-sw { width: 12px; height: 12px; cursor: nesw-resize; }.nui-window-resize-nw, .nui-window-resize-se { width: 12px; height: 12px; cursor: nwse-resize; }.nui-window-resize-ne { top: -6px; right: -6px; }.nui-window-resize-nw { top: -6px; left: -6px; }.nui-window-resize-se { right: -6px; bottom: -6px; }.nui-window-resize-sw { bottom: -6px; left: -6px; }.nui-window-maximized, .nui-window-user-sized { max-width: none !important; max-height: none !important; box-shadow: 0 20px 48px var(--nui-shadow); }.nui-window-focused { border-color: var(--nui-border-strong); box-shadow: 0 16px 34px var(--nui-shadow); z-index: 50; }.nui-window-moving, .nui-window-resizing { user-select: none; z-index: 100; }.nui-window-moving { cursor: move; }.nui-window-body { min-height: 0; }.nui-stat-card { display: flex; align-items: center; justify-content: space-between; min-height: 92px; }.nui-stat-value { font-size: 18px; font-weight: 800; }
.nui-card-structured { display: flex; flex-direction: column; padding: 0; overflow: hidden; }.nui-card-header, .nui-card-footer { display: flex; align-items: center; gap: var(--nui-gap-2); padding: calc(var(--nui-card-padding) * .75) var(--nui-card-padding); }.nui-card-header { min-height: 40px; border-bottom: 1px solid var(--nui-border); }.nui-card-footer { min-height: 36px; border-top: 1px solid var(--nui-border); color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); }.nui-card-title { min-width: 0; margin: 0; color: var(--nui-text); font-size: var(--nui-font-size-sm); font-weight: 700; line-height: 1.3; }.nui-card-description, .nui-card-meta { color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); }.nui-card-meta, .nui-card-actions { margin-inline-start: auto; }.nui-card-actions { display: flex; align-items: center; gap: var(--nui-gap-2); }.nui-card-content { min-width: 0; padding: var(--nui-card-padding); }.nui-card-content-grow { flex: 1 1 auto; }.nui-card-row { display: flex; align-items: center; gap: var(--nui-gap-3); }.nui-card-left { flex: 0 0 auto; }.nui-card-center { min-width: 0; flex: 1 1 auto; }.nui-card-right { flex: 0 0 auto; margin-inline-start: auto; }.nui-card-media { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--nui-raised-hover); }.nui-card-media-avatar { width: 40px; height: 40px; border-radius: 50%; aspect-ratio: 1; }.nui-card-chart { position: relative; min-height: 180px; padding: var(--nui-card-padding); }.nui-card-chart > canvas { width: 100% !important; }.nui-card-stat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.nui-card-stat { display: grid; align-content: start; gap: 5px; min-height: 94px; padding: calc(var(--nui-card-padding) * .75) var(--nui-card-padding); border-right: 1px solid var(--nui-border); border-bottom: 1px solid var(--nui-border); }.nui-card-stat:nth-child(even) { border-right: 0; }.nui-card-stat:nth-last-child(-n + 2) { border-bottom: 0; }.nui-card-stat-label { color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); }.nui-card-stat-value { color: var(--nui-text); font-size: 21px; font-weight: 750; letter-spacing: -.03em; line-height: 1.1; }.nui-card-stat-description { color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); line-height: 1.35; }.nui-card-list { display: grid; }.nui-card-list-row { display: grid; grid-template-columns: minmax(120px, 1fr) auto minmax(150px, 1.4fr); gap: 10px; align-items: center; min-height: 39px; padding: 0 var(--nui-card-padding); border-bottom: 1px solid var(--nui-border); font-size: var(--nui-font-size-sm); }.nui-card-list-row:last-child { border-bottom: 0; }.nui-card-list-title { color: var(--nui-text); font-weight: 600; }.nui-card-list-detail { color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); }.nui-card--center .nui-card-content { display: grid; place-items: center; text-align: center; }.nui-card--image .nui-card-content { padding: 0; }
.nui-window { box-shadow: var(--nui-window-shadow); }.nui-window-focused, .nui-window-maximized, .nui-window-user-sized { box-shadow: var(--nui-window-shadow); }.nui-window.nui-demo-window[nui-window] { position: fixed; top: 130px; left: 300px; z-index: var(--nui-layer-window); }
.nui-detail-workspace { display: flex; min-width: 0; min-height: 0; overflow: hidden; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: var(--nui-raised); }.nui-detail-surface { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; min-height: 0; }.nui-detail-hero { display: grid; grid-template-columns: minmax(120px, .72fr) minmax(0, 1.7fr); gap: var(--nui-gap-4); padding: var(--nui-gap-4); border-bottom: 1px solid var(--nui-border); background: linear-gradient(135deg, color-mix(in srgb, var(--nui-raised-hover) 64%, transparent), transparent); }.nui-detail-hero-media { display: grid; min-height: 104px; place-items: center; overflow: hidden; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-input); }.nui-detail-hero-media img { display: block; width: 100%; height: 100%; max-height: 156px; object-fit: contain; }.nui-detail-hero-content { display: grid; min-width: 0; align-content: center; gap: var(--nui-gap-3); }.nui-detail-hero-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--nui-gap-3); }.nui-detail-hero-heading h2 { margin: 0; color: var(--nui-text); font-size: var(--nui-font-size-lg); line-height: 1.2; }.nui-detail-hero-heading .nui-input { width: min(100%, 360px); font-size: var(--nui-font-size-lg); font-weight: 700; }.nui-detail-key-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--nui-gap-3); }.nui-detail-key-grid > div { display: grid; min-width: 0; gap: 3px; }.nui-detail-key-grid span { color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); }.nui-detail-key-grid strong { overflow: hidden; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }.nui-detail-key-grid .nui-input, .nui-detail-key-grid .nui-select { min-width: 0; }.nui-detail-section-summary { display: flex; align-items: center; justify-content: space-between; gap: var(--nui-gap-3); min-height: var(--nui-control-height); color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }.nui-detail-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--nui-gap-3); min-height: 44px; padding: 7px var(--nui-gap-4); border-bottom: 1px solid var(--nui-border); background: var(--nui-raised); }.nui-detail-toolbar-title { min-width: 0; color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); }.nui-detail-toolbar-actions { display: flex; flex: 0 0 auto; gap: var(--nui-gap-2); }.nui-detail-surface > .nui-window-body { display: grid; flex: 1 1 auto; min-height: 0; align-content: start; gap: var(--nui-gap-3); padding: var(--nui-gap-3); overflow: auto; }.nui-detail-surface .nui-fieldset { min-width: 0; margin: 0; padding: var(--nui-gap-3); border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: color-mix(in srgb, var(--nui-input) 55%, transparent); }.nui-detail-surface .nui-legend { padding: 0 4px; color: var(--nui-text); font-size: var(--nui-font-size-sm); font-weight: 700; }
.nui-detail-empty { display: grid; flex: 1 1 auto; min-width: 0; min-height: 0; align-content: start; justify-items: start; gap: var(--nui-gap-2); padding: var(--nui-gap-4); background: transparent; color: var(--nui-text-muted); }
.nui-detail-section { overflow: hidden; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-input); }.nui-detail-section-header { display: flex; align-items: center; justify-content: space-between; gap: var(--nui-gap-3); min-height: calc(var(--nui-control-height) + 8px); padding: 0 var(--nui-gap-3); border-bottom: 1px solid var(--nui-border); background: color-mix(in srgb, var(--nui-raised-hover) 72%, var(--nui-input)); }.nui-detail-section-heading { min-width: 0; margin: 0; color: var(--nui-text); font-size: var(--nui-font-size-sm); font-weight: 700; line-height: 1.25; }.nui-detail-section-meta { color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); }.nui-detail-section-actions { display: flex; flex: 0 0 auto; align-items: center; gap: var(--nui-gap-2); }.nui-detail-section-body { display: grid; gap: var(--nui-gap-3); padding: var(--nui-gap-3); }.nui-detail-section-body > :first-child { margin-top: 0; }.nui-detail-section-body > :last-child { margin-bottom: 0; }
.nui-form-section { min-width: 0; overflow: hidden; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-raised); }.nui-form-section-header { display: flex; align-items: center; justify-content: space-between; gap: var(--nui-gap-3); min-height: calc(var(--nui-control-height) + 8px); padding: 0 var(--nui-gap-3); border-bottom: 1px solid var(--nui-border); background: color-mix(in srgb, var(--nui-raised-hover) 72%, var(--nui-input)); }.nui-form-section-heading { min-width: 0; margin: 0; color: var(--nui-text); font-size: var(--nui-font-size-sm); font-weight: 700; line-height: 1.25; }.nui-form-section-body { display: grid; gap: var(--nui-gap-3); padding: var(--nui-gap-3); }.nui-form-grid { display: grid; min-width: 0; align-content: start; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--nui-gap-3); }
.nui-form-grid > .nui-form-group-full { grid-column: 1 / -1; }.nui-form-actions { display: flex; justify-content: flex-end; gap: var(--nui-gap-2); padding: var(--nui-gap-3); border-top: 1px solid var(--nui-border); background: color-mix(in srgb, var(--nui-raised-hover) 46%, var(--nui-raised)); }.nui-form-help { margin: 0; color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); line-height: 1.45; }.nui-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--nui-gap-2); }.nui-choice-grid > label:not(.nui-choice) { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }
.nui-demo-chart-grid { display: grid; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--nui-gap-3); }.nui-demo-chart-grid > div { min-width: 0; padding: var(--nui-gap-2); border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-input); }.nui-demo-chart-grid > div > span { display: block; margin-bottom: var(--nui-gap-2); color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); font-weight: 600; }
@media (max-width: 767px) { .nui-card-list-row { grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; min-height: 0; padding-block: 9px; }.nui-card-list-detail { grid-column: 1 / -1; }.nui-card-stat-grid { grid-template-columns: minmax(0, 1fr); }.nui-card-stat, .nui-card-stat:nth-child(even) { min-height: 76px; border-right: 0; border-bottom: 1px solid var(--nui-border); }.nui-card-stat:last-child { border-bottom: 0; }.nui-detail-hero { grid-template-columns: 92px minmax(0, 1fr); gap: var(--nui-gap-3); padding: var(--nui-gap-3); }.nui-detail-hero-media { min-height: 92px; }.nui-detail-key-grid, .nui-demo-chart-grid { grid-template-columns: minmax(0, 1fr); gap: var(--nui-gap-2); }.nui-detail-toolbar { align-items: flex-start; flex-direction: column; }.nui-detail-toolbar-actions { width: 100%; }.nui-detail-toolbar-actions .nui-button { flex: 1 1 auto; } }
.nui-window-header { display: flex; align-items: center; min-height: 33px; gap: 8px; margin: -12px -12px 12px; padding: 0 10px; border: 0; border-bottom: 1px solid var(--nui-border); background: color-mix(in srgb, var(--nui-text) 5%, transparent); color: var(--nui-text); cursor: move; }.nui-window-icon { color: var(--nui-text-faint); }.nui-window-title { min-width: 0; color: var(--nui-text); font-size: var(--nui-font-size-sm); font-weight: 700; }.nui-window-controls { display: flex; align-items: center; gap: 3px; margin-inline-start: auto; }.nui-window-controls button { display: inline-grid; width: 28px; min-width: 28px; min-height: 28px; place-items: center; padding: 0; border: 0; border-radius: 5px; background: transparent; color: var(--nui-text-muted); cursor: pointer; }.nui-window-controls button:hover { background: var(--nui-raised-hover); color: var(--nui-text); }.nui-window-controls button[aria-label="Kapat"]:empty::before { content: '×'; font-size: 18px; font-weight: 400; line-height: 1; }.nui-window-controls button[aria-label="Büyüt"]:empty::before { content: '□'; font-size: 14px; }.nui-window-controls button[aria-label="Geri Al"]:empty::before { content: '▣'; font-size: 12px; }.nui-window-controls .nui-icon-button { width: 28px; min-height: 28px; }.nui-window-close:hover, .nui-window-controls button[aria-label="Kapat"]:hover { color: var(--nui-on-solid); background: var(--nui-danger-solid); }.nui-window-body { min-width: 0; color: var(--nui-text); }.nui-window-footer { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 10px 12px 0; border-top: 1px solid var(--nui-border); }.nui-window-footer-note { margin-right: auto; color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); }.nui-window-footer-actions { display: flex; align-items: center; gap: 8px; }.nui-console-box { min-height: 0; padding: 10px; overflow: auto; font-family: var(--nui-font-mono); white-space: pre-wrap; color: var(--nui-console-text); }
.nui-modal-overlay { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; padding: 18px; background: rgb(var(--nui-overlay-color) / var(--nui-overlay-opacity)); backdrop-filter: none; z-index: var(--nui-layer-modal); }.nui-modal-overlay > .nui-window, .nui-modal-content { width: min(800px, calc(100vw - 36px)); max-height: min(84dvh, 760px); }
.nui-dialog-overlay { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: var(--nui-gap-4); background: rgb(var(--nui-overlay-color) / var(--nui-overlay-opacity)); backdrop-filter: none; }.nui-dialog { width: min(460px,calc(100vw - 32px)); max-height: min(80dvh,560px); overflow: auto; border: 1px solid color-mix(in srgb, var(--nui-text) 12%, transparent); border-radius: calc(var(--nui-radius) + 2px); background: linear-gradient(180deg, color-mix(in srgb, var(--nui-raised) 96%, var(--nui-text)), var(--nui-raised)); box-shadow: 0 22px 52px var(--nui-shadow), inset 0 1px 0 color-mix(in srgb, var(--nui-text) 8%, transparent); color: var(--nui-text); }.nui-dialog-header { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 12px 0 14px; border-bottom: 1px solid var(--nui-border); }.nui-dialog-icon { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 7px; background: color-mix(in srgb, var(--nui-info) 16%, transparent); color: var(--nui-info); }.nui-dialog-warning .nui-dialog-icon { background: color-mix(in srgb, var(--nui-warning) 16%, transparent); color: var(--nui-warning); }.nui-dialog-critical .nui-dialog-icon { background: color-mix(in srgb, var(--nui-danger) 16%, transparent); color: var(--nui-danger); }.nui-dialog-title { min-width: 0; margin: 0; color: var(--nui-text); font-size: var(--nui-font-size-base); font-weight: 700; line-height: 1.3; }.nui-dialog-header .nui-icon-button { margin-inline-start: auto; }.nui-dialog-body { display: grid; gap: 14px; padding: 16px; }.nui-dialog-message { margin: 0; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); line-height: 1.55; }.nui-dialog-confirm-input { padding-top: 12px; border-top: 1px solid var(--nui-border); }.nui-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 16px 16px; border-top: 1px solid var(--nui-border); }.nui-dialog-actions .nui-button { min-width: 84px; }
.nui-button { display: inline-flex; flex-shrink: 0; min-width: 0; max-width: 100%; box-sizing: border-box; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; align-items: center; justify-content: center; gap: 6px; min-height: var(--nui-control-height); padding: 5px var(--nui-control-padding-x); border: 1px solid var(--nui-border-strong); border-radius: var(--nui-radius-sm); background: var(--nui-raised); color: var(--nui-text); box-shadow: none; text-shadow: none; font-size: var(--nui-control-font-size); font-weight: 500; line-height: 18px; cursor: pointer; }.nui-button:hover { border-color: var(--nui-text-faint); background: var(--nui-raised-hover); }.nui-button-primary { border-color: var(--nui-primary); background: var(--nui-primary); color: var(--nui-primary-foreground); }.nui-button-primary:hover, .nui-button-primary:focus-visible { border-color: var(--nui-primary-hover); background: var(--nui-primary-hover); color: var(--nui-primary-foreground); }.nui-button-success { border-color: var(--nui-success-solid); background: var(--nui-success-solid); color: var(--nui-on-solid); }.nui-button-small { min-height: var(--nui-control-height-sm); padding: 3px calc(var(--nui-control-padding-x) * .75); font-size: var(--nui-font-size-xs); }
.nui-button:not(:has(> :not(br))) { display: inline-block; }
.nui-button > span:not(.nui-badge) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nui-button > :is(svg, i, img, .nui-badge) { flex: 0 0 auto; }
.nui-input, .nui-select, .nui-textarea, .nui-shell input:not([type="checkbox"]):not([type="radio"]), .nui-shell select, .nui-shell textarea { min-height: var(--nui-control-height); border: 1px solid var(--nui-border-strong); border-radius: var(--nui-radius-sm); background: var(--nui-input); color: var(--nui-text); box-shadow: none; font-size: var(--nui-control-font-size); } .nui-input:not(.nui-otp-slot), .nui-select, .nui-textarea{padding-inline-start: var(--nui-control-padding-x);} .nui-shell input:focus, .nui-shell select:focus, .nui-shell textarea:focus { border-color: var(--nui-ring); outline: 2px solid var(--nui-accent-ring); }.nui-form-group { display: grid; gap: 5px; }.nui-form-group > label, .nui-checkbox-label, .nui-checkbox-container { color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }.nui-w-100 { width: 100%; }.nui-text-value { display: block; min-height: var(--nui-control-height); padding: 6px 0; border: 0; border-bottom: 1px solid var(--nui-border); border-radius: 0; color: var(--nui-text); }
.nui-fieldset { min-width: 0; margin: 0; padding: 0 var(--nui-gap-3) var(--nui-gap-3); overflow: hidden; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-raised); }.nui-legend { display: block; width: calc(100% + (var(--nui-gap-3) * 2)); margin: 0 calc(var(--nui-gap-3) * -1) var(--nui-gap-3); padding: 10px var(--nui-gap-3); border: 0; border-bottom: 1px solid var(--nui-border); border-radius: calc(var(--nui-radius-sm) - 1px) calc(var(--nui-radius-sm) - 1px) 0 0; background: color-mix(in srgb, var(--nui-raised-hover) 72%, var(--nui-input)); color: var(--nui-text); font-size: var(--nui-font-size-sm); font-weight: 700; }.nui-badge-group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-height: var(--nui-control-height); }.nui-alert { padding: 9px 10px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-raised); color: var(--nui-text); }.nui-alert-warning { border-left: 3px solid var(--nui-warning); }.nui-alert-critical { border-left: 3px solid var(--nui-danger); }
.nui-table-container { overflow: auto; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-raised); }.nui-table { width: 100%; border-collapse: collapse; background: transparent; color: var(--nui-text); }.nui-table th { background: var(--nui-raised-hover); color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); font-weight: 700; text-transform: none; height: calc(var(--nui-control-height) + 4px); }.nui-table th, .nui-table td { padding: var(--nui-table-cell-y) var(--nui-table-cell-x); border: 0; border-bottom: 1px solid var(--nui-border); color: var(--nui-text); }.nui-table tbody tr:hover, .nui-table tbody tr.is-active { background: color-mix(in srgb, var(--nui-accent) 9%, var(--nui-raised)); }
.nui-toolbar, .nui-header-toolbar, .nui-footer-toolbar { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 0; border: 0; background: transparent; }.nui-toolbar { flex-wrap: wrap; }.nui-header-title { color: var(--nui-text); font-size: calc(var(--nui-font-size-base) + 1px); font-weight: 700; }.nui-flex-row { display: flex; flex-direction: row; }.nui-flex-column { display: flex; flex-direction: column; }.nui-flex-grow { flex: 1; min-width: 0; }.nui-flex-end { display: flex; justify-content: flex-end; gap: 8px; }.nui-flex-center { display: flex; align-items: center; justify-content: center; }.nui-page-container { display: flex; flex: 1; flex-direction: column; min-height: 0; gap: 12px; overflow: auto; color: var(--nui-text); }
/* Sayfa kabı dikey flex ve kaydırılabilir: içerik kartları (overflow:hidden) ezilip başlık yüksekliğine inmez, sayfa kayar.
   :where ile en düşük özgüllük; kendi flex kuralı olan dolgu öğeleri (.nui-fill-y, workbench vb.) bunu geçersiz kılar. */
:where(.nui-page-container) > * { flex-shrink: 0; }
/* Sabit yükseklikli kartta (bölme, pencere) yalnız gövde daralır/kayar; başlık ve altlık ezilip içeriğin üstüne taşmaz. */
:where(.nui-card) > :where(.nui-card-header, .nui-card-footer) { flex-shrink: 0; }.nui-split-layout { flex: 1; min-height: 0; }.nui-panel, .nui-left-col, .nui-right-window { min-width: 0; }.nui-grid-2col { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }.nui-grid-3col { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }.nui-grid-4col { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }.nui-checkbox, .nui-checkbox-container, .nui-checkbox-label { cursor: pointer; }.nui-checkbox-description, .nui-checkbox-description-danger { display: grid; gap: 2px; }.nui-checkbox-description > span:first-child, .nui-checkbox-description-danger > span:first-child { color: var(--nui-text); font-size: var(--nui-font-size-sm); font-weight: 650; line-height: 1.25; }.nui-checkbox-description > span:last-child, .nui-checkbox-description-danger > span:last-child { color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); font-weight: 400; line-height: 1.3; opacity: 1; }.nui-checkbox-description-danger > span:first-child { color: var(--nui-danger); }.nui-text-mono { font-family: var(--nui-font-mono); }

.nui-split-pane { position: relative; display: grid; grid-template-columns: calc(var(--nui-split-size, 50%) - 9px) calc(100% - var(--nui-split-size, 50%) - 9px); column-gap: 18px; }.nui-split-pane > .nui-split-divider { position: absolute; top: 0; bottom: 0; left: calc(var(--nui-split-size, 50%) - 9px); display: grid; width: 18px; place-items: center; padding: 0; border: 0; background: transparent; color: var(--nui-text-faint); cursor: col-resize; z-index: 10; }.nui-split-pane > .nui-split-divider::before { content: ''; width: 1px; height: 100%; background: var(--nui-border); }.nui-split-pane > .nui-split-divider::after { content: '⋮'; position: absolute; display: grid; width: 18px; height: 42px; place-items: center; border: 1px solid var(--nui-border); border-radius: 99px; background: var(--nui-raised); color: var(--nui-text-faint); font-size: 18px; line-height: 1; box-shadow: 0 5px 14px var(--nui-shadow); transition: border-color .14s, color .14s, background .14s; }.nui-split-pane > .nui-split-divider:hover::after, .nui-resizing .nui-split-divider::after { border-color: var(--nui-accent); background: color-mix(in srgb, var(--nui-accent) 12%, var(--nui-raised)); color: var(--nui-text); }.nui-split-pane.nui-split-pane-single { grid-template-columns: minmax(0,1fr); }.nui-split-pane.nui-split-pane-single > .nui-split-divider { display: none; }.nui-split-pane > .nui-left-col, .nui-split-pane > .nui-right-window, .nui-split-pane > .nui-panel { border-color: var(--nui-border); box-shadow: none; }.nui-split-pane > .nui-left-col { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }.nui-split-pane > .nui-left-col > .nui-table-container { flex: 1 1 auto; min-height: 0; }.nui-split-pane > .nui-left-col > naeron-pagination { flex: 0 0 auto; }.nui-resizing, .nui-resizing * { cursor: col-resize; user-select: none; }

/* Konsol kutusu (.nui-console-box) tema modundan bağımsız sabit koyu yüzeydir; xterm teması da sabit koyudur, bu yüzden tema bloklarında değil burada tanımlanır. */
.nui-console-box { --nui-console-surface: #101011; --nui-console-border: #303035; --nui-console-text: #e8e8ed; --nui-console-text-strong: #e4e4e7; --nui-console-muted: #a1a1aa; --nui-console-window: #18181b; --nui-console-scroll-thumb: #45454d; }
/* Dashboard, log, terminal ve dağıtım yüzeyleri. */
.nui-dashboard { display: grid; position: relative; isolation: isolate; align-content: start; gap: 12px; overflow: auto; padding: 20px; }.nui-dashboard-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 12px; }.nui-panel-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 10px; }.nui-panel-heading h2 { margin: 0; color: var(--nui-text); font-size: var(--nui-font-size-base); }.nui-panel-heading span { color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); }.nui-health-row { display: grid; grid-template-columns: minmax(110px,1fr) 86px minmax(140px,1.4fr); gap: 8px; align-items: center; min-height: 32px; border-bottom: 1px solid var(--nui-border); font-size: var(--nui-font-size-sm); }.nui-health-row:last-child { border-bottom: 0; }.nui-metric-grid, .nui-inline-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }.nui-inline-metrics-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }.nui-metric, .nui-inline-metrics > div { display: grid; gap: 4px; min-height: 78px; padding: 10px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); }.nui-metric strong, .nui-inline-metrics strong { color: var(--nui-text); font-size: 18px; }.nui-metric > span, .nui-metric small, .nui-inline-metrics span { color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); }.nui-terminal-page { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 12px; height: 100%; min-height: 0; }.nui-terminal-sidebar, .nui-terminal-workspace { display: flex; flex-direction: column; min-height: 0; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: var(--nui-raised); overflow: hidden; }.nui-panel-header { display: flex; align-items: center; min-height: 38px; gap: 8px; padding: 0 12px; border-bottom: 1px solid var(--nui-border); color: var(--nui-text); font-size: var(--nui-font-size-base); font-weight: 700; }.nui-terminal-section { display: grid; gap: 8px; padding: 10px; border-bottom: 1px solid var(--nui-border); }.nui-terminal-section-heading { display: flex; align-items: center; justify-content: space-between; color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }.nui-terminal-empty, .nui-terminal-loading { color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }.nui-terminal-service { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 7px; min-height: 30px; padding: 5px 7px; border: 1px solid transparent; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text); text-align: left; cursor: pointer; }.nui-terminal-service:hover, .nui-terminal-service.is-active { border-color: var(--nui-border); background: var(--nui-raised-hover); }.nui-terminal-command-list { display: grid; gap: 5px; }.nui-terminal-command-list .nui-button { justify-content: flex-start; }.nui-terminal-settings { margin-top: auto; }.nui-terminal-settings label { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }.nui-terminal-workspace-header { justify-content: space-between; }.nui-terminal-workspace-header > div, .nui-terminal-actions { display: flex; align-items: center; gap: 6px; }.nui-console-box { background: var(--nui-console-surface); border: 1px solid var(--nui-console-border); border-radius: var(--nui-radius-sm); }.nui-terminal-status { display: flex; align-items: center; gap: 12px; min-height: 28px; padding: 0 10px; border-top: 1px solid var(--nui-border); color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); }.nui-terminal-status span:last-child { margin-inline-start: auto; }
.nui-dashboard .nui-panel { overflow: hidden; border-color: color-mix(in srgb, var(--nui-border) 82%, var(--nui-accent)); background: linear-gradient(180deg, color-mix(in srgb, var(--nui-raised) 92%, var(--nui-text)), var(--nui-raised)); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--nui-text) 7%, transparent); }.nui-dashboard .nui-panel-heading { padding-bottom: 8px; border-bottom: 1px solid color-mix(in srgb, var(--nui-border) 80%, transparent); }.nui-dashboard .nui-metric, .nui-dashboard .nui-inline-metrics > div { background: color-mix(in srgb, var(--nui-raised) 88%, var(--nui-accent)); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--nui-text) 5.5%, transparent); }.nui-dashboard .nui-metric:nth-child(2), .nui-dashboard .nui-inline-metrics > div:nth-child(2) { background: color-mix(in srgb, var(--nui-raised) 91%, var(--nui-success)); }.nui-dashboard .nui-metric:nth-child(3), .nui-dashboard .nui-inline-metrics > div:nth-child(3) { background: color-mix(in srgb, var(--nui-raised) 91%, var(--nui-warning)); }

.nui-page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--nui-border); }.nui-page-header h1 { margin: 1px 0 3px; color: var(--nui-text); font-size: 19px; line-height: 25px; }.nui-eyebrow { margin: 0; color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); font-weight: 800; letter-spacing: .1em; }.nui-page-description { margin: 0; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }.nui-deployment-page { display: grid; align-content: start; gap: 12px; overflow: auto; }.nui-deploy-steps { display: grid; grid-template-columns: minmax(230px,.9fr) minmax(300px,1.25fr) minmax(230px,.9fr); gap: 12px; align-items: start; }.nui-step-title { display: flex; gap: 9px; margin-bottom: 12px; }.nui-step-title > span { display: grid; place-items: center; flex: 0 0 22px; height: 22px; border-radius: 50%; background: var(--nui-text); color: var(--nui-bg); font-size: var(--nui-font-size-xs); font-weight: 800; }.nui-step-title h2 { margin: 0 0 3px; font-size: var(--nui-font-size-base); }.nui-step-title p { margin: 0; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }.nui-choice-grid { display: grid; gap: 7px; }.nui-choice-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }.nui-choice { display: grid; gap: 3px; min-height: 62px; padding: 9px; border: 1px solid var(--nui-border); border-radius: 6px; background: transparent; color: var(--nui-text); text-align: left; box-shadow: none; }.nui-choice:hover, .nui-choice.is-active { border-color: var(--nui-accent-border); background: var(--nui-accent-fill); }.nui-choice small { color: var(--nui-text-muted); }
/* Seçim kartı label olarak radyo/onay kutusu taşıyabilir; devre dışı seçenek soluk ve tıklanamaz görünür. */
:is(label, button).nui-choice { cursor: pointer; }
/* Pasif seçim kartı: iç input pasifse veya kartın kendisi pasif düğmeyse (button.nui-choice:disabled, aria-disabled). */
:is(.nui-choice:has(input:disabled), .nui-choice:disabled, .nui-choice[aria-disabled="true"]) { cursor: not-allowed; opacity: .6; }
:is(.nui-choice:has(input:disabled), .nui-choice:disabled, .nui-choice[aria-disabled="true"]):hover { border-color: var(--nui-border); background: transparent; }.nui-hotfix-input { width: 100%; min-height: 156px; padding: 8px; resize: vertical; }.nui-deploy-note { display: flex; align-items: flex-start; gap: 8px; margin-top: 8px; padding: 9px 10px; border: 1px solid var(--nui-border); border-radius: 6px; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }.nui-deploy-actions { display: flex; flex-wrap: wrap; gap: 7px; }

#nui-tooltip-portal { position: fixed; z-index: var(--nui-layer-tooltip); max-width: min(280px, calc(100vw - 16px)); padding: 5px 7px; border: 1px solid var(--nui-border-strong); border-radius: 5px; background: var(--nui-raised); box-shadow: 0 8px 20px var(--nui-shadow); color: var(--nui-text); font-family: var(--nui-font-sans); font-size: var(--nui-font-size-xs); line-height: 1.3; pointer-events: none; white-space: normal; overflow-wrap: anywhere; }.nui-led-label, small { color: var(--nui-text-muted); }

/* Ortak veri yoğunluğu, detay formu ve modal pencere kuralları. */
.nui-table { font-size: var(--nui-font-size-sm); }.nui-table th { font-size: var(--nui-font-size-xs); letter-spacing: .015em; }.nui-table th, .nui-table td { padding: var(--nui-table-cell-y) var(--nui-table-cell-x); line-height: 1.25; }.nui-table td b, .nui-table td strong { font-weight: 650; }
.nui-row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--nui-gap-3); }.nui-col { min-width: 0; }.nui-form-group { gap: 3px; }.nui-form-group > label { font-size: var(--nui-font-size-xs); }
.nui-checkbox, .nui-radio { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: var(--nui-font-size-base); color: var(--nui-text); user-select: none; margin: 0; }
.nui-checkbox input[type="checkbox"], .nui-radio input[type="radio"] { appearance: auto; -webkit-appearance: auto; width: 15px; height: 15px; margin: 0; cursor: pointer; accent-color: var(--nui-accent); flex-shrink: 0; }
.nui-checkbox-container { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
.nui-radio-group { display: flex; flex-direction: column; gap: 8px; }
.nui-radio-group.nui-radio-group-row { flex-direction: row; gap: 16px; }
.nui-checkbox-label { min-width: 0; cursor: inherit; }
.nui-window-controls [data-lucide], .nui-icon-button [data-lucide] { display: block; width: 16px; height: 16px; }

/* İkonlar NaeronUI'nin yerel Lucide dağıtımından gelir. */
.nui-shell svg.lucide, .nui-page-container svg.lucide { width: 1em; height: 1em; stroke-width: 1.8; vertical-align: -.13em; }.nui-button svg.lucide, .nui-icon-button svg.lucide, .nui-window-controls svg.lucide { flex: 0 0 auto; width: 14px; height: 14px; }:is(.nui-icon-spin svg.lucide, svg.lucide.nui-icon-spin) { animation: nui-icon-spin 1s linear infinite; }@keyframes nui-icon-spin { to { transform: rotate(360deg); } }
.nui-shell .nui-workspace-tab-close { opacity: 0; transition: opacity .12s ease, background .12s ease; }.nui-shell .nui-workspace-tab:hover .nui-workspace-tab-close, .nui-shell .nui-workspace-tab:focus-within .nui-workspace-tab-close, .nui-shell .nui-workspace-tab.is-active .nui-workspace-tab-close { opacity: 1; }.nui-shell .nui-workspace-tab-close:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 1px; }
.nui-workspace-tabbar { display: flex; flex: 0 0 auto; min-width: 0; background: var(--nui-tabbar-surface); }.nui-workspace-tabbar .nui-tabs-header { flex: 1 1 auto; min-width: 0; user-select: none; }.nui-workspace-tabbar .nui-workspace-tab { min-width: 92px; padding: 0 10px; gap: 8px; }.nui-workspace-tabbar .nui-workspace-tab-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; }.nui-workspace-tabbar .nui-workspace-tab > i, .nui-workspace-tabbar .nui-workspace-tab-close { flex: 0 0 auto; }.nui-workspace-tabbar .nui-workspace-tab:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: -3px; }.nui-workspace-tabbar .nui-workspace-tab-close:hover { color: var(--nui-text); background: var(--nui-raised-hover); }.nui-workspace-tabbar .nui-workspace-tab.is-dragging { opacity: .45; }.nui-workspace-tabbar .nui-workspace-tab.is-drag-over { box-shadow: inset 2px 0 var(--nui-accent); background: var(--nui-raised-hover); }.nui-workspace-tabbar .nui-workspace-tab.is-drag-over.is-drag-after { box-shadow: inset -2px 0 var(--nui-accent); }.nui-workspace-tab-actions { display: flex; flex: 0 0 auto; align-items: center; padding: 0 4px; border-bottom: 1px solid var(--nui-border); }.nui-workspace-tab-menu { width: min(300px, calc(100vw - 16px)); max-height: min(420px, calc(100dvh - 80px)); overflow-y: auto; }.nui-workspace-tab-menu-row { display: flex; align-items: center; gap: 2px; }.nui-workspace-tab-menu-row > .nui-dropdown-item { display: flex; flex: 1 1 auto; min-width: 0; align-items: center; gap: 8px; }.nui-workspace-tab-menu-row > .nui-dropdown-item > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.nui-workspace-tab-menu-row > .nui-dropdown-item.is-active { color: var(--nui-text); background: var(--nui-raised-hover); }.nui-workspace-tab-menu-row > .nui-icon-button { flex: 0 0 auto; }
.nui-shell .nui-tabs-content { position: relative; display: flex; flex: 1; min-height: 0; padding: 0; overflow: hidden; background: transparent; }.nui-shell .nui-tab-content-wrapper { position: absolute; inset: 0; display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow: auto; }
.nui-page-container, .nui-dashboard { position: relative; isolation: isolate; padding: 12px; }
.nui-workspace-page { flex: 1 1 auto; flex-direction: column; min-width: 0; min-height: 0; overflow: auto; }
.nui-shell [nui-workspace-view], [nui-workspace-view] { overflow: hidden; }
.nui-tabs-content::before {position: absolute;inset: 0 0 auto;height: 220px;content: '';pointer-events: none;background: var(--nui-page-surface);}
.nui-shell .nui-main-content { color: var(--nui-text); }
.nui-theme-lab { display: grid; gap: 12px; }.nui-theme-choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.nui-theme-choice { display: grid; gap: 6px; min-height: 74px; padding: 10px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: color-mix(in srgb, var(--nui-raised) 92%, transparent); color: var(--nui-text-muted); cursor: pointer; text-align: left; }.nui-theme-choice:hover { border-color: var(--nui-border-strong); background: var(--nui-raised-hover); color: var(--nui-text); }.nui-theme-choice.is-active { border-color: var(--nui-accent-border); background: var(--nui-accent-fill); color: var(--nui-text); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--nui-accent) 32%, transparent); }.nui-theme-choice-label { display: flex; align-items: center; justify-content: space-between; font-size: var(--nui-font-size-xs); font-weight: 700; }.nui-theme-choice-swatch { height: 24px; border: 1px solid var(--nui-border); border-radius: 5px; background: var(--nui-shell-bg); }.nui-theme-choice-swatch.nui-theme-choice-inherit { background: linear-gradient(135deg, var(--nui-shell-bg) 0 47%, var(--nui-accent) 47% 53%, var(--nui-raised) 53%); }/* Önizleme karesi: seçilen modun görünümünü gösterir; sayfa temasından bağımsız sabit renktir. */.nui-theme-choice-swatch.nui-theme-choice-light { background: #f5f5f5; }.nui-theme-choice-swatch.nui-theme-choice-dark { background: #171717; }.nui-theme-choice-group { display: grid; gap: 6px; min-width: 0; }.nui-theme-choice-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }.nui-theme-choice-actions .nui-theme-choice { min-height: 66px; padding: 6px; place-items: center; text-align: center; font-size: var(--nui-font-size-xs); }.nui-theme-choice-actions .nui-theme-choice-swatch { width: 100%; height: 20px; }

.nui-empty-table { padding: 20px; color: var(--nui-text-muted); text-align: center; }.nui-empty-table strong, .nui-empty-table span { display: block; }.nui-empty-table strong { margin-bottom: 4px; color: var(--nui-text); }
.nui-filter-toolbar { flex: 0 0 auto; gap: var(--nui-gap-2); padding: 8px; border-radius: var(--nui-radius-sm); background: color-mix(in srgb, var(--nui-raised) 76%, transparent); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--nui-text) 4.5%, transparent); }.nui-filter-toolbar > label { margin: 0 0 0 2px; color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); font-weight: 700; letter-spacing: .04em; }.nui-filter-toolbar .nui-toolbar-input { flex: 1 1 180px; min-width: 150px; }.nui-filter-toolbar .nui-select { flex: 0 1 190px; min-width: 96px; }.nui-filter-toolbar .nui-button { flex: 0 0 auto; }
.nui-split-pane > .nui-right-window { display: flex; flex-direction: column; min-height: 0; }.nui-split-pane > .nui-right-window > .nui-window.nui-right-window { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; }.nui-split-pane > .nui-right-window > .nui-window.nui-right-window > .nui-window-body { flex: 1 1 auto; min-height: 0; overflow: auto; }.nui-detail-toolbar { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: var(--nui-gap-2); min-height: 46px; padding: 8px 12px; border-bottom: 1px solid var(--nui-border); background: color-mix(in srgb, var(--nui-raised) 88%, transparent); }.nui-detail-toolbar-title { min-width: 0; overflow: hidden; color: var(--nui-text-muted); font-family: var(--nui-font-mono); font-size: var(--nui-font-size-xs); text-overflow: ellipsis; white-space: nowrap; }.nui-detail-toolbar-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; }

/* ==========================================================================
   NaeronUI Modüler Bileşenler (Foundation Katmanı)
   ========================================================================== */

/* 1. Kart Mimarisi (Card Header / Content / Footer) */
.nui-card:not(.nui-card-structured) .nui-card-header { display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding-bottom: calc(var(--nui-card-padding) * .5); margin-bottom: calc(var(--nui-card-padding) * .5); border-bottom: 1px solid var(--nui-border); }
.nui-card:not(.nui-card-structured) .nui-card-title { margin: 0; font-size: calc(var(--nui-font-size-base) + 1px); font-weight: 700; color: var(--nui-text); line-height: 1.3; }
.nui-card:not(.nui-card-structured) .nui-card-description { margin: 0; font-size: var(--nui-font-size-xs); color: var(--nui-text-muted); line-height: 1.4; }
.nui-card:not(.nui-card-structured) .nui-card-content { display: flex; flex-direction: column; gap: var(--nui-gap-2); min-height: 0; }
.nui-card:not(.nui-card-structured) .nui-card-footer { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding-top: calc(var(--nui-card-padding) * .5); margin-top: calc(var(--nui-card-padding) * .5); border-top: 1px solid var(--nui-border); }

/* 2. Switch (Anahtar) */
.nui-switch { position: relative; display: inline-flex; align-items: center; width: 38px; height: 20px; padding: 2px; border: 1px solid transparent; border-radius: 999px; background: var(--nui-border-strong); cursor: pointer; transition: background-color .15s ease, border-color .15s ease; user-select: none; flex-shrink: 0; }
.nui-switch:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 2px; }
.nui-switch.is-checked, .nui-switch[aria-checked="true"] { background: var(--nui-accent); border-color: var(--nui-accent); }
/* Kapalı durumda iz dolu gri (--nui-border-strong), topuz açık renk: beyaz kart üstünde bile durum okunur. */
.nui-switch-thumb { display: block; width: 14px; height: 14px; border-radius: 50%; background: var(--nui-switch-thumb); box-shadow: 0 1px 3px var(--nui-shadow); transition: transform .15s ease; pointer-events: none; }
.nui-switch.is-checked .nui-switch-thumb, .nui-switch[aria-checked="true"] .nui-switch-thumb { transform: translateX(18px); background: var(--nui-accent-foreground); }
.nui-switch[disabled] { opacity: .5; cursor: not-allowed; }

/* 3. Slider (Kaydırıcı) */
.nui-slider { position: relative; display: flex; align-items: center; width: 100%; height: 20px; touch-action: none; user-select: none; cursor: pointer; }
.nui-slider-track { position: relative; flex-grow: 1; height: 6px; border-radius: 999px; background: var(--nui-border); overflow: hidden; }
.nui-slider-range { position: absolute; height: 100%; background: var(--nui-accent); border-radius: 999px; }
.nui-slider-thumb { position: absolute; width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--nui-accent); background: var(--nui-raised); box-shadow: 0 2px 6px var(--nui-shadow); transform: translate(-50%, 0); transition: border-color .15s, box-shadow .15s; }
.nui-slider:focus-visible .nui-slider-thumb, .nui-slider-thumb:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 2px; }

/* 4. Radio Group (Radyo Düğmesi Grubu) */
.nui-radio-group { display: flex; flex-direction: column; gap: 8px; }
.nui-radio-item { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; user-select: none; }
.nui-radio { position: relative; display: inline-grid; place-items: center; width: 16px; height: 16px; border: 1px solid var(--nui-border-strong); border-radius: 50%; background: var(--nui-input); transition: border-color .14s; flex-shrink: 0; }
.nui-radio:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 2px; }
.nui-radio.is-checked, .nui-radio[aria-checked="true"] { border-color: var(--nui-accent); }
.nui-radio-indicator { width: 8px; height: 8px; border-radius: 50%; background: var(--nui-accent); opacity: 0; transform: scale(.5); transition: opacity .12s, transform .12s; }
.nui-radio.is-checked .nui-radio-indicator, .nui-radio[aria-checked="true"] .nui-radio-indicator { opacity: 1; transform: scale(1); }
.nui-radio-label { font-size: var(--nui-font-size-sm); color: var(--nui-text); }

/* 5. Combobox & Arama Dropdown */
.nui-combobox { position: relative; display: inline-flex; align-items: center; width: 100%; }
.nui-combobox-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: var(--nui-control-height); padding: 4px var(--nui-control-padding-x); border: 1px solid var(--nui-border-strong); border-radius: var(--nui-radius-sm); background: var(--nui-input); color: var(--nui-text); font-size: var(--nui-control-font-size); cursor: pointer; text-align: left; }
.nui-combobox-popover { display: none; position: fixed; z-index: var(--nui-layer-menu); min-width: 180px; max-height: 240px; overflow-y: auto; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-raised); box-shadow: 0 10px 24px var(--nui-shadow); padding: 4px; }
.nui-combobox.is-open .nui-combobox-popover, .nui-combobox-popover.is-open { display: block; }
.nui-combobox-search { width: 100%; padding: 5px 8px; margin-bottom: 4px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-input); color: var(--nui-text); font-size: var(--nui-font-size-xs); }
.nui-combobox-list { display: flex; flex-direction: column; gap: 2px; list-style: none; margin: 0; padding: 0; }
.nui-combobox-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 6px 8px; border: 0; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text); font-size: var(--nui-font-size-sm); cursor: pointer; text-align: left; }
.nui-combobox-item small { display: block; margin-top: 2px; color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); font-weight: 400; }
.nui-combobox-badge { display: inline-flex; align-items: center; flex: 0 0 auto; margin-left: 5px; padding: 2px 7px; border: 1px solid var(--nui-accent-border); border-radius: 999px; background: var(--nui-accent-fill); color: var(--nui-accent-fg); cursor: pointer; font: inherit; font-size: var(--nui-font-size-xs); font-weight: 700; letter-spacing: .02em; line-height: 14px; white-space: nowrap; }
.nui-combobox-badge:hover, .nui-combobox-badge:focus-visible { background: color-mix(in srgb, var(--nui-accent) 28%, transparent); outline: none; }.nui-combobox-badge.is-pending-removal { border-color: color-mix(in srgb, var(--nui-danger) 40%, transparent); background: color-mix(in srgb, var(--nui-danger) 18%, transparent); color: var(--nui-danger); }
.nui-combobox-item:hover, .nui-combobox-item.is-focused { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-combobox-item.is-selected { background: var(--nui-accent-fill); color: var(--nui-accent-fg); font-weight: 600; }
.nui-combobox-item.is-selected:hover, .nui-combobox-item.is-selected.is-focused { background: color-mix(in srgb, var(--nui-accent) 28%, var(--nui-raised)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--nui-accent) 72%, transparent); color: var(--nui-accent-fg); }
.nui-combobox-empty { padding: 8px; text-align: center; color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); }

/* 6. Sheet (Slide-in Çekmece / Drawer) */
.nui-sheet-overlay { display: block; opacity: 0; position: fixed; inset: 0; z-index: calc(var(--nui-layer-modal) + 10); background: rgb(var(--nui-overlay-color) / var(--nui-overlay-opacity)); backdrop-filter: none; transition: opacity .2s ease; }
.nui-overlay-no-blur { backdrop-filter: none; }
.nui-modal-overlay.nui-overlay-no-blur, .nui-dialog-overlay.nui-overlay-no-blur { backdrop-filter: none; }
.nui-sheet-overlay.is-open { opacity: 1; }
.nui-sheet-overlay.is-dragging { transition: none; }
.nui-sheet { display: flex; position: fixed; z-index: calc(var(--nui-layer-modal) + 11); flex-direction: column; background: var(--nui-raised); border: 1px solid var(--nui-border); box-shadow: 0 16px 40px var(--nui-shadow); transition: transform .25s cubic-bezier(.16, 1, .3, 1); color: var(--nui-text); }
.nui-sheet-right { top: 0; right: 0; bottom: 0; width: min(440px, calc(100vw - 24px)); border-right: 0; transform: translateX(100%); }
.nui-sheet-left { top: 0; left: 0; bottom: 0; width: min(440px, calc(100vw - 24px)); border-left: 0; transform: translateX(-100%); }
.nui-sheet-top { top: 0; left: 0; right: 0; max-height: 80vh; border-top: 0; transform: translateY(-100%); }
.nui-sheet-bottom { bottom: 0; left: 50%; right: auto; width: min(680px, 100%); min-height: 180px; max-height: min(82dvh, 720px); border-bottom: 0; border-radius: calc(var(--nui-radius) + 6px) calc(var(--nui-radius) + 6px) 0 0; transform: translate3d(-50%, 100%, 0); touch-action: pan-y; }
.nui-sheet-drag-handle { display: flex; flex: 0 0 auto; align-self: stretch; justify-content: center; width: 100%; padding: 10px 0 4px; border: 0; background: transparent; cursor: grab; touch-action: none; }
.nui-sheet-drag-handle::before { content: ''; width: 40px; height: 5px; border-radius: 99px; background: var(--nui-border-strong); transition: background .15s, width .15s; }
.nui-sheet-drag-handle:hover::before, .nui-sheet.is-dragging .nui-sheet-drag-handle::before { width: 48px; background: var(--nui-text-faint); }
.nui-sheet-drag-handle:focus-visible { outline: none; }
.nui-sheet-drag-handle:focus-visible::before { box-shadow: 0 0 0 2px var(--nui-raised), 0 0 0 4px var(--nui-ring); }
.nui-sheet.is-dragging .nui-sheet-drag-handle { cursor: grabbing; }
.nui-sheet.is-dragging { transition: none; }
.nui-sheet.is-open { transform: translate(0, 0); }
.nui-sheet-bottom.is-open { transform: translate3d(-50%, 0, 0); }
.nui-sheet-header { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 16px; border-bottom: 1px solid var(--nui-border); }
.nui-sheet-title { margin: 0; font-size: calc(var(--nui-font-size-base) + 1px); font-weight: 700; color: var(--nui-text); }
.nui-sheet-description { margin: 2px 0 0; font-size: var(--nui-font-size-xs); color: var(--nui-text-muted); }
.nui-sheet-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.nui-sheet-footer { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--nui-border); background: color-mix(in srgb, var(--nui-raised) 94%, transparent); }

/* 7. Popover & Hover Card */
.nui-popover-portal { display: none; position: fixed; z-index: var(--nui-layer-tooltip); min-width: 200px; max-width: min(340px, calc(100vw - 16px)); padding: 12px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius); background: var(--nui-raised); box-shadow: 0 12px 30px var(--nui-shadow); color: var(--nui-text); font-size: var(--nui-font-size-sm); }
.nui-popover-portal.is-open, .nui-popover-portal:not([hidden]) { display: block; }
.nui-hover-card { display: inline-block; }
.nui-hover-card-content { display: flex; flex-direction: column; gap: 8px; }

/* 8. Bildirimler (toast) */
/* Bildirim (toast): nötr kart, renk yalnız ikonda. Kartlar sağ altta yığılır (önde en yeni, arkada en fazla 2 kart görünür);
   fare veya klavye odağı yığına gelince kartlar açılır ve süreler durur. Konum/ölçek JS'in yazdığı özel değişkenlerden gelir
   (--nui-toast-y, -scale, -z); taşınan şey yalnız transform/opacity olduğundan kaydırma ve yerleşim yeniden hesaplanmaz.
   nui.toast.configure({ richColors: true }) türe göre tonlu zemin verir. */
.nui-toast-container { position: fixed; right: 16px; bottom: 16px; z-index: var(--nui-layer-menu); width: min(356px, calc(100vw - 32px)); height: var(--nui-toast-stack-height, 0px); pointer-events: none; }
.nui-toast-container:empty { display: none; }
.nui-toast { --nui-toast-accent: var(--nui-text); position: absolute; right: 0; bottom: 0; left: 0; z-index: var(--nui-toast-z, 1); display: flex; align-items: flex-start; gap: 10px; box-sizing: border-box; padding: 14px 16px; overflow: hidden; border: 1px solid var(--nui-border); border-radius: var(--nui-radius); background: var(--nui-raised); color: var(--nui-text); box-shadow: 0 4px 12px var(--nui-shadow); opacity: var(--nui-toast-opacity, 1); transform: translate(var(--nui-toast-x, 0px), var(--nui-toast-y, 0px)) scale(var(--nui-toast-scale, 1)); transform-origin: 50% 100%; transition: transform .4s cubic-bezier(.21, 1.02, .73, 1), opacity .4s ease, height .4s ease; pointer-events: auto; touch-action: pan-y; }
.nui-toast.is-mounting { opacity: 0; transform: translateY(calc(100% + 16px)); }
.nui-toast.is-leaving { opacity: 0; transform: translate(var(--nui-toast-x, 0px), calc(var(--nui-toast-y, 0px) + 12px)) scale(var(--nui-toast-scale, 1)); pointer-events: none; }
.nui-toast.is-swiping { transition: none; }
/* Arkadaki kartlar öndekinin yüksekliğini alır ve içeriği gizlenir; yığın düzgün kenarlı görünür. */
.nui-toast.is-behind { height: var(--nui-toast-front-height); }
.nui-toast.is-behind > * { opacity: 0; }
.nui-toast > * { transition: opacity .3s ease; }
.nui-toast-icon { display: grid; place-items: center; flex: 0 0 auto; height: 20px; color: var(--nui-toast-accent); }
.nui-toast-icon svg.lucide { width: 16px; height: 16px; stroke-width: 2; }
.nui-toast-content { display: grid; flex: 1 1 auto; gap: 2px; min-width: 0; }
.nui-toast-title { color: var(--nui-text); font-size: var(--nui-font-size-base); font-weight: 500; line-height: 20px; overflow-wrap: anywhere; }
.nui-toast-description { color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); line-height: 18px; overflow-wrap: anywhere; }
.nui-toast-action { flex: 0 0 auto; align-self: center; }
/* Birden çok eylem metnin altında küçük düğme satırıdır; birincil eylem vurguludur. Dar kartta sarar. */
.nui-toast-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.nui-toast-actions > .nui-toast-action { align-self: auto; }
.nui-toast-action svg.lucide { width: 14px; height: 14px; }
.nui-toast-close { display: grid; place-items: center; flex: 0 0 auto; width: 20px; height: 20px; margin: 0 -6px 0 0; padding: 0; border: 0; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text-faint); cursor: pointer; }
.nui-toast-close:hover { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-toast-close:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 1px; }
.nui-toast-close svg.lucide { width: 14px; height: 14px; }
.nui-toast-info { --nui-toast-accent: var(--nui-info); }
.nui-toast-success { --nui-toast-accent: var(--nui-success); }
.nui-toast-warning { --nui-toast-accent: var(--nui-warning); }
.nui-toast-danger { --nui-toast-accent: var(--nui-danger); }
.nui-toast-loading { --nui-toast-accent: var(--nui-text-muted); }
.nui-toast-loading .nui-toast-icon svg.lucide { animation: nui-icon-spin 1s linear infinite; }
.nui-toast-container.is-rich .nui-toast:is(.nui-toast-info, .nui-toast-success, .nui-toast-warning, .nui-toast-danger) { border-color: color-mix(in srgb, var(--nui-toast-accent) 35%, var(--nui-border)); background: color-mix(in srgb, var(--nui-toast-accent) 8%, var(--nui-raised)); }
@media (max-width: 640px) { .nui-toast-container { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); left: 16px; width: auto; } }

/* 9. Dropdown Menu & Context Menu */
.nui-dropdown { position: relative; display: inline-block; }
.nui-dropdown-menu, .nui-context-menu { display: none; position: absolute; top: calc(100% + 4px); left: 0; z-index: 10000; min-width: var(--nui-dropdown-min-width, 180px); padding: 4px; border: 1px solid var(--nui-border-strong); border-radius: var(--nui-radius-sm); background: var(--nui-raised); box-shadow: 0 12px 28px var(--nui-shadow); flex-direction: column; gap: 2px; }
.nui-dropdown-portal { position: fixed; z-index: var(--nui-layer-menu); }
.nui-dropdown.is-open > .nui-dropdown-menu, .nui-dropdown-menu.is-open, .nui-dropdown-menu:not([hidden]) { display: flex !important; }
.nui-context-menu { position: fixed; }
.nui-context-menu.is-open, .nui-context-menu:not([hidden]) { display: flex; }
.nui-dropdown-item { display: flex; align-items: center; gap: 8px; width: 100%; padding: 6px 8px; border: 0; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text); font-size: var(--nui-control-font-size); cursor: pointer; text-align: left; text-decoration: none; user-select: none; }
.nui-dropdown-item:hover, .nui-dropdown-item:focus-visible { background: var(--nui-raised-hover); color: var(--nui-text); outline: none; }
.nui-dropdown-item.is-disabled { opacity: .45; pointer-events: none; }
.nui-dropdown-item.is-danger { color: var(--nui-danger); }
.nui-dropdown-item.is-danger:hover { background: color-mix(in srgb, var(--nui-danger) 14%, var(--nui-raised)); }
.nui-dropdown-shortcut { margin-inline-start: auto; color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); font-family: var(--nui-font-mono); }
.nui-dropdown-separator { height: 1px; margin: 3px 0; background: var(--nui-border); }
.nui-dropdown-header { padding: 4px 8px; font-size: var(--nui-font-size-xs); font-weight: 700; color: var(--nui-text-faint); text-transform: uppercase; letter-spacing: .06em; }

/* 10. Breadcrumb (Sayfa Yolu) */
.nui-breadcrumb { display: inline-flex; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-raised); font-size: var(--nui-font-size-sm); color: var(--nui-text-muted); }
.nui-breadcrumb-list { display: flex; align-items: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.nui-breadcrumb-item { display: inline-flex; align-items: center; gap: 6px; color: var(--nui-text-muted); text-decoration: none; }
.nui-breadcrumb a.nui-breadcrumb-item:hover { color: var(--nui-text); text-decoration: none; }
.nui-breadcrumb-active { color: var(--nui-text); font-weight: 650; }
.nui-breadcrumb-link { color: var(--nui-text-muted); text-decoration: none; transition: color .12s; }
.nui-breadcrumb-link:hover { color: var(--nui-text); }
.nui-breadcrumb-page { color: var(--nui-text); font-weight: 600; }
.nui-breadcrumb-separator { color: var(--nui-text-faint); font-size: 11px; }

/* 11. Pagination (Sayfalama) */
.nui-pagination-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }
.nui-pagination-info { display: flex; align-items: center; gap: 8px; }
.nui-pagination { display: flex; align-items: center; justify-content: center; gap: 4px; }
.nui-pagination-content { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.nui-pagination-link { display: inline-grid; place-items: center; min-width: var(--nui-control-height); height: var(--nui-control-height); padding: 0 8px; border: 1px solid transparent; border-radius: var(--nui-radius-sm); color: var(--nui-text); font-size: var(--nui-control-font-size); cursor: pointer; text-decoration: none; user-select: none; }
.nui-pagination-link:hover { background: var(--nui-raised-hover); }
.nui-pagination-link.is-active { border-color: var(--nui-border-strong); background: var(--nui-raised); font-weight: 700; }
.nui-pagination-ellipsis { display: inline-grid; place-items: center; width: var(--nui-control-height); height: var(--nui-control-height); color: var(--nui-text-faint); }

/* 12. Accordion & Collapsible (Akordeon & Katlanabilir Panel) */
.nui-accordion { display: flex; flex-direction: column; width: 100%; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-panel); overflow: hidden; }
.nui-accordion-item { min-width: 0; border-bottom: 1px solid var(--nui-border); }.nui-accordion-item:last-child { border-bottom: 0; }
.nui-accordion .nui-accordion-trigger { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 38px; padding: 9px 12px; border: 0; border-radius: 0; background: transparent; color: var(--nui-text); font-size: var(--nui-font-size-sm); font-weight: 600; cursor: pointer; text-align: start; }
.nui-accordion-trigger:hover, .nui-accordion-item.is-open > .nui-accordion-trigger { background: var(--nui-raised-hover); }.nui-accordion .nui-accordion-trigger:focus-visible { outline: 1px solid var(--nui-ring); outline-offset: -2px; }
.nui-accordion svg.nui-accordion-icon { box-sizing: border-box; stroke-width: 2; flex: 0 0 20px; width: 20px; height: 20px; padding: 3px; border-radius: 4px; background: var(--nui-raised); color: var(--nui-text-muted); transition: transform .2s ease; }
.nui-accordion-item.is-open .nui-accordion-icon { transform: rotate(180deg); }
.nui-accordion-content { padding: 10px 12px 12px; border-top: 1px solid var(--nui-border); color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); line-height: 1.6; display: none; }
.nui-accordion-item.is-open .nui-accordion-content { display: block; }
@media (prefers-reduced-motion: reduce) { .nui-accordion svg.nui-accordion-icon { transition: none; } }
.nui-collapsible { display: flex; flex-direction: column; }
.nui-collapsible-content { display: none; }
.nui-collapsible.is-open .nui-collapsible-content { display: block; }

/* 13. Badge (Rozet) */
.nui-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 7px; border-radius: 999px; font-size: var(--nui-font-size-xs); font-weight: 700; letter-spacing: .02em; line-height: 14px; border: 1px solid transparent; width: fit-content; white-space: nowrap; }
.nui-badge-default { background: var(--nui-border-strong); color: var(--nui-text); }
.nui-badge-secondary { background: color-mix(in srgb, var(--nui-raised-hover) 85%, transparent); color: var(--nui-text-muted); border-color: var(--nui-border); }
.nui-badge-outline { background: transparent; border-color: var(--nui-border-strong); color: var(--nui-text); }
.nui-badge-primary, .nui-badge-info { background: color-mix(in srgb, var(--nui-info) 18%, transparent); color: var(--nui-info); border-color: color-mix(in srgb, var(--nui-info) 40%, transparent); }
.nui-badge-success { background: color-mix(in srgb, var(--nui-success) 18%, transparent); color: var(--nui-success); border-color: color-mix(in srgb, var(--nui-success) 40%, transparent); }
.nui-badge-warning { background: color-mix(in srgb, var(--nui-warning) 18%, transparent); color: var(--nui-warning); border-color: color-mix(in srgb, var(--nui-warning) 40%, transparent); }
.nui-badge-danger { background: color-mix(in srgb, var(--nui-danger) 18%, transparent); color: var(--nui-danger); border-color: color-mix(in srgb, var(--nui-danger) 40%, transparent); }
.nui-chip { display: inline-flex; align-items: center; width: fit-content; padding: 1px 5px; border: 1px solid var(--nui-border); border-radius: 999px; background: var(--nui-raised); color: var(--nui-text-muted); font-size: 9px; font-weight: 800; letter-spacing: .06em; line-height: 13px; }

/* 14. Avatar (Profil Görseli / Harf İkonu) */
.nui-avatar { position: relative; display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; overflow: hidden; background: color-mix(in srgb, var(--nui-text) 9%, var(--nui-raised)); border: 1px solid var(--nui-border); color: var(--nui-text); font-size: var(--nui-font-size-xs); font-weight: 700; user-select: none; flex-shrink: 0; }.nui-avatar-lg { width: 72px; height: 72px; font-size: var(--nui-font-size-lg); }
.nui-avatar-image { width: 100%; height: 100%; object-fit: cover; }
.nui-avatar-fallback { display: grid; place-items: center; width: 100%; height: 100%; text-transform: uppercase; }
.nui-avatar-group { display: inline-flex; align-items: center; }
.nui-avatar-group .nui-avatar { margin-left: -8px; border: 2px solid var(--nui-raised); }
.nui-avatar-group .nui-avatar:first-child { margin-left: 0; }

/* 15. Skeleton (Yükleme İskeleti) */
.nui-skeleton { --nui-skeleton-base: color-mix(in srgb, var(--nui-text) 9%, var(--nui-raised)); --nui-skeleton-shine: color-mix(in srgb, var(--nui-text) 3%, var(--nui-raised)); display: block; overflow: hidden; border-radius: var(--nui-radius-sm); background: linear-gradient(100deg, var(--nui-skeleton-base) 0%, var(--nui-skeleton-base) 38%, var(--nui-skeleton-shine) 50%, var(--nui-skeleton-base) 62%, var(--nui-skeleton-base) 100%); background-size: 240% 100%; animation: nui-skeleton-pulse 1.6s ease-in-out infinite; }
@keyframes nui-skeleton-pulse { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* 16. Progress (İlerleme Çubuğu) */
.nui-progress { position: relative; width: 100%; height: 8px; border-radius: 999px; background: var(--nui-border); overflow: hidden; }
.nui-progress-indicator { height: 100%; border-radius: 999px; background: var(--nui-accent); transition: width .3s ease; }
.nui-progress-fill { height: 100%; border-radius: inherit; background: var(--nui-accent); transition: width .3s ease; }
.nui-progress-success .nui-progress-indicator { background: var(--nui-success); }
.nui-progress-warning .nui-progress-indicator { background: var(--nui-warning); }
.nui-progress-danger .nui-progress-indicator { background: var(--nui-danger); }

/* 17. Separator (Ayırıcı Çizgi) */
.nui-separator { display: block; background: var(--nui-border); flex-shrink: 0; height: 1px; width: 100%; margin: 8px 0; border: 0; }
.nui-separator-horizontal { width: 100%; height: 1px; margin: 8px 0; }
.nui-separator-vertical, .nui-separator[data-orientation="vertical"] { display: inline-block; width: 1px; height: 100%; min-height: 16px; margin: 0 8px; vertical-align: middle; }

/* 18. Command (Spotlight / Hızlı Komut Paleti) */
.nui-command-overlay { display: none; position: fixed; inset: 0; z-index: 11000; place-items: center; padding: 18px; background: rgb(var(--nui-overlay-color) / var(--nui-overlay-opacity)); backdrop-filter: none; }
.nui-command-overlay.is-open { display: grid; }
.nui-command-dialog { width: min(580px, calc(100vw - 32px)); max-height: 480px; display: flex; flex-direction: column; border: 1px solid var(--nui-border); border-radius: calc(var(--nui-radius) + 2px); background: var(--nui-raised); box-shadow: 0 20px 50px var(--nui-shadow); overflow: hidden; color: var(--nui-text); }
.nui-command-input-wrapper { display: flex; align-items: center; gap: 8px; padding: 0 14px; min-height: 46px; border-bottom: 1px solid var(--nui-border); }
.nui-command-input-wrapper i { color: var(--nui-text-faint); font-size: 15px; }
.nui-command-input { flex: 1; border: 0; background: transparent; color: var(--nui-text); font-size: var(--nui-font-size-base); outline: none; }
.nui-command-list { flex: 1 1 auto; overflow-y: auto; padding: 6px; display: flex; flex-direction: column; gap: 2px; min-height: 120px; }
.nui-command-group { display: flex; flex-direction: column; gap: 2px; }
.nui-command-group-heading { padding: 6px 8px 3px; font-size: var(--nui-font-size-xs); font-weight: 700; color: var(--nui-text-faint); text-transform: uppercase; letter-spacing: .06em; }
.nui-command-item { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: var(--nui-radius-sm); color: var(--nui-text); font-size: var(--nui-control-font-size); cursor: pointer; user-select: none; }
.nui-command-item:hover, .nui-command-item.is-selected { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-command-item.is-selected { background: var(--nui-accent-fill); color: var(--nui-accent-fg); }
.nui-command-shortcut { margin-inline-start: auto; color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); font-family: var(--nui-font-mono); }
.nui-command-empty { padding: 24px; text-align: center; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }

/* 19. Toggle & Toggle Group (Basılı Düğme / Çoklu Seçim) */
.nui-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: var(--nui-control-height); padding: 4px var(--nui-control-padding-x); border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text-muted); font-size: var(--nui-control-font-size); cursor: pointer; user-select: none; transition: background .12s, color .12s, border-color .12s; }
.nui-toggle:hover { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-toggle.is-pressed, .nui-toggle[aria-pressed="true"] { background: var(--nui-raised); color: var(--nui-text); border-color: var(--nui-border-strong); }
.nui-toggle-group { display: inline-flex; align-items: center; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); padding: 2px; gap: 2px; background: var(--nui-input); }
.nui-toggle-group .nui-toggle { border: 0; border-radius: 4px; min-height: var(--nui-control-height-sm); padding: 2px 8px; }
.nui-toggle-group .nui-toggle.is-pressed, .nui-toggle-group .nui-toggle[aria-pressed="true"] { background: var(--nui-raised); box-shadow: 0 1px 3px var(--nui-shadow); }

/* 20. Calendar (Takvim) & Date Picker (Tarih Seçici) */
.nui-calendar { display: flex; flex-direction: column; width: 280px; padding: 10px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius); background: var(--nui-raised); color: var(--nui-text); user-select: none; }
.nui-calendar-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.nui-calendar-selectors { display: flex; min-width: 0; gap: 4px; }
.nui-calendar-selectors .nui-select { min-width: 0; min-height: var(--nui-control-height-sm); height: var(--nui-control-height-sm); padding: 3px 22px 3px 7px; font-size: var(--nui-font-size-xs); }
.nui-calendar-selectors [data-calendar-month] { width: 112px; }
.nui-calendar-selectors [data-calendar-year] { width: 88px; }
.nui-calendar-selection { min-height: 20px; margin: -2px 0 4px; color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); }
.nui-calendar-nav { display: flex; align-items: center; gap: 4px; }
.nui-calendar-nav-btn { display: inline-grid; place-items: center; width: var(--nui-control-height-sm); height: var(--nui-control-height-sm); border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text-muted); cursor: pointer; padding: 0; }
.nui-calendar-nav-btn:hover { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-calendar-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; margin-bottom: 4px; }
.nui-calendar-weekday { font-size: var(--nui-font-size-xs); font-weight: 700; color: var(--nui-text-faint); text-transform: uppercase; padding: 4px 0; }
.nui-calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.nui-calendar-day { display: inline-grid; place-items: center; height: 32px; border-radius: var(--nui-radius-sm); border: 0; background: transparent; color: var(--nui-text); font-size: var(--nui-font-size-sm); cursor: pointer; transition: background .12s, color .12s; }
.nui-calendar-day:hover { background: var(--nui-raised-hover); }
.nui-calendar-day.is-today { font-weight: 700; border: 1px solid var(--nui-accent); }
.nui-calendar-day.is-selected { background: var(--nui-primary); color: var(--nui-primary-foreground); font-weight: 700; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--nui-primary) 70%, var(--nui-primary-foreground)); }
.nui-calendar-day.is-outside { color: var(--nui-text-faint); opacity: .45; }
.nui-calendar-day.is-disabled { opacity: .25; pointer-events: none; }
.nui-calendar-today { align-self: center; margin-top: 8px; padding: 3px 7px; border: 0; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-accent); font: inherit; font-size: var(--nui-font-size-xs); font-weight: 600; cursor: pointer; }
.nui-calendar-today:hover { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-date-picker { position: relative; display: inline-block; width: 100%; }
.nui-date-picker-popover { display: none; position: fixed; z-index: calc(var(--nui-layer-modal) + 20); box-shadow: 0 14px 34px var(--nui-shadow); background: var(--nui-raised); border: 1px solid var(--nui-border-strong); border-radius: var(--nui-radius); padding: 4px; }
.nui-date-picker-popover.is-open { display: block; }
.nui-time-picker { position: relative; display: inline-block; width: 100%; }
.nui-time-picker-popover { display: none; position: fixed; z-index: calc(var(--nui-layer-modal) + 20); padding: 8px; border: 1px solid var(--nui-border-strong); border-radius: var(--nui-radius); background: var(--nui-raised); box-shadow: 0 14px 34px var(--nui-shadow); }
.nui-time-picker-popover.is-open { display: block; }
.nui-time-picker-fields { display: flex; align-items: center; gap: 6px; color: var(--nui-text-muted); font-weight: 700; }
.nui-time-picker-fields .nui-select { width: 68px; }

/* 21. Input OTP (Bölmeli Kod / PIN Girdisi) */
.nui-otp-group { display: inline-flex; align-items: center; gap: 6px; }
.nui-otp-slot { width: 38px; height: 42px; text-align: center; font-size: 16px !important; font-weight: 700 !important; font-family: var(--nui-font-mono) !important; border: 1px solid var(--nui-border-strong); border-radius: var(--nui-radius-sm); background: var(--nui-input); color: var(--nui-text); outline: none; transition: border-color .15s, box-shadow .15s; }
.nui-otp-slot:focus, .nui-otp-slot.is-active { border-color: var(--nui-ring); box-shadow: 0 0 0 2px var(--nui-accent-ring); }
.nui-otp-separator { color: var(--nui-text-faint); font-weight: 700; }

/* 22. Kbd & Button Group (Klavye Rozeti & Buton Kümesi) */
.nui-kbd { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 5px; border: 1px solid var(--nui-border-strong); border-radius: 4px; background: var(--nui-input); box-shadow: 0 1px 0 var(--nui-border-strong); color: var(--nui-text-muted); font-family: var(--nui-font-mono); font-size: var(--nui-font-size-xs); font-weight: 600; line-height: 1; user-select: none; }
.nui-button-group { display: inline-flex; align-items: stretch; border-radius: var(--nui-radius-sm); }
.nui-button-group > .nui-button, .nui-button-group > .nui-icon-button { border-radius: 0; }
.nui-button-group > .nui-button:first-child, .nui-button-group > .nui-icon-button:first-child { border-top-left-radius: var(--nui-radius-sm); border-bottom-left-radius: var(--nui-radius-sm); }
.nui-button-group > .nui-button:last-child, .nui-button-group > .nui-icon-button:last-child { border-top-right-radius: var(--nui-radius-sm); border-bottom-right-radius: var(--nui-radius-sm); }
.nui-button-group > .nui-button:not(:first-child), .nui-button-group > .nui-icon-button:not(:first-child) { margin-left: -1px; }

/* 23. Input Group & Form Field (Birleşik Form Kontrolleri) */
/* Sınır birleşik alanın tamamına uygulanır; iç girdi ikinci kez daraltılmaz. */
.nui-input, .nui-select, .nui-textarea, .nui-input-group, .nui-clearable-input, .nui-combobox { min-width: 0; max-width: min(100%,var(--nui-input-max-width)); box-sizing: border-box; }
[data-nui-width="full"], .nui-w-100 { --nui-input-max-width: 100%; }
:is(.nui-input, .nui-select, .nui-textarea, .nui-input-group, .nui-clearable-input, .nui-combobox)[data-nui-width="full"] { width: 100%; }
:is(.nui-input-group, .nui-clearable-input, .nui-combobox):has([data-nui-width="full"],.nui-w-100) { --nui-input-max-width: 100%; width: 100%; }
.nui-input-group > :is(.nui-input, .nui-select, .nui-clearable-input), .nui-clearable-input > :is(input, textarea), .nui-combobox > .nui-input-group { max-width: 100%; box-sizing: border-box; }
.nui-input-group { display: flex; align-items: stretch; width: 100%; position: relative; }
.nui-input-group > .nui-input,
.nui-input-group > .nui-clearable-input,
.nui-input-group > .nui-input-addon,
.nui-input-group > .nui-button,
.nui-input-group > .nui-select {
	border-radius: 0;
	margin: 0;
	position: relative;
}
.nui-input-group > *:first-child {
	border-top-left-radius: var(--nui-radius-sm);
	border-bottom-left-radius: var(--nui-radius-sm);
}
.nui-input-group > *:last-child {
	border-top-right-radius: var(--nui-radius-sm);
	border-bottom-right-radius: var(--nui-radius-sm);
}
.nui-input-group > *:not(:first-child) {
	margin-left: -1px;
}
.nui-input-group > .nui-input:focus,
.nui-input-group > .nui-select:focus,
.nui-input-group > .nui-button:focus,
.nui-input-group > .nui-button:active {
	z-index: 2;
}
.nui-input-addon { display: inline-flex; align-items: center; justify-content: center; padding: 0 var(--nui-control-padding-x); border: 1px solid var(--nui-border-strong); background: var(--nui-raised-hover); color: var(--nui-text-muted); font-size: var(--nui-control-font-size); white-space: nowrap; }
.nui-input-addon-action { cursor: pointer; }
.nui-input-addon-action:hover { background: var(--nui-raised); color: var(--nui-text); }
.nui-input-group > .nui-input { flex: 1 1 auto; min-width: 0; }
/* Dar kapta giriş alanı daralır; ek kısalmaz (düğme zaten flex-shrink:0). */
.nui-input-group > .nui-input-addon { flex-shrink: 0; }
.nui-clearable-input { position: relative; display: inline-flex; flex: 1 1 auto; min-width: 0; }
.nui-clearable-input > .nui-input, .nui-clearable-input > textarea, .nui-clearable-input > input { width: 100%; min-width: 0; padding-inline-end: 28px; }
.nui-clearable-input > input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.nui-input-group > .nui-clearable-input > .nui-input, .nui-input-group > .nui-clearable-input > input { border-radius: inherit; }
.nui-input-group > .nui-input:not(:first-child):not(:last-child), .nui-input-group > .nui-select:not(:first-child):not(:last-child), .nui-input-group > .nui-button:not(:first-child):not(:last-child), .nui-input-group > .nui-input-addon:not(:first-child):not(:last-child), .nui-input-group > .nui-clearable-input:not(:first-child):not(:last-child), .nui-input-group > .nui-clearable-input:not(:first-child):not(:last-child) > input { border-radius: 0; }
.nui-input-group > .nui-clearable-input:first-child > input { border-radius: var(--nui-radius-sm) 0 0 var(--nui-radius-sm); }
.nui-input-group > .nui-clearable-input:last-child > input { border-radius: 0 var(--nui-radius-sm) var(--nui-radius-sm) 0; }
/* Birleşim kenarında yarıçap kalmaması Input Group'un tek sözleşmesidir. */
.nui-input-group > .nui-input:not(:first-child), .nui-input-group > .nui-select:not(:first-child), .nui-input-group > .nui-button:not(:first-child), .nui-input-group > .nui-input-addon:not(:first-child), .nui-input-group > .nui-clearable-input:not(:first-child), .nui-input-group > .nui-clearable-input:not(:first-child) > input { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.nui-input-group > .nui-input:not(:last-child), .nui-input-group > .nui-select:not(:last-child), .nui-input-group > .nui-button:not(:last-child), .nui-input-group > .nui-input-addon:not(:last-child), .nui-input-group > .nui-clearable-input:not(:last-child), .nui-input-group > .nui-clearable-input:not(:last-child) > input { border-top-right-radius: 0; border-bottom-right-radius: 0; }
/* Genel input temasıyla aynı özgüllükteki tarayıcı/uygulama kurallarını aşmak için
   yalnız birleşim kenarlarında zorunlu öncelik kullanılır. */
.nui-input-group > .nui-input:not(:first-child), .nui-input-group > .nui-select:not(:first-child), .nui-input-group > .nui-button:not(:first-child), .nui-input-group > .nui-input-addon:not(:first-child) { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.nui-input-group > .nui-input:not(:last-child), .nui-input-group > .nui-select:not(:last-child), .nui-input-group > .nui-button:not(:last-child), .nui-input-group > .nui-input-addon:not(:last-child) { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.nui-clear-input { position: absolute; top: 50%; inset-inline-end: 5px; display: none; width: 18px; height: 18px; padding: 0; transform: translateY(-50%); border: 0; border-radius: 50%; background: transparent; color: var(--nui-text-muted); font-size: 16px; line-height: 1; cursor: pointer; }
.nui-clearable-input.has-value .nui-clear-input { display: inline-grid; place-items: center; }
.nui-clear-input:hover { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-field { display: flex; flex-direction: column; gap: 4px; width: 100%; }
.nui-field-label { font-size: var(--nui-font-size-sm); font-weight: 600; color: var(--nui-text); }
.nui-field-hint { font-size: var(--nui-font-size-xs); color: var(--nui-text-muted); }
.nui-field-error { font-size: var(--nui-font-size-xs); color: var(--nui-danger); font-weight: 500; }

/* 23.1 Modal Dialog (Onay & Uyarı Pencereleri) */
.nui-dialog-portal { position: fixed; inset: 0; z-index: 11500; display: flex; align-items: center; justify-content: center; padding: 16px; animation: nui-fade-in .15s ease; }
.nui-dialog-backdrop { position: absolute; inset: 0; background: rgb(var(--nui-overlay-color) / var(--nui-overlay-opacity)); backdrop-filter: none; }
.nui-dialog-card { position: relative; z-index: 1; width: 100%; max-width: 440px; border: 1px solid var(--nui-border-strong); border-radius: var(--nui-radius); background: var(--nui-raised); box-shadow: 0 20px 48px var(--nui-shadow); overflow: hidden; display: flex; flex-direction: column; animation: nui-dialog-pop .18s cubic-bezier(.16, 1, .3, 1); }
@keyframes nui-dialog-pop { from { opacity: 0; transform: scale(.95) translateY(8px); } to { opacity: 1; transform: scale(1) translateY(0); } }
@keyframes nui-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes nui-fade-out { to { opacity: 0; } }
.nui-dialog-portal.is-closing { animation: nui-fade-out .15s ease forwards; pointer-events: none; }
.nui-dialog-header { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--nui-border); background: var(--nui-panel); }
.nui-dialog-title { font-size: calc(var(--nui-font-size-base) + 2px); font-weight: 700; color: var(--nui-text); }
.nui-dialog-body { padding: 18px; font-size: var(--nui-font-size-base); line-height: 1.5; color: var(--nui-text-muted); display: flex; flex-direction: column; gap: 8px; }
.nui-dialog-footer { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 12px 18px; border-top: 1px solid var(--nui-border); background: var(--nui-panel); }
.nui-window-header { transition: opacity .16s ease; }
/* Odakta olmayan başlık soluklaşması yalnız nuiWindow ile yönetilen (yüzen/modal) pencerelerdedir; sayfaya gömülü pencere tam renklidir. */
.nui-window[data-nui-window-managed]:not(.nui-window-focused) > .nui-window-header { opacity: .56; }
/* Başlık altında açıklama (small) olan pencere başlığı iki satıra göre büyür. */
.nui-window-header:has(small) { padding-block: 7px; }
.nui-window-header small { display: block; margin-top: 2px; color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); font-weight: 400; line-height: 1.3; }
.nui-dialog-header { box-sizing: border-box; min-height: 38px; padding: 6px 12px; justify-content: flex-start; gap: 8px; background: transparent; }.nui-dialog-header .nui-dialog-icon { flex: 0 0 16px; width: 16px; height: 16px; border-radius: 0; background: transparent; }.nui-dialog-header .nui-dialog-title { flex: 1; }.nui-dialog-close { margin-inline-start: auto; }
.nui-dialog-title { font-size: var(--nui-font-size-base); font-weight: 650; }
.nui-dialog-body { padding: 12px 14px; font-size: var(--nui-font-size-sm); }
.nui-dialog-footer { padding: 10px 12px; }
.nui-dialog-card.nui-dialog-success { border-color: color-mix(in srgb, var(--nui-success) 55%, var(--nui-border)); }
.nui-dialog-card.nui-dialog-warning { border-color: color-mix(in srgb, var(--nui-warning) 55%, var(--nui-border)); }
.nui-dialog-card.nui-dialog-danger { border-color: color-mix(in srgb, var(--nui-danger) 55%, var(--nui-border)); }

/* 24. Spinner & Empty State (Yükleme & Boş Durum) */
.nui-spinner { display: inline-block; width: 18px; height: 18px; border: 2px solid var(--nui-border); border-top-color: var(--nui-accent); border-radius: 50%; animation: nui-spin .7s linear infinite; vertical-align: middle; }
.nui-spinner-sm { width: 14px; height: 14px; border-width: 1.5px; }
.nui-spinner-lg { width: 28px; height: 28px; border-width: 3px; }
@keyframes nui-spin { to { transform: rotate(360deg); } }
.nui-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 36px 20px; gap: 10px; border: 1px dashed var(--nui-border); border-radius: var(--nui-radius-lg); background: color-mix(in srgb, var(--nui-raised) 50%, transparent); color: var(--nui-text); }
.nui-empty-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--nui-raised-hover); color: var(--nui-text-muted); font-size: 22px; }
.nui-empty-title { font-size: calc(var(--nui-font-size-base) + 1px); font-weight: 700; margin: 0; color: var(--nui-text); }
.nui-empty-description { font-size: var(--nui-font-size-sm); color: var(--nui-text-muted); margin: 0; max-width: 320px; line-height: 1.45; }
.nui-empty-actions { display: flex; align-items: center; gap: 8px; margin-top: 4px; }

/* 25. Message & Bubble (Sohbet / Mesajlaşma) */
.nui-message-scroller { display: flex; flex-direction: column; gap: 12px; overflow-y: auto; padding: 12px; min-height: 160px; max-height: 400px; }
.nui-message { display: flex; gap: 10px; align-items: flex-start; min-width: 0; max-width: 100%; }
.nui-message-outgoing { margin-inline-start: auto; flex-direction: row-reverse; }
.nui-message-content { display: flex; flex-direction: column; gap: 5px; min-width: 0; flex: 1; }
.nui-message-meta { display: flex; align-items: center; gap: 8px; font-size: var(--nui-font-size-xs); color: var(--nui-text-muted); }
.nui-message-outgoing .nui-message-meta { justify-content: flex-end; }
.nui-bubble { padding: 8px 12px; border-radius: var(--nui-radius); background: var(--nui-raised); border: 1px solid var(--nui-border); color: var(--nui-text); font-size: var(--nui-font-size-sm); line-height: 1.45; word-break: break-word; }
.nui-message-outgoing .nui-bubble, .nui-bubble-outgoing, .nui-bubble-primary { background: color-mix(in srgb, var(--nui-accent) 12%, var(--nui-panel)); color: var(--nui-text); border-color: color-mix(in srgb, var(--nui-accent) 30%, var(--nui-border)); }
.nui-message-meta strong { color: var(--nui-text); font-weight: 600; }
.nui-message-meta time { margin-inline-start: auto; white-space: nowrap; }
.nui-bubble-stack { display: flex; flex-direction: column; gap: 10px; width: 100%; }
.nui-bubble-incoming { align-self: flex-start; }
.nui-bubble-outgoing { align-self: flex-end; }
.nui-bubble-stack > .nui-bubble { max-width: 85%; box-sizing: border-box; }
.nui-message-scroller { box-sizing: border-box; width: 100%; height: 240px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-panel); }
.nui-message-scroller > .nui-message { flex-shrink: 0; width: 90%; }
.nui-message-new { align-self: center; }
.nui-message-new[hidden] { display: none; }
/* Yüzen "yeni mesaj" düğmesi: kaydırıcının konumlu sarmalayıcısında sağ altta durur. */
.nui-message-new-floating { position: absolute; right: 16px; bottom: 12px; z-index: 3; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--nui-border); background: var(--nui-panel); color: var(--nui-text-muted); box-shadow: 0 2px 8px var(--nui-shadow); }
.nui-message-new-floating:hover { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-dropzone[nui-dropzone-preview] { width: 100%; box-sizing: border-box; }
.nui-dropzone-files { display: grid; gap: 8px; width: 100%; min-width: 0; }
.nui-dropzone-files .nui-attachment { max-width: none; min-width: 0; }
.nui-dropzone-files img { width: 32px; height: 32px; object-fit: cover; border-radius: 4px; }
.nui-dropzone-files .nui-attachment-size { overflow-wrap: anywhere; }

/* 26. Attachment & Aspect Ratio (Dosya Eki & En-Boy Oranı) */
.nui-attachment { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-raised); color: var(--nui-text); font-size: var(--nui-font-size-sm); max-width: 360px; }
.nui-attachment-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 6px; background: var(--nui-raised-hover); color: var(--nui-accent); font-size: 16px; flex-shrink: 0; }

/* Nötr ana aksiyonlar ile bilgi vurgularını ayırır; vurgu rengi her bileşeni boyamaz. */
.nui-button-primary { border-color: var(--nui-primary); background: var(--nui-primary); color: var(--nui-primary-foreground); }
.nui-button-primary:hover, .nui-button-primary:focus-visible { border-color: var(--nui-primary-hover); background: var(--nui-primary-hover); color: var(--nui-primary-foreground); }
.nui-shell .nui-workspace-tab.is-active::after { background: transparent; }
.nui-hover-card-title { color: var(--nui-text); font-size: var(--nui-font-size-sm); font-weight: 700; }
.nui-hover-card-content p { margin: 0; color: var(--nui-text-muted); line-height: 1.45; }
.nui-menubar { display: flex; align-items: center; gap: 4px; }
.nui-menubar-item { position: relative; }
.nui-menubar-item > button { min-height: var(--nui-control-height); padding: 5px var(--nui-control-padding-x); border: 1px solid transparent; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text); cursor: pointer; font: inherit; }
.nui-menubar-item > button:hover, .nui-menubar-item.is-open > button { border-color: var(--nui-border); background: var(--nui-raised-hover); }
.nui-menubar-content { position: absolute; top: calc(100% + 4px); left: 0; z-index: var(--nui-layer-menu); display: none; min-width: 160px; padding: 4px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-raised); box-shadow: 0 12px 28px var(--nui-shadow); }
.nui-menubar-item.is-open .nui-menubar-content { display: grid; gap: 2px; }
.nui-menubar-content button { width: 100%; padding: 7px 8px; border: 0; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text-muted); cursor: pointer; font: inherit; text-align: left; }
.nui-menubar-content button:hover { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-tabs:not(.nui-tabs-header) { border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: var(--nui-raised); }
.nui-tabs-list { display: flex; gap: 2px; padding: 4px; overflow-x: auto; border-bottom: 1px solid var(--nui-border); background: color-mix(in srgb, var(--nui-input) 70%, var(--nui-raised)); border-radius: var(--nui-radius-lg) var(--nui-radius-lg) 0 0; scrollbar-width: none; }
.nui-tabs-trigger { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; min-height: calc(var(--nui-control-height) - 2px); padding: 4px var(--nui-control-padding-x); border: 1px solid transparent; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text-muted); cursor: pointer; font: inherit; font-size: var(--nui-font-size-sm); font-weight: 500; white-space: nowrap; transition: background .12s, color .12s, border-color .12s; }
.nui-tabs-trigger:hover { color: var(--nui-text); background: var(--nui-raised-hover); }
.nui-tabs-trigger:disabled { opacity: .5; cursor: not-allowed; }
/* Etkin sekme gölgesi iki katmanlıdır (yumuşak yayılım + keskin alt kenar); renk temanın --nui-shadow tokenından gelir, kapsayıcıda --nui-tab-active-shadow ile değişir. */
.nui-tabs-trigger[aria-selected="true"] { border-color: var(--nui-border); background: var(--nui-raised); color: var(--nui-text); box-shadow: var(--nui-tab-active-shadow, 0 1px 3px 0 var(--nui-shadow), 0 1px 2px -1px var(--nui-shadow)); }
.nui-tabs-panel { padding: 10px; color: var(--nui-text-muted); }
.nui-attachment-info { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.nui-attachment-name { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--nui-text); }
.nui-attachment-size { font-size: var(--nui-font-size-xs); color: var(--nui-text-faint); }
.nui-aspect-ratio { position: relative; width: 100%; overflow: hidden; border-radius: var(--nui-radius); }
.nui-aspect-16-9 { aspect-ratio: 16 / 9; }
.nui-aspect-4-3 { aspect-ratio: 4 / 3; }
.nui-aspect-1-1 { aspect-ratio: 1 / 1; }
.nui-aspect-21-9 { aspect-ratio: 21 / 9; }
.nui-aspect-ratio > img, .nui-aspect-ratio > video, .nui-aspect-ratio > iframe { width: 100%; height: 100%; object-fit: cover; }
.nui-marker { background: color-mix(in srgb, var(--nui-warning) 30%, transparent); color: var(--nui-text); padding: 1px 3px; border-radius: 3px; }

/* 27. Carousel & Scroll Area (Slayt & Özel Kaydırma) */
.nui-carousel { position: relative; width: 100%; overflow: hidden; border-radius: var(--nui-radius); touch-action: pan-y; user-select: none; }
.nui-carousel-track { display: flex; transition: transform .35s cubic-bezier(.16, 1, .3, 1); width: 100%; }
.nui-carousel-slide { flex: 0 0 100%; min-width: 100%; box-sizing: border-box; }
.nui-carousel-controls { display: flex; align-items: center; justify-content: space-between; position: absolute; inset: 0; pointer-events: none; padding: 0 8px; }
.nui-carousel-controls .nui-icon-button, .nui-carousel-controls button { pointer-events: auto; background: var(--nui-raised); box-shadow: 0 4px 12px var(--nui-shadow); border: 1px solid var(--nui-border); z-index: 2; }
.nui-scroll-area { overflow: auto; max-height: 280px; scrollbar-width: thin; }

/* 28. Questionnaire & Chart (Anket & Mini Grafikler) */
.nui-questionnaire { display: flex; flex-direction: column; gap: 12px; }
.nui-question-card { display: flex; flex-direction: column; gap: 8px; padding: var(--nui-card-padding); border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: var(--nui-raised); }
.nui-question-title { font-size: var(--nui-font-size-base); font-weight: 700; color: var(--nui-text); }
.nui-question-options { display: flex; flex-direction: column; gap: 6px; }
.nui-question-option { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); cursor: pointer; font-size: var(--nui-font-size-sm); color: var(--nui-text); transition: background .12s, border-color .12s; }
.nui-question-option:hover { background: var(--nui-raised-hover); border-color: var(--nui-border-strong); }
.nui-question-option.is-selected { background: var(--nui-accent-fill); border-color: var(--nui-accent-border); color: var(--nui-accent-fg); font-weight: 600; }
.nui-data-table-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 8px; border-bottom: 1px solid var(--nui-border); }.nui-data-table-toolbar .nui-input { width: min(280px, 100%); }.nui-data-table-count { margin-inline-start: auto; color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); white-space: nowrap; }
.nui-table th { text-align: start; }.nui-table .nui-table-number { text-align: end; font-variant-numeric: tabular-nums; }.nui-data-table .nui-table-selection { box-sizing: border-box; width: 36px; text-align: center; }.nui-data-table .nui-table-selection input { margin: 0; vertical-align: middle; }.nui-table-shell tbody tr:last-child td { border-bottom: 0; }
.nui-pagination-toolbar { flex-wrap: wrap; }.nui-pagination-toolbar .nui-select:focus-visible { outline: 1px solid color-mix(in srgb,var(--nui-ring) 60%,var(--nui-border)); outline-offset: 1px; }
.nui-chart-container { display: flex; flex-direction: column; gap: 6px; padding: var(--nui-card-padding); border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: var(--nui-raised); }
.nui-chart-container canvas { width: 100% !important; min-height: 220px; }
.nui-chart-bars { display: flex; align-items: flex-end; gap: 6px; height: 100px; padding-top: 10px; border-bottom: 1px solid var(--nui-border); }
.nui-chart-bar-item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; justify-content: flex-end; }
.nui-chart-bar-fill { width: 100%; border-radius: 3px 3px 0 0; background: var(--nui-chart-1); transition: height .3s ease; }
.nui-chart-bar-fill:hover { background: color-mix(in srgb, var(--nui-chart-1) 80%, var(--nui-text)); }
.nui-chart-bar-label { font-size: 9px; color: var(--nui-text-faint); text-align: center; }

/* 29. Ortak kurumsal yüzey sözleşmeleri */
.nui-status { display: inline-flex; align-items: center; gap: 6px; min-width: 0; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }.nui-status-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--nui-text-faint); box-shadow: 0 0 0 3px color-mix(in srgb, var(--nui-text-faint) 14%, transparent); }.nui-status-label { min-width: 0; }.nui-status-small { gap: 4px; font-size: var(--nui-font-size-xs); }.nui-status-small .nui-status-dot { width: 6px; height: 6px; }.nui-status-success .nui-status-dot { background: var(--nui-success); box-shadow-color: color-mix(in srgb, var(--nui-success) 16%, transparent); }.nui-status-warning .nui-status-dot { background: var(--nui-warning); box-shadow-color: color-mix(in srgb, var(--nui-warning) 16%, transparent); }.nui-status-danger .nui-status-dot { background: var(--nui-danger); box-shadow-color: color-mix(in srgb, var(--nui-danger) 16%, transparent); }.nui-status-info .nui-status-dot { background: var(--nui-info); box-shadow-color: color-mix(in srgb, var(--nui-info) 16%, transparent); }
.nui-environment-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border: 1px solid var(--nui-border); border-radius: 999px; background: var(--nui-raised); color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); font-weight: 750; letter-spacing: .04em; }.nui-environment-development .nui-status-dot { background: var(--nui-success); }.nui-environment-staging .nui-status-dot { background: var(--nui-warning); }.nui-environment-production { border-color: color-mix(in srgb, var(--nui-danger) 46%, var(--nui-border)); color: var(--nui-text); }.nui-environment-production .nui-status-dot { background: var(--nui-danger); }
.nui-card-operation .nui-card-list-row { grid-template-columns: minmax(0, 1fr) auto minmax(120px, 1.2fr); }.nui-card-metric { display: grid; align-content: space-between; min-height: 116px; gap: var(--nui-gap-2); }.nui-card-metric-value { font-size: 28px; font-weight: 800; letter-spacing: -.04em; line-height: 1; }.nui-card-metric-danger .nui-card-metric-value { color: var(--nui-danger); }.nui-card-metric-warning .nui-card-metric-value { color: var(--nui-warning); }
.nui-key-value-list { display: grid; border-top: 1px solid var(--nui-border); container-type: inline-size; }.nui-key-value-row { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(0, 1.5fr) auto; gap: var(--nui-gap-3); align-items: center; min-height: 38px; padding: 8px 0; border-bottom: 1px solid var(--nui-border); }.nui-key-value-key { color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); }.nui-key-value-value { min-width: 0; color: var(--nui-text); overflow-wrap: anywhere; }
/* Dar kapta (yan kart, mobil) anahtar üstte, değer tam genişlikte: değer sütunu ezilip harf harf kırılmaz. */
@container (max-width: 300px) { .nui-key-value-row { grid-template-columns: minmax(0, 1fr) auto; row-gap: 2px; } .nui-key-value-key { grid-column: 1 / -1; } }
.nui-sensitive-value { display: inline-flex; align-items: center; gap: var(--nui-gap-2); min-width: 0; padding: 4px 6px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-input); font-family: var(--nui-font-mono); font-size: var(--nui-font-size-xs); }.nui-sensitive-value-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nui-table-shell { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: var(--nui-raised); overflow: auto; }.nui-table-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--nui-gap-2); min-height: 48px; padding: 8px 12px; border-bottom: 1px solid var(--nui-border); }.nui-table-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--nui-gap-2); margin-inline-start: auto; }.nui-table-scroll { min-width: 0; overflow: auto; }.nui-table-shell .nui-table { width: 100%; margin: 0; border: 0; border-radius: 0; }.nui-table-empty, .nui-table-loading { display: grid; min-height: 118px; place-items: center; padding: var(--nui-gap-4); color: var(--nui-text-muted); text-align: center; }.nui-table-pagination { padding: 0 12px; border-top: 1px solid var(--nui-border); }
.nui-dropzone { position: relative; display: grid; min-height: 126px; place-items: center; align-content: center; gap: var(--nui-gap-1); padding: var(--nui-gap-4); border: 1px dashed var(--nui-border-strong); border-radius: var(--nui-radius-lg); background: var(--nui-input); color: var(--nui-text-muted); cursor: pointer; text-align: center; transition: border-color .15s, background .15s; }.nui-dropzone:hover, .nui-dropzone:focus-visible, .nui-dropzone.is-dragover { border-color: var(--nui-accent); background: color-mix(in srgb, var(--nui-accent) 10%, var(--nui-input)); outline: none; }.nui-dropzone.is-disabled { cursor: not-allowed; opacity: .55; }.nui-dropzone-input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.nui-console-panel, .nui-editor-workspace { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; min-height: 0; overflow: hidden; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: var(--nui-raised); }.nui-console-panel-header, .nui-editor-workspace-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--nui-gap-2); min-height: 42px; padding: 8px 12px; border-bottom: 1px solid var(--nui-border); }.nui-console-panel-output, .nui-editor-workspace-surface { flex: 1 1 auto; min-height: 0; overflow: auto; background: var(--nui-input); }.nui-console-panel-footer, .nui-editor-workspace-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--nui-gap-2); min-height: 34px; padding: 6px 12px; border-top: 1px solid var(--nui-border); color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); }.nui-console-panel.is-fullscreen { position: fixed; inset: 0; z-index: var(--nui-layer-modal); border-radius: 0; }
.nui-auth-layout { display: grid; min-height: 100dvh; place-items: center; padding: var(--nui-gap-4); background: var(--nui-content-surface); }.nui-auth-card { width: min(100%, 420px); padding: 24px; border: 1px solid var(--nui-border); border-radius: calc(var(--nui-radius) + 2px); background: var(--nui-raised); box-shadow: 0 24px 48px var(--nui-shadow); }

.nui-window-size-sm { width: min(450px, calc(100vw - 36px)); }.nui-window-size-md { width: min(560px, calc(100vw - 36px)); }.nui-window-size-lg { width: min(800px, calc(100vw - 36px)); height: min(78dvh, 700px); }.nui-window-size-lg.nui-window-maximized { height: auto; }.nui-editor-workspace-surface > [nui-monaco-editor], .nui-editor-workspace-surface > .nui-monaco-container { position: absolute; inset: 0; }.nui-editor-workspace-surface { position: relative; min-height: 250px; }

/* Etkileşimli yüzeyler tarayıcı varsayılanlarına değil tema tokenlarına dayanır. */
.nui-question-option { width: 100%; border: 1px solid var(--nui-border); appearance: none; background: var(--nui-input); color: var(--nui-text); font: inherit; text-align: left; }
.nui-question-option:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 2px; }.nui-question-option:disabled { border-color: var(--nui-border); background: var(--nui-raised-hover); color: var(--nui-text-faint); cursor: not-allowed; opacity: 1; }
.nui-chart-container { min-width: 0; min-height: 0; height: 100%; box-sizing: border-box; }.nui-chart-container canvas { display: block; width: 100% !important; height: 100% !important; min-height: 0; }
.nui-sticky { position: sticky; z-index: var(--nui-layer-menu); align-self: start; }.nui-sticky-top { top: var(--nui-sticky-offset, 0); }.nui-sticky-bottom { bottom: var(--nui-sticky-offset, 0); }
.nui-fill { width: 100%; height: 100%; }.nui-fill-x { width: 100%; }.nui-fill-y { height: 100%; }
.nui-carousel-track.is-dragging { transition: none; }.nui-carousel .nui-fill-y, .nui-carousel.nui-fill-y { min-height: 0; }.nui-carousel.nui-fill-y .nui-carousel-track, .nui-carousel.nui-fill-y .nui-carousel-slide { height: 100%; }
.nui-combobox { display: block; }.nui-combobox > .nui-input-group { flex: 0 0 auto; flex-wrap: wrap; min-height: var(--nui-control-height); height: auto; padding: 2px; }.nui-combobox > .nui-input-group > .nui-combobox-selection { display: flex; flex: 1 0 100%; flex-wrap: wrap; align-items: center; gap: 4px; min-width: 0; margin: 0; }.nui-combobox > .nui-input-group .nui-combobox-badge { margin: 0; font-size: var(--nui-font-size-xs); font-weight: 700; line-height: 14px; }.nui-combobox > .nui-input-group > .nui-clearable-input, .nui-combobox > .nui-input-group > [data-nui-combobox-input] { flex: 1 1 132px; min-width: 132px; height: calc(var(--nui-control-height) - 6px); min-height: calc(var(--nui-control-height) - 6px); margin-left: 0; box-sizing: border-box; }.nui-combobox > .nui-input-group > .nui-clearable-input > [data-nui-combobox-input] { height: calc(var(--nui-control-height) - 6px); min-height: calc(var(--nui-control-height) - 6px); box-sizing: border-box; }.nui-combobox > .nui-input-group > [data-nui-combobox-clear], .nui-combobox > .nui-input-group > [data-nui-combobox-toggle] { flex: 0 0 auto; height: calc(var(--nui-control-height) - 6px); min-height: calc(var(--nui-control-height) - 6px); margin: 0; box-sizing: border-box; }
.nui-menu-submenu { position: relative; }.nui-menu-submenu > [data-nui-submenu-trigger]::after { content: '›'; float: right; margin-left: 18px; color: var(--nui-text-faint); }.nui-menu-submenu-content { position: absolute; top: -5px; left: calc(100% + 4px); z-index: calc(var(--nui-layer-menu) + 1); display: none; min-width: 160px; padding: 4px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-raised); box-shadow: 0 12px 28px var(--nui-shadow); }.nui-menu-submenu.is-open > .nui-menu-submenu-content { display: grid; gap: 2px; }.nui-menu-submenu-content.is-flipped { right: calc(100% + 4px); left: auto; }.nui-menu-submenu > button, .nui-menu-submenu-content button { display: block; width: 100%; padding: 7px 8px; border: 0; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text-muted); cursor: pointer; font: inherit; text-align: left; }.nui-menu-submenu > button:hover, .nui-menu-submenu-content button:hover { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-auth-brand { display: grid; justify-items: center; gap: var(--nui-gap-3); margin-bottom: var(--nui-gap-4); }.nui-auth-brand img { display: block; max-width: 100%; height: 60px; object-fit: contain; }.nui-auth-title { margin: 0; color: var(--nui-text); font-size: var(--nui-font-size-lg); font-weight: 750; letter-spacing: .01em; text-align: center; }.nui-auth-form { display: grid; gap: var(--nui-gap-3); }.nui-auth-options { display: flex; align-items: center; gap: var(--nui-gap-2); }.nui-auth-error { margin: 0; padding: 9px 10px; border: 1px solid color-mix(in srgb, var(--nui-danger) 45%, var(--nui-border)); border-radius: var(--nui-radius-sm); background: color-mix(in srgb, var(--nui-danger) 10%, var(--nui-raised)); color: var(--nui-text); font-size: var(--nui-font-size-sm); text-align: center; }

/* 29. Komponentler Sayfası & Kod Laboratuvarı (Components Showcase & Code Lab) */
.nui-components-catalog { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.nui-catalog-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: var(--nui-panel); }
.nui-catalog-filters { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.nui-catalog-filter-btn { padding: 4px 10px; font-size: var(--nui-font-size-xs); font-weight: 600; border: 1px solid var(--nui-border); border-radius: 20px; background: var(--nui-raised); color: var(--nui-text-muted); cursor: pointer; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.nui-catalog-filter-btn:hover { background: var(--nui-raised-hover); color: var(--nui-text); border-color: var(--nui-border-strong); }
.nui-catalog-filter-btn.is-active { background: var(--nui-primary); color: var(--nui-primary-foreground); border-color: var(--nui-primary); }
.nui-catalog-toolbar .nui-catalog-search { width: 260px; }
@media (max-width: 640px) { .nui-catalog-toolbar { align-items: stretch; padding: 10px; }.nui-catalog-filters { flex-wrap: nowrap; min-width: 0; padding-bottom: 2px; overflow-x: auto; scrollbar-width: thin; }.nui-catalog-filter-btn { flex: 0 0 auto; white-space: nowrap; }.nui-catalog-toolbar .nui-catalog-search { width: 100%; }.nui-sticky { --nui-sticky-offset: 0px; } }
.nui-comp-grid { display: flex; flex-direction: column; gap: 12px; }
.nui-comp-card { display: flex; flex-direction: column; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: var(--nui-panel); box-shadow: none; position: relative; }
.nui-comp-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 16px; background: var(--nui-panel); border-bottom: 1px solid var(--nui-border); border-top-left-radius: inherit; border-top-right-radius: inherit; }
.nui-comp-title-area { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nui-comp-title { font-size: calc(var(--nui-font-size-base) + 1px); font-weight: 700; color: var(--nui-text); }
.nui-comp-tag { font-size: var(--nui-font-size-xs); font-weight: 600; padding: 2px 6px; border: 1px solid var(--nui-border); border-radius: 4px; background: var(--nui-raised-hover); color: var(--nui-text-muted); }
.nui-comp-desc { font-size: var(--nui-font-size-xs); color: var(--nui-text-muted); flex: 1; }
.nui-comp-body { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); min-height: 160px; }
.nui-comp-card > .nui-comp-body { overflow: hidden; border-radius: 0 0 var(--nui-radius-lg) var(--nui-radius-lg); }
.nui-comp-preview { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 12px; padding: 16px 20px; border-right: 1px solid var(--nui-border); background: var(--nui-panel); position: relative; }
.nui-comp-preview.is-centered { align-items: center; }
.nui-comp-preview.is-fullwidth > * { width: 100%; }
.nui-comp-code { display: flex; flex-direction: column; background: var(--nui-raised); padding: 12px; overflow: auto; font-family: var(--nui-font-mono, monospace); font-size: var(--nui-font-size-xs); }
.nui-code-snippet { margin: 0; padding: 10px 12px; background: var(--nui-input); border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); color: var(--nui-text); font-family: monospace; font-size: var(--nui-font-size-xs); line-height: 1.45; overflow-x: auto; white-space: pre-wrap; word-break: break-word; flex: 1; }
.nui-code-snippet code { font-family: inherit; font-size: inherit; color: inherit; }
.nui-comp-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; font-size: var(--nui-font-size-xs); color: var(--nui-text-faint); }
.nui-meta-pill { padding: 1px 5px; border-radius: 3px; background: var(--nui-panel); border: 1px solid var(--nui-border); color: var(--nui-text-muted); }

@media (max-width: 640px) {
	/* Mobil menü düğmesi işaretlemede nerede olursa olsun üst çubuğun en solunda durur. */
	.nui-shell .nui-mobile-nav-toggle { order: -1; display: inline-grid; place-items: center; flex: 0 0 auto; width: var(--nui-control-height); height: var(--nui-control-height); margin: 0 4px 0 0; padding: 0; }
	.nui-shell .nui-topbar { height: var(--nui-topbar-height, 42px); min-height: var(--nui-topbar-height, 42px); padding: 0 8px; }.nui-shell .nui-topbar-menu { display: none; }.nui-shell .nui-brand-title { font-size: var(--nui-font-size-xs); }.nui-shell .nui-shell-body { padding: 0; }.nui-shell .nui-sidebar { position: fixed; top: var(--nui-topbar-height, 42px); bottom: 0; left: 0; width: min(288px,calc(100vw - 44px)); transform: translateX(-105%); box-shadow: 12px 0 28px var(--nui-shadow); z-index: 1200; }.nui-shell.is-mobile-menu-open .nui-sidebar { transform: translateX(0); }.nui-shell.is-mobile-menu-open .nui-mobile-backdrop { display: block; position: fixed; inset: var(--nui-topbar-height, 42px) 0 0; z-index: 1100; background: rgb(var(--nui-overlay-color) / var(--nui-overlay-opacity)); }.nui-shell.is-sidebar-collapsed .nui-sidebar { width: min(288px,calc(100vw - 44px)); }.nui-shell.is-sidebar-collapsed .nui-nav-section, .nui-shell.is-sidebar-collapsed .nui-nav-item span { display: initial; }.nui-shell.is-sidebar-collapsed .nui-nav-item { width: auto; justify-content: flex-start; padding: 0 9px; margin: 0; }.nui-shell .nui-main-content { border-width: 1px 0 0; border-radius: 0; }.nui-shell .nui-workspace-tab { max-width: 170px; }.nui-statusbar { gap: 8px; min-height: 32px; white-space: nowrap; overflow: hidden; }.nui-statusbar > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; }.nui-shell .nui-sidebar .nui-sidebar-toggle { display: none; }.nui-grid-2col, .nui-grid-3col, .nui-grid-4col, .nui-dashboard-grid, .nui-metric-grid, .nui-inline-metrics, .nui-inline-metrics-3, .nui-deploy-steps, .nui-choice-grid-3, .nui-theme-choice-grid { grid-template-columns: minmax(0,1fr); }.nui-page-header { flex-direction: column; }.nui-split-pane { display: flex; flex: 0 0 auto; flex-direction: column; height: auto; min-height: 0; overflow: visible; }.nui-split-pane > .nui-split-divider { display: none; }.nui-split-pane > :not(.nui-split-divider) { flex: 0 0 auto; width: 100%; min-height: 180px; }.nui-window[nui-window] { resize: none; }.nui-terminal-page { grid-template-columns: minmax(0,1fr); height: auto; overflow: auto; }.nui-terminal-page.nui-terminal-fullscreen { position: fixed; inset: 0; z-index: 2100; padding: 8px; background: var(--nui-bg); }
	/* Dar ekranda modal alttan açılan sayfa (bottom sheet) olur: sol, sağ ve alta yapışık, üstte üst çubuk görünür kalır. */
	.nui-modal-overlay { align-items: flex-end; padding: calc(var(--nui-topbar-height, 42px) + 8px) 0 0; }.nui-modal-overlay > .nui-window, .nui-modal-content { width: 100%; max-width: none; max-height: 100%; border-bottom: 0; border-radius: var(--nui-radius-lg) var(--nui-radius-lg) 0 0; }
	.nui-filter-toolbar { align-items: stretch; padding: 6px; }.nui-filter-toolbar > label { align-self: center; }.nui-filter-toolbar .nui-toolbar-input, .nui-filter-toolbar .nui-select { flex: 1 1 100%; width: 100%; }.nui-detail-toolbar { align-items: flex-start; flex-direction: column; }.nui-detail-toolbar-actions { flex-wrap: wrap; width: 100%; }.nui-detail-toolbar-actions .nui-button { flex: 1 1 auto; }.nui-row, .nui-form-grid, .nui-choice-grid { grid-template-columns: minmax(0,1fr); }
}

/* Durum metni, hafif yüzey ve dolu aksiyon aynı renk görevini paylaşmaz. */
body, .nui-theme-dark, .nui-theme-light {
	--nui-success-fg: var(--nui-success); --nui-success-fill: color-mix(in srgb, var(--nui-success) 12%, var(--nui-raised)); --nui-success-border: color-mix(in srgb, var(--nui-success) 48%, var(--nui-border));
	--nui-warning-fg: var(--nui-warning); --nui-warning-fill: color-mix(in srgb, var(--nui-warning) 12%, var(--nui-raised)); --nui-warning-border: color-mix(in srgb, var(--nui-warning) 48%, var(--nui-border));
	--nui-danger-fg: var(--nui-danger); --nui-danger-fill: color-mix(in srgb, var(--nui-danger) 12%, var(--nui-raised)); --nui-danger-border: color-mix(in srgb, var(--nui-danger) 48%, var(--nui-border));
	--nui-info-fg: var(--nui-info); --nui-info-fill: color-mix(in srgb, var(--nui-info) 12%, var(--nui-raised)); --nui-info-border: color-mix(in srgb, var(--nui-info) 48%, var(--nui-border));
	--nui-accent-ring: color-mix(in srgb, var(--nui-ring) 45%, transparent);
}
.nui-badge-primary, .nui-badge-info { color: var(--nui-info-fg); background: var(--nui-info-fill); border-color: var(--nui-info-border); }
.nui-badge-primary { color: var(--nui-accent-fg); background: var(--nui-accent-fill); border-color: var(--nui-accent-border); }
.nui-badge-success { color: var(--nui-success-fg); background: var(--nui-success-fill); border-color: var(--nui-success-border); }
.nui-badge-warning { color: var(--nui-warning-fg); background: var(--nui-warning-fill); border-color: var(--nui-warning-border); }
.nui-badge-danger { color: var(--nui-danger-fg); background: var(--nui-danger-fill); border-color: var(--nui-danger-border); }
.nui-button-danger { background: var(--nui-danger-solid); border-color: var(--nui-danger-solid); color: var(--nui-on-solid); }
.nui-button-danger:is(:hover, :focus-visible) { background: var(--nui-danger-solid-hover); border-color: var(--nui-danger-solid-hover); color: var(--nui-on-solid); }
.nui-button-danger:active { background: var(--nui-danger-solid-active); border-color: var(--nui-danger-solid-active); color: var(--nui-on-solid); }
.nui-button-success { background: var(--nui-success-solid); border-color: var(--nui-success-solid); color: var(--nui-on-solid); }

/* Ölçüler token tabanlıdır: bileşenler --nui-control-height, --nui-font-size-* vb. tokenları okur; varsayılan değerler :root'tadır, aşağıdaki bloklar kapsayıcı bazında değiştirir. */
/* Yoğunluk: compact = :root ölçüsü (varsayılan; "default" eş anlamlıdır); regular = 1.8.0–1.9.6 varsayılanı (14px / 36px, 8/14px köşe);
   comfortable = en ferah. Kapsayıcıya (body dahil) konur. Her blok yoğunluk tokenlarının tamamını yazar ki iç içe kullanımda dış değer sızmasın;
   comfortable köşeyi yazmaz (tema seçimi). */
[data-nui-density="compact"], [data-nui-density="default"] { --nui-font-size-xs: 11px; --nui-font-size-sm: 12px; --nui-font-size-base: 13px; --nui-font-size-lg: 16px; --nui-control-font-size: 12px; --nui-control-height: 30px; --nui-control-height-sm: 26px; --nui-control-height-lg: 34px; --nui-control-padding-x: 10px; --nui-icon-size: 30px; --nui-radius: 9px; --nui-radius-sm: 6px; --nui-radius-lg: 9px; --nui-nav-item-height: 30px; --nui-table-cell-y: 6px; --nui-table-cell-x: 8px; --nui-card-padding: 14px; }
[data-nui-density="regular"] { --nui-font-size-xs: 12px; --nui-font-size-sm: 13px; --nui-font-size-base: 14px; --nui-font-size-lg: 16px; --nui-control-font-size: 14px; --nui-control-height: 36px; --nui-control-height-sm: 32px; --nui-control-height-lg: 40px; --nui-control-padding-x: 12px; --nui-icon-size: 36px; --nui-radius: 10px; --nui-radius-sm: 8px; --nui-radius-lg: 14px; --nui-nav-item-height: 32px; --nui-table-cell-y: 8px; --nui-table-cell-x: 10px; --nui-card-padding: 24px; }
[data-nui-density="comfortable"] { --nui-font-size-xs: 13px; --nui-font-size-sm: 14px; --nui-font-size-base: 15px; --nui-font-size-lg: 17px; --nui-control-font-size: 15px; --nui-control-height: 40px; --nui-control-height-sm: 36px; --nui-control-height-lg: 44px; --nui-control-padding-x: 14px; --nui-icon-size: 40px; --nui-nav-item-height: 36px; --nui-table-cell-y: 10px; --nui-table-cell-x: 10px; --nui-card-padding: 28px; }
/* Kontroller tokenları taban kurallarında okur; öznitelik için ayrı min-height kuralı yazılmaz (yazılırsa .nui-button-small, takvim seçicisi gibi küçük varyantları ezer). */
.nui-shell :is(button, a[href], input, select, textarea, [tabindex]):focus-visible, .nui-window :is(button, a[href], [tabindex]):focus-visible, .nui-tabs-trigger:focus-visible, .nui-pagination-link:focus-visible, .nui-calendar-day:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 2px; }
.nui-table-sort { display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; background: transparent; color: inherit; text-align: inherit; cursor: pointer; font: inherit; }
.nui-table-sort:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 3px; }
.nui-table-status { padding: 16px; text-align: center; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }
@media (pointer: coarse) {
	.nui-shell :is(.nui-button, .nui-icon-button, .nui-pagination-link, .nui-calendar-day, .nui-tabs-trigger), .nui-window-controls button { min-width: 44px; min-height: 44px; }
	/* 44px dokunma hedefi üst çubuğa sığsın; mobil kenar menü ve örtü bu yükseklikten başlar. */
	.nui-shell { --nui-topbar-height: 52px; }
	.nui-input, .nui-select, .nui-textarea { min-height: 44px; }
	/* iOS odakta 16px altı alanlara yakınlaştırır; özgüllük kontrol kurallarının (.nui-shell input ...) üstünde tutulur. */
	:is(.nui-input, .nui-select, .nui-textarea, .nui-shell input:not([type="checkbox"]):not([type="radio"]), .nui-shell select, .nui-shell textarea) { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.nui-shell .nui-sidebar, .nui-switch-thumb, .nui-slider-thumb, .nui-carousel-track, .nui-calendar-day, .nui-dropzone, .nui-otp-slot { transition: none; }
	.nui-toast, .nui-toast > *, .nui-dialog-portal, .nui-dialog-card { animation: none; transition: none; }
	.nui-skeleton, .nui-spinner, .nui-icon-spin svg.lucide, svg.lucide.nui-icon-spin { animation: none; }
}

/* Metin alanında yumuşak odak; klavye odağı ayrıca görünür kalır. */
.nui-input:focus, .nui-select:focus, .nui-textarea:focus, .nui-shell input:not([type="checkbox"]):not([type="radio"]):focus, .nui-shell select:focus, .nui-shell textarea:focus { border-color: var(--nui-text-muted); outline: none; box-shadow: 0 0 0 2px color-mix(in srgb, var(--nui-text-muted) 14%, transparent); }
.nui-input:focus-visible, .nui-select:focus-visible, .nui-textarea:focus-visible, .nui-shell input:not([type="checkbox"]):not([type="radio"]):focus-visible, .nui-shell select:focus-visible, .nui-shell textarea:focus-visible { outline: none; box-shadow: 0 0 0 2px color-mix(in srgb, var(--nui-text-muted) 25%, transparent); }
.nui-combobox > .nui-input-group { border: 1px solid var(--nui-border-strong); border-radius: var(--nui-radius-sm); background: var(--nui-input); padding: 2px 4px; gap: 2px; }
.nui-combobox > .nui-input-group:focus-within { border-color: var(--nui-text-muted); box-shadow: 0 0 0 2px color-mix(in srgb, var(--nui-text-muted) 14%, transparent); }
.nui-combobox > .nui-input-group:has(:focus-visible) { outline: none; box-shadow: 0 0 0 2px color-mix(in srgb, var(--nui-text-muted) 25%, transparent); }
.nui-combobox > .nui-input-group > [data-nui-combobox-input], .nui-combobox > .nui-input-group > .nui-clearable-input > [data-nui-combobox-input], .nui-shell .nui-combobox .nui-input-group input[data-nui-combobox-input], .nui-shell .nui-combobox .nui-input-group [data-nui-combobox-input]:focus { border: 0; background: transparent; box-shadow: none; outline: none; }
.nui-combobox > .nui-input-group > [data-nui-combobox-clear], .nui-combobox > .nui-input-group > [data-nui-combobox-toggle] { width: 26px; min-width: 26px; padding: 0; border: 0; border-radius: 4px !important; background: transparent; color: var(--nui-text-muted); }
.nui-combobox > .nui-input-group > [data-nui-combobox-clear]:hover, .nui-combobox > .nui-input-group > [data-nui-combobox-toggle]:hover { color: var(--nui-text); background: var(--nui-raised-hover); }
.nui-combobox [data-nui-combobox-clear][hidden] { display: none; }
.nui-combobox [data-nui-combobox-clear] svg, .nui-combobox [data-nui-combobox-toggle] svg { width: 14px; height: 14px; }

/* Tema seçenekleri kendi rengini korur; seçili olan nötr bir iç çerçeveyle belirtilir. */
.nui-theme-toggle { display: inline-flex; flex: 0 0 auto; gap: 0; padding: 0; border: 1px solid var(--nui-border-strong); border-radius: var(--nui-radius-sm); overflow: hidden; }
.nui-theme-toggle > button { display: inline-grid; place-items: center; width: var(--nui-control-height-sm); min-width: var(--nui-control-height-sm); min-height: var(--nui-control-height-sm); padding: 0; border: 0; border-radius: 0; cursor: pointer; }
/* Tema önizleme düğmeleri: açık/koyu karelerin renkleri ve üzerlerindeki halkalar sayfa temasından bağımsız sabittir; halka rengi iki önizleme zeminiyle de yeterli kontrast veren nötr gridir. */
.nui-theme-toggle > button[data-theme="light"] { color: #262626; background: #fafafa; }
.nui-theme-toggle > button[data-theme="dark"] { color: #e5e5e5; background: #262626; }
.nui-theme-toggle > button[aria-pressed="true"] { box-shadow: inset 0 0 0 2px #85858f; }
.nui-theme-toggle > button:hover { box-shadow: inset 0 0 0 2px #a1a1aa; }
.nui-theme-toggle > button svg { width: 14px; height: 14px; }
.nui-theme-toggle > button:focus-visible { outline: 2px solid #85858f; outline-offset: -3px; }

.nui-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.nui-copy { position: relative; display: inline-flex; align-items: center; gap: 4px; max-width: 100%; padding: 2px 4px; border: 1px solid transparent; border-radius: 4px; vertical-align: middle; }
.nui-copy:hover, .nui-copy:focus-within { border-color: var(--nui-border); background: color-mix(in srgb, var(--nui-text-muted) 6%, transparent); }
.nui-copy-content { min-width: 0; overflow-wrap: break-word; }
.nui-copy-button { display: inline-grid; flex: 0 0 auto; place-items: center; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 3px; background: transparent; color: var(--nui-text-muted); cursor: pointer; }
.nui-copy-button svg { width: 14px; height: 14px; }
.nui-copy-button:hover { color: var(--nui-text); background: var(--nui-raised-hover); }
.nui-copy-button:focus-visible { outline: 2px solid var(--nui-text-muted); outline-offset: 1px; }
.nui-copy-start .nui-copy-button { order: -1; }
.nui-copy.is-copied .nui-copy-button, button.nui-copy-feedback > svg, button.nui-copy-feedback > i[data-lucide] { color: var(--nui-success-fg); }
.nui-copy-button:disabled { opacity: .5; cursor: default; }
/* Tablo ve kompakt yoğunlukta kopyalama satırı yükseltmez ve metin yanındaki hücre metniyle soldan hizalı başlar;
   hover çerçevesi yer kaplamaz. Örnek: <td><strong>Ad</strong><small><nui-copy>V0001</nui-copy></small></td> */
:is(.nui-table, [data-nui-density="compact"]) .nui-copy { gap: 2px; padding: 0; border: 0; }
:is(.nui-table, [data-nui-density="compact"]) .nui-copy:hover, :is(.nui-table, [data-nui-density="compact"]) .nui-copy:focus-within { outline: 1px solid var(--nui-border); outline-offset: 1px; }
:is(.nui-table, [data-nui-density="compact"]) .nui-copy-button { width: 18px; height: 18px; }
:is(.nui-table, [data-nui-density="compact"]) .nui-copy-button svg { width: 12px; height: 12px; }
/* Pasif düğme soluk ve "izin yok" imleciyle görünür; örn. seçim yokken "Set oluştur". */
.nui-button:disabled, .nui-button[aria-disabled="true"], .nui-icon-button:disabled { opacity: .5; cursor: not-allowed; }
@media (pointer: coarse) { .nui-copy-button, .nui-theme-toggle > button, .nui-combobox > .nui-input-group > [data-nui-combobox-clear], .nui-combobox > .nui-input-group > [data-nui-combobox-toggle] { min-width: 44px; min-height: 44px; } }

.nui-theme-switch { width: 42px; height: 26px; padding: 3px; background: var(--nui-raised-hover); border-color: var(--nui-border-strong); }
.nui-theme-switch[aria-checked="true"] { background: var(--nui-bg); border-color: var(--nui-border-strong); }
.nui-theme-switch .nui-switch-thumb { display: grid; place-items: center; width: 18px; height: 18px; background: var(--nui-panel); color: var(--nui-text); }
.nui-theme-switch .nui-switch-thumb > span { display: grid; place-items: center; }
.nui-theme-switch .nui-switch-thumb svg.lucide { width: 12px; height: 12px; }
.nui-theme-switch[aria-checked="true"] .nui-switch-thumb { transform: translateX(16px); background: var(--nui-panel); }

/* 30. Buton varyantları ve durumları: varyant yalnız görünümü değiştirir; tüketicide tanımsız kalan ghost/quiet/outline sınıfları burada kanonikleşir. */
.nui-button-secondary { border-color: transparent; background: color-mix(in srgb, var(--nui-text) 8%, var(--nui-raised)); color: var(--nui-text); }
.nui-button-secondary:hover { border-color: transparent; background: color-mix(in srgb, var(--nui-text) 13%, var(--nui-raised)); }
.nui-button-outline { border-color: var(--nui-border-strong); background: transparent; }
.nui-button-outline:hover { background: var(--nui-raised-hover); }
.nui-button-ghost, .nui-button-quiet { border-color: transparent; background: transparent; color: var(--nui-text-muted); }
.nui-button-ghost:hover, .nui-button-quiet:hover { border-color: transparent; background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-button-link, .nui-link { padding-inline: 2px; border-color: transparent; background: transparent; color: var(--nui-accent); text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 3px; cursor: pointer; }
.nui-button-link:hover, .nui-link:hover { border-color: transparent; background: transparent; text-decoration-color: currentColor; }
/* Satır içi bağlantı düğmesi: tabloda kayıt adı gibi metin görünümlü tıklanabilir öğe; <a> veya <button> olabilir.
   .nui-link-subtle metin renginde ve kalın durur, üzerine gelince vurgu rengi + alt çizgi alır. Uzun ad için .nui-truncate ile birlikte kullanılır. */
button.nui-link { display: inline-block; max-width: 100%; margin: 0; padding: 0; border: 0; font: inherit; line-height: inherit; text-align: start; vertical-align: baseline; }
.nui-link-subtle { color: var(--nui-text); font-weight: 600; text-decoration: none; }
.nui-link-subtle:hover { color: var(--nui-accent); text-decoration: underline; }
.nui-link:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 2px; border-radius: 2px; }
.nui-button-success:hover, .nui-button-success:focus-visible { border-color: var(--nui-success-solid-hover); background: var(--nui-success-solid-hover); color: var(--nui-on-solid); }
.nui-button-large { min-height: var(--nui-control-height-lg); padding: 7px calc(var(--nui-control-padding-x) * 1.25); font-size: var(--nui-font-size-base); }
.nui-button-block { width: 100%; max-width: none; }
.nui-button:active:not(:disabled):not([aria-disabled="true"]) { transform: translateY(.5px); }
/* Seçili/basılı düğme: araç çubuğu modları ve segment seçimleri ek tüketici CSS'i gerektirmez. */
.nui-button:is(.is-active, [aria-pressed="true"]):not(:is(.nui-button-primary, .nui-button-danger, .nui-button-success)) { border-color: var(--nui-accent-border); background: var(--nui-accent-fill); color: var(--nui-text); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--nui-accent) 20%, transparent); }
/* Yükleme sırasında etiket görünür kalır; tekrar tıklama engellenir. Örnek: <button class="nui-button is-loading" aria-busy="true">Kaydediliyor</button> */
.nui-button:is(.is-loading, [aria-busy="true"]) { display: inline-flex; cursor: progress; pointer-events: none; opacity: .85; }
.nui-button:is(.is-loading, [aria-busy="true"])::before { content: ''; flex: 0 0 auto; width: 12px; height: 12px; box-sizing: border-box; border: 2px solid color-mix(in srgb, currentColor 30%, transparent); border-top-color: currentColor; border-radius: 50%; animation: nui-spin .7s linear infinite; }
.nui-icon-button.nui-icon-button-sm { width: var(--nui-control-height-sm); min-width: var(--nui-control-height-sm); height: var(--nui-control-height-sm); min-height: var(--nui-control-height-sm); border-radius: var(--nui-radius-sm); }
.nui-icon-button.nui-icon-button-sm svg.lucide { width: 13px; height: 13px; }
.nui-icon-button.nui-icon-button-lg { width: var(--nui-control-height-lg); min-width: var(--nui-control-height-lg); height: var(--nui-control-height-lg); min-height: var(--nui-control-height-lg); }
.nui-icon-button:is(.is-active, [aria-pressed="true"]) { background: var(--nui-raised-hover); color: var(--nui-text); }

/* 31. Alert: ikonlu kullanımda yatay yerleşim; ikonsuz eski "<strong>Başlık:</strong> metin" kullanımı aynı kalır. */
.nui-alert { --nui-alert-accent: var(--nui-text-faint); font-size: var(--nui-font-size-sm); line-height: 1.45; }
.nui-alert:has(> svg.lucide, > i[data-lucide], > .nui-alert-icon) { display: flex; align-items: flex-start; gap: 10px; }
.nui-alert > svg.lucide, .nui-alert > .nui-alert-icon { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 1px; color: var(--nui-alert-accent); }
.nui-alert-content { display: grid; flex: 1 1 auto; gap: 2px; min-width: 0; }
.nui-alert-title { color: var(--nui-text); font-weight: 650; }
.nui-alert-description { color: var(--nui-text-muted); }
.nui-alert-actions { display: flex; flex-wrap: wrap; gap: var(--nui-gap-2); margin-top: 6px; }
.nui-alert:is(.nui-alert-info, .nui-alert-success, .nui-alert-warning, .nui-alert-critical, .nui-alert-danger) { border-left: 3px solid var(--nui-alert-accent); background: color-mix(in srgb, var(--nui-alert-accent) 6%, var(--nui-raised)); }
.nui-alert-info { --nui-alert-accent: var(--nui-info); }
.nui-alert-success { --nui-alert-accent: var(--nui-success); }
.nui-alert-warning { --nui-alert-accent: var(--nui-warning); }
.nui-alert-critical, .nui-alert-danger { --nui-alert-accent: var(--nui-danger); }

/* 32. Navigasyon menüsü: sayfa içi bölüm geçişleri; aktif öğe aria-current veya is-active ile belirtilir. */
.nui-nav-menu { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 2px; max-width: 100%; padding: 3px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: color-mix(in srgb, var(--nui-input) 70%, var(--nui-raised)); }
.nui-nav-menu-link, .nui-nav-menu > a { display: inline-flex; align-items: center; gap: 6px; min-height: var(--nui-control-height-sm); padding: 3px var(--nui-control-padding-x); border-radius: var(--nui-radius-sm); color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); font-weight: 500; text-decoration: none; white-space: nowrap; transition: background .12s, color .12s; }
.nui-nav-menu-link:hover, .nui-nav-menu > a:hover { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-nav-menu-link:is(.is-active, [aria-current="page"]), .nui-nav-menu > a:is(.is-active, [aria-current="page"]) { background: var(--nui-raised); color: var(--nui-text); box-shadow: 0 1px 2px var(--nui-shadow), inset 0 0 0 1px var(--nui-border); }
.nui-nav-menu svg.lucide { width: 14px; height: 14px; }

/* 33. Dropdown öğesi açıklaması ve tablo yardımcıları. */
.nui-dropdown-item-text { display: grid; gap: 1px; min-width: 0; }
.nui-dropdown-item-description { color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); font-weight: 400; }
/* Uzun tabloda başlık kaydırma kabında görünür kalır; kabın yüksekliği tüketicide sınırlanır. */
.nui-table-sticky thead th, .nui-table-shell.nui-table-sticky thead th { position: sticky; top: 0; z-index: 1; }
.nui-table-sort-icon { display: inline-block; min-width: 10px; color: var(--nui-text-faint); font-size: 10px; opacity: .6; }
.nui-table-sort.is-sorted .nui-table-sort-icon { color: var(--nui-accent); opacity: 1; }
.nui-table-sort:hover .nui-table-sort-icon { opacity: 1; }
.nui-data-table .nui-table-selection input { cursor: pointer; accent-color: var(--nui-accent); }
.nui-data-table tbody tr { cursor: default; }
.nui-data-table.is-selectable tbody tr { cursor: pointer; }

/* 34. Sayfalama numaraları: dar ekranda yalnız aktif sayfa ve oklar kalır. */
.nui-pagination-pages { display: flex; align-items: center; gap: 2px; }
button.nui-pagination-link { box-sizing: border-box; background: transparent; font: inherit; font-size: var(--nui-control-font-size); font-variant-numeric: tabular-nums; }
button.nui-pagination-link:disabled { opacity: .45; cursor: not-allowed; }
.nui-pagination-link.is-active { background: var(--nui-raised); box-shadow: 0 1px 2px var(--nui-shadow); }
.nui-pagination-summary { font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 640px) { .nui-pagination-pages > :not(.is-active) { display: none; } }

/* 35. Anket seçenekleri tekli/çoklu seçim türünü görünür gösterir. */
.nui-question-indicator { position: relative; display: inline-grid; flex: 0 0 16px; place-items: center; width: 16px; height: 16px; box-sizing: border-box; border: 1px solid var(--nui-border-strong); border-radius: 50%; background: var(--nui-input); transition: background .12s, border-color .12s, box-shadow .12s; }
.nui-question-indicator.is-multiple { border-radius: 4px; }
.nui-question-option.is-selected .nui-question-indicator { border-color: var(--nui-accent); background: var(--nui-accent); box-shadow: inset 0 0 0 3px var(--nui-input); }
.nui-question-option.is-selected .nui-question-indicator.is-multiple { box-shadow: none; }
.nui-question-option.is-selected .nui-question-indicator.is-multiple::after { content: ''; width: 8px; height: 4px; margin-top: -2px; border: solid var(--nui-accent-foreground); border-width: 0 0 2px 2px; transform: rotate(-45deg); }

/* 36. Avatar, rozet, kart ve boş durum takma adları: tüketicilerde kullanılan eşdeğer sınıflar ortak görünüme bağlanır. */
.nui-avatar-sm { width: 24px; height: 24px; font-size: 9px; }
.nui-avatar-more { display: inline-grid; flex-shrink: 0; place-items: center; width: 32px; height: 32px; margin-left: -8px; box-sizing: border-box; border: 2px solid var(--nui-raised); border-radius: 50%; background: var(--nui-raised-hover); color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); font-weight: 700; }
.nui-badge-muted { background: color-mix(in srgb, var(--nui-raised-hover) 85%, transparent); color: var(--nui-text-muted); border-color: var(--nui-border); }
.nui-card-subtitle { margin: 0; color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); line-height: 1.4; }
.nui-card-body { min-width: 0; padding: var(--nui-card-padding); }
.nui-card:not(.nui-card-structured) > .nui-card-body { padding: 0; }
.nui-empty-desc { max-width: 320px; margin: 0; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); line-height: 1.45; }
.nui-skeleton-circle { border-radius: 50%; }
.nui-skeleton-text { height: 10px; border-radius: 4px; }
.nui-dropzone-icon, .nui-dropzone > svg.lucide { width: 22px; height: 22px; margin-bottom: 4px; color: var(--nui-text-faint); }
.nui-dropzone strong { color: var(--nui-text); font-size: var(--nui-font-size-sm); }
.nui-dropzone > span { font-size: var(--nui-font-size-xs); }

/* 37. Carousel noktaları: .nui-carousel-dots kabı varsa çekirdek doldurur. */
.nui-carousel-dots { position: absolute; right: 0; bottom: 8px; left: 0; z-index: 2; display: flex; justify-content: center; gap: 5px; pointer-events: none; }
.nui-carousel-dot { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 99px; background: color-mix(in srgb, var(--nui-text) 25%, transparent); cursor: pointer; pointer-events: auto; transition: width .2s ease, background .2s ease; }
.nui-carousel-dot[aria-current="true"] { width: 16px; background: var(--nui-text); }
.nui-carousel-dot:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 2px; }

/* 38. Toast yükleme durumu ve kapatma ikonu. */
.nui-dialog-close svg.lucide { width: 14px; height: 14px; }
.nui-dialog-input-field { display: grid; gap: 4px; color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); }
.nui-dialog-input-field .nui-input { width: 100%; max-width: none; }
@media (prefers-reduced-motion: reduce) {
	.nui-button:is(.is-loading, [aria-busy="true"])::before, .nui-toast-loading .nui-toast-icon svg.lucide { animation-duration: 2.4s; }
	.nui-dialog-portal.is-closing, .nui-carousel-dot, .nui-tabs-trigger, .nui-question-indicator { animation: none; transition: none; }
}

/* 39. Geçersiz alan: .is-invalid veya aria-invalid="true" (FormSummary ve tarih girişi bunu yazar); renk tek başına değil .nui-field-error metniyle birlikte kullanılır.
   Kabuk seçicisi .nui-shell input:not(checkbox):not(radio) özgüllüğünü (0,3,1) geçmek için aynı :not() zincirini taşır; aksi halde kabuk içinde kırmızı çerçeve görünmez. */
:is(.nui-input, .nui-select, .nui-textarea, .nui-otp-slot):is(.is-invalid, [aria-invalid="true"]), .nui-shell :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):is(.is-invalid, [aria-invalid="true"]) { border-color: var(--nui-danger); }
:is(.nui-input, .nui-select, .nui-textarea, .nui-otp-slot):is(.is-invalid, [aria-invalid="true"]):focus, .nui-shell :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):is(.is-invalid, [aria-invalid="true"]):focus { border-color: var(--nui-danger); box-shadow: 0 0 0 2px color-mix(in srgb, var(--nui-danger) 22%, transparent); }
.nui-input-group:has(> :is(.is-invalid, [aria-invalid="true"]), > .nui-clearable-input > :is(.is-invalid, [aria-invalid="true"])) > .nui-input-addon { border-color: var(--nui-danger); color: var(--nui-danger-fg); }

/* 40. Kabuk dışına (body) taşınan pencere ve overlay'ler de kabukla aynı yazı, kutu modeli ve kaydırma çubuğunu kullanır. */
:is(body > .nui-window, .nui-dialog-portal, .nui-sheet, .nui-popover-portal, .nui-dropdown-portal, .nui-context-menu, .nui-command-overlay, .nui-combobox-portal, .nui-date-picker-popover, .nui-time-picker-popover, .nui-toast-container, .nui-window-dock) { font-family: var(--nui-font-sans); font-size: var(--nui-font-size-base); line-height: 1.35; color: var(--nui-text); }
:is(body > .nui-window, .nui-dialog-portal, .nui-sheet, .nui-popover-portal, .nui-dropdown-portal, .nui-context-menu, .nui-command-overlay, .nui-combobox-portal, .nui-date-picker-popover, .nui-time-picker-popover, .nui-window-dock), :is(body > .nui-window, .nui-dialog-portal, .nui-sheet, .nui-popover-portal, .nui-dropdown-portal, .nui-context-menu, .nui-command-overlay, .nui-combobox-portal, .nui-date-picker-popover, .nui-time-picker-popover) * { box-sizing: border-box; scrollbar-color: var(--nui-scrollbar-thumb) var(--nui-scrollbar-track); }
:where(body > .nui-window, .nui-sheet, .nui-dialog-portal, .nui-popover-portal) :where(button, input, select, textarea) { font: inherit; }
:is(body > .nui-window, .nui-sheet, .nui-dialog-portal, .nui-popover-portal) *::-webkit-scrollbar { width: 8px; height: 8px; }
:is(body > .nui-window, .nui-sheet, .nui-dialog-portal, .nui-popover-portal) *::-webkit-scrollbar-track { background: var(--nui-scrollbar-track); }
:is(body > .nui-window, .nui-sheet, .nui-dialog-portal, .nui-popover-portal) *::-webkit-scrollbar-thumb { border: 2px solid var(--nui-scrollbar-track); border-radius: 8px; background: var(--nui-scrollbar-thumb); }
.nui-console-box { font-size: var(--nui-font-size-sm); line-height: 1.5; }
a.nui-button, a.nui-button:hover { text-decoration: none; }

/* 41. Tipografi ölçeği: sayfa içi başlık ve metin hiyerarşisi tek ölçekten gelir. */
.nui-h1, .nui-h2, .nui-h3, .nui-h4 { margin: 0; color: var(--nui-text); font-weight: 700; letter-spacing: -.01em; }
.nui-h1 { font-size: 22px; line-height: 1.25; letter-spacing: -.02em; }
.nui-h2 { font-size: 18px; line-height: 1.3; }
.nui-h3 { font-size: calc(var(--nui-font-size-base) + 2px); line-height: 1.35; }
.nui-h4 { font-size: var(--nui-font-size-base); line-height: 1.4; }
.nui-lead { margin: 0; color: var(--nui-text-muted); font-size: calc(var(--nui-font-size-base) + 1px); line-height: 1.55; }
.nui-text-sm { font-size: var(--nui-font-size-sm); }
.nui-text-xs { font-size: var(--nui-font-size-xs); }
.nui-text-muted { color: var(--nui-text-muted); }
.nui-text-faint { color: var(--nui-text-faint); }
.nui-text-success { color: var(--nui-success-fg); }
.nui-text-warning { color: var(--nui-warning-fg); }
.nui-text-danger { color: var(--nui-danger-fg); }
.nui-text-info { color: var(--nui-info-fg); }

.nui-tabular { font-variant-numeric: tabular-nums; }
.nui-code { padding: 1px 5px; border: 1px solid var(--nui-border); border-radius: 4px; background: var(--nui-input); color: var(--nui-text); font-family: var(--nui-font-mono); font-size: .92em; }

/* 42. Item: liste/ızgara satırı; medya, metin, meta ve eylem bölgeleri sabit hizada kalır. Bağlantı veya düğme olarak kullanılabilir. */
.nui-item { display: flex; align-items: center; gap: var(--nui-gap-3); min-width: 0; width: 100%; padding: 10px 12px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius); background: var(--nui-raised); color: var(--nui-text); text-align: start; text-decoration: none; font: inherit; }
:is(a, button).nui-item { cursor: pointer; transition: background .12s, border-color .12s; }
:is(a, button).nui-item:hover, .nui-item.is-active { border-color: var(--nui-border-strong); background: var(--nui-raised-hover); }
.nui-item-media { display: grid; flex: 0 0 auto; place-items: center; width: 32px; height: 32px; border-radius: var(--nui-radius-sm); background: var(--nui-raised-hover); color: var(--nui-text-muted); }
.nui-item-media svg.lucide { width: 16px; height: 16px; }
.nui-item-content { display: grid; flex: 1 1 auto; gap: 2px; min-width: 0; }
.nui-item-title { overflow: hidden; color: var(--nui-text); font-size: var(--nui-font-size-base); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.nui-item-description { color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); }
.nui-item-actions { display: flex; flex: 0 0 auto; align-items: center; gap: var(--nui-gap-2); margin-inline-start: auto; }
.nui-item-group { display: grid; gap: 0; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: var(--nui-raised); overflow: hidden; }
.nui-item-group > .nui-item { border: 0; border-bottom: 1px solid var(--nui-border); border-radius: 0; background: transparent; }
.nui-item-group > .nui-item:last-child { border-bottom: 0; }
.nui-item-sm { gap: var(--nui-gap-2); padding: 6px 10px; }

/* 43. Pencere düzen varyantları ve küçültme dock'u. */
/* flush: başlık, gövde ve footer kenara oturur; içerik boşluğu yalnız gövdededir. */
.nui-window.nui-window-flush { padding: 0; }
.nui-window.nui-window-flush > .nui-window-header { margin: 0; border-radius: calc(var(--nui-radius-lg) - 1px) calc(var(--nui-radius-lg) - 1px) 0 0; }
.nui-window.nui-window-flush > .nui-window-body { margin: 0; padding: var(--nui-gap-3); }
.nui-window.nui-window-flush > .nui-window-footer { margin: 0; padding: 10px 12px; border-radius: 0 0 calc(var(--nui-radius-lg) - 1px) calc(var(--nui-radius-lg) - 1px); background: color-mix(in srgb, var(--nui-raised-hover) 45%, var(--nui-raised)); }
/* fill: editör, tablo veya split-pane gövdeyi tam yükseklikte doldurur; kaydırma iç bileşene aittir. */
.nui-window > .nui-window-body.nui-window-body-fill { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; margin-right: 0; padding-right: 0; overflow: hidden; }
.nui-window.nui-window-flush > .nui-window-body.nui-window-body-fill { padding: 0; }
/* bare (nuiWindow bodyPadding: false): gövde kenardan kenara; dolgu ve ızgara boşluğu yok, kaydırma korunur. İçerik kendi dolgusunu taşır. */
:is(.nui-window, .nui-detail-surface) > .nui-window-body.nui-window-body-bare { margin: 0; padding: 0; gap: 0; }
/* Ayrıntı yüzeyinde (aside.nui-detail-surface) de fill: tek iç alan (iframe, editör) gövdeyi tam doldurur, kaydırma iç bileşene aittir. */
.nui-detail-surface > .nui-window-body.nui-window-body-fill { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; padding: 0; overflow: hidden; }
.nui-detail-surface > .nui-window-body-fill > :only-child { flex: 1 1 auto; min-height: 0; }
/* Alt çubuk yuvası ([data-nui-window-footer]) altlıkta sağa yaslı esnek satırdır; margin-inline-end:auto taşıyan not sola yaslanır, dar ekranda sarar. */
.nui-window-footer > [data-nui-window-footer] { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--nui-gap-2); min-width: 0; }
.nui-window-body-fill > :only-child, .nui-window-body-fill > .nui-fill-y { flex: 1 1 auto; min-height: 0; }
.nui-window-dock { position: fixed; bottom: 12px; left: 50%; z-index: calc(var(--nui-layer-window) + 900); display: flex; gap: 4px; max-width: calc(100vw - 24px); padding: 4px; overflow-x: auto; border: 1px solid var(--nui-border); border-radius: calc(var(--nui-radius) + 2px); background: color-mix(in srgb, var(--nui-raised) 96%, transparent); box-shadow: 0 12px 30px var(--nui-shadow); transform: translateX(-50%); animation: nui-fade-in .15s ease; }
.nui-window-dock-item { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; max-width: 200px; min-height: 28px; padding: 3px 10px; border: 1px solid transparent; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text-muted); cursor: pointer; font: inherit; font-size: var(--nui-font-size-sm); }
.nui-window-dock-item:hover { border-color: var(--nui-border); background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-window-dock-item:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 1px; }
.nui-window-dock-item > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nui-window-dock-item svg.lucide { flex: 0 0 auto; width: 14px; height: 14px; }
@media (pointer: coarse) { .nui-window-dock-item { min-height: 44px; } }

/* 44. Daraltılabilir split pane: sol panel ince şeride iner, yalnız data-nui-split-keep çocukları kalır. */
.nui-split-pane.is-collapsed { grid-template-columns: var(--nui-split-collapsed-size, 44px) minmax(0, 1fr); column-gap: 0; }
.nui-split-pane.is-collapsed > .nui-split-divider { display: none; }
.nui-split-pane.is-collapsed > :first-child { padding-right: 6px; padding-left: 6px; overflow: hidden; }
.nui-split-pane.is-collapsed > :first-child > [data-nui-split-keep] { flex-direction: column; justify-content: flex-start; align-items: center; }
.nui-split-pane.is-collapsed > :first-child > :not([data-nui-split-keep]):not(.nui-split-divider) { display: none; }
.nui-split-pane:not(.is-collapsed) [data-nui-split-collapsed-only] { display: none; }
.nui-split-pane > .nui-split-divider[aria-expanded] { cursor: col-resize; }
[data-nui-split-toggle] svg.lucide { transition: transform .15s ease; }
.nui-split-pane.is-collapsed [data-nui-split-toggle] svg.lucide { transform: scaleX(-1); }
@media (max-width: 640px) { .nui-split-pane.is-collapsed > :first-child { width: 100%; min-height: 0; } }
/* Mobil liste-ayrıntı (nui-split-detail): dar ekranda liste ve ayrıntı ayrı görünümdür; geri düğmesi yalnız orada görünür. */
.nui-split-back { display: none; }
@media (max-width: 640px) {
	.nui-split-pane[data-nui-split-detail]:not(.is-detail-open) > .nui-split-secondary, .nui-split-pane[data-nui-split-detail].is-detail-open > .nui-split-primary { display: none; }
	/* Ayrıntı paneli yatay flex olabilir (ör. .nui-detail-workspace); açıkken dikey dizilir ki geri düğmesi üstte, içerik tam genişlikte kalsın. */
	.nui-split-pane[data-nui-split-detail].is-detail-open > .nui-split-secondary { display: flex; flex-direction: column; }
	.nui-split-pane[data-nui-split-detail].is-detail-open > .nui-split-secondary > :not(.nui-split-back) { min-width: 0; }
	.nui-split-pane[data-nui-split-detail].is-detail-open > .nui-split-secondary > .nui-split-back { display: inline-flex; flex: 0 0 auto; align-self: flex-start; margin: 0 0 8px; }
}

/* 45. Takvim kısıtları, aralık seçimi, hazır aralıklar ve saat kolonları. */
.nui-calendar-weekday.is-weekend, .nui-calendar-day.is-weekend:not(.is-selected):not(.is-range-start):not(.is-range-end):not(.is-outside) { color: var(--nui-text-muted); }
.nui-calendar-day.is-disabled { opacity: .32; text-decoration: line-through; cursor: not-allowed; }
.nui-calendar-nav-btn:disabled, .nui-calendar-today:disabled { opacity: .35; cursor: not-allowed; }
.nui-calendar-nav-btn:disabled:hover { background: transparent; color: var(--nui-text-muted); }
/* Aralık bandı kesintisiz görünsün diye kolon boşluğu sıfırlanır; uç günler ana renkle kalır. */
.nui-calendar.is-range .nui-calendar-grid { column-gap: 0; }
.nui-calendar-day.is-in-range, .nui-calendar-day.is-range-preview { border-radius: 0; background: var(--nui-accent-fill); color: var(--nui-text); }
.nui-calendar-day.is-range-start, .nui-calendar-day.is-range-end { background: var(--nui-primary); color: var(--nui-primary-foreground); font-weight: 700; }
.nui-calendar-day.is-range-start { border-radius: var(--nui-radius-sm) 0 0 var(--nui-radius-sm); }
.nui-calendar-day.is-range-end { border-radius: 0 var(--nui-radius-sm) var(--nui-radius-sm) 0; }
.nui-calendar-day.is-range-start.is-range-end, .nui-calendar-day.is-range-start:not(:has(~ .is-in-range, ~ .is-range-end, ~ .is-range-preview)) { border-radius: var(--nui-radius-sm); }
.nui-calendar-day.is-range-start:hover, .nui-calendar-day.is-range-end:hover { background: var(--nui-primary-hover); }
.nui-date-picker-popover .nui-calendar { border: 0; padding: 6px; background: transparent; }
.nui-date-picker-layout { display: flex; align-items: stretch; gap: 4px; }
.nui-date-presets { display: flex; flex-direction: column; gap: 2px; min-width: 116px; padding: 6px 6px 6px 2px; border-right: 1px solid var(--nui-border); }
.nui-date-preset { padding: 6px 8px; border: 0; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text-muted); cursor: pointer; font: inherit; font-size: var(--nui-font-size-sm); text-align: start; white-space: nowrap; }
.nui-date-preset:hover, .nui-date-preset:focus-visible { background: var(--nui-raised-hover); color: var(--nui-text); outline: none; }
@media (max-width: 520px) { .nui-date-picker-layout { flex-direction: column; } .nui-date-presets { flex-direction: row; flex-wrap: wrap; min-width: 0; padding: 4px 4px 6px; border-right: 0; border-bottom: 1px solid var(--nui-border); } }
.nui-time-picker-popover { padding: 6px; }
.nui-time-picker-head, .nui-time-picker-columns { display: grid; grid-template-columns: repeat(2, 58px); gap: 4px; }
.nui-time-picker-head span { padding: 2px 0 4px; color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); font-weight: 700; letter-spacing: .05em; text-align: center; text-transform: uppercase; }
.nui-time-column { display: flex; flex-direction: column; gap: 1px; height: 196px; padding: 2px; overflow-y: auto; border-radius: var(--nui-radius-sm); background: color-mix(in srgb, var(--nui-input) 60%, transparent); scrollbar-width: thin; }
.nui-time-column:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: -1px; }
.nui-time-option { display: grid; flex: 0 0 28px; place-items: center; border-radius: var(--nui-radius-sm); color: var(--nui-text); cursor: pointer; font-size: var(--nui-font-size-sm); font-variant-numeric: tabular-nums; user-select: none; }
.nui-time-option:hover { background: var(--nui-raised-hover); }
.nui-time-option.is-selected { background: var(--nui-primary); color: var(--nui-primary-foreground); font-weight: 700; }
.nui-time-picker-footer { display: flex; justify-content: space-between; gap: 6px; margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--nui-border); }
@media (pointer: coarse) { .nui-time-option { flex-basis: 40px; } .nui-date-preset { min-height: 40px; } }

/* 46. Otomatik ızgara ve KPI kartı: dashboard göstergeleri ek CSS gerektirmeden yan yana dizilir. */
.nui-grid-auto { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--nui-grid-min, 220px)), 1fr)); gap: var(--nui-gap-3); }
/* Düzen yardımcıları: satır içi style yerine. nui-stack = alt alta, nui-cluster = yan yana ve sığmazsa alt satıra; aralık yoğunluk
   tokenlarından gelir (kompaktta kendiliğinden sıkılaşır). nui-gap-1…4 aralığı değiştirir; nui-grow kalan alanı doldurur. */
.nui-grid-auto-sm { --nui-grid-min: 200px; }
.nui-grid-auto-md { --nui-grid-min: 260px; }
.nui-grid-auto-lg { --nui-grid-min: 300px; }
.nui-stack { display: flex; flex-direction: column; gap: var(--nui-gap-2); min-width: 0; }
.nui-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--nui-gap-2); min-width: 0; }
.nui-cluster-between { justify-content: space-between; }
.nui-cluster-end { justify-content: flex-end; }
.nui-gap-1 { gap: var(--nui-gap-1); }
.nui-gap-2 { gap: var(--nui-gap-2); }
.nui-gap-3 { gap: var(--nui-gap-3); }
.nui-gap-4 { gap: var(--nui-gap-4); }
.nui-grow { flex: 1 1 auto; min-width: 0; }
.nui-cluster-inline { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--nui-gap-2); min-width: 0; }
.nui-cluster > .nui-separator-vertical, .nui-cluster-inline > .nui-separator-vertical { align-self: center; height: 1em; }
/* Ölçü yardımcıları (sabit ölçek; rastgele px yerine): genişlik sınırı, yükseklik sınırı/alt sınırı ve grafik kabı yüksekliği. */
.nui-maxw-sm { max-width: 240px; }
.nui-maxw-md { max-width: 320px; }
.nui-maxw-lg { max-width: 480px; }
.nui-maxw-xl { max-width: 680px; }
.nui-maxh-sm { max-height: 160px; }
.nui-maxh-md { max-height: 280px; }
.nui-maxh-lg { max-height: 440px; }
.nui-minh-sm { min-height: 140px; }
.nui-minh-md { min-height: 180px; }
.nui-chart-sm { height: 150px; }
.nui-chart-md { height: 190px; }
.nui-chart-lg { height: 248px; }
/* Boşluk, yazı ve kenarlık yardımcıları. */
.nui-m-0 { margin: 0; }
.nui-mt-1 { margin-top: var(--nui-gap-1); }
.nui-mt-2 { margin-top: var(--nui-gap-2); }
.nui-mt-3 { margin-top: var(--nui-gap-3); }
.nui-mt-4 { margin-top: var(--nui-gap-4); }
.nui-ms-auto { margin-inline-start: auto; }
.nui-me-auto { margin-inline-end: auto; }
/* Dolgu yardımcıları (gap ölçeğiyle): dolgusuz pencere gövdesi (bodyPadding: false) gibi yerlerde içerik kendi dolgusunu satır içi style olmadan taşır. */
.nui-p-0 { padding: 0; }
.nui-p-1 { padding: var(--nui-gap-1); }
.nui-p-2 { padding: var(--nui-gap-2); }
.nui-p-3 { padding: var(--nui-gap-3); }
.nui-p-4 { padding: var(--nui-gap-4); }
.nui-font-medium { font-weight: 500; }
.nui-font-semibold { font-weight: 600; }
.nui-text-default { color: var(--nui-text); }
.nui-leading-relaxed { line-height: 1.7; }
.nui-bordered { border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); }
.nui-kpi { --nui-kpi-accent: var(--nui-accent); position: relative; display: grid; align-content: space-between; gap: 8px; min-width: 0; min-height: 132px; padding: var(--nui-card-padding) var(--nui-card-padding) 0; overflow: hidden; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-lg); background: var(--nui-raised); color: var(--nui-text); }
.nui-kpi:not(:has(.nui-kpi-spark)) { padding-bottom: var(--nui-card-padding); }
.nui-kpi-success { --nui-kpi-accent: var(--nui-success); }
.nui-kpi-warning { --nui-kpi-accent: var(--nui-warning); }
.nui-kpi-danger { --nui-kpi-accent: var(--nui-danger); }
.nui-kpi-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.nui-kpi-label { color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); font-weight: 500; line-height: 1.3; }
.nui-kpi-icon { display: grid; flex: 0 0 28px; place-items: center; width: 28px; height: 28px; border-radius: var(--nui-radius-sm); background: color-mix(in srgb, var(--nui-kpi-accent) 14%, transparent); color: var(--nui-kpi-accent); }
.nui-kpi-icon svg.lucide { width: 15px; height: 15px; }
.nui-kpi-value { color: var(--nui-text); font-size: 26px; font-weight: 750; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.nui-kpi-value small { margin-left: 4px; color: var(--nui-text-faint); font-size: var(--nui-font-size-sm); font-weight: 500; letter-spacing: 0; }
.nui-kpi-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-height: 20px; color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); }
.nui-kpi-trend { display: inline-flex; align-items: center; gap: 3px; padding: 1px 6px; border-radius: 999px; font-size: var(--nui-font-size-xs); font-weight: 700; font-variant-numeric: tabular-nums; }
.nui-kpi-trend.is-up { background: var(--nui-success-fill); color: var(--nui-success-fg); }
.nui-kpi-trend.is-down { background: var(--nui-danger-fill); color: var(--nui-danger-fg); }
.nui-kpi-trend.is-flat { background: var(--nui-raised-hover); color: var(--nui-text-muted); }
.nui-kpi-trend svg.lucide { width: 12px; height: 12px; }
/* Mini grafik kart tabanına oturur; etkileşim ve eksen taşımaz, yalnız eğilimi gösterir. */
.nui-kpi-spark { height: 36px; margin: 2px calc(var(--nui-card-padding) * -1) 0; pointer-events: none; }
.nui-kpi-spark .nui-chart-container { height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; }
.nui-card-chart > .nui-chart-container { height: 100%; padding: 0; border: 0; background: transparent; }

/* 47. Dashboard ızgarası sabit yükseklikte kayar; overflow:hidden kartlar (ör. .nui-card-structured) içerik yüksekliğinden küçülüp ezilmez. */
.nui-dashboard { grid-auto-rows: max-content; }
/* Dar ekranda satır kırmak yerine tablo kendi kabında yatay kayar. */
.nui-table-nowrap :is(th, td) { white-space: nowrap; }

/* 48. Programatik odak alan sheet/pencere kabının kendisi halka çizmez; içindeki kontroller normal odak görünümünü korur. */
.nui-sheet:focus, .nui-window[tabindex="-1"]:focus, .nui-dialog-portal:focus { outline: none; }

/* 49. Sheet mobil davranışı: alt sheet boyut kademeleri, sürüklerken geçişsiz takip, güvenli alan ve dokunma yönleri. */
.nui-sheet-bottom { padding-bottom: env(safe-area-inset-bottom, 0px); transition: transform .26s cubic-bezier(.1, .76, .55, .94), height .26s cubic-bezier(.1, .76, .55, .94); }
.nui-sheet-bottom.nui-sheet-size-quarter { height: min(32dvh, 360px); min-height: 0; }
.nui-sheet-bottom.nui-sheet-size-half { height: min(55dvh, 760px); }
.nui-sheet-bottom.nui-sheet-size-full { --nui-sheet-top-gap: 12px; height: calc(100dvh - var(--nui-sheet-top-gap)); max-height: none; }
.nui-sheet-bottom:not(.nui-sheet-size-auto) .nui-sheet-body { flex: 1 1 auto; }
.nui-sheet.is-dragging, .nui-sheet.is-dragging * { user-select: none; }
.nui-sheet-overlay { transition: opacity .24s cubic-bezier(.1, .76, .55, .94); }
.nui-sheet-body { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.nui-sheet-left, .nui-sheet-right, .nui-sheet-top { touch-action: pan-y; }
:is(.nui-sheet-bottom, .nui-sheet-top) > .nui-sheet-header { touch-action: none; cursor: grab; }
:is(.nui-sheet-bottom, .nui-sheet-top) > .nui-sheet-header :is(button, a, input) { cursor: pointer; }
.nui-sheet-top { padding-top: env(safe-area-inset-top, 0px); border-radius: 0 0 calc(var(--nui-radius) + 6px) calc(var(--nui-radius) + 6px); }
.nui-sheet-right { padding-right: env(safe-area-inset-right, 0px); }
.nui-sheet-left { padding-left: env(safe-area-inset-left, 0px); }
@media (max-width: 640px) {
	.nui-sheet-left, .nui-sheet-right { width: min(440px, calc(100vw - 40px)); }
	.nui-sheet-bottom { border-radius: 18px 18px 0 0; }
	.nui-sheet-bottom.nui-sheet-size-full { --nui-sheet-top-gap: calc(8px + env(safe-area-inset-top, 0px)); }
	.nui-sheet-footer { padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
	.nui-sheet-bottom .nui-sheet-footer { padding-bottom: 12px; }
	.nui-sheet-footer .nui-button { flex: 1 1 0; min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) { .nui-sheet, .nui-sheet-bottom, .nui-sheet-overlay { transition: none; } }
/* Kayan sheet gövdesinde çocuklar (overflow:hidden liste/kart dahil) küçülmez; kaydırma gövdenin işidir. */
.nui-sheet-body > * { flex-shrink: 0; }

/* 50. Menubar kabı ve menü öğesi içerik hizası (ikon, metin, kısayol). */
.nui-menubar { width: fit-content; max-width: 100%; padding: 3px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-raised); }
.nui-menubar-item > button { min-height: var(--nui-control-height-sm); padding: 3px var(--nui-control-padding-x); font-size: var(--nui-control-font-size); }
:is(.nui-menubar-content, .nui-menu-submenu-content) button { display: flex; align-items: center; gap: 8px; font-size: var(--nui-control-font-size); }
:is(.nui-menubar-content, .nui-menu-submenu-content) button svg.lucide { width: 14px; height: 14px; color: var(--nui-text-faint); }
:is(.nui-menubar-content, .nui-menu-submenu-content) .nui-dropdown-shortcut { margin-inline-start: auto; padding-left: 16px; }
:is(.nui-menubar-content, .nui-menu-submenu-content) .nui-dropdown-separator { margin: 3px 0; }
.nui-menu-submenu.is-open > [data-nui-submenu-trigger] { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-menu-submenu > [data-nui-submenu-trigger]::after { margin-inline-start: auto; padding-left: 18px; float: none; }
/* Menü listeleri tek görünüm (1.9.7): üst çubuk menüsü, menubar ve alt menü öğeleri .nui-dropdown-item ile aynıdır — net metin rengi,
   ikon + metin + kısayol hizası, kırmızı yıkıcı öğe, çizgi ayırıcı. Önceden soluk (muted) metinli, ikonsuz düz bağlantılardı. */
:is(.nui-shell .nui-topbar-menu-dropdown, .nui-menubar-content, .nui-menu-submenu-content) { padding: 4px; border-color: var(--nui-border-strong); border-radius: var(--nui-radius-sm); }
.nui-shell .nui-topbar-menu-item.is-open .nui-topbar-menu-dropdown { display: grid; gap: 2px; min-width: 200px; }
:is(.nui-shell .nui-topbar-menu-dropdown, .nui-menubar-content, .nui-menu-submenu-content) :is(a, button) { display: flex; align-items: center; gap: 8px; width: 100%; padding: 6px 8px; border: 0; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text); font: inherit; font-size: var(--nui-control-font-size); line-height: 1.35; text-align: left; text-decoration: none; cursor: pointer; }
:is(.nui-shell .nui-topbar-menu-dropdown, .nui-menubar-content, .nui-menu-submenu-content) :is(a, button):is(:hover, :focus-visible) { background: var(--nui-raised-hover); color: var(--nui-text); outline: none; }
:is(.nui-shell .nui-topbar-menu-dropdown, .nui-menubar-content, .nui-menu-submenu-content) :is(a, button) svg.lucide { flex: 0 0 auto; width: 14px; height: 14px; color: var(--nui-text-faint); }
:is(.nui-shell .nui-topbar-menu-dropdown, .nui-menubar-content, .nui-menu-submenu-content) :is(a, button):is(.is-danger, .nui-text-danger), :is(.nui-shell .nui-topbar-menu-dropdown, .nui-menubar-content, .nui-menu-submenu-content) :is(a, button):is(.is-danger, .nui-text-danger) svg.lucide { color: var(--nui-danger); }
:is(.nui-shell .nui-topbar-menu-dropdown, .nui-menubar-content, .nui-menu-submenu-content) :is(a, button):is(.is-danger, .nui-text-danger):hover { background: color-mix(in srgb, var(--nui-danger) 14%, var(--nui-raised)); }
:is(.nui-shell .nui-topbar-menu-dropdown, .nui-menubar-content, .nui-menu-submenu-content) > hr { width: 100%; height: 1px; margin: 3px 0; border: 0; background: var(--nui-border); }
.nui-shell .nui-topbar-menu-dropdown .nui-dropdown-shortcut { margin-inline-start: auto; padding-left: 16px; }

/* 51. Sağdan sola (dir="rtl") düzeltmeleri: yönlü dönüşümler ve oklar aynalanır; soldan sağa görünüm değişmez. */
[dir="rtl"] :is(.nui-switch.is-checked, .nui-switch[aria-checked="true"]) .nui-switch-thumb { transform: translateX(-18px); }
[dir="rtl"] .nui-theme-switch[aria-checked="true"] .nui-switch-thumb { transform: translateX(-16px); }
[dir="rtl"] .nui-slider-thumb { transform: translate(50%, 0); }
[dir="rtl"] .nui-calendar-nav-btn { transform: scaleX(-1); }
[dir="rtl"] .nui-tree-toggle:not(.is-expanded) .nui-tree-chevron { margin: 0 -2px 0 0; transform: rotate(135deg); }
[dir="rtl"] .nui-menu-submenu-content { right: calc(100% + 4px); left: auto; }
[dir="rtl"] .nui-menu-submenu-content.is-flipped { right: auto; left: calc(100% + 4px); }
[dir="rtl"] .nui-menu-submenu > [data-nui-submenu-trigger]::after { content: '‹'; }
[dir="rtl"] :is(.nui-alert:is(.nui-alert-info, .nui-alert-success, .nui-alert-warning, .nui-alert-critical, .nui-alert-danger)) { border-left-width: 1px; border-right: 3px solid var(--nui-alert-accent); }
[dir="rtl"] .nui-kpi-spark, [dir="rtl"] .nui-carousel-track { direction: ltr; }

/* 52. Tema ve yerel kontroller: koyu temada tarayıcının çizdiği kaydırma çubuğu, select listesi, range ve onay kutusu da koyu olur.
   Yalnız tema sınıfı taşıyan kapsayıcıya bağlanır; sınıfsız sayfanın yerel kontrolleri değişmez. */
.nui-theme-dark { color-scheme: dark; }
.nui-theme-light { color-scheme: light; }
.nui-shell :is(input[type="checkbox"], input[type="radio"], input[type="range"], progress), input[type="checkbox"].nui-checkbox { accent-color: var(--nui-accent); }
/* .nui-radio iki biçimde kullanılır: nui-radio direktifinin çizdiği daire ve yerel radyoyu saran label. Label biçimi daire kuralından korunur. */
label.nui-radio { position: static; display: inline-flex; place-items: normal; width: auto; height: auto; border: 0; border-radius: 0; background: transparent; }

/* 53. Accordion ve Collapsible: iç içe kullanımda yalnız kendi öğesi açılır; açılışta kısa geçiş, chevron yön gösterir, pasif öğe soluk. */
.nui-accordion-item:not(.is-open) > .nui-accordion-content, .nui-collapsible:not(.is-open) > .nui-collapsible-content { display: none; }
.nui-accordion-item:not(.is-open) > .nui-accordion-trigger .nui-accordion-icon { transform: none; }
.nui-accordion-item.is-open > .nui-accordion-content, .nui-collapsible.is-open > .nui-collapsible-content { animation: nui-disclosure-in .16s ease-out; }
.nui-accordion-content > :first-child { margin-top: 0; }.nui-accordion-content > :last-child { margin-bottom: 0; }
.nui-accordion-item.is-disabled > .nui-accordion-trigger, .nui-accordion .nui-accordion-trigger:disabled { opacity: .55; cursor: default; background: transparent; }
.nui-collapsible-trigger > :is(.nui-collapsible-icon, svg[data-lucide="chevron-down"]) { flex-shrink: 0; transition: transform .2s ease; }
.nui-collapsible-trigger[aria-expanded="true"] > :is(.nui-collapsible-icon, svg[data-lucide="chevron-down"]) { transform: rotate(180deg); }
@keyframes nui-disclosure-in { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .nui-accordion-item.is-open > .nui-accordion-content, .nui-collapsible.is-open > .nui-collapsible-content { animation: none; } .nui-collapsible-trigger > svg { transition: none; } }

/* 54. Progress: boyut, ton ve belirsiz (süresi bilinmeyen) durum. Belirsiz durumda aria-valuenow yazılmaz. */
.nui-progress-sm { height: 4px; }.nui-progress-lg { height: 12px; }
.nui-progress-success .nui-progress-fill { background: var(--nui-success); }.nui-progress-warning .nui-progress-fill { background: var(--nui-warning); }.nui-progress-danger .nui-progress-fill { background: var(--nui-danger); }
.nui-progress-indeterminate > :is(.nui-progress-indicator, .nui-progress-fill) { width: 40% !important; animation: nui-progress-indeterminate 1.3s ease-in-out infinite; }
[dir="rtl"] .nui-progress-indeterminate > :is(.nui-progress-indicator, .nui-progress-fill) { animation-name: nui-progress-indeterminate-rtl; }
@keyframes nui-progress-indeterminate { from { transform: translateX(-100%); } to { transform: translateX(250%); } }
@keyframes nui-progress-indeterminate-rtl { from { transform: translateX(100%); } to { transform: translateX(-250%); } }
@media (prefers-reduced-motion: reduce) { .nui-progress-indeterminate > :is(.nui-progress-indicator, .nui-progress-fill) { width: 100% !important; animation: none; opacity: .45; } }

/* 55. Mesaj: baloncuk metni kadar genişler (form alanı gibi tüm satıra yayılmaz); başlıkta saat ada bitişiktir, giden mesaj sağa yaslanır. */
.nui-message-content { align-items: flex-start; }
.nui-message-outgoing .nui-message-content { align-items: flex-end; }
.nui-message-content > .nui-bubble { max-width: 100%; box-sizing: border-box; }
.nui-message-content > .nui-message-meta time { margin-inline-start: 0; }
.nui-bubble > .nui-message-meta { justify-content: flex-end; margin-top: 3px; }

/* 56. Breadcrumb konum bilgisidir, kontrol grubu değildir: varsayılan çerçevesizdir. Eski kutulu görünüm .nui-breadcrumb-framed ile korunur. */
.nui-breadcrumb { flex-wrap: wrap; padding: 0; border: 0; background: transparent; }
.nui-breadcrumb.nui-breadcrumb-framed { padding: 7px 9px; border: 1px solid var(--nui-border); background: var(--nui-raised); }
.nui-breadcrumb-list { flex-wrap: wrap; }
.nui-breadcrumb :is(a.nui-breadcrumb-item, .nui-breadcrumb-link) { border-radius: 3px; }
.nui-breadcrumb :is(a.nui-breadcrumb-item, .nui-breadcrumb-link):hover { color: var(--nui-text); text-decoration: underline; text-underline-offset: 3px; }
.nui-breadcrumb a:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 2px; }
.nui-breadcrumb [aria-current="page"] { color: var(--nui-text); font-weight: 650; }
.nui-breadcrumb-separator svg { display: block; width: 12px; height: 12px; }

/* 57. Toggle: basılı durum seçili düğmeyle aynı bilgi tonunu kullanır; grup içinde segment görünümü korunur. */
.nui-toggle.is-pressed, .nui-toggle[aria-pressed="true"] { background: var(--nui-accent-fill); border-color: var(--nui-accent-border); color: var(--nui-text); }
.nui-toggle-group .nui-toggle.is-pressed, .nui-toggle-group .nui-toggle[aria-pressed="true"] { color: var(--nui-text); box-shadow: 0 0 0 1px var(--nui-border-strong), 0 1px 3px var(--nui-shadow); }
.nui-toggle:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 1px; }
.nui-toggle:disabled, .nui-toggle[aria-disabled="true"] { opacity: .5; cursor: default; pointer-events: none; }
.nui-toggle svg { flex-shrink: 0; width: 14px; height: 14px; }
.nui-toggle-group[aria-orientation="vertical"], .nui-toggle-group-vertical { flex-direction: column; align-items: stretch; }

/* 58. Separator etiketi ("veya") ve Marker tonları. */
.nui-separator-label { display: flex; align-items: center; gap: 10px; margin: 8px 0; color: var(--nui-text-faint); font-size: var(--nui-font-size-xs); white-space: nowrap; }
.nui-separator-label::before, .nui-separator-label::after { content: ''; flex: 1 1 0; height: 1px; background: var(--nui-border); }
.nui-marker-info { background: color-mix(in srgb, var(--nui-info) 24%, transparent); }.nui-marker-success { background: color-mix(in srgb, var(--nui-success) 24%, transparent); }.nui-marker-danger { background: color-mix(in srgb, var(--nui-danger) 24%, transparent); }

/* 59. Uzun metin kısaltma altyapısı ve breadcrumb katlama.
   .nui-truncate tek satır, .nui-truncate-2 / -3 çok satır, .nui-truncate-middle uzantıyı koruyan orta kısaltmadır; kısaltılmış metin yalnız taştığında ipucu (nui-core) tam metni gösterir.
   Bileşen varsayılanları (--nui-breadcrumb-item-max, --nui-breadcrumb-current-max, --nui-chip-max, --nui-tab-max) kapsayıcıda değiştirilir;
   .nui-truncate-none veya [data-nui-truncate="none"] öğeyi ve içindeki tüm kısaltmaları (bileşen varsayılanları dahil) iptal eder. */
.nui-truncate, .nui-truncate-inline, :where([data-nui-truncate]:not([data-nui-truncate="none"])) { min-width: 0; max-width: var(--nui-truncate-max, 100%); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* text-overflow yalnız blok kapta çalışır: satır içi öğeler inline-block olur (sıfır özgüllük; kendi display kuralı olan öğeye dokunmaz). */
:where(span, a, b, strong, em, small, code, label, time, abbr, mark):where(.nui-truncate, [data-nui-truncate]:not([data-nui-truncate="none"])), .nui-truncate-inline { display: inline-block; vertical-align: bottom; }
.nui-truncate-2, .nui-truncate-3, :where([data-nui-truncate="2"], [data-nui-truncate="3"]) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--nui-truncate-lines, 2); min-width: 0; max-width: var(--nui-truncate-max, 100%); overflow: hidden; white-space: normal; overflow-wrap: anywhere; }
.nui-truncate-3, :where([data-nui-truncate="3"]) { --nui-truncate-lines: 3; }
.nui-truncate-middle { display: inline-flex; min-width: 0; max-width: var(--nui-truncate-max, 100%); overflow: hidden; vertical-align: bottom; white-space: nowrap; }
.nui-truncate-middle > .nui-truncate-start { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: pre; }
.nui-truncate-middle > .nui-truncate-end { flex: 0 0 auto; white-space: pre; }

/* Bileşen varsayılanları: breadcrumb, filtre çipi, sekme başlığı ve pencere başlığı tek satırda kısalır. min(…, 100%) dar kapta da taşmayı önler; değişkene none verilirse sınır kalkar. */
.nui-breadcrumb-item, .nui-breadcrumb-link, .nui-breadcrumb-page { display: inline-block; max-width: min(var(--nui-breadcrumb-item-max, 160px), 100%); overflow: hidden; padding-block: 2px; margin-block: -2px; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.nui-breadcrumb-item[aria-current="page"], .nui-breadcrumb-active, .nui-breadcrumb-page { max-width: min(var(--nui-breadcrumb-current-max, 320px), 100%); }
.nui-breadcrumb-item > svg { margin-inline-end: 6px; vertical-align: -.15em; }
.nui-breadcrumb-item > svg:last-child { margin-inline-end: 0; }
.nui-filter-chip > span { min-width: 0; max-width: var(--nui-chip-max, 240px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nui-tabs-trigger { max-width: var(--nui-tab-max, 220px); }
.nui-workspace-tab-title { max-width: var(--nui-tab-max, 220px); }
.nui-window-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* none: kısaltmayı iptal eder. Öğenin kendisinde üçlü sınıf/öznitelik bileşen varsayılanlarının özgüllüğünü geçer; kapsayıcıda (sınıf veya öznitelik) içindeki tüm kısaltmalar tam metne döner. */
.nui-truncate-none.nui-truncate-none, [data-nui-truncate="none"][data-nui-truncate="none"], :is(.nui-truncate-none, [data-nui-truncate="none"]) :is(.nui-truncate, .nui-truncate-inline, .nui-truncate-2, .nui-truncate-3, [data-nui-truncate], .nui-breadcrumb-item, .nui-breadcrumb-link, .nui-breadcrumb-page, .nui-filter-chip > span, .nui-window-title) { max-width: none; overflow: visible; text-overflow: clip; white-space: normal; -webkit-line-clamp: none; }
/* Orta kısaltma düz akan metne döner (start/end parçaları satır içi, gerekirse alt satıra sarar). */
:is(.nui-truncate-none, [data-nui-truncate="none"]) .nui-truncate-middle, .nui-truncate-middle:is(.nui-truncate-none, [data-nui-truncate="none"]), :is(.nui-truncate-none, [data-nui-truncate="none"]) .nui-truncate-middle > :is(.nui-truncate-start, .nui-truncate-end), .nui-truncate-middle:is(.nui-truncate-none, [data-nui-truncate="none"]) > :is(.nui-truncate-start, .nui-truncate-end) { display: inline; max-width: none; overflow: visible; text-overflow: clip; white-space: pre-wrap; overflow-wrap: anywhere; }
/* Sekmeler tek satır kalır (şerit kayar); yalnız genişlik sınırı ve üç nokta kalkar. */
:is(.nui-truncate-none, [data-nui-truncate="none"]) :is(.nui-workspace-tab, .nui-tabs-trigger, .nui-workspace-tab-title, .nui-tabs-trigger-label) { max-width: none; }
:is(.nui-truncate-none, [data-nui-truncate="none"]) :is(.nui-workspace-tab-title, .nui-tabs-trigger-label) { overflow: visible; text-overflow: clip; white-space: nowrap; }

/* Breadcrumb katlama (nui.attachBreadcrumb): gizli öğeler data-nui-folded + hidden alır; "…" düğmesi mevcut dropdown görünümünde menü açar.
   auto açıkken (.nui-breadcrumb-auto) kap tek satıra sabitlenir ve üst kap daraldıkça orta öğeler katlanır; ölçüm sırasında (.is-measuring) öğeler küçülmez. */
.nui-breadcrumb-list > li { min-width: 0; }
.nui-breadcrumb-list > :is(.nui-breadcrumb-separator, .nui-breadcrumb-ellipsis-item) { flex: 0 0 auto; }
.nui-breadcrumb-list > [data-nui-folded] { display: none; }
.nui-breadcrumb.nui-breadcrumb-auto { display: flex; flex-wrap: nowrap; min-width: 0; max-width: 100%; }
.nui-breadcrumb-auto > .nui-breadcrumb-list { flex: 1 1 auto; flex-wrap: nowrap; min-width: 0; }
.nui-breadcrumb-auto.is-measuring > .nui-breadcrumb-list > li { flex-shrink: 0; }
.nui-breadcrumb-ellipsis-item { display: inline-flex; align-items: center; }
/* Gizli yol düğmesi düz metin gibi değil, küçük bir düğme çipi gibi görünür (kenarlık + zemin); tıklanabilir olduğu ilk bakışta anlaşılır. */
.nui-breadcrumb-ellipsis { display: inline-grid; place-items: center; min-width: 28px; height: 24px; padding: 0 6px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-raised); color: var(--nui-text-muted); font: inherit; line-height: 1; cursor: pointer; }.nui-breadcrumb-ellipsis svg.lucide { width: 16px; height: 16px; }
.nui-breadcrumb-ellipsis:hover, .nui-breadcrumb-ellipsis[aria-expanded="true"] { border-color: var(--nui-border-strong); background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-breadcrumb-ellipsis:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 2px; }
.nui-breadcrumb-menu { min-width: 160px; max-width: min(320px, calc(100vw - 16px)); }
.nui-breadcrumb-menu .nui-dropdown-item > .nui-truncate { flex: 1 1 auto; }

/* Tipografi katmanı: metin boyutu, kalınlık ve rengin son sözü bu bölümdedir (bilerek bileşen kurallarından sonra gelir).
   Gezinme ve menü öğeleri tam metin rengindedir; gri yalnız ikincil bilgide (açıklama, grup başlığı, ikon) kalır. Başlıklar 600
   kalınlıktadır; tema kapsayıcılarında yazı gri tonlu yumuşatılır (macOS'ta koyu zeminde açık metin daha keskin). */
.nui-theme-dark, .nui-theme-light { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
.nui-shell .nui-nav-item { color: var(--nui-text); font-size: var(--nui-font-size-base); }
.nui-shell .nui-nav-item > i:first-child, .nui-shell .nui-nav-item > svg:first-child { color: var(--nui-text-muted); }
/* Uzun etiket ikonu ezmez; etiket satırda kalır ve … ile kısalır. */
.nui-shell .nui-nav-item > i:first-child, .nui-shell .nui-nav-item > svg:first-child { flex-shrink: 0; }
.nui-shell .nui-nav-item > span:not(.nui-chip):not(.nui-badge) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nui-shell .nui-nav-item.is-active { font-weight: 500; }
.nui-shell .nui-nav-section { color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); font-weight: 600; letter-spacing: .05em; }
.nui-shell .nui-topbar-menu-item { color: var(--nui-text); font-size: var(--nui-font-size-base); }
.nui-eyebrow { color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); font-weight: 600; letter-spacing: .06em; }
.nui-page-header h1 { font-weight: 600; letter-spacing: -.01em; }
.nui-page-description { font-size: var(--nui-font-size-base); }
.nui-card-title { font-size: var(--nui-font-size-base); font-weight: 600; }
.nui-card:not(.nui-card-structured) .nui-card-title { font-weight: 600; }
.nui-card-description, .nui-card-meta { color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); }
.nui-kpi-label { font-size: var(--nui-font-size-base); }
.nui-kpi-value { font-weight: 600; }
.nui-table { font-size: var(--nui-font-size-base); }
.nui-table th { font-size: var(--nui-font-size-sm); font-weight: 500; letter-spacing: 0; }

/* 60. Görünüm sekmeleri: varyantlar, boyut, taşma (kaydırma okları / "Daha fazla" menüsü) ve ortak sekme menüsü.
   Varyant sınıfları .nui-tabs köküne yazılır: .nui-tabs-segmented (gri kapta segment), .nui-tabs-line (alt çizgili), .nui-tabs-sm (küçük); varsayılan kutulu görünüm değişmez.
   Taşma data-nui-tabs-overflow ile seçilir: "scroll" (varsayılan; listenin üstünde taşma varken görünen solma + ‹ › katmanı), "menu" (sığmayanlar "Daha fazla" menüsünde), "none".
   Solma rengi host'ta --nui-tabs-fade ile verilir (tema tokenı); kenar katmanı yalnız taşma varken ve o sırada host konumlandırılarak görünür, sekme listesinin ölçüsünü ve çocuklarını değiştirmez. */
body, .nui-theme-dark { --nui-tab-segment-bg: var(--nui-input); --nui-tab-segment-active: var(--nui-raised-hover); }
body.nui-theme-light, .nui-theme-light { --nui-tab-segment-bg: var(--nui-raised-hover); --nui-tab-segment-active: var(--nui-raised); }
.nui-tabs { --nui-tabs-fade: color-mix(in srgb, var(--nui-input) 70%, var(--nui-raised)); }
.nui-tabs-trigger > :is(svg, i) { flex: 0 0 auto; }
.nui-tabs-trigger-label { flex: 0 1 auto; min-width: 0; }

/* Segment: gri kapta segmentler; etkin segment yükseltilmiş yüzey + ince halka (.nui-toggle-group görünümüyle uyumlu). */
.nui-tabs.nui-tabs-segmented:not(.nui-tabs-header) { --nui-tabs-fade: var(--nui-tab-segment-bg); border: 0; border-radius: 0; background: transparent; }
.nui-tabs-segmented > .nui-tabs-list { width: fit-content; max-width: 100%; padding: 2px; gap: 2px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-tab-segment-bg); }
.nui-tabs-segmented .nui-tabs-trigger { min-height: var(--nui-control-height-sm); padding: 2px 10px; border: 0; border-radius: 4px; }
.nui-tabs-segmented .nui-tabs-trigger:not([aria-selected="true"]):not(:disabled):hover { background: color-mix(in srgb, var(--nui-text) 7%, transparent); color: var(--nui-text); }
.nui-tabs-segmented .nui-tabs-trigger[aria-selected="true"] { background: var(--nui-tab-segment-active); color: var(--nui-text); box-shadow: 0 0 0 1px var(--nui-border-strong), var(--nui-tab-active-shadow, 0 1px 3px 0 var(--nui-shadow), 0 1px 2px -1px var(--nui-shadow)); }
.nui-tabs-segmented > .nui-tabs-panel { padding: 12px 2px 0; }

/* Çizgi: yalnız alt çizgi; etkin sekmede --nui-accent 2px çizgi, panel kenarsızdır. Çizgi liste içinde (padding kutusunun dibinde) çizilir; kaydırma kabı dışarı taşanı kırpar. */
.nui-tabs.nui-tabs-line:not(.nui-tabs-header) { --nui-tabs-fade: var(--nui-raised); border: 0; border-radius: 0; background: transparent; }
.nui-tabs-line > .nui-tabs-list { padding: 0; gap: 4px; border: 0; border-radius: 0; background: transparent; box-shadow: inset 0 -1px 0 var(--nui-border); }
.nui-tabs-line .nui-tabs-trigger { position: relative; min-height: var(--nui-control-height-lg); padding: 6px 12px; border: 0; border-radius: var(--nui-radius-sm) var(--nui-radius-sm) 0 0; background: transparent; box-shadow: none; }
.nui-tabs-line .nui-tabs-trigger::after { content: ''; position: absolute; inset-inline: 6px; bottom: 0; height: 2px; border-radius: 2px 2px 0 0; background: transparent; }
.nui-tabs-line .nui-tabs-trigger:not([aria-selected="true"]):not(:disabled):hover { background: color-mix(in srgb, var(--nui-text) 5%, transparent); color: var(--nui-text); }
.nui-tabs-line .nui-tabs-trigger[aria-selected="true"] { background: transparent; color: var(--nui-text); box-shadow: none; }
.nui-tabs-line .nui-tabs-trigger[aria-selected="true"]::after { background: var(--nui-accent); }
.nui-tabs-line > .nui-tabs-panel { padding: 12px 2px 0; }
:is(.nui-tabs-segmented, .nui-tabs-line) .nui-tabs-trigger:focus-visible, :is(.nui-tabs-segmented, .nui-tabs-line) .nui-tabs-more:focus-visible { outline-offset: -2px; }

/* Küçük boyut: varyantlarla birleşir. */
.nui-tabs-sm > .nui-tabs-list { padding: 3px; }
.nui-tabs-sm .nui-tabs-trigger { min-height: calc(var(--nui-control-height-sm) - 2px); padding: 2px 8px; gap: 5px; font-size: var(--nui-font-size-xs); }
.nui-tabs-sm > .nui-tabs-panel { padding: 8px; font-size: var(--nui-font-size-sm); }
.nui-tabs-segmented.nui-tabs-sm > .nui-tabs-list { padding: 2px; }
.nui-tabs-segmented.nui-tabs-sm .nui-tabs-trigger { min-height: calc(var(--nui-control-height-sm) - 4px); padding: 1px 8px; }
.nui-tabs-line.nui-tabs-sm > .nui-tabs-list { padding: 0; }
.nui-tabs-line.nui-tabs-sm .nui-tabs-trigger { min-height: calc(var(--nui-control-height) - 2px); padding: 4px 10px; }
:is(.nui-tabs-segmented, .nui-tabs-line).nui-tabs-sm > .nui-tabs-panel { padding: 8px 2px 0; }

/* Kaydırma kenar katmanı (nui.attachTabScroll): liste kutusunu örten, tıklamayı geçiren tek katman; yalnız düğmeler tıklanır. */
.nui-tabs-edge-host { position: relative; }
.nui-tabs-edges { position: absolute; z-index: 3; overflow: hidden; pointer-events: none; }
.nui-tabs-edge { position: absolute; top: 0; bottom: 0; display: flex; align-items: center; width: 44px; pointer-events: none; }
.nui-tabs-edge-left { left: 0; justify-content: flex-start; padding-left: 3px; background: linear-gradient(to right, var(--nui-tabs-fade, var(--nui-raised)) 55%, transparent); }
.nui-tabs-edge-right { right: 0; justify-content: flex-end; padding-right: 3px; background: linear-gradient(to left, var(--nui-tabs-fade, var(--nui-raised)) 55%, transparent); }
.nui-tabs-scroll-btn { display: inline-grid; width: 22px; height: 22px; padding: 0; place-items: center; border: 1px solid var(--nui-border); border-radius: 999px; background: var(--nui-raised); color: var(--nui-text-muted); box-shadow: 0 1px 3px var(--nui-shadow); cursor: pointer; pointer-events: auto; }
.nui-tabs-scroll-btn:hover { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-tabs-scroll-btn:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 1px; }
.nui-tab-glyph { display: block; flex: 0 0 auto; width: 14px; height: 14px; }
.nui-tabs-scroll-btn .nui-tab-glyph { width: 13px; height: 13px; }
@media (pointer: coarse) { .nui-tabs-scroll-btn { width: 30px; height: 30px; } .nui-tabs-edge { width: 56px; } }

/* "Daha fazla" (data-nui-tabs-overflow="menu"): liste kırpılır, sığmayan sekmeler gizlenir (hidden) ve sonda düğme görünür. */
.nui-tabs[data-nui-tabs-overflow="menu"] > .nui-tabs-list { overflow: hidden; }

/* Esneyen seçim göstergesi (attachTabs): etkin sekme zemini tek öğedir ve sekmeler arasında kayar. Gösterge ölçülüp görünür olunca
   etkin sekmenin kendi zemini kalkar; ölçülemeyen (gizli) kapta ve data-nui-tabs-motion="none" iken statik zemin kullanılır. */
.nui-tabs-list[data-nui-tabs-indicator] { position: relative; }
.nui-tabs-list[data-nui-tabs-indicator] > .nui-tabs-trigger { position: relative; z-index: 1; }
.nui-tabs-indicator { position: absolute; z-index: 0; top: var(--nui-tabs-indicator-y, 0); left: var(--nui-tabs-indicator-x, 0); width: var(--nui-tabs-indicator-w, 0); height: var(--nui-tabs-indicator-h, 0); box-sizing: border-box; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-raised); box-shadow: var(--nui-tab-active-shadow, 0 1px 3px 0 var(--nui-shadow), 0 1px 2px -1px var(--nui-shadow)); opacity: 0; pointer-events: none; transition: opacity .12s ease; }
.nui-tabs-indicator.is-visible { opacity: 1; }
.nui-tabs .nui-tabs-list:has(> .nui-tabs-indicator.is-visible) > .nui-tabs-trigger[aria-selected="true"] { border-color: transparent; background: transparent; box-shadow: none; }
.nui-tabs-segmented .nui-tabs-indicator { border: 0; border-radius: 4px; background: var(--nui-tab-segment-active); box-shadow: 0 0 0 1px var(--nui-border-strong), var(--nui-tab-active-shadow, 0 1px 3px 0 var(--nui-shadow), 0 1px 2px -1px var(--nui-shadow)); }
/* Çizgi varyantında gösterge görünmez bir kutudur; yalnız alt çizgisi (::after) kayar. */
.nui-tabs-line .nui-tabs-indicator { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.nui-tabs-line .nui-tabs-indicator::after { content: ''; position: absolute; inset-inline: 6px; bottom: 0; height: 2px; border-radius: 2px 2px 0 0; background: var(--nui-accent); }
.nui-tabs-line .nui-tabs-list:has(> .nui-tabs-indicator.is-visible) > .nui-tabs-trigger[aria-selected="true"]::after { background: transparent; }
.nui-tabs-more { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 4px; min-height: calc(var(--nui-control-height) - 2px); margin-inline-start: auto; padding: 4px 8px; border: 1px solid transparent; border-radius: var(--nui-radius-sm); background: transparent; color: var(--nui-text-muted); cursor: pointer; font: inherit; font-size: var(--nui-font-size-sm); font-weight: 500; white-space: nowrap; }
.nui-tabs-more:hover, .nui-tabs-more[aria-expanded="true"] { background: var(--nui-raised-hover); color: var(--nui-text); }
.nui-tabs-more:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 2px; }
.nui-tabs-more .nui-tab-glyph { width: 13px; height: 13px; }
.nui-tabs-segmented .nui-tabs-more { min-height: var(--nui-control-height-sm); padding: 2px 8px; border: 0; border-radius: 4px; }
.nui-tabs-line .nui-tabs-more { min-height: var(--nui-control-height-lg); padding: 6px 10px; border: 0; }
.nui-tabs-sm .nui-tabs-more { min-height: calc(var(--nui-control-height-sm) - 2px); padding: 2px 8px; font-size: var(--nui-font-size-xs); }

/* Ortak sekme menüsü (.nui-dropdown-menu görünümü): aranabilir liste, ✓ / ikon / sabit / kirli göstergeli satırlar. */
.nui-tabs-menu { min-width: 200px; max-width: min(360px, calc(100vw - 16px)); max-height: min(380px, calc(100dvh - 24px)); }
.nui-tabs-menu-list { display: flex; flex-direction: column; gap: 2px; min-height: 0; overflow-y: auto; }
.nui-tabs-menu-search { padding: 2px 2px 4px; }
.nui-tabs-menu-search .nui-input { width: 100%; max-width: none; }
.nui-tabs-menu-empty { padding: 10px 8px; color: var(--nui-text-muted); font-size: var(--nui-font-size-sm); text-align: center; }
.nui-tabs-menu-item { min-width: 0; }
.nui-tabs-menu-item:disabled { opacity: .45; cursor: default; }
.nui-tabs-menu-item[aria-checked="true"] { background: var(--nui-accent-fill); color: var(--nui-accent-fg); }
.nui-tabs-menu-item:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: -2px; }
.nui-tabs-menu-label { flex: 1 1 auto; min-width: 0; text-align: start; }
.nui-tabs-menu-check { display: inline-grid; flex: 0 0 14px; width: 14px; height: 14px; place-items: center; }
.nui-tabs-menu-check .nui-tab-glyph { width: 13px; height: 13px; }
.nui-tabs-menu-icon { flex: 0 0 auto; width: 14px; height: 14px; color: var(--nui-text-muted); }
.nui-tabs-menu-pin { display: inline-grid; flex: 0 0 auto; color: var(--nui-text-faint); }
.nui-tabs-menu-pin .nui-tab-glyph { width: 12px; height: 12px; }

/* 61. Belge/sayfa sekme şeridi (.nui-tab-strip, nui.attachTabStrip / <nui-tab-strip>): .nui-tabbar/.nui-workspace-tab görsel diliyle (yükseklik, kapatma düğmesi, aktif çizgi) ama .nui-shell'den bağımsız.
   Yükseklik 39px; sekme sınırı --nui-tab-max (varsayılan 220px). Sabit sekme yalnız ikondur; kirli nokta ile kapatma düğmesi aynı yuvayı paylaşır (üzerine gelince/odakta × görünür). Renkler yalnız tokenlardır. */
.nui-tab-strip, .nui-tab-strip * { box-sizing: border-box; }
nui-tab-strip { display: block; }
.nui-tab-strip { --nui-tabs-fade: var(--nui-tabbar-surface); display: flex; align-items: stretch; min-width: 0; height: 39px; min-height: 39px; border-bottom: 1px solid var(--nui-border); background: var(--nui-tabbar-surface); color: var(--nui-text); font-size: var(--nui-font-size-sm); user-select: none; }
.nui-tab-strip-scroll { position: relative; display: flex; flex: 1 1 auto; min-width: 0; }
.nui-tab-strip-list { display: flex; flex: 1 1 auto; align-items: flex-end; gap: 2px; min-width: 0; padding-inline: 4px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scrollbar-width: none; }
.nui-tab-strip-list::-webkit-scrollbar { display: none; height: 0; }
.nui-tab-strip-tab { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; min-width: 92px; max-width: var(--nui-tab-max, 220px); height: 36px; padding-inline: 10px 7px; border-radius: 11px 11px 0 0; background: transparent; color: var(--nui-text-muted); cursor: pointer; white-space: nowrap; outline: none; }
.nui-tab-strip-tab::after { content: ''; position: absolute; inset-inline: 8px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; }
.nui-tab-strip-tab:hover { background: color-mix(in srgb, var(--nui-text) 6%, transparent); color: var(--nui-text); }
.nui-tab-strip-tab.is-active { background: var(--nui-raised); color: var(--nui-text); box-shadow: inset 1px 0 0 var(--nui-border), inset -1px 0 0 var(--nui-border), inset 0 1px 0 var(--nui-border), 0 -1px 3px var(--nui-shadow); }
.nui-tab-strip-tab.is-active::after { background: transparent; }
.nui-tab-strip-tab:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: -3px; }
.nui-tab-strip-icon, .nui-tab-strip-tab svg.lucide { display: inline-block; flex: 0 0 auto; width: 14px; height: 14px; }
.nui-tab-strip-title { flex: 0 1 auto; min-width: 0; }
.nui-tab-strip-tab.is-pinned { justify-content: center; width: 36px; min-width: 0; padding-inline: 0; }
.nui-tab-strip-tab.is-pinned .nui-tab-strip-title { display: none; }
.nui-tab-strip-tab.is-pinned::after { inset-inline: 6px; }
.nui-tab-strip-end { position: relative; display: inline-grid; flex: 0 0 auto; width: 18px; height: 18px; place-items: center; }
.nui-tab-strip-end > * { grid-area: 1 / 1; }
.nui-tab-strip-tab.is-pinned .nui-tab-strip-end { position: absolute; top: 3px; inset-inline-end: 3px; width: 8px; height: 8px; pointer-events: none; }
.nui-tab-strip-dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.nui-tab-strip-close { display: inline-grid; width: 18px; height: 18px; padding: 0; place-items: center; border: 0; border-radius: 4px; background: transparent; color: inherit; cursor: pointer; opacity: 0; transition: opacity .12s ease, background .12s ease; }
.nui-tab-strip-close .nui-tab-glyph { width: 12px; height: 12px; }
.nui-tab-strip-close:hover { background: color-mix(in srgb, var(--nui-text) 14%, transparent); color: var(--nui-text); }
.nui-tab-strip-close:focus-visible { outline: 2px solid var(--nui-ring); outline-offset: 1px; }
.nui-tab-strip-tab:is(:hover, :focus-within, .is-active) .nui-tab-strip-close { opacity: 1; }
.nui-tab-strip-tab.is-dirty .nui-tab-strip-close { opacity: 0; }
.nui-tab-strip-tab.is-dirty:is(:hover, :focus-within) .nui-tab-strip-close { opacity: 1; }
.nui-tab-strip-tab.is-dirty:is(:hover, :focus-within) .nui-tab-strip-dot { opacity: 0; }
.nui-tab-strip-tab.is-dragging { opacity: .45; }
.nui-tab-strip-tab:is(.is-drop-before, .is-drop-after) { background: var(--nui-raised-hover); }
.nui-tab-strip-tab:is(.is-drop-before, .is-drop-after)::before { content: ''; position: absolute; top: 4px; bottom: 4px; width: 2px; border-radius: 2px; background: var(--nui-accent); }
.nui-tab-strip-tab.is-drop-before::before { inset-inline-start: 0; }
.nui-tab-strip-tab.is-drop-after::before { inset-inline-end: 0; }
.nui-tab-strip-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 2px; padding-inline: 2px 6px; }
.nui-tab-strip .nui-tab-strip-action { width: 28px; min-width: 28px; height: 28px; min-height: 28px; }
.nui-tab-strip-action .nui-tab-glyph { width: 14px; height: 14px; }
.nui-tab-strip-menu { min-width: 240px; }
.nui-tab-strip-context { min-width: 190px; }
@media (max-width: 767px) { .nui-tab-strip-tab { max-width: min(var(--nui-tab-max, 220px), 170px); } }
@media (pointer: coarse) { .nui-tab-strip .nui-tab-strip-action { width: 34px; min-width: 34px; height: 34px; min-height: 34px; } .nui-tab-strip-close { width: 26px; height: 26px; } .nui-tab-strip-end { width: 26px; height: 26px; } }
@media (prefers-reduced-motion: reduce) { .nui-tab-strip-close { transition: none; } }
/* Sekme rengi (tab.tone): sekmeyi başlık okumadan ayırt ettirir. Renk yalnız tema tokenından gelir; ikon her biçimde o renge boyanır.
   Biçim şeritte data-nui-tone-style ile seçilir: bar (üstte 2px çizgi, varsayılan), tint (yukarıdan aşağı hafif degrade zemin), underline (altta kalın çizgi). */
.nui-tab-strip-tab[data-nui-tone="accent"] { --nui-tab-tone: var(--nui-accent); }
.nui-tab-strip-tab[data-nui-tone="info"] { --nui-tab-tone: var(--nui-info); }
.nui-tab-strip-tab[data-nui-tone="success"] { --nui-tab-tone: var(--nui-success); }
.nui-tab-strip-tab[data-nui-tone="warning"] { --nui-tab-tone: var(--nui-warning); }
.nui-tab-strip-tab[data-nui-tone="danger"] { --nui-tab-tone: var(--nui-danger); }
.nui-tab-strip-tab[data-nui-tone="chart-1"] { --nui-tab-tone: var(--nui-chart-1); }
.nui-tab-strip-tab[data-nui-tone="chart-2"] { --nui-tab-tone: var(--nui-chart-2); }
.nui-tab-strip-tab[data-nui-tone="chart-3"] { --nui-tab-tone: var(--nui-chart-3); }
.nui-tab-strip-tab[data-nui-tone="chart-4"] { --nui-tab-tone: var(--nui-chart-4); }
.nui-tab-strip-tab[data-nui-tone="chart-5"] { --nui-tab-tone: var(--nui-chart-5); }
.nui-tab-strip .nui-tab-strip-tab[data-nui-tone] :is(.nui-tab-strip-icon, svg.lucide) { color: var(--nui-tab-tone); }
.nui-tab-strip[data-nui-tone-style="bar"] .nui-tab-strip-tab[data-nui-tone] { background-image: linear-gradient(var(--nui-tab-tone), var(--nui-tab-tone)); background-size: calc(100% - 16px) 2px; background-position: center top; background-repeat: no-repeat; }
.nui-tab-strip[data-nui-tone-style="tint"] .nui-tab-strip-tab[data-nui-tone] { background-image: linear-gradient(to bottom, color-mix(in srgb, var(--nui-tab-tone) 20%, transparent), color-mix(in srgb, var(--nui-tab-tone) 4%, transparent)); }
.nui-tab-strip[data-nui-tone-style="underline"] .nui-tab-strip-tab[data-nui-tone]::after { background: var(--nui-tab-tone); }
/* Kısaltma iptali (.nui-truncate-none / data-nui-truncate="none"): sekme tam başlığı gösterir, şerit kayar. */
:is(.nui-truncate-none, [data-nui-truncate="none"]) .nui-tab-strip-tab { max-width: none; }
:is(.nui-truncate-none, [data-nui-truncate="none"]) .nui-tab-strip-title { overflow: visible; text-overflow: clip; white-space: nowrap; }
/* Workspace sekme çubuğu: kaydırma kenar katmanı çubuk yüzeyinin rengine solar. */
.nui-workspace-tabbar { --nui-tabs-fade: var(--nui-tabbar-surface); }
/* Workspace Tab Strip kipi (nuiWorkspaceProvider.configure({ tabStrip: true })): şerit çubuğun tamamını kaplar. */
.nui-workspace-tabbar-strip > .nui-workspace-tab-strip { flex: 1 1 auto; }
/* Sekme kökü grid/flex öğesi olduğunda varsayılan min-width:auto içerik genişliğine büyüyüp kabı taşırıyordu; taşma (kaydırma/menü) ancak kap daralınca devreye girer. */
.nui-tabs, .nui-tab-strip, nui-tab-strip { min-width: 0; max-width: 100%; }

/* Yapışkan çubuk (nui-sticky / nui.attachSticky): yapışınca kartlardan (panel) ayrışan, sayfa zemini tonundan türeyen yarı saydam yüzey.
   Üstten metin tonuna hafif karışan degrade (açıkta biraz koyu, koyuda biraz açık), arkada bulanıklık, alt kenar ve yumuşak gölge.
   --nui-bg'den türediği için Ivory ve Tema Stüdyosu paletlerinde ayrıca tanım gerekmez; tüketici --nui-sticky-surface ile ezebilir. */
body, .nui-theme-dark, .nui-theme-light {
	--nui-sticky-surface: linear-gradient(180deg, color-mix(in srgb, color-mix(in srgb, var(--nui-bg) 93%, var(--nui-text)) 92%, transparent), color-mix(in srgb, var(--nui-bg) 84%, transparent));
	--nui-sticky-surface-solid: linear-gradient(180deg, color-mix(in srgb, var(--nui-bg) 93%, var(--nui-text)), var(--nui-bg));
}
.nui-sticky.is-stuck { background: var(--nui-sticky-surface); -webkit-backdrop-filter: blur(12px) saturate(1.2); backdrop-filter: blur(12px) saturate(1.2); box-shadow: 0 1px 0 var(--nui-border-strong), 0 10px 20px -16px var(--nui-shadow); }
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) { .nui-sticky.is-stuck { background: var(--nui-sticky-surface-solid); } }
@media (prefers-reduced-transparency: reduce) { .nui-sticky.is-stuck { background: var(--nui-sticky-surface-solid); -webkit-backdrop-filter: none; backdrop-filter: none; } }

/* Galeri (nui-gallery): vitrin (ana görsel + şerit), küçük kare ve kutucuk modları; büyük görünüm nuiWindow içinde. */
nui-gallery { display: block; min-width: 0; }
nui-gallery:has(.nui-gallery-thumbnail) { display: inline-block; flex: none; vertical-align: middle; }
.nui-gallery img { display: block; }
.nui-gallery img.is-failed { color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); }
.nui-gallery-showcase { display: flex; flex-direction: column; gap: 6px; width: 100%; }
.nui-gallery-stage { position: relative; width: 100%; aspect-ratio: 4 / 3; max-height: var(--nui-gallery-max-height, 195px); overflow: hidden; border: 1px solid var(--nui-border); border-radius: var(--nui-radius); background: var(--nui-input); }
.nui-gallery-main { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 8px; border: 0; background: transparent; cursor: zoom-in; }
.nui-gallery-main img { max-width: 100%; max-height: 100%; object-fit: contain; transition: transform .16s ease; }
.nui-gallery-main:hover img { transform: scale(1.02); }
.nui-gallery-zoom { position: absolute; right: 6px; bottom: 6px; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: var(--nui-radius-sm); background: color-mix(in srgb, var(--nui-text) 55%, transparent); color: var(--nui-raised); opacity: 0; pointer-events: none; transition: opacity .15s ease; }
.nui-gallery-zoom svg { width: 12px; height: 12px; }
.nui-gallery-main:hover .nui-gallery-zoom, .nui-gallery-main:focus-visible .nui-gallery-zoom { opacity: 1; }
.nui-gallery-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 100%; height: 100%; min-height: 72px; color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); }
.nui-gallery-empty svg { width: 28px; height: 28px; opacity: .6; }
.nui-gallery-strip { display: flex; gap: 6px; padding: 2px 0 4px; overflow-x: auto; scrollbar-width: thin; }
.nui-gallery-thumb { flex: 0 0 42px; width: 42px; height: 42px; padding: 2px; overflow: hidden; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-input); cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.nui-gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }
.nui-gallery-thumb:hover { border-color: var(--nui-border-strong); }
.nui-gallery-thumb.is-active { border-color: var(--nui-primary); box-shadow: 0 0 0 1px var(--nui-primary); }
/* Küçük resim boyutu: --nui-gallery-thumb-size, yoksa tablo medya boyutu (tek satır tabloda 24px), yoksa 36px. */
.nui-gallery-thumbnail { width: var(--nui-gallery-thumb-size, var(--nui-table-media-size, 36px)); height: var(--nui-gallery-thumb-size, var(--nui-table-media-size, 36px)); overflow: hidden; border: 1px solid var(--nui-border); border-radius: var(--nui-radius); background: var(--nui-panel); }
.nui-gallery-thumbnail > button, .nui-gallery-thumbnail > span { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; color: var(--nui-text-faint); }
.nui-gallery-thumbnail > button { cursor: zoom-in; }
.nui-gallery-thumbnail img { width: 100%; height: 100%; object-fit: contain; }
.nui-gallery-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.nui-gallery-tile { width: 112px; height: 112px; padding: 6px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius-sm); background: var(--nui-panel); cursor: zoom-in; }
.nui-gallery-tile img { width: 100%; height: 100%; object-fit: contain; }
.nui-gallery-grid > .nui-gallery-empty { flex-direction: row; justify-content: flex-start; padding: 18px; border-radius: var(--nui-radius); background: var(--nui-raised); }
.nui-gallery :is(.nui-gallery-main, .nui-gallery-thumb, .nui-gallery-tile, .nui-gallery-thumbnail > button):focus-visible { outline: 2px solid var(--nui-ring); outline-offset: -2px; }
.nui-window-body:has(> .nui-gallery-viewer) { display: flex; padding: 0; overflow: hidden; }
.nui-gallery-viewer { display: flex; flex: 1; align-items: center; justify-content: center; min-height: 0; padding: 16px; background: var(--nui-bg); }
.nui-gallery-viewer img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }

/* Üst çubuk taşma menüsü (attachTopbarOverflow): öğeler daralıp birbirine girmez; sığmayanlar aşağı ok menüsüne taşınır. */
.nui-shell .nui-topbar > :not(.nui-topbar-menu), .nui-shell .nui-topbar-actions > * { flex-shrink: 0; }
/* Menü çubuğu kırpılmaz: açılan liste üst çubuğun altına taşar (overflow: hidden listeyi üst çubuk sınırında kesiyordu). Marka bloğu daralmadığından sığmama
   durumunu sağdaki eylemlerin taşma menüsü karşılar; 767px altında menü çubuğu zaten gizlidir. */
.nui-shell .nui-topbar-menu { min-width: 0; }
.nui-shell .nui-topbar-actions { flex-wrap: nowrap; }
.nui-topbar-overflow { position: relative; display: inline-flex; }
.nui-topbar-overflow[hidden], .nui-topbar-overflow-menu[hidden] { display: none; }
.nui-topbar-overflow-menu { position: absolute; top: calc(100% + 6px); right: 0; z-index: 1300; display: flex; flex-direction: column; align-items: stretch; gap: 2px; min-width: 200px; max-width: calc(100vw - 16px); padding: 4px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius); background: var(--nui-raised); color: var(--nui-text); box-shadow: 0 10px 28px var(--nui-shadow); }
.nui-topbar-overflow-menu > :is(.nui-button, a.nui-button) { justify-content: flex-start; width: 100%; border-color: transparent; background: transparent; box-shadow: none; }
.nui-topbar-overflow-menu > :is(.nui-button, a.nui-button):hover { background: var(--nui-raised-hover); }
.nui-topbar-overflow-menu > :is(.nui-switch, .nui-badge, .nui-chip) { align-self: flex-start; margin: 6px 8px; }
.nui-topbar-overflow-menu .nui-kbd { display: none; }
.nui-topbar-overflow-item { display: flex; align-items: center; gap: 10px; min-height: var(--nui-control-height); padding: 0 8px; border-radius: var(--nui-radius-sm); color: var(--nui-text); font-size: var(--nui-font-size-sm); cursor: pointer; }
.nui-topbar-overflow-item:hover { background: var(--nui-raised-hover); }
.nui-topbar-overflow-item > span { flex: 1 1 auto; }

/* Dar ekranda nuiWindow ile açılan yüzen pencere alttan açılan sayfadır: sol, sağ ve alta yapışık, üst çubuğun altından başlar.
   Masaüstü boyutu satır içi stilde kalır; genişlik yeniden açılınca pencere eski konumuna döner. */
@media (max-width: 767px) {
	/* Mobilde büyütme ve boyutlandırma kapalıdır (isCompact); denetim düğmesi ve kenar tutamaçları gösterilmez, tutamaçlar sayfayı taşırmaz. */
	.nui-window [data-nui-window-maximize], .nui-window > .nui-window-resize-handle { display: none; }
	.nui-window.nui-window-floating:not(.nui-window-maximized) { top: calc(var(--nui-topbar-height, 42px) + 8px) !important; right: 0 !important; bottom: 0 !important; left: 0 !important; width: auto !important; height: auto !important; max-width: none; max-height: none; border-bottom: 0; border-radius: var(--nui-radius-lg) var(--nui-radius-lg) 0 0; }
}

/* Durum çubuğu, tablo ve dar ekran eklemeleri (1.8.0) */
/* Durum çubuğu: durum göstergesi daralmaz; dar ekranda metin bölümleri … ile kısalır, öğeler üst üste binmez. */
.nui-statusbar :is(.nui-statusbar-start, .nui-statusbar-end) { min-width: 0; }
.nui-statusbar :is(.nui-statusbar-start, .nui-statusbar-end) > .nui-status { flex-shrink: 0; }
.nui-statusbar :is(.nui-statusbar-start, .nui-statusbar-end) > :not(.nui-status) { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
/* .nui-statusbar-sep ayraçtır, hiç daralmaz. Grupta .nui-statusbar-fill varsa yalnız o kısalır; kısa öğeler (ör. UTF-8) tam kalır. */
.nui-statusbar :is(.nui-statusbar-start, .nui-statusbar-end) > .nui-statusbar-sep { flex-shrink: 0; overflow: visible; }
.nui-statusbar :is(.nui-statusbar-start, .nui-statusbar-end):has(> .nui-statusbar-fill) > :not(.nui-statusbar-fill) { flex-shrink: 0; }
/* Tablo seçili satırı ve yapışkan işlem sütunu: .nui-table-sticky-end hücresi yatay kaydırmada sağ kenarda kalır. */
.nui-table tbody tr.is-selected { background: var(--nui-accent-fill); }
.nui-table :is(th, td).nui-table-sticky-end { position: sticky; inset-inline-end: 0; z-index: 1; background: var(--nui-raised); box-shadow: inset 1px 0 0 var(--nui-border); }
.nui-table thead th.nui-table-sticky-end { z-index: 2; background: var(--nui-raised-hover); }
.nui-table tbody tr:is(:hover, .is-active) > td.nui-table-sticky-end { background: color-mix(in srgb, var(--nui-accent) 9%, var(--nui-raised)); }
.nui-table tbody tr.is-selected > td.nui-table-sticky-end { background: var(--nui-accent-fill); }
[dir="rtl"] .nui-table :is(th, td).nui-table-sticky-end { box-shadow: inset -1px 0 0 var(--nui-border); }
/* Dar ekran görünürlüğü: .nui-hide-sm 640px ve altında gizlenir (split-pane kırılımı). Üst çubuktaki kısayol ipucu (.nui-kbd) mobil kabukla aynı 767px'te gizlenir. */
/* Görünürlük yardımcıları yalnız gizler ve !important taşır: bileşenin kendi display kuralı (ör. metinli .nui-button) onları ezemez. */
@media (max-width: 640px) { .nui-hide-sm { display: none !important; } }
/* .nui-show-sm: yalnız 640px ve altında görünür (.nui-hide-sm'in tersi; ör. gizlenen sütunun rozeti mobilde başka hücrenin altında). */
@media (min-width: 641px) { .nui-show-sm { display: none !important; } }
@media (max-width: 767px) { .nui-topbar .nui-kbd { display: none; } }

/* Tablo sütun ölçüsü: sütun genişliği uygulama CSS'inde piksel ve !important ile ezilmez; başlık hücresine (th) verilir, gerekiyorsa td'ye de.
   shrink içerik kadar daralır (işlem/durum sütunu); w-* token genişliktir (en az bu kadar); nowrap/wrap satır kırmayı seçer. */
.nui-table { --nui-col-w-xs: 64px; --nui-col-w-sm: 96px; --nui-col-w-md: 140px; --nui-col-w-lg: 200px; --nui-col-w-xl: 280px; }
.nui-table :is(th, td).nui-col-shrink { width: 1%; white-space: nowrap; }
.nui-table :is(th, td).nui-col-w-xs { width: var(--nui-col-w-xs); min-width: var(--nui-col-w-xs); }
.nui-table :is(th, td).nui-col-w-sm { width: var(--nui-col-w-sm); min-width: var(--nui-col-w-sm); }
.nui-table :is(th, td).nui-col-w-md { width: var(--nui-col-w-md); min-width: var(--nui-col-w-md); }
.nui-table :is(th, td).nui-col-w-lg { width: var(--nui-col-w-lg); min-width: var(--nui-col-w-lg); }
.nui-table :is(th, td).nui-col-w-xl { width: var(--nui-col-w-xl); min-width: var(--nui-col-w-xl); }
.nui-table :is(th, td).nui-col-nowrap { white-space: nowrap; }
.nui-table :is(th, td).nui-col-wrap { white-space: normal; overflow-wrap: anywhere; }
.nui-table :is(th, td).nui-col-end { text-align: end; }
.nui-table :is(th, td).nui-col-center { text-align: center; }
/* fill: kalan genişliği alır, uzun metni tek satırda … ile kısaltır (max-width:0 hücrenin içerikle büyümesini engeller). */
.nui-table :is(th, td).nui-col-fill { width: 100%; max-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nui-table td.nui-col-fill > .nui-truncate { display: block; }
/* Yatay kaydırma eşiği: tablo bu genişliğin altına daralmaz, kabı (.nui-table-scroll / .nui-table-shell) kayar. Özel değer: --nui-table-min-width + .nui-table-min. */
.nui-table.nui-table-min { min-width: var(--nui-table-min-width, 760px); }
.nui-table.nui-table-min-sm { min-width: 640px; }
.nui-table.nui-table-min-md { min-width: 760px; }
.nui-table.nui-table-min-lg { min-width: 920px; }
.nui-table.nui-table-min-xl { min-width: 1080px; }
/* .nui-table-fit-sm: 640px ve altında eşik (.nui-table-min*) ile sabit düzen kalkar, sütun genişlik sınıfları serbest kalır; ikincil sütunlar
   .nui-hide-sm ile gizlenince tablo ekrana sığar; tek satır kipinde hücre kısaltma sınırı 45vw olur. Sınıf yoksa dar ekranda da eşik korunur ve kap yatay kayar. */
@media (max-width: 640px) {
	.nui-table.nui-table-fit-sm { --nui-table-cell-max: 45vw; min-width: 0; table-layout: auto; }
	.nui-table.nui-table-fit-sm :is(th, td)[class*="nui-col-w-"] { width: auto; min-width: 0; }
}
/* Sabit düzen (table-layout: fixed): sütunlar başlıktaki genişliğe uyar. Bu düzende % genişlik anlamsızdır; shrink sütunu xs genişliğe düşer. */
.nui-table.nui-table-fixed { table-layout: fixed; }
.nui-table.nui-table-fixed :is(th, td).nui-col-shrink { width: var(--nui-col-w-xs); }
.nui-table.nui-table-fixed :is(th, td).nui-col-fill { width: auto; max-width: none; }

/* Kalan alanı doldurma: dikey flex kabın (workspace sayfası, .nui-window-body-fill, .nui-page-container) çocuğu kalan yüksekliği alır
   ve içerikle büyüyüp kabı taşırmaz. -scroll kendi içinde kayar. */
.nui-flex-fill { flex: 1 1 auto; min-width: 0; min-height: 0; }
.nui-flex-fill-scroll { flex: 1 1 auto; align-content: start; min-width: 0; min-height: 0; overflow: auto; }
/* Bölünmüş panel doldurma: panel kalan yüksekliği alır, her bölme kendi içinde kayar (liste ve ayrıntı ayrı kaydırılır).
   Dar ekranda (<=640px) bölmeler alt alta dizildiği için kaydırma sayfaya bırakılır. */
.nui-split-pane.nui-split-fill { flex: 1 1 auto; min-height: 0; grid-template-rows: minmax(0, 1fr); }
.nui-split-pane.nui-split-fill > :not(.nui-split-divider) { min-height: 0; overflow: auto; }
@media (max-width: 640px) { .nui-split-pane.nui-split-fill { grid-template-rows: none; } .nui-split-pane.nui-split-fill > :not(.nui-split-divider) { overflow: visible; } }
/* Dar ekranda (<=640px) doldurma kapanır: öğe içeriği kadar uzar ve sayfa kayar; aksi halde alt alta dizilen bölmeler ekran yüksekliğine ezilir. */
@media (max-width: 640px) { .nui-flex-fill, .nui-flex-fill-scroll, .nui-split-pane.nui-split-fill { flex: 0 0 auto; min-height: auto; } }
/* Kap genişliğine göre bölünmüş panel: üst kaba .nui-split-host verilir; kap 640px altına inince (ekran geniş olsa bile, ör. dar sekme gövdesi)
   bölmeler alt alta dizilir. Not: mobil liste-ayrıntı (nui-split-detail) ekran genişliğine bakar, kap kipinden etkilenmez. */
.nui-split-host { container: nui-split / inline-size; min-width: 0; }
@container nui-split (max-width: 640px) {
	.nui-split-host > .nui-split-pane { display: flex; flex: 0 0 auto; flex-direction: column; gap: var(--nui-gap-3); height: auto; min-height: 0; overflow: visible; }
	.nui-split-host > .nui-split-pane > .nui-split-divider { display: none; }
	.nui-split-host > .nui-split-pane > :not(.nui-split-divider) { flex: 0 0 auto; align-self: stretch; width: auto; min-width: 0; min-height: 0; overflow: visible; }
}

/* Kaba gömülü yüzeyler: sekme paneli ve ayrıntı bölmesi kendi dolgusunu / kenarlığını taşımaz (çift kenarlık olmaz). Pencerede .nui-window-flush, terminalde .nui-terminal-flush. */
.nui-tabs > .nui-tabs-panel.nui-tabs-panel-flush, .nui-tabs-panel.nui-tabs-panel-flush { padding: 0; }
.nui-right-window.nui-right-window-plain { border: 0; border-radius: 0; background: transparent; }
/* Satır eylemi yalnız satır üzerine gelince veya odakta görünür; dokunmatikte (hover yok) her zaman görünür. Görünmezken de tıklanabilir alan yer tutar. */
.nui-table tbody tr .nui-table-row-reveal { opacity: 0; transition: opacity .12s ease; }
.nui-table tbody tr:is(:hover, :focus-within, .is-active, .is-selected) .nui-table-row-reveal, .nui-table-row-reveal:focus-visible { opacity: 1; }
@media (hover: none) { .nui-table tbody tr .nui-table-row-reveal { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .nui-table-row-reveal { transition: none; } }

/* Veri tablosu toplu eylem çubuğu (bulkActions): seçim varken araç çubuğunun altında vurgu dolgusuyla görünür. */
.nui-data-table-bulk { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 6px 8px; border-bottom: 1px solid var(--nui-border); background: var(--nui-accent-fill); }
.nui-data-table-bulk-count { margin-inline-end: 4px; color: var(--nui-text); font-size: var(--nui-font-size-xs); font-weight: 600; white-space: nowrap; }
/* Genel eylem menüsü (nui.openMenu): sekme, ağaç ve tablo satırı menüleri aynı görünümü kullanır. */
.nui-action-menu { min-width: 190px; }

/* Dosya türü ikonu (nui.fileIcon / <nui-file-icon>): js ve css kısa etiketli dolu kutu, diğer türler renkli ikon, bilinmeyen tür soluk dolu kutu.
   Boyut: md 19px (varsayılan), sm 14px, lg 24px. Renkler yalnız tokenlardan. */
nui-file-icon { display: inline-grid; }
.nui-file-icon { --nui-file-icon-size: 19px; display: inline-grid; flex: 0 0 auto; width: var(--nui-file-icon-size); height: var(--nui-file-icon-size); place-items: center; border-radius: 5px; background: transparent; color: var(--nui-text-muted); vertical-align: middle; }
.nui-file-icon.nui-file-icon-xs { --nui-file-icon-size: 16px; border-radius: 3px; }
.nui-file-icon.nui-file-icon-sm { --nui-file-icon-size: 14px; border-radius: 3px; }
.nui-file-icon.nui-file-icon-lg { --nui-file-icon-size: 24px; border-radius: 6px; }
.nui-file-icon > svg.lucide { width: calc(var(--nui-file-icon-size) - 2px); height: calc(var(--nui-file-icon-size) - 2px); }
.nui-file-icon-label { align-self: end; justify-self: end; margin: 0 2px 1px 0; font-size: calc(var(--nui-file-icon-size) * .42); font-weight: 800; line-height: 1; letter-spacing: -.04em; }
.nui-file-icon.is-css .nui-file-icon-label { font-size: calc(var(--nui-file-icon-size) * .36); }
.nui-file-icon:is(.nui-file-icon-xs, .nui-file-icon-sm) .nui-file-icon-label { margin: 0 1px 1px 0; }
.nui-file-icon.is-js { background: var(--nui-warning); color: var(--nui-on-solid); }
.nui-file-icon.is-css { background: var(--nui-info); color: var(--nui-on-solid); }
.nui-file-icon.is-json { color: var(--nui-chart-4); }
.nui-file-icon.is-html { color: var(--nui-success); }
.nui-file-icon.is-img { color: color-mix(in srgb, var(--nui-info) 60%, var(--nui-success)); }
.nui-file-icon.is-code { color: var(--nui-info); }
.nui-file-icon.is-sheet { color: var(--nui-success); }
.nui-file-icon.is-archive { color: var(--nui-warning); }
.nui-file-icon.is-other { background: var(--nui-text-faint); }

/* Satır içi boş durum (.nui-empty-inline): liste / tanım listesi içinde tek satırlık sıkı not; ikon küçük ve isteğe bağlı, metin sola yaslı. */
.nui-empty.nui-empty-inline { flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; padding: 8px 10px; border-radius: var(--nui-radius-sm); text-align: start; font-size: var(--nui-font-size-sm); }
.nui-empty.nui-empty-inline .nui-empty-icon { width: 20px; height: 20px; flex: 0 0 auto; background: transparent; font-size: 14px; }
.nui-empty.nui-empty-inline :is(.nui-empty-title, .nui-empty-description, .nui-empty-desc) { max-width: none; font-size: inherit; }
.nui-empty.nui-empty-inline .nui-empty-actions { margin: 0 0 0 auto; }

/* İnce bölücülü bölünmüş panel (.nui-split-pane-thin): bölmeler arası 8px; tıklama alanı 8px, görünür 1px çizgi ve ince tutamaç. Klavye ve sürükleme aynı. */
.nui-split-pane.nui-split-pane-thin { grid-template-columns: calc(var(--nui-split-size, 50%) - 4px) calc(100% - var(--nui-split-size, 50%) - 4px); column-gap: 8px; }
.nui-split-pane.nui-split-pane-thin > .nui-split-divider { left: calc(var(--nui-split-size, 50%) - 4px); width: 8px; }
.nui-split-pane.nui-split-pane-thin > .nui-split-divider::after { content: ''; width: 6px; height: 32px; }

/* İkon boyutu (<i nui-icon="x" class="nui-icon-sm">): sınıf çizilen svg'ye geçer. xs 12 / sm 14 / md 16 / lg 20px. Renk için nui-text-*. */
svg.lucide.nui-icon-xs, .nui-icon-xs > svg.lucide { flex: 0 0 auto; width: 12px; height: 12px; }
svg.lucide.nui-icon-sm, .nui-icon-sm > svg.lucide { flex: 0 0 auto; width: 14px; height: 14px; }
svg.lucide.nui-icon-md, .nui-icon-md > svg.lucide { flex: 0 0 auto; width: 16px; height: 16px; }
svg.lucide.nui-icon-lg, .nui-icon-lg > svg.lucide { flex: 0 0 auto; width: 20px; height: 20px; }

/* Tablo hücresi ikincil satırı (.nui-cell-sub): ana değerin altında blok, küçük ve soluk (ör. ad altında e-posta, tarih altında süre). */
.nui-cell-sub { display: block; margin-top: 2px; color: var(--nui-text-muted); font-size: var(--nui-font-size-xs); font-weight: 400; line-height: 1.35; }
/* Tablo hücre medyası (.nui-table-media): ürün görseli, logo vb. için sabit kare; boyut --nui-table-media-size ile (varsayılan 36px). */
.nui-table-media { display: inline-block; flex: 0 0 auto; width: var(--nui-table-media-size, 36px); height: var(--nui-table-media-size, 36px); border-radius: var(--nui-radius-sm); object-fit: cover; vertical-align: middle; }
/* Tek satır kipi (.nui-table-single-line, tabloda veya kapsayıcıda): ikincil satır gizlenir, hücreler tek satırda kalır ve
   --nui-table-cell-max (20rem) üstünü … ile kısaltır; kısalan hücrede ipucu tam metni gösterir. Medya ve satır işlem düğmesi
   24px olur; satır yaklaşık kontrol yüksekliğine (~33px) iner. Seçim, işlem ve .nui-col-shrink|wrap sütunları kırpılmaz. */
.nui-table-single-line { --nui-table-media-size: 24px; }
.nui-table-single-line :is(th, td) { --nui-table-cell-y: 4px; }
.nui-table-single-line td { max-width: var(--nui-table-cell-max, 20rem); overflow: clip; overflow-clip-margin: 4px; text-overflow: ellipsis; white-space: nowrap; }
.nui-table-single-line td:is(.nui-table-selection, .nui-table-sticky-end, .nui-col-shrink, .nui-col-wrap) { max-width: none; overflow: visible; }
.nui-table-single-line td.nui-col-wrap { white-space: normal; }
.nui-table-single-line .nui-cell-sub { display: none; }
.nui-table-single-line .nui-avatar { width: 24px; height: 24px; }
.nui-table-single-line td .nui-icon-button.nui-icon-button-sm { width: 24px; min-width: 24px; height: 24px; min-height: 24px; }
/* İkon düğmesi sayı rozeti (.nui-icon-button-badge): sağ üst köşede danger zeminli sayı; boşken veya hidden iken görünmez.
   Sayı nui.badgeCount(n) / nuiBadgeCount süzgeciyle yazılır (0 → boş, 100 → 99+). Taşma menüsünde düğme rozetiyle taşınır, satır metni aria-label'dir. */
/* Konum (OV-24): rozet düğmenin sağ üst köşesine dışarıdan asılır, ikonun üstüne binmez (iki basamakta da ikonun ~%80'i görünür).
   Sağ kenarı sabittir; sayı büyüdükçe sola doğru genişler. Yoğunluğa göre değerler kapsayıcıdan miras alınır. */
:root, [data-nui-density="compact"], [data-nui-density="default"] { --nui-icon-button-badge-top: -4px; --nui-icon-button-badge-end: -6px; }
[data-nui-density="regular"], [data-nui-density="comfortable"] { --nui-icon-button-badge-top: -3px; --nui-icon-button-badge-end: -5px; }
.nui-icon-button:has(> .nui-icon-button-badge) { position: relative; overflow: visible; }
.nui-icon-button-badge { position: absolute; top: var(--nui-icon-button-badge-top); inset-inline-end: var(--nui-icon-button-badge-end); z-index: 1; box-sizing: border-box; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; background: var(--nui-danger-solid); box-shadow: 0 0 0 2px var(--nui-icon-button-badge-ring, var(--nui-raised)); color: var(--nui-on-solid); font-size: 10px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 16px; text-align: center; white-space: nowrap; pointer-events: none; }
.nui-icon-button-badge:empty, .nui-icon-button-badge[hidden] { display: none; }
/* Nokta rozeti: sayısız 8px işaret ("yeni var"); ikonun sağ üst köşesine yaslanır. Boş olduğu hâlde görünür, [hidden] ile gizlenir. */
.nui-icon-button-badge.nui-icon-button-badge-dot { top: var(--nui-icon-button-badge-dot-top, 3px); inset-inline-end: var(--nui-icon-button-badge-dot-end, 3px); display: block; width: 8px; min-width: 8px; height: 8px; padding: 0; font-size: 0; }
.nui-icon-button-badge.nui-icon-button-badge-dot[hidden] { display: none; }
/* Rozetli düğmede odak halkası arka plan katmanında (box-shadow) çizilir: outline alt öğelerin üstüne boyanıp rozeti keserdi;
   böylece rozet halkanın üstünde kendi ayırıcı halkasıyla durur. */
.nui-icon-button:has(> .nui-icon-button-badge:not(:empty)):focus-visible { outline: none; box-shadow: 0 0 0 2px var(--nui-icon-button-badge-ring, var(--nui-raised)), 0 0 0 4px var(--nui-ring); }
/* Taşma menüsü satırında rozet bitişik satıra ve etikete binmesin. */
.nui-topbar-overflow-item .nui-icon-button-badge { --nui-icon-button-badge-top: -2px; --nui-icon-button-badge-end: -4px; }
/* Açılır menü en küçük genişliği: menüye .nui-dropdown-menu-md|lg (240/280px) veya --nui-dropdown-min-width (menüde ya da kapsayıcıda). */
.nui-dropdown-menu.nui-dropdown-menu-md, .nui-context-menu.nui-dropdown-menu-md { --nui-dropdown-min-width: 240px; }
.nui-dropdown-menu.nui-dropdown-menu-lg, .nui-context-menu.nui-dropdown-menu-lg { --nui-dropdown-min-width: 280px; }

/* Çalışma alanı sayfası: doğrudan çocuklar varsayılan olarak daralmaz (içerik sayfa yüksekliğine ezilip kabından taşmaz; sayfa kayar).
   :where ile en düşük özgüllük; kendi flex kuralı olan dolgu öğeleri (.nui-flex-fill, .nui-page-fill) geçersiz kılar. */
:where(.nui-workspace-page) > * { flex-shrink: 0; }
/* Doldurma kipi: sayfa tanımında fill: true (.nui-workspace-page.is-fill) veya şablon kökünde .nui-page-fill. Sayfa ekran yüksekliğini doldurur,
   kendisi kaymaz; kök (ve ng-include katmanı) dikey esnek kap olur, içteki .nui-flex-fill-scroll kayar. 640px altında kapanır, sayfa kayar. */
@media (min-width: 641px) {
	.nui-workspace-page.is-fill, .nui-workspace-page:has(> .nui-page-fill) { overflow: hidden; }
	.nui-workspace-page.is-fill > :not(.ng-hide), .nui-page-fill { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; min-height: 0; overflow: hidden; }
	.nui-workspace-page.is-fill > [ng-include] > :only-child, .nui-workspace-page.is-fill > [ng-include] > .nui-page-fill { flex: 1 1 auto; min-height: 0; }
}

/* Tablo dikey hizası: uzun hücreli tabloda üstten (.nui-table-align-top) veya ortadan (.nui-table-align-middle) hiza. */
.nui-table.nui-table-align-top :is(th, td) { vertical-align: top; }
.nui-table.nui-table-align-middle :is(th, td) { vertical-align: middle; }
/* Yapışkan başlıklı tabloda kenarlar ayrık çizilir; collapse'ta başlığın alt çizgisi kaydırmada kaybolur. Görünüm aynıdır (aralık 0). */
.nui-table.nui-table-sticky, .nui-table-sticky > .nui-table, .nui-table-shell.nui-table-sticky .nui-table, .nui-table-sticky .nui-table-scroll > .nui-table { border-collapse: separate; border-spacing: 0; }
/* Sarılan düğme (.nui-button-wrap): uzun açıklamalı seçim düğmesi kısalmaz, satırlara sarılır; metin başa yaslı, yükseklik içerik kadar. */
.nui-button.nui-button-wrap { height: auto; min-height: var(--nui-control-height); padding-block: 6px; white-space: normal; text-align: start; justify-content: flex-start; line-height: 1.35; }
.nui-button.nui-button-wrap > :is(span, .nui-button-label) { white-space: normal; overflow: visible; text-overflow: clip; }
/* Temaya göre görsel: .nui-show-light yalnız açık, .nui-show-dark yalnız koyu temada görünür; .nui-invert-dark tek renk görseli koyu temada ters çevirir.
   Koyu kabuk içindeki açık yüzey (.nui-theme-light) bir düzey iç içe desteklenir. */
/* Görünen durumda display'e dokunulmaz (bileşen kendi display'ini korur); yalnız gizleme kuralı vardır. */
.nui-show-dark:not(.nui-theme-dark .nui-show-dark), .nui-theme-dark .nui-theme-light .nui-show-dark { display: none !important; }
.nui-theme-dark .nui-show-light:not(.nui-theme-dark .nui-theme-light .nui-show-light) { display: none !important; }
.nui-theme-dark .nui-invert-dark { filter: invert(1); }
.nui-theme-dark .nui-theme-light .nui-invert-dark { filter: none; }

/* Kart başlığında eylemler sığmayınca eylem grubu (.nui-card-actions) daralır ve düğmeler kendi içinde alt satıra sarar; dar kapta düğmeler kesilmez
   (yapılı kart overflow:hidden taşıdığından taşan düğme görünmez ve tıklanamazdı). Başlık satırı ve sığan kartların görünümü değişmez. */
.nui-card-actions { flex: 0 1 auto; flex-wrap: wrap; justify-content: flex-end; min-width: 0; }
/* Dar ekranda başlık bloğu 10rem altına inecekse eylemler bütün olarak alt satıra geçer (başlık dar sütuna sıkışmaz). */
/* Başlık bloğu kalan alanı doldurduğundan aynı satırdaki eylemler sağda kalır; alt satıra inen eylemler sola yaslanır. */
@media (max-width: 640px) { .nui-card-header { flex-wrap: wrap; } .nui-card-header > :not(.nui-card-actions) { flex: 1 1 10rem; min-width: 0; } .nui-card-header > .nui-card-actions { margin-inline-start: 0; justify-content: flex-start; } }

