:root {
  --sidebar-width: 248px;
  --sidebar-bg: #111827;
  --sidebar-bg-soft: #172033;
  --sidebar-text: #d5dbea;
  --sidebar-muted: #7f8aa3;
  --primary: #635bff;
  --primary-dark: #5149e6;
  --surface: #ffffff;
  --surface-soft: #f7f8fb;
  --body-bg: #f3f5f9;
  --text: #1d2433;
  --muted: #748096;
  --line: #e8ebf1;
  --success: #15936f;
  --warning: #c78317;
  --danger: #d04e58;
  --shadow: 0 12px 32px rgba(31, 41, 55, .075);
  --radius: 16px;
}

* {
  box-sizing: border-box
}

html,
body {
  min-height: 100%
}

body {
  margin: 0;
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased
}

a {
  text-decoration: none
}

.app-body {
  background: var(--body-bg)
}

.app-shell {
  min-height: 100vh
}

.app-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--sidebar-width);
  background: var(--sidebar-bg);
  z-index: 1040;
  border-right: 1px solid rgba(255, 255, 255, .045)
}

.sidebar-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  padding: 16px 12px
}

.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 5px 8px 15px;
  color: #fff
}

.brand-mark {
  width: 34px;
  height: 34px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #7c73ff, #4e46db);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: 0 8px 18px rgba(99, 91, 255, .28)
}

.brand-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.15
}

.brand-copy strong {
  font-size: .9rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.brand-copy small {
  margin-top: 3px;
  color: var(--sidebar-muted);
  font-size: .68rem
}

.sidebar-label {
  padding: 7px 10px 6px;
  color: #6f7a91;
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .13em
}

.sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 3px
}

.sidebar-link {
  border: 0;
  width: 100%;
  min-height: 38px;
  padding: 7px 10px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  background: transparent;
  color: var(--sidebar-text);
  font-size: .81rem;
  font-weight: 600;
  text-align: left;
  transition: .18s ease
}

.sidebar-link i {
  width: 18px;
  text-align: center;
  font-size: .92rem;
  color: #8994aa
}

.sidebar-link:hover {
  background: rgba(255, 255, 255, .055);
  color: #fff
}

.sidebar-link.active {
  background: rgba(99, 91, 255, .17);
  color: #fff
}

.sidebar-link.active>i,
.sidebar-link.active .d-flex>i {
  color: #a9a4ff
}

.sidebar-toggle {
  justify-content: space-between
}

.sidebar-toggle .toggle-icon {
  width: auto;
  font-size: .68rem;
  transition: transform .18s ease
}

.sidebar-toggle[aria-expanded="true"] .toggle-icon {
  transform: rotate(180deg)
}

.sidebar-submenu {
  margin: 2px 0 4px 18px;
  padding: 2px 0 2px 13px;
  border-left: 1px solid rgba(255, 255, 255, .09)
}

.sidebar-sublink {
  position: relative;
  display: block;
  padding: 6px 10px;
  border-radius: 8px;
  color: #9ba6bc;
  font-size: .76rem;
  font-weight: 550;
  transition: .18s ease
}

.sidebar-sublink:hover {
  color: #fff;
  background: rgba(255, 255, 255, .04)
}

.sidebar-sublink.active {
  color: #fff;
  background: rgba(99, 91, 255, .13)
}

.sidebar-sublink.active:before {
  content: "";
  position: absolute;
  left: -14px;
  top: 50%;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #8f88ff;
  transform: translateY(-50%);
  box-shadow: 0 0 0 3px rgba(143, 136, 255, .13)
}

.sidebar-spacer {
  flex: 1;
  min-height: 20px
}

.sidebar-user {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding: 10px 8px 2px;
  border-top: 1px solid rgba(255, 255, 255, .07)
}

.user-avatar {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #242f45;
  color: #e9edff;
  font-size: .76rem;
  font-weight: 800
}

.user-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.15
}

.user-copy strong {
  max-width: 120px;
  color: #edf0f7;
  font-size: .76rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.user-copy small {
  margin-top: 3px;
  color: #78849b;
  font-size: .65rem
}

.icon-btn {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #8792a8;
  transition: .18s ease
}

.icon-btn:hover {
  background: rgba(255, 255, 255, .07);
  color: #fff
}

.app-content {
  min-height: 100vh;
  margin-left: var(--sidebar-width)
}

.app-topbar {
  position: sticky;
  top: 0;
  z-index: 1025;
  min-height: 62px;
  padding: 10px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: rgba(255, 255, 255, .91);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(223, 227, 235, .86)
}

.topbar-title {
  font-size: .93rem;
  font-weight: 750;
  color: #263044
}

.topbar-actions {
  display: flex;
  align-items: center;
  gap: 8px
}

.quick-action {
  min-height: 34px;
  padding: 7px 11px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: #4c586e;
  font-size: .75rem;
  font-weight: 700;
  box-shadow: 0 1px 2px rgba(31, 41, 55, .03)
}

.quick-action:hover {
  color: #202a3d;
  border-color: #d9deea
}

.quick-action.primary {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
  box-shadow: 0 6px 14px rgba(99, 91, 255, .2)
}

.quick-action.primary:hover {
  background: var(--primary-dark);
  color: #fff
}

.app-main {
  width: 100%;
  max-width: 1640px;
  margin: 0 auto;
  padding: 22px 24px 42px
}

.page-head {
  padding-top: 2px
}

.page-title,
h1.h3 {
  font-size: 1.45rem !important;
  font-weight: 780;
  letter-spacing: -.025em;
  color: #20293a
}

.eyebrow {
  margin-bottom: 4px;
  color: #7c879c;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .12em
}

.version-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: #7c8796;
  font-size: .72rem;
  box-shadow: 0 3px 10px rgba(31, 41, 55, .035)
}

.version-chip strong {
  color: #303a4f
}

.card,
.premium-card {
  border-color: var(--line) !important;
  border-radius: var(--radius) !important;
  background: var(--surface);
  box-shadow: var(--shadow) !important;
  overflow: hidden
}

.card-header {
  min-height: 50px;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--line) !important
}

.card-body {
  padding: 18px !important
}

.card-footer {
  padding: 12px 16px !important;
  border-top: 1px solid var(--line) !important
}

.stat-card {
  height: 100%;
  border: 0 !important;
  box-shadow: var(--shadow) !important
}

.metric-card {
  padding: 17px 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(31, 41, 55, .05)
}

.metric-label {
  color: #7c8798;
  font-size: .7rem;
  font-weight: 700
}

.metric-value {
  margin-top: 6px;
  color: #222c40;
  font-size: 1.42rem;
  font-weight: 820;
  letter-spacing: -.035em
}

.metric-note {
  margin-top: 3px;
  color: #9aa3b2;
  font-size: .69rem
}

.btn-premium {
  box-shadow: 0 8px 18px rgba(99, 91, 255, .2)
}

.btn {
  border-radius: 9px;
  font-size: .8rem;
  font-weight: 700;
  min-height: 36px
}

.btn-sm {
  min-height: 30px;
  border-radius: 8px;
  font-size: .72rem
}

.btn-primary {
  background: var(--primary);
  border-color: var(--primary)
}

.btn-primary:hover,
.btn-primary:focus {
  background: var(--primary-dark);
  border-color: var(--primary-dark)
}

.form-label {
  margin-bottom: 5px;
  color: #566177;
  font-size: .71rem;
  font-weight: 700
}

.form-control,
.form-select {
  min-height: 39px;
  border-color: #dde2eb;
  border-radius: 9px;
  background: #fff;
  color: #293448;
  font-size: .81rem;
  box-shadow: none !important
}

.form-control:focus,
.form-select:focus {
  border-color: #a7a2ff;
  box-shadow: 0 0 0 3px rgba(99, 91, 255, .095) !important
}

textarea.form-control {
  min-height: auto
}

.table-responsive {
  outline: none
}

.table {
  --bs-table-bg: transparent;
  margin-bottom: 0
}

.table thead th {
  padding: 10px 13px !important;
  border-bottom: 1px solid var(--line);
  background: #f8f9fb !important;
  color: #788397;
  font-size: .67rem;
  font-weight: 800;
  text-transform: none;
  white-space: nowrap
}

.table tbody td {
  padding: 10px 13px !important;
  border-color: #edf0f4;
  color: #364156;
  font-size: .78rem;
  vertical-align: middle
}

.table-hover>tbody>tr:hover>* {
  --bs-table-bg-state: #fafbfe
}

.premium-table thead th {
  font-size: .66rem
}

.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: .66rem;
  font-weight: 800
}

.status-pill.success {
  background: #eaf8f3;
  color: #147658
}

.status-pill.warning {
  background: #fff5df;
  color: #a66808
}

.status-pill.danger {
  background: #ffebed;
  color: #b73b47
}

.badge {
  font-weight: 700
}

.nav-tabs {
  border-bottom: 0;
  gap: 6px;
  margin-bottom: 8px
}

.nav-tabs .nav-link {
  border: 1px solid var(--line) !important;
  border-radius: 9px !important;
  background: #fff;
  color: #68748a;
  font-size: .74rem;
  font-weight: 700
}

.nav-tabs .nav-link.active {
  background: #242e41;
  color: #fff;
  border-color: #242e41 !important
}

.premium-alert {
  border: 0;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(31, 41, 55, .065);
  font-size: .8rem
}

.text-secondary {
  color: var(--muted) !important
}

.font-monospace {
  font-size: .72rem !important
}

