﻿/* WebShell global stilleri. Host App.razor'da _content/Nun.WebShell/nun-webshell.css olarak bağlanır. */

/* ============ Tasarım kuralları (21 Tem revizesi — kullanıcı kararı) ============
   DevExpress bileşen görünümüne stil ezmesi yapılmaz (21 Tem: --dxbl-* iç tema değişkenleri
   ve !important ezmeleri geri alındı — resmî API değiller, sürümle kırılabilirler);
   bileşenler temanın varsayılan görünümüyle çizilir, yoğunluk host'ta AddDevExpressBlazor
   ile verilir (SizeMode.Medium). Yerel SizeMode sapması 19.275'le açıldı ama TEK KAPIDAN:
   yalnız UiKit Grid wrapper'ı, yalnız resmî SizeMode parametresiyle (kaynağı kullanıcı
   tercihi -> SYSTEM.LISTE_BOYUT -> Orta); global ayar değişmez, sapma sayfalara dağılmaz.
   Bilinçli
   istisnalar: (1) font — Fluent teması fontu --DS-font-family-sans-serif değişkeninden
   okur, tek ezmeyle Manrope/Inter verilir (ikon fontlarına dokunulmaz); (2) chat ekranı
   (23 Ağu 2026: UiKit Chat.razor.css — memo çerçevesi bizim kutuda susturulur), kullanıcı
   kararıyla olduğu gibi korunur; (3) işlevsel min-height flex düzeltmeleri (nun-uikit.css).
   Kremsi zemin/nötr --nun tokenları bizim elemanlarımızın stilidir. */
