/* NurseLink Theme Icon Control Fix v64.0.1
   Fixes member-theme-control-v337 pillbox appearance and SVG rendering. */

.member-theme-control-v337 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;

  width: auto !important;
  min-width: 0 !important;
  height: auto !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.member-theme-control-v337 > button {
  appearance: none !important;
  -webkit-appearance: none !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 40px !important;

  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 1px solid rgba(15, 23, 42, .16) !important;
  border-radius: 10px !important;

  background: rgba(255, 255, 255, .88) !important;
  color: #475569 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06) !important;

  cursor: pointer !important;
  line-height: 1 !important;
  overflow: visible !important;
  -webkit-tap-highlight-color: transparent !important;
}

.member-theme-control-v337 > button:hover {
  background: #f8fafc !important;
  border-color: rgba(15, 23, 42, .28) !important;
  color: #0f172a !important;
}

.member-theme-control-v337 > button[aria-pressed="true"] {
  background: #eff6ff !important;
  border-color: #2563eb !important;
  color: #1d4ed8 !important;
  box-shadow: 0 0 0 1px rgba(37, 99, 235, .12) !important;
}

.member-theme-control-v337 > button:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .35) !important;
  outline-offset: 3px !important;
}

/* Critical SVG normalization */
.member-theme-control-v337 > button > svg {
  display: block !important;
  flex: 0 0 auto !important;

  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;

  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  fill: none !important;
}

/* Ensure each SVG primitive follows the icon stroke model. */
.member-theme-control-v337 > button > svg path,
.member-theme-control-v337 > button > svg circle,
.member-theme-control-v337 > button > svg rect,
.member-theme-control-v337 > button > svg line,
.member-theme-control-v337 > button > svg polyline {
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  fill: none !important;
}

/* Dark theme */
html[data-theme="dark"] .member-theme-control-v337 > button,
html.dark .member-theme-control-v337 > button,
body.dark .member-theme-control-v337 > button,
[data-theme="dark"] .member-theme-control-v337 > button {
  background: rgba(30, 41, 59, .92) !important;
  border-color: rgba(226, 232, 240, .18) !important;
  color: #cbd5e1 !important;
  box-shadow: none !important;
}

html[data-theme="dark"] .member-theme-control-v337 > button:hover,
html.dark .member-theme-control-v337 > button:hover,
body.dark .member-theme-control-v337 > button:hover,
[data-theme="dark"] .member-theme-control-v337 > button:hover {
  background: #263244 !important;
  border-color: rgba(226, 232, 240, .32) !important;
  color: #ffffff !important;
}

html[data-theme="dark"] .member-theme-control-v337 > button[aria-pressed="true"],
html.dark .member-theme-control-v337 > button[aria-pressed="true"],
body.dark .member-theme-control-v337 > button[aria-pressed="true"],
[data-theme="dark"] .member-theme-control-v337 > button[aria-pressed="true"] {
  background: rgba(59, 130, 246, .16) !important;
  border-color: #60a5fa !important;
  color: #bfdbfe !important;
}

/* Compact phones: retain separate icon buttons, never merge into a pill. */
@media (max-width: 480px) {
  .member-theme-control-v337 {
    gap: 6px !important;
  }

  .member-theme-control-v337 > button {
    flex-basis: 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    border-radius: 9px !important;
  }

  .member-theme-control-v337 > button > svg {
    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;
    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;
  }
}