.login-body {
  min-height: 100vh;
  background: radial-gradient(circle at top left, #eeefff 0, transparent 36%), linear-gradient(145deg, #f6f7fb, #eef1f6)
}

.login-main {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px
}

.login-main>.row {
  width: 100%;
  margin: 0
}

.login-main .card {
  max-width: 440px;
  margin: auto;
  box-shadow: 0 22px 60px rgba(31, 41, 55, .12) !important
}

.min-vh-75 {
  min-height: auto !important
}

.mobile-sidebar {
  --bs-offcanvas-width: min(86vw, 280px);
  background: var(--sidebar-bg);
  color: #fff;
  border-right: 0 !important
}

.mobile-sidebar .sidebar-inner {
  min-height: 100vh
}

.topbar-menu {
  background: #f2f4f8;
  color: #4b566b
}

.topbar-menu:hover {
  background: #e9edf3;
  color: #2f394b
}

.min-w-0 {
  min-width: 0
}

@media(max-width:991.98px) {
  .app-content {
    margin-left: 0
  }

  .app-topbar {
    min-height: 56px;
    padding: 8px 14px
  }

  .app-main {
    padding: 16px 14px 34px
  }

  .page-title,
  h1.h3 {
    font-size: 1.25rem !important
  }

  .card-body {
    padding: 15px !important
  }
}

@media(max-width:767.98px) {
  .app-main {
    padding-left: 11px;
    padding-right: 11px
  }

  .table {
    min-width: 680px
  }

  .table tbody td {
    font-size: .75rem
  }

  .metric-card {
    padding: 14px 15px
  }

  .metric-value {
    font-size: 1.22rem
  }

  .d-flex.justify-content-between.align-items-center.mb-3 {
    align-items: flex-start !important;
    gap: 10px;
    flex-wrap: wrap
  }
}

@media(max-width:575.98px) {
  .app-topbar {
    padding-left: 10px;
    padding-right: 10px
  }

  .quick-action {
    padding: 7px 9px
  }

  .page-head {
    margin-bottom: 14px !important
  }

  .version-chip {
    width: 100%;
    justify-content: space-between
  }

  .btn {
    min-height: 38px
  }

  .form-control,
  .form-select {
    min-height: 41px
  }
}

/* v1.4.0 - Aşama 3 tahsilat deneyimi */
.balance-preview {
  min-height: 39px;
  display: flex;
  align-items: center;
  padding: 8px 12px;
  border: 1px dashed #d9deea;
  border-radius: 9px;
  background: #fafbfc;
  color: #8993a5;
  font-size: .8rem;
  font-weight: 700
}

.balance-preview.debt {
  border-style: solid;
  border-color: #f2d5d9;
  background: #fff7f8;
  color: #b63d49
}

.balance-preview.credit {
  border-style: solid;
  border-color: #d4ece3;
  background: #f7fcfa;
  color: #147658
}

.balance-preview.zero {
  border-style: solid;
  color: #657084
}

.table-row-cancelled td {
  opacity: .62;
  text-decoration: none
}

.table-row-cancelled td:first-child {
  box-shadow: inset 3px 0 0 #dc6670
}

.receipt-sheet {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(31, 41, 55, .07);
  overflow: hidden
}

.receipt-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line)
}

.receipt-brand {
  font-size: 1.2rem;
  font-weight: 850;
  color: #20293a;
  letter-spacing: -.03em
}

.receipt-amount {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  margin: 26px 0;
  padding: 20px 22px;
  border-radius: 14px;
  background: #f7f8fb
}

.receipt-amount span {
  color: #7a8597;
  font-size: .76rem;
  font-weight: 700
}

.receipt-amount strong {
  font-size: 2rem;
  line-height: 1;
  color: #20293a;
  letter-spacing: -.045em
}

.receipt-grid {
  padding: 3px 2px 18px
}

.receipt-label {
  margin-bottom: 5px;
  color: #8a94a6;
  font-size: .66rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em
}

.receipt-value {
  color: #303a4d;
  font-size: .85rem;
  font-weight: 700
}

.receipt-foot {
  margin-top: 10px;
  padding-top: 18px;
  border-top: 1px dashed #dfe3ea;
  color: #8a94a4;
  font-size: .72rem;
  text-align: center
}

.receipt-cancel-box {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid #f0cdd1;
  border-radius: 12px;
  background: #fff5f6;
  color: #9f3640;
  font-size: .8rem
}

.receipt-cancel-stamp {
  position: absolute;
  right: -35px;
  top: 56px;
  width: 170px;
  padding: 8px;
  transform: rotate(35deg);
  background: #c84b56;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: .16em;
  box-shadow: 0 6px 16px rgba(200, 75, 86, .18)
}

@media(max-width:575.98px) {
  .receipt-sheet {
    padding: 20px 16px;
    border-radius: 14px
  }

  .receipt-head {
    flex-direction: column
  }

  .receipt-head .text-end {
    text-align: left !important
  }

  .receipt-amount {
    align-items: flex-start;
    flex-direction: column;
    padding: 16px
  }

  .receipt-amount strong {
    font-size: 1.55rem
  }
}

@media print {
  body {
    background: #fff !important
  }

  .app-sidebar,
  .app-topbar,
  .no-print,
  .premium-alert {
    display: none !important
  }

  .app-content {
    margin-left: 0 !important
  }

  .app-main {
    max-width: none !important;
    padding: 0 !important
  }

  .receipt-sheet {
    max-width: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 18mm 14mm !important
  }

  .receipt-cancel-stamp {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact
  }
}



/* v1.23 - premium login */
.login-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 18%, rgba(123, 115, 255, .26), transparent 28%),
    radial-gradient(circle at 88% 84%, rgba(45, 212, 191, .14), transparent 22%),
    linear-gradient(135deg, #eef2ff 0%, #f5f7fb 34%, #edf2ff 100%);
}

.login-main {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 26px
}

.login-main>.row {
  width: 100%;
  margin: 0
}

.login-shell {
  width: min(1380px, 100%);
  margin-inline: auto
}

.login-split-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(420px, 540px) 1fr;
  min-height: min(860px, calc(100vh - 52px));
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 30px 100px rgba(31, 41, 55, .14);
  backdrop-filter: blur(22px)
}

.login-form-panel {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(248, 250, 255, .95));
  z-index: 2
}

.login-panel-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 38px 34px 32px
}

.login-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px
}

.login-kicker,
.login-version {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid #e4e8f5;
  background: #fff;
  color: #44506a;
  font-size: .74rem;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(31, 41, 55, .05)
}

.login-kicker i {
  color: var(--primary)
}

.login-version {
  color: #66728a;
  font-size: .72rem
}

.login-branding {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px
}

.login-brand-mark {
  width: 68px;
  height: 68px;
  flex: 0 0 68px;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #6b63ff, #4338ca);
  color: #fff;
  font-size: 1.85rem;
  box-shadow: 0 18px 34px rgba(79, 70, 229, .28)
}

.login-branding h1 {
  margin: 0 0 8px;
  font-size: 2.05rem;
  line-height: 1.05;
  font-weight: 860;
  letter-spacing: -.04em;
  color: #111b35
}

.login-branding p {
  margin: 0;
  color: #677389;
  font-size: .92rem;
  line-height: 1.65
}

.login-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px
}

.login-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f7f9ff;
  border: 1px solid #e4e9f7;
  color: #4f5c75;
  font-size: .75rem;
  font-weight: 800
}

.login-chip i {
  color: #4f46e5
}

.login-form-card {
  padding: 22px 22px 20px;
  border: 1px solid #e7ebf3;
  border-radius: 24px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 16px 40px rgba(31, 41, 55, .06)
}

.login-input-wrap {
  position: relative
}

.login-control {
  min-height: 56px;
  padding-left: 48px;
  padding-right: 16px;
  border-radius: 16px;
  border-color: #e0e5f0;
  background: #fbfcff;
  font-size: .92rem
}

.login-control::placeholder {
  color: #97a1b5
}

.login-control:focus {
  border-color: #8e88ff;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(99, 91, 255, .09) !important
}

.login-input-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #78839b;
  font-size: 1rem;
  pointer-events: none
}

.login-password-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #74819b;
  transition: .18s ease
}

.login-password-toggle:hover {
  background: #f2f4ff;
  color: #4038ca
}

.login-form-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 18px
}

.login-remember {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0
}

.login-remember .form-check-input {
  float: none;
  margin: 0;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  border-color: #cad2e0
}

.login-remember .form-check-label {
  color: #556179;
  font-size: .8rem;
  font-weight: 700
}

.login-text-link {
  color: #524ae3;
  font-size: .75rem;
  font-weight: 800
}

.login-text-link:hover {
  color: #3d35c8
}

.login-meta-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border-radius: 999px;
  background: #eef3ff;
  color: #536285;
  font-size: .71rem;
  font-weight: 800
}

.login-meta-badge i {
  color: #5e54ff
}

.login-action-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px
}

.login-action-single {
  grid-template-columns: 1fr
}

.login-submit-btn,
.login-demo-btn {
  min-height: 50px;
  border-radius: 15px;
  font-size: .85rem;
  font-weight: 800
}

.login-submit-btn {
  box-shadow: 0 14px 26px rgba(99, 91, 255, .24)
}

.login-demo-btn {
  border: 1px solid #dfe4f0;
  background: #f9fbff;
  color: #33415c
}

.login-demo-btn:hover {
  background: #f1f4ff;
  color: #24314a;
  border-color: #d6dcf3
}

.login-assist-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 20px;
  background: linear-gradient(135deg, #121c38, #1d2d55 60%, #23386a);
  color: #f2f5ff;
  box-shadow: 0 20px 44px rgba(17, 24, 39, .18)
}

.login-assist-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .12);
  font-size: 1rem;
  color: #99e9ff
}

