/* ==========================================================================
   Samsun Mekanik — Uygulama Teması (sm.css)
   Sıfırdan yazılmış tema. Bootstrap 4 yalnızca grid / modal mekaniği için
   altta durur; tüm görsel dil burada tanımlanır.
   ========================================================================== */

/* ---------- 1. Token'lar ---------- */
:root {
  /* Nötrler: markanın bronz tonuna çok hafif çekilmiş */
  --sm-bg:        oklch(0.972 0.003 60);
  --sm-surface:   oklch(1 0 0);
  --sm-surface-2: oklch(0.962 0.004 60);
  --sm-surface-3: oklch(0.935 0.005 60);
  --sm-line:      oklch(0.905 0.006 60);
  --sm-line-2:    oklch(0.85 0.007 60);
  --sm-ink:       oklch(0.235 0.012 60);
  --sm-ink-2:     oklch(0.42 0.012 60);
  --sm-ink-3:     oklch(0.53 0.01 60);

  /* Marka: logodaki yanık turuncu / bronz */
  --sm-brand:       oklch(0.555 0.155 45);
  --sm-brand-hover: oklch(0.49 0.145 45);
  --sm-brand-soft:  oklch(0.955 0.028 60);
  --sm-brand-ink:   oklch(0.44 0.12 45);
  --sm-ring:        oklch(0.555 0.155 45 / 0.28);

  /* Anlamsal renkler */
  --sm-success:      oklch(0.53 0.12 152);
  --sm-success-soft: oklch(0.955 0.035 152);
  --sm-success-ink:  oklch(0.4 0.1 152);
  --sm-danger:       oklch(0.55 0.19 27);
  --sm-danger-soft:  oklch(0.955 0.03 27);
  --sm-danger-ink:   oklch(0.45 0.16 27);
  --sm-warning:      oklch(0.78 0.14 78);
  --sm-warning-soft: oklch(0.965 0.045 85);
  --sm-warning-ink:  oklch(0.45 0.1 70);
  --sm-info:         oklch(0.54 0.11 240);
  --sm-info-soft:    oklch(0.955 0.025 240);
  --sm-info-ink:     oklch(0.43 0.1 240);

  /* Kenar menü (koyu grafit) */
  --sm-side-bg:     oklch(0.215 0.012 55);
  --sm-side-bg-2:   oklch(0.265 0.014 55);
  --sm-side-ink:    oklch(0.83 0.01 60);
  --sm-side-ink-2:  oklch(0.64 0.012 60);
  --sm-side-accent: oklch(0.76 0.13 62);
  --sm-side-line:   oklch(0.3 0.012 55);

  --sm-side-w: 260px;
  --sm-side-w-mini: 72px;
  --sm-top-h: 60px;

  --sm-r-sm: 6px;
  --sm-r: 9px;
  --sm-r-lg: 13px;

  --sm-shadow-1: 0 1px 2px oklch(0.2 0.01 60 / 0.06);
  --sm-shadow-2: 0 4px 12px -2px oklch(0.2 0.01 60 / 0.1), 0 2px 4px -2px oklch(0.2 0.01 60 / 0.06);
  --sm-shadow-3: 0 18px 48px -12px oklch(0.2 0.01 60 / 0.28);

  --sm-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --sm-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* Z-index ölçeği */
  --z-sticky: 1020;
  --z-side: 1030;
  --z-dropdown: 1040;
  --z-backdrop: 1050;
  --z-modal: 1060;
  --z-toast: 1080;

  color-scheme: light;
}

/* Koyu tema */
html[data-theme="dark"] {
  --sm-bg:        oklch(0.19 0.008 60);
  --sm-surface:   oklch(0.225 0.009 60);
  --sm-surface-2: oklch(0.255 0.01 60);
  --sm-surface-3: oklch(0.29 0.011 60);
  --sm-line:      oklch(0.31 0.01 60);
  --sm-line-2:    oklch(0.38 0.012 60);
  --sm-ink:       oklch(0.94 0.005 60);
  --sm-ink-2:     oklch(0.8 0.008 60);
  --sm-ink-3:     oklch(0.68 0.01 60);

  --sm-brand:       oklch(0.66 0.15 50);
  --sm-brand-hover: oklch(0.72 0.14 52);
  --sm-brand-soft:  oklch(0.3 0.05 50);
  --sm-brand-ink:   oklch(0.8 0.12 58);
  --sm-ring:        oklch(0.66 0.15 50 / 0.35);

  --sm-success-soft: oklch(0.3 0.05 152);
  --sm-success-ink:  oklch(0.82 0.12 152);
  --sm-danger-soft:  oklch(0.3 0.06 27);
  --sm-danger-ink:   oklch(0.82 0.1 27);
  --sm-warning-soft: oklch(0.32 0.05 80);
  --sm-warning-ink:  oklch(0.86 0.11 82);
  --sm-info-soft:    oklch(0.3 0.04 240);
  --sm-info-ink:     oklch(0.82 0.08 240);

  --sm-side-bg:   oklch(0.165 0.008 55);
  --sm-side-bg-2: oklch(0.235 0.012 55);
  --sm-side-line: oklch(0.26 0.01 55);

  --sm-shadow-2: 0 4px 14px -2px oklch(0 0 0 / 0.45);
  --sm-shadow-3: 0 22px 60px -12px oklch(0 0 0 / 0.6);
  color-scheme: dark;
}

/* ---------- 2. Temel ---------- */
html { font-size: 15px; }
body {
  font-family: var(--sm-font);
  font-feature-settings: "cv11", "ss01";
  background: var(--sm-bg);
  color: var(--sm-ink);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}
h1, h2, h3, h4, h5, h6 { color: var(--sm-ink); font-weight: 650; letter-spacing: -0.012em; text-wrap: balance; }
h1, .h1 { font-size: 1.6rem; }
h2, .h2 { font-size: 1.4rem; }
h3, .h3 { font-size: 1.2rem; }
h4, .h4 { font-size: 1.07rem; }
h5, .h5 { font-size: 1rem; }
h6, .h6 { font-size: .93rem; }
a { color: var(--sm-brand-ink); transition: color .15s var(--sm-ease); }
a:hover { color: var(--sm-brand-hover); text-decoration: none; }
html[data-theme="dark"] a:hover { color: var(--sm-brand-hover); }
hr { border-color: var(--sm-line); }
small, .small { font-size: .84em; }
.text-sm { font-size: .875rem !important; }
.text-xs { font-size: .78rem !important; }
.text-muted { color: var(--sm-ink-3) !important; }
.text-mono, .num, td.text-right, th.text-right { font-variant-numeric: tabular-nums; }
.nowrap { white-space: nowrap; }
.img-circle { border-radius: 50%; }
.img-size-50 { width: 50px; height: auto; }
.elevation-1, .elevation-2, .elevation-3, .elevation-4 { box-shadow: var(--sm-shadow-1); }
::selection { background: var(--sm-brand-soft); color: var(--sm-ink); }
:focus-visible { outline: 2px solid var(--sm-brand); outline-offset: 2px; }

/* AdminLTE kalıntıları: görünmez kılınır */
.preloader, .control-sidebar, .control-sidebar-bg { display: none !important; }

/* ---------- 3. Uygulama iskeleti ---------- */
.wrapper { min-height: 100vh; position: relative; }

