/*
 * Bu projeye ozgu stiller (core.css'in ustune biner).
 *
 * 2026-09-07 temizligi: dev.ecrin.tr iskeletinden gelen ama burada karsiligi
 * olmayan kurallar cikarildi (#stokrapordiv, #tabsAdminStats, .fieldrow*,
 * span.phonefield/.phonecopy, .taskgroup/.taskmenu, #getcustomers, #logodiv...).
 * Ayrica .taskbutton kurali eklendi: app.js taskbar butonlarini bu sinifla
 * uretiyordu ama hicbir dosyada karsiligi yoktu, buton stilsiz cikiyordu.
 */

/* --- taskbar --- */

#desktop #taskbar #agentdata img,
#desktop #taskbar #jdate img,
#desktop #taskbar #jclock img {
    vertical-align: middle;
    position: relative;
    top: -2px;
}

#desktop #taskbar #jdate {
    float: right;
    font-size: 11px;
    border-left: 2px solid #f9f9f9;
    font-weight: 700;
    text-align: center;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 0;
    padding-bottom: 0;
}

/*
 * app.js'teki TASKBAR_BUTTONS listesinden uretilen butonlar. Eski panelde her
 * butonun kendi ID'si ve kendi kurali vardi; burada tek sinif kullaniliyor.
 * Ikon 32x32 ve -3px yukari kaydirilmis - #logoff ile ayni hizada dursun diye.
 */
#desktop #taskbar .taskbutton {
    float: left;
    /* .taskbadge'in dayanagi - bkz. asagidaki rozet kurali. */
    position: relative;
    background: no-repeat 4px -3px;
    border-right: 2px solid #f9f9f9;
    cursor: pointer;
    width: auto;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    margin: 0;
    padding: 0 6px 0 32px;
}

#desktop #taskbar .taskbutton:hover {
    background-color: #fff;
}

/* Ikon butona ozel; yerlesimi .taskbutton veriyor. */
#desktop #taskbar #geteml {
    background-image: url('/img/admin_product.png');
}


/*
 * Mail bildiriminin alt kirilimi (erken erisim sekmeleri). Girintili ve
 * kucuk: ust kutuya bagli oldugu goze carpsin.
 */
.altkirilim {
    margin: 2px 0 4px 18px;
    border-left: 2px solid #ddd;
    padding-left: 8px;
    max-height: 132px;
    overflow-y: auto;
}

.altkirilim label {
    font-size: 10px;
}

/*
 * Firma suzgeci satiri (ornegin "AstraZeneca") sekme adlarindan ayri bir sey:
 * sekme adina degil icerige bakiyor. Listenin BASINDA (kullanici karari
 * 2026-09-12), altindaki sekme adlarindan ince bir cizgiyle ayrilmis - sekme
 * sanilmasin diye.
 */
.altkirilim .firmasuzgec {
    margin-bottom: 4px;
    padding-bottom: 4px;
    border-bottom: 1px solid #ddd;
}

/*
 * Kullanici formundaki "bu maili gonder" ikonu. Toolbar'daki tiklanabilir
 * ikonlarla ayni dil: notr gri, uzerine gelince tema mavisi.
 */
/*
 * Secici .ui-widget-content ile baslıyor: flick temasindaki
 * ".ui-widget-content .ui-icon" kurali iki sinif ozgullugunde ve ikonu pembe
 * (ff0084) sete dusuruyor. Tek sinifli bir kural onu yenemez.
 */
.ui-widget-content .mailtest {
    display: inline-block;
    vertical-align: middle;
    margin-left: 6px;
    cursor: pointer;
    background-image: url('/inc/css/flick/images/ui-icons_454545_256x240.png');
}

.ui-widget-content .mailtest:hover {
    background-image: url('/inc/css/flick/images/ui-icons_0073ea_256x240.png');
}

/* Taskbar ikonlari: yerlesim .taskbutton'da, ikon butona ozel. */
#desktop #taskbar #getee {
    /* Liste ekrani; zarf ikonu 2026-09-09'da mesajlar butonuna verildi. */
    background-image: url('/img/last_calls.png');
}

/*
 * Mesajlar: taskbar'in SAGINDA, kullanici adinin solunda, metinsiz acilir menu
 * (kullanici karari 2026-09-12). Bilesen dev.ecrin.tr'deki .taskgroup/.taskmenu
 * kalibindan uyarlandi; oradaki hali sola yaslı ve etiketli.
 *
 * Farklar: float sola degil SAGA, etiket yok (genislik ikon kadar), menu
 * sola dogru aciliyor (saga acilsa ekranin disina tasardi).
 */
