/* =========================================================
   LUCIDE ICON FONT - BASE + SAFE DEFAULTS
   - Keeps your default look (blue, 20px) globally
   - Allows contextual overrides (right sidebar already overrides)
   - NO stray characters, NO forced overrides that break components
   ========================================================= */

@font-face {
  font-family: "lucide";
  src: url("lucide.woff2") format("woff2"),
       url("lucide.woff") format("woff"),
       url("lucide.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

/* ---------------------------------------------------------
   SAFE DEFAULTS (matches your old behavior)
   - If any area needs different size/color, override locally.
--------------------------------------------------------- */
:root{
  --rk-lucide-color: #2563eb; /* your old default blue */
  --rk-lucide-size: 20px;     /* your old default size */
}

/* Base icon class */
[class^="icon-"],
[class*=" icon-"]{
  font-family: "lucide" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Default look (old behavior) */
  color: var(--rk-lucide-color);
  font-size: var(--rk-lucide-size);
}

/* Optional: per-context tweaks (you already use these) */
.rs-muted { color:#64748b; } /* slate */
.rs-danger{ color:#ef4444; } /* red */
.rs-warn  { color:#f59e0b; } /* amber */
.rs-ok    { color:#22c55e; } /* green */

/* =========================================================
   ICON MAPPINGS (keep your existing 700+ below)
   NOTE:
   - Keep ONE definition per icon name.
   - Don’t repeat the same icon name 3-4 times.
   ========================================================= */

/* Common UI */
.icon-alert-triangle::before { content: "\e077"; }
.icon-circle-alert::before   { content: "\e077"; }
.icon-triangle-alert::before { content: "\e077"; }
.icon-shield-alert::before   { content: "\e475"; }

.icon-bell::before      { content: "\e059"; }
.icon-bell-ring::before { content: "\e224"; }

.icon-arrow-left::before   { content: "\e048"; }
.icon-chevron-down::before { content: "\e06d"; }
.icon-chevron-up::before   { content: "\e070"; }

.icon-clock::before    { content: "\e087"; }
.icon-clock-4::before  { content: "\e087"; }
.icon-timer::before    { content: "\e087"; }

.icon-calendar::before       { content: "\e074"; }
.icon-calendar-clock::before { content: "\e304"; }
.icon-calendar-off::before   { content: "\e2bb"; }

.icon-user::before      { content: "\e461"; }
.icon-users::before     { content: "\e464"; }
.icon-user-plus::before { content: "\e47a"; }
.icon-user-x::before    { content: "\e47c"; }
.icon-user-minus::before{ content: "\e478"; }
.icon-user-cog::before  { content: "\e30b"; }

.icon-graduation-cap::before { content: "\e234"; }
.icon-book-open::before      { content: "\e05f"; }
.icon-layers::before         { content: "\e529"; }

.icon-plus::before          { content: "\e081"; }
.icon-search::before        { content: "\e0cb"; }
.icon-save::before          { content: "\e07c"; }
.icon-copy::before          { content: "\e09e"; }
.icon-refresh-cw::before    { content: "\e424"; }
.icon-refresh-ccw::before   { content: "\e424"; }
.icon-rotate-cw::before     { content: "\e13d"; }
.icon-external-link::before { content: "\e0b9"; }

.icon-check::before          { content: "\e06c"; }
.icon-check-circle-2::before { content: "\e07c"; }
.icon-x::before              { content: "\e084"; }
.icon-x-circle::before       { content: "\e084"; }
.icon-activity::before       { content: "\e038"; }
.icon-flag::before           { content: "\e0d1"; }

.icon-mail::before           { content: "\e10f"; }
.icon-message-circle::before { content: "\e116"; }
.icon-message-square::before { content: "\e117"; }
.icon-send::before           { content: "\e229"; }
.icon-inbox::before          { content: "\e0f7"; }

.icon-file-text::before { content: "\e0cc"; }
.icon-clipboard::before { content: "\e095"; }

.icon-eye::before { content: "\e0ba"; }

.icon-phone::before        { content: "\e1da"; }
.icon-phone-call::before   { content: "\e23a"; }
.icon-phone-missed::before { content: "\e23a"; }

.icon-dollar-sign::before { content: "\e0b1"; }
.icon-star::before        { content: "\e68d"; }
.icon-shield::before      { content: "\e475"; }

.icon-thumbs-up::before   { content: "\e385"; }
.icon-thumbs-down::before { content: "\e386"; }

.icon-trending-up::before   { content: "\e24e"; }
.icon-trending-down::before { content: "\e24f"; }

.icon-bar-chart-3::before { content: "\e2a2"; }

/* =========================================================
   KEEP ALL YOUR 700+ ICONS BELOW (UNCHANGED)
   (Just make sure you don’t duplicate the same icon name)
   ========================================================= */

/* Example from your existing list */
.icon-a-arrow-down::before { content: "\e585"; }
.icon-a-arrow-up::before   { content: "\e586"; }
.icon-a-large-small::before{ content: "\e587"; }
.icon-accessibility::before{ content: "\e297"; }

/* ... continue with the rest of your existing 700+ icons ... */
/* =========================================================
   LUCIDE ICON FONT - BASE + SAFE DEFAULTS
   ========================================================= */

@font-face {
  font-family: "lucide";
  src: url("lucide.woff2") format("woff2"),
       url("lucide.woff") format("woff"),
       url("lucide.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

:root {
  --rk-lucide-color: #2563eb; 
  --rk-lucide-size: 20px;     
}

[class^="icon-"],
[class*=" icon-"] {
  font-family: "lucide" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--rk-lucide-color);
  font-size: var(--rk-lucide-size);
  display: inline-block; /* Ensures the icon has dimensions */
}

/* Contextual Color Overrides */
.rs-muted  { color: #64748b; } 
.rs-danger { color: #ef4444; } 
.rs-warn   { color: #f59e0b; } 
.rs-ok     { color: #22c55e; }
.rs-orange { color: #f97316; } /* Added for your Family/Status request */

/* =========================================================
   NEW & UPDATED ICON MAPPINGS
   ========================================================= */

/* --- DANGER & ALERTS (Triangle/Shield types) --- */
.icon-alert-triangle::before { content: "\e077"; } /* Classic Triangle */
.icon-shield-alert::before    { content: "\e475"; } /* Shield with ! */
.icon-octagon-alert::before  { content: "\e205"; } /* Stop sign style */
.icon-zap::before            { content: "\e0e2"; } /* High Voltage/Danger */

/* --- FAMILY & USERS (Modern/Group) --- */
.icon-users::before          { content: "\e464"; } /* Family/Group */
.icon-user-round::before     { content: "\e461"; } /* Modern Single Person */
.icon-contact-2::before      { content: "\e473"; } /* ID/Family Member */
.icon-baby::before           { content: "\e57a"; } /* Child/Family */

/* --- STATUS & CONDITION --- */
.icon-activity::before       { content: "\e038"; } /* Condition/Pulse */
.icon-info::before           { content: "\e08b"; } /* Info Circle Status */
.icon-history::before        { content: "\e13d"; } /* Status History */
.icon-loader-2::before       { content: "\e3ae"; } /* Loading Status */

/* --- RESTART & REFRESH --- */
.icon-refresh-cw::before     { content: "\e424"; } /* Circular Restart */
.icon-rotate-cw::before      { content: "\e13d"; } /* Rotate Arrow */

/* --- PRE-EXISTING COMMON UI (Keep these) --- */
.icon-bell::before           { content: "\e059"; }
.icon-clock::before          { content: "\e087"; }
.icon-calendar::before       { content: "\e074"; }
.icon-check::before          { content: "\e06c"; }
.icon-x::before              { content: "\e084"; }
.icon-search::before         { content: "\e0cb"; }
.icon-save::before           { content: "\e07c"; }
.icon-message-square::before { content: "\e117"; }
.icon-file-text::before      { content: "\e0cc"; }
.icon-star::before           { content: "\e68d"; }
/* Alert & Notification Mappings */
.icon-bell::before          { content: "\e059"; } /* Notification Bell */
.icon-bell-ring::before     { content: "\e224"; } /* Vibrating/Active Bell */
.icon-alert-triangle::before { content: "\e077"; } /* Warning Alert */
.icon-alert-circle::before   { content: "\e08b"; } /* Info/Alert Circle */