/* ==========================================================================
   Dilekce sihirbazi - MOBIL ONCELIKLI
   Kullanici profili (talimat §1): cogunlukla telefon, eski/dusuk bellekli Android,
   yuksek stres, bir bolumu yasli veya az okur-yazar.
   Bu yuzden: buyuk yazi, yuksek kontrast, genis dokunma hedefi, sade duzen.
   Kurumsal kimlik: lacivert #1B2A4A + altin #C8A951.
   ========================================================================== */

.dsh {
    --dsh-lacivert: #1b2a4a;
    --dsh-altin: #c8a951;
    --dsh-metin: #1a2233;
    --dsh-soluk: #4a5568;
    --dsh-cizgi: #d6dbe4;
    --dsh-zemin: #ffffff;
    --dsh-yumusak: #f5f7fa;
    --dsh-hata: #b3261e;
    --dsh-uyari-zemin: #fff8e6;
    --dsh-uyari-cizgi: #d97706;

    max-width: 44rem;
    margin: 0 auto;
    padding: 1rem;
    color: var(--dsh-metin);
    font-size: 1rem;          /* 16px - iOS'ta odaklanınca yakinlastirmayi onler */
    line-height: 1.6;
    background: var(--dsh-zemin);
}

/* --- Ilerleme --- */
.dsh__ilerleme { margin-bottom: 1.25rem; }
.dsh__ilerleme-metin {
    margin: 0 0 .4rem;
    font-size: .875rem;
    font-weight: 600;
    color: var(--dsh-soluk);
}
.dsh__cubuk {
    height: .5rem;
    background: var(--dsh-yumusak);
    border-radius: 999px;
    overflow: hidden;
}
.dsh__cubuk-dolu {
    height: 100%;
    background: var(--dsh-altin);
    transition: width 200ms ease;
}

/* --- Basliklar --- */
.dsh__baslik {
    margin: 0 0 .75rem;
    font-size: 1.375rem;
    line-height: 1.3;
    font-weight: 700;
    color: var(--dsh-lacivert);
}
.dsh__baslik:focus-visible { outline: 2px solid var(--dsh-altin); outline-offset: 3px; }
.dsh__aciklama { margin: 0 0 1rem; color: var(--dsh-soluk); }

/* --- Bilgi ve paneller --- */
.dsh__bilgi {
    padding: .875rem 1rem;
    margin-bottom: 1rem;
    background: var(--dsh-yumusak);
    border-left: 4px solid var(--dsh-lacivert);
    border-radius: .375rem;
}
.dsh__bilgi p { margin: 0; }
.dsh__bilgi--son { border-left-color: var(--dsh-altin); margin-top: 1rem; }

.dsh__panel { margin: 0 0 1.25rem; }
.dsh__panel-baslik { margin: 0 0 .5rem; font-size: 1rem; color: var(--dsh-lacivert); }

.dsh__blok {
    padding: .75rem .875rem;
    margin-bottom: .625rem;
    background: var(--dsh-yumusak);
    border-radius: .375rem;
}
.dsh__blok strong { display: block; margin-bottom: .25rem; color: var(--dsh-lacivert); }
.dsh__blok p { margin: 0; }
.dsh__blok--vurgu {
    background: var(--dsh-uyari-zemin);
    border-left: 4px solid var(--dsh-uyari-cizgi);
}
/* vurgu: "yuksek" - hak kaybi ve sorumluluk reddi bloklari. */
.dsh__blok--kritik {
    background: #fdecea;
    border-left-color: var(--dsh-hata);
}
.dsh__blok--kritik strong { color: var(--dsh-hata); }

/* Uzun zorunlu uyari: bloklar kendi kaydirma alaninda durur, onay kutusu ve
   devam dugmesi DISINDA kalir - kullanici devam yolunu daima gorur. */
.dsh__uyari-kaydir {
    max-height: 22rem;
    overflow-y: auto;
    padding: .75rem;
    margin-bottom: .25rem;
    background: var(--dsh-zemin);
    border: 1px solid var(--dsh-cizgi);
    border-radius: .5rem;
    overscroll-behavior: contain;
}
.dsh__uyari-kaydir .dsh__blok:last-child { margin-bottom: 0; }
.dsh__dayanak {
    margin-top: .375rem;
    font-size: .8125rem;
    color: var(--dsh-soluk);
}

