/* ============================================================================
   AURORA — Apple / macOS premium katmani  (EN SON yuklenir, refine'i de ezer)
   ----------------------------------------------------------------------------
   Hedef: "yapay zeka yapmis / klasik dashboard" izlerinden cikmak.
     · Tipografi: Inter (SF Pro'ya en yakin), siki aralik, tabular rakam
     · Yuzeyler: ozdes kart grid'i yerine macOS "grouped" katmanli paneller;
       hairline cizgi, ust ic-parilti, agir border/golge YOK
     · Kabuk: buzlu cam (vibrancy) topbar + sidebar, sakin secili durum
     · Renk: vurgu YALNIZCA anlam tasiyan yerde (birincil buton, aktif menu)
     · Ritim: comert bosluk, buyuk nefes
   Mevcut token sistemini (monarc) temel alir; acik/koyu tema otomatik uyar.
   ========================================================================== */

:root {
  --font: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', sans-serif;

  --ap-r: 22px;
  --ap-r-sm: 13px;
  --ap-panel: rgba(var(--hair), 0.032);
  --ap-panel-hover: rgba(var(--hair), 0.052);
  --ap-line: rgba(var(--hair), 0.08);
  --ap-line-strong: rgba(var(--hair), 0.13);
  --ap-glass: rgba(var(--glass-rgb), 0.58);
  --ap-glass-thick: rgba(var(--glass-rgb), 0.78);
  --ap-top-hi: inset 0 1px 0 rgba(var(--hair), 0.07);
}
[data-theme="light"] {
  --ap-panel: rgba(255, 255, 255, 0.72);
  --ap-panel-hover: rgba(255, 255, 255, 0.95);
  --ap-line: rgba(16, 19, 28, 0.08);
  --ap-line-strong: rgba(16, 19, 28, 0.13);
  --ap-glass: rgba(252, 253, 255, 0.72);
  --ap-glass-thick: rgba(252, 253, 255, 0.86);
  --ap-top-hi: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

/* ------------------------------------------------------------ TIPOGRAFI */
html, body {
  font-family: var(--font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'cv11', 'ss01', 'ss03', 'cv02';   /* Inter'in SF-vari alternatifleri */
  letter-spacing: -0.011em;
}
h1, h2, h3, h4 { letter-spacing: -0.022em; font-weight: 640; }
.stat__value, .amount, .footer-stat, .metric, .result-count,
.hero-band__value, .quota__num, .pct  {
  font-variant-numeric: tabular-nums;
}

/* Acik temada varsayilan vurgu turkuaz/yesile kayiyordu (koyu temada mavi):
   tema degisince marka rengi degismesin. Diger vurgu secenekleri korunur. */
[data-theme="light"], [data-theme="light"][data-accent="blue"] {
  --accent-rgb: 28, 132, 204;
  --accent: #1c84cc;
  --accent-hover: #2a94dc;
  --accent-press: #156ba8;
  --accent-text: #1a72b0;
  --accent-top: #2f9be2;
  --accent-bot: #1b80c8;
  --accent-soft: rgba(28, 132, 204, 0.11);
  --accent-line: rgba(28, 132, 204, 0.32);
  --cyan: #1c84cc;
}

/* ------------------------------------------------------------ TIPOGRAFI BIRLIGI */
/* Olculdu: sitede UC aile karisikti — govde Inter, basliklar Space Grotesk,
   etiketler JetBrains Mono (cogu BUYUK HARF + genis aralik, 9-10px). Giris,
   anasayfa ve sorgu ekranlari bu yuzden "ayri site" gibi duruyordu.
   Kural: arayuzun TAMAMI Inter. Mono yalnizca gercek veri/kod icin. */
:root, body, [data-theme] {
  --display: var(--font);
  --mono: var(--font);
  --mono-data: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
}
code, pre, kbd, samp, .mono, .u-mono, .code-block, .code-block *, .payload-preview,
td.mono, .hash {
  font-family: var(--mono-data) !important;
  letter-spacing: 0 !important;
}
/* Eskiden mono olan sayisal hucreler: Inter + hizali rakam */
.num, td.num, .trend, .stat-change, .steps__no, .step-no, .mk__now, .ntf-time, .avatar {
  font-variant-numeric: tabular-nums;
}

/* Terminal/HUD etiketleri: buyuk harf + genis aralik + minik punto kalkar */
.topbar__title > span, .who-btn__meta span, .side-user .meta span, .meta > span,
.ntf-head strong, .ntf-head a, .ntf-time, .tweaks__lbl, .loader__text,
.sp-meta, .sp-meta span, .footer-section, .footer-section a, .footer-section p,
.auth-chip, .auth__trust span, .auth-note, .mk__ribbon, .chip, .tabbar-label, .panel-title, .st-contact__lbl  {
  font-family: var(--font) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.topbar__title > span { font-size: 12.5px !important; font-weight: 450 !important; }
/* Ust baslik: dar alanda alt yazi 3 satira sarip basligi kirpiyordu */
.topbar__title { min-width: 0; }
.topbar__title h1, .topbar__title > span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
@media (max-width: 1100px) { .topbar__title > span { display: none !important; } }
/* Hero seridi: metin degerleri ("Standart Uye") kirpilmak yerine kuculup sarsin */
.hero-band__value {
  font-size: clamp(21px, 2.1vw, 30px) !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  line-height: 1.15 !important;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.who-btn__meta span, .side-user .meta span, .meta > span { font-size: 11px !important; font-weight: 500 !important; }
.ntf-head strong { font-size: 14px !important; font-weight: 620 !important; }
.ntf-head a, .ntf-time, .sp-meta, .sp-meta span { font-size: 11.5px !important; }
.st-contact__lbl { font-size: 12px !important; font-weight: 560 !important; }
.tweaks__lbl { font-size: 11.5px !important; font-weight: 600 !important; color: var(--ink-3) !important; }
.loader__text { font-size: 12px !important; font-weight: 500 !important; }
.footer-section, .footer-section a, .footer-section p { font-size: 12px !important; }
.auth-chip, .auth__trust span { font-size: 11.5px !important; font-weight: 560 !important; }
.chip { font-size: 12px !important; font-weight: 520 !important; }
.tabbar-label { font-size: 11px !important; font-weight: 560 !important; }

.mk__ribbon { font-size: 10.5px !important; font-weight: 650 !important; }

/* Okunabilirlik tabani: 11px altinda arayuz yazisi olmasin */
.badge, .pill { font-size: 11px !important; line-height: 1.35; }
.u-fs10, .fs-10 { font-size: 11px !important; }
.u-fs11, .fs-11 { font-size: 11.5px !important; }

/* Baslik olcegi her ekranda ayni: panel karti, bos durum, giris karti */
.card__head h2, .card__head h3, .card__head h4, .card__head h5, .card-title,
.contact__title, .mk__name, .mini-panel__title {
  font-family: var(--font) !important;
  font-size: 15.5px !important;
  font-weight: 620 !important;
  letter-spacing: -0.02em !important;
}
.empty-state h4, .empty-state h5, .empty-state h6 {
  font-size: 15px !important; font-weight: 600 !important; letter-spacing: -0.015em !important;
}
.auth__headline { letter-spacing: -0.03em !important; font-weight: 660 !important; }

/* Giris karti: 3B cevirme (perspective) + backdrop-filter birlikte karttaki
   yaziyi bulanik ciziyordu. Cam efekti yerine opak panel; yazi keskin kalir. */
.auth-card, .auth-face {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.auth-card {
  background: #0f1b33 !important;
  border: 1px solid var(--ap-line-strong) !important;
  border-radius: var(--ap-r) !important;
  box-shadow: 0 18px 40px -22px rgba(0, 0, 0, 0.7) !important;
}
[data-theme="light"] .auth-card {
  background: #ffffff !important;
  box-shadow: 0 18px 40px -24px rgba(16, 19, 28, 0.28) !important;
}

/* Giris ekrani yan paneli: cizgili "defter" deseni kalkar, sakin tek isik */
.auth__side {
  background: radial-gradient(75% 60% at 30% 0%, rgba(var(--accent-rgb), 0.10), transparent 65%) !important;
}

/* ------------------------------------------------------------ KABUK: TOPBAR */
.topbar {
  background: var(--ap-glass) !important;
  -webkit-backdrop-filter: saturate(180%) blur(22px);
  backdrop-filter: saturate(180%) blur(22px);
  border-bottom: 1px solid var(--ap-line) !important;
  box-shadow: none !important;
}
.topbar__title h1 { font-size: 17px !important; font-weight: 620 !important; letter-spacing: -0.02em; }
.topbar__title > span { color: var(--ink-3) !important; font-weight: 450; letter-spacing: 0; }

/* Arama (komut paleti) butonu — macOS arama alani hissi */
.search--btn {
  background: var(--ap-panel) !important;
  border: 1px solid var(--ap-line) !important;
  border-radius: 11px !important;
  font-family: var(--font) !important;
  font-size: 13px !important;
  color: var(--ink-3) !important;
  box-shadow: none !important;
}
.search--btn:hover { background: var(--ap-panel-hover) !important; color: var(--ink-2) !important; box-shadow: none !important; }
.search--btn .k {
  background: var(--ap-panel-hover) !important;
  border: 1px solid var(--ap-line) !important;
  border-radius: 6px !important;
  font-family: var(--font) !important;
  font-size: 10.5px !important;
  color: var(--ink-3) !important;
}

/* ------------------------------------------------------------ KABUK: SIDEBAR */
.sidebar {
  background: var(--ap-glass-thick) !important;
  -webkit-backdrop-filter: saturate(160%) blur(24px);
  backdrop-filter: saturate(160%) blur(24px);
  border-right: 1px solid var(--ap-line) !important;
  box-shadow: none !important;
}
.side-nav .sec {
  font-family: var(--font) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  color: var(--ink-4) !important;
}
.side-nav a.nav-link, .nav-sub a {
  border-radius: 11px;
  color: var(--ink-2);
  font-weight: 500;
  transition: background 0.18s var(--ease-out), color 0.18s var(--ease-out);
}
.side-nav a.nav-link:hover, .nav-sub a:hover { background: var(--ap-panel-hover); color: var(--ink); }
.side-nav a.nav-link.active, .nav-sub a.active,
.side-nav a.nav-link.is-active, .nav-sub a.is-active {
  background: var(--accent-soft) !important;
  color: var(--accent-text) !important;
  box-shadow: none !important;
}
.side-nav a.nav-link.active::before, .nav-sub a.active::before,
.side-nav a.nav-link.is-active::before, .nav-sub a.is-active::before { display: none !important; }
.side-search input {
  background: var(--ap-panel) !important;
  border: 1px solid var(--ap-line) !important;
  border-radius: 11px !important;
  font-family: var(--font) !important;
}

/* ------------------------------------------------------------ YUZEYLER: PANEL */
/* Ozdes "kart" yerine macOS grouped panel: hafif ton + hairline + ust parilti */
.card, .mk, .table-card, .note-card, details.rules  {
  background: var(--ap-panel) !important;
  background-image: none !important;
  border: 1px solid var(--ap-line) !important;
  /* CSS degiskenleriyle kenar override:
     --card-bc    : tum kenarlar icin renk  (style="--card-bc:var(--danger)")
     --card-left/top/right/bottom : tek kenar tam override (style="--card-left:3px solid #x") */
  border-top:    var(--card-top,    1px solid var(--card-bc, var(--ap-line))) !important;
  border-right:  var(--card-right,  1px solid var(--card-bc, var(--ap-line))) !important;
  border-bottom: var(--card-bottom, 1px solid var(--card-bc, var(--ap-line))) !important;
  border-left:   var(--card-left,   1px solid var(--card-bc, var(--ap-line))) !important;
  border-radius: var(--ap-r) !important;
  box-shadow: var(--ap-top-hi) !important;
}
/* Acik temada refine'in `[data-theme="light"] .card { border-color !important }`
   kurali daha ozgul oldugu icin renkli kenar degiskenlerini eziyordu. */
[data-theme="light"] .card, [data-theme="light"] .mk  {
  border-top:    var(--card-top,    1px solid var(--card-bc, var(--ap-line))) !important;
  border-right:  var(--card-right,  1px solid var(--card-bc, var(--ap-line))) !important;
  border-bottom: var(--card-bottom, 1px solid var(--card-bc, var(--ap-line))) !important;
  border-left:   var(--card-left,   1px solid var(--card-bc, var(--ap-line))) !important;
}
/* Tonlu rozet: metin rengi zemine gore koyulasir/aciklasir (--tone ile verilir) */
.badge--tone {
  background: color-mix(in srgb, var(--tone) 15%, transparent) !important;
  color: color-mix(in srgb, var(--tone) 62%, var(--ink)) !important;
  border: 1px solid color-mix(in srgb, var(--tone) 30%, transparent) !important;
}

/* Paneller hover'da ziplamaz (refine'in translateY'ini kaldir) */
.card:hover, .mk:hover { transform: none !important; box-shadow: var(--ap-top-hi) !important; }

.card__head h2, .card__head h3 {
  font-size: 15.5px !important;
  font-weight: 620 !important;
  letter-spacing: -0.02em !important;
  color: var(--ink) !important;
}
.card__head .sub { font-size: 12.5px; color: var(--ink-3); font-weight: 450; letter-spacing: 0; }

/* Icerik ritmi: paneller arasinda daha genis nefes */
.content { gap: 26px !important; }

/* ------------------------------------------------------------ HERO ISTATISTIK SERIDI */
/* Dashboard'daki 4 ozdes kartin yerine: tek katmanli panel, hairline bolmeler */
.hero-band {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: var(--ap-panel);
  border: 1px solid var(--ap-line);
  border-radius: var(--ap-r);
  box-shadow: var(--ap-top-hi);
  overflow: hidden;
}
.hero-band__item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 22px 24px;
  min-width: 0;
}
.hero-band__item + .hero-band__item::before {
  content: "";
  position: absolute;
  left: 0; top: 18px; bottom: 18px;
  width: 1px;
  background: var(--ap-line);
}
.hero-band__label { font-size: 12.5px; font-weight: 500; color: var(--ink-3); letter-spacing: -0.005em; }
.hero-band__value {
  font-size: 30px;
  font-weight: 640;
  letter-spacing: -0.032em;
  line-height: 1.1;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hero-band__meta { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ink-3); }
.hero-band__meta svg { width: 13px; height: 13px; flex: 0 0 auto; }
.hero-band__meta.is-up   { color: var(--green); }
.hero-band__meta.is-down { color: var(--amber); }

@media (max-width: 900px) {
  .hero-band { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-band__item:nth-child(3)::before { display: none; }
  .hero-band__item:nth-child(n+3) { border-top: 1px solid var(--ap-line); }
}
@media (max-width: 480px) {
  .hero-band { grid-template-columns: 1fr; }
  .hero-band__item + .hero-band__item::before { display: none; }
  .hero-band__item + .hero-band__item { border-top: 1px solid var(--ap-line); }
  .hero-band__value { font-size: 26px; }
}

/* ------------------------------------------------------------ BUTONLAR */
.btn {
  border-radius: 11px !important;
  font-family: var(--font) !important;
  font-weight: 560 !important;
  letter-spacing: -0.01em !important;
}
.btn--accent, .btn--primary, .btn-primary {
  background: linear-gradient(180deg, var(--accent-top), var(--accent-bot)) !important;
  border: 0 !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 1px 2px rgba(0, 0, 0, 0.25) !important;
}
.btn--accent:hover, .btn--primary:hover, .btn-primary:hover { filter: brightness(1.06); }
.btn--ghost {
  background: var(--ap-panel) !important;
  border: 1px solid var(--ap-line) !important;
  color: var(--ink-2) !important;
  box-shadow: none !important;
}
.btn--ghost:hover { background: var(--ap-panel-hover) !important; color: var(--ink) !important; }

/* ------------------------------------------------------------ ROZET / PILL / TABLO */
.pill, .badge { font-family: var(--font) !important; font-weight: 560 !important; letter-spacing: 0 !important; text-transform: none !important; }
.table th {
  font-family: var(--font) !important;
  font-size: 12px !important;
  font-weight: 560 !important;
  color: var(--ink-3) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border-bottom: 1px solid var(--ap-line-strong) !important;
}
.table td { border-bottom: 1px solid var(--ap-line) !important; font-size: 13.5px; }
.table tbody tr:last-child td { border-bottom: 0 !important; }
.table tbody tr:hover td { background: var(--ap-panel-hover); }

/* Duyuru/not karti: panel + vurgulu ikon */
.note-card__ico { background: var(--accent-soft) !important; color: var(--accent-text) !important; border-radius: 12px !important; box-shadow: none !important; }

/* ------------------------------------------------------------ FORM ALANLARI */
/* Onceki hal: zemin rgba(0,0,0,.24) + %11 cizgi -> koyu kartta "soluk", alan
   nerede basliyor belli degil. Simdi: kart ustunde hafif ACIK yuzey, belirgin
   hairline, net odak halkasi. Tum katmanlardaki daginik tanimlari tek yerde ezer. */
:root {
  --fld-bg: rgba(var(--hair), 0.055);
  --fld-bg-hover: rgba(var(--hair), 0.075);
  --fld-bg-focus: rgba(var(--hair), 0.085);
  --fld-line: rgba(var(--hair), 0.16);
  --fld-line-hover: rgba(var(--hair), 0.26);
  --fld-autofill: #16233f;
}
[data-theme="light"] {
  --fld-bg: #ffffff;
  --fld-bg-hover: #ffffff;
  --fld-bg-focus: #ffffff;
  --fld-line: rgba(16, 19, 28, 0.16);
  --fld-line-hover: rgba(16, 19, 28, 0.3);
  --fld-autofill: #eef5fd;
}
.form-control, .input,
input[type="text"]:not(.cmdk-input), input[type="search"], input[type="password"], input[type="email"],
input[type="number"], input[type="tel"], input[type="url"], input[type="date"], input[type="datetime-local"],
select, textarea {
  background-color: var(--fld-bg) !important;
  border: 1px solid var(--fld-line) !important;
  border-radius: 11px !important;
  color: var(--ink) !important;
  font-family: var(--font) !important;
  font-size: 14px;
  box-shadow: none !important;
  transition: border-color 0.16s var(--ease-out), background-color 0.16s var(--ease-out), box-shadow 0.16s var(--ease-out) !important;
}
input.form-control, input.input, select.form-control { height: 42px; }
textarea, textarea.form-control { padding-top: 11px !important; padding-bottom: 11px !important; line-height: 1.55; min-height: 96px; }
.form-control:hover, .input:hover, select:hover, textarea:hover {
  background-color: var(--fld-bg-hover) !important;
  border-color: var(--fld-line-hover) !important;
}
.form-control:focus, .input:focus, input:focus, select:focus, textarea:focus {
  background-color: var(--fld-bg-focus) !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.22) !important;
  outline: none !important;
}
.form-control::placeholder, .input::placeholder, input::placeholder, textarea::placeholder {
  color: var(--ink-3) !important;
  opacity: 0.75;
}
.form-control:disabled, .input:disabled, input:disabled, select:disabled, textarea:disabled,
.form-control[readonly], .input[readonly] { opacity: 0.6; cursor: not-allowed; }

/* Onay kutusu / radyo: tarayici varsayilani (beyaz kare) koyu arayuzde yabanci
   duruyordu. Anahtar (switch) icindeki gizli input'lar display:none oldugu
   icin etkilenmez. */
input[type="checkbox"], input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  flex: 0 0 auto;
  width: 18px; height: 18px;
  margin: 0;
  padding: 0 !important;
  vertical-align: -4px;
  background-color: var(--fld-bg) !important;
  border: 1px solid var(--fld-line-hover) !important;
  border-radius: 5px !important;
  cursor: pointer;
  transition: background-color 0.15s var(--ease-out), border-color 0.15s var(--ease-out), box-shadow 0.15s var(--ease-out) !important;
}
input[type="radio"] { border-radius: 50% !important; }
input[type="checkbox"]:hover, input[type="radio"]:hover { border-color: var(--accent) !important; }
input[type="checkbox"]:checked {
  background-color: var(--accent) !important;
  border-color: var(--accent) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5'/%3E%3C/svg%3E") !important;
  background-size: 14px 14px;
  background-position: center;
  background-repeat: no-repeat;
}
input[type="radio"]:checked {
  border-color: var(--accent) !important;
  background-color: var(--fld-bg) !important;
  box-shadow: inset 0 0 0 4px var(--accent) !important;
}
input[type="checkbox"]:focus-visible, input[type="radio"]:focus-visible {
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.28) !important;
}
input[type="radio"]:checked:focus-visible {
  box-shadow: inset 0 0 0 4px var(--accent), 0 0 0 3px rgba(var(--accent-rgb), 0.28) !important;
}
label:has(> input[type="checkbox"]), label:has(> input[type="radio"]) { cursor: pointer; }
label > input[type="checkbox"], label > input[type="radio"] { margin-right: 8px; }

/* Ayar satiri: anahtar + baslik + aciklama yan yana (ham checkbox yerine) */
.setting-toggle { display: flex; align-items: center; gap: 14px; }
.setting-toggle__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.setting-toggle__text strong { font-size: 14px; font-weight: 600; color: var(--ink); }
.setting-toggle__text small { font-size: 12.5px; color: var(--ink-3); line-height: 1.45; }

/* Yan yana kisa alanlar + buton: hepsi alt cizgide hizali */
.form-inline-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 18px 28px; }
.form-inline-row > .form-group { margin: 0 !important; text-align: left; }

/* Acilir liste secenekleri: koyu temada beyaz zemin + acik yazi (okunmaz) olmasin */
select option, select optgroup { background-color: #101a30; color: #e9effc; }
[data-theme="light"] select option, [data-theme="light"] select optgroup { background-color: #fff; color: #10131c; }

/* Tarayici otomatik doldurmasi: Chrome kendi acik sari/mavi zeminini basip
   yaziyi okunmaz yapiyordu (yalnizca acik tema ele alinmisti). */
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus,
textarea:-webkit-autofill, select:-webkit-autofill {
  -webkit-text-fill-color: var(--ink) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--fld-autofill) inset !important;
  box-shadow: 0 0 0 1000px var(--fld-autofill) inset !important;
  caret-color: var(--ink);
  transition: background-color 9999s ease-out 0s !important;
}
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--fld-autofill) inset, 0 0 0 3px rgba(var(--accent-rgb), 0.22) !important;
  box-shadow: 0 0 0 1000px var(--fld-autofill) inset, 0 0 0 3px rgba(var(--accent-rgb), 0.22) !important;
}