.login-assist-card strong {
  display: block;
  margin-bottom: 5px;
  font-size: .9rem
}

.login-assist-card p {
  color: rgba(237, 242, 255, .84);
  font-size: .78rem;
  line-height: 1.6
}

.login-security-note {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid #e5e9f4;
  background: #fff;
  color: #556278;
  font-size: .76rem;
  font-weight: 700;
  box-shadow: 0 12px 28px rgba(31, 41, 55, .04)
}

.login-security-note i {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef2ff;
  color: #4e46db
}

.login-visual-panel {
  position: relative;
  overflow: hidden;
  padding: 44px 40px 36px;
  background:
    linear-gradient(150deg, #041b52 0%, #07255f 28%, #0b3278 58%, #133f8f 100%);
  color: #fff;
  isolation: isolate
}

.login-visual-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(86, 169, 255, .24), transparent 26%),
    radial-gradient(circle at 82% 18%, rgba(126, 87, 255, .26), transparent 20%),
    radial-gradient(circle at 74% 80%, rgba(45, 212, 191, .18), transparent 24%);
  opacity: .95
}

.login-grid-glow {
  position: absolute;
  inset: auto -20% -20% auto;
  width: 72%;
  height: 72%;
  background: radial-gradient(circle, rgba(255, 255, 255, .15) 0%, rgba(255, 255, 255, 0) 66%);
  filter: blur(18px);
  opacity: .42
}

.login-orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(0);
  opacity: .9;
  mix-blend-mode: screen
}

.login-orb.orb-one {
  width: 260px;
  height: 260px;
  right: -42px;
  top: -48px;
  background: radial-gradient(circle at 30% 30%, rgba(125, 211, 252, .65), rgba(69, 109, 255, .12) 68%, transparent 72%);
  animation: loginFloatOrb 12s ease-in-out infinite
}

.login-orb.orb-two {
  width: 220px;
  height: 220px;
  left: -56px;
  bottom: -50px;
  background: radial-gradient(circle at 40% 40%, rgba(94, 234, 212, .28), rgba(45, 212, 191, .08) 68%, transparent 72%);
  animation: loginFloatOrb 14s ease-in-out infinite reverse
}

.login-visual-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 100%
}

.login-visual-kicker {
  display: inline-flex;
  align-self: flex-start;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .16);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
  color: #d9e7ff;
  backdrop-filter: blur(10px)
}

.login-visual-content h2 {
  max-width: 720px;
  margin: 18px 0 12px;
  font-size: 2.4rem;
  line-height: 1.08;
  font-weight: 860;
  letter-spacing: -.04em
}

.login-visual-content>p {
  max-width: 620px;
  margin: 0;
  color: rgba(230, 238, 255, .8);
  font-size: .95rem;
  line-height: 1.7
}

.login-center-stage {
  position: relative;
  flex: 1;
  min-height: 420px;
  margin-top: 22px;
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03));
  backdrop-filter: blur(10px);
  overflow: hidden
}

.login-center-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 96%, rgba(255, 255, 255, .08) 96%), linear-gradient(90deg, transparent 96%, rgba(255, 255, 255, .08) 96%);
  background-size: 34px 34px;
  opacity: .22
}

.login-core-card {
  position: absolute;
  left: 50%;
  top: 40%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 290px;
  padding: 22px 24px;
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .06));
  border: 1px solid rgba(255, 255, 255, .22);
  box-shadow: 0 30px 70px rgba(3, 12, 35, .26);
  backdrop-filter: blur(18px)
}

.login-core-icon {
  width: 68px;
  height: 68px;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #69a6ff, #6c63ff);
  font-size: 1.9rem;
  color: #fff;
  box-shadow: 0 18px 32px rgba(98, 112, 255, .35)
}

.login-core-card strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 850
}

.login-core-card span {
  display: block;
  margin-top: 3px;
  color: #d2defa;
  font-size: .8rem
}

.login-float-card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 200px;
  padding: 14px 15px;
  border-radius: 18px;
  background: rgba(7, 28, 80, .48);
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 18px 36px rgba(2, 10, 28, .2);
  backdrop-filter: blur(10px);
  animation: loginFloatCard 7s ease-in-out infinite
}

.login-float-card i {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(125, 211, 252, .16);
  color: #9fe8ff;
  font-size: 1.05rem
}

.login-float-card strong {
  display: block;
  font-size: .82rem;
  font-weight: 820
}

.login-float-card span {
  display: block;
  margin-top: 3px;
  color: #d8e4ff;
  font-size: .7rem;
  opacity: .84
}

.float-card-a {
  left: 26px;
  top: 24px
}

.float-card-b {
  right: 28px;
  top: 44px;
  animation-delay: -1s
}

.float-card-c {
  left: 32px;
  bottom: 110px;
  animation-delay: -2s
}

.float-card-d {
  right: 24px;
  bottom: 124px;
  animation-delay: -3s
}

.float-card-e {
  left: 20%;
  top: 68%;
  animation-delay: -2.5s
}

.float-card-f {
  right: 18%;
  top: 66%;
  animation-delay: -1.5s
}

.login-feature-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px
}

.login-feature-box {
  padding: 16px 16px 15px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .09);
  border: 1px solid rgba(255, 255, 255, .14);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 34px rgba(2, 8, 24, .12)
}

.login-feature-box span {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: #dfeaff;
  font-size: .74rem;
  font-weight: 800
}

.login-feature-box strong {
  display: block;
  color: #fff;
  font-size: .82rem;
  line-height: 1.45
}

@keyframes loginFloatCard {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-10px)
  }
}

@keyframes loginFloatOrb {

  0%,
  100% {
    transform: translate3d(0, 0, 0)
  }

  50% {
    transform: translate3d(0, 18px, 0)
  }
}

@media(max-width:1199.98px) {
  .login-split-card {
    grid-template-columns: minmax(380px, 490px) 1fr;
    min-height: auto
  }

  .login-visual-content h2 {
    font-size: 2rem
  }

  .login-center-stage {
    min-height: 390px
  }

  .login-feature-stats {
    grid-template-columns: 1fr
  }
}

@media(max-width:991.98px) {
  .login-main {
    padding: 16px
  }

  .login-split-card {
    grid-template-columns: 1fr;
    min-height: auto
  }

  .login-form-panel {
    order: 2
  }

  .login-visual-panel {
    order: 1;
    padding: 28px 24px 24px
  }

  .login-visual-content h2 {
    font-size: 1.72rem;
    max-width: none
  }

  .login-visual-content>p {
    font-size: .88rem
  }

  .login-center-stage {
    min-height: 340px;
    margin-top: 18px
  }

  .login-core-card {
    min-width: 250px;
    padding: 18px
  }

  .float-card-e,
  .float-card-f {
    display: none
  }
}

@media(max-width:767.98px) {
  .login-panel-inner {
    padding: 24px 18px 20px
  }

  .login-topline {
    flex-wrap: wrap
  }

  .login-brand-mark {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    font-size: 1.5rem;
    border-radius: 18px
  }

  .login-branding h1 {
    font-size: 1.72rem
  }

  .login-form-card {
    padding: 18px 16px
  }

  .login-action-grid {
    grid-template-columns: 1fr
  }

  .login-form-meta {
    align-items: flex-start;
    flex-direction: column
  }

  .login-visual-panel {
    padding: 20px 16px 18px
  }

  .login-center-stage {
    min-height: 315px
  }

  .login-float-card {
    min-width: 170px;
    padding: 11px 12px
  }

  .login-float-card i {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    border-radius: 11px;
    font-size: .95rem
  }

  .float-card-a {
    left: 10px;
    top: 12px
  }

  .float-card-b {
    right: 10px;
    top: 18px
  }

  .float-card-c {
    left: 12px;
    bottom: 88px
  }

  .float-card-d {
    right: 10px;
    bottom: 92px
  }
}

@media(max-width:575.98px) {
  .login-shell {
    width: 100%
  }

  .login-split-card {
    border-radius: 24px
  }

  .login-kicker,
  .login-version,
  .login-chip,
  .login-meta-badge {
    font-size: .68rem
  }

  .login-visual-content h2 {
    font-size: 1.45rem
  }

  .login-center-stage {
    min-height: 290px
  }

  .login-core-card {
    left: 50%;
    top: 50%;
    width: calc(100% - 32px);
    min-width: 0;
    gap: 14px
  }

  .login-core-icon {
    width: 58px;
    height: 58px;
    font-size: 1.55rem;
    border-radius: 18px
  }

  .login-float-card {
    min-width: 0;
    width: 160px
  }

  .login-float-card strong {
    font-size: .75rem
  }

  .login-float-card span {
    font-size: .65rem
  }

  .login-feature-box {
    padding: 13px 14px
  }
}

/* v1.5 inventory components */
.input-group-text {
  border-color: #dde2eb;
  background: #f7f8fb;
  color: #6d788c;
  font-size: .78rem;
  font-weight: 700
}

.mini-stat {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fafbfc
}

.mini-stat span {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 700
}

.mini-stat strong {
  font-size: .91rem;
  color: #2c3649
}

.notice-box {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 13px 14px;
  border: 1px solid #dfe5f2;
  border-radius: 12px;
  background: #f8faff;
  color: #536077
}

.notice-box>i {
  margin-top: 1px;
  color: var(--primary);
  font-size: 1rem
}

.notice-box>div {
  display: flex;
  flex-direction: column;
  gap: 2px
}

.notice-box strong {
  color: #2b3548;
  font-size: .76rem
}

.notice-box span {
  font-size: .7rem;
  line-height: 1.45
}

.premium-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fafbfc
}

.premium-check .form-check-input {
  margin-left: 0;
  margin-top: 2px;
  flex: 0 0 auto
}

