/* ==========================================================================
   OnyMükellef — bileşen katmanı
   Tasarım sistemindeki JSX bileşenlerinin birebir CSS karşılığı.
   JSX'te satır içi stil + React state ile yapılan hover/active/focus durumları
   burada :hover / :active / :focus-visible ile karşılanır. Değerler değiştirilmedi.
   Token dosyaları (tokens/*.css) tasarım sisteminden aynen alınmıştır, düzenlenmez.
   ========================================================================== */

@import url("tokens/fonts.css");
@import url("tokens/colors.css");
@import url("tokens/typography.css");
@import url("tokens/spacing.css");
@import url("tokens/elevation.css");
@import url("tokens/motion.css");
@import url("tokens/layout.css");
@import url("tokens/base.css");
@import url("tokens/theme-dark.css");

/* ---------------------------------------------------------------- ikon ---- */
.ico {
  font-family: "Material Symbols Outlined";
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: "liga";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: currentColor;
  user-select: none;
}

/* --------------------------------------------------------------- düzen ---- */
.container { max-width: var(--container-max); margin: 0 auto; width: 100%; }
.container--wide { max-width: var(--container-wide); }
.section { padding: var(--pad-section-y) 32px; }
.section--tight { padding: 48px 32px; }
/* Tek sutunlu grid'lerde sutun genisligi ACIKCA minmax(0,1fr) verilir.
   Aksi halde sutun "auto" olur, icerigin max-content genisligine buyur ve
   kapsayiciyi tasirir (klasik grid blowout) - kredi ekranindaki yatay kayma
   bundan kaynaklaniyordu. */
.stack { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.stack--sm { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.stack--lg { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-9); }
.row { display: flex; align-items: center; gap: var(--space-4); }
.row--between { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); }
.row--wrap { flex-wrap: wrap; }
/* Satir icindeki form alani daralabilmeli, buton daralmamalidir.
   .control'un ortulu min-width'i "auto"dur; dar bir sutunda (ornegin 340px'lik
   odeme ozeti) yeterince daralmayip butonu kartin disina itiyor, buton da
   .card'in overflow:hidden'i altinda kirpiliyordu. */
.row > .control, .row > .select, .row > .field { flex: 1 1 auto; min-width: 0; }
.row > .btn { flex: 0 0 auto; }
.spacer { flex: 1; }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-8); }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-6); }
/* Icerik + yapiskan yan panel duzeni. Satir ici grid-template-columns yerine bu
   sinif kullanilir; aksi halde medya sorgusu satir ici stili ezemiyor ve sabit
   genislikli sutun dar ekranda tasiyordu. */
.layout-yan {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 340px);
  gap: var(--space-8);
  align-items: start;
}
/* .grid-2 varyantlari. AYNI GEREKCE: satir ici grid-template-columns medya
   sorgusuyla ezilemedigi icin dar ekranda iki kolon kalip tasiriyordu. */
.grid-2--yan   { grid-template-columns: minmax(0, 320px) minmax(0, 1fr); align-items: start; }
.grid-2--genis { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: start; }
.grid-2--anlat { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 48px; align-items: start; }
/* Zaman cizelgesi satiri: yil sutunu + metin. */
.zaman-satir { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 24px; }

/* Tek sutunlu grid'lerde sutun ACIKCA minmax(0,1fr) olmalidir. Tanimsiz birakilan
   sutun "auto" (= max-content) olur; icerik kapsayicidan tasar ve dar ekranda
   yatay kaydirma yaratir. Asagidaki siniflarin tamami tek sutunlu yigindir. */
.check__text, .vkn, .dropzone, .alert__body, .empty, .empty__text, .progress, .kpi,
.result__title, .result__fields > div, .quotalock__panel, .modal__titles, .toast__body,
.accordion, .hero__inner, .trust__text, .corpband__inner, .corpband__text, .corpband__brand,
.corpband__stats > div, .pkg, .pkg__price, .pkg__features, .feature, .sectionhead,
.pubfooter__col, .pubfooter__bottom, .kunye__liste, .kunye--kart, .sidebar__nav,
.topbar__titles, .userchip__text, .legal__toc, .legal__body, .legal__madde,
.contactcard, .map, .cardlist__item, .auth__brandtop {
  grid-template-columns: minmax(0, 1fr);
}
.hide { display: none !important; }
/* Yalnizca mobil kirilma noktasinda gorunur (bkz. @media max-width 780). */
.sadece-mobil { display: none; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.muted { color: var(--text-secondary); }
.tertiary { color: var(--text-tertiary); }
.small { font-size: var(--text-xs); }
.micro { font-size: var(--text-micro); }
.eyebrow {
  font-size: var(--text-eyebrow);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--blue-500);
}
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* --------------------------------------------------------------- buton ---- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: var(--control-h-md);
  padding: 0 16px;
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: -0.005em;
  line-height: 1;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: var(--transition-control), transform var(--duration-instant) var(--ease-standard);
}
.btn:hover { text-decoration: none; }
.btn:active:not([disabled]):not(.is-disabled) { transform: translateY(var(--press-translate)); }
.btn[disabled], .btn.is-disabled { opacity: .5; cursor: not-allowed; transform: none; }

.btn--sm { height: var(--control-h-sm); padding: 0 12px; font-size: var(--text-xs); gap: 6px; }
.btn--lg { height: var(--control-h-lg); padding: 0 22px; font-size: var(--text-body-sm); gap: 9px; }
.btn--xl { height: var(--control-h-xl); padding: 0 28px; font-size: var(--text-base); gap: 10px; }
.btn--block { display: flex; width: 100%; }

.btn--primary { background: var(--action-primary); color: var(--text-inverse); }
.btn--primary:hover { background: var(--action-primary-hover); color: var(--text-inverse); }
.btn--primary:active { background: var(--action-primary-active); }

.btn--secondary { background: var(--action-secondary); color: var(--text-inverse); }
.btn--secondary:hover { background: var(--action-secondary-hover); color: var(--text-inverse); }
.btn--secondary:active { background: var(--navy-950); }

.btn--outline { background: var(--surface-card); color: var(--text-heading); border-color: var(--border-default); }
.btn--outline:hover { background: var(--gray-25); color: var(--text-heading); }
.btn--outline:active { background: var(--gray-100); }

.btn--ghost { background: transparent; color: var(--text-secondary); }
.btn--ghost:hover { background: var(--action-neutral-hover); color: var(--text-secondary); }
.btn--ghost:active { background: var(--gray-200); }

.btn--ghost-inverse { background: transparent; color: var(--text-inverse); border-color: rgba(255,255,255,.28); }
.btn--ghost-inverse:hover { background: rgba(255,255,255,.12); color: var(--text-inverse); }
.btn--ghost-inverse:active { background: rgba(255,255,255,.2); }

.btn--danger { background: var(--action-danger); color: var(--text-inverse); }
.btn--danger:hover { background: var(--action-danger-hover); color: var(--text-inverse); }

.btn.is-loading .ico { animation: onyspin 900ms linear infinite; }
@keyframes onyspin { to { transform: rotate(360deg); } }

/* ikon butonu */
.iconbtn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  transition: var(--transition-control);
}
.iconbtn:hover { background: var(--action-neutral-hover); }
.iconbtn--sm { width: 32px; height: 32px; }
.iconbtn--lg { width: 48px; height: 48px; }
.iconbtn--outline { background: var(--surface-card); color: var(--text-heading); border-color: var(--border-default); }
.iconbtn--outline:hover { background: var(--gray-25); }
.iconbtn--solid { background: var(--action-primary); color: var(--text-inverse); }
.iconbtn--solid:hover { background: var(--action-primary-hover); }
.iconbtn--inverse { color: var(--text-inverse); }
.iconbtn--inverse:hover { background: rgba(255,255,255,.12); }
.iconbtn--danger { color: var(--text-danger); }
.iconbtn--danger:hover { background: var(--surface-danger-soft); }
.iconbtn.is-active { background: var(--gray-200); }
.iconbtn[disabled] { opacity: .45; cursor: not-allowed; }