/* Kenar menü */
.sm-sidebar {
  position: fixed; inset: 0 auto 0 0;
  width: var(--sm-side-w);
  background: var(--sm-side-bg);
  color: var(--sm-side-ink);
  display: flex; flex-direction: column;
  z-index: var(--z-side);
  transition: width .22s var(--sm-ease), transform .26s var(--sm-ease);
}
.sm-brand {
  display: flex; align-items: center; gap: 12px;
  height: var(--sm-top-h); padding: 0 18px;
  border-bottom: 1px solid var(--sm-side-line);
  color: #fff; flex-shrink: 0; overflow: hidden;
}
.sm-brand:hover { color: #fff; }
.sm-brand img { width: 34px; height: 34px; object-fit: contain; flex-shrink: 0; }
.sm-brand-text { display: flex; flex-direction: column; line-height: 1.15; white-space: nowrap; }
.sm-brand-text strong { font-size: .98rem; font-weight: 700; letter-spacing: -0.01em; color: oklch(0.97 0.005 60); }
.sm-brand-text span { font-size: .74rem; color: var(--sm-side-ink-2); }

.sm-nav { flex: 1; overflow-y: auto; overflow-x: hidden; padding: 10px 10px 16px; scrollbar-width: thin; scrollbar-color: var(--sm-side-bg-2) transparent; }
.sm-nav-group { margin-top: 14px; }
.sm-nav-group:first-child { margin-top: 4px; }
.sm-nav-label {
  font-size: .72rem; font-weight: 600; color: var(--sm-side-ink-2);
  padding: 0 12px 6px; white-space: nowrap;
}
.sm-nav a {
  position: relative;
  display: flex; align-items: center; gap: 12px;
  height: 38px; padding: 0 12px; margin: 1px 0;
  border-radius: var(--sm-r);
  color: var(--sm-side-ink);
  font-size: .92rem; font-weight: 500;
  white-space: nowrap;
  transition: background-color .15s var(--sm-ease), color .15s var(--sm-ease);
}
.sm-nav a i { width: 20px; text-align: center; font-size: .95rem; color: var(--sm-side-ink-2); flex-shrink: 0; transition: color .15s var(--sm-ease); }
.sm-nav a:hover { background: var(--sm-side-bg-2); color: #fff; }
.sm-nav a:hover i { color: var(--sm-side-ink); }
.sm-nav a.is-active { background: var(--sm-side-bg-2); color: #fff; font-weight: 600; }
.sm-nav a.is-active i { color: var(--sm-side-accent); }
.sm-nav a.is-active::before {
  content: ""; position: absolute; left: -10px; top: 9px; bottom: 9px; width: 3px;
  border-radius: 0 3px 3px 0; background: var(--sm-side-accent);
}
.sm-nav .sm-pill {
  margin-left: auto; font-size: .68rem; font-weight: 600;
  padding: 2px 7px; border-radius: 99px;
  background: oklch(0.76 0.13 62 / 0.16); color: var(--sm-side-accent);
}

.sm-side-foot { border-top: 1px solid var(--sm-side-line); padding: 12px; flex-shrink: 0; }
.sm-user { display: flex; align-items: center; gap: 10px; padding: 6px; border-radius: var(--sm-r); color: var(--sm-side-ink); overflow: hidden; }
.sm-user:hover { background: var(--sm-side-bg-2); color: #fff; }
.sm-avatar {
  width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0;
  display: grid; place-items: center;
  background: var(--sm-brand); color: #fff;
  font-size: .8rem; font-weight: 700; letter-spacing: .02em;
}
.sm-user-meta { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.sm-user-meta strong { font-size: .86rem; font-weight: 600; color: oklch(0.96 0.005 60); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-user-meta span { font-size: .75rem; color: var(--sm-side-ink-2); }

/* Mini (daraltılmış) kenar menü — masaüstü */
@media (min-width: 992px) {
  body.sm-mini .sm-sidebar { width: var(--sm-side-w-mini); }
  body.sm-mini .sm-brand-text,
  body.sm-mini .sm-nav-label,
  body.sm-mini .sm-nav a span,
  body.sm-mini .sm-nav .sm-pill,
  body.sm-mini .sm-user-meta { display: none; }
  body.sm-mini .sm-brand { padding: 0 19px; }
  body.sm-mini .sm-nav a { justify-content: center; padding: 0; }
  body.sm-mini .sm-nav-group { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--sm-side-line); }
  body.sm-mini .sm-nav-group:first-child { border-top: 0; padding-top: 0; }
  body.sm-mini .sm-user { justify-content: center; }
}

/* İçerik kolonu */
.sm-topbar, .content-wrapper, .main-footer {
  margin-left: var(--sm-side-w);
  transition: margin-left .22s var(--sm-ease);
}
@media (min-width: 992px) {
  body.sm-mini .sm-topbar, body.sm-mini .content-wrapper, body.sm-mini .main-footer { margin-left: var(--sm-side-w-mini); }
}

/* Üst bar */
.sm-topbar {
  position: sticky; top: 0; z-index: var(--z-sticky);
  height: var(--sm-top-h);
  display: flex; align-items: center; gap: 12px;
  padding: 0 24px 0 16px;
  background: color-mix(in oklch, var(--sm-bg) 88%, transparent);
  backdrop-filter: saturate(1.4) blur(10px);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--sm-line);
}
.sm-icon-btn {
  position: relative;
  width: 38px; height: 38px; border-radius: var(--sm-r);
  display: inline-grid; place-items: center;
  background: transparent; border: 0; color: var(--sm-ink-2);
  cursor: pointer; transition: background-color .15s var(--sm-ease), color .15s var(--sm-ease);
}
.sm-icon-btn:hover { background: var(--sm-surface-3); color: var(--sm-ink); }
.sm-icon-btn:focus { outline: none; }
.sm-icon-btn:focus-visible { box-shadow: 0 0 0 3px var(--sm-ring); }
.sm-dot {
  position: absolute; top: 6px; right: 5px;
  min-width: 17px; height: 17px; padding: 0 4px;
  border-radius: 99px; background: var(--sm-danger); color: #fff;
  font-size: .66rem; font-weight: 700; line-height: 17px; text-align: center;
  box-shadow: 0 0 0 2px var(--sm-bg);
}
.sm-crumb { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: .9rem; color: var(--sm-ink-3); }
.sm-crumb strong { color: var(--sm-ink); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-crumb i { font-size: .65rem; }
.sm-top-spacer { flex: 1; }

.sm-search { position: relative; width: min(340px, 34vw); }
.sm-search i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--sm-ink-3); font-size: .85rem; pointer-events: none; }
.sm-search input {
  width: 100%; height: 38px; padding: 0 52px 0 34px;
  border: 1px solid var(--sm-line); border-radius: var(--sm-r);
  background: var(--sm-surface); color: var(--sm-ink); font-size: .9rem;
  transition: border-color .15s var(--sm-ease), box-shadow .15s var(--sm-ease);
}
.sm-search input::placeholder { color: var(--sm-ink-3); }
.sm-search input:focus { outline: none; border-color: var(--sm-brand); box-shadow: 0 0 0 3px var(--sm-ring); }
.sm-search kbd {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  padding: 2px 6px; border-radius: 5px; border: 1px solid var(--sm-line);
  background: var(--sm-surface-2); color: var(--sm-ink-3);
  font: 600 .7rem/1.2 var(--sm-font); box-shadow: none;
}
.sm-date { font-size: .85rem; color: var(--sm-ink-3); white-space: nowrap; }

/* Üst bar açılır menüleri */
.sm-topbar .dropdown-menu { margin-top: 8px; }
.sm-notif { width: 360px; max-width: calc(100vw - 24px); padding: 0; overflow: hidden; }
.sm-notif-head { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--sm-line); }
.sm-notif-head strong { font-size: .92rem; }
.sm-notif-head span { font-size: .8rem; color: var(--sm-ink-3); }
.sm-notif-list { max-height: 380px; overflow-y: auto; }
.sm-notif-item { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 11px 16px; color: var(--sm-ink); border-bottom: 1px solid var(--sm-line); }
.sm-notif-item:last-child { border-bottom: 0; }
.sm-notif-item:hover { background: var(--sm-surface-2); color: var(--sm-ink); }
.sm-notif-ico { width: 34px; height: 34px; border-radius: var(--sm-r); display: grid; place-items: center; font-size: .85rem; }
.sm-notif-ico.in { background: var(--sm-info-soft); color: var(--sm-info-ink); }
.sm-notif-ico.out { background: var(--sm-warning-soft); color: var(--sm-warning-ink); }
.sm-notif-main { min-width: 0; }
.sm-notif-main b { display: block; font-size: .87rem; font-weight: 600; }
.sm-notif-main small { color: var(--sm-ink-3); font-size: .78rem; }
.sm-notif-amt { text-align: right; font-size: .85rem; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sm-notif-amt small { display: block; font-weight: 500; }
.sm-notif-amt small.is-soon { color: var(--sm-danger-ink); }
.sm-notif-foot { display: block; text-align: center; padding: 11px; font-size: .86rem; font-weight: 600; border-top: 1px solid var(--sm-line); background: var(--sm-surface-2); }
.sm-empty-mini { padding: 28px 16px; text-align: center; color: var(--sm-ink-3); font-size: .88rem; }
.sm-empty-mini i { display: block; font-size: 1.4rem; margin-bottom: 8px; color: var(--sm-success); }

/* Mobil */
.sm-scrim { display: none; }
.sm-only-mobile { display: none !important; }
@media (max-width: 991.98px) {
  .sm-sidebar { transform: translateX(-100%); box-shadow: none; }
  body.sm-open .sm-sidebar { transform: none; box-shadow: var(--sm-shadow-3); }
  body.sm-open .sm-scrim { display: block; position: fixed; inset: 0; z-index: calc(var(--z-side) - 1); background: oklch(0.15 0.01 60 / 0.45); animation: sm-fade .2s var(--sm-ease); }
  .sm-topbar, .content-wrapper, .main-footer { margin-left: 0; }
  .sm-topbar { padding: 0 12px 0 8px; }
  .sm-search, .sm-date { display: none; }
  .sm-only-mobile { display: inline-grid !important; }
}
@keyframes sm-fade { from { opacity: 0; } }

/* ---------- 4. Sayfa yapısı ---------- */
.content-wrapper { min-height: calc(100vh - var(--sm-top-h) - 52px); background: transparent; padding-bottom: 24px; }
.content-header { padding: 24px 28px 8px; }
.content-header h1 { font-size: 1.55rem; font-weight: 700; letter-spacing: -0.02em; margin: 0; }
.content-header .container-fluid, .content > .container-fluid { padding-left: 0; padding-right: 0; }
.content-header .row { align-items: center; }
.content-header .row.mb-2 { margin-bottom: 0 !important; }
.content { padding: 12px 28px 0; }
@media (max-width: 767.98px) {
  .content-header { padding: 18px 16px 4px; }
  .content { padding: 10px 16px 0; }
  .content-header h1 { font-size: 1.3rem; }
}

.breadcrumb { background: transparent; padding: 0; margin: 0; font-size: .85rem; }
.breadcrumb-item, .breadcrumb-item a { color: var(--sm-ink-3); }
.breadcrumb-item a:hover { color: var(--sm-brand-ink); }
.breadcrumb-item.active { color: var(--sm-ink-2); font-weight: 500; }
.breadcrumb-item + .breadcrumb-item::before { content: "/"; color: var(--sm-line-2); }

.main-footer {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px;
  padding: 16px 28px; font-size: .8rem; color: var(--sm-ink-3);
  border-top: 1px solid var(--sm-line); background: transparent;
}
.main-footer a { color: var(--sm-ink-2); }

/* Eski sayfalarda kart dışında kalmış başlık/filtre şeritleri */
.content-wrapper > .card-header,
.content-wrapper > div > .card-header:first-child:not(.card > .card-header) {
  border: 0; background: transparent; padding: 8px 28px 0; display: block;
}
.content-wrapper > .card-header .form-group { margin-bottom: 4px; }
.content-wrapper > .card-header .input-group { max-width: 560px; flex-wrap: nowrap; }
.content-wrapper > .card-header input[type="date"].form-control { float: none !important; }
@media (max-width: 767.98px) { .content-wrapper > .card-header { padding: 8px 16px 0; } .content-wrapper > .card-header .input-group { flex-wrap: wrap; } }
.searchBox { margin: 0 20px; }
.searchBox .input-group { flex-wrap: nowrap; }
.searchBox .input-group > select.form-control { max-width: 260px; }
@media (max-width: 575.98px) { .searchBox .input-group { flex-wrap: wrap; } .searchBox .input-group > select.form-control { max-width: none; } }

/* Sayfa başlığı (yeni sayfalar) */
.sm-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 26px 28px 6px; }
.sm-page-head h1 { font-size: 1.6rem; font-weight: 700; letter-spacing: -0.022em; margin: 0; }
.sm-page-head p { margin: 4px 0 0; color: var(--sm-ink-3); font-size: .93rem; }
.sm-page-actions { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 767.98px) { .sm-page-head { padding: 18px 16px 4px; } .sm-page-head h1 { font-size: 1.35rem; } }

/* ---------- 5. Kart ---------- */
.card {
  background: var(--sm-surface);
  border: 1px solid var(--sm-line);
  border-radius: var(--sm-r-lg);
  box-shadow: var(--sm-shadow-1);
  margin-bottom: 20px;
  color: var(--sm-ink);
}
.card-header {
  background: transparent;
  border-bottom: 1px solid var(--sm-line);
  padding: 14px 20px;
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
}
.card-header:first-child { border-radius: var(--sm-r-lg) var(--sm-r-lg) 0 0; }
.card-header > .card-title { margin-right: auto; }
.card-header.d-flex { flex-wrap: wrap; }
.card-title { font-size: 1rem; font-weight: 650; margin: 0; color: var(--sm-ink); float: none; }
.card-body { padding: 20px; }
.card-body.p-0 .table { margin-bottom: 0; }
.card-footer { background: var(--sm-surface-2); border-top: 1px solid var(--sm-line); padding: 12px 20px; }
.card-footer:last-child { border-radius: 0 0 var(--sm-r-lg) var(--sm-r-lg); }
.card-tools { display: flex; gap: 6px; margin-left: auto; }
.card.collapsed-card > .card-body, .card.collapsed-card > .card-footer { display: none; }
/* Renkli AdminLTE başlıkları nötrleştirilir: tutarlı tek bir kart dili */
.card-primary:not(.card-outline) > .card-header,
.card-info:not(.card-outline) > .card-header,
.card-success:not(.card-outline) > .card-header,
.card-warning:not(.card-outline) > .card-header,
.card-danger:not(.card-outline) > .card-header,
.card-secondary:not(.card-outline) > .card-header { background: transparent; color: var(--sm-ink); }
.card-title-desc { color: var(--sm-ink-3); font-size: .88rem; }

/* ---------- 6. Özet kutuları (eski small-box) ---------- */
.small-box {
  position: relative; overflow: hidden;
  background: var(--sm-surface) !important; color: var(--sm-ink) !important;
  border: 1px solid var(--sm-line); border-radius: var(--sm-r-lg);
  box-shadow: var(--sm-shadow-1); margin-bottom: 20px;
  display: flex; flex-direction: column;
}
.small-box > .inner { padding: 18px 20px 16px; padding-right: 72px; }
.small-box h3, .small-box h4 { font-size: 1.3rem; font-weight: 700; letter-spacing: -0.015em; margin: 0 0 4px; color: var(--sm-ink); font-variant-numeric: tabular-nums; }
.small-box p { margin: 0; color: var(--sm-ink-3); font-size: .87rem; font-weight: 500; }
.small-box .icon { position: absolute; top: 18px; right: 18px; width: 40px; height: 40px; border-radius: var(--sm-r); display: grid; place-items: center; background: var(--sm-surface-2); color: var(--sm-ink-2); font-size: 1.05rem; }
.small-box .icon > i { font-size: 1.05rem; position: static; }
.small-box.bg-warning .icon { background: var(--sm-warning-soft); color: var(--sm-warning-ink); }
.small-box.bg-success .icon { background: var(--sm-success-soft); color: var(--sm-success-ink); }
.small-box.bg-danger  .icon { background: var(--sm-danger-soft);  color: var(--sm-danger-ink); }
.small-box.bg-info    .icon { background: var(--sm-info-soft);    color: var(--sm-info-ink); }
.small-box.bg-primary .icon { background: var(--sm-brand-soft);   color: var(--sm-brand-ink); }
.small-box-footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; padding: 10px 20px; border-top: 1px solid var(--sm-line); color: var(--sm-ink-2) !important; font-size: .86rem; font-weight: 500; }
.small-box-footer:hover { background: var(--sm-surface-2); color: var(--sm-brand-ink) !important; }

/* ---------- 7. Butonlar ---------- */
.btn {
  font-weight: 550; font-size: .9rem;
  border-radius: var(--sm-r);
  padding: .47rem .95rem;
  border-width: 1px;
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  transition: background-color .15s var(--sm-ease), border-color .15s var(--sm-ease), color .15s var(--sm-ease), box-shadow .15s var(--sm-ease), transform .1s var(--sm-ease);
}
.btn:active:not(:disabled) { transform: translateY(1px); }
.btn:focus, .btn.focus { box-shadow: 0 0 0 3px var(--sm-ring) !important; }
.btn.btn-block { display: flex; }
.btn-sm, .btn-group-sm > .btn { padding: .3rem .65rem; font-size: .82rem; border-radius: var(--sm-r-sm); }
.btn-lg { padding: .65rem 1.25rem; font-size: 1rem; }
.btn-xs { padding: .15rem .45rem; font-size: .75rem; border-radius: 5px; }
.btn:disabled, .btn.disabled { opacity: .5; }

.btn-primary { background: var(--sm-brand); border-color: var(--sm-brand); color: #fff; }
.btn-primary:hover, .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active { background: var(--sm-brand-hover); border-color: var(--sm-brand-hover); color: #fff; }
.btn-primary:disabled { background: var(--sm-brand); border-color: var(--sm-brand); }

.btn-default, .btn-secondary, .btn-light, .btn-outline-secondary {
  background: var(--sm-surface); border-color: var(--sm-line-2); color: var(--sm-ink);
  box-shadow: var(--sm-shadow-1);
}
.btn-default:hover, .btn-secondary:hover, .btn-light:hover, .btn-outline-secondary:hover,
.btn-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled):active { background: var(--sm-surface-2); border-color: var(--sm-line-2); color: var(--sm-ink); }

.btn-success { background: var(--sm-success); border-color: var(--sm-success); color: #fff; }
.btn-success:hover, .btn-success:not(:disabled):not(.disabled):active { background: var(--sm-success-ink); border-color: var(--sm-success-ink); color: #fff; }
.btn-danger { background: var(--sm-danger); border-color: var(--sm-danger); color: #fff; }
.btn-danger:hover, .btn-danger:not(:disabled):not(.disabled):active { background: var(--sm-danger-ink); border-color: var(--sm-danger-ink); color: #fff; }
.btn-warning { background: var(--sm-warning); border-color: var(--sm-warning); color: oklch(0.26 0.04 70); }
.btn-warning:hover, .btn-warning:not(:disabled):not(.disabled):active { background: oklch(0.72 0.14 76); border-color: oklch(0.72 0.14 76); color: oklch(0.22 0.04 70); }
.btn-info { background: var(--sm-info); border-color: var(--sm-info); color: #fff; }
.btn-info:hover, .btn-info:not(:disabled):not(.disabled):active { background: var(--sm-info-ink); border-color: var(--sm-info-ink); color: #fff; }
.btn-dark { background: var(--sm-ink); border-color: var(--sm-ink); color: var(--sm-surface); }

.btn-outline-primary { color: var(--sm-brand-ink); border-color: var(--sm-brand); background: transparent; }
.btn-outline-primary:hover, .btn-outline-primary:not(:disabled):not(.disabled):active { background: var(--sm-brand-soft); color: var(--sm-brand-ink); border-color: var(--sm-brand); }
.btn-outline-success { color: var(--sm-success-ink); border-color: var(--sm-success); }
.btn-outline-success:hover, .btn-outline-success:not(:disabled):not(.disabled):active { background: var(--sm-success-soft); color: var(--sm-success-ink); border-color: var(--sm-success); }
.btn-outline-danger { color: var(--sm-danger-ink); border-color: var(--sm-danger); }
.btn-outline-danger:hover, .btn-outline-danger:not(:disabled):not(.disabled):active { background: var(--sm-danger-soft); color: var(--sm-danger-ink); border-color: var(--sm-danger); }
.btn-outline-info { color: var(--sm-info-ink); border-color: var(--sm-info); }
.btn-outline-info:hover { background: var(--sm-info-soft); color: var(--sm-info-ink); }
.btn-outline-warning { color: var(--sm-warning-ink); border-color: var(--sm-warning); }
.btn-outline-warning:hover { background: var(--sm-warning-soft); color: var(--sm-warning-ink); }
.btn-link { color: var(--sm-brand-ink); font-weight: 500; }
.btn-group > .btn { box-shadow: none; }

/* ---------- 8. Form ---------- */
label, .col-form-label { font-size: .86rem; font-weight: 550; color: var(--sm-ink-2); }
label:not(.form-check-label):not(.custom-control-label) { margin-bottom: .35rem; }
.form-group { margin-bottom: 1rem; }
.form-control, .custom-select {
  height: calc(2.35rem + 2px);
  padding: .45rem .75rem;
  font-size: .92rem; color: var(--sm-ink);
  background-color: var(--sm-surface);
  border: 1px solid var(--sm-line-2);
  border-radius: var(--sm-r);
  transition: border-color .15s var(--sm-ease), box-shadow .15s var(--sm-ease);
}
textarea.form-control { height: auto; min-height: 80px; }
select.form-control[multiple], select.form-control[size] { height: auto; }
.form-control::placeholder { color: var(--sm-ink-3); opacity: 1; }
.form-control:focus, .custom-select:focus { border-color: var(--sm-brand); box-shadow: 0 0 0 3px var(--sm-ring); background: var(--sm-surface); color: var(--sm-ink); }
.form-control:disabled, .form-control[readonly] { background: var(--sm-surface-2); color: var(--sm-ink-2); }
.form-control-sm { height: calc(1.9rem + 2px); font-size: .84rem; border-radius: var(--sm-r-sm); }
.form-control.is-invalid { border-color: var(--sm-danger); }
.form-text { color: var(--sm-ink-3); font-size: .8rem; }
.custom-select { background-color: var(--sm-surface); }

.input-group > .form-control:not(:first-child), .input-group > .custom-select:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group-text {
  background: var(--sm-surface-2); border: 1px solid var(--sm-line-2);
  color: var(--sm-ink-2); font-size: .85rem; font-weight: 550;
  border-radius: var(--sm-r);
}
/* Eski sayfalarda input-group-append en başta etiket olarak kullanılıyor: tutarlı genişlik ver */
.modal .input-group > .input-group-append:first-child > .input-group-text,
.modal .input-group > .input-group-prepend:first-child > .input-group-text { min-width: 136px; }
.input-group > .input-group-append:first-child > .input-group-text { border-top-right-radius: 0; border-bottom-right-radius: 0; border-top-left-radius: var(--sm-r); border-bottom-left-radius: var(--sm-r); }
.input-group > .input-group-append:first-child { margin-left: 0; margin-right: -1px; }
.input-group > div.form-control { display: flex; align-items: center; }

input[type="checkbox"], input[type="radio"] { accent-color: var(--sm-brand); width: 16px; height: 16px; vertical-align: -3px; }
.custom-control-input:checked ~ .custom-control-label::before { background-color: var(--sm-brand); border-color: var(--sm-brand); }
.custom-control-input:focus ~ .custom-control-label::before { box-shadow: 0 0 0 3px var(--sm-ring); }
.custom-switch .custom-control-label::before { border-color: var(--sm-line-2); }

/* Select2 */
.select2-container--bootstrap4 .select2-selection,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border: 1px solid var(--sm-line-2) !important; border-radius: var(--sm-r) !important;
  background: var(--sm-surface) !important; min-height: calc(2.35rem + 2px);
}
.select2-container--default .select2-selection--single { height: calc(2.35rem + 2px) !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 2.35rem !important; color: var(--sm-ink) !important; padding-left: .75rem; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 2.35rem !important; }
.select2-container--bootstrap4.select2-container--focus .select2-selection,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single { border-color: var(--sm-brand) !important; box-shadow: 0 0 0 3px var(--sm-ring) !important; }
.select2-dropdown { border: 1px solid var(--sm-line-2) !important; border-radius: var(--sm-r) !important; box-shadow: var(--sm-shadow-2); background: var(--sm-surface) !important; color: var(--sm-ink); overflow: hidden; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--bootstrap4 .select2-results__option--highlighted,
.select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected=true] { background: var(--sm-brand) !important; color: #fff !important; }
.select2-search__field { border-radius: var(--sm-r-sm) !important; border-color: var(--sm-line-2) !important; background: var(--sm-surface) !important; color: var(--sm-ink) !important; }

/* ---------- 9. Tablolar ---------- */
.table { color: var(--sm-ink); font-size: .9rem; margin-bottom: 0; }
.table th, .table td { padding: .7rem .9rem; border-top: 1px solid var(--sm-line); vertical-align: middle; }
.table thead th {
  border-bottom: 1px solid var(--sm-line); border-top: 0;
  background: var(--sm-surface-2);
  color: var(--sm-ink-2); font-size: .8rem; font-weight: 600;
  white-space: nowrap;
}
.table tfoot th { background: var(--sm-surface-2); color: var(--sm-ink-2); font-size: .8rem; font-weight: 600; border-top: 1px solid var(--sm-line); }
.table-bordered, .table-bordered th, .table-bordered td { border-left: 0; border-right: 0; }
.table-bordered { border: 0; }
.table-bordered thead th, .table-bordered thead td { border-bottom-width: 1px; }
.table-sm th, .table-sm td { padding: .45rem .65rem; }
.table-hover tbody tr { transition: background-color .12s var(--sm-ease); }
.table-hover tbody tr:hover { background: var(--sm-surface-2); color: var(--sm-ink); }
.table-striped tbody tr:nth-of-type(odd) { background: color-mix(in oklch, var(--sm-surface-2) 55%, transparent); }
.table-responsive { border-radius: var(--sm-r); }
.card-body > .table-responsive:only-child, .card-body > .table:only-child { margin: -20px; width: calc(100% + 40px); max-width: none; }
.card-body.p-0 > .table-responsive, .card-body.p-0 > .table { margin: 0; width: 100%; }
.table td a:not(.btn) { font-weight: 550; }
.table .btn-sm { padding: .22rem .5rem; }
.table ion-icon { font-size: 1.15rem; vertical-align: -3px; }
.table-dark, .table .thead-dark th { background: var(--sm-ink); color: var(--sm-surface); }
.table-success, .table-success > td, .table-success > th { background: var(--sm-success-soft) !important; }
.table-danger, .table-danger > td, .table-danger > th { background: var(--sm-danger-soft) !important; }
.table-warning, .table-warning > td, .table-warning > th { background: var(--sm-warning-soft) !important; }
.table-info, .table-info > td, .table-info > th { background: var(--sm-info-soft) !important; }

/* DataTables */
.dataTables_wrapper { font-size: .88rem; }
.dataTables_wrapper .row:first-child { align-items: center; margin-bottom: 12px; row-gap: 10px; }
.dataTables_wrapper .row:last-child { align-items: center; margin-top: 12px; row-gap: 10px; }
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  border: 1px solid var(--sm-line-2); border-radius: var(--sm-r); background: var(--sm-surface); color: var(--sm-ink);
  height: 34px; padding: 0 10px; font-size: .86rem; margin-left: 6px;
}
.dataTables_wrapper .dataTables_filter input { width: 220px; }
.dataTables_wrapper .dataTables_filter input:focus, .dataTables_wrapper .dataTables_length select:focus { outline: none; border-color: var(--sm-brand); box-shadow: 0 0 0 3px var(--sm-ring); }
.dataTables_wrapper .dataTables_filter label, .dataTables_wrapper .dataTables_length label { color: var(--sm-ink-3); font-weight: 500; font-size: .86rem; margin: 0; }
.dataTables_wrapper .dataTables_info { color: var(--sm-ink-3); font-size: .84rem; padding-top: 0 !important; }
.dt-buttons.btn-group { gap: 4px; flex-wrap: wrap; }
.dt-buttons .btn { background: var(--sm-surface); border: 1px solid var(--sm-line-2) !important; color: var(--sm-ink-2); font-size: .8rem; padding: .3rem .65rem; border-radius: var(--sm-r-sm) !important; box-shadow: none; }
.dt-buttons .btn:hover { background: var(--sm-surface-2); color: var(--sm-ink); }
table.dataTable { border-collapse: collapse !important; margin-top: 0 !important; margin-bottom: 0 !important; }
table.dataTable thead .sorting::before, table.dataTable thead .sorting::after,
table.dataTable thead .sorting_asc::before, table.dataTable thead .sorting_asc::after,
table.dataTable thead .sorting_desc::before, table.dataTable thead .sorting_desc::after { opacity: .25; bottom: .75em; }
table.dataTable thead .sorting_asc::before, table.dataTable thead .sorting_desc::after { opacity: .85; color: var(--sm-brand); }
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control::before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control::before { background: var(--sm-brand); box-shadow: none; border: 2px solid var(--sm-surface); top: 50%; transform: translateY(-50%); margin-top: 0; }
table.dataTable > tbody > tr.child ul.dtr-details > li { border-bottom-color: var(--sm-line); }
div.dt-button-collection { background: var(--sm-surface); border: 1px solid var(--sm-line); border-radius: var(--sm-r); box-shadow: var(--sm-shadow-2); }
div.dt-button-info { background: var(--sm-surface) !important; border: 1px solid var(--sm-line) !important; border-radius: var(--sm-r-lg) !important; box-shadow: var(--sm-shadow-3) !important; }
@media (max-width: 767.98px) {
  .dataTables_wrapper .dataTables_filter, .dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_info, .dataTables_wrapper .dataTables_paginate { text-align: left !important; }
  .dataTables_wrapper .dataTables_filter input { width: 100%; margin-left: 0; margin-top: 4px; }
  .dataTables_wrapper .dataTables_paginate .pagination { justify-content: flex-start !important; flex-wrap: wrap; }
}

/* ---------- 10. Sayfalama ---------- */
.pagination { gap: 4px; flex-wrap: wrap; }
.page-link {
  border: 1px solid var(--sm-line) !important; border-radius: var(--sm-r-sm) !important;
  color: var(--sm-ink-2); background: var(--sm-surface);
  min-width: 34px; height: 34px; padding: 0 10px; margin: 0 !important;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .85rem; font-weight: 550; font-variant-numeric: tabular-nums;
}
.pagination-sm .page-link { min-width: 30px; height: 30px; font-size: .8rem; }
.page-link:hover { background: var(--sm-surface-2); color: var(--sm-ink); }
.page-link:focus { box-shadow: 0 0 0 3px var(--sm-ring); }
.page-item.active .page-link { background: var(--sm-ink); border-color: var(--sm-ink) !important; color: var(--sm-surface); }
.page-item.disabled .page-link { background: transparent; color: var(--sm-ink-3); opacity: .6; }

/* ---------- 11. Rozet / uyarı ---------- */
.badge {
  font-weight: 600; font-size: .74rem; letter-spacing: .005em;
  padding: .28em .62em; border-radius: 99px;
}
.badge-primary { background: var(--sm-brand-soft); color: var(--sm-brand-ink); }
.badge-secondary, .badge-light { background: var(--sm-surface-3); color: var(--sm-ink-2); }
.badge-success { background: var(--sm-success-soft); color: var(--sm-success-ink); }
.badge-danger  { background: var(--sm-danger-soft);  color: var(--sm-danger-ink); }
.badge-warning { background: var(--sm-warning-soft); color: var(--sm-warning-ink); }
.badge-info    { background: var(--sm-info-soft);    color: var(--sm-info-ink); }
.badge-dark    { background: var(--sm-ink); color: var(--sm-surface); }
a.badge:hover { filter: brightness(.96); }

.alert { border-radius: var(--sm-r); border: 1px solid transparent; font-size: .9rem; padding: .8rem 1rem; }
.alert-success { background: var(--sm-success-soft); color: var(--sm-success-ink); border-color: color-mix(in oklch, var(--sm-success) 25%, transparent); }
.alert-danger  { background: var(--sm-danger-soft);  color: var(--sm-danger-ink);  border-color: color-mix(in oklch, var(--sm-danger) 25%, transparent); }
.alert-warning { background: var(--sm-warning-soft); color: var(--sm-warning-ink); border-color: color-mix(in oklch, var(--sm-warning) 35%, transparent); }
.alert-info    { background: var(--sm-info-soft);    color: var(--sm-info-ink);    border-color: color-mix(in oklch, var(--sm-info) 25%, transparent); }
.alert .close { color: inherit; opacity: .6; }

/* bg-* yardımcıları — yumuşak zeminler (kart/kutu dışındaki kullanım) */
.bg-light { background: var(--sm-surface-2) !important; }
.bg-white { background: var(--sm-surface) !important; }
.text-primary { color: var(--sm-brand-ink) !important; }
.text-success { color: var(--sm-success-ink) !important; }
.text-danger  { color: var(--sm-danger-ink) !important; }
.text-warning { color: var(--sm-warning-ink) !important; }
.text-info    { color: var(--sm-info-ink) !important; }
.text-dark    { color: var(--sm-ink) !important; }
.border, .border-top, .border-bottom { border-color: var(--sm-line) !important; }

/* ---------- 12. Modal ---------- */
.modal-backdrop { background: oklch(0.16 0.01 60); }
.modal-backdrop.show { opacity: .5; }
.modal-content {
  background: var(--sm-surface); color: var(--sm-ink);
  border: 1px solid var(--sm-line); border-radius: var(--sm-r-lg);
  box-shadow: var(--sm-shadow-3);
}
.modal-header { border-bottom: 1px solid var(--sm-line); padding: 16px 22px; align-items: center; }
.modal-title { font-size: 1.08rem; font-weight: 650; letter-spacing: -0.01em; }
.modal-body { padding: 20px 22px; }
.modal-footer { border-top: 1px solid var(--sm-line); padding: 12px 22px; background: var(--sm-surface-2); border-radius: 0 0 var(--sm-r-lg) var(--sm-r-lg); gap: 8px; }
.modal-footer > * { margin: 0; }
.modal.fade .modal-dialog { transform: translateY(12px) scale(.985); transition: transform .24s var(--sm-ease), opacity .2s var(--sm-ease); }
.modal.show .modal-dialog { transform: none; }
.close {
  font-weight: 400; font-size: 1.5rem; line-height: 1; text-shadow: none; opacity: .55; color: var(--sm-ink);
  width: 32px; height: 32px; border-radius: var(--sm-r-sm); padding: 0 !important; margin: -4px -8px -4px auto !important;
  display: grid; place-items: center;
}
.close:hover { opacity: 1; background: var(--sm-surface-3); color: var(--sm-ink); }

/* ---------- 13. Açılır menü / sekmeler / liste ---------- */
.dropdown-menu {
  background: var(--sm-surface); color: var(--sm-ink);
  border: 1px solid var(--sm-line); border-radius: var(--sm-r);
  box-shadow: var(--sm-shadow-2);
  padding: 6px; font-size: .9rem; z-index: var(--z-dropdown);
}
.dropdown-item { border-radius: var(--sm-r-sm); padding: .45rem .75rem; color: var(--sm-ink); }
.dropdown-item:hover, .dropdown-item:focus { background: var(--sm-surface-2); color: var(--sm-ink); }
.dropdown-item.active, .dropdown-item:active { background: var(--sm-brand); color: #fff; }
.dropdown-divider { border-color: var(--sm-line); margin: 6px 0; }
.dropdown-header { color: var(--sm-ink-3); font-size: .78rem; }
.dropdown-menu.show { animation: sm-pop .16s var(--sm-ease); }
@keyframes sm-pop { from { opacity: 0; transform: translateY(-4px); } }

.nav-tabs { border-bottom: 1px solid var(--sm-line); gap: 4px; }
.nav-tabs .nav-link { border: 0; border-bottom: 2px solid transparent; color: var(--sm-ink-3); font-weight: 550; font-size: .9rem; padding: .6rem .9rem; border-radius: 0; margin-bottom: -1px; }
.nav-tabs .nav-link:hover { color: var(--sm-ink); border-color: transparent; }
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { color: var(--sm-ink); background: transparent; border-bottom-color: var(--sm-brand); }
.nav-pills .nav-link { border-radius: var(--sm-r); color: var(--sm-ink-2); font-weight: 550; font-size: .9rem; }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { background: var(--sm-brand-soft); color: var(--sm-brand-ink); }

.list-group-item { background: var(--sm-surface); border-color: var(--sm-line); color: var(--sm-ink); }
.list-group-unbordered > .list-group-item { border-left: 0; border-right: 0; border-radius: 0; padding-left: 0; padding-right: 0; }
.list-group-item.active { background: var(--sm-brand); border-color: var(--sm-brand); }

.progress { background: var(--sm-surface-3); border-radius: 99px; height: 8px; }
.progress-bar { background: var(--sm-brand); }

/* Profil */
.profile-user-img { width: 96px; height: 96px; object-fit: cover; border: 3px solid var(--sm-surface); box-shadow: 0 0 0 1px var(--sm-line); margin: 0 auto; display: block; }
.profile-username { font-size: 1.2rem; font-weight: 700; margin-top: 10px; }

/* ---------- 14. Bildirim (toast) ---------- */
.sm-toasts { position: fixed; right: 20px; bottom: 20px; z-index: var(--z-toast); display: flex; flex-direction: column; gap: 10px; width: min(360px, calc(100vw - 40px)); }
.sm-toast {
  display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: start;
  background: var(--sm-surface); color: var(--sm-ink);
  border: 1px solid var(--sm-line); border-radius: var(--sm-r-lg);
  box-shadow: var(--sm-shadow-3); padding: 14px 14px 14px 16px;
  animation: sm-toast-in .28s var(--sm-ease);
}
.sm-toast.is-leaving { animation: sm-toast-out .2s var(--sm-ease) forwards; }
.sm-toast-ico { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-size: .8rem; background: var(--sm-info-soft); color: var(--sm-info-ink); }
.sm-toast.is-success .sm-toast-ico { background: var(--sm-success-soft); color: var(--sm-success-ink); }
.sm-toast.is-danger .sm-toast-ico { background: var(--sm-danger-soft); color: var(--sm-danger-ink); }
.sm-toast.is-warning .sm-toast-ico { background: var(--sm-warning-soft); color: var(--sm-warning-ink); }
.sm-toast b { display: block; font-size: .9rem; font-weight: 600; margin-bottom: 2px; }
.sm-toast p { margin: 0; font-size: .85rem; color: var(--sm-ink-2); }
.sm-toast button { background: none; border: 0; color: var(--sm-ink-3); padding: 2px 4px; line-height: 1; font-size: 1.1rem; cursor: pointer; }
@keyframes sm-toast-in { from { opacity: 0; transform: translateY(10px) scale(.98); } }
@keyframes sm-toast-out { to { opacity: 0; transform: translateX(16px); } }

/* ---------- 15. Yeni sayfa bileşenleri (ana sayfa, kasa, özet) ---------- */
.sm-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--sm-surface); border: 1px solid var(--sm-line); border-radius: var(--sm-r-lg); box-shadow: var(--sm-shadow-1); margin-bottom: 22px; overflow: hidden; }
.sm-kpi { padding: 18px 22px; border-left: 1px solid var(--sm-line); min-width: 0; }
.sm-kpi:first-child { border-left: 0; }
.sm-kpi-label { display: flex; align-items: center; gap: 8px; font-size: .84rem; font-weight: 550; color: var(--sm-ink-3); }
.sm-kpi-label i { font-size: .8rem; }
.sm-kpi-value { margin-top: 8px; font-size: 1.55rem; font-weight: 700; letter-spacing: -0.025em; font-variant-numeric: tabular-nums; color: var(--sm-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-kpi-value small { font-size: .62em; font-weight: 600; color: var(--sm-ink-3); margin-left: 3px; letter-spacing: 0; }
.sm-kpi-sub { margin-top: 4px; font-size: .82rem; color: var(--sm-ink-3); }
.sm-kpi-sub .up { color: var(--sm-success-ink); font-weight: 600; }
.sm-kpi-sub .down { color: var(--sm-danger-ink); font-weight: 600; }
@media (max-width: 1199.98px) { .sm-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sm-kpi:nth-child(3) { border-left: 0; } .sm-kpi:nth-child(n+3) { border-top: 1px solid var(--sm-line); } }
@media (max-width: 575.98px) { .sm-kpis { grid-template-columns: 1fr; } .sm-kpi { border-left: 0; } .sm-kpi + .sm-kpi { border-top: 1px solid var(--sm-line); } }

.sm-grid { display: grid; gap: 20px; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); align-items: start; }
.sm-grid > * { min-width: 0; }
@media (max-width: 1199.98px) { .sm-grid { grid-template-columns: minmax(0, 1fr); } }

.sm-panel { background: var(--sm-surface); border: 1px solid var(--sm-line); border-radius: var(--sm-r-lg); box-shadow: var(--sm-shadow-1); margin-bottom: 20px; min-width: 0; }
.sm-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--sm-line); }
.sm-panel-head h2 { font-size: 1rem; font-weight: 650; margin: 0; }
.sm-panel-head p { margin: 2px 0 0; font-size: .82rem; color: var(--sm-ink-3); }
.sm-panel-head a { font-size: .85rem; font-weight: 550; white-space: nowrap; }
.sm-panel-body { padding: 18px 20px; }

/* Hızlı erişim listesi */
.sm-quick { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.sm-quick a {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px; border-radius: var(--sm-r);
  border: 1px solid var(--sm-line); background: var(--sm-surface);
  color: var(--sm-ink); transition: border-color .15s var(--sm-ease), background-color .15s var(--sm-ease), transform .15s var(--sm-ease);
}
.sm-quick a:hover { border-color: var(--sm-line-2); background: var(--sm-surface-2); color: var(--sm-ink); }
.sm-quick a:hover .sm-quick-go { transform: translateX(2px); color: var(--sm-brand-ink); }
.sm-quick-ico { width: 36px; height: 36px; border-radius: var(--sm-r); display: grid; place-items: center; background: var(--sm-surface-3); color: var(--sm-ink-2); font-size: .9rem; flex-shrink: 0; }
.sm-quick a.is-key .sm-quick-ico { background: var(--sm-brand-soft); color: var(--sm-brand-ink); }
.sm-quick-txt { min-width: 0; line-height: 1.25; }
.sm-quick-txt b { display: block; font-size: .9rem; font-weight: 600; }
.sm-quick-txt small { color: var(--sm-ink-3); font-size: .78rem; }
.sm-quick-go { margin-left: auto; color: var(--sm-ink-3); font-size: .75rem; transition: transform .15s var(--sm-ease), color .15s var(--sm-ease); }

/* Satır listesi (vade, son teklifler) */
.sm-rows { list-style: none; margin: 0; padding: 0; }
.sm-rows li { display: flex; align-items: center; gap: 12px; padding: 12px 20px; border-top: 1px solid var(--sm-line); }
.sm-rows li:first-child { border-top: 0; }
.sm-rows a.sm-row-link { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; color: var(--sm-ink); }
.sm-row-main { flex: 1; min-width: 0; }
.sm-row-main b { display: block; font-size: .9rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-row-main small { font-size: .8rem; color: var(--sm-ink-3); }
.sm-row-end { text-align: right; font-variant-numeric: tabular-nums; font-size: .9rem; font-weight: 600; white-space: nowrap; }
.sm-row-end small { display: block; font-size: .78rem; font-weight: 500; color: var(--sm-ink-3); }
.sm-date-chip { width: 44px; flex-shrink: 0; text-align: center; border-radius: var(--sm-r); background: var(--sm-surface-2); border: 1px solid var(--sm-line); padding: 4px 0; line-height: 1.1; }
.sm-date-chip b { display: block; font-size: 1rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.sm-date-chip small { font-size: .68rem; color: var(--sm-ink-3); font-weight: 600; }
.sm-date-chip.is-urgent { background: var(--sm-danger-soft); border-color: transparent; color: var(--sm-danger-ink); }
.sm-date-chip.is-urgent small { color: var(--sm-danger-ink); }

.sm-empty { padding: 36px 20px; text-align: center; color: var(--sm-ink-3); font-size: .9rem; }
.sm-empty i { font-size: 1.4rem; margin-bottom: 10px; display: block; color: var(--sm-line-2); }

/* Grafik kutusu */
.sm-chart { position: relative; height: 280px; }
.sm-legend { display: flex; gap: 16px; font-size: .82rem; color: var(--sm-ink-2); }
.sm-legend span { display: inline-flex; align-items: center; gap: 6px; }
.sm-legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }

/* Kasa kartları */
.sm-cash-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; margin-bottom: 22px; }
.sm-cash { display: flex; flex-direction: column; background: var(--sm-surface); border: 1px solid var(--sm-line); border-radius: var(--sm-r-lg); box-shadow: var(--sm-shadow-1); color: var(--sm-ink); transition: border-color .15s var(--sm-ease), box-shadow .2s var(--sm-ease); }
.sm-cash:hover { border-color: var(--sm-line-2); box-shadow: var(--sm-shadow-2); color: var(--sm-ink); }
.sm-cash-top { display: flex; align-items: center; gap: 12px; padding: 16px 18px 12px; }
.sm-cash-top .sm-quick-ico { background: var(--sm-brand-soft); color: var(--sm-brand-ink); }
.sm-cash-top b { font-size: 1rem; font-weight: 650; }
.sm-cash-top small { display: block; color: var(--sm-ink-3); font-size: .8rem; }
.sm-cash-net { padding: 0 18px 14px; }
.sm-cash-net span { font-size: .8rem; color: var(--sm-ink-3); font-weight: 550; }
.sm-cash-net strong { display: block; font-size: 1.5rem; font-weight: 700; letter-spacing: -0.025em; font-variant-numeric: tabular-nums; }
.sm-cash-split { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--sm-line); }
.sm-cash-split div { padding: 10px 18px; font-size: .8rem; color: var(--sm-ink-3); }
.sm-cash-split div + div { border-left: 1px solid var(--sm-line); }
.sm-cash-split b { display: block; font-size: .93rem; font-variant-numeric: tabular-nums; }
.sm-cash-split .in b { color: var(--sm-success-ink); }
.sm-cash-split .out b { color: var(--sm-danger-ink); }
.sm-cash-foot { display: flex; align-items: center; justify-content: space-between; padding: 10px 18px; border-top: 1px solid var(--sm-line); font-size: .85rem; font-weight: 550; color: var(--sm-brand-ink); }

.sm-table-num td:not(:first-child), .sm-table-num th:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
.is-pos { color: var(--sm-success-ink) !important; }
.is-neg { color: var(--sm-danger-ink) !important; }

/* ---------- 16. Giriş ekranı ---------- */
.sm-login { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); background: var(--sm-surface); }
.sm-login-art {
  position: relative; overflow: hidden;
  background: var(--sm-side-bg); color: var(--sm-side-ink);
  padding: 48px 56px; display: flex; flex-direction: column; justify-content: space-between;
}
.sm-login-art::before {
  content: ""; position: absolute; width: 760px; height: 760px; right: -300px; bottom: -340px;
  border-radius: 50%;
  background: radial-gradient(closest-side, oklch(0.62 0.16 48 / 0.42), oklch(0.62 0.16 48 / 0) 70%);
  pointer-events: none;
}
.sm-login-art::after {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(oklch(1 0 0 / 0.035) 1px, transparent 1px), linear-gradient(90deg, oklch(1 0 0 / 0.035) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(180deg, #000 10%, transparent 85%);
  pointer-events: none;
}
.sm-login-art > * { position: relative; z-index: 1; }
.sm-login-brand { display: flex; align-items: center; gap: 14px; }
.sm-login-brand img { width: 52px; height: 52px; object-fit: contain; }
.sm-login-brand b { display: block; color: #fff; font-size: 1.1rem; font-weight: 700; letter-spacing: -0.01em; }
.sm-login-brand span { font-size: .85rem; color: var(--sm-side-ink-2); }
.sm-login-pitch h2 { color: #fff; font-size: 2.1rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1.15; max-width: 16ch; margin-bottom: 14px; }
.sm-login-pitch p { color: var(--sm-side-ink); max-width: 44ch; font-size: 1rem; margin: 0; }
.sm-login-feats { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 10px; }
.sm-login-feats li { display: flex; align-items: center; gap: 12px; font-size: .93rem; color: var(--sm-side-ink); }
.sm-login-feats i { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: oklch(1 0 0 / 0.06); color: var(--sm-side-accent); font-size: .8rem; }
.sm-login-copy { font-size: .8rem; color: var(--sm-side-ink-2); }

.sm-login-form { display: flex; align-items: center; justify-content: center; padding: 48px 24px; background: var(--sm-bg); }
.sm-login-box { width: 100%; max-width: 380px; }
.sm-login-box h1 { font-size: 1.65rem; font-weight: 700; letter-spacing: -0.025em; margin-bottom: 6px; }
.sm-login-box > p { color: var(--sm-ink-3); margin-bottom: 28px; }
.sm-field { margin-bottom: 16px; }
.sm-field label { display: block; }
.sm-field-wrap { position: relative; }
.sm-field-wrap > i { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: var(--sm-ink-3); font-size: .85rem; pointer-events: none; }
.sm-field-wrap .form-control { height: 46px; padding-left: 38px; font-size: .95rem; }
.sm-pass-toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border: 0; background: none; color: var(--sm-ink-3); border-radius: var(--sm-r-sm); cursor: pointer; }
.sm-pass-toggle:hover { background: var(--sm-surface-3); color: var(--sm-ink); }
.sm-login-box .btn-primary { height: 46px; font-size: .97rem; margin-top: 8px; }
.sm-login-meta { display: flex; justify-content: space-between; align-items: center; margin: 4px 0 8px; font-size: .86rem; }
.sm-login-meta label { font-weight: 500; color: var(--sm-ink-2); margin: 0; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.sm-login-mobile-brand { display: none; }
@media (max-width: 991.98px) {
  .sm-login { grid-template-columns: 1fr; }
  .sm-login-art { display: none; }
  .sm-login-mobile-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 32px; }
  .sm-login-mobile-brand img { width: 44px; height: 44px; }
  .sm-login-mobile-brand b { font-size: 1.02rem; }
}

/* ---------- 17. Koyu tema — Bootstrap ince ayarları ---------- */
html[data-theme="dark"] .table { color: var(--sm-ink); }
html[data-theme="dark"] .text-dark { color: var(--sm-ink) !important; }
html[data-theme="dark"] .bg-white { background: var(--sm-surface) !important; }
html[data-theme="dark"] .close { color: var(--sm-ink); }
html[data-theme="dark"] .custom-select { background-color: var(--sm-surface); }
html[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(.85); }

/* ---------- 18. Hareket azaltma ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .modal.fade .modal-dialog { transform: none; }
}

/* ---------- 19. Yazdırma ---------- */
@media print {
  .sm-sidebar, .sm-topbar, .main-footer, .dt-buttons, .dataTables_filter, .dataTables_length, .dataTables_paginate { display: none !important; }
  .content-wrapper { margin: 0 !important; }
  .card { box-shadow: none; border-color: #ddd; }
}

/* ---------- 20. Eski sayfa işaretlemeleri için uyarlamalar ---------- */
/* Satır içi bgcolor ile boyanmış hücreler (kasa türü) */
td[bgcolor="red"]   { background: var(--sm-danger-soft) !important;  color: var(--sm-danger-ink) !important;  font-weight: 600; }
td[bgcolor="green"] { background: var(--sm-success-soft) !important; color: var(--sm-success-ink) !important; font-weight: 600; }
/* Bootstrap 5 tarzı "badge bg-*" kullanımları */
.badge.bg-warning   { background: var(--sm-warning-soft) !important; color: var(--sm-warning-ink); }
.badge.bg-secondary { background: var(--sm-surface-3) !important;    color: var(--sm-ink-2); }
.badge.bg-primary   { background: var(--sm-info-soft) !important;    color: var(--sm-info-ink); }
.badge.bg-success   { background: var(--sm-success-soft) !important; color: var(--sm-success-ink); }
.badge.bg-danger    { background: var(--sm-danger-soft) !important;  color: var(--sm-danger-ink); }
.badge.bg-dark      { background: var(--sm-ink) !important;          color: var(--sm-surface); }
.badge.bg-info      { background: var(--sm-info-soft) !important;    color: var(--sm-info-ink); }
.badge.bg-light     { background: var(--sm-surface-3) !important;    color: var(--sm-ink-2); }
/* İşlem sütunu ikonları tek satırda kalsın */
.table tbody td:last-child { white-space: nowrap; }
.table td a + a > ion-icon, .table td a > ion-icon { margin: 0 2px; }

/* ---------- 21. Belge formları (teklif / satış / alış faturası) ---------- */
.sm-doc-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
.sm-doc-layout > * { min-width: 0; }
.sm-doc-side { position: sticky; top: calc(var(--sm-top-h) + 16px); }
@media (max-width: 1199.98px) { .sm-doc-layout { grid-template-columns: minmax(0, 1fr); } .sm-doc-side { position: static; } }

.sm-doc-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sm-doc-fields .form-group { margin: 0; min-width: 0; }
.sm-doc-fields .span-2 { grid-column: span 2; }
.sm-doc-fields .span-3 { grid-column: 1 / -1; }
@media (max-width: 767.98px) { .sm-doc-fields { grid-template-columns: minmax(0, 1fr); } .sm-doc-fields .span-2 { grid-column: auto; } }
.sm-doc-fields .form-text { margin-top: 6px; }
.sm-doc-tpl { display: flex; gap: 8px; }
.sm-doc-tpl > :first-child { flex: 1; min-width: 0; }

.sm-doc-items th { white-space: nowrap; position: relative; }
.sm-doc-items td { vertical-align: top !important; }
.sm-doc-items .col-product { min-width: 280px; }
.sm-doc-items .col-qty { width: 110px; }
.sm-doc-items .col-unit { width: 120px; }
.sm-doc-items .col-price { width: 140px; }
.sm-doc-items .col-total { width: 150px; }
.sm-doc-items .col-remove { width: 48px; text-align: center; }
.sm-doc-items .total[readonly] { background: var(--sm-surface-2); font-weight: 600; color: var(--sm-ink); }
.sm-doc-items .product-name { background: transparent; }
.sm-doc-items .row-remove:hover { color: var(--sm-danger-ink); background: var(--sm-danger-soft); }
.sm-doc-items tbody tr:only-child .row-remove { visibility: hidden; }
@media (max-width: 767.98px) {
  .sm-doc-items thead { display: none; }
  .sm-doc-items, .sm-doc-items tbody { display: block; }
  .sm-doc-items tr.item-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; padding: 14px 16px; border-top: 1px solid var(--sm-line); position: relative; }
  .sm-doc-items tr.item-row:first-child { border-top: 0; }
  .sm-doc-items tr.item-row > td { display: block; width: auto !important; min-width: 0 !important; padding: 0; border: 0; }
  .sm-doc-items .col-product { grid-column: 1 / -1; padding-right: 44px !important; }
  .sm-doc-items .col-remove { position: absolute; top: 12px; right: 10px; }
  .sm-doc-items td[data-label]::before { content: attr(data-label); display: block; font-size: .78rem; font-weight: 550; color: var(--sm-ink-3); margin-bottom: 4px; }
  .sm-doc-layout .table-responsive { overflow: visible; }
}
.sm-doc-add { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 20px; border-top: 1px solid var(--sm-line); }
.sm-doc-add small { color: var(--sm-ink-3); }
.sm-doc-add .btn { white-space: nowrap; flex-shrink: 0; }

.sm-doc-sum { padding: 6px 20px 4px; }
.sm-doc-sum-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; }
.sm-doc-sum-row + .sm-doc-sum-row { border-top: 1px solid var(--sm-line); }
.sm-doc-sum-row label { margin: 0; font-weight: 550; color: var(--sm-ink-2); }
.sm-doc-sum-row .form-control { width: 150px; text-align: right; font-variant-numeric: tabular-nums; }
.sm-doc-sum-row .form-control[readonly], .sm-doc-sum-row .form-control:disabled { background: transparent; border-color: transparent; font-weight: 600; padding-right: 0; box-shadow: none; }
.sm-doc-sum-row.is-total label { color: var(--sm-ink); font-weight: 650; }
.sm-doc-sum-row.is-total .form-control { font-size: 1.15rem; font-weight: 700; }
.sm-doc-sum-row.is-muted label, .sm-doc-sum-row.is-muted .form-control { color: var(--sm-ink-3); font-weight: 500; }
.sm-doc-actions { display: flex; flex-direction: column; gap: 8px; padding: 16px 20px 20px; border-top: 1px solid var(--sm-line); }
.sm-doc-meta { padding: 12px 20px; border-top: 1px solid var(--sm-line); font-size: .82rem; color: var(--sm-ink-3); }
.note-editor.note-frame { border-color: var(--sm-line-2) !important; border-radius: var(--sm-r); overflow: hidden; }
.note-toolbar { background: var(--sm-surface-2) !important; border-bottom: 1px solid var(--sm-line) !important; }
.note-editor .note-editing-area .note-editable { background: var(--sm-surface); color: var(--sm-ink); }

/* Select2 varsayılan tema (tek seçim) — tema diliyle uyum */
.select2-container { font-size: .92rem; }
.select2-container--default .select2-selection--single { display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--sm-ink-3); }
.select2-container--default .select2-selection--single .select2-selection__arrow { right: 6px; }
.select2-results__option { padding: 7px 10px; font-size: .9rem; }
.select2-container--default .select2-results__option[aria-selected=true] { background: var(--sm-surface-2); color: var(--sm-ink); }
.select2-container--default .select2-search--dropdown .select2-search__field { height: 34px; padding: 0 10px; }
.select2-container--open .select2-dropdown { z-index: var(--z-modal); }

/* ---------- 22. Liste sayfaları: sekmeler, filtre, özet ---------- */
.sm-tabs { display: flex; gap: 4px; margin-bottom: 14px; overflow-x: auto; scrollbar-width: none; }
.sm-tabs::-webkit-scrollbar { display: none; }
.sm-tabs a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 99px; color: var(--sm-ink-2); font-size: .9rem; font-weight: 550; white-space: nowrap; border: 1px solid transparent; transition: background-color .15s var(--sm-ease), color .15s var(--sm-ease); }
.sm-tabs a:hover { background: var(--sm-surface-3); color: var(--sm-ink); }
.sm-tabs a.is-active { background: var(--sm-surface); border-color: var(--sm-line); color: var(--sm-ink); box-shadow: var(--sm-shadow-1); }
.sm-tabs a span { font-size: .78rem; font-weight: 600; color: var(--sm-ink-3); font-variant-numeric: tabular-nums; }
.sm-tab-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.sm-tab-dot.is-yeni { background: var(--sm-warning); }
.sm-tab-dot.is-onay { background: var(--sm-success); }
.sm-tab-dot.is-fatura { background: var(--sm-info); }

.sm-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--sm-line); }
.sm-filter .form-control, .sm-filter .custom-select { height: 38px; }
.sm-filter-search { position: relative; flex: 1 1 260px; min-width: 200px; }
.sm-filter-search i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--sm-ink-3); font-size: .85rem; }
.sm-filter-search .form-control { padding-left: 34px; }
.sm-filter-dates { display: flex; align-items: center; gap: 6px; }
.sm-filter-dates .form-control { width: 150px; }
.sm-filter-dates span { color: var(--sm-ink-3); }
.sm-filter-sort { width: auto; min-width: 170px; }
.sm-check { display: inline-flex; align-items: center; gap: 8px; margin: 0 !important; font-weight: 500; color: var(--sm-ink-2); white-space: nowrap; cursor: pointer; }
@media (max-width: 767.98px) { .sm-filter-dates { flex: 1 1 100%; } .sm-filter-dates .form-control { flex: 1; width: auto; } .sm-filter-sort { flex: 1; } }