/* Tek kolonlu (alt alta) formlarda alan, kartin tum genisligine yayilmasin:
   sifre gibi kisa bir girdi icin 1100px'lik kutu anlamsizdi. Grid (.row)
   icindeki alanlar etkilenmez — onlar zaten kolonla sinirli. */
.card-body > form > .form-group,
.card-body > form > .field-group,
.card-body > .form-group { max-width: 440px; }
.card-body > form > .form-group:has(textarea),
.card-body > form > .field-group:has(textarea),
.card-body > .form-group:has(textarea) { max-width: 680px; }

/* ------------------------------------------------------------ IZGARA (.row / .col-*) */
/* Onceki hal: compat'taki `.row > [class*="col-"] { flex: 1 1 0; min-width: 0 }`
   tum kolon genisliklerini eziyordu -> col-xl-6 ile 7 kart TEK satira sikisiyor,
   col-md-2'ler rastgele genisliyordu. Burada gercek 12 kolonlu izgara kurulur:
   her kolon --n (1-12) tasir, genislik gap dahil hesaplanir, kirilim noktalari
   Bootstrap ile ayni (sm 576 / md 768 / lg 992 / xl 1200). */
.row {
  --rg: 16px;
  --c1: calc((100% - 11 * var(--rg)) / 12);
  display: flex;
  flex-wrap: wrap;
  gap: var(--rg) !important;
}
.row.g-0 { --rg: 0px; }
.row.g-1 { --rg: 6px; }
.row.g-2 { --rg: 10px; }
.row.g-4 { --rg: 24px; }
.row.g-5 { --rg: 32px; }

