/* Aile Plan ortak düğme kalıpları (3.79 adım 0-2: giriş, kayıt, şifre, yönetim). Değerler MEVCUT görünüme en yakın seçildi; ölçüm: 1280 px düğme envanteri (baskın 44 px yükseklik, 12 px köşe, 700 yazı).
   KURAL: birincil = lacivert (ekle, gönder, oluştur, devam); KAYDET = yeşil (.save: etiketi "Kaydet…", "Giriş yap", "Onayla…" olan düğmeler);
   ikincil = .ghost (şeffaf, 2 px çizgi); tehlikeli = .danger / .warn. Eski sayfalardaki düğme seçicileri bu değişkenleri kullanır; yeni sayfa .ui-btn kullanır.
   Renkler tema.css'ten gelir (açık/koyu otomatik): yeşil ve coral zeminde beyaz yazı ≥4.6:1. */
:root {
  --btn-h: 44px; --btn-lg-h: 52px; --btn-r: 12px; --btn-fs: 16px; --btn-fw: 700;
  --btn-ink: var(--ink); --btn-ink-fg: var(--on-ink);
  --btn-save: var(--leaf-fill, #2f8458); --btn-save-fg: #fff;
  --btn-danger: var(--coral-fill, #c74e37); --btn-danger-fg: #fff;
  --btn-line: var(--line);
}
.ui-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--btn-h); padding: 0 18px; border: 2px solid transparent; border-radius: var(--btn-r);
  background: var(--btn-ink); color: var(--btn-ink-fg); font: inherit; font-size: var(--btn-fs); font-weight: var(--btn-fw); line-height: 1.2; text-decoration: none; cursor: pointer; touch-action: manipulation; }
.ui-btn.lg { min-height: var(--btn-lg-h); }
.ui-btn.ghost { background: transparent; color: var(--ink); border-color: var(--btn-line); }
.ui-btn:disabled, .ui-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
/* Eski sayfalarda mevcut düğmeye yalnız class="save" eklenir */
button.save, button.ghost.save, a.save, .ui-btn.save { background: var(--btn-save); color: var(--btn-save-fg); border-color: transparent; }
.ui-btn.danger, button.warn { background: var(--btn-danger); color: var(--btn-danger-fg); border-color: transparent; }
.ui-btn:focus-visible { outline: 3px solid var(--sun, #f5c04a); outline-offset: 2px; }

/* ---- Adım 3: AİLE ekranı (body.ui-family). Köşe 12 px, birincil lacivert, Kaydet yeşil. Yükseklik/dolgu/yerleşim DEĞİŞMEZ (simetri); yalnız renk ve köşe. ---- */
.ui-family :is(.btn, .bt-btn, .sg-btn, .em-btn, .mw-b, .aft-add, .ak-btn, .mde-open, .rte-btn, .rh-btn.compact, .pf-tbl) { border-radius: var(--btn-r); }
.ui-family .btn.go, .ui-family #qGo, .ui-family .btn[data-do="shopAdd"], .ui-family .em-btn.pri, .ui-family .mw-b:not(.ghost), .ui-family .aft-add { background: var(--btn-ink); border-color: transparent; color: var(--btn-ink-fg); }
.ui-family :is(.btn, .bt-btn, .sg-btn, .em-btn, .mw-b).save { background: var(--btn-save); border-color: transparent; color: var(--btn-save-fg); box-shadow: none; }

/* ---- Adım 4: MOBİL (body.ui-mobile). Aile ile aynı ilke: yalnız renk ve köşe; yükseklik/dolgu/yerleşim DEĞİŞMEZ. Yuvarlak FAB'lar (hızlı ekle, menü) ve tema düğmesi değişmez. ---- */
.ui-mobile :is(.btn, .bt-btn, .sg-btn, .em-btn, .aft-add, .ak-btn, .mde-open, .rte-btn, .pf-tbl) { border-radius: var(--btn-r); }
.ui-mobile :is(.em-btn.pri, .aft-add) { background: var(--btn-ink); border-color: transparent; color: var(--btn-ink-fg); }
.ui-mobile :is(.btn, .bt-btn, .sg-btn, .em-btn).save { background: var(--btn-save); border-color: transparent; color: var(--btn-save-fg); box-shadow: none; }