.sm-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--sm-line); }
.sm-chip { display: inline-flex; align-items: center; gap: 8px; padding: 4px 10px; border-radius: 99px; background: var(--sm-brand-soft); color: var(--sm-brand-ink); font-size: .82rem; font-weight: 550; }
.sm-chip:hover { color: var(--sm-brand-ink); filter: brightness(.97); }
.sm-chip i { font-size: .72rem; opacity: .7; }

.sm-sumbar { display: flex; flex-wrap: wrap; gap: 8px 32px; padding: 12px 16px; background: var(--sm-surface-2); border-bottom: 1px solid var(--sm-line); }
.sm-sumbar div { display: flex; align-items: baseline; gap: 8px; }
.sm-sumbar span { font-size: .8rem; color: var(--sm-ink-3); font-weight: 550; }
.sm-sumbar b { font-size: 1rem; font-variant-numeric: tabular-nums; }

.sm-offer-table tbody tr { cursor: pointer; }
.sm-offer-table tbody tr.is-selected { background: var(--sm-brand-soft) !important; }
.sm-offer-no { font-weight: 650 !important; }
.sm-cust-link { color: var(--sm-ink) !important; font-weight: 550 !important; }
.sm-cust-link:hover { color: var(--sm-brand-ink) !important; text-decoration: underline; text-underline-offset: 3px; }
.sm-col-cust { min-width: 200px; max-width: 320px; }
.sm-ellipsis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 300px; }
.sm-num { font-variant-numeric: tabular-nums; font-weight: 550; }
.sm-col-pay { min-width: 170px; }
.sm-pay-bar { height: 6px; border-radius: 99px; background: var(--sm-surface-3); overflow: hidden; }
.sm-pay-bar i { display: block; height: 100%; border-radius: 99px; background: var(--sm-success); }
.sm-pay-txt { margin-top: 5px; font-size: .8rem; color: var(--sm-ink-3); font-variant-numeric: tabular-nums; }
.sm-pay-txt b { color: var(--sm-ink); font-weight: 600; }
.sm-list-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--sm-line); font-size: .84rem; color: var(--sm-ink-3); }