/* --------------------------------------------------------------- rozet ---- */
.badge {
  display: inline-flex; align-items: center; gap: 6px;
  height: 24px; padding: 0 9px;
  font-size: var(--text-xs); font-weight: var(--weight-semibold); line-height: 1;
  border: 1px solid var(--status-neutral-border);
  border-radius: var(--radius-xs);
  background: var(--status-neutral-bg);
  color: var(--status-neutral-fg);
  white-space: nowrap;
}
.badge--sm { height: 20px; padding: 0 7px; gap: 4px; font-size: var(--text-micro); }
.badge--pill { border-radius: var(--radius-full); }
.badge--accent { background: var(--blue-50); color: var(--text-accent); border-color: var(--blue-100); }
.badge--success { background: var(--status-active-bg); color: var(--status-active-fg); border-color: var(--status-active-border); }
.badge--warning { background: var(--status-terk-bg); color: var(--status-terk-fg); border-color: var(--status-terk-border); }
.badge--danger { background: var(--status-error-bg); color: var(--status-error-fg); border-color: var(--status-error-border); }
.badge--brand { background: var(--navy-800); color: var(--text-inverse); border-color: var(--navy-800); }
.badge__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }

/* bekleyen resmî alan yer tutucusu */
.bekleme {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 0 6px;
  border: 1px dashed var(--amber-600);
  border-radius: var(--radius-xs);
  background: var(--surface-warning-soft);
  color: var(--text-warning);
  font-size: var(--text-micro);
  font-weight: var(--weight-semibold);
  letter-spacing: .02em;
  white-space: nowrap;
}
.tone-dark .bekleme { border-color: rgba(230,177,100,.7); background: rgba(200,122,10,.18); color: #E6B164; }

/* ----------------------------------------------------------------- kart ---- */
.card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  transition: var(--transition-surface);
  overflow: hidden;
}
.card--hoverable:hover { box-shadow: var(--shadow-md); }
.card--sunken { background: var(--surface-sunken); }
.card--accent { background: var(--surface-accent-soft); border-color: var(--blue-100); }
.card--inverse { background: var(--surface-inverse); border-color: rgba(255,255,255,.1); color: var(--text-inverse); }
.card__head {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 14px 20px; border-bottom: 1px solid var(--border-subtle);
}
.card__head h3 { font-size: var(--text-h4); font-weight: var(--weight-semibold); color: var(--text-heading); }
.card__head p { margin-top: 2px; font-size: var(--text-xs); color: var(--text-secondary); }
.card__body { padding: var(--pad-card); }
.card__body--none { padding: 0; }
.card__body--sm { padding: 16px; }
.card__body--lg { padding: var(--pad-card-lg); }
.card__foot { padding: 12px 20px; border-top: 1px solid var(--border-subtle); background: var(--surface-sunken); }

/* ---------------------------------------------------------------- form ---- */
/* align-content:start olmadan, yan yana duran iki alandan biri ipucu metni
   tasidiginda satirlar esneyip inputlar farkli yuksekliklere kayiyordu
   (kayit ekranindaki "Şifre / Şifre tekrarı" ciftinde gorulen kayma). */
.field { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; align-content: start; }
.field__label {
  display: flex; align-items: center; gap: 4px;
  font-size: var(--text-xs); font-weight: var(--weight-semibold); color: var(--text-heading);
  min-height: 18px;
}
/* Yan yana duran alanlarda etiket ikinci satira sararsa inputlar kayiyordu;
   dar sutunda etiket tek satirda tutulur. */
.grid-2 > .field > .field__label,
.grid-3 > .field > .field__label {
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; line-height: 18px;
}
.field__label .req { color: var(--text-danger); }
.field__label .opt { color: var(--text-tertiary); font-weight: var(--weight-regular); }
.field__hint { font-size: var(--text-micro); color: var(--text-tertiary); }
.field__error { font-size: var(--text-micro); color: var(--text-danger); font-weight: var(--weight-medium); }

.control {
  display: flex; align-items: center; gap: 8px;
  width: 100%; height: var(--control-h-md); padding: 0 12px;
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  transition: var(--transition-control);
}
.control:focus-within { border-color: var(--blue-500); box-shadow: var(--focus-ring); }
.control--sm { height: var(--control-h-sm); }
.control--lg { height: var(--control-h-lg); padding: 0 14px; }
.control--xl { height: var(--control-h-xl); padding: 0 18px; }
.control.is-invalid { border-color: var(--red-600); }
.control.is-invalid:focus-within { box-shadow: var(--focus-ring-danger); }
.control.is-disabled { background: var(--gray-100); }
.control > input,
.control > textarea {
  flex: 1; min-width: 0;
  border: none; outline: none; background: transparent;
  color: var(--text-body);
  font-size: var(--text-body-sm);
}
.control--lg > input { font-size: var(--text-base); }
.control--xl > input { font-size: var(--text-h3); }
.control > input:disabled { color: var(--text-disabled); }
.control > input::placeholder, .control > textarea::placeholder { color: var(--text-tertiary); }
.control .ico { color: var(--text-tertiary); }
.control--numeric > input {
  font-weight: var(--weight-medium);
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: .04em;
}

textarea.control {
  height: auto; min-height: 108px; padding: 10px 12px;
  font-size: var(--text-body-sm); color: var(--text-body); line-height: var(--leading-body);
  resize: vertical; font-family: var(--font-sans);
}

.select { position: relative; display: flex; align-items: center; width: 100%; height: var(--control-h-md);
  background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-sm);
  transition: var(--transition-control); }
.select:focus-within { border-color: var(--blue-500); box-shadow: var(--focus-ring); }
.select.is-invalid { border-color: var(--red-600); }
.select--sm { height: var(--control-h-sm); }
.select > select {
  appearance: none; -webkit-appearance: none;
  width: 100%; height: 100%; padding: 0 34px 0 12px;
  border: none; outline: none; background: transparent;
  color: var(--text-body); font-size: var(--text-body-sm); cursor: pointer;
}
.select > .ico { position: absolute; right: 10px; pointer-events: none; color: var(--text-tertiary); }

.check { display: flex; gap: 10px; align-items: center; cursor: pointer; }
.check--top { align-items: flex-start; }
.check input { position: absolute; opacity: 0; width: 0; height: 0; }
.check__box {
  flex: 0 0 auto; width: 18px; height: 18px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-xs);
  border: 1px solid var(--border-strong);
  background: var(--surface-card);
  color: var(--text-inverse);
  transition: var(--transition-control);
}
.check--top .check__box { margin-top: 2px; }
.check__box .ico { opacity: 0; }
.check input:checked ~ .check__box { background: var(--blue-500); border-color: var(--blue-500); }
.check input:checked ~ .check__box .ico { opacity: 1; }
.check input:focus-visible ~ .check__box { box-shadow: var(--focus-ring); }
.check__text { display: grid; gap: 2px; }
.check__text b { font-size: var(--text-body-sm); color: var(--text-body); font-weight: var(--weight-regular); }
.check__text span { font-size: var(--text-micro); color: var(--text-secondary); line-height: 1.5; }
.check__box--radio { border-radius: 50%; }
.check input:checked ~ .check__box--radio { background: var(--surface-card); border-color: var(--blue-500); }
.check input:checked ~ .check__box--radio::after {
  content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--blue-500);
}

.switch { position: relative; display: inline-flex; align-items: center; gap: 10px; cursor: pointer; }
.switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.switch__track {
  width: 40px; height: 22px; border-radius: var(--radius-full);
  background: var(--gray-300); transition: var(--transition-control); flex: 0 0 auto; position: relative;
}
.switch__track::after {
  content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px;
  border-radius: 50%; background: var(--white); box-shadow: var(--shadow-xs);
  transition: transform var(--duration-base) var(--ease-standard);
}
.switch input:checked ~ .switch__track { background: var(--blue-500); }
.switch input:checked ~ .switch__track::after { transform: translateX(18px); }

