/**
 * JKB icons polish — favicon companions, nav glyphs, emoji/system symbols,
 * report theme icons, brand marks. Ensures icons remain visible on all OS.
 */

/* System / emoji capable stacks for glyph icons */
:root {
  --jkb-icon-font: "Segoe UI Symbol", "Segoe UI Emoji", "Apple Color Emoji",
    "Noto Color Emoji", "Android Emoji", "Twemoji Mozilla", "EmojiOne Color",
    "Symbola", "DM Sans", system-ui, sans-serif;
}

/* Practitioner nav icons */
.pr-nav-ico,
.pr-sidebar .pr-nav-ico,
.nav-ico,
.p2-nav-ico {
  font-family: var(--jkb-icon-font) !important;
  font-style: normal !important;
  font-variant-emoji: emoji;
  line-height: 1 !important;
  text-align: center !important;
  -webkit-font-smoothing: antialiased;
  speak: never;
}

/* Ensure glyph contrast on dark sidebar */
.pr-sidebar .pr-nav-ico,
.p2-sidebar .p2-nav-ico {
  color: #fff !important;
  opacity: 0.95;
}

.pr-sidebar .pr-nav-link:not(.is-active):not([aria-current="page"]) .pr-nav-ico,
.p2-sidebar .p2-nav-link:not([aria-current="page"]) .p2-nav-ico {
  opacity: 0.88;
}

/* Brand mark letter */
.pr-brand-mark,
.p2-brand-mark,
.pr-auth-card .pr-brand-mark {
  font-family: "Fraunces", Georgia, "Times New Roman", serif !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  display: inline-grid !important;
  place-items: center !important;
}

/* Notification bell buttons */
.pr-notif-btn,
.p2-notif-btn,
.pr-notif-label,
.p2-notif-label {
  font-family: var(--jkb-icon-font), "DM Sans", system-ui, sans-serif !important;
}

/* Report theme icons */
.report-theme-icon,
.jkb-theme-icon,
.theme-icon,
img[src*="/assets/img/report/icon-"] {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  border-radius: 0.65rem;
}

.report-theme-icon.is-lg,
img[src*="/assets/img/report/icon-"].is-lg {
  width: 2.75rem;
  height: 2.75rem;
}

/* System card emoji icons (client hub v19) */
.v19-system-icon,
.jkb-system-icon {
  font-family: var(--jkb-icon-font) !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 2.25rem !important;
  height: 2.25rem !important;
  border-radius: 0.75rem !important;
  background: #f3ecf9 !important;
  border: 1px solid rgba(90, 40, 120, 0.1) !important;
}

/* Editor toolbar glyph icons (text-based) */
.jkb-tiptap-toolbar button::before,
.jkb-learning-toolbar-redesign-v10144 button::before,
[data-tiptap-cmd]::before {
  font-family: var(--jkb-icon-font), "DM Sans", system-ui, sans-serif !important;
  font-style: normal !important;
}

/* Daisy / empty icon utility safety */
.icon,
.jkb-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-family: var(--jkb-icon-font) !important;
}

/* Hide broken image icon chrome slightly */
img.icon-broken,
img[alt=""]:not([src]),
img[src=""] {
  visibility: hidden;
}

/* Status pills with leading symbols */
.pr-pill,
.p2-pill,
.pr-kicker,
.p2-kicker {
  font-family: "DM Sans", var(--jkb-icon-font), system-ui, sans-serif;
}

/* Portal access / logout glyphs */
.p2-access,
.p2-sidebar-foot a {
  font-family: "DM Sans", var(--jkb-icon-font), system-ui, sans-serif;
}

/* PDF / export system icons if used as background */
.system-icon,
.finding-icon {
  font-family: var(--jkb-icon-font) !important;
}

/* Ensure SVG icons inherit currentColor when designed for it */
.jkb-svg-icon,
.svg-icon {
  width: 1.15em;
  height: 1.15em;
  display: inline-block;
  vertical-align: -0.15em;
  fill: currentColor;
}

/* Menu close / open glyphs */
.pr-nav-close,
.p2-sidebar-close,
.pr-menu-btn,
.p2-menu-btn {
  font-family: var(--jkb-icon-font), "DM Sans", system-ui, sans-serif !important;
}

/* Mobile: keep icons from collapsing */
@media (max-width: 720px) {
  .pr-nav-ico,
  .p2-nav-ico {
    min-width: 1.6rem !important;
    min-height: 1.6rem !important;
  }
}