/* İşlem menüsü (fixed: tablo taşmasında kırpılmaz) */
.sm-menu { position: fixed; z-index: var(--z-dropdown); min-width: 210px; padding: 6px; background: var(--sm-surface); border: 1px solid var(--sm-line); border-radius: var(--sm-r); box-shadow: var(--sm-shadow-2); animation: sm-pop .14s var(--sm-ease); }
.sm-menu[hidden] { display: none; }
.sm-menu button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 10px; border: 0; background: none; border-radius: var(--sm-r-sm); color: var(--sm-ink); font-size: .88rem; text-align: left; cursor: pointer; }
.sm-menu button i { color: var(--sm-ink-3); }
.sm-menu button:hover, .sm-menu button:focus { background: var(--sm-surface-2); outline: none; }
.sm-menu button.is-danger, .sm-menu button.is-danger i { color: var(--sm-danger-ink); }
.sm-menu button.is-danger:hover { background: var(--sm-danger-soft); }
.sm-menu-sep { height: 1px; background: var(--sm-line); margin: 6px 4px; }

/* Segment seçici */
.sm-seg { display: inline-flex; padding: 3px; gap: 3px; border-radius: var(--sm-r); background: var(--sm-surface-3); }
.sm-seg button { border: 0; background: none; padding: 6px 14px; border-radius: 7px; font-size: .86rem; font-weight: 550; color: var(--sm-ink-2); cursor: pointer; transition: background-color .15s var(--sm-ease), color .15s var(--sm-ease); }
.sm-seg button.is-active { background: var(--sm-surface); color: var(--sm-ink); box-shadow: var(--sm-shadow-1); }
.sm-pay-after { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 14px; border-radius: var(--sm-r); background: var(--sm-surface-2); }
.sm-pay-after span { font-size: .85rem; color: var(--sm-ink-3); font-weight: 550; }
.sm-pay-after b { font-size: 1.1rem; font-variant-numeric: tabular-nums; }