.row > [class*="col-"] {
  --n: 12;
  flex: 0 0 calc(var(--c1) * var(--n) + var(--rg) * (var(--n) - 1));
  max-width: calc(var(--c1) * var(--n) + var(--rg) * (var(--n) - 1));
  min-width: 0;
}
.row > .col { flex: 1 1 0; min-width: 0; max-width: 100%; }
.row > .col-auto { flex: 0 0 auto; max-width: 100%; }

.row > .col-1 { --n: 1; }  .row > .col-2 { --n: 2; }  .row > .col-3 { --n: 3; }
.row > .col-4 { --n: 4; }  .row > .col-5 { --n: 5; }  .row > .col-6 { --n: 6; }
.row > .col-7 { --n: 7; }  .row > .col-8 { --n: 8; }  .row > .col-9 { --n: 9; }
.row > .col-10 { --n: 10; } .row > .col-11 { --n: 11; } .row > .col-12 { --n: 12; }

@media (min-width: 576px) {
  .row > .col-sm-3 { --n: 3; } .row > .col-sm-4 { --n: 4; } .row > .col-sm-6 { --n: 6; }
  .row > .col-sm-8 { --n: 8; } .row > .col-sm-12 { --n: 12; }
}
@media (min-width: 768px) {
  .row > .col-md-2 { --n: 2; } .row > .col-md-3 { --n: 3; } .row > .col-md-4 { --n: 4; }
  .row > .col-md-5 { --n: 5; } .row > .col-md-6 { --n: 6; } .row > .col-md-7 { --n: 7; }
  .row > .col-md-8 { --n: 8; } .row > .col-md-9 { --n: 9; } .row > .col-md-10 { --n: 10; }
  .row > .col-md-12 { --n: 12; }
}
@media (min-width: 992px) {
  .row > .col-lg-2 { --n: 2; } .row > .col-lg-3 { --n: 3; } .row > .col-lg-4 { --n: 4; }
  .row > .col-lg-5 { --n: 5; } .row > .col-lg-6 { --n: 6; } .row > .col-lg-7 { --n: 7; }
  .row > .col-lg-8 { --n: 8; } .row > .col-lg-9 { --n: 9; } .row > .col-lg-12 { --n: 12; }
}
@media (min-width: 1200px) {
  .row > .col-xl-2 { --n: 2; } .row > .col-xl-3 { --n: 3; } .row > .col-xl-4 { --n: 4; }
  .row > .col-xl-6 { --n: 6; } .row > .col-xl-8 { --n: 8; } .row > .col-xl-9 { --n: 9; }
  .row > .col-xl-12 { --n: 12; }
}
/* md kolonlarinda 2'lik dilim tablet genisliginde cok dar: en az 3'luk olsun */
@media (min-width: 768px) and (max-width: 991.98px) {
  .row > .col-md-2 { --n: 4; }
  .row > .col-md-3 { --n: 6; }
}
/* Telefonda her kolon tam satir (eski davranis korunur) */
@media (max-width: 600px) {
  .row > [class*="col-"] { --n: 12; }
}
/* Satirdaki tek kolon bos alan birakmasin */
.row > [class*="col-"]:only-child { --n: 12; }

