/*
 * Tema (wwwroot/theme) ÜZERİNE binen kendi düzeltmelerimiz.
 * Bu dosya style.css'ten SONRA yüklendiği için aynı özgüllükteki kurallar burayı kazanır.
 */

/*
 * KURUMSAL RENK — Flamingo #e35b5a
 * Temanın turkuazı (#25A194) yerine geçer. Tema tüm birincil renkleri
 * --primary-* değişkenleri üzerinden okuduğu ve style.css'te bu skalanın dışında
 * sabit kodlanmış marka rengi bulunmadığı için skalayı ezmek tamamını değiştirir.
 * Ara tonlar #e35b5a'nın beyaz/siyah ile karışımından türetildi.
 */
:root {
    --primary-50: #FDF4F3;
    --primary-100: #e35b5a2e;
    --primary-200: #F5C6C5;
    --primary-300: #F0A5A4;
    --primary-400: #EA8483;
    --primary-500: #E66B6A;
    --primary-600: #E35B5A;
    --primary-700: #BA4B4A;
    --primary-800: #943B3B;
    --primary-900: #662929;
}

/* Flamingo logosu temanınkinden geniş — giriş/parola ekranlarında sınırla */
.auth-logo {
    max-width: 240px;
    height: auto;
}

/*
 * Giriş ekranı ekrana sabitlenir, sayfa kaymaz.
 * Soldaki görsel doğal yüksekliğiyle sayfayı uzatıyordu; yüksekliği viewport'a
 * kilitleyip taşmayı formun kendi içine alıyoruz. 100dvh mobil tarayıcılarda
 * adres çubuğu açılıp kapandığında zıplamayı önler, 100vh onu desteklemeyenler için.
 */
.auth-page {
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
}

.auth-page__visual {
    height: 100%;
}

/* Küçük ekranda görsel gizli; form uzarsa sayfa değil form kendi içinde kaysın */
.auth-page__form {
    height: 100%;
    overflow-y: auto;
}

/*
 * Quill metin editörü.
 * Quill, verilen elemanı .ql-container'a çevirir ve araç çubuğunu onun ÜSTÜNE
 * kardeş eleman olarak ekler. Kaba açık bir yükseklik verilmezse kutu 0px kalır,
 * içerik de alttaki butonların üzerine taşar — bu yüzden height zorunlu.
 */
.ql-container {
    height: 200px;
}

/* Kenarlık ve köşeleri temanın form alanlarıyla aynı hizaya getir */
.ql-toolbar.ql-snow,
.ql-container.ql-snow {
    border-color: var(--neutral-300);
}

.ql-toolbar.ql-snow {
    border-radius: 8px 8px 0 0;
}

.ql-container.ql-snow {
    border-radius: 0 0 8px 8px;
}

.ql-editor {
    font-size: var(--font-sm);
}

.ql-editor.ql-blank::before {
    font-style: normal;
    color: var(--neutral-400);
}

/* Quill etiketleri CSS content ile geliyor; Türkçeleştiriyoruz */
.ql-snow .ql-picker.ql-header .ql-picker-label::before,
.ql-snow .ql-picker.ql-header .ql-picker-item::before {
    content: 'Normal';
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
    content: 'Başlık 1';
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
    content: 'Başlık 2';
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
    content: 'Başlık 3';
}

.ql-snow .ql-tooltip::before {
    content: "Bağlantı:";
}

.ql-snow .ql-tooltip[data-mode="link"]::before {
    content: "Bağlantı girin:";
}

.ql-snow .ql-tooltip a.ql-action::after {
    content: 'Düzenle';
}

.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
    content: 'Kaydet';
}

.ql-snow .ql-tooltip a.ql-remove::before {
    content: 'Kaldır';
}

/* Türkçe metinlerde tema başlıkları biraz dar kalıyor */
.breadcrumb h6 {
    line-height: 1.4;
}

/*
 * Sınav notu girişi — satırlar gereğinden uzun duruyordu.
 * Tema, metin taşıyan tablolar için .bordered-table hücrelerine 16px veriyor;
 * bu tabloda hücrede 40px'lik bir input var, üstteki ve alttaki 16px ile satır
 * 72px'e çıkıyor. Seçici temanınkiyle aynı özgüllükte, app.css sonra yüklendiği
 * için kazanıyor.
 */
.exam-notes-table tbody tr td {
    padding-block: var(--size-8) !important;
}

/*
 * Hata yokken de span akışta duruyor ve kendi satır kutusunu üreterek hücreyi
 * ~20px uzatıyor — tablo içindeki dar alanlarda bu fark satırı belirgin şekilde
 * şişiriyordu. Hata oluştuğunda jQuery sınıfı .field-validation-error ile
 * değiştirdiği için mesaj yine görünür.
 */
.field-validation-valid {
    display: none;
}

/* asp-validation-for ile üretilen alan hataları */
.field-validation-error {
    display: inline-block;
    margin-top: .25rem;
    font-size: .8125rem;
    color: var(--danger-600, #dc2626);
}

.input-validation-error {
    border-color: var(--danger-600, #dc2626) !important;
}