/* VKN girişi — ürünün imza kontrolü */
.vkn { display: grid; gap: 8px; }
.vkn__box {
  display: flex; align-items: center; gap: 12px;
  height: var(--control-h-xl); padding: 0 8px 0 20px;
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
  transition: var(--transition-control);
}
.vkn__box:focus-within { border-color: var(--blue-500); box-shadow: var(--focus-ring); }
.vkn__box.is-invalid { border-color: var(--red-600); box-shadow: var(--focus-ring-danger); }
.vkn__box input {
  flex: 1; min-width: 0; border: none; outline: none; background: transparent;
  font-size: var(--text-h2); font-weight: var(--weight-medium);
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: .12em; color: var(--text-body);
}
.vkn__box input::placeholder { letter-spacing: normal; font-size: var(--text-body-lg); color: var(--text-tertiary); }
.vkn__count {
  font-size: var(--text-micro); color: var(--text-tertiary);
  font-variant-numeric: tabular-nums; font-weight: var(--weight-medium);
}
.vkn__count.is-full { color: var(--green-600); }
.vkn--md .vkn__box { height: var(--control-h-lg); padding: 0 6px 0 14px; }
.vkn--md .vkn__box input { font-size: var(--text-body-lg); letter-spacing: .08em; }
.vkn__error {
  display: flex; align-items: center; gap: 6px;
  font-size: var(--text-xs); color: var(--text-danger); font-weight: var(--weight-medium);
}

/* dosya bırakma alanı — sistemdeki tek kesikli kenarlık */
.dropzone {
  display: grid; justify-items: center; gap: 10px;
  padding: 36px 24px; text-align: center;
  border: 2px dashed var(--border-default);
  border-radius: var(--radius-md);
  background: var(--surface-sunken);
  cursor: pointer;
  transition: var(--transition-control);
}
.dropzone:hover, .dropzone.is-over { border-color: var(--blue-500); background: var(--surface-accent-soft); }
.dropzone__icon {
  width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-md); background: var(--blue-50); color: var(--blue-500);
}
.dropzone b { font-size: var(--text-body-sm); color: var(--text-heading); font-weight: var(--weight-semibold); }
.dropzone span { font-size: var(--text-micro); color: var(--text-tertiary); }

/* --------------------------------------------------------------- uyarı ---- */
.alert {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--blue-100);
  border-radius: var(--radius-sm);
  background: var(--blue-50);
  color: var(--blue-700);
}
.alert__body { flex: 1; display: grid; gap: 2px; min-width: 0; }
.alert__body strong { font-size: var(--text-sm); font-weight: var(--weight-semibold); color: inherit; }
.alert__body div { font-size: var(--text-xs); line-height: 1.55; color: var(--text-secondary); }
.alert--info { background: var(--blue-50); border-color: var(--blue-100); color: var(--blue-700); }
.alert--success { background: var(--green-50); border-color: var(--green-100); color: var(--green-700); }
.alert--warning { background: var(--amber-50); border-color: var(--amber-100); color: var(--amber-700); }
.alert--danger { background: var(--red-50); border-color: var(--red-100); color: var(--red-700); }
.alert--neutral { background: var(--surface-sunken); border-color: var(--border-subtle); color: var(--text-secondary); }
.alert--banner { border: none; border-bottom: 1px solid var(--border-subtle); border-radius: 0; padding: 12px 20px; }
.alert__close { background: none; border: none; cursor: pointer; color: inherit; padding: 0; display: inline-flex; }

/* --------------------------------------------------------------- tablo ---- */
.tablewrap { width: 100%; overflow-x: auto; }
.table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.table thead tr { height: var(--table-header-h); background: var(--surface-sunken); }
.table th {
  text-align: left; padding: 0 var(--pad-cell-x); white-space: nowrap;
  font-size: var(--text-micro); font-weight: var(--weight-semibold);
  letter-spacing: .04em; text-transform: uppercase; color: var(--text-tertiary);
  border-bottom: 1px solid var(--border-subtle);
}
.table td {
  padding: 0 var(--pad-cell-x); color: var(--text-body);
  border-bottom: 1px solid var(--border-subtle);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.table tbody tr {
  height: var(--table-row-h); background: var(--surface-card);
  transition: background-color var(--duration-instant) var(--ease-standard);
}
.table tbody tr:hover { background: var(--gray-25); }
.table--compact { font-size: var(--text-xs); }
.table--compact tbody tr { height: 40px; }
.table .right { text-align: right; }
.table .wrap { white-space: normal; }
.table .strong { font-weight: var(--weight-semibold); }
.table .muted { color: var(--text-secondary); }
.table__empty { padding: 36px 0; text-align: center; color: var(--text-tertiary); font-size: var(--text-sm); }
.table--mono td.mono { font-family: var(--font-mono); font-size: var(--text-xs); }

/* ------------------------------------------------------------- sayfalama -- */
.pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; }
.pagination__info { font-size: var(--text-xs); color: var(--text-secondary); }
.pagination__pages { display: flex; align-items: center; gap: 6px; }
.pagination a, .pagination span.pg {
  min-width: 32px; height: 32px; padding: 0 8px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-xs);
  border: 1px solid var(--border-subtle);
  background: var(--surface-card);
  color: var(--text-secondary);
  font-size: var(--text-xs); font-weight: var(--weight-medium);
  font-variant-numeric: tabular-nums;
  text-decoration: none;
  transition: var(--transition-control);
}
.pagination a:hover { background: var(--gray-25); color: var(--text-heading); text-decoration: none; }
.pagination .is-active { background: var(--blue-500); border-color: var(--blue-500); color: var(--text-inverse); }
.pagination .is-disabled { opacity: .45; pointer-events: none; }
.pagination .dots { border: none; background: none; color: var(--text-tertiary); min-width: auto; }

/* ------------------------------------------------------------ boş durum --- */
.empty { display: grid; justify-items: center; gap: 12px; padding: 44px 24px; text-align: center; }
.empty--lg { padding: 64px 24px; }
.empty__icon {
  width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-md); background: var(--surface-muted); color: var(--text-tertiary);
}
.empty--lg .empty__icon { width: 64px; height: 64px; }
.empty__text { display: grid; gap: 5px; max-width: 380px; }
.empty__text strong { font-size: var(--text-h4); color: var(--text-heading); font-weight: var(--weight-semibold); }
.empty--lg .empty__text strong { font-size: var(--text-h3); }
.empty__text p { font-size: var(--text-body-sm); color: var(--text-secondary); line-height: var(--leading-body); }
.empty__actions { display: flex; gap: 8px; margin-top: 4px; }

/* ------------------------------------------------------------- ilerleme --- */
.progress { display: grid; gap: 6px; }
.progress__head { display: flex; justify-content: space-between; gap: 12px; font-size: var(--text-xs); }
.progress__head span:first-child { color: var(--text-secondary); font-weight: var(--weight-medium); }
.progress__head span:last-child { color: var(--text-heading); font-weight: var(--weight-semibold); }
.progress__track { height: 6px; border-radius: var(--radius-full); background: var(--gray-200); overflow: hidden; }
.progress__track--sm { height: 4px; }
.progress__track--lg { height: 10px; }
.progress__fill {
  height: 100%; border-radius: var(--radius-full); background: var(--blue-500);
  transition: width var(--duration-slow) var(--ease-standard);
}
.progress__fill--success { background: var(--green-600); }
.progress__fill--warning { background: var(--amber-600); }
.progress__fill--danger { background: var(--red-600); }
.progress__hint { font-size: var(--text-micro); color: var(--text-tertiary); }

/* -------------------------------------------------------------- iskelet --- */
.skel {
  background: linear-gradient(90deg, var(--gray-100) 25%, var(--gray-200) 37%, var(--gray-100) 63%);
  background-size: 400% 100%;
  animation: onyshimmer 1.4s ease infinite;
  border-radius: var(--radius-xs);
  height: 10px;
}
@keyframes onyshimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

