* {
  unicode-bidi: embed;
}
.load {
  text-align: center;
}
html body .b-0 {
  border: none !important;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.input-group-text {
  padding: 0.37rem 0.75rem;
}

.tarihRapor {
  top: 1px;
}
#addFilesbutton {
  margin-top: -0.179rem;
  padding-bottom: 0.21rem;
  border-bottom: 1px solid var(--app-border);
  display: block;
}

.alert {
  word-break: break-word !important;
}

/* Alert() yardımcısı: başlık + metin + düğme akışkan satırda; flex olunca dar ekranda başlık harf harf kırılıyordu. */
.alert.alert-stack { display: block; position: relative; padding-inline-end: 2.75rem; }
.alert.alert-stack > .btn-close { position: absolute; inset-block-start: .75rem; inset-inline-end: .75rem; margin: 0; }

/* Sabit #071e39 (neredeyse siyah) idi: koyu temada koyu uyarı kutusunun
   üstünde kapatma düğmesi görünmüyordu. */
.alert > .close {
  color: currentColor !important;
  opacity: .65;
}

.alert > .close:hover {
  opacity: 1;
}
.link {
  cursor: pointer;
}
.lstick-btn {
  display: inline;
  position: absolute;
  inset-inline-end: 14px;
  top: 10px;
}
.flag-icon {
  width: 24px !important;
}
hr.double {
  border-top: 3px double var(--app-border-strong) !important;
}
hr.double-2 {
  border-bottom: 1px dotted var(--app-border);
}
.pdr-3 {
  padding-inline-end: 0.3rem !important;
}

.pdr-03 {
  padding: 0.35rem !important;
}
.tab-content > .tab-pane {
  margin-top: 10px;
}
.nav-tabs .nav-item {
  font-weight: 600;
}
div.required .control-label:not(span):before,
td.required:before {
  content: "* ";
  color: var(--app-danger);
  font-weight: bold;
}

div.required-blue .control-label:not(span):before,
td.required-blue:before {
  content: "* ";
  color: var(--app-brand);
  font-weight: bold;
}
.pd-7 {
  padding: 7px !important;
}

.no-click {
  pointer-events: none !important;
  cursor: default !important;
  opacity: 0.5 !important;
}
.form-control:focus {
  outline: 0;
  box-shadow: none;
}

.table td,
.table th {
  padding: 0.52rem;
}
.btn-group-xs > .btn,
.btn-xs {
  padding: 0.15rem 0.18rem;
  font-size: 0.875rem;
  line-height: 1;
}

.btn-whatsapp {
  color: #fff;
  background-color: #05cd51;
  border-color: #05cd51;
}

.btn-whatsapp:hover,
.btn-whatsapp:active,
.btn-whatsapp.active {
  background: #1c9c4d;
  color: #ffffff;
  border-color: #1c9c4d;
}
/* Üç düğmenin de focus halkası rgba(12,70,135,.4) — hiçbirinin rengiyle
   ilgisi olmayan tek bir maviydi. Halka artık düğmenin kendi rengini alıyor. */
.btn-whatsapp:focus,
.btn-whatsapp.focus {
  box-shadow: 0 0 0 0.1rem rgba(5, 205, 81, 0.4);
}
.btn-viber {
  color: #fff;
  background-color: #6c3da5;
  border-color: #6c3da5;
}

.btn-viber:hover,
.btn-viber:active,
.btn-viber.active {
  background: #4e2c80;
  color: #ffffff;
  border-color: #4e2c80;
}
.btn-viber:focus,
.btn-viber.focus {
  box-shadow: 0 0 0 0.1rem rgba(108, 61, 165, 0.4);
}
.btn-telegram {
  color: #fff;
  background-color: #27a7e5;
  border-color: #27a7e5;
}

.btn-telegram:hover,
.btn-telegram:active,
.btn-telegram.active {
  background: #22759c;
  color: #ffffff;
  border-color: #22759c;
}
.btn-telegram:focus,
.btn-telegram.focus {
  box-shadow: 0 0 0 0.1rem rgba(39, 167, 229, 0.4);
}

#dropzone {
  padding: 20px;
}
.dropzone {
  border: 2px dashed var(--app-brand);
  border-radius: 5px;
  background: var(--app-surface);
  color: var(--app-text);
}
.dropzone .dz-message {
  font-weight: 400;
}
.dropzone .dz-message .note {
  font-size: 0.8em;
  font-weight: 200;
  display: block;
  margin-top: 1.4rem;
}

.mh-100 {
  min-height: 100px !important;
}

.zoom_img img:hover {
  -moz-transform: scale(6);
  -webkit-transform: scale(6);
  -o-transform: scale(6);
  transition: 1s;
  z-index: 1000 !important;
}

.block {
  float: inline-start;
  width: 100%;
}

.placeholder {
  background-color: rgba(255, 255, 0, 0.5);
  border: 1px dashed var(--app-border-strong);
  float: inline-start;
}
textarea.noresize {
  resize: none;
}
.flag-icon-noc {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxz%0D%0AdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxu%0D%0AczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6%0D%0ALy93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0%0D%0AcDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw%0D%0AL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQv%0D%0ARFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2Fw%0D%0AZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaGVpZ2h0PSI0ODAiCiAgIHdpZHRoPSI2NDAi%0D%0ACiAgIHZpZXdCb3g9IjAgMCA2NDAgNDgwIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc4Igog%0D%0AICBzb2RpcG9kaTpkb2NuYW1lPSJ1bmsuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjAg%0D%0AcjE1Mjk5Ij4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExNCI+CiAgICA8cmRmOlJERj4K%0D%0AICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+%0D%0AaW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRm%0D%0AOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAg%0D%0AICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRG%0D%0APgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczEyIiAvPgogIDxzb2RpcG9kaTpu%0D%0AYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2%0D%0ANjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAg%0D%0AIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2Fw%0D%0AZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3Nj%0D%0AYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE5%0D%0AIgogICAgIGlkPSJuYW1lZHZpZXcxMCIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2Nh%0D%0AcGU6em9vbT0iMC40OTE2NjY2NyIKICAgICBpbmtzY2FwZTpjeD0iMzI2LjEwMTY5IgogICAgIGlu%0D%0Aa3NjYXBlOmN5PSItMjM3LjA2MjcyIgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlu%0D%0Aa3NjYXBlOndpbmRvdy15PSIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgog%0D%0AICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzgiIC8+CiAgPHBhdGgKICAgICBkPSJNMCAw%0D%0AaDY0MHYxNjBIMHoiCiAgICAgZmlsbD0icmVkIgogICAgIGlkPSJwYXRoMiIKICAgICBzdHlsZT0i%0D%0AZmlsbDojOTk5OTk5IiAvPgogIDxwYXRoCiAgICAgZD0iTTAgMTYwaDY0MHYxNjBIMHoiCiAgICAg%0D%0AaWQ9InBhdGg0IgogICAgIGZpbGw9IiMwMGYiCiAgICAgc3R5bGU9ImZpbGw6I2VjZWNlYyIgLz4K%0D%0AICA8cGF0aAogICAgIGQ9Ik0wIDMyMGg2NDB2MTYwSDB6IgogICAgIGZpbGw9Im9yYW5nZSIKICAg%0D%0AICBpZD0icGF0aDYiCiAgICAgc3R5bGU9ImZpbGw6I2NjY2NjYyIgLz4KICA8ZwogICAgIGFyaWEt%0D%0AbGFiZWw9Ij8KIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMzQ5OTYyMywwLDAsMS4zNDk5NjIz%0D%0ALC05Ny4wNDgzNDksMTE2LjAzNjkpIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250%0D%0ALXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO2Zv%0D%0AbnQtc2l6ZToxMzMuMzMzMzI4MjVweDtsaW5lLWhlaWdodDoyNXB4O2ZvbnQtZmFtaWx5OidUZVgg%0D%0AR3lyZSBUZXJtZXMnOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J1RlWCBHeXJlIFRlcm1l%0D%0Acyc7bGV0dGVyLXNwYWNpbmc6MHB4O3dvcmQtc3BhY2luZzowcHg7ZmlsbDojMDAwMDAwO2ZpbGwt%0D%0Ab3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxcHg7c3Ryb2tlLWxpbmVjYXA6YnV0%0D%0AdDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBpZD0iZmxvd1Jv%0D%0Ab3Q4MzIiPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMzY5LjMzMzMzLDUyLjYyNzA4NSBjIDAsLTM0%0D%0ALjkzMzMzMiAtMjUuODY2NjcsLTYxLjA2NjY2NDQgLTYwLC02MS4wNjY2NjQ0IC0zMS43MzMzMyww%0D%0AIC01Ny42LDIwLjUzMzMzMjQgLTYwLjgsNjEuODY2NjY0NCBIIDI4NCBjIDIuNCwtMTguMTMzMzMz%0D%0AIDEwLjEzMzMzLC0yNi42NjY2NjYgMjQuNTMzMzMsLTI2LjY2NjY2NiAxNC42NjY2NywwIDI1LjMz%0D%0AMzMzLDEwLjQgMjUuMzMzMzMsMjQuNzk5OTk5IDAsOCAtNCwxNiAtMTIsMjIuNjY2NjY2IEMgMjk1%0D%0ALjIsOTYuMDkzNzUgMjg5LjMzMzMzLDEwOC44OTM3NSAyODkuMzMzMzMsMTQyLjIyNzA4IEggMzI0%0D%0ALjggYyAwLjI2NjY2LC0yMy4yIDIuNjY2NjYsLTI5LjA2NjY2IDE3LjMzMzMzLC00MS44NjY2NiAy%0D%0AMC41MzMzMywtMTcuODY2NjcgMjcuMiwtMjkuODY2NjY5IDI3LjIsLTQ3LjczMzMzNSB6IE0gMzI0%0D%0ALjgsMTkyLjA5Mzc1IHYgLTM0LjEzMzM0IGggLTM1LjQ2NjY3IHYgMzQuMTMzMzQgeiIKICAgICAg%0D%0AIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0%0D%0AOmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MjY2LjY2NjY1NjQ5cHg7Zm9udC1m%0D%0AYW1pbHk6J1RlWCBHeXJlIEFkdmVudG9yJzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidU%0D%0AZVggR3lyZSBBZHZlbnRvciBCb2xkJyIKICAgICAgIGlkPSJwYXRoODQ2IgogICAgICAgaW5rc2Nh%0D%0AcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICA8L2c+Cjwvc3ZnPgo=);
}

.flag {
  display: inline-block;
  width: 32px;
  height: 24px;
  background: url("../image/flags.png") no-repeat;
}

.flag.flag-az {
  background-position: -32px 0;
}

.flag.flag-cy {
  background-position: -64px 0;
}

.flag.flag-de {
  background-position: -96px 0;
}

.flag.flag-fr {
  background-position: 0 -32px;
}

/* .flag.flag-en {
  background-position: -32px -32px;
} */

.flag.flag-iq {
  background-position: -64px -32px;
}

.flag.flag-pt {
  background-position: -96px -32px;
}

.flag.flag-ru {
  background-position: 0 -64px;
}

.flag.flag-ar {
  background-position: -32px -64px;
}

.flag.flag-tr {
  background-image: url("../image/flags/tr.svg");
  background-position: center;
  background-size: cover;
}