.premium-check .form-check-label {
  display: flex;
  flex-direction: column;
  gap: 2px
}

.premium-check .form-check-label strong {
  font-size: .76rem;
  color: #354057
}

.premium-check .form-check-label span {
  font-size: .68rem;
  color: var(--muted)
}

.list-group-item-action {
  transition: .18s ease
}

.list-group-item-action:hover {
  background: #fafbfe
}

@media(max-width:575.98px) {
  .topbar-actions .quick-action {
    padding-left: 9px;
    padding-right: 9px
  }

  .notice-box {
    padding: 11px 12px
  }

  .page-head .btn {
    flex: 1 1 auto
  }
}

/* v1.6 - Aşama 5 satış deneyimi */
.sale-summary-card {
  top: 72px
}

.sale-lines-wrap {
  min-height: 180px
}

.sale-lines .form-control,
.sale-lines .form-select {
  min-height: 38px;
  font-size: .75rem
}

.sale-lines .input-group-text {
  padding-left: 9px;
  padding-right: 9px
}

.sale-stock-hint {
  min-height: 18px
}

.sale-summary-lines {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: 13px;
  overflow: hidden;
  background: #fafbfc
}

.sale-summary-lines>div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  font-size: .75rem
}

.sale-summary-lines>div:last-child {
  border-bottom: 0
}

.sale-summary-lines span {
  color: var(--muted);
  font-weight: 700
}

.sale-summary-lines strong {
  color: #313c50;
  font-size: .82rem
}

.sale-summary-lines .grand {
  background: #f1f4ff;
  padding-top: 13px;
  padding-bottom: 13px
}

.sale-summary-lines .grand span,
.sale-summary-lines .grand strong {
  color: #33419b
}

.sale-summary-lines .grand strong {
  font-size: 1.05rem
}

.sale-summary-lines .remaining {
  background: #fff8ed
}

.sale-summary-lines .remaining span,
.sale-summary-lines .remaining strong {
  color: #9a6513
}

.sale-document {
  position: relative;
  max-width: 1050px;
  margin: 0 auto;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(31, 41, 55, .065);
  overflow: hidden
}

.sale-doc-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line)
}

.sale-info-box {
  height: 100%;
  padding: 14px 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fafbfc
}

.sale-detail-table {
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden
}

.sale-totals {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 13px;
  overflow: hidden
}

.sale-totals>div {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--line);
  font-size: .77rem
}

.sale-totals>div:last-child {
  border-bottom: 0
}

.sale-totals span {
  color: var(--muted)
}

.sale-totals .grand {
  background: #f3f5fb;
  font-size: .88rem
}

.sale-totals .grand strong {
  font-size: 1rem
}

.sale-totals .remaining {
  background: #fff8ed;
  color: #9a6513
}

.sale-note {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 18px;
  padding: 13px 15px;
  border-radius: 11px;
  background: #f8f9fb;
  font-size: .76rem
}

.sale-note span {
  color: var(--muted)
}

.sale-doc-foot {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px dashed #dfe3ea;
  color: var(--muted);
  font-size: .7rem
}

.sale-cancel-stamp {
  position: absolute;
  right: -34px;
  top: 60px;
  width: 170px;
  padding: 8px;
  transform: rotate(35deg);
  background: #c84b56;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: .16em;
  box-shadow: 0 6px 16px rgba(200, 75, 86, .18);
  z-index: 2
}

.icon-btn.danger {
  color: #b8434e;
  background: #fff2f3
}

.icon-btn.danger:hover {
  background: #ffe6e8;
  color: #9d2f39
}

@media(max-width:1199.98px) {
  .sale-summary-card {
    position: static !important
  }
}

@media(max-width:575.98px) {
  .sale-document {
    padding: 18px 14px;
    border-radius: 13px
  }

  .sale-doc-head {
    flex-direction: column
  }

  .sale-doc-head .text-end {
    text-align: left !important
  }

  .sale-summary-lines>div {
    padding: 9px 10px
  }
}

@media print {
  .sale-document {
    max-width: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 12mm 10mm !important
  }

  .sale-cancel-stamp {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact
  }
}

/* v1.9 - Aşama 7 rapor merkezi */
.report-tabs {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding: 2px 1px 5px;
  scrollbar-width: thin
}

.report-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: #677287;
  font-size: .73rem;
  font-weight: 750;
  text-decoration: none;
  transition: .18s ease
}

.report-tab:hover {
  border-color: #cfd5e2;
  background: #fafbfe;
  color: #303a4e
}

.report-tab.active {
  border-color: #313b58;
  background: #313b58;
  color: #fff;
  box-shadow: 0 7px 18px rgba(49, 59, 88, .12)
}

.report-period-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: #737e91;
  font-size: .69rem;
  font-weight: 750
}

.report-kpi {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 15px 16px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(31, 41, 55, .035)
}

.report-kpi>span {
  color: var(--muted);
  font-size: .67rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .035em
}

.report-kpi>strong {
  color: #2b3548;
  font-size: 1.15rem;
  letter-spacing: -.025em
}

.report-kpi>small {
  color: var(--muted);
  font-size: .65rem
}

@media(max-width:575.98px) {
  .report-tab {
    padding: 8px 10px
  }

  .report-kpi {
    padding: 13px 14px
  }

  .report-kpi>strong {
    font-size: 1rem
  }
}

@media print {

  .report-tabs,
  .report-period-label {
    display: none !important
  }

  .report-kpi,
  .premium-card,
  .metric-card {
    box-shadow: none !important;
    border: 1px solid #dfe3ea !important;
    break-inside: avoid
  }

  .table {
    min-width: 0 !important;
    font-size: 9pt !important
  }
}

/* v1.10 - Aşama 8 güvenlik, audit ve çıktı iyileştirmeleri */
.print-only {
  display: none
}

.login-security-note {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 11px;
  border: 1px solid #e2e6ee;
  border-radius: 10px;
  background: #fafbfc;
  color: #768196;
  font-size: .7rem;
  font-weight: 650
}

.login-security-note i {
  color: var(--success);
  font-size: .9rem
}

.audit-module {
  display: inline-flex;
  align-items: center;
  padding: 4px 7px;
  border-radius: 7px;
  background: #f1f3f8;
  color: #566176;
  font-size: .64rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .035em
}

.audit-agent {
  max-width: 260px
}

.audit-json {
  max-height: 320px;
  margin: 0;
  padding: 13px 14px;
  border: 1px solid #e4e8ef;
  border-radius: 10px;
  background: #f8f9fb;
  color: #364156;
  font-size: .7rem;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word
}

.audit-table-wrap .modal {
  text-align: left
}

@media(max-width:767.98px) {
  .audit-agent {
    max-width: 150px
  }
}

@media print {
  @page {
    size: A4 portrait;
    margin: 10mm
  }

  html,
  body {
    background: #fff !important;
    font-size: 10pt !important
  }

  .print-only {
    display: flex !important
  }

  .print-global-header {
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8mm;
    padding-bottom: 3mm;
    border-bottom: 1px solid #d9dde5;
    color: #394257;
    font-size: 9pt
  }

  .app-sidebar,
  .app-topbar,
  .offcanvas,
  .no-print,
  .premium-alert,
  .btn,
  .modal,
  .sidebar-user {
    display: none !important
  }

  .app-content {
    margin-left: 0 !important
  }

  .app-main {
    max-width: none !important;
    padding: 0 !important
  }

  .card,
  .premium-card,
  .metric-card,
  .report-kpi {
    box-shadow: none !important;
    break-inside: avoid
  }

  .table-responsive {
    overflow: visible !important
  }

  .table {
    width: 100% !important;
    min-width: 0 !important
  }

  .table thead {
    display: table-header-group
  }

  .table tfoot {
    display: table-footer-group
  }

  .table tr {
    break-inside: avoid;
    page-break-inside: avoid
  }

  .table th,
  .table td {
    padding: 5px 6px !important;
    font-size: 8.5pt !important
  }

  a {
    color: #111 !important;
    text-decoration: none !important
  }

  .sale-document,
  .receipt-sheet {
    break-inside: auto
  }
}

.profile-avatar {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background: linear-gradient(135deg, #756dff, #4f47df);
  color: #fff;
  font-size: 1.15rem;
  font-weight: 850;
  box-shadow: 0 10px 22px rgba(99, 91, 255, .22)
}

.profile-info-list {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden
}

.profile-info-list>div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 13px;
  border-bottom: 1px solid var(--line);
  font-size: .76rem
}

.profile-info-list>div:last-child {
  border-bottom: 0
}

.profile-info-list span {
  color: var(--muted)
}

.profile-info-list strong {
  color: #354057
}

/* v1.11 - Mobil uygulama hissi ve alt navigasyon */
.mobile-bottom-nav {
  position: fixed;
  left: 10px;
  right: 10px;
  bottom: calc(8px + env(safe-area-inset-bottom));
  z-index: 1045;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  min-height: 68px;
  padding: 7px 5px 6px;
  border: 1px solid rgba(218, 223, 233, .92);
  border-radius: 21px;
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  box-shadow: 0 18px 42px rgba(31, 41, 55, .17)
}

.mobile-bottom-item,
.mobile-bottom-action {
  min-width: 0;
  border: 0;
  background: transparent;
  color: #8a94a7;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 5px 2px;
  font-size: .61rem;
  font-weight: 760;
  line-height: 1.1;
  text-align: center;
  transition: transform .16s ease, color .16s ease;
  -webkit-tap-highlight-color: transparent
}

.mobile-bottom-item i {
  font-size: 1.08rem;
  line-height: 1
}