/* ---------------------------------------------------------------- KPI ----- */
.kpi {
  display: grid; gap: 10px; padding: var(--pad-card);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); box-shadow: var(--shadow-sm);
}
.kpi__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kpi__label {
  font-size: var(--text-micro); font-weight: var(--weight-semibold);
  letter-spacing: .04em; text-transform: uppercase; color: var(--text-tertiary);
}
.kpi__icon {
  width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-sm); background: var(--blue-50); color: var(--blue-500);
}
.kpi__value { display: flex; align-items: baseline; gap: 6px; }
.kpi__value strong {
  font-size: var(--text-h1); font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-heading); line-height: 1; color: var(--text-heading);
  font-variant-numeric: tabular-nums lining-nums;
}
.kpi__value span { font-size: var(--text-body-sm); color: var(--text-secondary); }
.kpi__foot { display: flex; align-items: center; gap: 8px; font-size: var(--text-micro); color: var(--text-tertiary); }
.kpi__delta { display: inline-flex; align-items: center; gap: 3px; font-weight: var(--weight-semibold); }
.kpi__delta--up { color: var(--green-700); }
.kpi__delta--down { color: var(--red-700); }
.kpi--inverse { background: var(--surface-inverse); border-color: rgba(255,255,255,.1); }
.kpi--inverse .kpi__label, .kpi--inverse .kpi__foot { color: var(--text-inverse-secondary); }
.kpi--inverse .kpi__value strong { color: var(--text-inverse); }
.kpi--inverse .kpi__icon { background: rgba(255,255,255,.1); color: var(--white); }

/* ------------------------------------------------------------ sonuç kartı - */
.result {
  position: relative;
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}
.result.is-blurred { filter: var(--blur-lock); user-select: none; }
.result__head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
  padding: 20px 24px; border-bottom: 1px solid var(--border-subtle);
}
.result__title { display: grid; gap: 6px; min-width: 0; }
.result__eyebrow {
  font-size: var(--text-micro); font-weight: var(--weight-semibold);
  letter-spacing: .06em; text-transform: uppercase; color: var(--text-tertiary);
}
.result__unvan {
  font-size: var(--text-h3); color: var(--text-heading);
  letter-spacing: var(--tracking-heading); line-height: 1.3;
  /* PK etiketi (urn:mail:...@firma.com.tr) ve uzun unvanlar bosluksuz tek
     kelimedir; dar ekranda karti tasirlar. */
  overflow-wrap: anywhere;
}
.result__vkn { font-size: var(--text-body-sm); color: var(--text-secondary); letter-spacing: .06em; }
.result__fields {
  margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 32px; padding: 20px 24px;
}
.result__fields > div { display: grid; gap: 3px; min-width: 0; }
.result__fields dd { overflow-wrap: anywhere; }
.result__fields .span2 { grid-column: span 2; }
.result__fields dt {
  font-size: var(--text-micro); font-weight: var(--weight-semibold);
  letter-spacing: .04em; text-transform: uppercase; color: var(--text-tertiary);
}
.result__fields dd {
  margin: 0; font-size: var(--text-body-sm); color: var(--text-body);
  font-weight: var(--weight-medium); line-height: 1.45; word-break: break-word;
}
.result__foot {
  display: flex; align-items: center; gap: 8px; padding: 12px 20px;
  border-top: 1px solid var(--border-subtle); background: var(--surface-sunken);
}
.result__source {
  margin-left: auto; display: inline-flex; align-items: center; gap: 5px;
  font-size: var(--text-micro); color: var(--text-tertiary);
}
.result--compact .result__head { padding: 16px 20px; }
.result--compact .result__fields { padding: 16px 20px; gap: 14px 24px; }
.result--compact .result__unvan { font-size: var(--text-h4); }

/* kota kilidi */
.quotalock { position: relative; }
.quotalock__overlay {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  padding: 24px; z-index: var(--z-overlay);
}
.quotalock__panel {
  width: 100%; max-width: 460px; padding: 26px 24px;
  background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-modal); display: grid; gap: 14px; justify-items: center; text-align: center;
}
.quotalock__icon {
  width: 48px; height: 48px; border-radius: var(--radius-md);
  background: var(--surface-warning-soft); color: var(--amber-600);
  display: inline-flex; align-items: center; justify-content: center;
}

/* --------------------------------------------------------------- modal ---- */
.modal-backdrop {
  position: fixed; inset: 0; z-index: var(--z-modal);
  background: var(--surface-overlay);
  display: flex; align-items: center; justify-content: center; padding: 24px;
  animation: onyfade var(--duration-modal) var(--ease-out);
}
.modal {
  width: 100%; max-width: 520px;
  background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-modal); overflow: hidden;
  animation: onyrise var(--duration-modal) var(--ease-out);
  max-height: calc(100vh - 48px); overflow-y: auto;
}
@keyframes onyfade { from { opacity: 0; } to { opacity: 1; } }
@keyframes onyrise { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.modal__head { display: flex; align-items: flex-start; gap: 14px; padding: 22px 24px 0; }
.modal__icon {
  flex: 0 0 auto; width: 40px; height: 40px; border-radius: var(--radius-md);
  background: var(--blue-50); color: var(--blue-500);
  display: inline-flex; align-items: center; justify-content: center;
}
.modal__icon--warning { background: var(--amber-50); color: var(--amber-600); }
.modal__icon--danger { background: var(--red-50); color: var(--red-600); }
.modal__icon--success { background: var(--green-50); color: var(--green-600); }
.modal__titles { flex: 1; display: grid; gap: 4px; min-width: 0; }
.modal__titles h3 { font-size: var(--text-h3); font-weight: var(--weight-bold); color: var(--text-heading); }
.modal__titles p { font-size: var(--text-body-sm); color: var(--text-secondary); line-height: var(--leading-body); }
.modal__close { background: none; border: none; cursor: pointer; color: var(--text-tertiary); padding: 4px; display: inline-flex; }
.modal__body { padding: 18px 24px 0; }
.modal__foot { display: flex; justify-content: flex-end; gap: 8px; padding: 20px 24px 22px; }

/* --------------------------------------------------------------- toast ---- */
.toaststack { position: fixed; right: 24px; bottom: 24px; z-index: var(--z-toast); display: grid; gap: 10px; }
.toast {
  display: flex; align-items: flex-start; gap: 10px; width: 340px; padding: 12px 14px;
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm); box-shadow: var(--shadow-lg);
  animation: onytoast var(--duration-slow) var(--ease-out);
}
@keyframes onytoast { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.toast__body { flex: 1; display: grid; gap: 2px; min-width: 0; }
.toast__body strong { font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--text-heading); }
.toast__body span { font-size: var(--text-micro); color: var(--text-secondary); line-height: 1.5; }
.toast--success .ico { color: var(--green-600); }
.toast--info .ico { color: var(--blue-500); }
.toast--warning .ico { color: var(--amber-600); }
.toast--danger .ico { color: var(--red-600); }

/* ------------------------------------------------------ sekme / adım / SSS - */
.tabs { display: flex; gap: 24px; border-bottom: 1px solid var(--border-subtle); }
.tabs a, .tabs button {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 0 0 11px; margin-bottom: -1px;
  border: none; border-bottom: 2px solid transparent; background: transparent;
  color: var(--text-secondary); font-size: var(--text-sm); font-weight: var(--weight-medium);
  cursor: pointer; white-space: nowrap; text-decoration: none;
  transition: var(--transition-control);
}
.tabs a:hover, .tabs button:hover { color: var(--text-body); text-decoration: none; }
.tabs .is-active { color: var(--text-heading); font-weight: var(--weight-semibold); border-bottom-color: var(--blue-500); }
.tabs--pill { gap: 4px; padding: 4px; background: var(--surface-muted); border-radius: var(--radius-sm); border-bottom: none; width: fit-content; }
.tabs--pill a, .tabs--pill button { height: 32px; padding: 0 14px; border-radius: var(--radius-xs); border-bottom: none; margin-bottom: 0; }
.tabs--pill .is-active { background: var(--surface-card); box-shadow: var(--shadow-xs); border-bottom: none; }

.stepper { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
/* flex:1 tum adimlari esit genislige zorluyor ve en uzun etiket, yer varken
   bile "..." ile kirpiliyordu. Basis "auto" olunca adim once icerigi kadar
   yer alir, artan bosluk sonra esit paylasilir. */
.stepper li { display: flex; align-items: center; flex: 1 1 auto; min-width: 0; }
.stepper li:last-child { flex: 0 0 auto; }
.stepper__dot {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: var(--radius-full);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-micro); font-weight: var(--weight-bold); font-variant-numeric: tabular-nums;
  background: var(--surface-card); color: var(--text-tertiary);
  border: 1px solid var(--border-default);
}
.stepper__label {
  font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--text-tertiary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-left: 9px;
}
.stepper__line { flex: 1; height: 1px; margin: 0 14px; background: var(--border-subtle); min-width: 16px; }
.stepper .is-current .stepper__dot { background: var(--blue-500); border-color: var(--blue-500); color: var(--white); }
.stepper .is-current .stepper__label { color: var(--text-heading); font-weight: var(--weight-semibold); }
.stepper .is-done .stepper__dot { background: var(--green-600); border-color: var(--green-600); color: var(--white); }
.stepper .is-done .stepper__label { color: var(--text-body); }
.stepper .is-done .stepper__line { background: var(--green-600); }

