/* Local Icon System - Fallback for CDN Issues */
/* Uses CSS and Unicode for all calculator icons */

.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    text-align: center;
    font-style: normal;
    vertical-align: middle;
}

/* Icon replacements using Unicode and CSS */
[data-lucide="calculator"]::before { content: "🧮"; }
[data-lucide="settings"]::before { content: "⚙️"; }
[data-lucide="bar-chart-3"]::before { content: "📊"; }
[data-lucide="help-circle"]::before { content: "❓"; }
[data-lucide="trending-up"]::before { content: "📈"; }
[data-lucide="coins"]::before { content: "🪙"; }
[data-lucide="dollar-sign"]::before { content: "💵"; }
[data-lucide="calendar"]::before { content: "📅"; }
[data-lucide="server"]::before { content: "🖥️"; }
[data-lucide="loader-2"]::before { content: "⏳"; }

/* Spinning animation for loader */
[data-lucide="loader-2"] {
    animation: spin 1s linear infinite;
}

/* Alternative SVG-based icons (more professional) */
.use-svg-icons [data-lucide="calculator"]::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 14h.01M9 11h6m-6-4h6m2-3H7a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V6a2 2 0 00-2-2z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.use-svg-icons [data-lucide="settings"]::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 12a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.use-svg-icons [data-lucide="bar-chart-3"]::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.use-svg-icons [data-lucide="trending-up"]::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13 7h8m0 0v8m0-8l-8 8-4-4-6 6'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.use-svg-icons [data-lucide="help-circle"]::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Fallback for any missing icons */
[data-lucide]:not([data-lucide="calculator"]):not([data-lucide="settings"]):not([data-lucide="bar-chart-3"]):not([data-lucide="trending-up"]):not([data-lucide="help-circle"]):not([data-lucide="coins"]):not([data-lucide="dollar-sign"]):not([data-lucide="calendar"]):not([data-lucide="server"]):not([data-lucide="loader-2"])::before {
    content: "•";
    color: var(--og-accent-color);
}

/* Icon sizing */
[data-lucide] {
    font-size: 1.2em;
    line-height: 1;
}

/* Make sure icons are visible */
[data-lucide]::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: middle;
}