/* --- Secenekler (kapi ekranlari) --- */
.dsh__secenek {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    min-height: 44px;              /* dokunma hedefi */
    padding: .75rem .875rem;
    margin-bottom: .5rem;
    border: 1px solid var(--dsh-cizgi);
    border-radius: .5rem;
    cursor: pointer;
}
.dsh__secenek:hover { border-color: var(--dsh-altin); background: var(--dsh-yumusak); }
.dsh__secenek input { margin-top: .3rem; width: 1.125rem; height: 1.125rem; flex: none; }
.dsh__secenek:focus-within { outline: 2px solid var(--dsh-altin); outline-offset: 2px; }

.dsh__sonuc-bilgi {
    margin: .5rem 0 0;
    padding: .75rem .875rem;
    background: var(--dsh-uyari-zemin);
    border-left: 4px solid var(--dsh-uyari-cizgi);
    border-radius: .375rem;
}

/* --- Alanlar --- */
.dsh__alan { margin-bottom: 1.125rem; }
.dsh__etiket {
    display: block;
    margin-bottom: .25rem;
    font-weight: 600;
    color: var(--dsh-lacivert);
}
.dsh__zorunlu { color: var(--dsh-hata); }
.dsh__yardim {
    margin: 0 0 .375rem;
    font-size: .875rem;
    color: var(--dsh-soluk);
}
.dsh__girdi {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: .625rem .75rem;
    font: inherit;
    font-size: 1rem;
    color: var(--dsh-metin);
    background: var(--dsh-zemin);
    border: 1px solid var(--dsh-cizgi);
    border-radius: .5rem;
}
.dsh__girdi:focus-visible { outline: 2px solid var(--dsh-altin); outline-offset: 1px; border-color: var(--dsh-lacivert); }
.dsh__girdi--hatali { border-color: var(--dsh-hata); }
textarea.dsh__girdi { resize: vertical; min-height: 7rem; line-height: 1.6; }

.dsh__sayac { margin: .25rem 0 0; font-size: .8125rem; color: var(--dsh-soluk); }
.dsh__sayac--eksik { color: var(--dsh-uyari-cizgi); }
.dsh__hata { margin: .25rem 0 0; font-size: .875rem; font-weight: 600; color: var(--dsh-hata); }
.dsh__hata:empty { display: none; }

/* --- Onay kutusu --- */
.dsh__onay {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    min-height: 44px;
    padding: .75rem .875rem;
    margin: 1rem 0;
    background: var(--dsh-yumusak);
    border: 1px solid var(--dsh-cizgi);
    border-radius: .5rem;
    cursor: pointer;
}
.dsh__onay input { margin-top: .25rem; width: 1.25rem; height: 1.25rem; flex: none; }
.dsh__onay:focus-within { outline: 2px solid var(--dsh-altin); outline-offset: 2px; }