.mobile-bottom-item span,
.mobile-bottom-action>span:last-child {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.mobile-bottom-item:hover,
.mobile-bottom-item:focus,
.mobile-bottom-item.active {
  color: var(--primary)
}

.mobile-bottom-item:active {
  transform: scale(.95)
}

button.mobile-bottom-item {
  font-family: inherit
}

.mobile-bottom-action {
  position: relative;
  transform: translateY(-8px);
  color: #4d5770
}

.mobile-bottom-action:hover,
.mobile-bottom-action:focus,
.mobile-bottom-action.active {
  color: var(--primary)
}

.mobile-bottom-action:active {
  transform: translateY(-8px) scale(.96)
}

.mobile-bottom-action-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 5px solid rgba(255, 255, 255, .96);
  border-radius: 17px;
  background: linear-gradient(145deg, #746cff, #5048df);
  color: #fff;
  box-shadow: 0 10px 22px rgba(99, 91, 255, .32)
}

.mobile-bottom-action-icon i {
  font-size: 1.18rem;
  line-height: 1
}

.mobile-bottom-action.active .mobile-bottom-action-icon {
  box-shadow: 0 10px 26px rgba(99, 91, 255, .4), 0 0 0 3px rgba(99, 91, 255, .1)
}


.mobile-customer-list {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.mobile-customer-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 10px;
  padding: 11px 10px;
  border: 1px solid #e8ebf1;
  border-radius: 15px;
  background: #fff;
  color: inherit;
  box-shadow: 0 7px 20px rgba(31, 41, 55, .045);
  -webkit-tap-highlight-color: transparent
}

.mobile-customer-card:active {
  transform: scale(.988);
  background: #fafbfe
}

.mobile-customer-card.is-passive {
  opacity: .62
}

.mobile-customer-avatar {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #eef0ff, #e5e8ff);
  color: #564ee0;
  font-size: .9rem;
  font-weight: 850
}

.mobile-customer-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0
}

.mobile-customer-name {
  display: block;
  color: #293348;
  font-size: .79rem;
  font-weight: 790;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.mobile-customer-name em {
  display: inline-flex;
  margin-left: 4px;
  padding: 2px 5px;
  border-radius: 5px;
  background: #f0efff;
  color: #635bff;
  font-size: .5rem;
  font-style: normal;
  font-weight: 850;
  vertical-align: 2px
}

.mobile-customer-meta {
  display: block;
  color: #8a94a6;
  font-size: .62rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.mobile-customer-meta b {
  font-weight: 400;
  color: #c2c8d2
}

.mobile-customer-balance {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  white-space: nowrap
}

.mobile-customer-balance strong {
  font-size: .72rem;
  font-weight: 850
}

.mobile-customer-balance small {
  font-size: .55rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .025em
}

.mobile-customer-balance.debt {
  color: #c84b56
}

.mobile-customer-balance.credit {
  color: #15936f
}

.mobile-customer-balance.zero {
  color: #8a94a6
}

.mobile-customer-chevron {
  color: #c0c6d1;
  font-size: .72rem
}

.mobile-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 30px 18px;
  border: 1px dashed #dde2eb;
  border-radius: 15px;
  background: #fff;
  color: #8a94a6;
  text-align: center
}

.mobile-empty-state i {
  font-size: 1.35rem
}

.mobile-empty-state strong {
  color: #49546a;
  font-size: .8rem
}

.mobile-empty-state span {
  font-size: .66rem
}

@media(max-width:991.98px) {
  .app-body {
    overscroll-behavior-y: none;
    -webkit-tap-highlight-color: transparent
  }

  .app-topbar {
    padding-top: calc(8px + env(safe-area-inset-top));
    justify-content: center;
    background: rgba(247, 248, 251, .94);
    box-shadow: 0 1px 0 rgba(226, 230, 238, .85)
  }

  .app-topbar .topbar-menu,
  .app-topbar .topbar-actions {
    display: none !important
  }

  .topbar-title {
    font-size: .94rem;
    font-weight: 820;
    text-align: center;
    letter-spacing: -.015em
  }

  .app-main {
    padding-bottom: calc(106px + env(safe-area-inset-bottom))
  }

  .premium-card,
  .card {
    box-shadow: 0 8px 24px rgba(31, 41, 55, .06) !important
  }
}

@media(max-width:575.98px) {
  .app-main {
    padding-top: 13px
  }

  .mobile-bottom-nav {
    left: 8px;
    right: 8px;
    bottom: calc(7px + env(safe-area-inset-bottom));
    border-radius: 19px
  }

  .mobile-bottom-item,
  .mobile-bottom-action {
    font-size: .59rem
  }

  .mobile-bottom-action-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px
  }

  .page-title,
  h1.h3 {
    font-size: 1.15rem !important
  }
}

@media print {
  .mobile-bottom-nav {
    display: none !important
  }
}

/* v1.12 - Kasa / gelir gider */
.cash-account-card {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border: 1px solid #e7eaf1;
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #fafbff);
  box-shadow: 0 10px 30px rgba(31, 41, 55, .055)
}

.cash-account-card:before {
  content: "";
  position: absolute;
  right: -30px;
  top: -40px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(99, 91, 255, .055);
  pointer-events: none
}

.cash-account-card.is-passive {
  opacity: .58;
  filter: saturate(.65)
}

.cash-account-icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #f0efff, #e8e9ff);
  color: #5d55e8;
  font-size: 1.05rem
}

.cash-balance {
  font-size: 1.18rem;
  font-weight: 850;
  letter-spacing: -.025em;
  color: #222b3b;
  margin-top: 2px;
  white-space: nowrap
}

.cash-account-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  padding-top: 13px;
  border-top: 1px solid #edf0f5;
  font-size: .7rem;
  font-weight: 720;
  color: #7c8798
}

@media(max-width:575.98px) {
  .cash-account-card {
    padding: 14px;
    border-radius: 16px
  }

  .cash-account-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px
  }

  .cash-balance {
    font-size: 1rem
  }

  .cash-account-foot {
    font-size: .65rem
  }
}

/* v1.13 - Aşama 10 hızlı satış / POS */
.pos-screen {
  margin: -4px 0 0
}

.pos-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 190px auto;
  gap: 10px;
  margin-bottom: 12px
}

.pos-scan-wrap {
  position: relative
}

.pos-scan-wrap>i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  color: #625ae8;
  font-size: 1.1rem
}

.pos-scan-wrap .form-control {
  height: 48px;
  padding-left: 42px;
  padding-right: 42px;
  border-radius: 14px;
  border-color: #dfe3ec;
  background: #fff;
  font-weight: 680;
  box-shadow: 0 7px 20px rgba(31, 41, 55, .045)
}

.pos-scan-wrap .form-control:focus {
  border-color: #aaa5ff;
  box-shadow: 0 0 0 4px rgba(99, 91, 255, .09)
}

.pos-scan-clear {
  position: absolute;
  right: 9px;
  top: 50%;
  transform: translateY(-50%);
  width: 31px;
  height: 31px;
  border: 0;
  border-radius: 9px;
  background: #f1f3f7;
  color: #8993a4
}

.pos-warehouse {
  height: 48px;
  border-radius: 14px;
  font-size: .75rem;
  font-weight: 720
}

.pos-history {
  height: 48px;
  display: flex;
  align-items: center;
  gap: 7px;
  border-radius: 14px;
  font-size: .74rem;
  font-weight: 750
}

.pos-layout {
  display: grid;
  grid-template-columns: minmax(380px, 1.15fr) minmax(360px, .9fr) 290px;
  gap: 12px;
  align-items: stretch
}

.pos-products-panel,
.pos-cart-panel,
.pos-payment-panel {
  min-height: calc(100vh - 170px);
  border: 1px solid #e5e8ef;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(31, 41, 55, .05);
  overflow: hidden
}

.pos-products-panel,
.pos-cart-panel {
  display: flex;
  flex-direction: column
}

.pos-panel-head,
.pos-cart-head {
  min-height: 55px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 14px;
  border-bottom: 1px solid #edf0f5
}

.pos-panel-head>div,
.pos-cart-head>div {
  display: flex;
  align-items: baseline;
  gap: 8px
}

.pos-panel-head strong,
.pos-cart-head strong {
  font-size: .84rem;
  color: #2b3549
}

.pos-panel-head span,
.pos-cart-head span {
  font-size: .62rem;
  color: #939cad
}

.pos-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  overflow: auto;
  align-content: start
}

.pos-product-card {
  min-height: 105px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  padding: 11px;
  border: 1px solid #e8ebf2;
  border-radius: 14px;
  background: linear-gradient(145deg, #fff, #fbfcff);
  color: #30394d;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease
}

.pos-product-card:hover {
  border-color: #c9c5ff;
  box-shadow: 0 8px 18px rgba(99, 91, 255, .08);
  transform: translateY(-1px)
}

.pos-product-card:active {
  transform: scale(.985)
}

.pos-product-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 34px;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.35
}

.pos-product-meta {
  margin-top: 4px;
  color: #929bad;
  font-size: .56rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.pos-product-foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
  padding-top: 9px
}

.pos-product-foot strong {
  font-size: .73rem;
  color: #4d46d8
}

.pos-product-foot small {
  font-size: .55rem;
  color: #7c8798
}

.pos-product-foot small.stock-zero {
  color: #c54b57
}

.pos-no-results {
  grid-column: 1/-1;
  min-height: 190px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #8993a4;
  text-align: center
}

.pos-no-results i {
  font-size: 1.4rem
}

.pos-no-results strong {
  font-size: .8rem;
  color: #4d576d
}

.pos-no-results span {
  font-size: .64rem
}