.accordion { display: grid; gap: 8px; }
.accordion details {
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); overflow: hidden; transition: var(--transition-surface);
}
.accordion details[open] { border-color: var(--blue-100); }
.accordion summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 16px 20px; cursor: pointer; list-style: none;
  font-size: var(--text-body-sm); font-weight: var(--weight-semibold); color: var(--text-heading);
}
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary::after {
  content: "add"; font-family: "Material Symbols Outlined"; font-size: 17px;
  color: var(--text-tertiary); font-weight: 400;
}
.accordion details[open] summary::after { content: "remove"; }
.accordion p {
  padding: 0 20px 18px; font-size: var(--text-body-sm);
  color: var(--text-secondary); line-height: var(--leading-body); max-width: 72ch;
}

/* ------------------------------------------------------- halka açık başlık - */
.pubheader {
  display: flex; align-items: center; gap: 28px;
  height: var(--public-header-h); padding: 0 32px;
  background: var(--navy-800); border-bottom: 1px solid rgba(255,255,255,.08);
  position: sticky; top: 0; z-index: var(--z-sticky);
}
.pubheader__brand { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.pubheader__brand img { height: 26px; width: auto; display: block; }
.pubheader__byline { display: flex; align-items: center; gap: 12px; }
.pubheader__byline i { width: 1px; height: 22px; background: rgba(255,255,255,.18); display: block; }
.pubheader__byline span { font-size: var(--text-micro); color: rgba(255,255,255,.6); white-space: nowrap; font-style: normal; }
.pubheader nav { display: flex; align-items: center; gap: 4px; flex: 1 1 auto; min-width: 0; overflow: hidden; }
.pubheader nav a {
  padding: 8px 12px; border-radius: var(--radius-sm);
  font-size: var(--text-sm); font-weight: var(--weight-medium);
  color: rgba(255,255,255,.78); text-decoration: none; white-space: nowrap;
  transition: var(--transition-control);
}
.pubheader nav a:hover { background: rgba(255,255,255,.08); color: #fff; text-decoration: none; }
.pubheader nav a.is-active { color: #fff; font-weight: var(--weight-semibold); }
.pubheader__actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.pubheader__phone {
  display: inline-flex; align-items: center; gap: 6px; margin-right: 4px;
  font-size: var(--text-micro); color: rgba(255,255,255,.6);
  text-decoration: none; white-space: nowrap;
}
.pubheader__phone:hover { color: rgba(255,255,255,.9); text-decoration: none; }
.themetoggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: var(--radius-sm);
  border: 1px solid rgba(255,255,255,.18); background: transparent;
  color: rgba(255,255,255,.82); cursor: pointer; transition: var(--transition-control);
}
.themetoggle:hover { background: rgba(255,255,255,.1); }
.themetoggle--light { border-color: var(--border-subtle); color: var(--text-secondary); }
.themetoggle--light:hover { background: var(--action-neutral-hover); }
.pubheader__burger { display: none; background: none; border: none; color: #fff; cursor: pointer; padding: 6px; }

/* ---------------------------------------------------------------- hero ---- */
.hero {
  background:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.10) 1px, transparent 0),
    linear-gradient(135deg, #102E48 0%, #1D4E7A 100%);
  background-size: 22px 22px, 100% 100%;
  padding: 72px 32px 80px;
  color: var(--text-inverse);
}
.hero__inner { max-width: 780px; margin: 0 auto; display: grid; gap: 20px; justify-items: center; text-align: center; }
.hero h1 {
  font-size: var(--text-display); color: #fff;
  letter-spacing: var(--tracking-display); line-height: var(--leading-display);
}
.hero p { font-size: var(--text-body-lg); color: rgba(255,255,255,.78); line-height: var(--leading-body); max-width: 60ch; }
.hero .vkn { width: 100%; max-width: 620px; margin-top: 8px; }
.hero__quota { font-size: var(--text-xs); color: rgba(255,255,255,.66); }
.hero__meta {
  width: 100%; max-width: 620px;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 6px 12px; font-size: var(--text-xs); color: rgba(255,255,255,.62);
  text-align: center;
}
.hero__meta > span { display: inline-flex; align-items: center; gap: 6px; }
.hero__meta b { color: #fff; font-weight: var(--weight-semibold); }
.hero__meta-sep { color: rgba(255,255,255,.35); }
@media (max-width: 620px) { .hero__meta-sep { display: none; } .hero__meta { flex-direction: column; gap: 6px; } }
.hero__quota b { color: #fff; font-weight: var(--weight-semibold); }

/* ------------------------------------------------------------ güven şeridi - */
.trust {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px;
  background: var(--border-subtle); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); overflow: hidden;
}
.trust > div { display: flex; align-items: center; gap: 10px; padding: 16px 18px; background: var(--surface-card); }
.trust strong { font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--text-heading); white-space: nowrap; }
.trust span.meta { font-size: var(--text-micro); color: var(--text-tertiary); white-space: nowrap; }
.trust__text { display: grid; gap: 1px; min-width: 0; }

/* --------------------------------------------------------- kurumsal şerit -- */
.corpband {
  background:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.08) 1px, transparent 0),
    var(--navy-800);
  background-size: 22px 22px, 100% 100%;
  padding: 56px 32px;
}
.corpband__inner { max-width: var(--container-max); margin: 0 auto; display: grid; gap: 32px; }
.corpband__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 48px; }
.corpband__text { display: grid; gap: 12px; max-width: 620px; }
.corpband__text h2 {
  font-size: var(--text-h1); color: #fff;
  letter-spacing: var(--tracking-heading); line-height: var(--leading-heading);
}
.corpband__text p { font-size: var(--text-body-lg); line-height: var(--leading-body); color: rgba(255,255,255,.76); }
.corpband__eyebrow { color: var(--blue-200); }
.corpband__brand { display: grid; gap: 3px; justify-items: end; text-align: right; flex: 0 0 auto; padding-top: 6px; }
.corpband__brand b { font-size: 26px; font-weight: var(--weight-extrabold); letter-spacing: -.02em; color: #fff; line-height: 1; }
.corpband__brand span { font-size: var(--text-micro); color: rgba(255,255,255,.5); }
.corpband__stats {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-md); overflow: hidden;
}
.corpband__stats > div { display: grid; gap: 4px; padding: 20px 22px; background: var(--navy-800); }
.corpband__stats b {
  font-size: var(--text-display); font-weight: var(--weight-extrabold);
  letter-spacing: var(--tracking-display); color: #fff; line-height: 1;
}
.corpband__stats span { font-size: var(--text-xs); color: rgba(255,255,255,.62); }