#desktop #taskbar .taskgroup {
    position: relative;   /* .taskbadge'in dayanagi */
    float: right;
    width: 32px;
    height: 32px;
    margin: 0;
    /*
     * Etiketi olmadigi icin kutu ikon kadar dardi; yanlara nefes payi
     * verildi (kullanici notu 2026-09-12). Genislik padding ile buyuyor,
     * ikon `center` ile ortaliyor - width'i buyutup ikonu sola yaslamak
     * rozeti ikondan koparirdi.
     */
    padding: 0 7px;
    background-repeat: no-repeat;
    /*
     * Dikey ofset -3px'ten -1px'e: soldaki metinli dugmelerde ikonun altinda
     * yazi var ve -3px onlari dengeliyordu, burada yazi yok - ikon 2px asagi
     * inince satirin ortasina oturuyor.
     */
    background-position: center -1px;
    border-left: 2px solid #f9f9f9;
    cursor: pointer;
}

#desktop #taskbar .taskgroup:hover,
#desktop #taskbar .taskgroup.open {
    background-color: #fff;
}

#desktop #taskbar .taskmenu {
    display: none;
    position: absolute;
    bottom: 100%;
    /* Sag uca yaslı: sola dogru acilir, ekran disina tasmaz. */
    right: -1px;
    min-width: 150px;
    background: #fff;
    border: 1px solid #b8b8b8;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, .25);
    padding: 2px 0;
    margin-bottom: 5px;
    z-index: 65536;
}

#desktop #taskbar .taskgroup.open .taskmenu {
    display: block;
}

/*
 * Rozet kutunun degil IKONUN sag ust kosesine yapismali. .taskgroup'un yatay
 * padding'i 7px oldugu icin ofset de 7px - .taskbutton'daki 2px burada
 * rozeti ikondan koparirdi.
 */
#desktop #taskbar .taskgroup .taskbadge {
    right: 7px;
}

/*
 * Menu ogeleri taskbar'in kendi hizalama kurallarini (float, line-height,
 * text-align) devralmasin - !important'lar bunun icin.
 */
#desktop #taskbar .taskmenu > div {
    float: none;
    display: block;
    width: auto;
    height: 24px;
    line-height: 24px;
    text-align: left;
    white-space: nowrap;
    font-size: 11px;
    font-weight: 400;
    padding: 0 18px 0 12px;
    margin: 0;
    cursor: pointer;
}

#desktop #taskbar .taskmenu > div:hover {
    background-color: #dbe9f5;
}

#desktop #taskbar #getmessages {
    background-image: url('/img/admin_message.png');
}

/*
 * Kullanici adi bloku yoneticide tiklanabilir - kullanicilar ekranini aciyor
 * (ayri taskbar dugmesi 2026-09-12'de kaldirildi). Sinif yalnizca yonetici
 * hesabinda ekleniyor, yoksa imleç degismiyor.
 */
#desktop #taskbar #agentdata.tiklanir {
    cursor: pointer;
}

#desktop #taskbar #agentdata.tiklanir:hover {
    background-color: #fff;
}

/*
 * Yurtdisi ilac listesi.
 *
 * Ikon _old_site/img/admin_group.png'nin kopyasi (kitap) - taskbar'daki diger
 * ikonlarla AYNI setten geliyor, o yuzden kenar kalinligi, golge ve paleti
 * birebir tutuyor. Onceki deneme GD ile cizilmis bir dunya ikonuydu; ince ve
 * soluk kaldigi icin setin yaninda sirittiyordu (2026-09-12'de degistirildi).
 *
 * ⚠️ Yeni bir taskbar ikonu gerekirse once _old_site/img altindaki 32x32
 * dosyalara bak (excel, admin_pack, admin_invoice, admin_dashboard, user_get,
 * lock_go bos duruyor) - kendin cizme, set elle yapilmis.
 */
#desktop #taskbar #getyd {
    background-image: url('/img/book.png');
}

/*
 * Durum secimi: acilir kutu yerine yan yana uc radyo dugmesi (kullanici
 * karari 2026-09-12) - uc secenegin uculu de tek bakista gorunsun.
 */
.ydradio label {
    margin: 0 10px 0 3px;
    cursor: pointer;
}

.ydradio input[type="radio"] {
    vertical-align: middle;
    margin: 0;
}

/*
 * Barkod sayilardan olustugu icin DataTables sutunu otomatik "numeric" sayip
 * saga yasliyor. Barkod bir kimlik, miktar degil. Secici dt'nin kendi
 * kuralini yenecek ozgullukte - core.css'teki tek sinifli .ralig'in aksine
 * burada tam yol gerekiyor.
 */
div.dt-container table.dataTable td.lalig,
div.dt-container table.dataTable th.lalig {
    text-align: left;
}

/*
 * Okunmamis mesaj rozeti. Konumlandirma icin .taskbutton'a position: relative
 * gerekiyor (asagida); butonun baska mutlak konumlu cocugu yok, zararsiz.
 * Sayiyi app.js'teki setUnreadBadge basiyor, 0 olunca span kaldiriliyor -
 * yani bos rozet hic cizilmiyor.
 */
