:root {
  --royal-dark: #171717;
  --royal-dark-rgb: 23,23,23;
  --royal-deep: #262626;
  --royal-deep-rgb: 38,38,38;
  --royal-navy: #404040;
  --royal-midnight: #0f0f0f;

  --royal-gold: #f59e0b;
  --royal-gold-rgb: 245,158,11;
  --royal-gold-light: #fbbf24;
  --royal-gold-light-rgb: 251,191,36;
  --royal-gold-dark: #d97706;
  --royal-gold-dark-rgb: 217,119,6;
  --royal-gold-hover: #facc15;

  --royal-saffron: #f59e0b;
  --royal-saffron-rgb: 245,158,11;
  --royal-saffron-light: #fbbf24;
  --royal-saffron-light-rgb: 251,191,36;
  --royal-saffron-dark: #b45309;
  --royal-saffron-dark-rgb: 180,83,9;
  --royal-saffron-hover: #fcd34d;

  --royal-cream: #fffbeb;
  --royal-cream-rgb: 255,251,235;
  --royal-ivory: #ffffff;
  --royal-parchment: #f9fafb;
  --royal-sand: #e5e7eb;

  --royal-emerald: #2d6a4f;
  --royal-emerald-rgb: 45,106,79;
  --royal-emerald-light: #52b788;

  --royal-maroon: #92400e;
  --royal-ruby: #ef4444;

  --royal-bg: #ffffff;
  --royal-card: #ffffff;
  --royal-accent: #fffbeb;
  --royal-glass: rgba(255,255,255,.75);
  --royal-border: rgba(245,158,11,.2);

  --orange: var(--royal-saffron);
  --green: var(--royal-emerald);
  --gold: var(--royal-gold);

  --gradient-primary: linear-gradient(135deg,#f59e0b,#d97706);
  --gradient-hero: linear-gradient(135deg,#fffbeb,#ffffff,#f9fafb);
  --gradient-card: linear-gradient(145deg,#ffffff,#fffbeb);

  --shadow-gold: 0 4px 20px rgba(245,158,11,.18);
  --shadow-gold-lg: 0 8px 40px rgba(245,158,11,.25);
  --shadow-saffron: 0 4px 20px rgba(245,158,11,.20);
  --glow-gold: 0 0 15px rgba(245,158,11,.18);
}

/* ===== MODERN ICON STYLE ===== */

.sidebar .nav-icon,
.menu-icon,
.stat-icon,
.feature-icon,
.card-icon,
.action-icon,
.dashboard-icon,
i[class*="fa-"],
svg.icon {
    width: 42px;
    height: 42px;
    border-radius: 14px; /* rounded-square icons */
    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        rgba(245,158,11,.15),
        rgba(217,119,6,.10)
    );

    border: 1px solid rgba(245,158,11,.20);

    box-shadow:
        0 4px 12px rgba(245,158,11,.12),
        inset 0 1px 0 rgba(255,255,255,.8);

    transition: all .25s ease;
}

.sidebar .nav-link:hover .nav-icon,
.menu-item:hover .menu-icon,
.card:hover .card-icon {
    transform: translateY(-2px) scale(1.05);

    background: linear-gradient(
        135deg,
        rgba(245,158,11,.25),
        rgba(217,119,6,.15)
    );

    box-shadow:
        0 8px 20px rgba(245,158,11,.25);
}

/* Active menu icon */

.sidebar .nav-link.active .nav-icon,
.sidebar .active .menu-icon {
    background: linear-gradient(
        135deg,
        #f59e0b,
        #d97706
    );

    color: #fff;
    border-color: transparent;

    box-shadow:
        0 8px 24px rgba(245,158,11,.35);
}

/* Dashboard cards */

.stat-card,
.metric-card,
.dashboard-card {
    border-radius: 20px;
}

.btn,
.btn-primary,
.btn-warning {
    border-radius: 14px;
}

.card {
    border-radius: 22px;
}

.form-control,
.form-select {
    border-radius: 14px;
}

.table {
    border-radius: 18px;
    overflow: hidden;
}