/* Sorgu formu: auto-fit tek alani tum satira yayiyordu (11 haneli TC icin
   1100px kutu). auto-fill bos kolonlari korur -> alan makul genislikte kalir. */
.qfields { grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)) !important; }

/* Profil sekmeleri: bir sutun gizlenince kalan sutun tam genislige yayilip
   kartlari serit gibi uzatiyordu. Kalan kartlar iki kolonlu izgaraya dizilir. */
.row:has(> .stack-col[hidden]) > .stack-col:not([hidden]) {
  --n: 12;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
  gap: 16px;
  align-items: start;
}
.row:has(> .stack-col[hidden]) > .stack-col:not([hidden]) > * { margin: 0 !important; min-width: 0; }

/* Akilli sorgu (sohbet + adimli form) */
.card.chat-container { width: 100%; max-width: 960px; margin: 0 auto; max-height: none; overflow: visible; padding: 0; gap: 0; display: block; }
.chat-container .chat-msg { background: none !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.chat-container .chat-msg.bot .bubble { background: var(--fld-bg) !important; border: 1px solid var(--ap-line) !important; backdrop-filter: none; }
.chat-history { display: flex; flex-direction: column; gap: 4px; max-height: 46vh; overflow-y: auto; padding-bottom: 8px; }
.chat-msg .time { font-size: 11px !important; }
.chat-msg.user .bubble { background: linear-gradient(180deg, var(--accent-top), var(--accent-bot)) !important; box-shadow: none !important; }
.chat-container .input-area {
  position: static; display: block;
  margin-top: 12px; padding: 18px 0 0;
  background: transparent;
  border-top: 1px solid var(--ap-line);
}
.as-step[hidden] { display: none !important; }
.as-step .qfields { margin-top: 0; }
.as-step .qfields .form-group { margin: 0; }
.as-step .query-actions { display: flex; gap: 10px; margin-top: 18px; }
.as-name { flex: 1 1 260px; max-width: 440px; }
.as-hint { margin: 0 0 14px; font-size: 12.5px; color: var(--ink-3); }
.as-step .query-actions + .as-hint { margin: 12px 0 0; }
.kriter-badge i { color: var(--accent-text); font-size: 11px; }
.chip-group { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
button.chip { cursor: pointer; }

/* Filtre cubugu (yan yana arama + secim + buton): alanlar %100 genislige
   yayilip alt alta dusuyordu. */
form.d-flex > .form-control, .filter-bar > .form-control { width: auto !important; flex: 0 1 200px; min-width: 140px; }
form.d-flex > .form-control.u-f1, form.d-flex > input[type="text"].form-control, form.d-flex > input[type="search"].form-control,
.filter-bar > input.form-control { flex: 1 1 240px; max-width: 420px; }
.form-control.u-wauto { width: auto !important; }

/* Yalnizca ikon tasiyan buton: yatay dolgu ikonu kirpiyordu */
.btn.btn-icon {
  padding: 0 !important;
  width: 40px; min-width: 40px;
  justify-content: center;
}
.btn.btn-icon.btn--sm, .btn.btn-icon.btn-sm { width: 38px; min-width: 38px; }
.btn.btn-icon.btn--xs { width: 32px; min-width: 32px; }

/* Tablo hucresi komsusunun ustune tasmasin: uzun tek satir metin kirpilir */
.table td { max-width: 440px; }
.table td:not(:has(.btn, form, .dropdown, .badge, .pill)) { overflow: hidden; text-overflow: ellipsis; }
.col-descr { max-width: 340px !important; white-space: nowrap; font-size: 12.5px !important; }

/* Dar ekranda segment/sekme cubugu ve buton gruplari sayfayi yatay tasirmasin */
.segmented { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.segmented::-webkit-scrollbar { display: none; }
.segmented > * { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 600px) {
  .d-flex.gap-4, .d-flex.gap-8, .btn-group { flex-wrap: wrap; }
}

/* Bos sonuc kutusu cerceve olarak gorunmesin */
.test-result:empty { display: none; }

/* ------------------------------------------------------------ YUKLEME DURUMLARI */
@keyframes apSpin { to { transform: rotate(360deg); } }
@keyframes apDot { 0%, 80%, 100% { transform: scale(0.55); opacity: 0.35; } 40% { transform: scale(1); opacity: 1; } }

/* Form gonderilirken buton: yazi gizlenir, ortada donen halka (ui.js ekler) */
.btn.is-busy { position: relative; pointer-events: none; color: transparent !important; }
.btn.is-busy > *, .btn.is-busy svg, .btn.is-busy i { visibility: hidden !important; }
.btn.is-busy::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 16px; height: 16px;
  margin: -8px 0 0 -8px;
  border-radius: 50%;
  border: 2px solid rgba(var(--hair), 0.28);
  border-top-color: var(--ink);
  animation: apSpin 0.65s linear infinite;
}
.btn--accent.is-busy::after, .btn--primary.is-busy::after, .btn-primary.is-busy::after,
.btn--danger.is-busy::after, .btn-danger.is-busy::after {
  border-color: rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
}

/* Icerik yukleniyor gostergesi: uc nokta + metin (sorgu sonucu, ajax panelleri) */
.ap-loading {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 22px 4px;
  font-size: 13px;
  font-weight: 520;
  color: var(--ink-2);
}
.ap-dots { display: inline-flex; gap: 5px; }
.ap-dots i {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--accent);
  animation: apDot 1.1s ease-in-out infinite;
}
.ap-dots i:nth-child(2) { animation-delay: 0.15s; }
.ap-dots i:nth-child(3) { animation-delay: 0.3s; }

/* Gecis sakinligi */
@media (prefers-reduced-motion: reduce) {
  .side-nav a.nav-link, .nav-sub a, .btn { transition: none !important; }
  .btn.is-busy::after { animation-duration: 1.6s; }
  .ap-dots i { animation: none; opacity: 0.7; }
}

/* ------------------------------------------------------------ DURUM SAYFALARI */
/* 403/404/500 rakami: compat degrade + saydam yazi veriyor, ops-skin ise
   arka plani duz renge ceviriyordu -> rakam GORUNMUYORDU (bos kutu). */
.st-code {
  background: none !important;
  border: 0 !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--ink) !important;
  font-family: var(--font) !important;
  font-weight: 680;
  letter-spacing: -0.04em !important;
}