.flag.flag-en {
  background-image: url("../image/flags/us.svg");
  background-position: center;
  background-size: cover;
}

.flag.flag-es {
  background-image: url("../image/flags/es.svg");
  background-position: center;
  background-size: cover;
}

.gallery {
  padding: 40px;
  min-height: 270px;
}

.gallery img {
  width: 100%;
  margin-bottom: 10px;
  transition: 0.2s ease-in-out;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}

.gallery img:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}

.gallery img {
  border-radius: 4px;
}

.treeview-item span {
  padding: 4px;
  display: flex;
  margin-inline-start: auto;
  margin-inline-end: 1px;
}

/* Bu blok koyu/dolu zeminli tema rozetleri icin yazilmis: beyaz metin,
   gradient ve metin golgesi. span.badge (0,1,1) Tabler'in .bg-*-lt ve
   BS5'in .text-bg-* rozetlerinden (0,1,0) daha ozgul oldugu icin acik tonlu
   rozetleri de beyaza boyayip griye dusuruyordu; onlari disarida birakiyoruz. */
span.badge:not([class*="-lt"]):not([class*="text-bg-"]) {
  padding: 3px 6px;
  font-size: 11px;
  letter-spacing: 0.3px;
  /* Standard Rounded Design (Not Pill) */
  border-radius: 6px;
  /* Balanced Gradient: Slight highlight top, slight shadow bottom */
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.15) 0%,
    rgba(0, 0, 0, 0.1) 100%
  );
  /* Cleaner Shadow */
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  color: #fff !important;
  /* Crisp Text Reading */
  font-weight: 700;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  min-width: 20px;
  text-align: center !important;
  line-height: normal;
  display: inline-block;
  white-space: nowrap;
}

#msearch {
  display: none;
}
.select-group small img {
  margin-inline-start: 4px;
  vertical-align: middle;
}
/* Buradaki %54 / %46 çifti, ülke seçicisinin telefon alanıyla AYNI input-group
   içinde durduğu döneme aitti (o zamanki bootstrap-select %46'yı alırdı).
   Bootstrap-select Tom Select'e taşındı ve ülke ayrı bir alana çıktı; kural
   kalınca telefon inputu boş yere grubun yarısı kadar kalıyordu. */
.autoflow {
  overflow-x: auto !important;
}

/* Uzun liste kartı: kart kendi içinde kayar, sütun başlıkları üstte sabit kalır.
   (.autoflow zaten overflow'lu olduğundan sayfa kaydırmasına sticky çalışmaz.) */
.autoflow.sticky-head {
  padding-top: 0;
}
/* Çift kaydırma olmasın: geniş ekranda tablo sayfayla birlikte kayar (tek kaydırma çubuğu), sütun başlıkları görünümün üstüne yapışır.
   `overflow: clip` kaydırma kutusu oluşturmaz, bu yüzden sticky sayfa kaydırmasına göre çalışır; tablo bu genişlikte sığıyor.
   Dar ekranda yalnız yatay kaydırma kalır, başlık yapışmaz. */
@media (min-width: 1200px) {
  .autoflow.sticky-head { overflow: clip !important; }
  .autoflow.sticky-head table.dataTable > thead > tr > th { top: var(--app-header-h, 50px); }
}
@media (max-width: 1199.98px) {
  .autoflow.sticky-head table.dataTable > thead > tr > th { position: static; }
}
.autoflow.sticky-head > .tile-body {
  padding-top: 20px;
}
.sticky-head table.dataTable > thead > tr > th {
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: var(--app-surface);
  box-shadow: inset 0 -1px 0 var(--app-border);
}

.list-group-item {
  padding: 0.55rem 1rem;
}

