/* Ortak tasarım değişkenleri. Firma rengi layout içinde, bileşen uyarlamaları ilgili stil dosyalarında tanımlanır. */

:root {
  /* Tipografi. */
  --font-sans: 'Inter', 'Segoe UI', system-ui, sans-serif;
  --font-family-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;

  --font-size-xs: 0.6875rem;
  --font-size-sm: 0.75rem;
  --font-size-md: 0.8125rem;
  --font-size-lg: 0.9375rem;
  --font-size-xl: 1.0625rem;
  --font-size-2xl: 1.1875rem;
  --font-size-3xl: 1.375rem;

  --font-size-body: var(--font-size-md);
  --icon-size-sm: 14px;
  --icon-size-md: 16px;
  --icon-size-lg: 18px;
  --font-size-control: var(--font-size-md);
  --font-size-small: var(--font-size-sm);
  --font-size-h1: var(--font-size-2xl);
  --font-size-h2: var(--font-size-xl);
  --font-size-h3: var(--font-size-lg);

  /* Firma rengi. */
  --color-primary: #0c1a32;
  --color-on-primary: #ffffff;
  --color-on-primary-hover: #ffffff;
  --color-secondary: #fb5315;
  --color-on-secondary: #151a23;
  --color-on-secondary-hover: #ffffff;
  --color-secondary-gradient: linear-gradient(135deg, #f82f00, #fe7b2c);
  --color-secondary-gradient-hover: linear-gradient(135deg, #e02a00, #f05423);
  --color-secondary-on-gradient: #ffffff;

  /* Firma tonlarının varsayılanları; destekleyen tarayıcılarda aşağıda dinamik üretilir. */
  --color-primary-hover: #1c2e4b;
  --color-primary-soft: #edf0f5;
  --color-primary-border: #bdc6d2;
  --color-primary-text: #172b4c;
  --color-focus-ring: var(--color-primary);
  --color-secondary-hover: #d54208;
  --color-secondary-soft: #ff8a5c;
  --color-secondary-subtle: #fff3e8;
  --color-secondary-text: #b44b0d;
  --color-secondary-border: #f2c19f;

  /* Durum renkleri. */
  --color-success: #218653;
  --color-warning: #e4a20b;
  --color-danger: #d12127;
  --color-danger-hover: #b51d22;
  --color-danger-subtle: #fff1f2;
  --color-danger-text: #b51d22;
  --color-danger-border: #f1b7ba;
  --color-info: #1877c9;
  --color-info-text: #125e9e;
  --color-info-subtle: #eef6fd;
  --color-info-border: #afd0ed;
  --color-success-subtle: #eefaf3;
  --color-warning-subtle: #fff8e6;

  /* Yüzey, metin ve kenarlık renkleri. */
  --color-background: #F9F8F6;
  --color-surface: #FFFFFF;
  --color-surface-muted: var(--color-background);
  --color-border: #EEF0F3;
  --color-text: #3A3F49;
  --color-muted: #667085;
  --color-hint: var(--color-muted);
  --color-skeleton: #e4e8ed;
  --color-surface-subtle: var(--color-background);
  --color-table-divider: var(--color-border);
  --color-sidebar-label: var(--color-muted);
  --color-sidebar-icon: var(--color-muted);
  --color-overlay: rgb(12 26 50 / 70%);

  /* Eski alan adları ortak palete bağlanır. */
  --color-label: var(--color-muted);
  --color-field-border: var(--color-border);
  --color-field-surface: var(--color-surface);
  --color-field-icon: var(--color-muted);

  /* Uyarı yüzeyleri. */
  --color-alert-surface: var(--color-danger-subtle);
  --color-alert-surface-strong: var(--color-danger-subtle);
  --color-alert-border: var(--color-danger-border);
  --color-alert-text: var(--color-danger-text);

  /* Durum metinleri. */
  --color-success-text: #176c40;
  --color-success-border: #a9d9bb;
  --color-warning-text: #8a5b00;
  --color-warning-border: #efd08b;

  /* Köşe, gölge ve bileşen ölçüleri. */
  --radius-control: 0px;
  --shadow-card: 0 12px 35px rgb(12 26 50 / 7%);
  --shadow-modal: 0 24px 64px rgb(12 26 50 / 26%);
  --shadow-sidebar-active: 0 5px 14px rgb(12 26 50 / 16%);
  --shadow-secondary: 0 4px 14px rgb(240 84 35 / 12%);
  --shadow-secondary-hover: 0 6px 18px rgb(240 84 35 / 22%);

  --card-padding-block: 8px;
  --card-padding-inline: 12px;
  --card-padding: var(--card-padding-block) var(--card-padding-inline);
  --toolbar-padding-block: 8px;
  --toolbar-padding-inline: 12px;
  --toolbar-padding: var(--toolbar-padding-block) var(--toolbar-padding-inline);
  --control-height: 40px;
  --button-height-sm: 32px;
  --button-height-md: 38px;
  --button-height-lg: 46px;
  --button-padding-inline: 12px;
  --button-padding-inline-lg: 22px;
  --button-font-weight: var(--font-weight-semibold);
  --border-width: 1px;
  --row-padding-block: 6px;
  --row-height: calc(var(--control-height) + 2 * var(--row-padding-block) + 2 * var(--border-width));
  --card-header-height: var(--row-height);
  --card-title-font-size: var(--font-size-md);
  --card-title-font-weight: var(--font-weight-semibold);
  --tab-height: var(--button-height-md);
  --tab-font-size: var(--font-size-md);
  --tab-font-weight: var(--font-weight-medium);
  --tab-summary-height: 84px;
  --dashboard-chart-height-mobile: 360px;
  --modal-root-padding: clamp(12px, 2.5vw, 28px);

  /* Yerleşim ölçüleri. */
  --sidebar-width: 260px;
  --sidebar-head-height: 72px;

  /* Geçiş ve yükleme süreleri. */
  --duration-fade: 200ms;
  --duration-spinner: 800ms;
  --loading-size-sm: 16px;
  --loading-size-md: 28px;
  --loading-size-lg: 32px;
  --loading-ring-stroke: 2px;
  --skeleton-delay: 0s;
}


/* Firma rengi değiştiğinde etkileşim tonları aynı kaynaktan hesaplanır. */
@supports (color: color-mix(in srgb, red, blue)) {
  :root {
    --color-primary-hover: color-mix(in srgb, var(--color-primary) 82%, #000);
    --color-primary-soft: color-mix(in srgb, var(--color-primary) 7%, #fff);
    --color-primary-border: color-mix(in srgb, var(--color-primary) 28%, #fff);
    --color-primary-text: color-mix(in srgb, var(--color-primary) 30%, #172b4c);
  }
}

/* Bootstrap değişkenleri ortak tasarım değişkenlerine bağlanır. */
:root {
  --bs-primary: var(--color-primary);
  --bs-secondary: var(--color-secondary);
  --bs-success: var(--color-success);
  --bs-warning: var(--color-warning);
  --bs-danger: var(--color-danger);
  --bs-info: var(--color-info);
  --bs-body-color: var(--color-text);
  --bs-body-color-rgb: 36, 42, 53;
  --bs-body-bg: var(--color-surface-muted);
  --bs-body-bg-rgb: 249, 248, 246;
  --bs-border-color: var(--color-border);
  --bs-border-color-translucent: var(--color-border);
  --bs-border-radius: var(--radius-control);
  --bs-border-radius-sm: var(--radius-control);
  --bs-border-radius-lg: var(--radius-control);
  --bs-body-font-size: var(--font-size-body);
  --bs-body-font-family: var(--font-sans);
  --bs-font-sans-serif: var(--font-sans);
  --bs-secondary-color: var(--color-muted);
  --bs-secondary-color-rgb: 102, 112, 133;
  --bs-tertiary-color: var(--color-hint);
  --bs-secondary-bg: var(--color-background);
  --bs-tertiary-bg: var(--color-background);
}

/* Sayfa tabanı. */
html {
  font-size: 100%;
}
*, *::before, *::after { box-sizing: border-box; }
html, body { min-width: 320px; margin: 0; }

/* Kaydırma sürer; çubuklar sayfa, modal ve açılır listelerde gizlenir. */
html,
body,
body * {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
body *::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

body :is(.lean-data-table-wrap, .dataTables_scrollBody, .table-responsive, .data-table-wrap, .lean-product-detail-table-scroll, .table-responsive-sm, .table-responsive-md, .table-responsive-lg, .table-responsive-xl, .table-responsive-xxl, .lean-orders-detail-scroll, .lean-statement-detail-scroll, .lean-product-modal .modal-body:has(> .table)) {
  overflow-x: auto !important;
  scrollbar-width: auto !important;
  -ms-overflow-style: auto !important;
}

body :is(.lean-data-table-wrap, .dataTables_scrollBody, .table-responsive, .data-table-wrap, .lean-product-detail-table-scroll, .table-responsive-sm, .table-responsive-md, .table-responsive-lg, .table-responsive-xl, .table-responsive-xxl, .lean-orders-detail-scroll, .lean-statement-detail-scroll, .lean-product-modal .modal-body:has(> .table))::-webkit-scrollbar {
  display: block !important;
  width: 0 !important;
  height: 10px !important;
}

body :is(.lean-data-table-wrap, .dataTables_scrollBody, .table-responsive, .data-table-wrap, .lean-product-detail-table-scroll, .table-responsive-sm, .table-responsive-md, .table-responsive-lg, .table-responsive-xl, .table-responsive-xxl, .lean-orders-detail-scroll, .lean-statement-detail-scroll, .lean-product-modal .modal-body:has(> .table))::-webkit-scrollbar:vertical {
  display: none !important;
}

body :is(.lean-data-table-wrap, .dataTables_scrollBody, .table-responsive, .data-table-wrap, .lean-product-detail-table-scroll, .table-responsive-sm, .table-responsive-md, .table-responsive-lg, .table-responsive-xl, .table-responsive-xxl, .lean-orders-detail-scroll, .lean-statement-detail-scroll, .lean-product-modal .modal-body:has(> .table))::-webkit-scrollbar-track {
  background: var(--color-surface);
}

body :is(.lean-data-table-wrap, .dataTables_scrollBody, .table-responsive, .data-table-wrap, .lean-product-detail-table-scroll, .table-responsive-sm, .table-responsive-md, .table-responsive-lg, .table-responsive-xl, .table-responsive-xxl, .lean-orders-detail-scroll, .lean-statement-detail-scroll, .lean-product-modal .modal-body:has(> .table))::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: var(--radius-control);
  background: color-mix(in srgb, var(--color-muted) 40%, var(--color-surface));
  background-clip: padding-box;
}

body :is(.lean-data-table-wrap, .dataTables_scrollBody, .table-responsive, .data-table-wrap, .lean-product-detail-table-scroll, .table-responsive-sm, .table-responsive-md, .table-responsive-lg, .table-responsive-xl, .table-responsive-xxl, .lean-orders-detail-scroll, .lean-statement-detail-scroll, .lean-product-modal .modal-body:has(> .table))::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--color-muted) 65%, var(--color-surface));
  background-clip: padding-box;
}

body :is(.lean-data-table-wrap, .dataTables_scrollBody, .table-responsive, .data-table-wrap, .lean-product-detail-table-scroll, .table-responsive-sm, .table-responsive-md, .table-responsive-lg, .table-responsive-xl, .table-responsive-xxl, .lean-orders-detail-scroll, .lean-statement-detail-scroll, .lean-product-modal .modal-body:has(> .table))::-webkit-scrollbar-button,
body :is(.lean-data-table-wrap, .dataTables_scrollBody, .table-responsive, .data-table-wrap, .lean-product-detail-table-scroll, .table-responsive-sm, .table-responsive-md, .table-responsive-lg, .table-responsive-xl, .table-responsive-xxl, .lean-orders-detail-scroll, .lean-statement-detail-scroll, .lean-product-modal .modal-body:has(> .table))::-webkit-scrollbar-corner {
  display: none;
  width: 0;
  height: 0;
}

/* NiceScroll'un ayrıca ürettiği kaydırma çubuğu gizlenir. */
.nicescroll-rails {
  display: none !important;
}

html, body { height: 100%; }
* { min-width: 0; }

body {
  position: relative;
  overflow-x: hidden;
  font-family: var(--font-sans);
  font-size: var(--font-size-body);
  line-height: 1.5;
  color: var(--color-text);
  background: var(--color-surface-muted);
  text-rendering: optimizeLegibility;
  font-synthesis: none;
}

a {
  color: var(--color-primary);
  text-decoration: none;
}

::selection {
  background-color: var(--color-primary-soft);
  color: var(--color-text);
}
@supports (color: color-mix(in srgb, red, blue)) {
  :root { --color-focus-ring: color-mix(in srgb, var(--color-primary) 60%, var(--color-surface)); }
  ::selection { background-color: color-mix(in srgb, var(--color-primary) 24%, #fff); }
}
input[type='checkbox'], input[type='radio'] { accent-color: var(--color-primary); }

/* Başlıklar. */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  color: var(--color-text);
  font-family: inherit;
  line-height: 1.2;
}
h1 { font-size: var(--font-size-h1); }
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); }

/* Azaltılmış hareket tercihi. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    animation-delay: 0s !important;
    transition-duration: 0.001ms !important;
    transition-delay: 0s !important;
  }
}

