/* =========================================================
   İnfaz Hesaplama — Tasarım Sistemi
   Lacivert / altın kurumsal palet, beyaz hâkim yüzey
   ========================================================= */

:root {
  --lacivert-900: #071429;
  --lacivert-800: #0b1f3a;
  --lacivert-700: #12294d;
  --lacivert-500: #274c85;
  --altin-600: #a8822a;
  --altin-500: #c9a227;
  --altin-200: #f0e2b6;
  --kagit: #ffffff;
  --kagit-2: #f7f8fb;
  --kagit-3: #eef1f6;
  --metin: #131a25;
  --metin-2: #4d586b;
  --cizgi: #dfe4ec;
  --basari: #1c7a54;
  --uyari: #9a6b06;
  --hata: #b3261e;

  --golge-1: 0 1px 2px rgba(7, 20, 41, .06), 0 6px 18px rgba(7, 20, 41, .06);
  --golge-2: 0 2px 6px rgba(7, 20, 41, .08), 0 18px 48px rgba(7, 20, 41, .10);

  --yuvarlak-s: 10px;
  --yuvarlak-m: 16px;
  --yuvarlak-l: 24px;

  --bosluk-1: .5rem;
  --bosluk-2: 1rem;
  --bosluk-3: 1.5rem;
  --bosluk-4: 2.25rem;
  --bosluk-5: 3.5rem;
  --bosluk-6: 5rem;

  --govde: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --baslik: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --veri: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  --gecis: 220ms cubic-bezier(.2, .7, .3, 1);
  --kap: 1180px;
}

[data-tema="koyu"] {
  --kagit: #0a1424;
  --kagit-2: #0f1c31;
  --kagit-3: #16253d;
  --metin: #eaf0fa;
  --metin-2: #a7b4c9;
  --cizgi: #23334f;
  --lacivert-800: #0a1424;
  --altin-500: #dfbc55;
  --altin-200: #4a3c14;
  --basari: #52c295;
  --uyari: #e0b64d;
  --hata: #ff8b81;
  --golge-1: 0 1px 2px rgba(0, 0, 0, .5);
  --golge-2: 0 18px 48px rgba(0, 0, 0, .55);
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--govde);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--metin);
  background: var(--kagit);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { font-family: var(--baslik); font-weight: 600; line-height: 1.15; margin: 0 0 var(--bosluk-2); letter-spacing: -.01em; }
h1 { font-size: clamp(2.1rem, 1.4rem + 2.9vw, 3.6rem); }
h2 { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.35rem); }
h3 { font-size: 1.3rem; }
p { margin: 0 0 var(--bosluk-2); }
a { color: var(--lacivert-700); text-underline-offset: 3px; }
[data-tema="koyu"] a { color: var(--altin-500); }

.kap { width: min(100% - 2.5rem, var(--kap)); margin-inline: auto; }
.gorsel-gizli {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.atla {
  position: absolute; left: -999px; top: 0; z-index: 100;
  background: var(--lacivert-800); color: #fff; padding: .75rem 1.25rem; border-radius: 0 0 var(--yuvarlak-s) 0;
}
.atla:focus { left: 0; }

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--altin-500);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ---------------- Üst bar ---------------- */
.ust-bar {
  position: sticky; top: 0; z-index: 40;
  background: color-mix(in srgb, var(--kagit) 88%, transparent);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--cizgi);
}
.ust-bar__ic { display: flex; align-items: center; justify-content: space-between; gap: var(--bosluk-2); padding: .9rem 0; }
.marka { display: flex; align-items: center; gap: .7rem; text-decoration: none; color: inherit; }
.marka__isaret {
  width: 40px; height: 40px; border-radius: 11px;
  background: linear-gradient(150deg, var(--lacivert-700), var(--lacivert-900));
  display: grid; place-items: center; color: var(--altin-500);
  box-shadow: var(--golge-1);
}
.marka__ad { font-family: var(--baslik); font-size: 1.12rem; line-height: 1.1; }
.marka__alt { display: block; font-family: var(--govde); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--metin-2); }

.tema-dugme {
  display: inline-flex; align-items: center; gap: .5rem;
  background: var(--kagit-2); border: 1px solid var(--cizgi); color: var(--metin);
  padding: .55rem .9rem; border-radius: 999px; cursor: pointer; font: inherit; font-size: .9rem;
  transition: background var(--gecis), transform var(--gecis), border-color var(--gecis);
}
.tema-dugme:hover { background: var(--kagit-3); transform: translateY(-1px); }

