/* ============================================================================
   WetzelMed — Colored icons (light + dark)
   ---------------------------------------------------------------------------
   Gives every Font Awesome icon a semantic tint. Colours are fixed hues with
   separate light/dark values so icons stay vivid and legible in both themes.
   Icons inside buttons, badges, avatars and coloured icon wells keep their
   control colour (color: inherit / currentColor) so contrast never breaks.
   ========================================================================= */

/* ── 1. Theme-safe icon palette ────────────────────────────────────────── */
:root {
  --ic-indigo:  #6366f1;
  --ic-blue:    #2563eb;
  --ic-sky:     #0284c7;
  --ic-cyan:    #0891b2;
  --ic-teal:    #0d9488;
  --ic-emerald: #059669;
  --ic-green:   #16a34a;
  --ic-lime:    #65a30d;
  --ic-amber:   #d97706;
  --ic-orange:  #ea580c;
  --ic-coral:   #e11d48;
  --ic-rose:    #db2777;
  --ic-violet:  #7c3aed;
  --ic-purple:  #9333ea;
  --ic-slate:   #64748b;
}

html.dark-mode,
.dark {
  --ic-indigo:  #818cf8;
  --ic-blue:    #60a5fa;
  --ic-sky:     #38bdf8;
  --ic-cyan:    #22d3ee;
  --ic-teal:    #2dd4bf;
  --ic-emerald: #34d399;
  --ic-green:   #4ade80;
  --ic-lime:    #a3e635;
  --ic-amber:   #fbbf24;
  --ic-orange:  #fb923c;
  --ic-coral:   #fb7185;
  --ic-rose:    #f472b6;
  --ic-violet:  #a78bfa;
  --ic-purple:  #c084fc;
  --ic-slate:   #94a3b8;
}

/* ── 2. Sidebar navigation ─────────────────────────────────────────────── */
.neu-nav-link i,
.neu-mobile__link i {
  transition: color var(--neu-speed, .2s) ease, transform var(--neu-speed, .2s) ease, filter var(--neu-speed, .2s) ease;
}
.neu-nav-link:hover i { transform: scale(1.12); }

.neu-nav-link i.fa-th-large,
.neu-mobile__link i.fa-th-large      { color: var(--ic-indigo); }
.neu-nav-link i.fa-user-injured,
.neu-mobile__link i.fa-user-injured  { color: var(--ic-violet); }
.neu-nav-link i.fa-calendar-check,
.neu-mobile__link i.fa-calendar-check{ color: var(--ic-blue); }
.neu-nav-link i.fa-calendar-days,
.neu-mobile__link i.fa-calendar-days { color: var(--ic-sky); }
.neu-nav-link i.fa-file-invoice-dollar,
.neu-mobile__link i.fa-file-invoice-dollar { color: var(--ic-amber); }
.neu-nav-link i.fa-credit-card,
.neu-mobile__link i.fa-credit-card   { color: var(--ic-emerald); }
.neu-nav-link i.fa-shield            { color: var(--ic-teal); }
.neu-nav-link i.fa-file-export       { color: var(--ic-cyan); }
.neu-nav-link i.fa-file-invoice      { color: var(--ic-orange); }
.neu-nav-link i.fa-file-prescription { color: var(--ic-violet); }
.neu-nav-link i.fa-file-medical      { color: var(--ic-teal); }
.neu-nav-link i.fa-clipboard-list    { color: var(--ic-blue); }
.neu-nav-link i.fa-dumbbell          { color: var(--ic-rose); }
.neu-nav-link i.fa-chart-simple      { color: var(--ic-purple); }
.neu-nav-link i.fa-user-doctor       { color: var(--ic-cyan); }
.neu-nav-link i.fa-ban               { color: var(--ic-coral); }
.neu-nav-link i.fa-map-pin           { color: var(--ic-rose); }
.neu-nav-link i.fa-door-open         { color: var(--ic-amber); }
.neu-nav-link i.fa-envelope-open-text{ color: var(--ic-sky); }
.neu-nav-link i.fa-robot             { color: var(--ic-violet); }
.neu-nav-link i.fa-chart-bar         { color: var(--ic-blue); }
.neu-nav-link i.fa-chart-pie         { color: var(--ic-purple); }
.neu-nav-link i.fa-tower-broadcast   { color: var(--ic-coral); }
.neu-nav-link i.fa-bell              { color: var(--ic-amber); }
.neu-nav-link i.fa-history           { color: var(--ic-cyan); }
.neu-nav-link i.fa-gear              { color: var(--ic-slate); }