/* Notlar kartı (dataEdit / callbackEdit): her not yumuşak bir balon, en yeni üstte. */
.note-compose { display: flex; align-items: flex-end; gap: .5rem; padding: .375rem .375rem .375rem .75rem; border: 1px solid var(--app-border); border-radius: 12px; background: var(--app-surface); transition: border-color .15s, box-shadow .15s; }
.note-compose:focus-within { border-color: var(--tblr-primary, #4f5bd5); box-shadow: 0 0 0 3px rgba(var(--app-brand-rgb), .15); }
.note-compose textarea { flex: 1; min-width: 0; border: 0; box-shadow: none; background: transparent; resize: none; overflow-y: auto; max-height: 9rem; min-height: 0; padding: .375rem 0; line-height: 1.45; }
.note-compose .btn { flex: none; }
.note-hint { margin: .25rem .25rem 0; font-size: .6875rem; color: var(--app-text-muted); }
.quick-tabs { display: flex; flex-wrap: nowrap; gap: .375rem; list-style: none; padding: 0; margin: 0 0 .875rem; }
ul.quick-tabs > li.nav-item { flex: 0 0 auto !important; width: auto !important; min-width: 0; margin: 0 !important; }
.quick-tabs .nav-link { display: flex; align-items: center; justify-content: center; gap: .3rem; padding: .4rem .375rem; font-size: .8125rem; white-space: nowrap; border: 1.5px solid var(--app-brand); border-radius: .5rem; background: transparent !important; box-shadow: none !important; color: var(--app-brand); font-weight: 600; transition: background-color .15s, color .15s; }
.quick-tabs .nav-link:hover { background: color-mix(in srgb, var(--app-brand) 10%, transparent) !important; }
.quick-tabs .nav-link.active { background: var(--app-brand) !important; color: #fff; box-shadow: 0 2px 6px color-mix(in srgb, var(--app-brand) 35%, transparent) !important; }
.quick-edit { display: grid; gap: .625rem; }
.quick-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .625rem; align-items: end; }
.quick-phone { align-items: start; }
.quick-edit .ts-wrapper .ts-control { min-height: 38px; }
.quick-pair > :only-child { grid-column: 1 / -1; }
.quick-l { display: block; margin-bottom: .125rem; font-size: .75rem; font-weight: 600; color: var(--app-text-muted); }
.quick-foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .25rem; }
.quick-acts { display: flex; flex-wrap: wrap; gap: .375rem; }
.quick-acts .btn, .quick-save { display: inline-flex; align-items: center; gap: .3rem; }
.quick-save { flex: none; padding-inline: 1.25rem; }
@media (max-width: 575.98px) { .quick-pair:not(.quick-names):not(.quick-phone) { grid-template-columns: minmax(0, 1fr); } .quick-tabs .nav-link { font-size: .8125rem; padding-inline: .25rem; } }
@media (max-width: 575.98px) { ul.quick-tabs > li.nav-item { flex: 1 1 0 !important; display: flex; } .quick-tabs .nav-link { flex: 1; min-height: 44px; }.quick-tabs-4 .nav-link { flex-direction: column; gap: .125rem; font-size: .75rem; padding-block: .375rem; white-space: normal; text-align: center; line-height: 1.15; } }
.quick-medical .quick-foot, [data-pane] .quick-foot { justify-content: flex-end; }
.quick-dups { display: grid; gap: .125rem; padding: .375rem .625rem; border: 1px solid var(--app-border); border-inline-start: 3px solid var(--app-brand); border-radius: .5rem; background: var(--app-surface-2); }
.quick-dups-head { font-size: .75rem; font-weight: 600; color: var(--app-text-muted); }
.quick-dup { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .625rem; padding: .25rem 0; font-size: .8125rem; color: var(--app-text); text-decoration: none; }
.quick-dup:hover .quick-dup-id { text-decoration: underline; }
.quick-dup-id { font-weight: 700; color: var(--app-brand); }
.quick-dup-name { flex: 1 1 8rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.quick-dup-date { font-size: .75rem; color: var(--app-text-muted); direction: ltr; unicode-bidi: isolate; }
.quick-dup .ti { color: var(--app-text-muted); }
@media (max-width: 767.98px) { .quick-dup { min-height: 44px; } }
.note-list { display: flex; flex-direction: column; max-height: calc(21rem + 4px); overflow-y: auto; overscroll-behavior: contain; }
#datalogs .note-list { max-height: 25rem; }
.note-item { padding: .625rem .25rem; border-bottom: 1px solid rgba(var(--app-brand-rgb), .4); }
.note-item:last-child { border-bottom: 0; }
.note-head { display: flex; align-items: center; gap: .5rem; min-height: 24px; }
.note-by { font-size: .8125rem; font-weight: 600; white-space: nowrap; }
.note-time { font-size: .75rem; color: var(--app-text-muted); margin-inline-start: auto; }
.note-time + .note-actions { margin-inline-start: 0; }
.note-text { white-space: pre-wrap; overflow-wrap: anywhere; margin-top: .125rem; font-size: .875rem; line-height: 1.45; }
.note-foot { margin-top: .25rem; font-size: .6875rem; color: var(--app-text-muted); font-style: italic; }
.note-actions { display: inline-flex; gap: .125rem; margin-inline-start: auto; flex: none; }
.note-act { --act-rgb: 66, 153, 225; --act-text: var(--app-info-text); display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 6px; background: transparent; box-shadow: none; color: var(--act-text); font-size: .9375rem; transition: background-color .15s, color .15s; }
.note-act:hover, .note-act:focus-visible { background: rgba(var(--act-rgb), .16); }
.note-act-del { --act-rgb: var(--app-danger-rgb); --act-text: var(--app-danger-text); }
.note-badge { display: inline-block; min-width: 1.5rem; padding: .125rem .4rem; margin-inline-start: .25rem; border-radius: 999px; background: var(--app-surface); color: var(--app-text); box-shadow: inset 0 0 0 1px var(--app-border); font-size: .75rem; font-weight: 700; line-height: 1.2; text-align: center; }
.note-badge:empty { display: none; }
.note-more { margin-top: .625rem; }
.note-edit { margin-top: .375rem; }
.note-edit-area { display: block; width: 100%; min-height: 4rem; max-height: 16rem; padding: .5rem .75rem; border: 1px solid var(--app-border); border-radius: 8px; background: var(--app-surface); color: var(--app-text); font: inherit; line-height: 1.45; resize: vertical; transition: border-color .15s, box-shadow .15s; }
.note-edit-area:focus { outline: 0; border-color: rgb(var(--app-brand-rgb)); box-shadow: 0 0 0 3px rgba(var(--app-brand-rgb), .15); }
.note-empty { padding: .5rem 0; }
@media (hover: none), (max-width: 767.98px) { .note-act { width: 44px; height: 44px; font-size: 1.125rem; } }

/* Sabit #cecece açık gri raydı; koyu temada ilerleme çubuğunun boş kısmı
   kartın içinde parlak bir şerit olarak sırıtıyordu. */
.progress {
  height: 0.2rem !important;
  background: var(--app-surface-3) !important;
}

/*--------------*/
.card .card-title {
  position: relative;
}
.card-inline {
  overflow: auto;
}
.card-body {
  padding: 0.75rem !important;
}
.lstick {
  width: 4px;
  height: 30px;
  margin-inline-start: -12px;
  margin-inline-end: 18px;
  display: inline-block;
  vertical-align: middle;
}

.lstick-danger {
  background-color: var(--app-danger);
}
.lstick-success {
  background-color: var(--app-success);
}
.lstick-white {
  background-color: #fff;
}
.lstick-warning {
  background-color: var(--app-warning);
}
.lstick-info {
  background-color: var(--app-info);
}
.lstick-primary {
  background-color: var(--app-brand);
}
/*--SC SCROLLBAR MOZILLA*/
@-moz-document url-prefix() {
  .sc {
    scrollbar-color: transparent transparent;
    scrollbar-width: thin;
  }

  .sc-main:hover {
    scrollbar-color: #1a2226 transparent;
  }
  .sc-danger:hover {
    scrollbar-color: var(--app-danger) transparent;
  }
  .sc-success:hover {
    scrollbar-color: var(--app-success) transparent;
  }
  .sc-info:hover {
    scrollbar-color: var(--app-info) transparent;
  }
  .sc-primary:hover {
    scrollbar-color: var(--app-brand) transparent;
  }
  .sc-white:hover {
    scrollbar-color: #fff transparent;
  }
}

/*---------*/
.sc::-webkit-scrollbar {
  background: transparent;
  width: 3px !important;
}
.sc::-webkit-scrollbar-thumb {
  background: transparent;
  width: 3px !important;
}

.sc-danger:hover::-webkit-scrollbar-thumb {
  background: var(--app-danger);
}
.sc-success:hover::-webkit-scrollbar-thumb {
  background: var(--app-success);
}
.sc-info:hover::-webkit-scrollbar-thumb {
  background: var(--app-info);
}
.sc-primary:hover::-webkit-scrollbar-thumb {
  background: var(--app-brand);
}
.sc-white:hover::-webkit-scrollbar-thumb {
  background: #fff;
}
/*-----------------------*/
.custom-select {
  background: url(../image/custom-select.png) right 0.75rem center no-repeat;
}
.bg-analitik {
  background-color: var(--app-info) !important;
}

.card {
  margin-bottom: 20px;
  height: 500px;
}

.card-inline {
  height: 396px;
}
.card-inline span {
  display: block;
}
/* Tanımlar listeleri: satır biraz daha ferah. */
.card-inline.sc > .bt-2 {
  padding-block: .3rem;
}
.card-inline:hover {
  position: relative;
  display: block;
}

.f-32 {
  font-size: 32px !important;
}
.f-28 {
  font-size: 28px !important;
}
.f-24 {
  font-size: 24px !important;
}
.f-20 {
  font-size: 20px !important;
}
.f-18 {
  font-size: 18px !important;
}
.f-16 {
  font-size: 16px !important;
}

.f-14 {
  font-size: 14px !important;
}
.f-12 {
  font-size: 12px !important;
}
.f-13 {
  font-size: 13px !important;
}

legend {
  font-size: 1.2rem;
  font-weight: bolder !important;
}

text {
  font-weight: bold !important;
}

path {
  -webkit-box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 1px 5px 0 rgba(0, 0, 0, 0.12),
    0 3px 1px -2px rgba(0, 0, 0, 0.2);
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 1px 5px 0 rgba(0, 0, 0, 0.12),
    0 3px 1px -2px rgba(0, 0, 0, 0.2);
}

select.btn-mini {
  height: auto;
  line-height: 14px;
}

/* this is optional (see below) */
select.btn {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: inherit;
  padding-inline-end: 16px;
}

select.btn-mini + .caret {
  margin-inline-start: -20px;
  margin-top: 9px;
}

.checkbox label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
}

/* Custom Checkbox and Radio Buttons */
.checkbox input[type="checkbox"] {
  display: none;
}

.checkbox input[type="checkbox"] + .label-text {
  cursor: pointer !important;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.checkbox input[type="checkbox"] + .label-text:before {
  content: "\f0c8";
  font-family: "Font Awesome 5 Pro";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  width: 1em;
  display: inline-block;
  margin-inline-end: 2px;
  vertical-align: -2px;
}

.checkbox input[type="checkbox"]:checked + .label-text::before {
  content: "\f14a";
  font-family: "Font Awesome 5 Pro";
  -webkit-animation: tick 180ms ease-in;
  animation: tick 180ms ease-in;
}

.checkbox-success input[type="checkbox"] + .label-text:before,
.checkbox-success input[type="radio"] + .label-text::before {
  color: var(--app-success);
}

.checkbox-success input[type="checkbox"]:checked + .label-text:before,
.checkbox-success input[type="radio"]:checked + .label-text:before {
  color: var(--app-success);
}
.checkbox-primary input[type="checkbox"] + .label-text:before,
.checkbox-primary input[type="radio"] + .label-text::before {
  color: var(--app-info);
}

.checkbox-primary input[type="checkbox"]:checked + .label-text:before,
.checkbox-primary input[type="radio"]:checked + .label-text:before {
  color: var(--app-info);
}

.checkbox-danger input[type="checkbox"] + .label-text:before,
.checkbox-danger input[type="radio"] + .label-text::before {
  color: var(--app-danger);
}

.checkbox-danger input[type="checkbox"]:checked + .label-text:before,
.checkbox-danger input[type="radio"]:checked + .label-text:before {
  color: var(--app-danger);
}

.checkbox-info input[type="checkbox"] + .label-text:before,
.checkbox-info input[type="radio"] + .label-text::before {
  color: var(--app-info);
}

.checkbox-info input[type="checkbox"]:checked + .label-text:before,
.checkbox-info input[type="radio"]:checked + .label-text:before {
  color: var(--app-info);
}

.checkbox-warning input[type="checkbox"] + .label-text:before,
.checkbox-warning input[type="radio"] + .label-text::before {
  color: var(--app-warning);
}

.checkbox-warning input[type="checkbox"]:checked + .label-text:before,
.checkbox-warning input[type="radio"]:checked + .label-text:before {
  color: var(--app-warning);
}

/*-----------------------------------*/
.checkbox input[type="checkbox"]:disabled + .label-text {
  cursor: not-allowed !important;
}

.checkbox input[type="checkbox"]:disabled + .label-text:before {
  content: "";
  color: var(--app-text-muted);
}

@-webkit-keyframes tick {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  90% {
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes tick {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  90% {
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/*
.checkbox-primary input[type=checkbox]:checked+label::before,
.checkbox-primary input[type=radio]:checked+label::before {
    background-color: var(--app-info);
    border-color: var(--app-info)
}
.checkbox-primary input[type=checkbox]:checked+label::after,
.checkbox-primary input[type=radio]:checked+label::after {
    color: #fff
}
.checkbox-danger input[type=checkbox]:checked+label::before,
.checkbox-danger input[type=radio]:checked+label::before {
    background-color: #BD362F;
    border-color: #BD362F
}
.checkbox-danger input[type=checkbox]:checked+label::after,
.checkbox-danger input[type=radio]:checked+label::after {
    color: #fff
}
.checkbox-info input[type=checkbox]:checked+label::before,
.checkbox-info input[type=radio]:checked+label::before {
    background-color: #2F96B4;
    border-color: #2F96B4
}
.checkbox-info input[type=checkbox]:checked+label::after,
.checkbox-info input[type=radio]:checked+label::after {
    color: #fff
}
.checkbox-warning input[type=checkbox]:checked+label::before,
.checkbox-warning input[type=radio]:checked+label::before {
    background-color: #F89406;
    border-color: #F89406
}
.checkbox-warning input[type=checkbox]:checked+label::after,
.checkbox-warning input[type=radio]:checked+label::after {
    color: #fff
}
.checkbox-success input[type=checkbox]:checked+label::before,
.checkbox-success input[type=radio]:checked+label::before {
    background-color: #51A351;
    border-color: #51A351
}
.checkbox-success input[type=checkbox]:checked+label::after,
.checkbox-success input[type=radio]:checked+label::after {
    color: #fff
}
.checkbox-success :before{
    border: 1px solid #51A351;
}

input[type=checkbox].styled:checked+label:after,
input[type=radio].styled:checked+label:after {
    font-family: 'FontAwesome';
    content: "\f00c"
}
input[type=checkbox] .styled:checked+label::before,
input[type=radio] .styled:checked+label::before {
    color: #fff
}
input[type=checkbox] .styled:checked+label::after,
input[type=radio] .styled:checked+label::after {
    color: #fff
}

.checkbox input[type=checkbox], .checkbox-inline input[type=checkbox], .radio input[type=radio], .radio-inline input[type=radio] {
    position: absolute;
    margin-top: 4px\9;
    margin-left: -20px;
}
*/

.br-ee {
  border-bottom: 1px solid var(--app-border);
  height: 2px;
  width: 100%;
}
/***/
.bw-icon {
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
  position: relative;
  display: inline-block;
  width: 1em;
  line-height: 1em;
  font-size: 18px;
}
.bw-icon:before {
  content: "\00a0";
}

.bw-icon-chrome {
  background-image: url("../image/icons/browser/chrome.svg");
}
.bw-icon-facebook {
  background-image: url("../image/icons/browser/facebook.svg");
}

.bw-icon-instagram {
  background-image: url("../image/icons/browser/instagram.svg");
}

.bw-icon-mobile {
  background-image: url("../image/icons/browser/hand-graving-smartphone.svg");
}
.bw-icon-android {
  background-image: url("../image/icons/browser/android_phone.svg");
}

.bw-icon-opera {
  background-image: url("../image/icons/browser/opera.svg");
}
.bw-icon-edge {
  background-image: url("../image/icons/browser/edge.svg");
}

.bw-icon-samsung {
  background-image: url("../image/icons/browser/samsung.svg");
}
.bw-icon-headless {
  background-image: url("../image/icons/browser/headless.svg");
}
.bw-icon-miui {
  background-image: url("../image/icons/browser/miui.svg");
}

.bw-icon-ie {
  background-image: url("../image/icons/browser/ie.svg");
}
.bw-icon-defaultproperties {
  background-image: url("../image/icons/os/unknown.svg");
}

/*--------------------------*/
.os-icon-android {
  background-image: url("../image/icons/os/android.svg");
}
.os-icon-ios {
  background-image: url("../image/icons/os/ios.svg");
}
.os-icon-winxp {
  background-image: url("../image/icons/os/win7.svg");
}
.os-icon-win7 {
  background-image: url("../image/icons/os/win7.svg");
}
.os-icon-win8 {
  background-image: url("../image/icons/os/win8.svg");
}
.os-icon-win10 {
  background-image: url("../image/icons/os/win10.svg");
}
.os-icon-macos {
  background-image: url("../image/icons/os/macos.svg");
}
.os-icon-linux {
  background-image: url("../image/icons/os/linux.svg");
}

.os-icon-unknown {
  background-image: url("../image/icons/os/unknown.svg");
}

.no-bor {
  border-inline-end: 0 !important;
}
.no-lor {
  border-inline-start: 0 !important;
}
/*--------------------------*/
.sc-nav > li,
.sc-nav > li > a {
  display: block;
  position: relative;
}
.sc-nav {
  margin-bottom: 0;
  padding-inline-start: 0;
  list-style: none;
}
.sc-nav > li > a {
  font-weight: bold;
  padding: 10px;
}

.modal-dialog {
  overflow-y: initial !important;
}
.modal-body {
  max-height: 520px;
  overflow-y: auto;
}
/* Modal genişlik varyantları. `data-class` ile veriliyor, temizliği
   fire.js'teki ModalArray yapıyor — biri değişince ötekini de güncelle.

   Eskiden `min-width` idi: yüzde bir ALT SINIR olduğu için içerik kutuyu
   istediği kadar genişletebiliyordu; iki boyut sınıfı üst üste bindiğinde de
   (bkz. fire.js temizlik hatası) her zaman büyük olan kazanıyor, sınıf hangi
   sırada yazıldığının bir önemi kalmıyordu. `width` + `max-width` ikilisi
   Bootstrap'in `.modal-dialog { max-width: 500px }` varsayılanını da ezer ve
   ölçüyü kesinleştirir. */
.modal-20,
.modal-25,
.modal-30,
.modal-35,
.modal-40,
.modal-45,
.modal-50,
.modal-60,
.modal-70,
.modal-80 {
  margin-inline-start: auto;
  margin-inline-end: auto;
}

.modal-20 { width: 20%; max-width: 20%; }
.modal-25 { width: 25%; max-width: 25%; }
.modal-30 { width: 30%; max-width: 30%; }
.modal-35 { width: 35%; max-width: 35%; }
.modal-40 { width: 40%; max-width: 40%; }
.modal-45 { width: 45%; max-width: 45%; }
.modal-50 { width: 50%; max-width: 50%; }
.modal-60 { width: 60%; max-width: 60%; }
.modal-70 { width: 70%; max-width: 70%; }
.modal-80 { width: 80%; max-width: 80%; }

.modal-full {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.modal-full .modal-content {
  min-height: 100vh;
}

/* `.modal-50 .modal-content { min-height: 50vh }` kaldırıldı: içerik ne kadar
   kısa olursa olsun kutuyu ekranın yarısı boyunda tutup altını boş bırakıyordu.
   Yükseklik içeriğe göre belirlensin; tam ekran isteniyorsa .modal-full var. */

.modal-60 .modal-body,
.modal-70 .modal-body {
  overflow: hidden;
}

/* ── Anasayfa (hm-*): widget ızgarası, KPI kartları, skeleton, düzenleme modu ──
   Yalnızca token: renk var(--app-*) / color-mix. Kırılımlar responsive.css'te. */

.hm-bar {
  display: flex;
  align-items: center;
  gap: .625rem;
  margin-bottom: 1.25rem;
}

.hm-bar-title { flex: none; }
.hm-bar-title h1 { margin: 0; font-size: 1.5rem; font-weight: 700; }
.hm-bar-sub { color: var(--app-text-muted); font-size: .8125rem; white-space: nowrap; }
.hm-bar-gap { flex: 1; }
.hm-bar .btn,
.hm-bar .hm-seg,
.hm-bar .btn-group { flex: none; }
.hm-bar .btn { display: inline-flex; align-items: center; justify-content: center; height: 2.375rem; padding-block: 0; font-size: .8125rem; }
.hm-bar .btn-icon { width: 2.375rem; padding-inline: 0; }
.hm-bar .btn-group > .dropdown > .btn { border-start-start-radius: 0; border-end-start-radius: 0; margin-inline-start: -1px; }
.hm-bar-wrap { position: relative; }

.hm-seg {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  background: var(--app-surface);
  border: 1px solid var(--app-border);
  border-radius: .75rem;
}

.hm-seg button {
  border: 0;
  background: transparent;
  color: var(--app-text-muted);
  font-size: .8125rem;
  font-weight: 500;
  padding: .4375rem .625rem;
  border-radius: .5625rem;
  white-space: nowrap;
  min-height: 1.75rem;
}

.hm-seg button.is-on { background: var(--app-brand); color: var(--app-brand-contrast); }

.hm-edit-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
  padding: .75rem 1rem;
  border: 1px dashed var(--app-brand);
  border-radius: .875rem;
  background: color-mix(in srgb, var(--app-brand) 9%, var(--app-surface));
}

.hm-body { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 1.25rem; }

.hm-grid {
  flex: 1 1 40rem;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}

.hm-s3  { grid-column: span 3; }
.hm-s4  { grid-column: span 4; }
.hm-s5  { grid-column: span 5; }
.hm-s6  { grid-column: span 6; }
.hm-s7  { grid-column: span 7; }
.hm-s12 { grid-column: span 12; }

.hm-w {
  position: relative;
  min-width: 0;
  padding: 1.125rem 1.125rem 1rem;
  background: var(--app-surface);
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  box-shadow: 0 1px 2px var(--app-shadow-soft);
}

.hm-w.is-hidden { display: none; }
.hm-grid.is-editing .hm-w { outline: 2px dashed var(--app-brand); outline-offset: 2px; }
.hm-grid.is-editing .hm-w.is-hidden { display: none; }

.hm-head { display: flex; align-items: center; gap: .625rem; margin-bottom: .75rem; }
.hm-title { font-weight: 600; font-size: .9375rem; }

.hm-chip {
  font-size: .6875rem;
  font-weight: 600;
  padding: .125rem .5rem;
  border-radius: 999px;
  background: var(--app-surface-2);
  color: var(--app-text-muted);
  white-space: nowrap;
}

.hm-chip.is-live { background: color-mix(in srgb, var(--app-brand) 12%, transparent); color: var(--app-brand); }
.hm-head .hm-gap { flex: 1; }

.hm-tools {
  display: none;
  align-items: center;
  gap: .375rem;
  margin: -.375rem 0 .625rem;
  padding: .25rem .375rem;
  background: var(--app-brand);
  color: var(--app-brand-contrast);
  border-radius: .625rem;
}

.hm-grid.is-editing .hm-tools { display: flex; }
.hm-tools .hm-grip { cursor: grab; display: inline-flex; touch-action: none; }
@media (pointer: coarse) { .hm-tools .hm-grip { padding: 10px; margin: -10px; } }
.hm-tools .hm-gap { flex: 1; }
.hm-tools button {
  border: 0;
  background: color-mix(in srgb, var(--app-brand-contrast) 18%, transparent);
  color: var(--app-brand-contrast);
  border-radius: .5rem;
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.hm-ghost { opacity: .45; }
.hm-menu { min-width: 19rem; padding: .5rem; }
.hm-menu-group { padding: .25rem .75rem .5rem; }
.hm-menu-note { margin: 0; padding: 0 .75rem .25rem; font-size: .75rem; color: var(--app-text-muted); white-space: normal; }
.hm-menu .dropdown-header { padding-inline: .75rem; }
.hm-mi { display: flex; align-items: center; gap: .75rem; padding: .5rem .75rem; border-radius: .625rem; white-space: normal; }
.hm-mi b { display: block; font-size: .8125rem; font-weight: 600; }
.hm-mi small { display: block; font-size: .75rem; color: var(--app-text-muted); line-height: 1.3; }
.hm-mi .hm-ico { flex: none; width: 2rem; height: 2rem; font-size: 1rem; }

.hm-content { position: relative; min-height: 3.75rem; }

/* skeleton: widget yüklenirken içerik gizlenir, gri iskelet + parıltı görünür */
.hm-sk {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  border-radius: .625rem;
  background:
    linear-gradient(var(--app-surface-3) 0 0) 0 0 / 55% 1rem no-repeat,
    linear-gradient(var(--app-surface-3) 0 0) 0 1.875rem / 100% 68% no-repeat,
    linear-gradient(var(--app-surface-3) 0 0) 0 100% / 80% 1rem no-repeat;
  background-color: var(--app-surface);
}

.hm-sk::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 30%, var(--app-surface-2) 50%, transparent 70%);
  transform: translateX(-100%);
  animation: hm-shimmer 1.3s infinite;
}

@keyframes hm-shimmer { to { transform: translateX(100%); } }

.hm-w.is-loading .hm-sk, .hm-pane.is-loading .hm-sk { display: block; }
.hm-w.is-loading .hm-content > :not(.hm-sk), .hm-pane.is-loading .hm-content > :not(.hm-sk) { visibility: hidden; }

/* panel: sekmeli kart (randevu, statü, yoğunluk, hareket) */
.hm-tabs { display: flex; gap: .25rem; margin-bottom: .75rem; overflow-x: auto; scrollbar-width: none; }
.hm-tabs::-webkit-scrollbar { display: none; }
.hm-tabs button {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  flex: 0 0 auto;
  padding: .4375rem .625rem;
  border: 0;
  border-radius: .625rem;
  background: transparent;
  color: var(--app-text-muted);
  font-size: .8125rem;
  font-weight: 600;
  white-space: nowrap;
}

.hm-tabs button:hover { background: var(--app-surface-2); color: var(--app-text); }
.hm-tabs button.is-on { background: color-mix(in srgb, var(--app-brand) 14%, transparent); color: var(--tblr-indigo-on, var(--app-brand)); }
.hm-badge {
  min-width: 1.25rem;
  padding: .0625rem .375rem;
  border-radius: .375rem;
  background: var(--app-surface-3);
  color: var(--app-text-muted);
  font-size: .6875rem;
  font-style: normal;
  line-height: 1.25;
  text-align: center;
}

.hm-badge:empty { display: none; }
.hm-tabs button.is-on .hm-badge { background: color-mix(in srgb, var(--app-brand) 22%, transparent); color: var(--app-text); }
.hm-pane:not(.is-on) { display: none; }

.hm-fail {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 6rem;
  color: var(--app-text-muted);
}

/* KPI */
.hm-kpi-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: .625rem; }
.hm-kpi-label { font-size: .75rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--app-text-muted); }
.hm-kpi-value { font-size: 1.875rem; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.hm-kpi-change { display: flex; align-items: center; gap: .5rem; margin: .5rem 0 .125rem; font-size: .75rem; color: var(--app-text-muted); }
.hm-kpi-spark { height: 2.75rem; margin: .375rem -.25rem 0; }

.hm-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.375rem;
  height: 2.375rem;
  border-radius: .6875rem;
  font-size: 1.25rem;
  flex: none;
  background: color-mix(in srgb, var(--hm-tone, var(--app-brand)) 14%, transparent);
  color: var(--hm-tone, var(--app-brand));
}

.hm-tone-brand   { --hm-tone: var(--app-brand); }
.hm-tone-success { --hm-tone: var(--app-success); }
.hm-tone-warning { --hm-tone: var(--app-warning); }
.hm-tone-info    { --hm-tone: var(--app-info); }
.hm-tone-danger  { --hm-tone: var(--app-danger); }

.hm-pill {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .125rem .5rem;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 600;
}

.hm-up   { color: var(--app-success-text); background: color-mix(in srgb, var(--app-success) 16%, transparent); }
.hm-down { color: var(--app-danger-text);  background: color-mix(in srgb, var(--app-danger) 16%, transparent); }

.hm-sub { display: flex; justify-content: space-between; gap: .5rem; padding-top: .375rem; font-size: .8125rem; color: var(--app-text-muted); }
.hm-sub b { color: var(--app-text); font-weight: 600; text-align: right; }

/* listeler */
.hm-feed { display: flex; gap: .75rem; padding: .625rem 0; border-top: 1px solid var(--app-border); }
.hm-feed:first-child { border-top: 0; }
.hm-dot { width: .625rem; height: .625rem; margin-top: .375rem; border-radius: 50%; flex: none; background: var(--hm-dot, var(--app-text-muted)); }

.hm-av {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  flex: none;
  font-size: .8125rem;
  font-weight: 700;
  color: var(--hm-av, var(--app-brand));
  background: color-mix(in srgb, var(--hm-av, var(--app-brand)) 18%, var(--app-surface));
}

.hm-av-0 { --hm-av: var(--app-brand); }
.hm-av-1 { --hm-av: var(--app-info); }
.hm-av-2 { --hm-av: var(--app-success); }
.hm-av-3 { --hm-av: var(--app-warning); }
.hm-av-4 { --hm-av: var(--app-danger); }

.hm-progress { height: .375rem; margin: .375rem 0 .25rem; border-radius: 999px; overflow: hidden; background: var(--app-surface-2); }
.hm-progress i { display: block; height: 100%; border-radius: 999px; background: var(--app-brand); }

.hm-tile { display: flex; align-items: center; gap: .75rem; padding: .75rem .875rem; border-radius: .75rem; background: var(--app-surface-2); }
.hm-tile b { display: block; font-size: 1.125rem; line-height: 1.2; }
.hm-tile-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: .625rem; }

.hm-tag { display: inline-block; padding: .1875rem .5625rem; border-radius: 999px; font-size: .75rem; font-weight: 600; white-space: nowrap; color: var(--app-text-invert); background: var(--hm-tag, var(--app-text-muted)); }
.hm-scroll { max-height: 22rem; overflow-y: auto; padding-inline-end: .625rem; }

/* düzenleme çekmecesi */
.hm-drawer {
  flex: 0 0 18.75rem;
  position: sticky;
  top: 1rem;
  padding: 1rem;
  background: var(--app-surface);
  border: 1px solid var(--app-border);
  border-radius: 1rem;
}

.hm-gal { display: flex; align-items: center; gap: .625rem; padding: .625rem 0; border-top: 1px solid var(--app-border); }

.hm-page [hidden] { display: none !important; }
.hm-tools-title { font-size: .8125rem; font-weight: 600; }
.hm-when { flex: none; min-width: 3.25rem; font-size: .8125rem; font-weight: 600; color: var(--app-text-muted); }
.hm-hint { margin-top: .25rem; font-size: .75rem; text-align: center; color: var(--app-text-muted); }

/* dönüşüm hunisi: etiket uzun olursa alt satıra sarar, sayı sağda kalır */
.hm-fun-row { padding: .5rem 0; }
.hm-fun-top { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; margin-bottom: .25rem; }
.hm-fun-label { min-width: 0; overflow-wrap: anywhere; line-height: 1.25; }
.hm-fun-track { display: flex; justify-content: center; height: .75rem; border-radius: 999px; background: var(--app-surface-2); overflow: hidden; }
.hm-fun-track i { display: block; height: 100%; border-radius: 999px; }
.hm-fun-1 { background: var(--app-brand); }
.hm-fun-2 { background: var(--app-info); }
.hm-fun-3 { background: var(--app-warning); }
.hm-fun-4 { background: var(--app-success); }
.hm-fun-row small { display: block; min-height: 1rem; color: var(--app-text-muted); }

/* statü dağılımı */
.hm-st-total { margin-bottom: .5rem; font-size: .8125rem; color: var(--app-text-muted); }
.hm-st { display: grid; grid-template-columns: 1fr auto; gap: .125rem .75rem; padding: .375rem 0; color: inherit; text-decoration: none; }
.hm-st:hover .hm-st-name { color: var(--app-brand); }
.hm-st-name { display: flex; align-items: center; gap: .5rem; min-width: 0; overflow-wrap: anywhere; }
.hm-st-name .hm-dot { margin-top: 0; }
.hm-st-track { grid-column: 1 / -1; height: .3125rem; border-radius: 999px; background: var(--app-surface-2); overflow: hidden; }
.hm-st-track i { display: block; height: 100%; border-radius: 999px; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--app-text) 14%, transparent); }