/* ------------------------------------------------------------ paket kartı -- */
.pkg {
  position: relative; display: grid; gap: 16px; align-content: start;
  padding: 24px 22px; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm); transition: var(--transition-surface);
}
.pkg:hover { box-shadow: var(--shadow-md); }
.pkg--featured { border-color: var(--blue-500); box-shadow: var(--shadow-md); }
.pkg--secili { border-color: var(--blue-500); box-shadow: var(--focus-ring), var(--shadow-md); }
.pkg--secili .btn.is-disabled { opacity: 1; color: var(--text-accent); border-color: var(--blue-200); background: var(--surface-accent-soft); }
.pkg--compact { padding: 18px; gap: 12px; }
.pkg__badge { position: absolute; top: -11px; left: 22px; }
.pkg__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pkg__name { font-size: var(--text-h4); font-weight: var(--weight-semibold); color: var(--text-heading); }
.pkg__price { display: grid; gap: 4px; }
.pkg__credits { font-size: var(--text-body-sm); color: var(--text-secondary); font-weight: var(--weight-medium); }
.pkg__amount {
  font-size: var(--text-h1); font-weight: var(--weight-bold); color: var(--text-heading);
  letter-spacing: var(--tracking-heading); line-height: 1.1;
}
.pkg--compact .pkg__amount { font-size: var(--text-h2); }
.pkg__unit { font-size: var(--text-micro); color: var(--text-tertiary); }
.pkg__features { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.pkg__features li {
  display: flex; gap: 8px; align-items: flex-start;
  font-size: var(--text-xs); color: var(--text-secondary); line-height: 1.5;
}
.pkg__features .ico { color: var(--green-600); margin-top: 1px; }

/* ----------------------------------------------------------- özellik kartı - */
.feature {
  display: grid; gap: 12px; align-content: start; padding: 22px 20px;
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); box-shadow: var(--shadow-sm);
  transition: var(--transition-surface);
}
.feature:hover { box-shadow: var(--shadow-md); }
.feature__icon {
  width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-sm); background: var(--blue-50); color: var(--blue-500);
}
.feature strong { font-size: var(--text-h4); font-weight: var(--weight-semibold); color: var(--text-heading); }
.feature p { font-size: var(--text-body-sm); line-height: var(--leading-body); color: var(--text-secondary); }
.feature span.foot { font-size: var(--text-micro); color: var(--text-tertiary); }
.feature--inverse { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.12); box-shadow: none; }
.feature--inverse strong { color: var(--text-inverse); }
.feature--inverse p { color: var(--text-inverse-secondary); }
.feature--inverse .feature__icon { background: rgba(255,255,255,.1); color: #fff; }

/* ------------------------------------------------------------ bölüm başlığı- */
.sectionhead { display: grid; gap: 10px; }
.sectionhead--center { justify-items: center; text-align: center; max-width: 640px; margin: 0 auto; }
.sectionhead__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; width: 100%; }
.sectionhead h2 {
  font-size: var(--text-h1); font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-heading); line-height: var(--leading-heading); color: var(--text-heading);
}
.sectionhead p { font-size: var(--text-body-lg); line-height: var(--leading-body); color: var(--text-secondary); max-width: 64ch; }