/* ---------------- Hero ---------------- */
.hero {
  position: relative; overflow: hidden;
  background: linear-gradient(165deg, var(--lacivert-900) 0%, var(--lacivert-700) 58%, var(--lacivert-800) 100%);
  color: #fff;
  padding: var(--bosluk-6) 0 var(--bosluk-5);
}
.hero::after {
  content: ""; position: absolute; inset: auto -10% -60% 55%;
  height: 420px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(201, 162, 39, .28), transparent 70%);
  pointer-events: none;
}
.hero__etiket {
  display: inline-flex; align-items: center; gap: .55rem;
  font-size: .78rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--altin-500); border: 1px solid rgba(201, 162, 39, .45);
  padding: .4rem .85rem; border-radius: 999px; margin-bottom: var(--bosluk-3);
}
.hero h1 { color: #fff; max-width: 20ch; }
.hero h1 em { font-style: normal; color: var(--altin-500); }
.hero__metin { color: #cfd9ea; max-width: 60ch; font-size: 1.08rem; }
.hero__olcut { display: flex; flex-wrap: wrap; gap: var(--bosluk-3) var(--bosluk-4); margin-top: var(--bosluk-3); padding: 0; list-style: none; }
.hero__olcut li { display: grid; gap: .2rem; }
.hero__olcut b { font-family: var(--baslik); font-size: 1.5rem; color: var(--altin-500); }
.hero__olcut span { font-size: .85rem; color: #b9c6dc; }

/* ---------------- Bölümler ---------------- */
.bolum { padding: var(--bosluk-5) 0; }
.bolum--acik { background: var(--kagit-2); }
.bolum__basi { max-width: 62ch; margin-bottom: var(--bosluk-4); }
.bolum__ust-etiket {
  font-size: .75rem; letter-spacing: .22em; text-transform: uppercase;
  color: var(--altin-600); font-weight: 700; margin-bottom: .6rem; display: block;
}

/* ---------------- Kart ---------------- */
.kart {
  background: var(--kagit);
  border: 1px solid var(--cizgi);
  border-radius: var(--yuvarlak-l);
  box-shadow: var(--golge-1);
  padding: clamp(1.35rem, .8rem + 1.6vw, 2.5rem);
}

/* ---------------- Form ---------------- */
.form-izgara { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--bosluk-2) var(--bosluk-3); }
.alan { grid-column: span 12; display: grid; gap: .4rem; }
.alan--yari { grid-column: span 6; }
.alan--ucte { grid-column: span 4; }
@media (max-width: 720px) { .alan--yari, .alan--ucte { grid-column: span 12; } }

.alan > label { font-weight: 600; font-size: .95rem; }
.alan__ipucu { font-size: .82rem; color: var(--metin-2); }

input[type="number"], input[type="date"], select {
  width: 100%; font: inherit; font-size: 1rem; color: var(--metin);
  background: var(--kagit); border: 1px solid var(--cizgi);
  border-radius: var(--yuvarlak-s); padding: .8rem .9rem; min-height: 48px;
  transition: border-color var(--gecis), box-shadow var(--gecis), background var(--gecis);
}
select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--metin-2) 50%), linear-gradient(135deg, var(--metin-2) 50%, transparent 50%); background-position: calc(100% - 22px) 22px, calc(100% - 16px) 22px; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 2.75rem; }
input:hover, select:hover { border-color: var(--lacivert-500); }
input:focus, select:focus { border-color: var(--lacivert-700); box-shadow: 0 0 0 4px rgba(39, 76, 133, .14); outline: none; }
input[aria-invalid="true"], select[aria-invalid="true"] { border-color: var(--hata); box-shadow: 0 0 0 4px rgba(179, 38, 30, .12); }
[data-tema="koyu"] input, [data-tema="koyu"] select { background: var(--kagit-2); }

.onay { display: flex; align-items: flex-start; gap: .7rem; grid-column: span 12; }
.onay input { width: 20px; height: 20px; min-height: 0; accent-color: var(--lacivert-700); margin-top: .2rem; }

.alan__hata { color: var(--hata); font-size: .85rem; min-height: 1.1em; }

.dugmeler { display: flex; flex-wrap: wrap; gap: var(--bosluk-2); margin-top: var(--bosluk-3); }

