/* ------------------------------------------------------------------
   Ahenk Tetkik İsteme Ekranı
   Görsel dil: karbon kopyalı laboratuvar istek föyü.
   Kağıt tonu zemin, mürekkep mavisi vurgu, seçili satırlarda karbon sarısı.
   ------------------------------------------------------------------ */

:root {
    --kagit:        #E8EDF1;
    --yuzey:        #FFFFFF;
    --yuzey-ikinci: #F5F8FA;
    --murekkep:     #12212C;
    --murekkep-ara: #4A5D6B;
    --murekkep-soluk: #7B8B97;
    --damga:        #1B4F72;
    --damga-acik:   #2E6F9E;
    --karbon:       #FFF3CC;
    --karbon-cizgi: #E0C97A;
    --cizgi:        #C7D2DB;
    --cizgi-ince:   #DDE5EA;
    --uyari:        #9B3D28;
    --olumlu:       #1F6B4A;

    --yazi: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --mono: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Consolas, "Liberation Mono", monospace;

    --golge: 0 1px 2px rgba(18, 33, 44, .08), 0 4px 16px rgba(18, 33, 44, .06);
}

* { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
    background: var(--kagit);
    color: var(--murekkep);
    font-family: var(--yazi);
    font-size: 14px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

a { color: var(--damga); }

:focus-visible {
    outline: 2px solid var(--damga-acik);
    outline-offset: 2px;
}

/* ---------- Üst şerit ---------- */

.ust-serit {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 0 20px;
    height: 52px;
    background: var(--damga);
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 40;
}

.ust-marka { display: flex; align-items: baseline; gap: 10px; }

.marka-kisa {
    font-weight: 700;
    letter-spacing: .01em;
    font-size: 15px;
    white-space: nowrap;
}

.marka-uzun {
    font-size: 12px;
    color: rgba(255,255,255,.65);
    letter-spacing: .02em;
}

.ust-menu { display: flex; gap: 4px; margin-left: 8px; }

.ust-menu a {
    color: rgba(255,255,255,.82);
    text-decoration: none;
    padding: 6px 11px;
    border-radius: 4px;
    font-size: 13px;
}

.ust-menu a:hover { background: rgba(255,255,255,.13); color: #fff; }

.ust-kimlik {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
}

.kimlik-ad { color: rgba(255,255,255,.9); }

.ince-baglanti {
    color: rgba(255,255,255,.7);
    text-decoration: none;
    font-size: 12px;
    border-bottom: 1px solid rgba(255,255,255,.3);
}
.ince-baglanti:hover { color: #fff; }

.ust-kimlik form { margin: 0; }

.cikis-dugmesi {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.25);
    color: #fff;
    padding: 5px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    font-family: inherit;
}
.cikis-dugmesi:hover { background: rgba(255,255,255,.22); }

.rozet {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 3px;
}
.rozet-doktor   { background: var(--karbon); color: #6B4E00; }
.rozet-sekreter { background: rgba(255,255,255,.18); color: #fff; }

/* ---------- Gövde ---------- */

.govde { padding: 18px 20px 40px; }
.govde-acik { padding: 0; }

.bildirim {
    padding: 10px 14px;
    border-radius: 5px;
    margin-bottom: 14px;
    font-size: 13px;
    border-left: 3px solid;
}
.bildirim-olumlu { background: #E8F4EE; border-color: var(--olumlu); color: #16543A; }
.bildirim-uyari  { background: #FBEDE9; border-color: var(--uyari);  color: #7A2F1E; }

/* ---------- Giriş ekranı ---------- */

.giris-sahne {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        repeating-linear-gradient(
            0deg,
            transparent 0 27px,
            rgba(27, 79, 114, .05) 27px 28px
        ),
        var(--kagit);
}

.giris-kart {
    width: 100%;
    max-width: 380px;
    background: var(--yuzey);
    border: 1px solid var(--cizgi);
    border-radius: 6px;
    box-shadow: var(--golge);
    overflow: hidden;
}

.giris-baslik {
    padding: 22px 26px 18px;
    border-bottom: 1px solid var(--cizgi-ince);
}
.giris-baslik h1 {
    margin: 0;
    font-size: 17px;
    letter-spacing: .01em;
}
.giris-baslik p {
    margin: 4px 0 0;
    font-size: 12px;
    color: var(--murekkep-soluk);
    letter-spacing: .04em;
    text-transform: uppercase;
}

.giris-govde { padding: 20px 26px 26px; }

.alan { margin-bottom: 14px; }

.alan label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--murekkep-ara);
    margin-bottom: 5px;
}

.alan input[type=text],
.alan input[type=password],
.alan input[type=tel],
.alan input[type=number],
.alan select,
.alan textarea {
    width: 100%;
    padding: 9px 11px;
    border: 1px solid var(--cizgi);
    border-radius: 4px;
    font-size: 14px;
    font-family: inherit;
    background: var(--yuzey);
    color: var(--murekkep);
}

.alan input:focus, .alan select:focus, .alan textarea:focus {
    border-color: var(--damga-acik);
    outline: none;
    box-shadow: 0 0 0 3px rgba(46, 111, 158, .15);
}

/* Rol seçimi: iki dilimli anahtar */
.rol-secim { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

.rol-secim input { position: absolute; opacity: 0; pointer-events: none; }

.rol-secim label {
    display: block;
    text-align: center;
    padding: 12px 8px;
    border: 1px solid var(--cizgi);
    border-radius: 5px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--murekkep-ara);
    background: var(--yuzey-ikinci);
    margin: 0;
    transition: border-color .12s, background .12s;
}

.rol-secim input:checked + label {
    border-color: var(--damga);
    background: #EAF2F8;
    color: var(--damga);
    box-shadow: inset 0 0 0 1px var(--damga);
}

.rol-secim input:focus-visible + label { outline: 2px solid var(--damga-acik); outline-offset: 2px; }

.rol-secim label small {
    display: block;
    font-weight: 400;
    font-size: 11px;
    color: var(--murekkep-soluk);
    margin-top: 2px;
}

.ana-dugme {
    width: 100%;
    padding: 11px;
    background: var(--damga);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    margin-top: 6px;
}
.ana-dugme:hover { background: #164160; }
.ana-dugme:disabled { background: var(--murekkep-soluk); cursor: not-allowed; }

.giris-hata {
    background: #FBEDE9;
    border-left: 3px solid var(--uyari);
    color: #7A2F1E;
    padding: 9px 12px;
    border-radius: 4px;
    font-size: 13px;
    margin-bottom: 14px;
}

.giris-dipnot {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px dashed var(--cizgi);
    font-size: 11px;
    color: var(--murekkep-soluk);
    line-height: 1.6;
}

/* ---------- İstek ekranı: iki sütun ---------- */

.calisma-alani {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 18px;
    align-items: start;
}

.panel {
    background: var(--yuzey);
    border: 1px solid var(--cizgi);
    border-radius: 6px;
    box-shadow: var(--golge);
    overflow: hidden;
}

.panel-baslik {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border-bottom: 1px solid var(--cizgi-ince);
    background: var(--yuzey-ikinci);
}

.panel-baslik h2 {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--murekkep-ara);
}

/* Sekmeler */
.sekmeler { display: flex; gap: 2px; }

.sekme {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 7px 13px;
    font-size: 13px;
    font-family: inherit;
    color: var(--murekkep-ara);
    cursor: pointer;
    border-radius: 3px 3px 0 0;
}
.sekme:hover { background: rgba(27,79,114,.06); }
.sekme[aria-selected="true"] {
    color: var(--damga);
    border-bottom-color: var(--damga);
    font-weight: 600;
}

.sekme-sayac {
    font-family: var(--mono);
    font-size: 11px;
    color: var(--murekkep-soluk);
    margin-left: 5px;
}

/* Arama */
.arama-kutusu { padding: 12px 14px; border-bottom: 1px solid var(--cizgi-ince); }

.arama-kutusu input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--cizgi);
    border-radius: 4px;
    font-size: 14px;
    font-family: inherit;
}
.arama-kutusu input:focus {
    border-color: var(--damga-acik);
    outline: none;
    box-shadow: 0 0 0 3px rgba(46, 111, 158, .15);
}

.arama-ipucu {
    margin-top: 6px;
    font-size: 11px;
    color: var(--murekkep-soluk);
    display: flex;
    justify-content: space-between;
}

/* Liste */
.liste-sarmal { max-height: calc(100vh - 250px); overflow-y: auto; }

table.liste { width: 100%; border-collapse: collapse; }

table.liste th {
    position: sticky;
    top: 0;
    background: var(--yuzey-ikinci);
    border-bottom: 1px solid var(--cizgi);
    padding: 7px 12px;
    text-align: left;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--murekkep-soluk);
    z-index: 2;
}

table.liste td {
    padding: 11px 12px;
    border-bottom: 1px solid var(--cizgi-ince);
    vertical-align: top;
}

table.liste tbody tr { cursor: pointer; }
table.liste tbody tr:hover { background: var(--yuzey-ikinci); }

table.liste tbody tr.secili { background: var(--karbon); }
table.liste tbody tr.secili:hover { background: #FBEBB8; }
table.liste tbody tr.secili td { border-bottom-color: var(--karbon-cizgi); }

.hucre-kod {
    font-family: var(--mono);
    font-size: 12px;
    color: var(--murekkep-ara);
    white-space: nowrap;
}

.hucre-fiyat {
    font-family: var(--mono);
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.hucre-klinik { color: var(--damga); }

.hucre-sec { width: 46px; text-align: center; padding-top: 10px !important; }

.onay-kutusu {
    width: 21px;
    height: 21px;
    accent-color: var(--damga);
    cursor: pointer;
}

.grup-etiketi {
    display: inline-block;
    font-size: 10px;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--murekkep-soluk);
    background: var(--yuzey-ikinci);
    border: 1px solid var(--cizgi-ince);
    border-radius: 3px;
    padding: 1px 5px;
    margin-left: 6px;
    vertical-align: 1px;
}

.yildiz {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 2px 4px;
    color: var(--cizgi);
}
.yildiz.dolu { color: #D8A400; }
.yildiz:hover { color: #D8A400; }

.paket-aciklama {
    font-size: 12px;
    color: var(--murekkep-soluk);
    margin-top: 2px;
}

.paket-rozet {
    display: inline-block;
    font-family: var(--mono);
    font-size: 10px;
    padding: 1px 6px;
    border-radius: 3px;
    margin-left: 6px;
    background: #EAF2F8;
    color: var(--damga);
    border: 1px solid #C8DDEC;
}

.liste-bos {
    padding: 40px 20px;
    text-align: center;
    color: var(--murekkep-soluk);
    font-size: 13px;
}

/* ---------- İmza öğesi: istek föyü ---------- */

.foy {
    position: sticky;
    top: 70px;
    background: var(--yuzey);
    border: 1px solid var(--cizgi);
    border-radius: 6px;
    box-shadow: var(--golge);
    /* Sol kenarda delikli föy izi */
    background-image: radial-gradient(circle at 7px 50%, var(--kagit) 2.5px, transparent 2.6px);
    background-size: 14px 15px;
    background-repeat: repeat-y;
    background-position: left top;
    padding-left: 15px;
    overflow: hidden;
}

.foy-baslik {
    padding: 12px 14px 10px;
    border-bottom: 1px solid var(--cizgi-ince);
}

.foy-baslik h2 {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--murekkep-ara);
}

.foy-no {
    font-family: var(--mono);
    font-size: 11px;
    color: var(--murekkep-soluk);
    margin-top: 2px;
}

.foy-bolum { padding: 12px 14px; border-bottom: 1px solid var(--cizgi-ince); }

.foy-bolum-baslik {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--murekkep-soluk);
    margin-bottom: 8px;
}

.ikili { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

.foy-kalemler { max-height: 240px; overflow-y: auto; padding: 4px 0; }

.foy-kalem {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 6px 14px;
    border-bottom: 1px dotted var(--cizgi-ince);
    font-size: 13px;
}

.foy-kalem:last-child { border-bottom: none; }

.foy-kalem-ad { flex: 1; min-width: 0; }

.foy-kalem-kod {
    font-family: var(--mono);
    font-size: 10px;
    color: var(--murekkep-soluk);
    display: block;
}

.foy-kalem-fiyat {
    font-family: var(--mono);
    font-variant-numeric: tabular-nums;
    font-size: 12px;
    white-space: nowrap;
}

.kalem-sil {
    background: none;
    border: none;
    color: var(--murekkep-soluk);
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
    padding: 0 2px;
}
.kalem-sil:hover { color: var(--uyari); }

.foy-bos {
    padding: 26px 14px;
    text-align: center;
    color: var(--murekkep-soluk);
    font-size: 12px;
    line-height: 1.7;
}

.toplam-satir {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 4px 0;
    font-size: 13px;
}

.toplam-satir .deger {
    font-family: var(--mono);
    font-variant-numeric: tabular-nums;
}

.toplam-satir.ana {
    border-top: 2px solid var(--murekkep);
    margin-top: 8px;
    padding-top: 9px;
    font-weight: 700;
    font-size: 16px;
}

.toplam-satir.klinik { color: var(--damga); }

.toplam-satir.fark { color: var(--olumlu); font-size: 12px; }

.gizli-not {
    font-size: 10px;
    color: var(--murekkep-soluk);
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed var(--cizgi);
}

.foy-eylem { padding: 12px 14px; display: grid; gap: 8px; }

.ikinci-dugme {
    width: 100%;
    padding: 9px;
    background: var(--yuzey);
    color: var(--murekkep-ara);
    border: 1px solid var(--cizgi);
    border-radius: 4px;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
}
.ikinci-dugme:hover { background: var(--yuzey-ikinci); border-color: var(--murekkep-soluk); }

/* ---------- Çıktı ---------- */

.cikti-sayfa {
    max-width: 760px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid var(--cizgi);
    border-radius: 6px;
    padding: 34px 40px 44px;
    box-shadow: var(--golge);
}

.cikti-ust {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 2px solid var(--murekkep);
    padding-bottom: 12px;
    margin-bottom: 18px;
}

.cikti-ust h1 { margin: 0; font-size: 19px; letter-spacing: .01em; }
.cikti-ust .alt { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--murekkep-soluk); margin-top: 3px; }

.cikti-no { text-align: right; font-family: var(--mono); font-size: 12px; line-height: 1.7; }

.hasta-kutu {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 26px;
    background: var(--yuzey-ikinci);
    border: 1px solid var(--cizgi-ince);
    border-radius: 5px;
    padding: 14px 16px;
    margin-bottom: 20px;
}

.hasta-alan .etiket {
    font-size: 10px;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--murekkep-soluk);
    display: block;
}
.hasta-alan .deger { font-size: 14px; }

table.cikti-tablo { width: 100%; border-collapse: collapse; margin-bottom: 18px; }
table.cikti-tablo th {
    text-align: left;
    font-size: 10px;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--murekkep-soluk);
    border-bottom: 1px solid var(--murekkep);
    padding: 6px 8px;
}
table.cikti-tablo td { padding: 7px 8px; border-bottom: 1px solid var(--cizgi-ince); font-size: 13px; }
table.cikti-tablo td.sag { text-align: right; font-family: var(--mono); font-variant-numeric: tabular-nums; }