/* Dosyalar */
.sm-file { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--sm-line); font-size: .88rem; }
.sm-file:first-child { border-top: 0; }
.sm-file > i { color: var(--sm-ink-3); width: 18px; text-align: center; }
.sm-file > a:not(.sm-file-del) { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sm-file small { color: var(--sm-ink-3); }
.sm-file-del { color: var(--sm-ink-3); padding: 4px 6px; border-radius: 6px; }
.sm-file-del:hover { color: var(--sm-danger-ink); background: var(--sm-danger-soft); }
.sm-drop { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 22px; border: 1.5px dashed var(--sm-line-2); border-radius: var(--sm-r); color: var(--sm-ink-2); cursor: pointer; text-align: center; margin: 0; font-weight: 400 !important; transition: border-color .15s var(--sm-ease), background-color .15s var(--sm-ease); }
.sm-drop:hover { border-color: var(--sm-brand); background: var(--sm-brand-soft); }
.sm-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.sm-drop i { font-size: 1.4rem; color: var(--sm-ink-3); }
.sm-drop small { color: var(--sm-ink-3); }

/* ---------- 23. Detay paneli (sağdan açılır) ---------- */
.sm-drawer-scrim { position: fixed; inset: 0; z-index: calc(var(--z-backdrop) - 1); background: oklch(0.16 0.01 60 / 0.35); animation: sm-fade .2s var(--sm-ease); }
.sm-drawer-scrim[hidden] { display: none; }
.sm-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: var(--z-backdrop); width: min(480px, 100vw); display: flex; flex-direction: column; background: var(--sm-surface); border-left: 1px solid var(--sm-line); box-shadow: var(--sm-shadow-3); transform: translateX(104%); visibility: hidden; transition: transform .28s var(--sm-ease), visibility 0s linear .28s; outline: none; }
.sm-drawer.is-open { transform: none; visibility: visible; transition: transform .28s var(--sm-ease), visibility 0s; }
.sm-drawer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 20px 14px; border-bottom: 1px solid var(--sm-line); }
.sm-drawer-head h2 { font-size: 1.15rem; margin: 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sm-drawer-head p { margin: 4px 0 0; font-size: .84rem; color: var(--sm-ink-3); }
.sm-drawer-body { flex: 1; overflow-y: auto; padding: 18px 20px 24px; overscroll-behavior: contain; }
.sm-drawer-foot { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 20px; border-top: 1px solid var(--sm-line); background: var(--sm-surface-2); }
.sm-drawer-foot:empty { display: none; }
body.sm-drawer-open { overflow: hidden; }

.sm-dcust { display: flex; gap: 12px; align-items: flex-start; }
.sm-dcust .sm-avatar { width: 40px; height: 40px; font-size: .95rem; background: var(--sm-surface-3); color: var(--sm-ink-2); }
.sm-dcust b { display: block; font-size: 1rem; }
.sm-dcust a, .sm-dcust small { display: block; font-size: .85rem; }
.sm-dcust small { color: var(--sm-ink-3); margin-top: 2px; }
.sm-dnote { margin: 12px 0 0; padding: 10px 12px; border-radius: var(--sm-r); background: var(--sm-warning-soft); color: var(--sm-warning-ink); font-size: .86rem; }
.sm-dmoney { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px 12px; margin: 16px 0 6px; padding: 14px; border: 1px solid var(--sm-line); border-radius: var(--sm-r); }
.sm-dmoney span { display: block; font-size: .76rem; color: var(--sm-ink-3); font-weight: 550; }
.sm-dmoney b { font-size: .98rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sm-dmoney .sm-pay-bar { grid-column: 1 / -1; margin-top: 8px; }
.sm-dsec { margin-top: 20px; }
.sm-dsec h3 { display: flex; align-items: center; gap: 8px; font-size: .9rem; font-weight: 650; margin: 0 0 8px; }
.sm-dsec h3 small { font-size: .78rem; color: var(--sm-ink-3); font-weight: 600; }
.sm-dempty { margin: 0; font-size: .86rem; color: var(--sm-ink-3); }
.sm-dtable { width: 100%; font-size: .87rem; border-collapse: collapse; border: 0; }
.sm-dtable td, .sm-dtable th { padding: 8px 0; border: 0; border-top: 1px solid var(--sm-line); vertical-align: top; }
.sm-dtable tbody tr:first-child td { border-top: 0; }
.sm-dtable td small { display: block; color: var(--sm-ink-3); font-size: .78rem; margin-top: 2px; font-variant-numeric: tabular-nums; }
.sm-dtable td.text-right, .sm-dtable th.text-right { padding-left: 12px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sm-dtable tfoot td { color: var(--sm-ink-3); padding: 4px 0; border-top: 0; }
.sm-dtable tfoot tr:first-child td { border-top: 1px solid var(--sm-line); padding-top: 8px; }
.sm-dtable tfoot th { border-top: 1px solid var(--sm-line-2); font-size: .95rem; }
.sm-dlist { list-style: none; margin: 0; padding: 0; }
.sm-dlist li { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-top: 1px solid var(--sm-line); font-size: .87rem; }
.sm-dlist li:first-child { border-top: 0; }
.sm-dlist li > div { flex: 1; min-width: 0; }
.sm-dlist li b { display: block; font-weight: 600; }
.sm-dlist li small { color: var(--sm-ink-3); font-size: .78rem; }
.sm-dlist li > span:last-child { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sm-dlist-ico { width: 36px; text-align: center; color: var(--sm-ink-3); }
.sm-dlist .sm-date-chip { width: 40px; }
.sm-dnotehtml { font-size: .87rem; color: var(--sm-ink-2); padding: 10px 12px; border-radius: var(--sm-r); background: var(--sm-surface-2); max-height: 260px; overflow: auto; }
.sm-dnotehtml p { margin: 0 0 4px; }
.sm-skel i { display: block; height: 14px; border-radius: 6px; margin-bottom: 12px; background: linear-gradient(90deg, var(--sm-surface-2), var(--sm-surface-3), var(--sm-surface-2)); background-size: 200% 100%; animation: sm-shimmer 1.2s linear infinite; }
.sm-skel i:nth-child(1) { width: 60%; height: 18px; }
.sm-skel i:nth-child(2) { width: 40%; }
.sm-skel i:nth-child(3) { height: 64px; }
.sm-skel i:nth-child(4) { width: 80%; }
@keyframes sm-shimmer { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .sm-drawer { transition: none; } .sm-skel i { animation: none; } }

/* ---------- 24. Cari seçici ---------- */
/* Asıl select görünmez ama doğrulanabilir kalır (display:none kullanılmaz) */
select.sm-cari-native { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; margin: 0; padding: 0; border: 0; }
.sm-cari-field { position: relative; display: flex; align-items: center; gap: 8px; width: 100%; height: auto !important; min-height: calc(2.35rem + 2px); padding: .4rem .75rem; text-align: left; cursor: pointer; background: var(--sm-surface); }
.sm-cari-field:hover:not(:disabled) { border-color: var(--sm-ink-3); }
.sm-cari-field:disabled { cursor: not-allowed; background: var(--sm-surface-2); color: var(--sm-ink-3); }
.sm-cari-field.is-invalid { border-color: var(--sm-danger); box-shadow: 0 0 0 3px oklch(0.55 0.19 27 / 0.2); }
.sm-cari-text { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.sm-cari-label { font-weight: 550; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--sm-ink); }
.sm-cari-field.is-empty .sm-cari-label { font-weight: 400; color: var(--sm-ink-3); }
.sm-cari-meta { font-size: .78rem; color: var(--sm-ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-cari-ico { color: var(--sm-ink-3); font-size: .8rem; flex-shrink: 0; }
.sm-cari-clear { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; color: var(--sm-ink-3); flex-shrink: 0; }
.sm-cari-clear[hidden] { display: none; }
.sm-cari-clear:hover { background: var(--sm-surface-3); color: var(--sm-ink); }

.sm-picker { position: fixed; inset: 0; z-index: 1075; display: flex; align-items: flex-start; justify-content: center; padding: min(12vh, 110px) 16px 16px; background: oklch(0.16 0.01 60 / 0.45); animation: sm-fade .16s var(--sm-ease); }
.sm-picker[hidden] { display: none; }
body.sm-picker-open { overflow: hidden; }
.sm-picker-box { width: min(620px, 100%); max-height: calc(100vh - min(12vh, 110px) - 32px); display: flex; flex-direction: column; background: var(--sm-surface); border: 1px solid var(--sm-line); border-radius: var(--sm-r-lg); box-shadow: var(--sm-shadow-3); overflow: hidden; animation: sm-picker-in .2s var(--sm-ease); }
@keyframes sm-picker-in { from { opacity: 0; transform: translateY(-8px) scale(.985); } }
.sm-picker-head { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 16px; border-bottom: 1px solid var(--sm-line); }
.sm-picker-head > i { color: var(--sm-ink-3); }
.sm-picker-q { flex: 1; min-width: 0; height: 44px; border: 0; background: transparent; color: var(--sm-ink); font-size: 1rem; outline: none; }
.sm-picker-q::placeholder { color: var(--sm-ink-3); }
.sm-picker-q::-webkit-search-cancel-button { display: none; }
.sm-picker-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.sm-picker-caption { padding: 10px 16px 4px; font-size: .76rem; font-weight: 600; color: var(--sm-ink-3); }
.sm-picker-caption:empty { display: none; }
.sm-picker-list { padding: 4px 8px 8px; }
.sm-picker-item { display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: var(--sm-r); cursor: pointer; }
.sm-picker-item.is-active { background: var(--sm-surface-2); }
.sm-picker-item .sm-avatar { width: 34px; height: 34px; font-size: .82rem; background: var(--sm-surface-3); color: var(--sm-ink-2); }
.sm-picker-item.is-active .sm-avatar { background: var(--sm-brand); color: #fff; }
.sm-picker-main { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.sm-picker-main b { font-weight: 600; font-size: .92rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-picker-main b .badge { font-style: normal; font-size: .66rem; vertical-align: 1px; }
.sm-picker-main small { font-size: .8rem; color: var(--sm-ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-picker-item mark { padding: 0; background: var(--sm-warning-soft); color: inherit; border-radius: 2px; }
.sm-picker-bal { color: var(--sm-ink-3); font-size: .78rem; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sm-picker-bal.is-due { color: var(--sm-danger-ink); }
.sm-picker-bal.is-credit { color: var(--sm-success-ink); }
.sm-picker-check { color: var(--sm-brand); }
.sm-picker-empty { padding: 32px 16px; text-align: center; color: var(--sm-ink-3); font-size: .9rem; display: flex; flex-direction: column; align-items: center; }
.sm-picker-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px 10px 16px; border-top: 1px solid var(--sm-line); background: var(--sm-surface-2); }
.sm-picker-foot .btn[hidden], .sm-picker-keys[hidden] { display: none; }
.sm-picker-keys { font-size: .76rem; color: var(--sm-ink-3); }
.sm-picker-keys kbd { padding: 1px 5px; border-radius: 4px; border: 1px solid var(--sm-line-2); background: var(--sm-surface); color: var(--sm-ink-2); font: 600 .7rem/1.4 var(--sm-font); box-shadow: none; }
@media (max-width: 575.98px) { .sm-picker { padding: 0; align-items: stretch; } .sm-picker-box { max-height: 100vh; border-radius: 0; } .sm-picker-keys { display: none; } }

.sm-picker-new { padding: 12px 16px 16px; }
.sm-picker-new[hidden] { display: none; }
.sm-picker-newhead { display: flex; align-items: center; gap: 8px; margin: 0 0 12px -8px; }
.sm-picker-newhead b { font-size: 1rem; }
.sm-picker-new .form-group { margin-bottom: 12px; }
.sm-picker-newfoot { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; }
.sm-picker-err { margin-bottom: 12px; padding: 10px 12px; border-radius: var(--sm-r); background: var(--sm-warning-soft); color: var(--sm-warning-ink); font-size: .87rem; }
.sm-picker-err[hidden] { display: none; }
.sm-picker-dup { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; color: var(--sm-ink); }
.sm-picker-dup span { display: flex; gap: 6px; }
@media (prefers-reduced-motion: reduce) { .sm-picker, .sm-picker-box { animation: none; } }

/* Kaydırma kutusu, içindeki mutlak konumlu öğelerin (ör. sr-only) sayfayı taşırmasını engeller */
.table-responsive { position: relative; }
@media (max-width: 479.98px) { .sm-dmoney { padding: 12px; gap: 4px 8px; } .sm-dmoney b { font-size: .86rem; } .sm-drawer-head, .sm-drawer-body, .sm-drawer-foot { padding-left: 16px; padding-right: 16px; } }
@media (max-width: 575.98px) { .small-box > .inner { padding: 14px 14px 12px; padding-right: 52px; } .small-box h3, .small-box h4 { font-size: 1.02rem; word-break: normal; overflow-wrap: anywhere; } .small-box .icon { top: 14px; right: 12px; width: 32px; height: 32px; } }

/* ---------- 25. Seçim kartları (onay kutusu / radyo) — iş takip ---------- */
.sm-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.sm-choice { position: relative; display: flex; align-items: center; gap: 12px; margin: 0 !important; padding: 12px 14px; border: 1px solid var(--sm-line-2); border-radius: var(--sm-r); background: var(--sm-surface); cursor: pointer; font-weight: 500 !important; color: var(--sm-ink) !important; transition: border-color .15s var(--sm-ease), background-color .15s var(--sm-ease), box-shadow .15s var(--sm-ease); }
.sm-choice:hover { border-color: var(--sm-ink-3); }
.sm-choice input { position: absolute; opacity: 0; pointer-events: none; }
.sm-choice-box { width: 20px; height: 20px; flex-shrink: 0; display: grid; place-items: center; border: 1.5px solid var(--sm-line-2); border-radius: 6px; background: var(--sm-surface); color: #fff; font-size: .7rem; transition: background-color .15s var(--sm-ease), border-color .15s var(--sm-ease); }
.sm-choice input[type=radio] + .sm-choice-box { border-radius: 50%; }
.sm-choice-box i { opacity: 0; transform: scale(.6); transition: opacity .12s var(--sm-ease), transform .15s var(--sm-ease); }
.sm-choice input:checked + .sm-choice-box { background: var(--sm-brand); border-color: var(--sm-brand); }
.sm-choice input:checked + .sm-choice-box i { opacity: 1; transform: none; }
.sm-choice input:focus-visible + .sm-choice-box { box-shadow: 0 0 0 3px var(--sm-ring); }
.sm-choice:has(input:checked) { border-color: var(--sm-brand); background: var(--sm-brand-soft); }
.sm-choice-main { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.sm-choice-main b { font-weight: 600; font-size: .92rem; }
.sm-choice-main small { color: var(--sm-ink-3); font-size: .8rem; }
.sm-choice-side { font-size: .85rem; font-weight: 600; color: var(--sm-ink-2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.sm-choice .sm-avatar { width: 32px; height: 32px; font-size: .8rem; background: var(--sm-surface-3); color: var(--sm-ink-2); }
.sm-choice:has(input:checked) .sm-avatar { background: var(--sm-brand); color: #fff; }
.sm-choices.is-list { grid-template-columns: 1fr; }
.sm-choices-empty { padding: 18px; border: 1px dashed var(--sm-line-2); border-radius: var(--sm-r); color: var(--sm-ink-3); font-size: .9rem; text-align: center; }
.sm-choices-empty a { font-weight: 600; }

.sm-step { display: flex; align-items: center; gap: 10px; }
.sm-step-no { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--sm-surface-3); color: var(--sm-ink-2); font-size: .78rem; font-weight: 700; flex-shrink: 0; }
.card.is-done .sm-step-no { background: var(--sm-success); color: #fff; }
.card.is-locked { opacity: .55; pointer-events: none; }

.sm-prim-box { padding: 14px 20px 16px; }
.sm-prim-total { display: flex; justify-content: space-between; align-items: baseline; }
.sm-prim-total span { font-weight: 550; color: var(--sm-ink-2); }
.sm-prim-total b { font-size: 1.35rem; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.sm-prim-list { list-style: none; margin: 10px 0 0; padding: 10px 0 0; border-top: 1px solid var(--sm-line); font-size: .87rem; }
.sm-prim-list li { display: flex; justify-content: space-between; gap: 8px; padding: 3px 0; color: var(--sm-ink-2); }
.sm-prim-list li b { color: var(--sm-ink); font-variant-numeric: tabular-nums; font-weight: 600; }
.sm-prim-hint { margin: 10px 0 0; font-size: .8rem; color: var(--sm-ink-3); }

.sm-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.sm-tag { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 99px; background: var(--sm-surface-3); color: var(--sm-ink-2); font-size: .76rem; font-weight: 550; white-space: nowrap; }
.sm-people { display: flex; align-items: center; }
.sm-people .sm-avatar { width: 28px; height: 28px; font-size: .7rem; margin-left: -6px; box-shadow: 0 0 0 2px var(--sm-surface); background: var(--sm-surface-3); color: var(--sm-ink-2); }
.sm-people .sm-avatar:first-child { margin-left: 0; }
.sm-people span.sm-people-names { margin-left: 8px; font-size: .84rem; color: var(--sm-ink-2); }

/* Durum seçici (satır içi) */
.sm-status-btn { border: 0; background: none; padding: 0; cursor: pointer; }
.sm-status-btn .badge { cursor: pointer; }
.sm-status-btn .badge::after { content: "\f107"; font-family: "Font Awesome 6 Free"; font-weight: 900; margin-left: 5px; font-size: .62rem; opacity: .7; }

/* Prim raporu: gün × usta tablosu */
.sm-matrix th, .sm-matrix td { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sm-matrix th:first-child, .sm-matrix td:first-child { text-align: left; position: sticky; left: 0; background: var(--sm-surface); z-index: 1; }
.sm-matrix thead th:first-child { background: var(--sm-surface-2); }
.sm-matrix td.sm-cell { cursor: pointer; }
.sm-matrix td.sm-cell:hover { background: var(--sm-brand-soft); }
.sm-matrix td.sm-cell small { display: block; font-size: .72rem; font-weight: 600; }
.sm-matrix td.sm-cell small.is-paid { color: var(--sm-success-ink); }
.sm-matrix td.sm-cell small.is-unpaid { color: var(--sm-warning-ink); }
.sm-matrix td.is-zero { color: var(--sm-line-2); }
.sm-matrix td.sm-daytotal, .sm-matrix th.sm-daytotal { font-weight: 700; background: var(--sm-surface-2); }
.sm-matrix tfoot td, .sm-matrix tfoot th { font-weight: 700; background: var(--sm-surface-2) !important; border-top: 2px solid var(--sm-line-2); }
.sm-matrix tr.is-weekend td:first-child { color: var(--sm-ink-3); }
.sm-daylabel b { display: block; font-weight: 600; }
.sm-daylabel small { color: var(--sm-ink-3); font-size: .76rem; }

.sm-usta-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin-bottom: 22px; }
.sm-usta-card { display: flex; flex-direction: column; background: var(--sm-surface); border: 1px solid var(--sm-line); border-radius: var(--sm-r-lg); box-shadow: var(--sm-shadow-1); color: var(--sm-ink); transition: border-color .15s var(--sm-ease), box-shadow .2s var(--sm-ease); }
a.sm-usta-card:hover { border-color: var(--sm-line-2); box-shadow: var(--sm-shadow-2); color: var(--sm-ink); }
.sm-usta-card.is-active { border-color: var(--sm-brand); box-shadow: 0 0 0 3px var(--sm-ring); }
.sm-usta-top { display: flex; align-items: center; gap: 12px; padding: 16px 18px 12px; }
.sm-usta-top .sm-avatar { width: 42px; height: 42px; font-size: .95rem; }
.sm-usta-top b { display: block; font-size: 1rem; }
.sm-usta-top small { color: var(--sm-ink-3); font-size: .8rem; }
.sm-usta-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--sm-line); }
.sm-usta-stats div { padding: 10px 14px; font-size: .76rem; color: var(--sm-ink-3); font-weight: 550; }
.sm-usta-stats div + div { border-left: 1px solid var(--sm-line); }
.sm-usta-stats b { display: block; font-size: .95rem; color: var(--sm-ink); font-variant-numeric: tabular-nums; margin-top: 2px; }
.sm-usta-stats b.is-due { color: var(--sm-warning-ink); }
@media print { .no-print, .sm-drawer, .sm-drawer-scrim, .sm-filter, .sm-page-actions { display: none !important; } .sm-matrix td.sm-cell small { display: none; } }

/* Usta bilgi çubuğu, giriş alanı, pasif liste */
.sm-usta-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 12px 18px; margin-bottom: 20px; background: var(--sm-surface); border: 1px solid var(--sm-line); border-radius: var(--sm-r-lg); }
.sm-usta-bar b { font-size: 1.02rem; }
.sm-usta-bar small { display: block; color: var(--sm-ink-3); font-size: .83rem; }
.sm-usta-bar small b { font-size: inherit; color: var(--sm-ink-2); }
.sm-usta-bar .sm-page-actions { align-items: center; gap: 4px; }
.sm-usta-giris { margin-top: 4px; padding: 12px 14px 2px; border: 1px solid var(--sm-line); border-radius: var(--sm-r); background: var(--sm-surface-2); }
.sm-usta-giris legend { width: auto; padding: 0 6px; margin: 0 0 0 -6px; font-size: .86rem; font-weight: 600; color: var(--sm-ink-2); }
details.sm-pasif > summary { list-style: none; cursor: pointer; }
details.sm-pasif > summary::-webkit-details-marker { display: none; }
details.sm-pasif[open] > summary .fa-chevron-down { transform: rotate(180deg); }
details.sm-pasif > summary .fa-chevron-down { transition: transform .2s var(--sm-ease); }

/* ---------- 26. Detay paneli: daha geniş, daha okunaklı ---------- */
.sm-drawer { width: min(640px, 100vw); }
.sm-drawer-head { padding: 20px 24px 16px; }
.sm-drawer-head h2 { font-size: 1.35rem; }
.sm-drawer-head h2 .badge { font-size: .78rem; }
.sm-drawer-head p { font-size: .92rem; }
.sm-drawer-body { padding: 20px 24px 28px; font-size: 1rem; }
.sm-drawer-foot { padding: 16px 24px; }
.sm-drawer-foot .btn { font-size: .95rem; padding: .55rem 1.05rem; }
.sm-dcust .sm-avatar { width: 46px; height: 46px; font-size: 1.05rem; }
.sm-dcust b { font-size: 1.12rem; }
.sm-dcust a, .sm-dcust small { font-size: .95rem; }
.sm-dnote { font-size: .95rem; }
.sm-dmoney { padding: 16px 18px; gap: 6px 16px; }
.sm-dmoney span { font-size: .84rem; }
.sm-dmoney b { font-size: 1.15rem; }
.sm-dsec { margin-top: 24px; }
.sm-dsec h3 { font-size: 1.02rem; margin-bottom: 10px; }
.sm-dsec h3 small { font-size: .85rem; }
.sm-dempty { font-size: .95rem; }
.sm-dtable { font-size: .97rem; }
.sm-dtable td, .sm-dtable th { padding: 10px 0; }
.sm-dtable td small { font-size: .86rem; }
.sm-dtable tfoot th { font-size: 1.05rem; }
.sm-dlist li { font-size: .97rem; padding: 10px 0; }
.sm-dlist li small { font-size: .86rem; }
.sm-dlist .sm-date-chip { width: 44px; }
.sm-dnotehtml { font-size: .95rem; line-height: 1.55; max-height: 320px; }
.sm-file { font-size: .95rem; }
@media (max-width: 479.98px) {
  .sm-drawer-head, .sm-drawer-body, .sm-drawer-foot { padding-left: 16px; padding-right: 16px; }
  .sm-dmoney b { font-size: .98rem; }
}

/* Eski sayfalardaki filtre şeridi: seçim kutuları sıkışmasın */
.content-wrapper > .card-header .input-group { max-width: 1040px; }
.content-wrapper > .card-header .input-group > select.form-control { flex: 0 1 auto; width: auto; min-width: 180px; }
.content-wrapper > .card-header .input-group > input[type="date"].form-control { flex: 0 1 auto; width: 160px; }
@media (max-width: 991.98px) { .content-wrapper > .card-header .input-group { flex-wrap: wrap; row-gap: 6px; } }
.card-header > .form-group { flex: 1 1 100%; margin-bottom: 0; }
.card-header .input-group > select.form-control { flex: 0 1 auto; width: auto; min-width: 180px; }
.card-header .input-group > input[type="date"].form-control { flex: 0 1 auto; width: 160px; float: none !important; }
@media (max-width: 991.98px) { .card-header .input-group { flex-wrap: wrap; row-gap: 6px; } }

/* ---------- Kasa: ödeme şekli özeti ve gün sonu kapanışı ---------- */
.sm-kasa-grid { display: grid; gap: 20px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; margin-bottom: 20px; }
.sm-kasa-grid > .sm-panel { margin-bottom: 0; }
@media (max-width: 1199.98px) { .sm-kasa-grid { grid-template-columns: 1fr; } }
.sm-kasa-odeme-ad { display: inline-flex; align-items: center; gap: 8px; color: var(--sm-ink); font-weight: 550; }
.sm-kasa-odeme-ad i { width: 16px; text-align: center; color: var(--sm-ink-3); font-size: .85rem; }
.sm-kasa-odeme-ad:hover { color: var(--sm-brand-ink); }
.sm-kasa-odeme tr.is-secili td { background: var(--sm-brand-soft); }
.sm-kasa-odeme tfoot th, .sm-kasa-kapat tfoot th { border-top: 1px solid var(--sm-line-2); }
.sm-kasa-kapat input.form-control { width: 130px; margin-left: auto; text-align: right; font-variant-numeric: tabular-nums; }
.sm-kasa-gunler { max-height: 440px; overflow: auto; }
.sm-kasa-gunler thead th { position: sticky; top: 0; background: var(--sm-surface); z-index: 1; }
.sm-kasa-gunler td small { font-size: .74rem; }
@media print { .sm-kasa-gunler { max-height: none; overflow: visible; } }
.sm-cash-methods { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--sm-line); }
.sm-cash-methods div { padding: 9px 18px; font-size: .78rem; color: var(--sm-ink-3); min-width: 0; }
.sm-cash-methods div + div { border-left: 1px solid var(--sm-line); }
.sm-cash-methods b { display: block; font-size: .88rem; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-cash-drawer { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 18px; border-top: 1px solid var(--sm-line); background: var(--sm-surface-2); font-size: .8rem; color: var(--sm-ink-3); }
.sm-cash-drawer b { font-size: .98rem; color: var(--sm-ink); font-variant-numeric: tabular-nums; }
.sm-cash-warn { padding: 8px 18px; border-top: 1px solid var(--sm-line); background: var(--sm-warning-soft); color: var(--sm-warning-ink); font-size: .8rem; font-weight: 550; }