/* --------------------------------------------------------------- footer --- */
.pubfooter { background: var(--navy-900); color: var(--text-inverse-secondary); padding: 56px 32px 24px; }
.pubfooter__cols {
  max-width: var(--container-max); margin: 0 auto;
  display: grid; grid-template-columns: 1.7fr 1fr 1.25fr 1.3fr; gap: 40px;
}
.pubfooter__col { display: grid; gap: 10px; align-content: start; }
.pubfooter__col--brand { gap: 14px; }
.pubfooter__col img { height: 26px; width: auto; display: block; }
.pubfooter__col > p { font-size: var(--text-xs); line-height: 1.7; max-width: 320px; color: rgba(255,255,255,.72); }
.pubfooter__head {
  font-size: var(--text-micro); font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: rgba(255,255,255,.5);
}
.pubfooter a {
  font-size: var(--text-xs); color: rgba(255,255,255,.78);
  text-decoration: none; display: flex; align-items: center; gap: 6px;
}
.pubfooter a:hover { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.pubfooter .dim { color: rgba(255,255,255,.45); }
.pubfooter__social { display: flex; gap: 8px; margin-top: 2px; }
.pubfooter__social a {
  padding: 5px 10px; border-radius: var(--radius-sm);
  border: 1px solid rgba(255,255,255,.16);
  font-size: var(--text-micro); font-weight: var(--weight-medium); color: rgba(255,255,255,.82);
}
.pubfooter__bottom {
  max-width: var(--container-max); margin: 34px auto 0; padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.1); display: grid; gap: 14px;
}
.pubfooter__legal { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.pubfooter__legal > span:first-child { font-size: var(--text-micro); color: rgba(255,255,255,.5); }
.pubfooter__legal nav { display: flex; gap: 16px; flex-wrap: wrap; }
.pubfooter__legal nav a { font-size: var(--text-micro); color: rgba(255,255,255,.6); }

/* künye */
.kunye__satir {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  font-size: var(--text-micro); line-height: 1.7; color: var(--gray-600);
}
.tone-dark .kunye__satir { color: rgba(255,255,255,.62); }
.kunye__satir strong { color: var(--text-body); font-weight: var(--weight-semibold); }
.tone-dark .kunye__satir strong { color: rgba(255,255,255,.82); }
.kunye__sep { color: var(--text-tertiary); }
.tone-dark .kunye__sep { color: rgba(255,255,255,.5); }
.kunye__liste { display: grid; gap: 6px; }
.kunye__row { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.kunye__k {
  min-width: 112px; flex: 0 0 auto;
  font-size: var(--text-micro); font-weight: var(--weight-semibold);
  letter-spacing: .04em; text-transform: uppercase; color: var(--text-tertiary);
}
.tone-dark .kunye__k { color: rgba(255,255,255,.5); }
.kunye__v { font-size: var(--text-xs); line-height: 1.55; color: var(--text-secondary); }
.tone-dark .kunye__v { color: rgba(255,255,255,.72); }
.kunye__v--strong { color: var(--text-heading); font-weight: var(--weight-semibold); }
.tone-dark .kunye__v--strong { color: #fff; }
.kunye--kart {
  padding: 18px 20px; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md);
  display: grid; gap: 12px;
}
.kunye__baslik {
  display: flex; align-items: center; gap: 8px;
  font-size: var(--text-micro); font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: var(--text-tertiary);
}

/* ------------------------------------------------------------ panel kabuk -- */
.shell { display: flex; min-height: 100vh; background: var(--surface-page); }
.sidebar {
  width: var(--sidebar-w); flex: 0 0 auto; display: flex; flex-direction: column;
  background: var(--surface-card); border-right: 1px solid var(--border-subtle);
  position: sticky; top: 0; height: 100vh;
}
.sidebar--dark { background: var(--navy-800); border-right-color: rgba(255,255,255,.07); }
.sidebar__head { padding: 16px 18px; border-bottom: 1px solid var(--border-subtle); }
.sidebar--dark .sidebar__head { border-bottom-color: rgba(255,255,255,.08); }
.sidebar__head img { height: 24px; width: auto; display: block; }
.sidebar__nav { flex: 1; overflow-y: auto; padding: 12px 10px; display: grid; gap: 2px; align-content: start; }
.sidebar__section {
  padding: 14px 10px 6px; font-size: var(--text-micro); font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: var(--text-tertiary);
}
.sidebar--dark .sidebar__section { color: rgba(255,255,255,.45); }
.sidebar__nav a {
  display: flex; align-items: center; gap: 10px; height: 38px; padding: 0 10px;
  border-radius: var(--radius-sm); font-size: var(--text-sm); font-weight: var(--weight-medium);
  color: var(--text-secondary); text-decoration: none; transition: var(--transition-control);
}
.sidebar__nav a:hover { background: var(--gray-50); text-decoration: none; }
.sidebar__nav a.is-active { background: var(--blue-50); color: var(--text-heading); font-weight: var(--weight-semibold); }
.sidebar--dark .sidebar__nav a { color: rgba(255,255,255,.72); }
.sidebar--dark .sidebar__nav a:hover { background: rgba(255,255,255,.06); }
.sidebar--dark .sidebar__nav a.is-active { background: rgba(255,255,255,.12); color: #fff; }
.sidebar__nav a span.label { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidebar__badge {
  font-size: var(--text-micro); font-weight: var(--weight-semibold);
  padding: 1px 6px; border-radius: var(--radius-full);
  background: var(--gray-100); color: var(--text-secondary);
}
.sidebar--dark .sidebar__badge { background: rgba(255,255,255,.16); color: #fff; }
.sidebar__foot { padding: 12px; border-top: 1px solid var(--border-subtle); }
.sidebar--dark .sidebar__foot { border-top-color: rgba(255,255,255,.08); }

.main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.topbar {
  display: flex; align-items: center; gap: 16px;
  height: var(--topbar-h); padding: 0 24px;
  background: var(--surface-card); border-bottom: 1px solid var(--border-subtle);
  position: sticky; top: 0; z-index: var(--z-sticky);
}
.topbar--dark { background: var(--navy-900); border-bottom-color: rgba(255,255,255,.08); }
.topbar__titles { flex: 1; min-width: 0; display: grid; gap: 1px; }
/* Panel menusunu acan dugme - yalnizca mobil kirilma noktasinda gorunur. */
.topbar__burger {
  display: none; flex: 0 0 auto;
  width: 40px; height: 40px; border-radius: var(--radius-sm);
  align-items: center; justify-content: center;
  border: 1px solid var(--border-subtle); background: transparent;
  color: var(--text-secondary); cursor: pointer; transition: var(--transition-control);
}
.topbar__burger:hover { background: var(--action-neutral-hover); }
.topbar--dark .topbar__burger { border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.82); }
.topbar--dark .topbar__burger:hover { background: rgba(255,255,255,.1); }
.topbar__crumb { font-size: var(--text-micro); color: var(--text-tertiary); }
.topbar h1 {
  font-size: var(--text-h4); font-weight: var(--weight-semibold); color: var(--text-heading);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.topbar--dark .topbar__crumb { color: rgba(255,255,255,.55); }
.topbar--dark h1 { color: #fff; }
.credit-badge {
  display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 12px;
  border-radius: var(--radius-sm); background: var(--blue-50);
  border: 1px solid var(--blue-100); color: var(--text-accent);
  font-size: var(--text-sm); font-weight: var(--weight-semibold);
  font-variant-numeric: tabular-nums; text-decoration: none; white-space: nowrap;
}
.credit-badge:hover { text-decoration: none; }
.credit-badge span { font-weight: var(--weight-regular); opacity: .75; font-size: var(--text-xs); }
.topbar--dark .credit-badge { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.14); color: #fff; }
.userchip {
  display: flex; align-items: center; gap: 9px; padding-left: 14px;
  border-left: 1px solid var(--border-subtle); text-decoration: none;
}
.topbar--dark .userchip { border-left-color: rgba(255,255,255,.12); }
.userchip:hover { text-decoration: none; }
.avatar {
  width: 30px; height: 30px; border-radius: var(--radius-full);
  background: var(--navy-800); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-micro); font-weight: var(--weight-bold); flex: 0 0 auto;
}
.topbar--dark .avatar { background: rgba(255,255,255,.16); }
.userchip__text { display: grid; line-height: 1.25; }
.userchip__text b { font-size: var(--text-xs); font-weight: var(--weight-semibold); color: var(--text-heading); }
.userchip__text span { font-size: var(--text-micro); color: var(--text-tertiary); }
.topbar--dark .userchip__text b { color: #fff; }
.topbar--dark .userchip__text span { color: rgba(255,255,255,.55); }
.page { padding: 24px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-content: start; flex: 1; min-width: 0; }
.page__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.page__head h2 { font-size: var(--text-h2); color: var(--text-heading); }
.page__head p { font-size: var(--text-body-sm); color: var(--text-secondary); margin-top: 4px; }

/* açılır menü (kullanıcı çipi) */
.dropdown { position: relative; }
.dropdown__menu {
  position: absolute; right: 0; top: calc(100% + 8px); z-index: var(--z-dropdown);
  min-width: 200px; padding: 6px;
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); box-shadow: var(--shadow-lg);
  display: none; gap: 2px;
}
.dropdown.is-open .dropdown__menu { display: grid; }
.dropdown__menu a, .dropdown__menu button {
  display: flex; align-items: center; gap: 9px; height: 34px; padding: 0 10px;
  border: none; background: none; width: 100%; text-align: left;
  border-radius: var(--radius-xs); font-size: var(--text-sm);
  color: var(--text-secondary); text-decoration: none; cursor: pointer;
}
.dropdown__menu a:hover, .dropdown__menu button:hover { background: var(--action-neutral-hover); color: var(--text-heading); text-decoration: none; }
.dropdown__sep { height: 1px; background: var(--border-subtle); margin: 4px 0; }

/* ---------------------------------------------------------- yasal sayfa ---- */
.legal { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; }
.legal__toc { position: sticky; top: 92px; align-self: start; display: grid; gap: 6px; max-height: calc(100vh - 120px); overflow-y: auto; }
.legal__toc a { font-size: var(--text-xs); color: var(--text-secondary); padding: 5px 8px; border-radius: var(--radius-xs); text-decoration: none; }
.legal__toc a:hover { background: var(--action-neutral-hover); color: var(--text-heading); text-decoration: none; }
.legal__body { max-width: 720px; display: grid; gap: 28px; }
.legal__body h2 { font-size: var(--text-h3); color: var(--text-heading); }
.legal__body h3 { font-size: var(--text-h4); color: var(--text-heading); margin-top: 4px; }
.legal__body p, .legal__body li { font-size: var(--text-body-sm); line-height: var(--leading-relaxed); color: var(--text-body); }
.legal__body ul, .legal__body ol { margin: 0; padding-left: 20px; display: grid; gap: 6px; }
.legal__madde { display: grid; gap: 10px; scroll-margin-top: 92px; }
.legal__note {
  padding: 14px 16px; background: var(--surface-accent-soft);
  border: 1px solid var(--blue-100); border-radius: var(--radius-sm);
  font-size: var(--text-xs); color: var(--text-secondary); line-height: 1.6;
}
.legal__table { width: 100%; border-collapse: collapse; font-size: var(--text-xs); }
.legal__table th, .legal__table td { padding: 10px 12px; border: 1px solid var(--border-subtle); text-align: left; vertical-align: top; }
.legal__table th { background: var(--surface-sunken); font-weight: var(--weight-semibold); color: var(--text-heading); }

/* --------------------------------------------------------- iletişim kartı -- */
.contactcard { display: grid; gap: 10px; padding: 20px; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); }
.contactcard__icon {
  width: 36px; height: 36px; border-radius: var(--radius-sm);
  background: var(--blue-50); color: var(--blue-500);
  display: inline-flex; align-items: center; justify-content: center;
}
.contactcard b { font-size: var(--text-sm); color: var(--text-heading); font-weight: var(--weight-semibold); }
.contactcard a, .contactcard p { font-size: var(--text-body-sm); color: var(--text-secondary); line-height: 1.6; }
.map {
  height: 280px; border-radius: var(--radius-md); border: 1px solid var(--border-subtle);
  background-color: var(--surface-sunken);
  background-image:
    linear-gradient(var(--border-subtle) 1px, transparent 1px),
    linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px);
  background-size: 32px 32px;
  display: grid; place-items: center; gap: 8px;
}

/* --------------------------------------------------------------- grafik --- */
.chart { width: 100%; height: 200px; display: block; }
.chart__grid { stroke: var(--chart-grid); stroke-width: 1; }
.chart__line { fill: none; stroke: var(--chart-1); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.chart__area { fill: var(--chart-area); }
.chart__label { font-size: 10px; fill: var(--text-tertiary); }

/* ------------------------------------------------------------ mobil kart --- */
.cardlist { display: none; }
.cardlist__item {
  display: grid; gap: 6px; padding: 14px 16px;
  border-bottom: 1px solid var(--border-subtle); background: var(--surface-card);
}
.cardlist__item b { font-size: var(--text-body-sm); color: var(--text-heading); font-weight: var(--weight-semibold); }
.cardlist__meta { display: flex; gap: 10px; flex-wrap: wrap; font-size: var(--text-micro); color: var(--text-secondary); }
.cardlist__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

/* ---------------------------------------------------------- giriş / kayıt -- */
.auth { display: grid; grid-template-columns: 460px minmax(0, 1fr); min-height: calc(100vh - var(--public-header-h)); }
.auth__brand {
  background:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.08) 1px, transparent 0),
    linear-gradient(160deg, #102E48 0%, #163C5E 58%, #1D4E7A 100%);
  background-size: 22px 22px, 100% 100%;
  padding: 48px 40px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px;
}
.auth__brandtop { display: grid; gap: 18px; align-content: start; }
.auth__brand h2 {
  font-size: var(--text-h1); color: #fff; letter-spacing: var(--tracking-heading);
  line-height: var(--leading-heading); margin-top: 10px;
}
.auth__brand p { font-size: var(--text-body-sm); color: rgba(255,255,255,.76); line-height: var(--leading-body); }
.auth__brand ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 10px; }
.auth__brand li {
  display: flex; align-items: flex-start; gap: 9px;
  font-size: var(--text-xs); color: rgba(255,255,255,.82); line-height: 1.5;
}
.auth__brand li .ico { color: var(--blue-200); margin-top: 1px; }
.auth__panel { display: flex; align-items: center; justify-content: center; padding: 48px 32px; background: var(--surface-page); }
.auth__form { width: 100%; max-width: 440px; }

/* -------------------------------------------------------------- responsive - */
@media (max-width: 1100px) {
  .pubfooter__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .corpband__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal { grid-template-columns: 1fr; gap: 24px; }
  .legal__toc { position: static; max-height: none; }
}

/* Başlık 1040px altında hamburger'a döner: menü + iki buton + telefon bu genişliğin
   altında yan yana sığmıyor ve yatay kaydırma oluşturuyordu (giriş yapmış
   kullanıcıda "Panelim + Çıkış" butonları daha da genişletiyor). */
@media (max-width: 1040px) {
  .pubheader { gap: 12px; padding: 0 16px; }
  .pubheader__byline { display: none; }
  .pubheader__phone { display: none; }
  .pubheader nav { display: none; position: absolute; top: var(--public-header-h); left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 2px; padding: 12px 16px;
    background: var(--navy-800); border-bottom: 1px solid rgba(255,255,255,.08); z-index: var(--z-dropdown); }
  .pubheader.is-open nav { display: flex; }
  .pubheader__burger { display: inline-flex; }
  .pubheader__actions { margin-left: auto; min-width: 0; }
  .pubheader__actions .btn--ghost-inverse { display: none; }

  .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section { padding: 56px 20px; }
  .corpband__top { flex-direction: column; gap: 24px; }
  .corpband__brand { justify-items: start; text-align: left; }
}

@media (max-width: 780px) {
  /* Adım göstergesi dar ekranda dikey yığılır; yatay çizgi ve nowrap etiketler taşırıyordu. */
  .stepper { flex-direction: column; align-items: flex-start; gap: 10px; }
  .stepper li { flex: 0 0 auto; width: 100%; }
  .stepper__line { display: none; }
  .stepper__label { white-space: normal; }

  .contactcard { overflow-wrap: anywhere; }
  .contactcard a, .contactcard p { overflow-wrap: anywhere; }

  .hero { padding: 44px 20px 52px; }
  .hero h1 { font-size: var(--text-h1); }
  .vkn__box { height: auto; flex-wrap: wrap; padding: 12px 14px; gap: 10px; }
  .vkn__box input { font-size: var(--text-h3); width: 100%; flex: 1 0 60%; }
  .vkn__box .btn { width: 100%; }

  .grid-2, .grid-3, .grid-4, .layout-yan { grid-template-columns: minmax(0, 1fr); }
  .layout-yan > * { position: static !important; }
  .trust, .corpband__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pubfooter__cols { grid-template-columns: minmax(0, 1fr); }
  .result__fields { grid-template-columns: minmax(0, 1fr); }
  .result__fields .span2 { grid-column: auto; }

  .shell { flex-direction: column; }
  .sidebar {
    position: fixed; inset: 0 auto 0 0; z-index: var(--z-overlay);
    transform: translateX(-100%); transition: transform var(--duration-base) var(--ease-standard);
    box-shadow: var(--shadow-lg);
  }
  .shell.is-menu-open .sidebar { transform: none; }
  .shell.is-menu-open::after {
    content: ""; position: fixed; inset: 0; background: var(--surface-overlay); z-index: var(--z-sticky);
  }
  .topbar { padding: 0 14px; gap: 10px; }
  .topbar__burger { display: inline-flex; }
  .topbar .userchip__text { display: none; }
  .topbar .userchip { padding-left: 8px; }
  .page { padding: 16px 14px; }

  /* tablolar kart listesine döner */
  .table-responsive .tablewrap { display: none; }
  .table-responsive .cardlist { display: block; }

  .auth { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .auth__brand { padding: 28px 20px; gap: 18px; }
  .auth__brand h2 { font-size: var(--text-h2); }
  .auth__brand ul, .auth__brandfoot { display: none; }
  .auth__panel { padding: 28px 16px; }

  .toaststack { right: 12px; left: 12px; bottom: 12px; }
  .toast { width: auto; }
  .modal-backdrop { padding: 12px; align-items: flex-end; }
  .modal { max-width: none; }

  /* dokunma hedefi en az 44px */
  .btn { min-height: 44px; }
  .btn--sm { min-height: 36px; }
  .sidebar__nav a { height: 44px; }
  .themetoggle { width: 40px; height: 40px; }
  .pubheader__burger { width: 40px; height: 40px; padding: 0; align-items: center; justify-content: center; }
  .pagination a, .pagination span.pg { min-width: 40px; height: 40px; }

  /* iOS Safari, font-size'i 16px'in ALTINDA olan bir alana odaklaninca sayfayi
     zorla yakinlastirir ve kullanici bir daha uzaklastiramaz. Mobilde tum form
     alanlari 16px'e sabitlenir. */
  .control > input, .control > textarea, .control > select,
  input.control, textarea.control, select.control, .select > select {
    font-size: 16px;
  }

  /* Bolum basligi ve yanindaki eylem butonu alt alta gecer. */
  .sectionhead__row { flex-direction: column; align-items: flex-start; gap: 14px; }
  .sectionhead__row .btn { width: 100%; }

  /* .row sarmayan bir flex satiridir; dar ekranda ogeler karti tasip
     overflow:hidden altinda GORUNMEZ oluyordu. Mobilde sarmaya birakilir. */
  .row, .row--between { flex-wrap: wrap; }
  .row > .control, .row > .select { min-width: 0; }

  .sadece-mobil { display: block; }

  /* Sekmeler: hap sekmeler tam genislige yayilip metni sarar, alt cizgili
     sekmeler yatay kaydirilir. Ikisi de nowrap oldugu icin tasiyordu. */
  .tabs:not(.tabs--pill) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tabs--pill { width: 100%; }
  .tabs--pill a, .tabs--pill button {
    flex: 1 1 0; min-width: 0; justify-content: center; text-align: center;
    white-space: normal; height: auto; min-height: 36px; padding: 6px 10px; line-height: 1.25;
  }

  /* Ust cubuk: sabit yukseklikte tek satirlik baslik dar ekranda 3-4 harfe
     kirpiliyordu. Baslik iki satira sarar, cubuk gerektiginde uzar. */
  .topbar { height: auto; min-height: var(--topbar-h); padding-top: 8px; padding-bottom: 8px; }
  .topbar__crumb { display: none; }
  .topbar h1 {
    font-size: var(--text-base); line-height: 1.25;
    white-space: normal; overflow: hidden;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  }
}

@media (max-width: 560px) {
  /* İki kolonluk şeritler tek kolona düşer; nowrap etiketler dar ekranda taşırıyordu. */
  .trust, .corpband__stats { grid-template-columns: minmax(0, 1fr); }
  .trust strong, .trust span.meta { white-space: normal; }
  .container { padding-left: 0; padding-right: 0; }
  .sectionhead h2 { font-size: var(--text-h2); }

  /* Halka acik baslik 320px'te 1-2px tasiyordu (logo + menu + tema + iki buton).
     Bosluk ve buton ic dolgusu kisilir. */
  .pubheader { gap: 8px; padding: 0 12px; }
  .pubheader__actions { gap: 6px; }
  .pubheader__actions .btn { padding: 0 10px; }

  /* Cok dar ekranda ust cubuk iki satira ayrilir: kontroller ustte, sayfa
     basligi altta tam genislikte. Aksi halde basliga 60-70px kaliyor ve
     "Hesap Hareketleri" tek kelimeye kadar kirpiliyordu. */
  .topbar { flex-wrap: wrap; padding: 8px 14px; }
  .topbar__titles { order: 2; flex: 1 0 100%; }
  .corpband { padding: 40px 20px; }
  .pubfooter { padding: 40px 20px 20px; }
}

@media print {
  .pubheader, .pubfooter, .sidebar, .topbar, .btn, .toaststack { display: none !important; }
  .page, .section { padding: 0; }
  body { background: #fff; }
}
