/* ============================================================
 * DentAnaliz Brand Theme + Modern Tasarim Dili (tek global tema)
 * Primary: #426AB3  |  Dark Navy: #142F53  |  Font: Avenir -> Mulish
 * Tum roller (hasta/doktor/klinik/admin) bu dosyadan ayni dili alir.
 * ============================================================ */
/* Mulish — self-hosted (Google Fonts kaldırıldı: KVKK/gizlilik + CSP + dış bağımlılık yok).
 * latin + latin-ext alt kümeleri (Türkçe ğ/ş/İ vb. latin-ext'te). Dosyalar: /fonts/ (public). */
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/mulish-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/mulish-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mulish';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/mulish-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/mulish-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/mulish-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/mulish-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/mulish-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/mulish-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mulish';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/mulish-latin-800-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/mulish-latin-ext-800-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mulish';font-style:normal;font-weight:900;font-display:swap;src:url('/fonts/mulish-latin-900-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:900;font-display:swap;src:url('/fonts/mulish-latin-ext-900-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mulish';font-style:italic;font-weight:800;font-display:swap;src:url('/fonts/mulish-latin-800-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mulish';font-style:italic;font-weight:800;font-display:swap;src:url('/fonts/mulish-latin-ext-800-italic.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mulish';font-style:italic;font-weight:900;font-display:swap;src:url('/fonts/mulish-latin-900-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mulish';font-style:italic;font-weight:900;font-display:swap;src:url('/fonts/mulish-latin-ext-900-italic.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root {
  --da-primary:       #426AB3;
  --da-primary-rgb:   66, 106, 179;
  --da-dark:          #142F53;
  --da-dark-rgb:      20, 47, 83;
  --da-hover:         #3559a0;
  --da-active:        #2d4e8e;
  --da-light:         rgba(66, 106, 179, .1);
  --da-sidebar-dark:  #142F53;
  --da-ink:           #142F53;
  --da-muted:         #5d6b85;
  --da-line:          #e6ecf5;
  --da-sh-sm: 0 1px 2px rgba(20,47,83,.06), 0 1px 3px rgba(20,47,83,.07);
  --da-sh:    0 6px 16px -6px rgba(20,47,83,.13), 0 2px 6px rgba(20,47,83,.06);

  /* Bootstrap CSS variable overrides */
  --bs-primary:           #426AB3;
  --bs-primary-rgb:       66, 106, 179;
  --bs-link-color:        #426AB3;
  --bs-link-color-rgb:    66, 106, 179;
  --bs-link-hover-color:  #3559a0;
  /* Modern dil: font, zemin, koseler */
  --bs-body-font-family:  'Mulish', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --bs-body-color:        #172033;
  --bs-body-bg:           #f4f7fc;
  --bs-heading-color:     #142F53;
  --bs-border-color:      #e6ecf5;
  --bs-border-radius:     .7rem;
  --bs-border-radius-sm:  .5rem;
  --bs-border-radius-lg:  1rem;
  --bs-border-radius-xl:  1.25rem;
}

/* ── Tipografi & zemin ────────────────────────────────────── */
body { font-family: var(--bs-body-font-family); background: var(--bs-body-bg); color: var(--bs-body-color); -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4,h5,h6 { font-weight: 800; letter-spacing: -.01em; }
.fw-semibold { font-weight: 700 !important; }
.fw-bold { font-weight: 800 !important; }

/* ── Kartlar (yumusak golge + ince cizgi + yuvarlak kose) ─── */
.card {
  --bs-card-border-color: var(--da-line);
  --bs-card-border-radius: 1rem;
  --bs-card-inner-border-radius: calc(1rem - 1px);
  box-shadow: var(--da-sh-sm);
  border-color: var(--da-line);
}
.card-header {
  background: #fff;
  border-bottom-color: #eef2f8;
  font-weight: 800;
  color: var(--da-ink);
}

/* ── Butonlar (kalin, yuvarlak, dokunmatik dostu) ─────────── */
.btn { --bs-btn-font-weight: 700; border-radius: .6rem; }
.btn-lg { border-radius: .8rem; }

/* ── Buttons ─────────────────────────────────────────────── */
.btn-primary {
  --bs-btn-bg:              #426AB3;
  --bs-btn-border-color:    #426AB3;
  --bs-btn-color:           #fff;
  --bs-btn-hover-bg:        #3559a0;
  --bs-btn-hover-border-color: #3559a0;
  --bs-btn-hover-color:     #fff;
  --bs-btn-active-bg:       #2d4e8e;
  --bs-btn-active-border-color: #2d4e8e;
  --bs-btn-active-color:    #fff;
  --bs-btn-focus-shadow-rgb: 66, 106, 179;
  --bs-btn-disabled-bg:     #426AB3;
  --bs-btn-disabled-border-color: #426AB3;
  --bs-btn-disabled-color:  #999;
}

.btn-outline-primary {
  --bs-btn-color:           #426AB3;
  --bs-btn-border-color:    #426AB3;
  --bs-btn-hover-bg:        #426AB3;
  --bs-btn-hover-border-color: #426AB3;
  --bs-btn-active-bg:       #3559a0;
  --bs-btn-active-border-color: #3559a0;
  --bs-btn-focus-shadow-rgb: 66, 106, 179;
}

/* ── Utilities ───────────────────────────────────────────── */
.text-primary   { color: #426AB3 !important; }
.bg-primary     { background-color: #426AB3 !important; }
.border-primary { border-color: #426AB3 !important; }

/* ── Badges (pill + kalin) ───────────────────────────────── */
.badge { border-radius: 999px; font-weight: 800; letter-spacing: .01em; padding: .4em .72em; }
.badge.bg-primary,
.badge.text-bg-primary { background-color: #426AB3 !important; }
.badge.bg-light { color: var(--da-muted) !important; }

/* ── Form (dokunmatik dostu yukseklik) ───────────────────── */
.form-control, .form-select { min-height: 44px; }
.form-control-sm, .form-select-sm { min-height: 36px; }
.input-group-sm > .form-control, .input-group-sm > .form-select { min-height: 36px; }

/* ── Topbar / govde basliklari ───────────────────────────── */
.topbar { background: rgba(255,255,255,.9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }

/* ── Form controls ───────────────────────────────────────── */
.form-control:focus,
.form-select:focus {
  border-color: #426AB3;
  box-shadow: 0 0 0 .25rem rgba(66, 106, 179, .25);
}
.form-check-input:checked {
  background-color: #426AB3;
  border-color:     #426AB3;
}
.form-check-input:focus { box-shadow: 0 0 0 .25rem rgba(66, 106, 179, .25); }
.form-range::-webkit-slider-thumb { background: #426AB3; }
.form-range::-moz-range-thumb     { background: #426AB3; }

/* ── Progress ────────────────────────────────────────────── */
.progress-bar { background-color: #426AB3; }

/* ── Nav / tabs ──────────────────────────────────────────── */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link { background-color: #426AB3; }

/* ── Links ───────────────────────────────────────────────── */
a { color: #426AB3; }
a:hover { color: #3559a0; }
button { color: inherit; }

/* ── Sidebar (include.js + klinik) — koyu lacivert, tüm roller ortak ── */
.sidebar, .sidebar-nav { background: var(--da-dark) !important; border-color: rgba(255,255,255,.08) !important; }
.sidebar .nav-link, .sidebar-nav .nav-link { color: #b9c8e2; border-radius: 10px; font-weight: 600; }
.sidebar .nav-link i, .sidebar-nav .nav-link i { color: #7da4cf; }
.sidebar .nav-link:hover, .sidebar-nav .nav-link:hover {
  color: #fff !important; background: rgba(255,255,255,.08) !important;
}
.sidebar .nav-link.active, .sidebar-nav .nav-link.active {
  color: #fff !important; background: var(--da-primary) !important; box-shadow: var(--da-sh-sm);
}
.sidebar .nav-link.active i, .sidebar-nav .nav-link.active i { color: #fff; }
.sidebar hr, .sidebar-nav hr { border-color: rgba(255,255,255,.1) !important; }

/* ── Dark sidebar (admin standalone pages) ───────────────── */
.da-sidebar-dark { background: #142F53 !important; }
.da-sidebar-dark .nav-link        { color: #b8c9e3; border-radius: 7px; }
.da-sidebar-dark .nav-link i      { color: #7da4cf; }
.da-sidebar-dark .nav-link:hover  { color: #fff !important; background: rgba(255,255,255,.08) !important; }
.da-sidebar-dark .nav-link.active { color: #fff !important; background: rgba(66,106,179,.45) !important; }
.da-sidebar-dark .nav-link.active i { color: #7ec8f7; }
.da-sidebar-dark small,
.da-sidebar-dark .text-muted      { color: #6a8daf !important; }
.da-sidebar-dark hr               { border-color: rgba(255,255,255,.1) !important; }

/* ── Navbar brand ────────────────────────────────────────── */
.navbar-brand img { display: block; }

/* ── Alert / spinner ─────────────────────────────────────── */
.spinner-border.text-primary { color: #426AB3 !important; }
.alert-primary {
  --bs-alert-color: #1d3d6f;
  --bs-alert-bg:    #d8e4f5;
  --bs-alert-border-color: #b9ceed;
}

/* ── Dropdown active ─────────────────────────────────────── */
.dropdown-item.active,
.dropdown-item:active { background-color: #426AB3; }

/* ── Table hover ─────────────────────────────────────────── */
.table-hover > tbody > tr:hover > * { background-color: rgba(66,106,179,.05); }

/* ── Page scrollbar accent ───────────────────────────────── */
::-webkit-scrollbar-thumb { background: #c2d3ec; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #426AB3; }

/* ============================================================
 * CİLA — bileşen ince ayarı (markup'a dokunmadan, tüm sayfalar)
 * ============================================================ */

/* Modal: yumuşak köşe + gölge, sert kenar yok */
.modal-content { border: 0; border-radius: 1.1rem; box-shadow: var(--da-sh); }
.modal-header { border-bottom-color: #eef2f8; }
.modal-footer { border-top-color: #eef2f8; }
.modal-title { color: var(--da-ink); font-weight: 800; }

/* Dropdown: yuvarlak panel + yumuşak gölge + dolgulu öğe */
.dropdown-menu {
  --bs-dropdown-border-color: var(--da-line);
  border-radius: .85rem; box-shadow: var(--da-sh); padding: .35rem;
}
.dropdown-item { border-radius: .55rem; padding: .5rem .7rem; font-weight: 600; }
.dropdown-item:hover { background: var(--da-light); color: var(--da-dark); }
/* Navbar hesap menüsü: lg-altı ekranda Bootstrap menüyü static yapıp navbar'ı büyütüyordu →
   her zaman overlay (mutlak konum), bandın üzerine açılsın, navbar genişlemesin */
.navbar .dropdown-menu { position: absolute !important; }
.da-user-head + li > .dropdown-item, .da-user-head ~ li .dropdown-item { font-weight: 600; }

/* Tablo: ince çizgi + üst başlık küçük/uppercase + rahat satır */
.table { --bs-table-border-color: #eef2f8; }
.table > thead th {
  text-transform: uppercase; font-size: .72rem; letter-spacing: .04em;
  color: var(--da-muted); font-weight: 800; border-bottom-color: var(--da-line);
}
.table > tbody > tr > td { padding-top: .7rem; padding-bottom: .7rem; vertical-align: middle; }

/* Sekmeler: alt-çizgi vurgusu (kutu yerine) */
.nav-tabs { --bs-nav-tabs-border-color: var(--da-line); }
.nav-tabs .nav-link { color: var(--da-muted); font-weight: 700; border: 0; border-bottom: 2px solid transparent; }
.nav-tabs .nav-link:hover { color: var(--da-dark); border-bottom-color: var(--da-line); }
.nav-tabs .nav-link.active { color: var(--da-primary); background: transparent; border-bottom-color: var(--da-primary); }

/* Liste grubu + sayfalama */
.list-group-item { border-color: var(--da-line); }
.page-link { color: var(--da-primary); border-radius: .5rem; margin: 0 2px; border-color: var(--da-line); }
.active > .page-link, .page-link.active { background: var(--da-primary); border-color: var(--da-primary); }

/* Form etiketi + yardım metni */
.form-label { font-weight: 700; color: var(--da-ink); font-size: .85rem; margin-bottom: .3rem; }
.form-text { color: var(--da-muted); }

/* Toast (shared/toast.js) + alert yuvarlatma */
.toast { border-radius: .85rem; box-shadow: var(--da-sh); border-color: var(--da-line); }
.alert { border-radius: .8rem; }

/* Boş durum / spinner ortak */
.spinner-border, .spinner-grow { color: var(--da-primary); }

/* Odak halkası tutarlılığı (erişilebilirlik) */
.btn:focus-visible, .form-control:focus-visible, .form-select:focus-visible {
  box-shadow: 0 0 0 .2rem rgba(var(--da-primary-rgb), .3);
}

/* ── Mobil alt menü (bottom-nav) — yalnızca telefon ──────── */
.da-bottomnav { display: none; }
@media (max-width: 767.98px) {
  .da-bottomnav {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1040;
    display: flex; justify-content: space-around; align-items: stretch;
    background: #fff; border-top: 1px solid var(--da-line);
    padding: .3rem .25rem calc(.3rem + env(safe-area-inset-bottom));
    box-shadow: 0 -6px 18px -8px rgba(20,47,83,.18);
  }
  .da-bn-link {
    flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: .12rem; padding: .3rem .15rem; min-height: 50px; border-radius: 11px;
    color: var(--da-muted); font-size: .63rem; font-weight: 700; line-height: 1.1;
    text-align: center; text-decoration: none;
  }
  .da-bn-link span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .da-bn-link i { font-size: 1.22rem; }
  .da-bn-link.active { color: var(--da-primary); }
  .da-bn-link:active { background: var(--da-light); }
  body.has-bottomnav { padding-bottom: 62px; }
}

/* ── Yazdırma: menü/navbar/alt-bant ASLA basılmaz ──────────── */
@media print {
  .navbar, nav.navbar,
  .sidebar, .sidebar-nav, aside.sidebar,
  .da-bottomnav,
  .sidebar-toggle-btn,
  #app-navbar, #app-sidebar,
  .no-print {
    display: none !important;
  }
  body.has-bottomnav { padding-bottom: 0 !important; }
  /* İçerik tam genişlik + gölgesiz (kağıtta temiz) */
  main, .content, .flex-grow-1 { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
  .card, .shadow-sm, .shadow { box-shadow: none !important; }
}

/* ── AI bulgu satırı (doktor + admin + paylaşılan rapor görüntüleyici) — TEK KAYNAK ── */
.anomaly-row { border-left: 4px solid; padding: .5rem .75rem; margin-bottom: .5rem; border-radius: 0 .375rem .375rem 0; }
.anomaly-row.critical { border-color: #dc3545; background: #fff5f5; }
.anomaly-row.high     { border-color: #fd7e14; background: #fff8f5; }
.anomaly-row.moderate { border-color: #ffc107; background: #fffdf0; }
.anomaly-row.low      { border-color: #198754; background: #f0fff4; }

/* ── Chip/badge çoklu seçim (tek kaynak) — new-complaint tip seçimi + doktor gereken-uzmanlık seçimi ──
   Kullanım: .type-chip.btn.btn-outline-primary.btn-sm; seçili durumda btn-primary'ye geçirilir. */
.type-chip { border-radius: 20px; font-size: 14px; }

/* ── Admin mobil: kenar çubuğu → çekmece + hamburger (taşma yok) ── */
/* ── Mini diş haritası (şikayet detayı) — tek kaynak; ekrana göre küçülür (max 38px) ── */
/* İnteraktif harita — çeyrek hızlı-seçim "Tümü" butonları (tooth-map.js quickSelect, şerit düzeni) */
.dc-quick { font-size: .6rem; font-weight: 700; line-height: 1.5; padding: 0 .4rem; border: 1px solid #cbd5e1; border-radius: 999px; background: #fff; color: #426AB3; }
.dc-quick:hover { background: #eef4ff; }
/* Şerit satırı: ◀ Sağ · Tümü · [orta öğe] · Tümü · Sol ▶ */
.dc-bar { display: flex; align-items: center; gap: 6px; margin: 2px 0; }
.dc-bar-legend { font-size: 10px; color: #94a3b8; font-weight: 600; white-space: nowrap; min-width: 34px; }
.dc-bar-legend:last-child { text-align: right; }
.dc-bar-center { flex: 1 1 0; display: flex; justify-content: center; min-width: 0; }

.mdc-tooth { display: flex; flex-direction: column; align-items: center; flex: 1 1 0; min-width: 0; max-width: 38px; padding: 2px 1px; border-radius: 5px; }
.mdc-tooth img { width: 100%; max-width: 28px; height: auto; display: block; opacity: .2; filter: grayscale(1); pointer-events: none; }
.mdc-tooth.selected { background: rgba(66,106,179,.13); }
.mdc-tooth.selected img { opacity: 1; filter: drop-shadow(0 0 4px rgba(66,106,179,.9)) brightness(1.05); }
.mdc-tooth.pain-low.selected { background: rgba(25,135,84,.13); }
.mdc-tooth.pain-low.selected img { filter: drop-shadow(0 0 4px rgba(25,135,84,.9)) brightness(1.05); }
.mdc-tooth.pain-med.selected { background: rgba(255,193,7,.18); }
.mdc-tooth.pain-med.selected img { filter: drop-shadow(0 0 4px rgba(255,193,7,.9)) brightness(1.05); }
.mdc-tooth.pain-hi.selected { background: rgba(253,126,20,.15); }
.mdc-tooth.pain-hi.selected img { filter: drop-shadow(0 0 4px rgba(253,126,20,.9)) brightness(1.05); }
.mdc-tooth.pain-max.selected { background: rgba(220,53,69,.13); }
.mdc-tooth.pain-max.selected img { filter: drop-shadow(0 0 4px rgba(220,53,69,.9)) brightness(1.05); }
.mdc-num { font-size: 9px; color: #adb5bd; line-height: 14px; }
.mdc-tooth.selected .mdc-num { color: #426AB3; font-weight: 700; }
.mdc-tooth.pain-low.selected .mdc-num { color: #198754; }
.mdc-tooth.pain-med.selected .mdc-num { color: #997404; }
.mdc-tooth.pain-hi.selected .mdc-num { color: #fd7e14; }
.mdc-tooth.pain-max.selected .mdc-num { color: #dc3545; }

/* ── İnteraktif diş haritası (.dc-*) — tek kaynak; shared/tooth-map.js kullanır ──
   (hasta yeni şikayet seçimi · doktor "Düzelt" · tedavi planı modalı). Sayfada KOPYA yok. */
.dc-wrap {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 8px 4px 4px;
  overflow-x: auto;
  position: relative;
  max-width: 100%;
}
.dc-legend {
  display: flex;
  justify-content: space-between;
  padding: 0 6px 4px;
  font-size: 10px;
  font-weight: 600;
  color: #94a3b8;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.dc-arch {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.dc-arch.dc-lower {
  align-items: flex-start;
  border-top: 2px dashed #cbd5e1;
}
.dc-half { display: flex; flex: 1 1 0; min-width: 0; }
/* Dişler max-width'e takılıp half'i dolduramadığında midline'a yaslansın */
.dc-arch > .dc-half:first-child { justify-content: flex-end; }
.dc-arch > .dc-half:last-child  { justify-content: flex-start; }
.dc-arch.dc-lower .dc-half { align-items: flex-start; }
.dc-midline {
  width: 1px;
  background: #cbd5e1;
  align-self: stretch;
  margin: 0 2px;
  flex-shrink: 0;
}
.dc-tooth {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  border-radius: 5px;
  padding: 2px 1px;
  transition: background 0.12s;
  flex: 1 1 0;
  min-width: 0;
  max-width: 38px;
  -webkit-user-select: none;
  user-select: none;
}
.dc-tooth img {
  width: 100%;
  max-width: 28px;
  height: auto;
  display: block;
  pointer-events: none;
  transition: filter 0.12s;
  image-rendering: -webkit-optimize-contrast;
}
.dc-tooth-num {
  font-size: 9px;
  color: #94a3b8;
  line-height: 14px;
  text-align: center;
  pointer-events: none;
  transition: color 0.12s;
}
/* Hover yalnızca gerçek fare olan cihazlarda (mobilde dokununca takılı kalmasın) */
@media (hover: hover) and (pointer: fine) {
  .dc-tooth:hover { background: rgba(13,110,253,0.08); }
  .dc-tooth:hover img { filter: drop-shadow(0 0 3px rgba(13,110,253,0.55)); }
}
.dc-tooth.selected { background: rgba(13,110,253,0.13); }
.dc-tooth.selected img { filter: drop-shadow(0 0 4px rgba(13,110,253,0.9)) brightness(1.05); }
.dc-tooth.selected .dc-tooth-num { color: #426AB3; font-weight: 700; }
/* Ağrı renk bandı overlay'leri */
.dc-tooth.pain-low.selected img  { filter: drop-shadow(0 0 4px rgba(25,135,84,0.9))  brightness(1.05); }
.dc-tooth.pain-med.selected img  { filter: drop-shadow(0 0 4px rgba(255,193,7,0.9))  brightness(1.05); }
.dc-tooth.pain-hi.selected img   { filter: drop-shadow(0 0 4px rgba(253,126,20,0.9)) brightness(1.05); }
.dc-tooth.pain-max.selected img  { filter: drop-shadow(0 0 4px rgba(220,53,69,0.9))  brightness(1.05); }
/* Salt-görünüm modu (.dc-view): seçilmemiş dişler mini haritadaki (.mdc-*) gibi pasif/soluk görünür */
.dc-view .dc-tooth:not(.selected) img { opacity: .2; filter: grayscale(1); }
.dc-view .dc-tooth:not(.selected) .dc-tooth-num { color: #adb5bd; }
@media (max-width: 480px) {
  .dc-tooth-num { font-size: 8px; }
}

.da-admin-burger { display: none; background: transparent; border: 0; color: #142F53; font-size: 1.35rem; line-height: 1; padding: .2rem .45rem; cursor: pointer; border-radius: 8px; }
.da-admin-burger:hover { background: var(--da-light); }
@media (max-width: 767.98px) {
  .da-admin-burger { display: inline-flex; align-items: center; }
  .da-admin-side {
    position: fixed; top: 0; left: 0; height: 100vh; z-index: 1055;
    transform: translateX(-100%); transition: transform .22s ease;
    box-shadow: 4px 0 22px rgba(0,0,0,.28); overflow-y: auto;
  }
  .da-admin-side.open { transform: translateX(0); }
  .da-admin-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.42); z-index: 1054; }
}

/* ── Admin topbar: sağ üst dropdown içerik kartlarının ÜSTÜNDE açılsın ── */
.topbar { position: relative; z-index: 1040; }
.topbar .dropdown-menu { z-index: 1045; }

/* ── Yatay taşma kilidi (her sayfa, her cihaz) ───────────── */
html, body { max-width: 100%; overflow-x: hidden; }
/* Flex içerik alanı viewport'a sığsın (min-width:auto taşmasını önle) → iç scroll'lu
   kutular (ör. diş haritası dc-wrap) genişlemek yerine kendi içinde kaysın */
main.flex-grow-1 { min-width: 0; }
/* .content/.main-area düzenli sayfalar (ör. doktor şikayet kuyruğu): flex çocuğuna min-width:0
   → geniş tablolar .table-responsive içinde kaysın, sayfayı taşırmasın */
.main-area { min-width: 0; }
.content { min-width: 0; }
/* Admin layout: .layout(flex) > aside + .main-wrap → .main-wrap'e min-width:0 verilmezse geniş
   tablo onu şişirir ve sayfa taşar. Bununla .table-responsive içindeki tablolar kendi içinde kayar. */
.main-wrap { min-width: 0; }
.table-responsive { max-width: 100%; }
/* .dc-wrap max-width: yukarıdaki interaktif diş haritası bloğunda tanımlı (tek kaynak) */

@media (max-width: 767.98px) {
  /* Alt menü varsa SOLDAKİ menü (hamburger) mobilde gereksiz → gizle (include.js rolleri) */
  .sidebar-toggle-btn { display: none !important; }
  /* Beta feedback butonu alt menünün ÜSTÜNE çıksın (çakışmasın) */
  #feedback-btn { bottom: 4.9rem !important; left: 1rem !important; width: 44px !important; height: 44px !important; }
}