.pos-search-state {
  padding: 8px 12px;
  border-bottom: 1px solid #eef1f5;
  background: #fafbff;
  color: #6f798c;
  font-size: .65rem
}

.pos-customer-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 13px;
  border-bottom: 1px solid #edf0f5;
  background: #fbfcff
}

.pos-customer-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #efeeff;
  color: #5e56e8
}

.pos-customer-row label {
  display: block;
  margin-bottom: 3px;
  color: #858fa1;
  font-size: .56rem;
  font-weight: 780;
  text-transform: uppercase
}

.pos-customer-row .form-select {
  height: 33px;
  padding-top: 4px;
  padding-bottom: 4px;
  border: 0;
  background-color: transparent;
  font-size: .72rem;
  font-weight: 770;
  color: #313a4d;
  box-shadow: none
}

.pos-customer-balance {
  display: block;
  margin-top: 2px;
  font-size: .58rem;
  font-weight: 720
}

.pos-customer-balance.debt {
  color: #c34d58
}

.pos-customer-balance.credit {
  color: #159370
}

.pos-customer-balance.zero {
  color: #919aaa
}

.pos-cart-lines {
  flex: 1;
  overflow: auto;
  padding: 4px 9px 10px
}

.pos-cart-empty {
  flex: 1;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #929bac;
  text-align: center
}

.pos-empty-icon {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 17px;
  background: #f1f2f8;
  color: #7d86a0;
  font-size: 1.35rem
}

.pos-cart-empty strong {
  font-size: .8rem;
  color: #4d576c
}

.pos-cart-empty>span:last-child {
  font-size: .63rem
}

.pos-cart-line {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) 112px 86px 78px 30px;
  align-items: center;
  gap: 7px;
  padding: 9px 4px;
  border-bottom: 1px solid #edf0f5
}

.pos-line-main {
  min-width: 0
}

.pos-line-main strong {
  display: block;
  color: #313a4d;
  font-size: .69rem;
  font-weight: 790;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.pos-line-main span {
  display: block;
  margin-top: 2px;
  color: #98a1b1;
  font-size: .54rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.pos-qty-control {
  display: grid;
  grid-template-columns: 30px 1fr 30px;
  align-items: center;
  border: 1px solid #e1e5ec;
  border-radius: 10px;
  overflow: hidden
}

.pos-qty-control button {
  height: 31px;
  border: 0;
  background: #f7f8fa;
  color: #697488
}

.pos-qty-control input {
  width: 100%;
  height: 31px;
  border: 0;
  border-left: 1px solid #e8ebf0;
  border-right: 1px solid #e8ebf0;
  text-align: center;
  font-size: .63rem;
  font-weight: 760;
  outline: none
}

.pos-price-wrap {
  position: relative
}

.pos-price-wrap input {
  width: 100%;
  height: 33px;
  padding: 5px 19px 5px 7px;
  border: 1px solid #e1e5ec;
  border-radius: 9px;
  text-align: right;
  font-size: .62rem;
  font-weight: 720;
  outline: none
}

.pos-price-wrap span {
  position: absolute;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  color: #9aa3b2;
  font-size: .58rem
}

.pos-line-total {
  text-align: right;
  color: #333c50;
  font-size: .68rem;
  font-weight: 820;
  white-space: nowrap
}

.pos-line-remove {
  width: 29px;
  height: 29px;
  border: 0;
  border-radius: 9px;
  background: #fff1f2;
  color: #c14d59
}

.pos-payment-panel {
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  position: sticky;
  top: 76px
}

.pos-total-block {
  padding: 16px;
  border-radius: 15px;
  background: linear-gradient(145deg, #232a3a, #151b29);
  color: #fff
}

.pos-total-block>span {
  display: block;
  color: #aeb5c5;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .1em
}

.pos-total-block>strong {
  display: block;
  margin-top: 2px;
  font-size: 1.75rem;
  font-weight: 880;
  letter-spacing: -.045em
}

.pos-total-block>small {
  display: block;
  margin-top: 4px;
  color: #aeb5c5;
  font-size: .6rem
}

.pos-payment-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px
}

.pos-pay-btn {
  height: 68px;
  border: 1px solid #e3e6ed;
  border-radius: 13px;
  background: #fff;
  color: #737d90;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: .64rem;
  font-weight: 780
}

.pos-pay-btn i {
  font-size: 1.05rem
}

.pos-pay-btn.active {
  border-color: #8d86ff;
  background: #f2f1ff;
  color: #554ddd;
  box-shadow: 0 0 0 3px rgba(99, 91, 255, .07)
}

.pos-partial-box {
  padding: 11px;
  border: 1px solid #e7e9f0;
  border-radius: 12px;
  background: #fafbfe
}

.pos-partial-box label {
  display: block;
  margin-bottom: 5px;
  color: #778296;
  font-size: .59rem;
  font-weight: 780
}

.pos-partial-box .input-group-lg>.form-control,
.pos-partial-box .input-group-lg>.input-group-text {
  font-size: .85rem
}

.pos-payment-summary {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #eceff4;
  border-bottom: 1px solid #eceff4;
  padding: 7px 0
}

.pos-payment-summary>div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 5px 1px;
  font-size: .66rem
}

.pos-payment-summary span {
  color: #7e899b
}

.pos-payment-summary strong {
  color: #343d51
}

.pos-complete {
  min-height: 57px;
  margin-top: auto;
  border-radius: 14px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 10px 13px;
  font-size: .74rem;
  font-weight: 820
}

.pos-complete strong {
  font-size: .78rem
}

.pos-complete.is-loading {
  opacity: .7;
  pointer-events: none
}

.pos-shortcuts {
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  color: #929bac;
  font-size: .52rem
}

.pos-shortcuts kbd {
  padding: 2px 4px;
  background: #f0f2f6;
  color: #596477;
  border: 1px solid #e0e4eb;
  border-radius: 4px;
  font-size: .49rem
}

.thermal-receipt {
  width: 80mm;
  max-width: 100%;
  margin: 0 auto;
  padding: 8mm 5mm;
  background: #fff;
  color: #171717;
  border: 1px solid #e5e5e5;
  box-shadow: 0 14px 40px rgba(0, 0, 0, .08);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 10px
}

.thermal-head {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px
}

.thermal-head strong {
  font-size: 14px
}

.thermal-head span {
  font-size: 9px
}

.thermal-logo {
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #111;
  border-radius: 50%;
  font-weight: 900;
  margin-bottom: 3px
}

.thermal-cancel {
  margin: 8px 0;
  padding: 5px;
  border: 2px dashed #111;
  text-align: center;
  font-weight: 900
}

.thermal-meta {
  margin-top: 9px
}

.thermal-meta>div,
.thermal-totals>div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 2px 0
}

.thermal-meta span,
.thermal-totals span {
  color: #444
}

.thermal-meta strong,
.thermal-totals strong {
  text-align: right
}

.thermal-divider {
  margin: 7px 0;
  border-top: 1px dashed #555
}

.thermal-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1px 8px;
  padding: 4px 0
}

.thermal-item strong {
  grid-column: 1/-1
}

.thermal-item span {
  color: #444
}

.thermal-item b {
  text-align: right
}

.thermal-totals .grand {
  margin: 3px 0;
  padding: 5px 0;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  font-size: 12px
}

.thermal-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  text-align: center;
  padding-top: 4px
}

.thermal-footer small {
  font-size: 8px;
  color: #555
}

.pos-receipt-actions {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 14px
}

@media(max-width:1399.98px) {
  .pos-layout {
    grid-template-columns: minmax(330px, 1fr) minmax(330px, .9fr) 260px
  }

  .pos-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .pos-cart-line {
    grid-template-columns: minmax(115px, 1fr) 104px 78px 70px 28px
  }

  .pos-payment-panel {
    padding: 11px
  }
}

@media(max-width:1199.98px) {
  .pos-layout {
    grid-template-columns: 1fr 1fr
  }

  .pos-payment-panel {
    grid-column: 1/-1;
    min-height: auto;
    position: static;
    display: grid;
    grid-template-columns: 220px 1fr 220px;
    align-items: center
  }

  .pos-payment-buttons {
    grid-template-columns: repeat(4, 1fr)
  }

  .pos-pay-btn {
    height: 58px
  }

  .pos-partial-box {
    grid-column: 2/3
  }

  .pos-payment-summary {
    grid-column: 3/4;
    grid-row: 1/2
  }

  .pos-complete {
    grid-column: 3/4;
    grid-row: 2/3;
    margin-top: 0
  }

  .pos-products-panel,
  .pos-cart-panel {
    min-height: 600px
  }
}

