/*!
 * Emekli Çalışan Maaş Hesaplama — sayfaya özgü stiller.
 * Renkler mevcut belirteçlerden; yeni renk tanımlanmaz.
 */
.panel-q { margin: 0; display: flex; flex-direction: column; gap: .3rem; }
.panel-q label { font-weight: 600; }
.panel-q input,
.panel-q select {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--text);
}
.ec-alanlar {
  display: grid;
  gap: .9rem 1.1rem;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.ec-not { margin: 1rem 0 0; }
.ec-kunye { font-size: var(--step--1); }

/* Hüküm: işverenin tek cümlelik cevabı, ardından nedeni. */
.ec-hukum { margin: 1.8rem 0 .3rem; font-size: var(--step-1); line-height: 1.35; }
.ec-neden { margin: 0 0 1rem; color: var(--text-muted); }

.ec-kartlar {
  display: grid;
  gap: .8rem;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  margin: 1rem 0 1.2rem;
}
.ec-kart {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  padding: .9rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface);
}
/* Kartın sol kenarı grafikteki serinin rengi: hangi eğrinin üstünde
   olduğunuzu söyler. Renk anlamı tema tercihinden bağımsız (--dv-*). */
.ec-kart-brut { border-inline-start: 3px solid var(--dv-2); }
.ec-kart-net { border-inline-start: 3px solid var(--dv-1); }
.ec-kart-ad { color: var(--text-muted); font-size: var(--step--1); }
.ec-kart-deger { font-size: var(--step-1); font-variant-numeric: tabular-nums; }
.ec-kart-alt { color: var(--text-muted); font-size: var(--step--1); }

.ec-secimler { display: flex; flex-wrap: wrap; gap: .4rem; }
.ec-alan { display: flex; flex-direction: column; gap: .3rem; }
.ec-etiket { font-weight: 600; font-size: var(--type-form-label); }

/* Grafik: iki seri, sıfır çizgisi, eşik ve tavan. Yazı tek ölçekte. */
.ec-cizelge { margin: 1.6rem 0 .6rem; }
.ec-cizelge figcaption { margin-top: .4rem; font-size: var(--step--1); color: var(--text-muted); line-height: 1.45; max-width: 52rem; }
.ec-svg { display: block; width: 100%; height: auto; }
.ec-svg text { font-family: var(--font-mono); font-size: 11.5px; }
.ec-eksen { fill: var(--dv-axis); }
.ec-izgara { stroke: var(--dv-grid); stroke-width: 1; }
.ec-sifir { stroke: var(--dv-axis); stroke-width: 1.2; }
.ec-tavan { stroke: var(--dv-axis); stroke-width: 1; stroke-dasharray: 3 4; }
.ec-seri { fill: none; stroke-width: 2.6; stroke-linejoin: round; stroke-linecap: round; }
.ec-seri-brut { stroke: var(--dv-2); }
.ec-seri-net { stroke: var(--dv-1); }
.ec-soluk { stroke-opacity: .35; }
.ec-etiket-brut { fill: var(--dv-2-ink); font-weight: 700; }
.ec-etiket-net { fill: var(--dv-1-ink); font-weight: 700; }
.ec-esik { fill: var(--surface); stroke: var(--dv-1); stroke-width: 2; }
.ec-imlec { stroke: var(--dv-axis); stroke-width: 1; stroke-dasharray: 2 3; }
.ec-nokta { stroke: var(--surface); stroke-width: 2; }
.ec-nokta-brut { fill: var(--dv-2); }
.ec-nokta-net { fill: var(--dv-1); }
/* Değer etiketi çizginin üstünden geçebilir: zemin renginde hale okunur
   kılar (süs değil, kontrast). */
.ec-deger { fill: var(--text); font-weight: 700; paint-order: stroke; stroke: var(--bg); stroke-width: 4px; stroke-linejoin: round; }

.ec-aylar { margin: 1.2rem 0 0; }
.ec-aylar summary { cursor: pointer; font-weight: 600; }
.ec-dilim { font-weight: 400; font-size: var(--step--1); color: var(--dv-2-ink); white-space: nowrap; }
.ec-bos td { color: var(--text-muted); }

.ec-tablo { margin: 1.4rem 0 .4rem; }
.ec-tablo caption { text-align: left; font-weight: 650; padding-bottom: .5rem; }
.ec-tablo td { font-variant-numeric: tabular-nums; }
.ec-vurgu th, .ec-vurgu td { font-weight: 700; }

.formula {
  font-family: var(--font-mono);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 2px;
  padding: .75rem .9rem;
  font-size: .92rem;
  overflow-x: auto;
}

/* Dar ekran: satırlar etiketli kartlar. Sağdan kesilen sütun kalmaz. */
@media (max-width: 600px) {
  .ec-tablo thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .ec-tablo, .ec-tablo tbody, .ec-tablo tr { display: block; inline-size: 100%; }
  .data-table.ec-tablo { min-width: 0; }
  .ec-tablo caption { display: block; padding-bottom: .5rem; }
  .ec-tablo tr { padding: .55rem .75rem; border-bottom: 1px solid var(--border); }
  .ec-tablo tbody th[scope="row"] { display: block; padding: .15rem 0 .3rem; border: 0; text-align: left; font-weight: 700; white-space: normal; }
  .ec-tablo td { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .18rem 0; border: 0; text-align: right; white-space: normal; }
  .ec-tablo td::before { content: attr(data-etiket); color: var(--text-muted); font-size: var(--step--1); text-align: left; }
}
