/* ==========================================================================
   Destekler Yönetim Paneli — Ortak Tasarım Sistemi
   Tüm sayfalar bu dosyayı kullanır. Sayfaya özel <style> YAZMAYIN;
   yeni bir bileşen gerekiyorsa bu dosyaya ekleyin.
   ========================================================================== */

:root {
    /* Marka renkleri (logodan alındı) */
    --lacivert:        #2b2a68;
    --lacivert-koyu:   #1e1d4d;
    --lacivert-acik:   #3d3b8f;
    --yesil:           #17743c;
    --yesil-acik:      #1e9450;

    /* Arayüz */
    --zemin:           #f2f4f9;
    --kart:            #ffffff;
    --metin:           #1f2430;
    --soluk:           #6b7280;
    --kenarlik:        #e3e7f0;

    /* Durum renkleri */
    --kirmizi:         #dc3545;
    --turuncu:         #e08a1e;
    --sari:            #d4a017;
    --mavi:            #2b6fd6;
    --mor:             #7c4dbd;

    --golge:           0 1px 2px rgba(20,24,44,.05), 0 8px 24px rgba(20,24,44,.06);
    --golge-yumusak:   0 1px 2px rgba(20,24,44,.05);
    --yuvarlak:        12px;
    --yuvarlak-kucuk:  8px;

    --menu-genislik:   258px;
    --ust-yukseklik:   64px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: 'Segoe UI', system-ui, -apple-system, Roboto, Tahoma, sans-serif;
    background: var(--zemin);
    color: var(--metin);
    font-size: 14px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

/* ==========================================================================
   1. İSKELET — Solda sabit menü, sağda içerik
   ========================================================================== */

.kenar {
    position: fixed;
    top: 0; left: 0; bottom: 0;
    width: var(--menu-genislik);
    background: linear-gradient(180deg, var(--lacivert) 0%, var(--lacivert-koyu) 100%);
    display: flex;
    flex-direction: column;
    z-index: 1000;
    transition: transform .28s ease;
}

.kenar-logo {
    height: var(--ust-yukseklik);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    flex-shrink: 0;
}
.kenar-logo img { max-width: 100%; max-height: 34px; display: block; }

.kenar-menu { flex: 1; overflow-y: auto; padding: 16px 12px; }
.kenar-baslik {
    color: rgba(255,255,255,.42);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    padding: 14px 12px 8px;
}
.kenar-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    margin-bottom: 4px;
    color: rgba(255,255,255,.78);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    border-radius: var(--yuvarlak-kucuk);
    border-left: 3px solid transparent;
    transition: background .18s, color .18s;
}
.kenar-link:hover { background: rgba(255,255,255,.08); color: #fff; }
.kenar-link.aktif {
    background: rgba(30,148,80,.22);
    border-left-color: var(--yesil-acik);
    color: #fff;
    font-weight: 600;
}
.kenar-link .ikon { font-size: 17px; width: 22px; text-align: center; flex-shrink: 0; }

.kenar-alt { padding: 14px 16px; border-top: 1px solid rgba(255,255,255,.1); flex-shrink: 0; }
.kenar-cikis {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 10px;
    background: rgba(255,255,255,.08);
    color: #fff;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--yuvarlak-kucuk);
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    transition: background .18s;
}
.kenar-cikis:hover { background: var(--kirmizi); border-color: var(--kirmizi); }

.perde { display: none; position: fixed; inset: 0; background: rgba(15,18,32,.5); z-index: 999; }
.perde.acik { display: block; }

.govde { margin-left: var(--menu-genislik); min-height: 100vh; display: flex; flex-direction: column; }

/* Üst bar */
.ustbar {
    position: sticky;
    top: 0;
    z-index: 900;
    min-height: var(--ust-yukseklik);
    background: #fff;
    border-bottom: 1px solid var(--kenarlik);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 24px;
    flex-wrap: wrap;
}
.ustbar-sol { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ustbar h1 {
    font-size: 18px;
    font-weight: 700;
    color: var(--lacivert);
    display: flex;
    align-items: center;
    gap: 9px;
    white-space: nowrap;
}
.ustbar-islemler { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.menu-dugme {
    display: none;
    width: 40px; height: 40px;
    background: var(--zemin);
    border: 1px solid var(--kenarlik);
    border-radius: var(--yuvarlak-kucuk);
    cursor: pointer;
    font-size: 18px;
    color: var(--lacivert);
    flex-shrink: 0;
}

.icerik { padding: 24px; flex: 1; }
.kapsayici { max-width: 1400px; margin: 0 auto; }

/* ==========================================================================
   2. KARTLAR
   ========================================================================== */

.kart {
    background: var(--kart);
    border: 1px solid var(--kenarlik);
    border-radius: var(--yuvarlak);
    box-shadow: var(--golge-yumusak);
    padding: 20px;
    margin-bottom: 20px;
}
.kart-baslik {
    font-size: 15px;
    font-weight: 700;
    color: var(--lacivert);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--kenarlik);
    display: flex;
    align-items: center;
    gap: 8px;
}
/* Aç/kapa panelleri (form alanları) */
.acilir { display: none; }
.acilir.acik { display: block; }

/* ==========================================================================
   3. ÖZET KUTULARI
   ========================================================================== */

.ozet-satir {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}
.ozet-kutu {
    background: var(--kart);
    border: 1px solid var(--kenarlik);
    border-left: 4px solid var(--lacivert);
    border-radius: var(--yuvarlak);
    box-shadow: var(--golge-yumusak);
    padding: 16px 18px;
}
.ozet-kutu .etiket {
    font-size: 12px;
    font-weight: 600;
    color: var(--soluk);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 6px;
}
.ozet-kutu .deger { font-size: 22px; font-weight: 700; color: var(--metin); white-space: nowrap; }
.ozet-kutu.yesil   { border-left-color: var(--yesil-acik); }
.ozet-kutu.yesil .deger   { color: var(--yesil); }
.ozet-kutu.mavi    { border-left-color: var(--mavi); }
.ozet-kutu.mavi .deger    { color: var(--mavi); }
.ozet-kutu.turuncu { border-left-color: var(--turuncu); }
.ozet-kutu.turuncu .deger { color: #b06a0c; }
.ozet-kutu.kirmizi { border-left-color: var(--kirmizi); }
.ozet-kutu.kirmizi .deger { color: var(--kirmizi); }

/* ==========================================================================
   4. FORMLAR
   ========================================================================== */

label { display: block; font-weight: 600; font-size: 12.5px; color: #4b5563; margin-bottom: 6px; }

input[type=text], input[type=number], input[type=date], input[type=password],
input[type=file], select, textarea {
    width: 100%;
    height: 42px;
    padding: 9px 12px;
    border: 1px solid var(--kenarlik);
    border-radius: var(--yuvarlak-kucuk);
    background: #fff;
    font-size: 14px;
    font-family: inherit;
    color: var(--metin);
    transition: border-color .15s, box-shadow .15s;
}
textarea { height: auto; min-height: 76px; resize: vertical; }
input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--lacivert-acik);
    box-shadow: 0 0 0 3px rgba(61,59,143,.12);
}
input[readonly] { background: #f5f6fa; color: var(--soluk); }

.izgara-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.izgara-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.izgara-oto { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.alan { margin-bottom: 14px; }

.secim-grup {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    background: #f8f9fc;
    border: 1px solid var(--kenarlik);
    border-radius: var(--yuvarlak-kucuk);
    padding: 12px;
}
.secim-grup.dikey { flex-direction: column; }
.secim {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    font-size: 13px;
    color: var(--metin);
    cursor: pointer;
    margin: 0;
}
.secim input { width: auto; height: auto; margin: 0; accent-color: var(--lacivert); }
.secim.uyari { color: var(--kirmizi); font-weight: 600; }

.form-alt { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }

/* ==========================================================================
   5. BUTONLAR
   ========================================================================== */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: 40px;
    padding: 0 16px;
    border: none;
    border-radius: var(--yuvarlak-kucuk);
    background: var(--lacivert);
    color: #fff;
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: filter .18s, background .18s;
}
.btn:hover { filter: brightness(1.12); }
.btn-yesil   { background: var(--yesil); }
.btn-turuncu { background: var(--turuncu); }
.btn-kirmizi { background: var(--kirmizi); }
.btn-mavi    { background: var(--mavi); }
.btn-mor     { background: var(--mor); }
.btn-gri     { background: #6b7280; }
.btn-hayalet { background: #fff; color: var(--lacivert); border: 1px solid var(--kenarlik); }
.btn-hayalet:hover { background: var(--zemin); filter: none; }
.btn-blok { width: 100%; }
.btn-kucuk { height: 34px; padding: 0 12px; font-size: 12.5px; }

/* ==========================================================================
   6. TABLO
   ========================================================================== */

.tablo-sarmal {
    background: var(--kart);
    border: 1px solid var(--kenarlik);
    border-radius: var(--yuvarlak);
    box-shadow: var(--golge-yumusak);
    overflow: hidden;
}
.tablo-ust {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    padding: 16px 20px;
    border-bottom: 1px solid var(--kenarlik);
}
.tablo-ust h2 { font-size: 15px; font-weight: 700; color: var(--lacivert); }
.tablo-kaydir { overflow-x: auto; -webkit-overflow-scrolling: touch; }

table.tablo { width: 100%; border-collapse: collapse; min-width: 760px; }
table.tablo.genis { min-width: 940px; }
table.tablo th {
    background: #f7f8fc;
    color: var(--lacivert);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    text-align: left;
    padding: 12px 14px;
    border-bottom: 1px solid var(--kenarlik);
    white-space: nowrap;
}
table.tablo td {
    padding: 12px 14px;
    border-bottom: 1px solid #f0f2f7;
    font-size: 13.5px;
    vertical-align: middle;
}
table.tablo tbody tr:last-child td { border-bottom: none; }
table.tablo tbody tr:hover { background: #fafbfe; }
.bos-satir { text-align: center; color: var(--soluk); padding: 36px 14px !important; }

.rozet { display: inline-block; padding: 4px 10px; border-radius: 20px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.tutar { font-weight: 700; white-space: nowrap; }
.tutar.yesil { color: var(--yesil); }
.tutar.kirmizi { color: var(--kirmizi); }

.satir-islem { display: flex; gap: 10px; white-space: nowrap; }
.baglanti-duzenle { color: var(--mavi); font-weight: 600; cursor: pointer; text-decoration: none; }
.baglanti-sil { color: var(--kirmizi); font-weight: 600; cursor: pointer; text-decoration: none; }
.tik-kutusu { width: 20px; height: 20px; cursor: pointer; accent-color: var(--yesil); }

/* ==========================================================================
   7. UYARI MESAJLARI
   ========================================================================== */

.alert {
    padding: 13px 16px;
    border-radius: var(--yuvarlak-kucuk);
    margin-bottom: 20px;
    font-weight: 600;
    font-size: 13.5px;
    border-left: 4px solid;
}
.alert.success { background: #e7f6ec; color: #14663a; border-color: var(--yesil-acik); }
.alert.error   { background: #fdeaec; color: #a3212e; border-color: var(--kirmizi); }
.alert.info    { background: #e8f0fc; color: #1c4f9c; border-color: var(--mavi); }

/* ==========================================================================
   8. MODAL
   ========================================================================== */

.modal { display: none; position: fixed; inset: 0; background: rgba(15,18,32,.55); z-index: 2000; padding: 16px; overflow-y: auto; }
.modal.acik { display: flex; align-items: flex-start; justify-content: center; }
.modal-kutu {
    background: #fff;
    border-radius: var(--yuvarlak);
    width: 100%;
    max-width: 520px;
    margin: auto;
    box-shadow: 0 20px 50px rgba(15,18,32,.3);
    animation: modalGir .2s ease;
}
@keyframes modalGir { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
.modal-ust { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--kenarlik); }
.modal-ust h2 { font-size: 16px; font-weight: 700; color: var(--lacivert); }
.modal-kapat { background: none; border: none; font-size: 26px; line-height: 1; color: #9aa1ad; cursor: pointer; padding: 0 4px; }
.modal-kapat:hover { color: var(--kirmizi); }
.modal-govde { padding: 20px; }
.modal-not { font-size: 12.5px; color: var(--soluk); margin-bottom: 14px; }

/* ==========================================================================
   9. TAKVİM & NOTLAR (anasayfa)
   ========================================================================== */

/* Üstte yaklaşan liste, altta takvim — ikisi de tam genişlik */
.takvim-duzen { display: flex; flex-direction: column; gap: 20px; }

.takvim-ust {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.takvim-ay { font-size: 17px; font-weight: 700; color: var(--lacivert); }
.takvim-gezinme { display: flex; gap: 6px; }
.takvim-ok {
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    background: #fff;
    border: 1px solid var(--kenarlik);
    border-radius: var(--yuvarlak-kucuk);
    color: var(--lacivert);
    font-weight: 700;
    text-decoration: none;
}
.takvim-ok:hover { background: var(--zemin); }

.takvim-izgara { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.takvim-gun-adi {
    text-align: center;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--soluk);
    text-transform: uppercase;
    letter-spacing: .04em;
    padding-bottom: 6px;
}
.takvim-hucre {
    background: #fff;
    border: 1px solid var(--kenarlik);
    border-radius: var(--yuvarlak-kucuk);
    min-height: 96px;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
}
.takvim-hucre:hover { border-color: var(--lacivert-acik); box-shadow: 0 0 0 3px rgba(61,59,143,.1); }
.takvim-hucre.bos { background: #f7f8fb; border-style: dashed; cursor: default; }
.takvim-hucre.bos:hover { border-color: var(--kenarlik); box-shadow: none; }
.takvim-hucre.hafta-sonu { background: #fbfcfe; }
.takvim-hucre.bugun { border-color: var(--yesil-acik); box-shadow: 0 0 0 2px rgba(30,148,80,.18); }
.takvim-gun-no { font-size: 12.5px; font-weight: 700; color: var(--soluk); }
.takvim-hucre.bugun .takvim-gun-no {
    background: var(--yesil-acik);
    color: #fff;
    width: 23px; height: 23px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
}
.takvim-not {
    font-size: 10.5px;
    font-weight: 600;
    padding: 2px 5px;
    border-radius: 4px;
    border-left: 3px solid;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.takvim-fazla { font-size: 10px; color: var(--soluk); font-weight: 600; padding-left: 2px; }

/* Durum renkleri — hem takvimde hem listede kullanılır */
.durum-gecti     { background: #fdeaec; color: #a3212e; border-color: var(--kirmizi); }
.durum-bugun     { background: #fff2e0; color: #9a5a04; border-color: var(--turuncu); }
.durum-yaklasan  { background: #fdf6dc; color: #8a6608; border-color: var(--sari); }
.durum-ileri     { background: #e8f0fc; color: #1c4f9c; border-color: var(--mavi); }
.durum-tamam     { background: #e7f6ec; color: #14663a; border-color: var(--yesil-acik); text-decoration: line-through; opacity: .8; }

/* Finans sayfasından gelen çek vadeleri (takvimde salt-okunur) */
.takvim-cek { background: #efe9fb; color: #5b2d86; border-color: var(--mor); }
.takvim-cek:hover { filter: brightness(.96); }

.not-listesi { display: flex; flex-direction: column; gap: 12px; }
.not-satir {
    border: 1px solid var(--kenarlik);
    border-left: 5px solid;
    border-radius: var(--yuvarlak-kucuk);
    padding: 15px 17px;
    background: #fff;
}
.not-satir.durum-gecti    { border-left-color: var(--kirmizi); }
.not-satir.durum-bugun    { border-left-color: var(--turuncu); }
.not-satir.durum-yaklasan { border-left-color: var(--sari); }
.not-satir.durum-ileri    { border-left-color: var(--mavi); }
.not-satir.durum-tamam    { border-left-color: var(--yesil-acik); background: #fafefb; }
/* Finanstan gelen çek satırı */
.not-satir.tip-cek { border-left-color: var(--mor); background: #fcfaff; }
.not-satir.tip-cek .not-baslik { color: #4a2472; }
.not-tutar { font-weight: 700; font-size: 16px; color: var(--kirmizi); white-space: nowrap; }
.not-satir .not-ust { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 5px; }
.not-satir .not-baslik { font-weight: 700; font-size: 15.5px; color: var(--metin); line-height: 1.35; }
.not-satir.durum-tamam .not-baslik { text-decoration: line-through; color: var(--soluk); }
.not-satir .not-tarih { font-size: 13.5px; color: var(--metin); font-weight: 700; white-space: nowrap; }
.not-satir .not-aciklama { font-size: 14px; color: #4b5563; margin: 8px 0; white-space: pre-wrap; }
.not-satir .not-alt { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; flex-wrap: wrap; }
.not-eylem { display: flex; gap: 12px; }

.renk-imza { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12px; font-weight: 600; color: var(--soluk); }
.renk-imza span { display: inline-flex; align-items: center; gap: 6px; }
.renk-imza i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }

/* ==========================================================================
   9a. BİLGİ KARTLARI (yemek sayfaları — link / id / şifre / not)
   ========================================================================== */

.bilgi-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 18px; }
.bilgi-karti {
    background: var(--kart);
    border: 1px solid var(--kenarlik);
    border-top: 4px solid var(--lacivert);
    border-radius: var(--yuvarlak);
    box-shadow: var(--golge-yumusak);
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.bilgi-karti h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--lacivert);
    display: flex;
    align-items: center;
    gap: 8px;
    word-break: break-word;
}
.bilgi-satir {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: #f8f9fc;
    border: 1px solid var(--kenarlik);
    border-radius: var(--yuvarlak-kucuk);
    padding: 9px 12px;
}
.bilgi-satir .etiket {
    font-size: 11px;
    font-weight: 700;
    color: var(--soluk);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 3px;
}
.bilgi-deger {
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--metin);
    word-break: break-all;
}
.bilgi-eylem { display: flex; gap: 2px; flex-shrink: 0; }
.mini-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
    padding: 5px 6px;
    border-radius: 6px;
    color: var(--soluk);
}
.mini-btn:hover { background: #fff; color: var(--lacivert); }
.bilgi-not {
    font-size: 13.5px;
    color: #4b5563;
    background: #fffdf3;
    border: 1px dashed #e6d9a8;
    border-radius: var(--yuvarlak-kucuk);
    padding: 10px 12px;
    white-space: pre-wrap;
}
.bilgi-alt { display: flex; gap: 10px; margin-top: auto; padding-top: 4px; }

/* ==========================================================================
   9b. SEKMELER
   ========================================================================== */

.sekme-bar {
    display: flex;
    gap: 6px;
    background: #fff;
    border: 1px solid var(--kenarlik);
    border-radius: var(--yuvarlak);
    padding: 6px;
    margin-bottom: 20px;
    box-shadow: var(--golge-yumusak);
    overflow-x: auto;
}
.sekme-dugme {
    flex: 1;
    min-width: 150px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 42px;
    padding: 0 14px;
    border: none;
    background: transparent;
    border-radius: var(--yuvarlak-kucuk);
    color: var(--soluk);
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background .18s, color .18s;
}
.sekme-dugme:hover { background: var(--zemin); color: var(--lacivert); }
.sekme-dugme.aktif { background: var(--lacivert); color: #fff; }
.sekme-icerik { display: none; }
.sekme-icerik.aktif { display: block; }

/* ==========================================================================
   10. MOBİL UYUM
   ========================================================================== */

@media (max-width: 1320px) {
    .takvim-hucre { min-height: 84px; }
}

@media (max-width: 992px) {
    .kenar { transform: translateX(-100%); box-shadow: 6px 0 24px rgba(15,18,32,.2); }
    .kenar.acik { transform: translateX(0); }
    .govde { margin-left: 0; }
    .menu-dugme { display: flex; align-items: center; justify-content: center; }
    .ustbar { padding: 10px 16px; }
    .ustbar h1 { font-size: 16px; }
    .icerik { padding: 16px; }
    .izgara-3, .izgara-2 { grid-template-columns: 1fr; }
    .ustbar-islemler { width: 100%; }
    .ustbar-islemler .btn { flex: 1 1 auto; }
}

@media (max-width: 640px) {
    .takvim-izgara { gap: 4px; }
    .takvim-hucre { min-height: 62px; padding: 4px; }
    .takvim-gun-adi { font-size: 10px; }
    .takvim-gun-no { font-size: 11px; }
    .takvim-not { font-size: 0; padding: 0; height: 6px; border-radius: 3px; border-left-width: 0; }
    .takvim-fazla { display: none; }
}

@media (max-width: 520px) {
    .kart { padding: 16px; }
    .ozet-satir { grid-template-columns: 1fr; }
    .tablo-ust { padding: 14px 16px; }
    .form-alt .btn { width: 100%; }
    .modal-kutu { max-width: 100%; }
}

/* ==========================================================================
   11. GİRİŞ EKRANI
   ========================================================================== */

body.giris-sayfasi {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 20px;
    background: linear-gradient(135deg, var(--lacivert) 0%, var(--lacivert-koyu) 55%, #14522c 100%);
}
.giris-kutu {
    background: #fff;
    width: 100%;
    max-width: 420px;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(10,12,26,.35);
    overflow: hidden;
}
.giris-ust { padding: 30px 32px 18px; text-align: center; border-bottom: 1px solid var(--kenarlik); }
.giris-ust img { max-width: 210px; width: 100%; display: block; margin: 0 auto 12px; }
.giris-ust p { font-size: 13px; color: var(--soluk); font-weight: 600; }
.giris-govde { padding: 26px 32px 32px; }
.giris-govde .alan { margin-bottom: 16px; }

@media (max-width: 420px) {
    .giris-ust { padding: 24px 20px 16px; }
    .giris-govde { padding: 22px 20px 26px; }
}

/* ==========================================================================
   12. YAZDIRMA (A4)
   ========================================================================== */

@media print {
    @page { size: A4 portrait; margin: 10mm; }
    .kenar, .ustbar, .perde, .no-print, .modal { display: none !important; }
    body { background: #fff; font-size: 12px; }
    .govde { margin-left: 0 !important; }
    .icerik { padding: 0 !important; }
    .kart, .tablo-sarmal, .ozet-kutu {
        box-shadow: none !important;
        border: none !important;
        padding: 0 !important;
        margin-bottom: 8px !important;
    }
    .ozet-satir { display: flex; gap: 12px; }
    .ozet-kutu { border: 1.5px solid #000 !important; padding: 6px 12px !important; border-radius: 4px; }
    .ozet-kutu .deger { color: #000 !important; font-size: 14px; }
    .tablo-kaydir { overflow: visible !important; }
    table.tablo, table.tablo.genis { min-width: 100% !important; border: 1px solid #000; }
    table.tablo th {
        background: #eee !important; color: #000 !important;
        border: 1px solid #000; padding: 6px !important; font-size: 11px !important;
        -webkit-print-color-adjust: exact; print-color-adjust: exact;
    }
    table.tablo td { border: 1px solid #bbb; padding: 6px !important; font-size: 11px !important; }
    .rozet { background: none !important; color: #000 !important; padding: 0 !important; font-weight: 700; }
    .tutar { color: #000 !important; }
    thead { display: table-header-group; }
    tr { page-break-inside: avoid; }
}