@media(max-width:767.98px) {
  .pos-screen {
    margin: -2px -3px 0
  }

  .pos-toolbar {
    grid-template-columns: 1fr auto;
    margin-bottom: 8px;
    gap: 7px
  }

  .pos-scan-wrap {
    grid-column: 1/-1
  }

  .pos-scan-wrap .form-control {
    height: 45px;
    border-radius: 13px
  }

  .pos-warehouse {
    height: 40px;
    border-radius: 11px;
    font-size: .68rem
  }

  .pos-history {
    height: 40px;
    border-radius: 11px
  }

  .pos-history span {
    display: none
  }

  .pos-layout {
    display: flex;
    flex-direction: column;
    gap: 8px
  }

  .pos-products-panel,
  .pos-cart-panel,
  .pos-payment-panel {
    min-height: auto;
    border-radius: 15px;
    box-shadow: 0 7px 20px rgba(31, 41, 55, .05)
  }

  .pos-products-panel {
    order: 1;
    max-height: 330px
  }

  .pos-cart-panel {
    order: 2
  }

  .pos-payment-panel {
    order: 3;
    display: flex;
    padding: 10px
  }

  .pos-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 8px
  }

  .pos-product-card {
    min-height: 92px;
    padding: 9px;
    border-radius: 12px
  }

  .pos-product-name {
    font-size: .68rem;
    min-height: 32px
  }

  .pos-product-foot strong {
    font-size: .68rem
  }

  .pos-panel-head,
  .pos-cart-head {
    min-height: 47px;
    padding: 8px 10px
  }

  .pos-customer-row {
    padding: 9px 10px
  }

  .pos-cart-lines {
    max-height: 340px
  }

  .pos-cart-line {
    grid-template-columns: minmax(100px, 1fr) 98px 70px 27px;
    grid-template-areas: 'main qty total remove' 'main price total remove';
    gap: 5px;
    padding: 8px 2px
  }

  .pos-line-main {
    grid-area: main
  }

  .pos-qty-control {
    grid-area: qty
  }

  .pos-price-wrap {
    grid-area: price
  }

  .pos-line-total {
    grid-area: total
  }

  .pos-line-remove {
    grid-area: remove
  }

  .pos-qty-control {
    grid-template-columns: 28px 1fr 28px
  }

  .pos-qty-control button,
  .pos-qty-control input {
    height: 29px
  }

  .pos-price-wrap input {
    height: 29px
  }

  .pos-payment-buttons {
    grid-template-columns: repeat(4, 1fr);
    gap: 5px
  }

  .pos-pay-btn {
    height: 58px;
    font-size: .57rem;
    border-radius: 11px
  }

  .pos-total-block {
    padding: 13px;
    border-radius: 13px
  }

  .pos-total-block>strong {
    font-size: 1.5rem
  }

  .pos-complete {
    min-height: 54px
  }

  .pos-partial-box {
    order: 2
  }

  .pos-payment-summary {
    order: 3
  }

  .pos-complete {
    order: 4
  }

  .thermal-receipt {
    width: 100%;
    padding: 7mm 4mm;
    box-shadow: none
  }
}

@media(max-width:389.98px) {
  .pos-product-grid {
    grid-template-columns: 1fr 1fr
  }

  .pos-cart-line {
    grid-template-columns: minmax(88px, 1fr) 91px 62px 25px
  }

  .pos-payment-buttons {
    grid-template-columns: 1fr 1fr
  }

  .pos-pay-btn {
    height: 54px
  }
}

@media print {

  .pos-screen .pos-products-panel,
  .pos-screen .pos-payment-panel,
  .pos-screen .pos-toolbar,
  .pos-screen .pos-customer-row,
  .pos-screen .pos-cart-head {
    display: none !important
  }

  .thermal-receipt {
    width: 80mm !important;
    max-width: 80mm !important;
    margin: 0 !important;
    padding: 2mm !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 9pt !important
  }

  .pos-receipt-actions {
    display: none !important
  }

  @page {
    size: 80mm auto;
    margin: 2mm
  }
}

.status-pill.info {
  background: #edf4ff;
  color: #3167a8
}

.status-pill.neutral {
  background: #f1f3f6;
  color: #667085
}

/* v1.14 - WhatsApp borc hatirlatma */
.whatsapp-info-alert {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 14px 16px;
  border-radius: 15px;
  background: linear-gradient(135deg, #f7fffa, #fbfffd) !important;
  color: #334155
}

.whatsapp-info-alert>i {
  font-size: 1.15rem;
  color: #1fa463;
  margin-top: 1px
}

.whatsapp-info-alert>div {
  display: flex;
  flex-direction: column;
  gap: 2px
}

.whatsapp-info-alert strong {
  font-size: .78rem
}

.whatsapp-info-alert span {
  font-size: .68rem;
  color: #6b7586
}

.whatsapp-template-preview {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 11px 13px;
  border: 1px dashed #cfe8d9;
  border-radius: 12px;
  background: #f7fcf9;
  color: #536273;
  font-size: .68rem;
  line-height: 1.45
}

.whatsapp-template-preview i {
  color: #1fa463;
  font-size: .95rem
}

.whatsapp-mobile-list {
  padding: 8px
}

.whatsapp-mobile-card {
  padding: 13px;
  margin-bottom: 8px;
  border: 1px solid #e7ebef;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(31, 41, 55, .04)
}

.whatsapp-mobile-card:last-child {
  margin-bottom: 0
}

.whatsapp-mobile-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px
}

.whatsapp-mobile-head>div {
  min-width: 0
}

.whatsapp-mobile-head strong {
  display: block;
  font-size: .78rem;
  color: #30394c;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.whatsapp-mobile-head span {
  display: block;
  margin-top: 2px;
  font-size: .59rem;
  color: #8993a3
}

.whatsapp-mobile-head>b {
  font-size: .76rem;
  color: #c04c57;
  white-space: nowrap
}

.whatsapp-mobile-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 11px;
  padding-top: 9px;
  border-top: 1px solid #eef1f4
}

.whatsapp-mobile-foot small {
  font-size: .56rem;
  color: #8a94a4
}

.whatsapp-mobile-foot form {
  margin: 0
}

.whatsapp-mobile-foot .btn-success,
.btn-success {
  --bs-btn-bg: #1ea85f;
  --bs-btn-border-color: #1ea85f;
  --bs-btn-hover-bg: #188f50;
  --bs-btn-hover-border-color: #188f50
}

.whatsapp-mobile-foot .btn {
  border-radius: 10px;
  font-weight: 750
}

.whatsapp-template-token {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 7px;
  background: #eef8f2;
  color: #16804a;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .6rem
}

@media(max-width:767.98px) {
  .whatsapp-info-alert {
    padding: 12px 13px
  }

  .whatsapp-info-alert span {
    font-size: .63rem
  }

  .whatsapp-template-preview {
    font-size: .63rem
  }

  .whatsapp-mobile-card {
    border-radius: 14px
  }

  .whatsapp-mobile-head strong {
    font-size: .74rem
  }
}

/* v1.15 - Excel / CSV veri aktarim merkezi */
.transfer-export-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem
}

.transfer-export-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1rem;
  border: 1px solid var(--border-color, #e5e7eb);
  border-radius: 14px;
  background: rgba(248, 250, 252, .72)
}

.transfer-export-item strong {
  display: block;
  font-size: .92rem
}

.transfer-export-item small {
  display: block;
  color: #94a3b8;
  margin-top: .1rem
}

.transfer-export-item .btn-group {
  flex: none
}

.premium-card code {
  color: #0f766e;
  background: #ecfdf5;
  border-radius: 6px;
  padding: .12rem .32rem
}

@media(max-width:767.98px) {
  .transfer-export-grid {
    grid-template-columns: 1fr
  }

  .transfer-export-item {
    padding: .75rem .8rem
  }

  .transfer-export-item .btn {
    min-width: 58px
  }

  .app-main .page-title {
    font-size: 1.3rem
  }
}

/* v1.16 - Aşama 13 profesyonel belgeler ve cari ekstre */
.document-sheet {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  padding: 28px;
  border: 1px solid #e4e8ef;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(31, 41, 55, .07);
  color: #273142
}

.document-company-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 2px solid #222b3a
}

.document-brand {
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: -.025em;
  color: #222b3a
}

.document-contact {
  margin-top: 3px;
  color: #788396;
  font-size: .7rem;
  line-height: 1.45
}

.document-type {
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .08em;
  color: #222b3a
}

.document-date {
  margin-top: 4px;
  color: #7d8798;
  font-size: .68rem
}

.document-party-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 18px 0
}

.document-party {
  padding: 13px 14px;
  border: 1px solid #e8ebf0;
  border-radius: 12px;
  background: #fafbfc
}

.document-party>span {
  display: block;
  margin-bottom: 4px;
  color: #8a94a5;
  font-size: .58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em
}

.document-party>strong {
  display: block;
  color: #303a4c;
  font-size: .8rem
}

.document-party>small {
  display: block;
  margin-top: 3px;
  color: #818b9c;
  font-size: .62rem
}

.document-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px
}

.document-summary-grid>div {
  padding: 12px 13px;
  border: 1px solid #e6eaf0;
  border-radius: 12px;
  background: #fff
}

.document-summary-grid span {
  display: block;
  color: #8a94a5;
  font-size: .58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em
}

.document-summary-grid strong {
  display: block;
  margin-top: 5px;
  color: #313b4e;
  font-size: .84rem
}

.document-summary-grid .primary {
  border-color: #d9d6ff;
  background: #f7f6ff
}

.document-summary-grid .primary strong {
  color: #564ee0
}

.document-table-wrap {
  border: 1px solid #e6e9ef;
  border-radius: 12px;
  overflow: hidden
}

.document-table {
  font-size: .72rem
}

.document-table thead th {
  padding: 9px 10px;
  background: #f4f6f9;
  color: #596478;
  border-bottom: 1px solid #dfe4eb;
  font-size: .6rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .035em;
  white-space: nowrap
}

.document-table tbody td {
  padding: 9px 10px;
  border-color: #edf0f4;
  color: #465165;
  vertical-align: middle
}

.document-footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-top: 13px;
  border-top: 1px solid #e1e5eb;
  color: #7b8596;
  font-size: .62rem
}

.receipt-sheet .document-footer,
.sale-document .document-footer {
  margin-top: 18px
}

.sale-document .document-contact,
.receipt-sheet .document-contact {
  color: #7d8798;
  font-size: .64rem
}