/* temsilci sıralaması */
.hm-ag { display: flex; gap: .75rem; padding: .5rem 0; }
.hm-ag-main { flex: 1; min-width: 0; }
.hm-ag-top { display: flex; justify-content: space-between; gap: .5rem; }

/* aylık hedef: çubuk üstündeki dikey çizgi "ayın bu kadarı geçti" işaretidir */
.hm-goal { padding: .5rem 0; }
.hm-goal-top { display: flex; justify-content: space-between; align-items: baseline; }
.hm-goal-top b { font-size: 1.375rem; }
.hm-goal-bar { position: relative; height: .625rem; margin: .375rem 0; }
.hm-tick { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--app-text); opacity: .55; }

a.hm-tile { color: inherit; text-decoration: none; }
a.hm-tile:hover { background: var(--app-surface-3); }
.hm-tile-grid-sm { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.hm-tabs button:not(.is-on) > i { display: none; }
.hm-tabs button:not(.is-on) .hm-badge { display: none; }

/* Statü kuralları matrisi (setstatus) */
.st-search { max-width: 18rem; }
.st-scroll { overflow-x: auto; border: 1px solid var(--app-border); border-radius: .75rem; }
.st-table { margin: 0; }
.st-table thead th { background: var(--app-surface-2); vertical-align: middle; border-bottom: 1px solid var(--app-border); }
.st-table .st-name { min-width: 14rem; }
.st-table .st-col { width: 1%; min-width: 6.5rem; text-align: center; }
.st-table .st-col .form-check { display: flex; justify-content: center; margin: 0; padding-left: 0; }
.st-table .st-col .form-check-input { float: none; margin: 0; }
.st-table tbody td { padding-block: .5rem; }
.st-table tbody tr:hover > td { background: var(--app-surface-2); }
.st-col-title { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; font-weight: 600; font-size: .8125rem; cursor: help; }
.st-col-name { border-bottom: 1px dotted var(--app-text-muted); white-space: nowrap; }
.st-col-title i { font-size: 1.05rem; }
.st-count { padding: .0625rem .4rem; border-radius: 999px; font-style: normal; font-size: .6875rem; background: var(--app-surface-3); color: var(--app-text-muted); }
.st-danger .st-col-title i { color: var(--app-danger); }
.st-success .st-col-title i { color: var(--app-success); }
.st-warning .st-col-title i { color: var(--app-warning); }
.st-muted .st-col-title i { color: var(--app-text-muted); }
.st-danger .form-check-input:checked { background-color: var(--app-danger); border-color: var(--app-danger); }
.st-success .form-check-input:checked { background-color: var(--app-success); border-color: var(--app-success); }
.st-warning .form-check-input:checked { background-color: var(--app-warning); border-color: var(--app-warning); }
.st-muted .form-check-input:checked { background-color: var(--app-text-muted); border-color: var(--app-text-muted); }

/* yüzde etiketi (statü, temsilci, ürün) */
.hm-pct { margin-inline-start: .375rem; font-size: .75rem; font-weight: 500; color: var(--app-text-muted); }

/* ürün: halka altı liste */
.hm-prod { margin-top: .5rem; }
.hm-prod-row { padding: .375rem 0; font-size: .8125rem; }
.hm-prod-top { display: flex; align-items: center; gap: .5rem; }
.hm-prod-top .hm-dot { margin-top: 0; }
.hm-prod-row .hm-progress { height: .25rem; margin: .25rem 0 0; }
.hm-prod-total { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; margin-bottom: .5rem; }
.hm-prod-total span { color: var(--app-text-muted); font-size: .8125rem; }
.hm-prod-total b { font-size: 1.5rem; }
.hm-stack { display: flex; gap: 2px; height: .875rem; margin-bottom: .75rem; border-radius: 999px; overflow: hidden; }
.hm-stack i { display: block; height: 100%; min-width: 2px; }
.note-head .hm-dot { margin-top: 0; }
.note-head .hm-feed-lead { margin-inline-start: auto; }
.hm-feed-open { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 6px; background: rgba(var(--app-brand-rgb), .12); color: rgb(var(--app-brand-rgb)); }
.hm-feed-open:hover, .hm-feed-open:focus-visible { background: rgb(var(--app-brand-rgb)); color: #fff; }
.hm-feed-lead { display: flex; align-items: center; gap: .25rem; font-size: .8125rem; font-weight: 600; }
.hm-feed-lead i { color: var(--app-text-muted); }
.hm-prod-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hm-prod-row .hm-pct { min-width: 3rem; text-align: end; }

/* lead yoğunluğu: gün x saat ızgarası */
.hm-heat { display: grid; gap: 3px; }
.hm-heat-row { display: grid; grid-template-columns: 2.5rem repeat(8, minmax(0, 1fr)) 2.75rem; gap: 3px; align-items: center; }
.hm-heat-head span { font-size: .6875rem; text-align: center; color: var(--app-text-muted); }
.hm-heat-day { font-size: .75rem; font-weight: 600; color: var(--app-text-muted); }
.hm-heat-c {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2rem;
  border-radius: .375rem;
  font-size: .75rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--app-text);
  background: color-mix(in srgb, var(--app-brand) calc(var(--i) * 88%), var(--app-surface-2));
}

.hm-heat-c.is-zero { font-weight: 400; color: var(--app-text-muted); background: var(--app-surface-2); }
.hm-heat-c.is-hot { color: var(--app-brand-contrast); }
.hm-heat-sum { text-align: center; font-size: .75rem; font-weight: 600; }
.hm-heat-best { display: flex; align-items: center; gap: .5rem; margin-bottom: .625rem; padding: .5rem .75rem; border-radius: .625rem; font-size: .8125rem; background: color-mix(in srgb, var(--app-warning) 12%, transparent); }
.hm-heat-best i { font-size: 1.125rem; color: var(--app-warning); }
.hm-heat-legend { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: .625rem; font-size: .6875rem; color: var(--app-text-muted); }
.hm-heat-legend i { width: 6rem; height: .5rem; border-radius: 999px; background: linear-gradient(90deg, var(--app-surface-2), var(--app-brand)); }
.st-brand .st-col-title i { color: var(--app-brand); }
.st-brand .form-check-input:checked { background-color: var(--app-brand); border-color: var(--app-brand); }

.rf-bar .rf-sel { width: auto; flex: 1 1 200px; min-width: 170px; max-width: 280px; }
.rf-bar .rf-sel.rf-wide { flex-basis: 320px; max-width: 420px; }
.rf-bar .rf-sel .ts-control, .rf-bar .rf-sel .item { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rf-bar .rf-sel.d-none { display: none !important; }

.rt-legend { caption-side: bottom; text-align: start; font-size: .8125rem; color: var(--app-text-muted, #6c757d); padding: .5rem 0 0; }

/* Modal/offcanvas arkası: opacity elemanın bulanıklığını da yarıya indirir; bu yüzden opacity 1, şeffaflık arka plan renginde. */
.modal-backdrop, .offcanvas-backdrop { --tblr-backdrop-opacity: 1; --bs-backdrop-opacity: 1; background-color: color-mix(in srgb, var(--tblr-backdrop-bg, #1f2937) 55%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }

@media (max-width: 564px) {
    .daterangepicker .drp-calendar.right { display: none; }
    .daterangepicker .drp-calendar.left { max-width: 100%; }
}

/* Canlı arama paneli (assets/js/quicksearch.js). Yalnızca token; durum rengi --st ile gelir. */
.qs-panel { position: fixed; z-index: 1085; overflow-y: auto; overscroll-behavior: contain; background: var(--app-surface); color: var(--app-text); border: 1px solid var(--app-border); border-radius: 12px; box-shadow: 0 16px 40px rgba(0, 0, 0, .28); padding: 6px; }
.qs-panel[hidden] { display: none; }
.qs-group + .qs-group { margin-top: 4px; border-top: 1px solid var(--app-border); padding-top: 4px; }
.qs-group-title { display: flex; justify-content: space-between; padding: 6px 10px 2px; font-size: .6875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--app-text-muted); }
.qs-more { text-transform: none; letter-spacing: 0; font-weight: 500; }
.qs-item { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 8px 10px; border-radius: 8px; color: inherit; text-decoration: none; }
.qs-item:hover, .qs-item.is-active { background: color-mix(in srgb, var(--app-brand) 12%, transparent); color: inherit; }
.qs-item.is-active { outline: 2px solid color-mix(in srgb, var(--app-brand) 55%, transparent); outline-offset: -2px; }
.qs-avatar { flex: 0 0 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 600; background: color-mix(in srgb, var(--app-brand) 16%, transparent); color: var(--app-brand); }
.qs-body { min-width: 0; display: flex; flex-direction: column; gap: 2px; flex: 1; }
.qs-head { display: flex; align-items: center; gap: 8px; }
.qs-name { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qs-type { flex: none; font-size: .6875rem; padding: 1px 7px; border-radius: 999px; background: color-mix(in srgb, var(--tblr-azure, var(--app-brand)) 16%, transparent); color: var(--tblr-azure, var(--app-brand)); }
.qs-type-callback { background: color-mix(in srgb, var(--tblr-orange, var(--app-brand)) 16%, transparent); color: var(--tblr-orange, var(--app-brand)); }
.qs-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: .8125rem; color: var(--app-text-muted); }
.st-pill, .qs-pill { --st: var(--app-text-muted); --st-bg: oklch(from var(--st) clamp(.42, l, .55) c h); display: inline-block; padding: 1px 9px; border-radius: 999px; font-size: .75rem; font-weight: 600; line-height: 1.5; white-space: nowrap; background: var(--st-bg); color: #fff; }
/* Yazı hep beyaz: zemin parlaklığı L .42-.55 aralığına sıkıştırılır (açık renk koyulur, çok koyu renk koyu temada satırdan ayrışır); beyaz yazı en az 4,5:1 kalır. */
/* Yetkili adı: dolu hap yerine renkli nokta + düz yazı (aynı grup rengi satır satır tekrarlanınca ekran gürültülü oluyordu). */
.st-pill.st-dot { padding: 0; background: none; border: 0; border-radius: 0; font-weight: 500; color: inherit; white-space: inherit; }
.st-pill.st-dot::before { content: ''; display: inline-block; width: .5rem; height: .5rem; margin-inline-end: .4rem; border-radius: 50%; background: var(--st-bg); }
.st-pill.st-toggle { cursor: pointer; text-decoration: none; }
.st-pill.st-toggle:hover { filter: brightness(1.12); color: #fff; }
/* Kenar çubuğu sayaçları: `.treeview-item span` dolgusu hapı daireye çeviriyordu; eski rozet ölçüleri. */
.treeview-item .st-pill { padding: 3px 7px; border-radius: 6px; font-size: .6875rem; min-width: 2.75rem; justify-content: center; letter-spacing: .5px; }
.st-pill-lg { font-size: .875rem; padding: 2px 12px; }
.st-pill-off { opacity: .6; }
.qs-lang { padding: 1px 6px; border-radius: 4px; font-size: .7rem; font-weight: 600; letter-spacing: .03em; background: var(--app-surface-2, rgba(128,128,128,.14)); color: var(--app-text-muted); }
.qs-extra { font-size: .75rem; color: var(--app-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qs-all { display: block; margin-top: 4px; padding: 10px; text-align: center; font-weight: 500; border-top: 1px solid var(--app-border); color: var(--app-brand); text-decoration: none; }
.qs-all:hover { text-decoration: underline; }
.qs-empty { padding: 22px 12px; text-align: center; color: var(--app-text-muted); }
.qs-empty i { font-size: 1.75rem; display: block; margin-bottom: 6px; }
.qs-empty-title { font-weight: 600; color: var(--app-text); }
.qs-empty-sub { font-size: .8125rem; }
@media (max-width: 575.98px) { .qs-item { min-height: 64px; } .qs-panel { border-radius: 10px; } }

/* Etiketler: rozet, renk seçici, Tom Select girişi */
.tag-badge { font-weight: 500; font-size: .8125rem; white-space: nowrap; }
.tag-swatches { display: grid; grid-template-columns: repeat(auto-fill, 32px); gap: 10px; }
.tag-swatch { position: relative; margin: 0; cursor: pointer; }
.tag-swatch input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.tag-swatch .badge { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border-radius: 50% !important; border: 2px solid transparent; background: var(--sw); color: #fff; text-shadow: 0 0 3px rgba(0, 0, 0, .55); box-shadow: inset 0 0 0 2px var(--app-surface, #fff); }
.tag-swatch .badge .ti { opacity: 0; font-size: 1rem; }
.tag-swatch input:checked + .badge { border-color: var(--app-text); box-shadow: inset 0 0 0 2px var(--app-surface, #fff); }
.tag-swatch input:checked + .badge .ti { opacity: 1; }
.tag-swatch input:focus-visible + .badge { outline: 2px solid var(--tblr-primary, #206bc4); outline-offset: 2px; }
.tag-field .control-label::before { content: none !important; }
.tag-field .ts-control { min-height: 38px; gap: 4px; border: 1px solid var(--tblr-border-color, var(--app-border)); background: var(--app-surface); cursor: text; }
.tag-field .ts-control::after { content: attr(data-hint); margin-inline-start: auto; align-self: center; font-size: .8125rem; color: var(--app-text-muted); }
.tag-field .ts-wrapper:not(.has-items) .ts-control::after, .tag-field .ts-wrapper.focus .ts-control::after { display: none; }
.tag-field .ts-control .tag-item .remove, .tag-filter .ts-control .tag-item .remove { opacity: .6; }
/* Tom Select kurulana kadar (sayfa yenilenirken) ham çoklu seçim kutusu görünmesin; yükseklik sabit kalır. */
select.tag-filter:not(.tomselected), .tag-field select:not(.tomselected) { height: 38px; overflow: hidden; color: transparent; background: var(--app-surface); }
.dd-icon { flex: 0 0 3rem; min-width: 3rem; padding-inline: 0; }
.dd-icon .ti { font-size: 1.15rem; }
.tag-filter .ts-control { min-height: 38px; gap: 3px; padding-inline-end: 34px; }
.ts-wrapper.tag-filter.multi .ts-control > div.clear-button { position: absolute; top: 50%; bottom: auto; transform: translateY(-50%); margin: 0; opacity: .7; inset-inline-end: 10px; color: var(--app-text-muted); font-size: 1.1rem; line-height: 1; }
.tag-filter .clear-button:hover { color: var(--tblr-danger, #d63939); }
.tag-field .ts-control .tag-badge, .tag-filter .ts-control .tag-badge { font-size: .75rem; padding: 2px 8px; line-height: 1.4; }
.tag-filter .ts-dropdown .option { padding: 2px 8px; }
.tag-field .ts-dropdown .create { color: var(--app-text-muted); }
.qs-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
.table .tag-badge, .qs-tags .tag-badge { font-size: .625rem; font-weight: 500; padding: 0 5px; line-height: 1.4; margin: 1px; }
.table .tag-badge[data-tag-id] { cursor: pointer; }
.table .tag-badge[data-tag-id]:hover { filter: brightness(.92); }
.tag-field .ts-dropdown .option { padding: 2px 8px; }
.tag-field .ts-dropdown .tag-badge { font-size: .6875rem; padding: 1px 6px; line-height: 1.35; }
/* Koyu tema: kartın üst kenarına 1px ışık çizgisi; koyu zeminde kart ile sayfa arasındaki ayrımı güçlendirir (modern_overrides gölgesinin üstüne biner). */
:root[data-bs-theme="dark"] .tile, :root[data-bs-theme="dark"] .card { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), var(--shadow-soft) !important; }
:root[data-bs-theme="dark"] .tile:hover, :root[data-bs-theme="dark"] .card:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), var(--shadow-hover) !important; }
/* Gecikmiş kayıt satırı (waitChecks): tema token'ından türeyen zemin; eskiden iki sabit hex arasında seçiliyordu. */
table tbody tr.row-overdue > td { background-color: color-mix(in srgb, var(--app-danger) 12%, transparent) !important; }

/* SweetAlert onay/uyarı penceresi: tema yüzeyi ve jetonları; toast'lar (app-toast) ayrı. */
.swal2-popup:not(.swal2-toast) { width: 26rem; max-width: 92vw; padding: 1.5rem 1.5rem 1.25rem; border: 1px solid var(--app-border); border-radius: 14px; background: var(--app-surface); color: var(--app-text); box-shadow: 0 20px 50px rgba(0, 0, 0, .35); }
.swal2-popup:not(.swal2-toast) .swal2-icon { width: 3.75rem; height: 3.75rem; margin: .25rem auto 1rem; border-width: .2rem; font-size: .75rem; }
.swal2-popup:not(.swal2-toast) .swal2-title { padding: 0; font-size: 1.125rem; font-weight: 600; color: var(--app-text); }
.swal2-popup:not(.swal2-toast) .swal2-html-container { margin: .5rem 0 0; font-size: .9375rem; color: var(--app-text-muted); }
.swal2-popup:not(.swal2-toast) .swal2-actions { margin-top: 1.25rem; gap: .5rem; }
.swal2-popup:not(.swal2-toast) .swal2-styled { margin: 0; padding: .5rem 1.25rem; border-radius: 8px; font-size: .875rem; font-weight: 600; box-shadow: none !important; }
.swal2-popup:not(.swal2-toast) .swal2-confirm { background: var(--tblr-primary, #4f5bd5) !important; color: #fff; }
.swal2-popup:not(.swal2-toast) .swal2-confirm.swal-danger { background: var(--app-danger) !important; }
.swal2-popup:not(.swal2-toast) .swal2-cancel { background: transparent !important; border: 1px solid var(--app-border); color: var(--app-text); }
.swal2-popup:not(.swal2-toast) .swal2-cancel:hover { background: var(--app-surface-2) !important; }
.swal2-popup:not(.swal2-toast) .swal2-styled:focus-visible { outline: 2px solid var(--tblr-primary, #4f5bd5); outline-offset: 2px; }

/* Mobil kart görünümü: .dt-cards tablolarında (statü listeleri, Tüm Datalar) her satır bir kart.
   Sütun rolleri DataTables `className` ile (dc-*) verilir; başlık gizlenir, sıralama dar ekranda yok. */
@media (max-width: 767.98px) {
    .dd-extra:not(.show) { display: none; }
    .autoflow.sticky-head:has(table.dt-cards) { max-height: none; overflow-y: visible; }
    table.dt-cards, table.dt-cards tbody { display: block; width: 100% !important; border: 0; }
    table.dt-cards thead { display: none; }
    /* Kart: iki sütunlu ızgara (içerik | sağa yaslı meta); her satırın rolü sabit, sol kenar tek hizada. Ad hücresi `display: contents`:
       içindeki öğeler (ad, dönüş tarihi, dil rozeti, etiketler, not düğmesi) doğrudan ızgaraya yerleşir.
       Satırlar: 1 ad (+ sağ üstte onay kutusu)  2 dönüş tarihi | statü  3 etiketler | dil  4 ürün | bölge  5 şehir | not düğmesi
                 6 telefon | eylemler  7 yetkili | no (üstte ayraç)  8 tarihler. Boş satır 0 yükseklik. Düzenleme: kartın tamamı (ad bağlantısı uzatılır). */
    table.dt-cards tbody tr { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: .5rem; align-items: center; margin-bottom: .5rem; padding: .75rem; background: var(--app-surface); border: 1px solid var(--app-border); border-radius: 12px; --r2: auto; --r3: auto; --r7: auto; grid-template-rows: auto var(--r2) var(--r3) auto auto auto var(--r7) auto; }
    table.dt-cards tbody tr:not(:has(td.dc-status)) { --r2: 0px; }
    table.dt-cards tbody tr:not(:has(.tag-badge)):not(:has(td.dc-name > .badge)) { --r3: 0px; }
    table.dt-cards tbody tr > td { display: block; min-width: 0; width: auto !important; padding: 0 !important; margin-top: .5rem; border: 0 !important; background: transparent; box-shadow: none; overflow-wrap: anywhere; }
    table.dt-cards.dataTable > tbody > tr > td { padding-block: 0 !important; }
    table.dt-cards td sub { display: none; }
    table.dt-cards td.dt-empty, table.dt-cards td.dataTables_empty { grid-area: auto; grid-column: 1 / -1; text-align: center; }
    table.dt-cards td.dc-act { display: none; }
    table.dt-cards.dataTable > tbody > tr > td.dc-chk { position: absolute; inset-block-start: 0; inset-inline-end: 0; z-index: 2; margin: 0; padding: 10px 12px !important; }
    table.dt-cards td.dc-name { display: contents; }
    table.dt-cards td.dc-name > * { min-width: 0; position: relative; z-index: 1; margin: 0; }
    table.dt-cards td.dc-name > a:first-child { grid-column: 1 / -1; grid-row: 1; z-index: auto; display: block; padding-inline-end: 2rem; font-size: 1.0625rem; font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    table.dt-cards td.dc-name > a:first-child::after { content: ''; position: absolute; inset: 0; }
    table.dt-cards td.dc-name > .f-12 { display: none; }
    table.dt-cards td.dc-status { grid-column: 1 / -1; grid-row: 2; justify-self: start; margin-top: .375rem; }
    table.dt-cards td.dc-status a, table.dt-cards td.dc-prod a { position: relative; z-index: 1; }
    table.dt-cards td.dc-name > div:not(:has(.tag-badge)) { display: none; }
    table.dt-cards td.dc-name > div { grid-column: 1; grid-row: 3; margin-top: .5rem; overflow: hidden; white-space: nowrap; }
    table.dt-cards td.dc-name > .badge { grid-column: 2; grid-row: 3; justify-self: end; margin-top: .5rem; }
    table.dt-cards td.dc-prod { grid-column: 1 / -1; grid-row: 4; display: flex; align-items: baseline; gap: .5rem; font-size: .875rem; }
    table.dt-cards td.dc-prod > a { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
    table.dt-cards td.dc-prod > div { flex: none; margin-inline-start: auto; }
    table.dt-cards td.dc-loc { grid-column: 1; grid-row: 5; font-size: .8125rem; color: var(--app-text-muted); }
    table.dt-cards td.dc-name > .row-notes { grid-column: 2; grid-row: 5; justify-self: end; margin-top: .375rem; }
    table.dt-cards td.dc-phone { grid-column: 1 / -1; grid-row: 6; margin-top: .25rem; font-size: 1rem; }
    table.dt-cards td.dc-agent { grid-column: 1 / -1; grid-row: 7; padding-inline-end: 3.5rem !important; font-size: .8125rem; }
    table.dt-cards td.dc-id { grid-column: 1 / -1; grid-row: 7; justify-self: end; align-self: end; font-size: .8125rem; color: var(--app-text-muted); font-weight: 600; }
    table.dt-cards td.dc-date { grid-column: 1 / -1; grid-row: 8; display: grid; row-gap: .125rem; font-size: .75rem; color: var(--app-text-muted); }
    table.dt-cards td.dc-date > div { display: flex; align-items: center; gap: .375rem; }
    table.dt-cards td.dc-date .dl { display: block; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
    table.dt-cards td.dc-date[data-label] { display: flex; justify-content: space-between; gap: .5rem; }
    table.dt-cards td.dc-date[data-label]::before { content: attr(data-label); }
    table.dt-cards td.dc-name > .f-12 .dl { display: inline; }
    table.dt-cards td.dc-name > .row-notes .note-l { display: inline; }
    table.dt-cards td.dc-prod > div .dl { display: inline; }
    table.dt-cards tr:not(:has(td.dc-agent)) td.dc-id { justify-self: stretch; align-self: center; border-top: 1px solid var(--app-border) !important; }
    table.dt-cards td.dc-prod, table.dt-cards td.dc-loc { position: relative; padding-inline-start: 1.5rem !important; }
    table.dt-cards td.dc-prod::before, table.dt-cards td.dc-loc::before { position: absolute; inset-inline-start: 0; font-family: 'tabler-icons'; font-size: 1rem; line-height: 1.3; color: var(--app-text-muted); }
    table.dt-cards td.dc-prod::before { content: '\edbe'; }
    table.dt-cards td.dc-loc::before { content: '\eae8'; }
    table.dt-cards.dataTable > tbody > tr > td.dc-agent, table.dt-cards.dataTable > tbody > tr > td.dc-id { margin-top: .5rem; padding-top: .5rem !important; }
    table.dt-cards.dataTable > tbody > tr > td.dc-agent { border-top: 1px solid var(--app-border) !important; }
    table.dt-cards.dataTable > tbody > tr > td.dc-phone { margin-top: .5rem; margin-bottom: -.375rem; padding-top: .25rem !important; border-top: 1px solid var(--app-border) !important; }
    table.dt-cards td.dc-prod, table.dt-cards td.dc-loc, table.dt-cards td.dc-agent, table.dt-cards td.dc-date, table.dt-cards td.dc-id, table.dt-cards td.dc-phone { white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; }
    table.dt-cards td.dc-phone { overflow: visible; }
    table.dt-cards tbody tr:hover > * { --tblr-table-bg-state: transparent; --tblr-table-accent-bg: transparent; background-color: transparent !important; box-shadow: none !important; }
    table.dt-cards tbody tr:hover { background: var(--app-surface-2); border-color: var(--app-text-muted); }
    table.dt-cards tbody tr.row-overdue > td { background-color: transparent !important; }
    table.dt-cards tbody tr.row-overdue { background: color-mix(in srgb, var(--app-danger) 10%, var(--app-surface)); border-color: color-mix(in srgb, var(--app-danger) 45%, var(--app-border)); }
}
.dd-extra { display: contents; }
.tel-link { margin-inline-start: .5rem; padding: .25rem; color: var(--bs-success, #2fb344); }

/* Mobil: kayıt formunda Kaydet düğmesi ekranın altına sabitlenir (uzun formda en alta kaydırmak gerekmesin). */
@media (max-width: 767.98px) {
    .save-bar { position: fixed; inset-inline: 0; bottom: 0; z-index: 1030; padding: .5rem .75rem calc(.5rem + env(safe-area-inset-bottom)); background: var(--app-surface); border-top: 1px solid var(--app-border); box-shadow: 0 -4px 12px rgba(0, 0, 0, .12); }
    .save-bar .btn { width: 100%; min-height: 48px; margin: 0 !important; }
    body:has(.save-bar) { padding-bottom: calc(4.5rem + env(safe-area-inset-bottom)); }
}

/* Aktif filtre etiketleri (Tüm Datalar, dar ekran) */
.dd-chips { display: flex; flex-wrap: wrap; gap: .375rem; }
.dd-chips.d-none { display: none !important; }
.dd-chip { display: inline-flex; align-items: center; max-width: 100%; padding-inline-start: .625rem; border: 1px solid var(--app-border); border-radius: 999px; background: var(--app-surface-2); font-size: .8125rem; line-height: 1.2; }
.dd-chip > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dd-chip-x { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-block: -7px; margin-inline-start: -.25rem; padding: 0; border: 0; background: transparent; color: var(--app-text-muted); border-radius: 50%; }

/* Mobil dokunma hedefleri: etkileşimli öğeler en az 44x44 px. Satır içi simgeler (kopyala, ara) yerleşimi büyütmesin diye negatif kenar boşluğu alır. */
@media (max-width: 767.98px) {
    .btn, .form-control, .form-select, .ts-control, .page-link { min-height: 44px; }
    .page-link { min-width: 44px; display: inline-flex; align-items: center; justify-content: center; }
}

/* Not rozeti artık bağlantı: tıklayınca not penceresi. Notu olmayan satırda soluk "not ekle" simgesi (masaüstünde satır üstüne gelince görünür). */
a.row-notes { text-decoration: none; cursor: pointer; }
.row-notes-empty .note-n:empty { display: none; }
a.row-notes { position: relative; }
@media (max-width: 767.98px) { table.dt-cards td a.row-notes::after { content: ''; position: absolute; inset: -12px -8px; } }

/* Telefon hücresi: numara solda, eylemler (kopyala, ara, WhatsApp) hücrenin ucunda; yer dar olursa numara "…" ile kısalır, eylemler yerinde kalır. */
.phone-cell { display: flex; align-items: center; gap: .25rem; min-width: 0; }
.phone-cell > .phone-num { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phone-cell > .row-notes { flex: none; }
.phone-acts { display: inline-flex; align-items: center; flex: none; gap: 0; margin-inline-start: auto; }
.phone-acts > a { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; min-height: 28px; font-size: 1.0625rem; margin: 0; padding: 0; }
.phone-acts .tel-link { margin: 0; color: var(--app-text-muted); }
.phone-acts .wa-link { color: var(--bs-success, #2fb344); }
.phone-acts .wa-link:hover { filter: brightness(.85); }
@media (max-width: 767.98px) {
    table.dt-cards td.dc-phone { overflow: visible; }
    .phone-acts { margin-inline-end: -.625rem; }
    .phone-acts > a { min-width: 40px; min-height: 44px; font-size: 1.25rem; margin-block: -8px; }
}

/* Not ve hızlı işlem düğmesi (liste satırı): turuncu çerçeveli küçük düğme, üstüne gelince dolar. Notu olmayanda kesikli çerçeve. */
.row-notes { display: inline-flex; align-items: center; gap: .25rem; margin-inline-start: .375rem; padding: .125rem .5rem; border: 1px solid var(--tblr-orange); border-radius: 8px; font-size: .75rem; font-weight: 600; line-height: 1.4; color: color-mix(in srgb, var(--tblr-orange) 65%, var(--app-text)); background: transparent; vertical-align: middle; }
.row-notes i { font-size: 1rem; }
a.row-notes:hover, a.row-notes:focus-visible { color: var(--tblr-white); background: var(--tblr-orange); }

/* Kayıt formu sekmeleri (Notlar, Tıbbi, Diğer, Dosyalar, Loglar): telefonda eşit ızgara.
   400px üstü 2 sütun (tek kalan son sekme tam genişlik), 400px altı tek sütun; hepsi aynı boy, ortalı, 44px dokunma alanı. */
@media (max-width: 767.98px) {
    .custom-pills.form-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
    .custom-pills.form-tabs > li.nav-item, .custom-pills.form-tabs > li.nav-item + li.nav-item { width: auto; min-width: 0; margin: 0; }
    .custom-pills.form-tabs > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .custom-pills.form-tabs .nav-link { display: flex; align-items: center; justify-content: center; gap: .375rem; min-height: 44px; margin: 0; padding: .5rem .625rem; font-size: .875rem; white-space: nowrap; background: var(--app-surface-2); border: 1px solid var(--app-border); }
    .custom-pills.form-tabs .nav-link.active { background: var(--app-brand); border-color: var(--app-brand); }
}
@media (max-width: 399.98px) {
    .custom-pills.form-tabs { grid-template-columns: minmax(0, 1fr); }
    .hm-grid > .hm-s3.hm-s3 { grid-column: span 12; }
}

/* DataTables alt çubuğu (bilgi metni + sayfalama) dar ekranda sağa taşmasın. */
@media (max-width: 767.98px) {
    div.dt-container .row > *:has(> .dt-info) { flex: 1 0 100% !important; max-width: 100% !important; min-width: 0; }
    .dt-container .dt-info { white-space: normal; overflow-wrap: anywhere; text-align: center; }
    .dt-container .dt-paging .pagination { flex-wrap: wrap; justify-content: center; }
}

/* Mobil callback kartı: numara + eylemler üstte (tam satır), altında no / ülke / tür / süre yan yana akar, tarih ayraçlı alt satırda. */
@media (max-width: 767.98px) {
    table.dt-cards.dt-cb tbody tr { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .875rem; padding: .75rem; }
    table.dt-cards.dt-cb tbody tr > td { margin: 0; font-size: .8125rem; }
    table.dt-cards.dt-cb td.cb-phone { flex: 1 1 100%; order: 1; font-size: 1rem; }
    table.dt-cards.dt-cb td.cb-phone a.phone-num::after { content: ''; position: absolute; inset: 0; }
    table.dt-cards.dt-cb td.cb-phone .phone-acts a, table.dt-cards.dt-cb td.cb-phone .row-notes { position: relative; z-index: 1; }
    table.dt-cards.dt-cb td.cb-id { order: 2; font-weight: 600; color: var(--app-text-muted); }
    table.dt-cards.dt-cb td.cb-country { order: 3; }
    table.dt-cards.dt-cb td.cb-type { order: 4; }
    table.dt-cards.dt-cb td.cb-voice { order: 5; color: var(--app-text-muted); }
    table.dt-cards.dt-cb td.cb-date { order: 6; flex: 1 1 100%; margin-top: .25rem; font-size: .75rem; color: var(--app-text-muted); }
    table.dt-cards.dt-cb.dataTable > tbody > tr > td.cb-date { padding-top: .5rem !important; border-top: 1px solid var(--app-border) !important; }
    table.dt-cards.dt-cb td.cb-act { display: none; }
}

/* Form alt eylemleri (Güncelle + Data Kaydı Ekle): masaüstünde iki uçta, telefonda alt alta tam genişlik. */
.form-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; }
@media (max-width: 575.98px) {
    .form-actions { flex-direction: column; align-items: stretch; }
    .form-actions .btn { width: 100%; }
}

/* Masaüstü tablo: ad hücresinde not düğmesi ve dil rozeti adın yanında değil hücrenin sağ ucunda (sağda dil, yanında not; etiketler altta tam satır). */
@media (min-width: 768px) {
    table.dt-cards td.dc-name > .row-notes, table.dt-cards td.dc-name > .badge { float: inline-end; margin-inline-start: .75rem; }
    table.dt-cards td.dc-name > div { clear: both; }
}
.phone-cell > .row-notes { margin-inline-start: auto; }
.phone-cell > .row-notes + .phone-acts { margin-inline-start: .5rem; }

/* Metin etiketleri yalnız mobil kartta görünür (masaüstünde ikon + tooltip yeterli; dokunmatikte tooltip yok). */
.dl, .note-l { display: none; }
.row-notes .note-l { margin-inline-start: .25rem; }
@media (max-width: 767.98px) {
    table.dt-cards.dt-cb td.cb-date[data-label] { display: flex; justify-content: space-between; gap: .5rem; }
    table.dt-cards.dt-cb td.cb-date[data-label]::before { content: attr(data-label); }
}
@media (min-width: 768px) {
    table.dt-cards td.dc-name { min-width: 11.5rem; }
}
/* Anasayfa mobil: dokunma hedefi en az 44px (aralık/sekme düğmeleri, tarih ve ikon düğmeleri, dil bağlantıları, üst arama düğmesi) */
@media (hover: none), (max-width: 767.98px) {
    .hm-seg button, .hm-tabs button { min-height: 44px; }
    .hm-bar .btn { height: 44px; }
    .hm-bar .btn-icon { width: 44px; }
    .app-search__button { min-width: 44px; }
    #footer a, .app-copyright a { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (hover: none), (max-width: 767.98px) {
    .hm-feed-open { position: relative; }
    .hm-feed-open::after { content: ""; position: absolute; inset: -11px; }
    .hm-feed-lead a { padding-block: 12px; margin-block: -12px; }
}
@media (max-width: 767.98px) {
    .hm-scroll { max-height: none; overflow: visible; padding-inline-end: 0; }
    .hm-scroll.hm-collapsed > :nth-child(n+6) { display: none; }
    .app-content .hm-grid .btn[data-expand] { min-height: 44px; }
    .hm-grid > [data-w="mine"], .hm-grid > [data-w="waiting"] { order: -1; }
}
/* Üst çubuk bildirim rozetleri: beyaz yazı WCAG AA (4,5:1) için zemin koyulaştırıldı (yeşil 2,63:1, kırmızı 4,46:1 idi) */
.app-nav__item .badge.text-bg-success { background-color: color-mix(in srgb, var(--tblr-success) 62%, black) !important; }
.app-nav__item .badge.text-bg-danger { background-color: color-mix(in srgb, var(--tblr-danger) 85%, black) !important; }
/* Anasayfa "Son hareketler" masaüstü: saat adın hemen yanında (ortada yüzmesin), yalnız müşteri sağa yaslı */
@media (min-width: 768px) {
    .hm-pane .note-head .note-time { margin-inline-start: 0; white-space: nowrap; }
    .hm-pane .note-head .hm-feed-lead { min-width: 0; }
}
/* Anasayfa "Son hareketler" (note-item): ad + saat ilk satır, müşteri + "aç" simgesi ikinci satır; dar ekranda dört parça tek satırda kırılıp sıkışıyordu */
@media (max-width: 767.98px) {
    .hm-pane .note-head { flex-wrap: wrap; row-gap: 0; }
    .hm-pane .note-head .note-by { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
    .hm-pane .note-head .note-time { margin-inline-start: auto; }
    .hm-pane .note-head .hm-feed-lead { flex: 1 0 100%; margin-inline-start: 0; padding-inline-start: 1.125rem; }
    .hm-pane .note-head .hm-feed-lead a:not(.hm-feed-open) { flex: 1; min-width: 0; }
    .hm-tabs { overscroll-behavior-x: contain; scroll-snap-type: x proximity; }
    .hm-tabs button { scroll-snap-align: center; }
}
/* Anasayfa üst çubuğu: tarih / yenile / menü düğmeleri dönem sekmeleriyle (.hm-seg) aynı zemin, kenarlık ve yarıçap;
   koyu temada biri dolu biri saydam görünüyordu (tarih düğmesi dokununca hover'da dolu kalıyordu). */
.hm-bar .btn.btn-outline-dark {
    --tblr-btn-border-radius: .75rem;
    --tblr-btn-bg: var(--app-surface);
    --tblr-btn-border-color: var(--app-border);
    --tblr-btn-color: var(--app-text);
    --tblr-btn-hover-bg: var(--app-surface-2);
    --tblr-btn-hover-border-color: var(--app-border);
    --tblr-btn-hover-color: var(--app-text);
    --tblr-btn-active-bg: var(--app-surface-2);
    --tblr-btn-active-border-color: var(--app-border);
    --tblr-btn-active-color: var(--app-text);
}
@media (hover: none) {
    .hm-bar .btn.btn-outline-dark:hover:not(:active):not(.show) { --tblr-btn-hover-bg: var(--app-surface); }
}
.hm-bar .btn.btn-outline-dark,
.hm-bar .btn-group > .dropdown > .btn.btn-outline-dark,
.hm-bar .btn-group > .btn.btn-outline-dark { border-radius: .75rem !important; }
.hm-bar .btn-group { gap: .5rem; }
.hm-bar .btn-group > .dropdown > .btn.btn-outline-dark { margin-inline-start: 0; }
/* "Bugünkü işlerim" iç kartları mobilde alt alta (iki sütunda sayaç etiketi 3 satıra kırılıyordu) */
@media (max-width: 767.98px) {
    .hm-tile-grid-sm { grid-template-columns: minmax(0, 1fr); }
}
/* Düzenleme sayfası "Önceki Kayıtlar": 5-7 sütunlu tablo mobilde yatay kayıyor, statü/tarih/işlem düğmeleri görünmüyordu; her satır sarmalı kart olur */
@media (max-width: 767.98px) {
    table.prev-cards thead { display: none; }
    table.prev-cards, table.prev-cards tbody { display: block; width: 100%; }
    table.prev-cards tr { display: flex; flex-wrap: wrap; align-items: center; gap: .125rem .75rem; padding: .625rem 0; border-bottom: 1px solid var(--app-border); }
    table.prev-cards tr:last-child { border-bottom: 0; }
    table.prev-cards td { display: block; padding: 0; border: 0; background: transparent; box-shadow: none; }
    table.prev-cards td:nth-child(2) { flex: 1 1 8rem; font-weight: 600; min-width: 0; }
    table.prev-cards td:last-child { margin-inline-start: auto; white-space: nowrap; }
}
/* Düzenleme sayfası "Ürün Bilgileri": 4 sütunlu tablo mobilde yatay kayıyor, fiyat kesiliyordu; alanlar alt alta, etiketler data-label'dan */
@media (max-width: 767.98px) {
    table.prod-cards { border: 0; }
    table.prod-cards thead { display: none; }
    table.prod-cards, table.prod-cards tbody { display: block; width: 100%; }
    table.prod-cards tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .625rem .5rem; align-items: end; }
    table.prod-cards td { display: block; padding: 0; border: 0; text-align: start !important; }
    table.prod-cards td[data-label]::before { content: attr(data-label) ":"; display: block; margin-bottom: .25rem; font-size: .8125rem; font-weight: 600; color: var(--app-text-muted); }
    table.prod-cards td#prdprc, table.prod-cards td:nth-child(3) { grid-column: 1 / -1; }
    table.prod-cards td#prddesc { grid-column: 2; grid-row: 1; }
}
@media (max-width: 767.98px) {
    table.prod-cards > :not(caption) > *, table.prod-cards > :not(caption) > * > * { border-width: 0; }
}
/* Kart görünümünde not rozeti (22px) ve telefon numarası (24px) bağlantıları: düzeni değiştirmeden 44px'lik görünmez dokunma alanı */
@media (max-width: 767.98px) {
    table.dt-cards .row-notes, table.dt-cards a.phone-num { position: relative; }
    table.dt-cards .row-notes::after, table.dt-cards a.phone-num::after { content: ""; position: absolute; inset: -11px -4px; }
}