.neu-nav-link.active i { filter: drop-shadow(0 0 5px currentColor); }

.neu-brand-logo i { color: #fff; }
.neu-practice__caret { color: var(--ic-slate); }
.neu-logout i { color: var(--ic-coral); }
.neu-search__well i { color: var(--ic-blue); }

/* ── 3. Topbar + mobile bar ────────────────────────────────────────────── */
.neu-topbar__title i { color: var(--ic-indigo); }

.neu-topbar .neu-iconbtn i,
.neu-topbar .neu-bell i { color: var(--ic-slate); }
.neu-topbar .neu-iconbtn i.fa-magnifying-glass { color: var(--ic-blue); }
.neu-topbar .neu-bell i.fa-bell,
.notif-wrap i.fa-bell { color: var(--ic-amber); }
.neu-topbar .neu-iconbtn i.fa-bars { color: var(--ic-slate); }
.neu-topbar .neu-iconbtn i.fa-circle-question,
.neu-topbar .neu-iconbtn i.fa-circle-info { color: var(--ic-cyan); }

.neu-theme-toggle__ico--sun i  { color: var(--ic-amber); }
.neu-theme-toggle__ico--moon i { color: var(--ic-violet); }
.neu-switch__thumb i { color: #fff; }
.neu-topbar__new i { color: #fff; }
.neu-mobile__add i { color: #fff; }

/* ── 4. Content icons — semantic families ──────────────────────────────── */
.neu-content i.fas,
.neu-content i.fa-solid,
.neu-content i.far,
.neu-content i.fab { color: var(--ic-slate); }

/* Generic families first, specific overrides later. */
.neu-content i[class*="fa-file-"]        { color: var(--ic-blue); }
.neu-content i[class*="fa-folder"]       { color: var(--ic-amber); }
.neu-content i[class*="fa-list"]         { color: var(--ic-indigo); }
.neu-nav-link i[class*="fa-list"]        { color: var(--ic-indigo); }
.neu-content i[class*="fa-heart"]        { color: var(--ic-coral); }
.neu-content i[class*="fa-clock"],
.neu-content i[class*="fa-stopwatch"],
.neu-content i[class*="fa-hourglass"]    { color: var(--ic-cyan); }
.neu-content i[class*="fa-calendar"]     { color: var(--ic-blue); }
.neu-content i[class*="fa-user"],
.neu-content i[class*="fa-person"],
.neu-content i[class*="fa-people"]       { color: var(--ic-violet); }
.neu-content i[class*="fa-check"]        { color: var(--ic-emerald); }
.neu-content i[class*="fa-triangle-exclamation"],
.neu-content i[class*="fa-exclamation"],
.neu-content i[class*="fa-ban"],
.neu-content i[class*="fa-xmark"],
.neu-content i[class*="fa-circle-minus"],
.neu-content i[class*="fa-trash"],
.neu-content i[class*="fa-power-off"]    { color: var(--ic-coral); }
.neu-content i[class*="fa-euro-sign"],
.neu-content i[class*="fa-money"],
.neu-content i[class*="fa-coins"],
.neu-content i[class*="fa-wallet"],
.neu-content i[class*="fa-receipt"]      { color: var(--ic-amber); }
.neu-content i[class*="fa-credit-card"]  { color: var(--ic-emerald); }
.neu-content i[class*="fa-chart"],
.neu-content i[class*="fa-analytics"],
.neu-content i[class*="fa-gauge"],
.neu-content i[class*="fa-ranking-star"] { color: var(--ic-purple); }
.neu-content i[class*="fa-location"],
.neu-content i[class*="fa-map"],
.neu-content i[class*="fa-door"],
.neu-content i[class*="fa-building"],
.neu-content i[class*="fa-house"]        { color: var(--ic-rose); }
.neu-content i[class*="fa-envelope"],
.neu-content i[class*="fa-paper-plane"],
.neu-content i[class*="fa-comment"],
.neu-content i[class*="fa-message"],
.neu-content i[class*="fa-phone"],
.neu-content i[class*="fa-headset"],
.neu-content i[class*="fa-bullhorn"]     { color: var(--ic-sky); }
.neu-content i[class*="fa-shield"],
.neu-content i[class*="fa-lock"],
.neu-content i[class*="fa-key"],
.neu-content i[class*="fa-fingerprint"]  { color: var(--ic-teal); }
.neu-content i[class*="fa-bell"]         { color: var(--ic-amber); }
.neu-content i[class*="fa-plus"],
.neu-content i[class*="fa-pen"],
.neu-content i[class*="fa-pencil"],
.neu-content i[class*="fa-save"],
.neu-content i[class*="fa-floppy-disk"],
.neu-content i[class*="fa-rotate"],
.neu-content i[class*="fa-arrows-rotate"],
.neu-content i[class*="fa-refresh"],
.neu-content i[class*="fa-sync"]         { color: var(--ic-indigo); }
.neu-content i[class*="fa-gear"],
.neu-content i[class*="fa-cog"],
.neu-content i[class*="fa-sliders"],
.neu-content i[class*="fa-wrench"],
.neu-content i[class*="fa-screwdriver"],
.neu-content i[class*="fa-toolbox"],
.neu-content i[class*="fa-filter"],
.neu-content i[class*="fa-download"],
.neu-content i[class*="fa-upload"],
.neu-content i[class*="fa-print"]        { color: var(--ic-slate); }
.neu-content i[class*="fa-arrow"],
.neu-content i[class*="fa-chevron"],
.neu-content i[class*="fa-angles"],
.neu-content i[class*="fa-caret"],
.neu-content i[class*="fa-sort"]         { color: var(--ic-slate); }
.neu-content i[class*="fa-robot"],
.neu-content i[class*="fa-wand-magic"],
.neu-content i[class*="fa-brain"]        { color: var(--ic-violet); }
.neu-content i[class*="fa-th-large"],
.neu-content i[class*="fa-table-columns"],
.neu-content i[class*="fa-table-cells"]  { color: var(--ic-indigo); }
.neu-content i[class*="fa-magnifying-glass"],
.neu-content i[class*="fa-search"]       { color: var(--ic-blue); }

/* Specific overrides (must follow the generic families above). */
.neu-content i[class*="fa-file-invoice"],
.neu-content i[class*="fa-invoice"]      { color: var(--ic-amber); }
.neu-content i[class*="fa-file-prescription"],
.neu-content i[class*="fa-prescription"],
.neu-content i[class*="fa-pills"],
.neu-content i[class*="fa-capsules"],
.neu-content i[class*="fa-mortar-pestle"],
.neu-content i[class*="fa-notes-medical"],
.neu-content i[class*="fa-stethoscope"],
.neu-content i[class*="fa-file-medical"],
.neu-content i[class*="fa-heart-pulse"],
.neu-content i[class*="fa-dumbbell"]     { color: var(--ic-teal); }
.neu-content i[class*="fa-list-check"],
.neu-content i[class*="fa-clipboard"],
.neu-content i[class*="fa-tasks"]        { color: var(--ic-blue); }
.neu-content i[class*="fa-user-shield"]  { color: var(--ic-teal); }
.neu-content i[class*="fa-history"]      { color: var(--ic-cyan); }

/* ── 5. Keep control-owned icons readable ─────────────────────────────── */
.neu-content .btn i,
.neu-content .btn-primary i,
.neu-content .btn-secondary i,
.neu-content .btn-success i,
.neu-content .btn-danger i,
.neu-content .btn-warning i,
.neu-content .btn-outline i,
.neu-content .btn-ghost i,
.neu-content .neu-btn i,
.neu-content .app-navbtn i,
.neu-content .app-iconbtn i,
.neu-content .app-page-btn i,
.neu-content .app-iconbtn i,
.neu-content .neu-iconbtn i,
.neu-content .badge i,
.neu-content .nav-link i,
.neu-content .dropdown-item i,
.neu-content .pagination i,
.neu-content .app-card__ic i,
.neu-content .app-empty__ic i,
.neu-content .app-hero__icon i,
.neu-content .app-alert__ic i,
.neu-content .dash-kpi__ic i,
.neu-content .dash-action__ic i,
.neu-content .stat-icon i,
.neu-content .stat-icon-wrap i,
.neu-content .settings-card-header-icon i,
.neu-content .settings-status-icon i,
.neu-content .notif-icon i,
.neu-content .neu-card__icon i,
.neu-content .pd-presc-icon i,
.neu-content .channel-card-icon i,
.neu-content i.fa-spin,
.neu-content i.fa-spinner,
.neu-content i.fa-circle-notch { color: inherit; }

/* ── 6. Guest / auth screens ───────────────────────────────────────────── */
.login-logo i { color: #fff; }
.input-icon.fa-envelope { color: var(--ic-blue); }
.input-icon.fa-lock,
.input-icon.fa-key      { color: var(--ic-amber); }
.input-icon.fa-rotate-left { color: var(--ic-cyan); }