.dugme {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  font: inherit; font-weight: 600; cursor: pointer;
  padding: .95rem 1.7rem; min-height: 52px; border-radius: 999px;
  border: 1px solid transparent; text-decoration: none;
  transition: transform var(--gecis), box-shadow var(--gecis), background var(--gecis), color var(--gecis);
}
.dugme--birincil { background: var(--lacivert-800); color: #fff; box-shadow: var(--golge-1); }
.dugme--birincil:hover { background: var(--lacivert-700); transform: translateY(-2px); box-shadow: var(--golge-2); }
.dugme--altin { background: var(--altin-500); color: var(--lacivert-900); }
.dugme--altin:hover { background: var(--altin-600); color: #fff; transform: translateY(-2px); }
.dugme--sade { background: transparent; border-color: var(--cizgi); color: var(--metin); }
.dugme--sade:hover { background: var(--kagit-2); transform: translateY(-2px); }
.dugme[disabled] { opacity: .55; cursor: not-allowed; transform: none; }

/* ---------------- Uyarı kutuları ---------------- */
.kutu { border-radius: var(--yuvarlak-m); padding: 1rem 1.15rem; margin-bottom: var(--bosluk-2); border: 1px solid; font-size: .95rem; }
.kutu ul { margin: .35rem 0 0; padding-left: 1.1rem; }
.kutu--hata { color: var(--hata); border-color: color-mix(in srgb, var(--hata) 35%, transparent); background: color-mix(in srgb, var(--hata) 8%, var(--kagit)); }
.kutu--uyari { color: var(--uyari); border-color: color-mix(in srgb, var(--uyari) 35%, transparent); background: color-mix(in srgb, var(--uyari) 8%, var(--kagit)); }
.kutu--bilgi { color: var(--metin-2); border-color: var(--cizgi); background: var(--kagit-2); }

/* ---------------- Sonuç kartları ---------------- */
.sonuc { display: none; }
.sonuc.acik { display: block; animation: yumusak-giris .5s cubic-bezier(.2, .7, .3, 1) both; }

.sonuc-izgara {
  display: grid; gap: var(--bosluk-2);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.sonuc-kart {
  position: relative; overflow: hidden;
  background: var(--kagit); border: 1px solid var(--cizgi);
  border-radius: var(--yuvarlak-m); padding: 1.4rem 1.5rem;
  box-shadow: var(--golge-1);
  transition: transform var(--gecis), box-shadow var(--gecis), border-color var(--gecis);
}
.sonuc-kart:hover { transform: translateY(-4px); box-shadow: var(--golge-2); border-color: color-mix(in srgb, var(--altin-500) 45%, var(--cizgi)); }
.sonuc-kart::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 4px;
  background: var(--cizgi); transition: background var(--gecis);
}
.sonuc-kart:hover::before, .sonuc-kart--vurgu::before { background: var(--altin-500); }
.sonuc-kart--vurgu { background: linear-gradient(180deg, color-mix(in srgb, var(--altin-200) 40%, var(--kagit)), var(--kagit)); }
.sonuc-kart__baslik { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--metin-2); font-weight: 700; margin: 0 0 .5rem; }
.sonuc-kart__deger { font-family: var(--baslik); font-size: 1.42rem; line-height: 1.25; margin: 0; word-break: break-word; }
.sonuc-kart__alt { font-size: .87rem; color: var(--metin-2); margin: .45rem 0 0; }

/* ---------------- İnfaz şeridi (imza öğe) ---------------- */
.serit { margin-top: var(--bosluk-4); }
.serit__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.serit__adim {
  position: relative; padding: 0 0 1.6rem 2.25rem;
  border-left: 2px solid var(--cizgi);
}
.serit__adim:last-child { border-left-color: transparent; padding-bottom: 0; }
.serit__adim::before {
  content: ""; position: absolute; left: -9px; top: .35rem;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--kagit); border: 3px solid var(--altin-500);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--altin-200) 60%, transparent);
}
.serit__adim--sonuc::before { background: var(--altin-500); }
.serit__ad { font-weight: 600; }
.serit__tarih { font-family: var(--veri); font-size: .95rem; color: var(--metin-2); }

/* ---------------- Döküm tablosu ---------------- */
.dokum-tablo { width: 100%; border-collapse: collapse; margin-top: var(--bosluk-2); font-size: .96rem; }
.dokum-tablo caption { text-align: left; font-weight: 600; padding-bottom: .6rem; color: var(--metin-2); }
.dokum-tablo th, .dokum-tablo td { text-align: left; padding: .8rem .5rem; border-bottom: 1px solid var(--cizgi); vertical-align: top; }
.dokum-tablo th { width: 45%; font-weight: 600; color: var(--metin-2); }

.aciklama-liste { padding-left: 1.15rem; margin: var(--bosluk-2) 0 0; color: var(--metin-2); }
.aciklama-liste li { margin-bottom: .55rem; }

/* ---------------- SSS ---------------- */
.sss-oge { border: 1px solid var(--cizgi); border-radius: var(--yuvarlak-m); background: var(--kagit); margin-bottom: .75rem; }
.sss-oge summary { cursor: pointer; padding: 1.05rem 1.25rem; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.sss-oge summary::-webkit-details-marker { display: none; }
.sss-oge summary::after { content: "+"; color: var(--altin-600); font-size: 1.3rem; line-height: 1; }
.sss-oge[open] summary::after { content: "–"; }
.sss-oge__govde { padding: 0 1.25rem 1.15rem; color: var(--metin-2); }

/* ---------------- Alt bilgi ---------------- */
.alt-bilgi { background: var(--lacivert-900); color: #c3cfe2; padding: var(--bosluk-4) 0; margin-top: var(--bosluk-5); }
.alt-bilgi a { color: var(--altin-500); }
.alt-bilgi__ic { display: flex; flex-wrap: wrap; gap: var(--bosluk-3); justify-content: space-between; align-items: center; font-size: .9rem; }

/* ---------------- Animasyon ---------------- */
@keyframes yumusak-giris {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
.sonuc-kart { animation: yumusak-giris .45s cubic-bezier(.2, .7, .3, 1) both; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