@font-face {
    font-family: "Inter";
    src: url("fonts/InterVariable.woff2") format("woff2");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

/* Manrope (SIL OFL — değişken ağırlık; Styrene hissine Inter'den bir tık daha yakın deneme).
   İki altküme: latin + latin-ext (Türkçe ğışöçü İ latin-ext'te); eksik glif Inter'e düşer. */
@font-face {
    font-family: "Manrope";
    src: url("fonts/Manrope-latin.woff2") format("woff2");
    font-weight: 200 800;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Manrope";
    src: url("fonts/Manrope-latin-ext.woff2") format("woff2");
    font-weight: 200 800;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    --nun-font: "Manrope", "Inter", "Segoe UI", system-ui, sans-serif; /* Manrope denemesi — geri dönüş: baştan Manrope'u sil */
    --nun-text: #1f1e1d;
    --nun-text-soft: #6e6d6b;
    --nun-accent: #2f2f2e;
    --nun-accent-hover: #191817;

    /* Zemin/yüzey tonları — kullanıcının Claude Code'dan ölçtüğü değerler (21 Tem). */
    --nun-bg: #fdfdfc;        /* sayfa/sohbet zemini */
    --nun-surface: #efefee;   /* kullanıcı balonu */
    --nun-selected: #f1f1f0;  /* seçili öğe / segment rayı */
    --nun-border: #dcdbd9;    /* nötr çerçeve çizgisi (RecordForm gövde çerçevesi) */

    /* Login tasarımıyla gelen roller (marka sistemi tokens.css'in ürün karşılığı):
       marka renksizdir, odak halkası da renksizdir (= accent); hata metni nötr paletle
       uyumlu tutulmuş kırmızı; pasif düğme dolgusu nötr skalanın 400'ü. */
    --nun-focus: var(--nun-accent);
    --nun-danger-text: #9a2f28;
    --nun-accent-muted: #c9c8c5;
    --nun-text-invert: #ffffff;

    /* Kurulum sihirbazının Design turuyla gelen iki rol (27 Ağu 2026): tamamlanmış adımın
       yeşili — hata kırmızısının eşi, aynı nötr paletle uyumlu; ve nötr skalanın 500'ü
       (pasif metin: soluk düğme yazısı, kesikli "ek" işareti). Renk yine yalnız durum
       bildirir. Bu iki değer design/system/tokens.css'e de kopyalanır (yön: ürün → sistem). */
    --nun-success-text: #2b6640;
    --nun-text-muted: #9a9997;

    /* Sohbet içerik kolonunun genişliği (21 Tem revizesi: 780 → 900; ayar tek yerden).
       Kolon ortalama artık max-width'le değil bu token'la yapılır: scroll konteyneri tam
       genişlikte kalır (çubuk sayfanın en sağında), içerik padding/margin'le ortalanır. */
    --nun-chat-width: 900px;

    --DS-font-family-sans-serif: var(--nun-font);
}

/* rem tabanı serbesttir (21 Tem kullanıcı kararı — eski 13px ezmesi kaldırıldı):
   tarayıcı varsayılanı (16px) geçerlidir; Bootstrap + DevExpress teması + bizim rem
   değerlerimiz birlikte bu tabandan ölçeklenir. Yoğunluk SizeMode.Large'ın işidir. */

body {
    font-family: var(--nun-font);
    color: var(--nun-text);
    background-color: var(--nun-bg);
    /* Claude Code (Electron) metni antialiased çizer; Chrome'un subpixel varsayılanı aynı
       rengi daha koyu/kalın gösterir — algılanan "font farkı"nın büyük parçası buydu. */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Sohbet ekranının DxAIChat ezmeleri (.dxbl-chatui-* değişkenleri, textarea field-sizing,
   balon/düğme kuralları) 23 Ağu 2026'da bileşenle birlikte kaldırıldı: sohbet arayüzü UiKit
   Chat'tir, stili kendi scoped css'inde (Chat.razor.css) — global dosyada sohbet kuralı kalmadı. */

/* Grid zemini sayfanın kremsi tonuna bağlıdır (21 Tem kullanıcı isteği — "ezme yok"
   ilkesinin grid tarafındaki tek bilinçli istisnası): satır zeminleri --dxbl-grid-bg'den
   türediğinden (--dxbl-grid-row-bg) tek değişken yeter; başka grid değişkenine dokunulmaz.
   Dikkat: --dxbl-* iç tema değişkenidir (resmî API değil) — DevExpress sürüm
   yükseltmelerinde çalıştığı kontrol edilmeli. */
.dxbl-grid {
    --dxbl-grid-bg: var(--nun-bg);
}

/* Açılır yüzeylerin (popup/dropdown/mesaj kutusu) zemini de kremsi tona bağlıdır (22 Tem
   kullanıcı isteği — grid istisnasıyla aynı gerekçe): tema --dxbl-popups-* ailesini bu beş
   kökte birden tanımlar (--dxbl-popup-* onlardan türer) — seçici listesi temanınkiyle
   aynıdır ki tüm açılır yüzeyler tek tonda kalsın; gövdeyle birlikte başlık/altlık da
   bağlanır ki popup tek parça görünsün. Aynı dikkat: iç tema değişkeni. */
.dxbl-dropdown,
.dxbl-itemlist-dropdown,
.dxbl-message-box,
.dxbl-modal,
.dxbl-window {
    --dxbl-popups-bg: var(--nun-bg);
    --dxbl-popups-body-bg: var(--nun-bg);
    --dxbl-popups-header-bg: var(--nun-bg);
    --dxbl-popups-footer-bg: var(--nun-bg);
}

/* Küçük ekran kullanıcı menüsü popup'ı (Main.razor — alt yapışık tam genişlik "bottom sheet"
   yerleşimi). Kurallar DxPopup'ın CssClass/HeaderCssClass/BodyCssClass API'sinden bağlanır;
   popup portal DOM'unda (bileşen ağacının dışında) çizildiğinden scoped .razor.css işlemez —
   yeri bu global dosyadır (inline <style> bloğu buraya taşındı). */
.main-popupusermenu-container {
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: 70vh;
    margin: 0px !important;
    padding: 0px !important;
    left: 0px !important;
    bottom: 0px !important;
    position: absolute !important;
}

.main-popupusermenu-header-container {
    margin: 0px !important;
    padding: 10px !important;
}

.main-popupusermenu-body-container {
    padding: 0px 10px 10px 10px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