#desktop #taskbar .taskbadge {
    position: absolute;
    top: 1px;
    right: 2px;
    min-width: 14px;
    height: 14px;
    line-height: 14px;
    padding: 0 3px;
    box-sizing: border-box;
    border-radius: 7px;
    background: #d9482b;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    text-align: center;
}

/*
 * Mail onizlemesi. Govde gonderilen mailin kopyasi; mail istemcisinde nasil
 * gorunuyorsa oyle biraksin diye kendi tipografisini tasiyor, panelin
 * 11px Tahoma'sina zorlanmiyor.
 */
.mailonizleme .mailbaslik td {
    padding: 1px 4px 1px 0;
}

.mailonizleme .mailgovde {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.4;
    overflow-x: auto;
}

.mailonizleme .mailgovde table {
    border-collapse: collapse;
}

.mailonizleme .mailgovde td {
    padding: 2px 6px;
    vertical-align: top;
}

/*
 * core.css'teki sifirlama tum tablo/hucre kenarliklarini kaldiriyor; mail
 * govdesi ise <table border="1"> kullaniyor. Onizleme mailin gercekte nasil
 * gorundugunu gostermeli, o yuzden kenarlik geri veriliyor.
 */
.mailonizleme .mailgovde table[border] td,
.mailonizleme .mailgovde table[border] th {
    border: 1px solid #bbb;
}

/*
 * Dosya onizleme: sekmeler ve icerik.
 *
 * Pencere yeniden boyutlandirilinca icerik paneli de uzayip kisalsin diye
 * dikey flex: jQuery UI dialog icerik kutusuna (#dialogDosyaOnizleme_N) acik
 * bir yukseklik veriyor, .dosyaonizleme onu %100 dolduruyor, basliklar sabit
 * kalip bos alanin tamamini gorunen panel aliyor. Sabit max-height vardi,
 * pencere buyutulse de liste 380px'te kaydirmali kaliyordu.
 */