.cikti-toplamlar { margin-left: auto; width: 290px; }

.tirtikli {
    border-top: 2px dashed var(--cizgi);
    margin-top: 26px;
    padding-top: 12px;
    font-size: 11px;
    color: var(--murekkep-soluk);
    display: flex;
    justify-content: space-between;
}

.yazdir-serit { max-width: 760px; margin: 0 auto 14px; display: flex; gap: 8px; }

/* ---------- Yönetim ---------- */

.yonetim-izgara { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 18px; align-items: start; }

.form-satir { display: flex; gap: 8px; align-items: flex-end; }
.form-satir .alan { flex: 1; margin-bottom: 0; }

.kucuk-dugme {
    padding: 7px 12px;
    background: var(--damga);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 12px;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
}
.kucuk-dugme:hover { background: #164160; }

.kucuk-dugme.sessiz { background: var(--yuzey); color: var(--murekkep-ara); border: 1px solid var(--cizgi); }
.kucuk-dugme.sessiz:hover { background: var(--yuzey-ikinci); }

.kucuk-dugme.tehlike { background: var(--uyari); }
.kucuk-dugme.tehlike:hover { background: #7F311F; }

.panel-govde { padding: 14px; }

.durum-nokta {
    display: inline-block;
    width: 7px; height: 7px;
    border-radius: 50%;
    margin-right: 6px;
}
.durum-acik  { background: var(--olumlu); }
.durum-kapali { background: var(--murekkep-soluk); }

.dar-input { width: 100px; padding: 5px 7px; border: 1px solid var(--cizgi); border-radius: 3px; font-family: var(--mono); font-size: 12px; text-align: right; }

.yardim-metni { font-size: 12px; color: var(--murekkep-soluk); margin: 6px 0 0; line-height: 1.6; }

/* ---------- Paket düzenleme ---------- */

.paket-izgara {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 18px;
    align-items: start;
}

.paket-izgara > .panel { margin: 0; }

.grup-secim {
    padding: 8px 10px;
    border: 1px solid var(--cizgi);
    border-radius: 4px;
    font-family: inherit;
    font-size: 13px;
    background: var(--yuzey);
    color: var(--murekkep);
    max-width: 190px;
}

.secim-satir {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 90px 90px;
    align-items: center;
    gap: 4px;
    padding: 9px 14px;
    border-bottom: 1px solid var(--cizgi-ince);
    cursor: pointer;
    font-size: 13px;
}

.secim-satir:hover { background: var(--yuzey-ikinci); }

.secim-satir.secili { background: var(--karbon); }
.secim-satir.secili:hover { background: #FBEBB8; }
.secim-satir.secili { border-bottom-color: var(--karbon-cizgi); }

.secim-kutu {
    width: 20px;
    height: 20px;
    border: 1px solid var(--cizgi);
    border-radius: 3px;
    background: var(--yuzey);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 1;
    color: var(--damga);
}

.secim-satir.secili .secim-kutu {
    border-color: var(--damga);
    background: var(--yuzey);
    font-weight: 700;
}

.secim-ad { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.secim-kod {
    font-family: var(--mono);
    font-size: 11px;
    color: var(--murekkep-soluk);
    text-align: right;
}

.secim-fiyat {
    font-family: var(--mono);
    font-variant-numeric: tabular-nums;
    font-size: 12px;
    text-align: right;
    color: var(--murekkep-ara);
}

.tip-secim { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }

.tip-secim input { position: absolute; opacity: 0; pointer-events: none; }

.tip-secim label {
    display: block;
    text-align: center;
    padding: 9px 4px;
    border: 1px solid var(--cizgi);
    border-radius: 5px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--murekkep-ara);
    background: var(--yuzey-ikinci);
    margin: 0;
    transition: border-color .12s, background .12s;
}

.tip-secim input:checked + label {
    border-color: var(--damga);
    background: #EAF2F8;
    color: var(--damga);
    box-shadow: inset 0 0 0 1px var(--damga);
}

.tip-secim input:focus-visible + label { outline: 2px solid var(--damga-acik); outline-offset: 2px; }

.tip-secim label small {
    display: block;
    font-weight: 400;
    font-size: 10px;
    color: var(--murekkep-soluk);
    margin-top: 2px;
}

/* ---------- Duyarlı ---------- */

@media (max-width: 1080px) {
    .calisma-alani { grid-template-columns: 1fr; }
    .foy { position: static; }
    .yonetim-izgara { grid-template-columns: 1fr; }
    .paket-izgara { grid-template-columns: 1fr; }
    .liste-sarmal { max-height: 60vh; }
}

@media (pointer: coarse) {
    .onay-kutusu { width: 24px; height: 24px; }
    .hucre-sec { width: 52px; }
    table.liste td { padding: 14px 12px; }
}

@media (max-width: 620px) {
    .ust-serit { height: auto; flex-wrap: wrap; padding: 10px 14px; gap: 10px; }
    .ust-kimlik { margin-left: 0; width: 100%; }
    .govde { padding: 14px 12px 32px; }
    .cikti-sayfa { padding: 20px 18px 28px; }
    .hasta-kutu { grid-template-columns: 1fr; }
    .ikili { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; animation: none !important; }
}

/* ---------- Baskı ---------- */

@media print {
    body { background: #fff; }
    .ust-serit, .yazdir-serit, .bildirim { display: none !important; }
    .govde { padding: 0; }
    .cikti-sayfa { box-shadow: none; border: none; max-width: none; padding: 0; }
    table.cikti-tablo td, table.cikti-tablo th { padding: 4px 6px; }
}


/* ==================================================================
   ÜÇ FİYAT, EK HİZMETLER VE RAPOR EKRANLARI
   Maliyet sütunları koyu kırmızıya çalan mürekkep tonunda; ekranda
   gözle ayırt edilsin diye. Sekreter bu sütunları hiç görmez.
   ================================================================== */

.sag { text-align: right; }
.soluk { color: var(--murekkep-soluk); }
.arti  { color: var(--olumlu); }
.eksi  { color: var(--uyari); }

.hucre-maliyet { color: #7A3B2A; font-variant-numeric: tabular-nums; }
.hucre-ayaktan { color: var(--murekkep-soluk); }
.hucre-kart    { color: var(--damga-acik); font-variant-numeric: tabular-nums; }

.maliyet-uyari {
    font-weight: 400;
    text-transform: none;
    font-size: 11px;
    color: #7A3B2A;
    background: #FBEDE9;
    padding: 1px 6px;
    border-radius: 3px;
    margin-left: 6px;
}

.zorunlu-isaret {
    font-weight: 400;
    text-transform: none;
    font-size: 11px;
    color: var(--uyari);
    margin-left: 6px;
}

.ince-ayrac { border: none; border-top: 1px dashed var(--cizgi); margin: 20px 0; }

.bilgi-serit {
    font-size: 12px;
    color: var(--murekkep-ara);
    background: var(--yuzey-ikinci);
    border-bottom: 1px solid var(--cizgi-ince);
    line-height: 1.65;
    padding: 10px 14px;
}

.genis-input {
    width: 100%;
    padding: 5px 7px;
    border: 1px solid var(--cizgi);
    border-radius: 3px;
    font-family: inherit;
    font-size: 13px;
}

.dar-input-maliyet { border-color: #D9B7AC; background: #FDF7F5; }

.onay-alan {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    color: var(--murekkep-ara);
    margin-bottom: 8px;
    cursor: pointer;
}
.onay-alan input { margin-top: 2px; }

.rozet-satiri { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.rozet-iptal  { background: #FBEDE9; color: #7A2F1E; border-color: #E2BDB2; }
.rozet-nakit  { background: #E8F4EE; color: #16543A; border-color: #B7DCC8; }
.rozet-adres  { background: #EAF1F7; color: var(--damga); border-color: #BFD4E4; }

tr.satir-uyari  { background: #FDF6F4; }
tr.satir-pasif  { opacity: .58; }
tr.iptal td     { text-decoration: line-through; color: var(--murekkep-soluk); }
tr.iptal td .paket-rozet { text-decoration: none; }

/* ---------- Üst menü açılır kutusu ---------- */

.menu-acilir { position: relative; }

.menu-acilir summary {
    list-style: none;
    cursor: pointer;
    color: rgba(255,255,255,.82);
    padding: 6px 11px;
    border-radius: 4px;
    font-size: 13px;
    user-select: none;
}
.menu-acilir summary::-webkit-details-marker { display: none; }
.menu-acilir summary::after { content: " ▾"; font-size: 10px; opacity: .7; }
.menu-acilir summary:hover { background: rgba(255,255,255,.13); color: #fff; }
.menu-acilir[open] summary { background: rgba(255,255,255,.18); color: #fff; }

.menu-kutu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 168px;
    background: var(--yuzey);
    border: 1px solid var(--cizgi);
    border-radius: 5px;
    box-shadow: var(--golge);
    padding: 5px;
    z-index: 60;
    display: flex;
    flex-direction: column;
}

.menu-kutu a {
    color: var(--murekkep);
    text-decoration: none;
    padding: 7px 10px;
    border-radius: 4px;
    font-size: 13px;
}
.menu-kutu a:hover { background: var(--yuzey-ikinci); }

/* ---------- İstek föyü: ek hizmetler ve ödeme ---------- */

.hizmet-satir {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 9px 10px;
    border: 1px solid var(--cizgi-ince);
    border-radius: 5px;
    margin-bottom: 7px;
    cursor: pointer;
    background: var(--yuzey);
}
.hizmet-satir:hover  { background: var(--yuzey-ikinci); }
.hizmet-satir.secili { background: var(--karbon); border-color: var(--karbon-cizgi); }

.hizmet-govde { flex: 1; min-width: 0; }
.hizmet-ad { display: block; font-size: 13px; font-weight: 600; }

.hizmet-aciklama {
    display: block;
    font-size: 11px;
    color: var(--murekkep-soluk);
    line-height: 1.5;
    margin: 2px 0 4px;
}

.hizmet-fiyat {
    display: block;
    font-size: 12px;
    color: var(--murekkep-ara);
    font-variant-numeric: tabular-nums;
}
.hizmet-maliyet { color: #7A3B2A; margin-left: 6px; font-size: 11px; }

.toplam-satir.soluk   { color: var(--murekkep-soluk); font-size: 12px; }
.toplam-satir.maliyet { color: #7A3B2A; font-size: 12px; }
.toplam-satir.odeme   { font-size: 12px; color: var(--murekkep-ara); }

.odeme-kiyas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 10px;
    padding: 9px 10px;
    background: var(--yuzey-ikinci);
    border: 1px dashed var(--cizgi);
    border-radius: 5px;
}
.odeme-kiyas div { display: flex; flex-direction: column; gap: 2px; }
.odeme-kiyas span {
    font-size: 10px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--murekkep-soluk);
}
.odeme-kiyas strong { font-size: 14px; font-variant-numeric: tabular-nums; }

.kazanc-notu {
    margin-top: 9px;
    padding: 8px 10px;
    background: #E8F4EE;
    border-left: 3px solid var(--olumlu);
    border-radius: 3px;
    font-size: 11.5px;
    color: #16543A;
    line-height: 1.55;
}

/* ---------- Rapor ekranları ---------- */

.rapor-ust { margin-bottom: 16px; }

.rapor-filtre {
    margin-left: auto;
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}

.rapor-filtre select,
.rapor-filtre input[type=search] {
    padding: 6px 10px;
    border: 1px solid var(--cizgi);
    border-radius: 4px;
    font-family: inherit;
    font-size: 13px;
    background: var(--yuzey);
    color: var(--murekkep);
}

.rapor-filtre a.kucuk-dugme { text-decoration: none; display: inline-flex; align-items: center; }

.ay-blok {
    background: var(--yuzey);
    border: 1px solid var(--cizgi);
    border-radius: 6px;
    box-shadow: var(--golge);
    margin-bottom: 22px;
    overflow: hidden;
}

.ay-baslik {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    padding: 13px 16px;
    background: var(--damga);
    color: #fff;
}

.ay-ad { display: flex; align-items: baseline; gap: 10px; }
.ay-ad h2 { margin: 0; font-size: 16px; letter-spacing: .01em; text-transform: capitalize; }
.ay-adet { font-size: 12px; color: rgba(255,255,255,.7); }

.ay-rakamlar { display: flex; gap: 22px; margin-left: auto; flex-wrap: wrap; }

.rakam { display: flex; flex-direction: column; gap: 1px; }
.rakam .etiket {
    font-size: 10px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: rgba(255,255,255,.6);
}
.rakam strong { font-size: 15px; font-variant-numeric: tabular-nums; color: #fff; }
.rakam strong.maliyet { color: #F0C9BE; }
.rakam strong.arti    { color: #9BE3C0; }
.rakam strong.eksi    { color: #F3A894; }
.rakam .yuzde { font-size: 11px; color: rgba(255,255,255,.65); }

.rakam.vurgu {
    padding-left: 18px;
    border-left: 1px solid rgba(255,255,255,.25);
}

.ay-eylem { display: flex; gap: 6px; }
.ay-eylem .kucuk-dugme.sessiz {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.25);
    color: #fff;
}
.ay-eylem .kucuk-dugme.sessiz:hover { background: rgba(255,255,255,.22); }

.ay-odeme-serit {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 9px 16px;
    background: var(--yuzey-ikinci);
    border-bottom: 1px solid var(--cizgi-ince);
}

.odeme-etiket {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 10px;
    background: var(--yuzey);
    border: 1px solid var(--cizgi);
    color: var(--murekkep-ara);
    white-space: nowrap;
}
.odeme-etiket strong { font-variant-numeric: tabular-nums; }

.odeme-nakit    { background: #E8F4EE; border-color: #B7DCC8; color: #16543A; }
.odeme-kart     { background: #EAF1F7; border-color: #BFD4E4; color: var(--damga); }
.odeme-havale   { background: #F3EFE3; border-color: #DED2B4; color: #6B5A22; }
.odeme-belirsiz { background: var(--yuzey-ikinci); color: var(--murekkep-soluk); }

.iskonto-rozet {
    font-size: 11px;
    padding: 2px 7px;
    border-radius: 3px;
    background: var(--karbon);
    border: 1px solid var(--karbon-cizgi);
    color: #6B4E00;
    cursor: help;
}

/* ---------- Açılır satırlar ---------- */

table.rapor-tablo tbody tr.ozet-satir { cursor: pointer; }
table.rapor-tablo tbody tr.acilmis { background: var(--karbon); }
table.rapor-tablo tbody tr.acilmis td { border-bottom-color: var(--karbon-cizgi); }
table.rapor-tablo tbody tr.detay-satir:hover { background: transparent; }
table.rapor-tablo tbody tr.detay-satir { cursor: default; }
table.rapor-tablo tbody tr.detay-satir > td { padding: 0; background: var(--yuzey-ikinci); }

.hucre-ac { width: 40px; text-align: center; }

.ac-dugme {
    width: 22px;
    height: 22px;
    line-height: 1;
    border: 1px solid var(--cizgi);
    background: var(--yuzey);
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    color: var(--murekkep-ara);
    font-family: var(--mono);
    padding: 0;
}
.ac-dugme:hover { background: var(--damga); color: #fff; border-color: var(--damga); }

.detay-kutu {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 18px;
    padding: 14px 16px 16px;
    border-bottom: 2px solid var(--cizgi);
}

.detay-sol { min-width: 0; }

table.ic-tablo { width: 100%; border-collapse: collapse; background: var(--yuzey); }

table.ic-tablo th {
    text-align: left;
    font-size: 10px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--murekkep-soluk);
    padding: 7px 9px;
    border-bottom: 1px solid var(--cizgi);
    font-weight: 600;
}

table.ic-tablo td {
    padding: 6px 9px;
    border-bottom: 1px solid var(--cizgi-ince);
    font-size: 12.5px;
}
table.ic-tablo td.sag { font-variant-numeric: tabular-nums; }
table.ic-tablo tfoot td { border-bottom: none; border-top: 1px solid var(--cizgi); background: var(--yuzey-ikinci); }
table.ic-tablo tr.hizmet-ic-satir { background: #FCFAF3; }

.detay-not {
    margin-top: 9px;
    font-size: 12.5px;
    color: var(--murekkep-ara);
    line-height: 1.6;
}
.detay-not .etiket {
    font-size: 10px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--murekkep-soluk);
    margin-right: 7px;
}
.detay-not.vurgulu {
    background: var(--karbon);
    border-left: 3px solid var(--karbon-cizgi);
    padding: 7px 10px;
    border-radius: 3px;
}

.detay-sag { display: flex; flex-direction: column; gap: 12px; }

.ozet-liste {
    background: var(--yuzey);
    border: 1px solid var(--cizgi);
    border-radius: 5px;
    padding: 10px 12px;
    font-size: 12.5px;
}
.ozet-liste div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 3px 0;
    color: var(--murekkep-ara);
}
.ozet-liste div b { font-variant-numeric: tabular-nums; color: var(--murekkep); }
.ozet-liste div.ana {
    border-top: 1px solid var(--cizgi-ince);
    margin-top: 4px;
    padding-top: 6px;
    font-weight: 600;
    color: var(--murekkep);
}
.ozet-liste div.ana.arti b { color: var(--olumlu); }
.ozet-liste div.ana.eksi b { color: var(--uyari); }

.detay-form {
    background: var(--yuzey);
    border: 1px solid var(--cizgi);
    border-radius: 5px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.detay-form .alan { margin-bottom: 0; }
.detay-form .alan label { font-size: 10px; }
.detay-form.ince { padding: 8px 12px; }
.detay-form a.kucuk-dugme { text-align: center; text-decoration: none; }

.ay-toplam-satir td {
    background: var(--yuzey-ikinci);
    border-top: 2px solid var(--cizgi);
    font-variant-numeric: tabular-nums;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* ---------- Analiz ---------- */

.ozet-serit {
    display: flex;
    gap: 26px;
    flex-wrap: wrap;
    padding: 12px 16px;
    border-top: 1px solid var(--cizgi-ince);
    background: var(--yuzey-ikinci);
}

.ozet-kutu { display: flex; flex-direction: column; gap: 2px; }
.ozet-kutu .etiket {
    font-size: 10px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--murekkep-soluk);
}
.ozet-kutu strong { font-size: 18px; font-variant-numeric: tabular-nums; }

.cubuk-sarmal {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 130px;
}

.cubuk {
    height: 7px;
    min-width: 2px;
    background: var(--damga-acik);
    border-radius: 4px;
    flex-shrink: 0;
    max-width: 110px;
}

.cubuk-sayi {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    font-size: 13px;
}

.analiz-baglanti { color: var(--murekkep); text-decoration: none; border-bottom: 1px dotted var(--cizgi); }
.analiz-baglanti:hover { color: var(--damga); border-bottom-color: var(--damga); }

/* ---------- Çıktı eklemeleri ---------- */

.cikti-avantaj {
    margin-top: 14px;
    padding: 10px 12px;
    background: #E8F4EE;
    border-left: 3px solid var(--olumlu);
    border-radius: 3px;
    font-size: 12.5px;
    color: #16543A;
    line-height: 1.6;
}

.cikti-not { margin-top: 10px; font-size: 12.5px; color: var(--murekkep-ara); }
.cikti-not .etiket {
    font-size: 10px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--murekkep-soluk);
    margin-right: 7px;
}

table.cikti-tablo td.soluk { color: var(--murekkep-soluk); }

/* ---------- Dar ekran ---------- */

@media (max-width: 1080px) {
    .detay-kutu { grid-template-columns: minmax(0, 1fr); }
    .ay-rakamlar { margin-left: 0; gap: 16px; }
    .rakam.vurgu { padding-left: 0; border-left: none; }
}

@media print {
    .ay-eylem, .rapor-filtre, .detay-form, .ac-dugme { display: none !important; }
    .detay-satir[hidden] { display: table-row !important; }
    .ay-blok { box-shadow: none; break-inside: avoid; }
}