@media(max-width:767.98px) {
  .document-sheet {
    padding: 16px;
    border-radius: 15px
  }

  .document-company-head {
    gap: 12px
  }

  .document-type {
    font-size: .69rem
  }

  .document-party-grid {
    grid-template-columns: 1fr
  }

  .document-summary-grid {
    grid-template-columns: 1fr 1fr
  }

  .document-table {
    min-width: 760px
  }

  .document-footer {
    flex-direction: column;
    gap: 4px
  }
}

@media print {

  .document-sheet,
  .receipt-sheet,
  .sale-document {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important
  }

  .document-company-head {
    padding-bottom: 5mm;
    margin-bottom: 4mm;
    border-bottom: 1.5pt solid #222b3a
  }

  .document-party-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 3mm !important;
    margin: 4mm 0 !important
  }

  .document-party {
    padding: 3mm !important;
    border: 1px solid #dfe3e9 !important;
    background: #fff !important
  }

  .document-summary-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 2.5mm !important;
    margin-bottom: 4mm !important
  }

  .document-summary-grid>div {
    padding: 3mm !important;
    border: 1px solid #dfe3e9 !important;
    background: #fff !important
  }

  .document-table-wrap {
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important
  }

  .document-table {
    min-width: 0 !important;
    font-size: 8pt !important
  }

  .document-table thead {
    display: table-header-group !important
  }

  .document-table th,
  .document-table td {
    padding: 2mm 1.5mm !important;
    font-size: 7.5pt !important
  }

  .document-footer {
    margin-top: 5mm !important;
    padding-top: 3mm !important;
    font-size: 7.5pt !important;
    break-inside: avoid
  }

  .statement-sheet {
    font-size: 9pt !important
  }

  .receipt-sheet,
  .sale-document {
    break-inside: auto !important
  }
}

/* v1.18 - Şube ve personel yönetimi */
.branch-switcher {
  height: 38px;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 12px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 6px 18px rgba(15, 23, 42, .05)
}

.branch-switcher i {
  color: #475569
}

.branch-switcher select {
  border: 0;
  background: transparent;
  outline: 0;
  max-width: 165px;
  font-weight: 700;
  font-size: .86rem;
  color: #0f172a;
  cursor: pointer
}

.sidebar-branch-switch {
  margin: 0 12px 10px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .08)
}

.sidebar-branch-switch label {
  display: block;
  color: #94a3b8;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .08em;
  margin-bottom: 4px
}

.sidebar-branch-switch select {
  width: 100%;
  border: 0;
  background: #172033;
  color: #f8fafc;
  border-radius: 8px;
  padding: 6px 8px;
  font-size: .78rem;
  outline: 0
}

.branch-choice {
  cursor: pointer;
  transition: .18s ease;
  background: #fff
}

.branch-choice:hover {
  border-color: #94a3b8 !important;
  box-shadow: 0 5px 18px rgba(15, 23, 42, .06)
}

.branch-choice:has(.form-check-input:checked) {
  border-color: #6366f1 !important;
  background: rgba(99, 102, 241, .045)
}

@media (max-width:767.98px) {
  .branch-switcher {
    display: none !important
  }

  .branch-choice {
    padding: .75rem !important
  }
}

/* v1.19 PWA / kurulabilir mobil uygulama */
.sidebar-install-link {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  font-family: inherit
}

.pwa-install-trigger {
  cursor: pointer
}

.pwa-install-sheet[hidden] {
  display: none !important
}

.pwa-install-sheet {
  position: fixed;
  inset: 0;
  z-index: 1095;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 18px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease
}

.pwa-install-sheet.show {
  opacity: 1;
  pointer-events: auto
}

.pwa-install-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(15, 23, 42, .48);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px)
}

.pwa-install-card {
  position: relative;
  width: min(460px, 100%);
  padding: 14px 18px calc(18px + env(safe-area-inset-bottom));
  border: 1px solid rgba(224, 228, 236, .94);
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(15, 23, 42, .25);
  transform: translateY(18px);
  transition: transform .18s ease
}

.pwa-install-sheet.show .pwa-install-card {
  transform: translateY(0)
}

.pwa-install-handle {
  width: 42px;
  height: 4px;
  margin: 0 auto 16px;
  border-radius: 99px;
  background: #d7dce5
}

.pwa-install-icon {
  width: 68px;
  height: 68px;
  margin-bottom: 14px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(67, 56, 202, .22)
}

.pwa-install-icon img {
  width: 100%;
  height: 100%;
  display: block
}

.pwa-install-copy h2 {
  margin: 0 0 7px;
  color: #263147;
  font-size: 1.08rem;
  font-weight: 850;
  letter-spacing: -.025em
}

.pwa-install-copy p {
  margin: 0;
  color: #7b8698;
  font-size: .75rem;
  line-height: 1.55
}

.pwa-ios-steps {
  display: grid;
  gap: 8px;
  margin-top: 16px
}

.pwa-ios-steps>div {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 9px;
  padding: 9px 10px;
  border: 1px solid #e8ebf1;
  border-radius: 12px;
  background: #fafbfe;
  color: #657084;
  font-size: .7rem
}

.pwa-ios-steps b {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #efefff;
  color: #5b52e8
}

.pwa-install-actions {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 9px;
  margin-top: 18px
}

.pwa-install-actions .btn {
  min-height: 43px;
  border-radius: 12px;
  font-size: .73rem;
  font-weight: 800
}

.pwa-network-pill {
  position: fixed;
  z-index: 1085;
  left: 50%;
  bottom: calc(88px + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid rgba(254, 202, 202, .9);
  border-radius: 99px;
  background: rgba(255, 247, 247, .96);
  color: #b43d49;
  font-size: .67rem;
  font-weight: 800;
  box-shadow: 0 9px 26px rgba(94, 31, 39, .14);
  backdrop-filter: blur(12px)
}

.pwa-network-pill[hidden] {
  display: none !important
}

.pwa-standalone body {
  overscroll-behavior-y: none
}

.pwa-standalone .app-topbar {
  padding-top: calc(10px + env(safe-area-inset-top))
}

.pwa-standalone .mobile-sidebar {
  padding-top: env(safe-area-inset-top)
}

@media(min-width:992px) {
  .pwa-network-pill {
    bottom: 22px
  }

  .pwa-install-sheet {
    align-items: center
  }

  .pwa-install-card {
    padding-bottom: 18px
  }
}

@media(max-width:575.98px) {
  .pwa-install-sheet {
    padding: 10px
  }

  .pwa-install-card {
    border-radius: 23px
  }

  .pwa-install-actions {
    grid-template-columns: 1fr 1.2fr
  }
}

@media print {

  .pwa-install-sheet,
  .pwa-network-pill,
  .pwa-install-trigger {
    display: none !important
  }
}

/* v1.22 demo hesap koruma popup */
.demo-lock-modal .modal-content {
  border-radius: 24px;
  overflow: hidden
}

.demo-lock-icon {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #eff6ff, #dbeafe);
  color: #2563eb;
  font-size: 28px;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .08)
}

body[data-demo-account="1"] .sidebar-brand .brand-mark {
  position: relative
}

body[data-demo-account="1"] .sidebar-brand .brand-mark::after {
  content: "D";
  position: absolute;
  right: -5px;
  top: -5px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: #2563eb;
  color: #fff;
  font: 700 10px/18px system-ui;
  text-align: center;
  box-shadow: 0 0 0 2px #111827
}


/* v1.24 - system-consistent login typography */
.login-shell,
.login-shell button,
.login-shell input,
.login-shell select,
.login-shell textarea,
.login-shell a,
.login-shell span,
.login-shell strong,
.login-shell p,
.login-shell h1,
.login-shell h2,
.login-shell label {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

.login-branding h1 {
  font-size: 1.82rem;
  line-height: 1.15;
  font-weight: 760;
  letter-spacing: -.018em;
}

.login-branding p {
  font-size: .88rem;
  line-height: 1.58;
  font-weight: 400;
  letter-spacing: 0;
}

.login-kicker,
.login-version,
.login-chip,
.login-meta-badge {
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.login-visual-kicker {
  font-size: .76rem;
  font-weight: 650;
  letter-spacing: .01em;
  text-transform: none;
}

.login-visual-content h2 {
  max-width: 680px;
  margin: 18px 0 10px;
  font-size: 2rem;
  line-height: 1.18;
  font-weight: 760;
  letter-spacing: -.018em;
}

.login-visual-content>p {
  font-size: .9rem;
  line-height: 1.62;
  font-weight: 400;
  letter-spacing: 0;
}

.login-form-card .form-label,
.login-remember .form-check-label,
.login-text-link,
.login-security-note,
.login-assist-card p,
.login-core-card span,
.login-float-card span,
.login-feature-box span {
  letter-spacing: 0;
}

.login-form-card .form-label {
  font-weight: 650
}

.login-control {
  font-weight: 400
}

.login-submit-btn,
.login-demo-btn {
  font-weight: 700;
  letter-spacing: 0
}

.login-assist-card strong,
.login-core-card strong,
.login-float-card strong,
.login-feature-box strong {
  font-weight: 700;
  letter-spacing: 0
}

.login-feature-box strong {
  font-size: .8rem;
  line-height: 1.42
}

.login-core-card strong {
  font-size: 1rem
}

.login-float-card strong {
  font-size: .8rem
}

@media(max-width:991.98px) {
  .login-visual-content h2 {
    font-size: 1.72rem
  }
}

@media(max-width:767.98px) {
  .login-branding h1 {
    font-size: 1.58rem
  }
}

@media(max-width:575.98px) {
  .login-visual-content h2 {
    font-size: 1.36rem
  }
}

/* v1.25 CSP-safe text action */
.login-text-button {
  padding: 0;
  border: 0;
  background: transparent;
  font-family: inherit;
  line-height: inherit;
  cursor: pointer
}