.dosyaonizleme {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.dosyaonizleme .mailbaslik {
    flex: none;
}

.dosyaonizleme .tabsdosya {
    font-size: 11px;
    padding: 4px;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.dosyaonizleme .tabsdosya .ui-tabs-nav {
    flex: none;
}

.dosyaonizleme .tabsdosya .ui-tabs-nav {
    padding: 2px 4px 0;
    white-space: nowrap;
}

/* Dosya adi tek satirda kalsin - dialog genisligi buna gore secildi. */
.dosyaonizleme .mailbaslik td {
    white-space: nowrap;
}

.dosyaonizleme .tabsdosya .ui-tabs-nav li a {
    padding: 3px 8px;
    font-size: 11px;
}

/* Gizli paneller jQuery UI'nin satir ici display:none'i ile kapaniyor. */
.dosyaonizleme .tabicerik {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}

.dosyaonizleme .tabicerik table {
    border-collapse: collapse;
}

.dosyaonizleme .tabicerik table[border] td {
    border: 1px solid #bbb;
    padding: 2px 6px;
    vertical-align: top;
}

/* Indirme ikonu: baglanti oldugu icin ui-icon'un metin gizlemesiyle uyumlu. */
.ui-widget-content a.indirikon,
.ui-widget-content a.rowopen.ui-icon {
    display: inline-block;
    vertical-align: middle;
    background-image: url('/inc/css/flick/images/ui-icons_454545_256x240.png');
}

.ui-widget-content a.indirikon:hover,
.ui-widget-content a.rowopen.ui-icon:hover {
    background-image: url('/inc/css/flick/images/ui-icons_0073ea_256x240.png');
}

/*
 * Pasif ikon. Tablolardaki karsiligi satir ici `opacity: .3` ile yaziliyor
 * (agentsData/erkenErisimData); burada durum JS ile degistigi icin sinif.
 * :hover kurallarini da ezmeli, yoksa pasifken maviye donerdi.
 */
.ui-widget-content a.indirikon.pasif,
.ui-widget-content a.indirikon.pasif:hover {
    opacity: .3;
    cursor: default;
    background-image: url('/inc/css/flick/images/ui-icons_454545_256x240.png');
}

/* Kullanici listesi: uzun adlar sutunu tasirmasin. */
#formDataAgents {
    table-layout: fixed;
}

#formDataAgents td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* --- DataTables ekranlari --- */

.dt-toolbar {
    display: flow-root;
}

.dt-toolbar img {
    vertical-align: middle;
}

.dt-toolbar select,
.dt-toolbar input[type="text"],
.dt-toolbar .ui-icon {
    vertical-align: middle;
}

.dt-toolbar .toolbaricon {
    display: inline-block;
    margin: 0 3px 0 6px;
    cursor: pointer;
    /* Kalem ikonuyla ayni sebep: flick temasi ui-widget-content icinde pembe
       ikon setine dusuyor. */
    background-image: url('/inc/css/flick/images/ui-icons_454545_256x240.png');
}

.dt-toolbar .toolbaricon:hover {
    background-image: url('/inc/css/flick/images/ui-icons_0073ea_256x240.png');
}

/*
 * Yanindaki alani etiketleyen ikon (ornegin suzgec kutusunun solundaki zarf).
 * .toolbaricon ile ayni ton ve hizada ama tiklanabilir degil: imleci
 * degistirmiyor, uzerine gelince mavi olmuyor - yoksa dugme sanilir.
 */
.dt-toolbar .toolbarlabelicon {
    display: inline-block;
    margin: 0 3px 0 6px;
    background-image: url('/inc/css/flick/images/ui-icons_454545_256x240.png');
}

/*
 * PNG etiket ikonu (mesajlar ekranindaki kutu/durum). .toolbarlabelicon
 * KULLANILAMAZ: o kural sprite'i background-image olarak veriyor, seffaf bir
 * <img>'in arkasindan sizardi. Burada gereken yalnizca hizalama ve
 * .toolbaricon ile ayni bosluk.
 */
.dt-toolbar .toolbarpngicon {
    vertical-align: middle;
    margin: 0 3px 0 6px;
}

/*
 * Satir acma kalemi. flick temasinda ".ui-widget-content .ui-icon" pembe
 * (ff0084) ikon setine dusuyor - tablo icinde cirkin duruyordu. Notr griye
 * cekildi, satirin uzerine gelince tema mavisine doner.
 */
table.dataTable .ui-icon {
    background-image: url('/inc/css/flick/images/ui-icons_454545_256x240.png');
    /* Hucre ortalamasi tek basina yetmiyor: inline-block ikon taban cizgisine
       oturdugu icin birkac piksel asagi kayiyordu. */
    vertical-align: middle;
}

/* Mavi vurgu yalnizca tiklanabilir ikonlarda - devre disi olanlar gri kalir. */
table.dataTable tbody tr:hover .ui-icon.rowopen {
    background-image: url('/inc/css/flick/images/ui-icons_0073ea_256x240.png');
}

div.dt-processing {
    font-size: 0;
}

div.dt-processing > div:last-child {
    font-size: 1rem;
}

div.dt-container table.dataTable td.center,
div.dt-container table.dataTable th.center {
    padding-left: 5px;
    padding-right: 5px;
    text-align: center;
    /*
     * core.css'teki sifirlama hucreleri baseline'a cekiyor; komsu hucre iki
     * satira tastiginda ikon yukarida asili kaliyordu. Ikon sutunlari dikeyde
     * ortalanir.
     */
    vertical-align: middle;
}

/*
 * Tam genislikli form dugmeleri (.formbutton) ve giris formu alanlari.
 *
 * Serviste olan tema (flick/compat-1.14.css) .ui-button'a box-sizing VERMIYOR;
 * "padding: .1em 1em !important" ve 1px kenarlik width'e EKLENIYOR. Bu yuzden
 * width:100% verilen dugmeler hucrelerinden ~28px tasiyordu.
 *
 * box-sizing global olarak .ui-button'a verilemez: dialog kapatma dugmesi ve
 * DataTables sayfalama dugmeleri de o sinifi tasiyor. Bu yuzden tam genislik
 * isteyen dugmeler .formbutton sinifiyla isaretleniyor
 * (login.php, agentEdit.php, emlEdit.php).
 *
 * Genislikler artik satir ici style yerine burada; #logindiv alanlari da ayni
 * kutu modeline gecti ki dugmeyle sag kenarlari hizalansin.
 */
.formbutton {
    box-sizing: border-box;
    width: 100%;
}

#logindiv input[type="text"],
#logindiv input[type="password"] {
    box-sizing: border-box;
    width: 100%;
}

/*
 * valign="top" niteliğini yeniden etkin kılar.
 *
 * core.css'teki genel sıfırlama tüm hücrelere "vertical-align: baseline"
 * veriyor ve bu, HTML'deki valign niteliğini eziyor. Yan yana bir etiket ve
 * uzun bir textarea olduğunda etiket textarea'nın ALT kenarına hizalanıyordu
 * (mesaj formunda ve okuma penceresinde böyle görüldü, 2026-09-09).
 *
 * Nitelik kodda zaten yazılı olduğu için en dürüst düzeltme onu çalışır hale
 * getirmek; seçici yalnızca valign="top" yazan hücreleri tutuyor, başka
 * hiçbir tabloyu etkilemiyor.
 */
td[valign="top"] {
    vertical-align: top;
}