/* --- Dugmeler --- */
.dsh__dugmeler {
    display: flex;
    flex-wrap: wrap;
    gap: .625rem;
    margin-top: 1.5rem;
}
.dsh__dugme {
    flex: 1 1 auto;
    min-width: 8rem;
    min-height: 48px;
    padding: .75rem 1.25rem;
    font: inherit;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background: var(--dsh-lacivert);
    border: 1px solid var(--dsh-lacivert);
    border-radius: .5rem;
    cursor: pointer;
}
.dsh__dugme:hover:not(:disabled) { background: #24365d; }
.dsh__dugme:focus-visible { outline: 3px solid var(--dsh-altin); outline-offset: 2px; }
.dsh__dugme:disabled { opacity: .45; cursor: not-allowed; }
.dsh__dugme--ikincil {
    color: var(--dsh-lacivert);
    background: var(--dsh-zemin);
    border-color: var(--dsh-cizgi);
}
.dsh__dugme--ikincil:hover:not(:disabled) { background: var(--dsh-yumusak); border-color: var(--dsh-lacivert); }

/* --- Onizleme --- */
.dsh__onizleme {
    max-height: 26rem;
    overflow: auto;
    padding: 1rem;
    margin: 1rem 0;
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: .875rem;
    line-height: 1.65;
    white-space: pre-wrap;
    word-break: break-word;
    background: var(--dsh-yumusak);
    border: 1px solid var(--dsh-cizgi);
    border-radius: .5rem;
}
.dsh__onizleme:focus-visible { outline: 2px solid var(--dsh-altin); outline-offset: 2px; }

/* --- Genis ekran: form + onizleme yan yana --- */
@media (min-width: 60rem) {
    .dsh { max-width: 52rem; padding: 1.5rem; }
    .dsh__baslik { font-size: 1.5rem; }
    .dsh__dugme { flex: 0 1 auto; }
}

/* --- Erisilebilirlik --- */
@media (prefers-reduced-motion: reduce) {
    .dsh__cubuk-dolu { transition: none; }
}
@media (prefers-contrast: more) {
    .dsh { --dsh-cizgi: #6b7280; --dsh-soluk: #1f2937; }
}

/* --- Sabit sorumluluk reddi: her ekranin ustu ve alti (PATRON 04.08.2026) --- */
.dsh__ust-uyari {
    border: 1px solid var(--dsh-lacivert);
    border-left: 5px solid var(--dsh-altin);
    background: var(--dsh-lacivert);
    color: #fff;
    padding: .75rem .9rem;
    margin-bottom: 1.25rem;
    border-radius: .3rem;
}
.dsh__ust-uyari p {
    margin: 0;
    font-size: .875rem;
    line-height: 1.55;
    font-weight: 600;
    color: #fff;
}

.dsh__seri {
    margin-top: 1.75rem;
    padding: .8rem .9rem;
    border: 1px solid var(--dsh-cizgi);
    border-top: 4px solid var(--dsh-altin);
    background: var(--dsh-yumusak);
    border-radius: .3rem;
}
.dsh__seri p { margin: 0 0 .45rem; font-size: .8125rem; line-height: 1.55; color: var(--dsh-metin); }
.dsh__seri p:last-child { margin-bottom: 0; }
.dsh__seri-uyari { font-weight: 700; }
.dsh__seri-red { color: var(--dsh-soluk); }

/* --- Kapsam uyarisi: alanin HUKUKI SINIRI ---
   Alan notundan daha agir basar. Bu alanda sinirin disina tasan bir beyan
   indirimi dusurebildigi icin uyari goz kacirilamayacak agirlikta olmalidir. */
.dsh__kapsam {
    margin: .6rem 0 .75rem;
    padding: .9rem 1rem;
    background: var(--dsh-uyari-zemin);
    border: 2px solid var(--dsh-uyari-cizgi);
    border-left-width: 6px;
    border-radius: .5rem;
}
.dsh__kapsam p {
    margin: 0 0 .6rem;
    font-size: .9375rem;
    line-height: 1.65;
    color: #4a3200;
}
.dsh__kapsam p:last-child { margin-bottom: 0; }
.dsh__kapsam-baslik {
    display: block;
    margin-bottom: .5rem;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
    color: #6b3d00;
}
/* vurgu: "yuksek" - hak kaybi dogurabilecek sinir uyarisi. */
.dsh__kapsam--yuksek {
    background: #fdecea;
    border-color: var(--dsh-hata);
}
.dsh__kapsam--yuksek .dsh__kapsam-baslik { color: var(--dsh-hata); }
.dsh__kapsam--yuksek p { color: #5c1a15; }

/* --- Alan alti uyarisi: kullanici yazdiginin dilekceye gireceğini GORMELIDIR --- */
.dsh__alan-notu {
    margin: .4rem 0 .5rem;
    padding: .55rem .7rem;
    background: var(--dsh-uyari-zemin);
    border-left: 4px solid var(--dsh-uyari-cizgi);
    border-radius: .25rem;
    font-size: .8125rem;
    line-height: 1.5;
    font-weight: 600;
    color: #6b3d00;
}

.dsh__bilgi--red {
    border-left: 3px solid var(--dsh-uyari-cizgi);
    background: var(--dsh-uyari-zemin);
}

.dsh__devam { margin-top: 1.25rem; }

/* --- Indirme oncesi zorunlu kabul kapisi (PATRON 04.08.2026) --- */
.dsh__kabul {
    margin-top: 1.5rem;
    padding: 1rem;
    border: 2px solid var(--dsh-uyari-cizgi);
    background: var(--dsh-uyari-zemin);
    border-radius: .5rem;
}
.dsh__kabul-baslik { margin: 0 0 .5rem; font-size: 1rem; font-weight: 700; color: var(--dsh-metin); }
.dsh__kabul p { margin: 0 0 .75rem; font-size: .875rem; line-height: 1.6; }
.dsh__dugme[disabled] { opacity: .45; cursor: not-allowed; }

/* --- Yazdirma: yalnizca onizleme --- */
@media print {
    .dsh__ilerleme, .dsh__dugmeler, .dsh__onay, .dsh__panel { display: none; }
    .dsh__onizleme { max-height: none; border: 0; background: none; padding: 0; }
    /* Sorumluluk reddi yazdirmada da KALIR - gizlenmez. */
}

/* --- Her ekrandaki kacis yollari: geri / basa don / avukat (PATRON 04.08.2026) --- */
.dsh__yardim-satiri {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: 1.25rem;
    padding-top: .9rem;
    border-top: 1px dashed var(--dsh-cizgi);
}
.dsh__dugme--kucuk {
    flex: 0 1 auto;
    min-height: 2.5rem;
    padding: .5rem .85rem;
    font-size: .8125rem;
    font-weight: 600;
    background: #fff;
    color: var(--dsh-lacivert);
    border: 1.5px solid var(--dsh-lacivert);
}
.dsh__dugme--kucuk:hover { background: var(--dsh-yumusak); }

/* Asil eylem: iki indirme dugmesi de buyuk ve esit agirlikta (PATRON).
   Gezinme dugmeleriyle ayni satirdadirlar, bu yuzden ONLERINDEN once buyurler. */
.dsh__dugme--indir {
    flex: 1 1 12rem;
    min-height: 52px;
    font-size: 1.0625rem;
    font-weight: 700;
}

/* Kopyalama: onizlemenin hemen altinda, kucuk ve ikincil. Belge indirmenin
   yerine gecmez; hizli bir kolaylik dugmesidir. */
.dsh__kopya-satiri {
    display: flex;
    justify-content: flex-end;
    margin: -.5rem 0 1rem;
}
.dsh__dugme--kopya {
    flex: 0 0 auto;
    min-width: 0;
    min-height: 2.5rem;
    padding: .45rem .9rem;
    font-size: .8125rem;
    font-weight: 600;
    color: var(--dsh-lacivert);
    background: #fff;
    border: 1.5px solid var(--dsh-cizgi);
}
.dsh__dugme--kopya:hover:not(:disabled) { background: var(--dsh-yumusak); border-color: var(--dsh-lacivert); }
.dsh__dugme--danis {
    background: var(--dsh-altin);
    border-color: var(--dsh-altin);
    color: #1a2233;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}
.dsh__dugme--danis:hover { filter: brightness(.95); }

/* --- Onerilen hususlar listesi --- */
.dsh__yardim-liste {
    margin: 0 0 .5rem;
    padding-left: 1.25rem;
    font-size: .875rem;
    line-height: 1.6;
    color: var(--dsh-soluk);
}
.dsh__yardim-liste li { margin-bottom: .2rem; }

/* --- Liste alani (ekler) ---
   Gorsel dil kapi ekranlarindaki secenek satiriyla (.dsh__secenek) ayni:
   cerceveli satir, 44px dokunma hedefi, altin vurgu. Onceki hâlde satirlar
   cerceve almiyor, "Kaldir" dugmesi .dsh__dugme'nin min-width: 8rem degerini
   miras alip dar ekranda girdiyi eziyordu. */
.dsh__liste {
    padding: .75rem;
    background: var(--dsh-yumusak);
    border: 1px solid var(--dsh-cizgi);
    border-radius: .5rem;
}
.dsh__liste .dsh__alan-notu { margin-top: 0; }

/* Onerilen belgeler: tiklaninca ilk bos EK satirina yazilir. Listeye girmis
   oneri "eklendi" durumunda kilitlenir; kaldirma satirdaki dugmeyle yapilir. */
.dsh__oneri-liste {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
    margin: 0 0 .75rem;
}
.dsh__oneri {
    flex: 0 0 auto;
    min-width: 0;
    min-height: 2.25rem;
    padding: .35rem .7rem .35rem 1.6rem;
    position: relative;
    font-size: .8125rem;
    font-weight: 600;
    text-align: left;
    color: var(--dsh-lacivert);
    background: #fff;
    border: 1.5px solid var(--dsh-cizgi);
    border-radius: 999px;
}
/* Arti isareti: rozetin bir EKLEME eylemi oldugu okunmadan anlasilmalidir. */
.dsh__oneri::before {
    content: "+";
    position: absolute;
    left: .65rem;
    font-weight: 700;
    color: var(--dsh-soluk);
}
.dsh__oneri:hover:not(:disabled) { background: var(--dsh-yumusak); border-color: var(--dsh-altin); }
.dsh__oneri:disabled { opacity: 1; cursor: default; }
.dsh__oneri--secili {
    color: #26401f;
    background: #eef5ea;
    border-color: #7fa06a;
}
.dsh__oneri--secili::before { content: "\2713"; color: #4d7a37; }

.dsh__liste-satir {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .625rem;
    margin-bottom: .5rem;
    background: var(--dsh-zemin);
    border: 1px solid var(--dsh-cizgi);
    border-radius: .5rem;
}
.dsh__liste-satir:focus-within { border-color: var(--dsh-lacivert); }
.dsh__liste-no {
    flex: none;
    align-self: center;
    padding: .2rem .5rem;
    font-weight: 700;
    font-size: .75rem;
    letter-spacing: .02em;
    color: #fff;
    background: var(--dsh-lacivert);
    border-radius: .25rem;
}
/* Satir icindeki girdi kendi cercevesini birakir; cerceve artik satirin. */
.dsh__liste-satir .dsh__girdi {
    flex: 1 1 auto;
    min-width: 0;
    padding: .375rem .25rem;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.dsh__liste-satir .dsh__girdi:focus-visible { outline: 2px solid var(--dsh-altin); outline-offset: 1px; }

/* Satir ici "Kaldir": .dsh__dugme min-width degerini MIRAS ALMAZ. */
.dsh__liste-sil {
    flex: none;
    min-width: 0;
    min-height: 2.25rem;
    padding: .35rem .7rem;
    font-size: .8125rem;
    font-weight: 600;
    color: var(--dsh-lacivert);
    background: #fff;
    border: 1.5px solid var(--dsh-cizgi);
}
.dsh__liste-sil:hover:not(:disabled) { background: var(--dsh-yumusak); border-color: var(--dsh-lacivert); }

.dsh__liste-ekle {
    flex: none;
    min-width: 0;
    min-height: 2.75rem;
    margin-top: .25rem;
    padding: .55rem 1rem;
    font-size: .875rem;
    color: var(--dsh-lacivert);
    background: #fff;
    border: 1.5px solid var(--dsh-altin);
}
.dsh__liste-ekle:hover:not(:disabled) { background: var(--dsh-yumusak); }

/* Dar ekranda EK etiketi girdinin USTUNE gecer; yan yana sikismaz. */
@media (max-width: 30rem) {
    .dsh__liste-satir { flex-wrap: wrap; }
    .dsh__liste-satir .dsh__girdi { flex: 1 1 100%; order: 3; }
    .dsh__liste-sil { margin-left: auto; }
    .dsh__liste-ekle { width: 100%; }
}

/* --- Yonlendirme ekraninda avukat cagrisi ASIL eylemdir --- */
.dsh__dugme--danis-buyuk {
    background: var(--dsh-altin);
    border-color: var(--dsh-altin);
    color: #1a2233;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    flex: 1 1 100%;
}
.dsh__dugme--danis-buyuk:hover { filter: brightness(.95); }
