/* ==========================================================================
   IGN-O-FINANCE - DESIGN SYSTEM & TRADING TERMINAL THEME
   Dark Professional Algorithmic Trading Terminal + Orange/Yellow Neon Identity
   ========================================================================== */

:root {
    /* Brand Palette */
    --ign-primary-orange: #FF4D1C;
    --ign-orange-light: #FF6A3D;
    --ign-orange-accent: #FF8A3D;
    --ign-yellow: #FFD000;
    --ign-yellow-neon: #F3FF00;
    --ign-gradient-primary: linear-gradient(90deg, #FF4D1C 0%, #FFD000 100%);
    --ign-gradient-hover: linear-gradient(90deg, #FF6A3D 0%, #F3FF00 100%);

    /* Dark Surfaces & Backgrounds */
    --ign-bg-0: #090A0C;           /* Background principale */
    --ign-surface-1: #121417;      /* Card, panel principale */
    --ign-surface-2: #1A1D21;      /* Dropdown, modal, sidebar active */
    --ign-surface-3: #22262B;      /* Hover states, secondary input */
    --ign-border-subtle: #1A1D21;  /* Bordi discreti */
    --ign-border-input: #2A2F36;   /* Bordi controlli */
    --ign-border-focus: #FF4D1C;   /* Focus outline */

    /* Typography & Content Colors */
    --ign-text-primary: #F1F3F4;
    --ign-text-secondary: #8C939C;
    --ign-text-disabled: #5B616B;
    --ign-text-inverse: #090A0C;

    /* Semantic Financial Colors */
    --ign-color-buy: #00E676;
    --ign-color-buy-bg: rgba(0, 230, 118, 0.12);
    --ign-color-buy-border: rgba(0, 230, 118, 0.3);

    --ign-color-sell: #FF334B;
    --ign-color-sell-bg: rgba(255, 51, 75, 0.12);
    --ign-color-sell-border: rgba(255, 51, 75, 0.3);

    --ign-color-pending: #FF9D00;
    --ign-color-pending-bg: rgba(255, 157, 0, 0.12);
    --ign-color-pending-border: rgba(255, 157, 0, 0.3);

    --ign-color-info: #00B0FF;
    --ign-color-info-bg: rgba(0, 176, 255, 0.12);
    --ign-color-info-border: rgba(0, 176, 255, 0.3);

    /* Radii */
    --ign-radius-card: 12px;
    --ign-radius-comp: 8px;
    --ign-radius-sm: 6px;

    /* Typography */
    --ign-font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    --ign-font-mono: "JetBrains Mono", "SF Mono", "Fira Code", Menlo, Monaco, Consolas, monospace;
}

/* Base resets & typography */
html, body {
    font-family: var(--ign-font-family);
    background-color: var(--ign-bg-0);
    color: var(--ign-text-primary);
    min-height: 100vh;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--ign-text-primary);
    font-weight: 600;
}

a {
    color: var(--ign-orange-light);
    text-decoration: none;
    transition: color 0.15s ease-in-out;
}

a:hover {
    color: var(--ign-yellow);
}

.text-muted {
    color: var(--ign-text-secondary) !important;
}

.text-primary {
    color: var(--ign-primary-orange) !important;
}

.font-monospace, code {
    font-family: var(--ign-font-mono) !important;
}

/* ==========================================================================
   Card & Panels
   ========================================================================== */
.card {
    background-color: var(--ign-surface-1) !important;
    border: 1px solid var(--ign-border-subtle) !important;
    border-radius: var(--ign-radius-card) !important;
    color: var(--ign-text-primary) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.card-header {
    background-color: var(--ign-surface-2) !important;
    border-bottom: 1px solid var(--ign-border-subtle) !important;
    color: var(--ign-text-primary) !important;
    font-weight: 600;
    border-top-left-radius: calc(var(--ign-radius-card) - 1px) !important;
    border-top-right-radius: calc(var(--ign-radius-card) - 1px) !important;
}

.card-footer {
    background-color: var(--ign-surface-2) !important;
    border-top: 1px solid var(--ign-border-subtle) !important;
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn {
    border-radius: var(--ign-radius-comp);
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.5rem 1.1rem;
    transition: all 0.2s ease;
}

.btn-sm {
    border-radius: var(--ign-radius-sm);
    padding: 0.25rem 0.65rem;
    font-size: 0.8rem;
}

/* Primary Button: Orange -> Yellow Gradient (90deg) */
.btn-primary {
    background: var(--ign-gradient-primary) !important;
    border: none !important;
    color: #090A0C !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 10px rgba(255, 77, 28, 0.25);
}

.btn-primary:hover:not(:disabled) {
    background: var(--ign-gradient-hover) !important;
    color: #000 !important;
    box-shadow: 0 0 16px rgba(255, 77, 28, 0.45);
    transform: translateY(-1px);
}

.btn-primary:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(255, 77, 28, 0.3);
}

.btn-primary:disabled {
    background: var(--ign-surface-3) !important;
    color: var(--ign-text-disabled) !important;
    border: 1px solid var(--ign-border-subtle) !important;
    cursor: not-allowed;
    box-shadow: none;
    opacity: 0.65;
}

/* Secondary Button / Outline Secondary */
.btn-secondary, .btn-outline-secondary {
    background-color: var(--ign-surface-2) !important;
    border: 1px solid var(--ign-border-input) !important;
    color: var(--ign-text-primary) !important;
}

.btn-secondary:hover:not(:disabled), .btn-outline-secondary:hover:not(:disabled) {
    background-color: var(--ign-surface-3) !important;
    border-color: var(--ign-text-secondary) !important;
    color: #FFFFFF !important;
}

/* Outline Primary */
.btn-outline-primary {
    border: 1px solid var(--ign-primary-orange) !important;
    color: var(--ign-orange-light) !important;
    background: transparent !important;
}

.btn-outline-primary:hover:not(:disabled) {
    background: var(--ign-gradient-primary) !important;
    border-color: transparent !important;
    color: #090A0C !important;
    box-shadow: 0 0 12px rgba(255, 77, 28, 0.35);
}

/* Dark Button */
.btn-dark {
    background-color: var(--ign-surface-2) !important;
    border: 1px solid var(--ign-border-input) !important;
    color: var(--ign-text-primary) !important;
}

.btn-dark:hover:not(:disabled) {
    background-color: var(--ign-surface-3) !important;
    border-color: var(--ign-primary-orange) !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 10px rgba(255, 77, 28, 0.2);
}

/* Outline Dark (Login button etc.) */
.btn-outline-dark {
    background-color: var(--ign-surface-1) !important;
    border: 1px solid var(--ign-border-input) !important;
    color: var(--ign-text-primary) !important;
}

.btn-outline-dark:hover:not(:disabled) {
    background-color: var(--ign-surface-2) !important;
    border-color: var(--ign-primary-orange) !important;
    color: #FFFFFF !important;
}

/* Danger / Outline Danger */
.btn-danger, .btn-outline-danger {
    border-radius: var(--ign-radius-comp);
}

.btn-outline-danger {
    border-color: var(--ign-color-sell-border) !important;
    color: var(--ign-color-sell) !important;
    background: transparent !important;
}

.btn-outline-danger:hover:not(:disabled) {
    background-color: var(--ign-color-sell) !important;
    border-color: var(--ign-color-sell) !important;
    color: #FFFFFF !important;
}

/* Success / Outline Success */
.btn-outline-success {
/* ==========================================================================
   Form Controls, Inputs, Selects
   ========================================================================== */
.form-control, .form-select {
    background-color: #0F1013 !important;
    border: 1px solid var(--ign-border-input) !important;
    color: var(--ign-text-primary) !important;
    border-radius: var(--ign-radius-comp) !important;
    padding: 0.55rem 0.85rem;
    font-size: 0.9rem;
}

.form-control-sm, .form-select-sm {
    border-radius: var(--ign-radius-sm) !important;
    font-size: 0.8rem;
    padding: 0.3rem 0.6rem;
}

.form-control::placeholder {
    color: var(--ign-text-disabled) !important;
}

.form-control:disabled, .form-select:disabled {
    background-color: var(--ign-surface-2) !important;
    color: var(--ign-text-disabled) !important;
    border-color: var(--ign-border-subtle) !important;
}

.form-label {
    color: var(--ign-text-secondary);
    font-weight: 500;
    margin-bottom: 0.35rem;
}

.form-text {
    color: var(--ign-text-secondary) !important;
}

/* Checkbox & Radio */
.form-check-input {
    background-color: #0F1013;
    border-color: var(--ign-border-input);
}

.form-check-input:checked {
    background-color: var(--ign-primary-orange);
    border-color: var(--ign-primary-orange);
}

/* ==========================================================================
   Tables
   ========================================================================== */
.table {
    --bs-table-bg: transparent;
    --bs-table-color: #F1F3F4;
    --bs-table-striped-color: #F1F3F4;
    --bs-table-striped-bg: rgba(255, 255, 255, 0.02);
    --bs-table-hover-color: #FFFFFF;
    --bs-table-hover-bg: rgba(255, 255, 255, 0.04);
    --bs-table-border-color: #1A1D21;
    color: #F1F3F4 !important;
    border-color: #1A1D21 !important;
    background-color: transparent !important;
    margin-bottom: 0;
}

.table > :not(caption) > * > * {
    background-color: transparent !important;
    border-bottom-color: #1A1D21 !important;
    color: #F1F3F4 !important;
    padding: 0.85rem 1rem;
}

.table tbody tr td,
.table tbody tr th {
    color: #F1F3F4 !important;
}

.table-light, thead.table-light {
    --bs-table-bg: #1A1D21 !important;
    --bs-table-color: #8C939C !important;
    --bs-table-border-color: #2A2F36 !important;
    background-color: #1A1D21 !important;
    color: #8C939C !important;
    border-bottom: 1px solid #2A2F36 !important;
}

.table-light th, thead.table-light th {
    background-color: #1A1D21 !important;
    color: #8C939C !important;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom-color: #2A2F36 !important;
}

.table-hover > tbody > tr:hover > * {
    background-color: rgba(255, 255, 255, 0.04) !important;
    color: #FFFFFF !important;
}

/* ==========================================================================
   Badges & Semantic Status
   ========================================================================== */
.badge {
    border-radius: var(--ign-radius-sm);
    font-weight: 600;
    padding: 0.3em 0.65em;
    font-size: 0.75rem;
    letter-spacing: 0.02em;
}

/* BUY / Positive / Enabled / Running / Real */
.badge.bg-success {
    background-color: var(--ign-color-buy-bg) !important;
    color: var(--ign-color-buy) !important;
    border: 1px solid var(--ign-color-buy-border);
}

/* SELL / Negative / Disabled / Real Account Warning / SuperAdmin */
.badge.bg-danger {
    background-color: var(--ign-color-sell-bg) !important;
    color: var(--ign-color-sell) !important;
    border: 1px solid var(--ign-color-sell-border);
}

/* Pending / Holding / Warning */
.badge.bg-warning {
    background-color: var(--ign-color-pending-bg) !important;
    color: var(--ign-color-pending) !important;
    border: 1px solid var(--ign-color-pending-border);
}

/* Info / Demo / Meta */
.badge.bg-info {
    background-color: var(--ign-color-info-bg) !important;
    color: var(--ign-color-info) !important;
/* ==========================================================================
   Modals
   ========================================================================== */
.modal-content {
    background-color: var(--ign-surface-1) !important;
    border: 1px solid var(--ign-border-input) !important;
    border-radius: var(--ign-radius-card) !important;
    color: var(--ign-text-primary) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.7);
}

.modal-header {
    background-color: var(--ign-surface-2) !important;
    border-bottom: 1px solid var(--ign-border-subtle) !important;
}

.modal-footer {
    background-color: var(--ign-surface-2) !important;
    border-top: 1px solid var(--ign-border-subtle) !important;
}

.btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* ==========================================================================
   Alerts & Notifications
   ========================================================================== */
.alert {
    border-radius: var(--ign-radius-comp);
    font-size: 0.9rem;
    border-width: 1px;
}

.alert-success {
    background-color: var(--ign-color-buy-bg) !important;
    border-color: var(--ign-color-buy-border) !important;
    color: var(--ign-color-buy) !important;
}

.alert-danger {
    background-color: var(--ign-color-sell-bg) !important;
    border-color: var(--ign-color-sell-border) !important;
    color: var(--ign-color-sell) !important;
}

.alert-warning {
    background-color: var(--ign-color-pending-bg) !important;
    border-color: var(--ign-color-pending-border) !important;
    color: var(--ign-yellow) !important;
}

.alert-info {
    background-color: var(--ign-color-info-bg) !important;
    border-color: var(--ign-color-info-border) !important;
    color: var(--ign-color-info) !important;
}

.alert-secondary {
    background-color: var(--ign-surface-2) !important;
    border-color: var(--ign-border-input) !important;
    color: var(--ign-text-secondary) !important;
}

/* ==========================================================================
   List Groups & Utilities
   ========================================================================== */
.list-group-item {
    background-color: var(--ign-surface-2) !important;
    border-color: var(--ign-border-subtle) !important;
    color: var(--ign-text-primary) !important;
}

.border, .border-top, .border-bottom, .border-start, .border-end {
    border-color: var(--ign-border-subtle) !important;
}

.bg-light {
    background-color: var(--ign-surface-2) !important;
    color: var(--ign-text-primary) !important;
}

.bg-white {
    background-color: var(--ign-surface-1) !important;
    color: var(--ign-text-primary) !important;
}

.letter-spacing {
    letter-spacing: 0.35em;
    font-weight: 700;
}

.content {
    padding-top: 1.25rem;
    padding-bottom: 2rem;
}

/* Blazor Error UI */
#blazor-error-ui {
    background: #1F110B;
    border-top: 2px solid var(--ign-primary-orange);
    color: var(--ign-text-primary);
    bottom: 0;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.5);
    display: none;
    left: 0;
    padding: 0.75rem 1.5rem;
    position: fixed;
    width: 100%;
    z-index: 10000;
    font-size: 0.9rem;
}

#blazor-error-ui a {
    color: var(--ign-yellow);
    margin-left: 0.75rem;
    text-decoration: underline;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 1.25rem;
    top: 0.75rem;
    color: var(--ign-text-secondary);
/* ==========================================================================
   Icons (CSS-inlined SVG icons replacing missing icon fonts)
   ========================================================================== */
.bi {
    display: inline-block;
    vertical-align: -0.15em;
    width: 1em;
    height: 1em;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.bi-person-circle {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%238C939C'%3E%3Cpath d='M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath fill-rule='evenodd' d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z'/%3E%3C/svg%3E");
}

.bi-shield-lock, .bi-shield-lock-fill {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FF6A3D'%3E%3Cpath d='M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.599 4.491-.71 7.776-2.463 9.922a11.72 11.72 0 0 1-2.525 2.436c-.393.262-.807.49-1.22.681-.52.24-1.12.449-1.651.449-.53 0-1.13-.209-1.65-.449a8.872 8.872 0 0 1-1.221-.681A11.72 11.72 0 0 1 1.83 12.614C.076 10.468-1.233 7.183-.634 2.692A1.54 1.54 0 0 1 .41 1.43c.658-.215 1.777-.57 2.887-.87z'/%3E%3Cpath d='M9.5 6.5a1.5 1.5 0 0 1-1 1.415l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99A1.5 1.5 0 1 1 9.5 6.5z'/%3E%3C/svg%3E");
}

.bi-phone-vibrate {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FF6A3D'%3E%3Cpath d='M10 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4zM6 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H6z'/%3E%3Cpath d='M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2zM1.5 4.5a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5zm13 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
}

    text-decoration: none;
}

    border: 1px solid var(--ign-color-info-border);
}

/* Brand Primary Badge (Trader, Highlight) */
.badge.bg-primary {
    background-color: rgba(255, 77, 28, 0.15) !important;
    color: var(--ign-orange-light) !important;
.bi-shield-check {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2300E676'%3E%3Cpath d='M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.599 4.491-.71 7.776-2.463 9.922a11.72 11.72 0 0 1-2.525 2.436c-.393.262-.807.49-1.22.681-.52.24-1.12.449-1.651.449-.53 0-1.13-.209-1.65-.449a8.872 8.872 0 0 1-1.221-.681A11.72 11.72 0 0 1 1.83 12.614C.076 10.468-1.233 7.183-.634 2.692A1.54 1.54 0 0 1 .41 1.43c.658-.215 1.777-.57 2.887-.87z'/%3E%3Cpath d='M10.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
}

.bi-exclamation-circle-fill, .bi-exclamation-triangle-fill {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FF9D00'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4zm.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z'/%3E%3C/svg%3E");
}

.bi-arrow-right {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z'/%3E%3C/svg%3E");
}

.bi-arrow-clockwise {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z'/%3E%3Cpath d='M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z'/%3E%3C/svg%3E");
}

.bi-box-arrow-in-right {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M6 3.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 0-1 0v2A1.5 1.5 0 0 0 6 14h8a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14 2H6a1.5 1.5 0 0 0-1.5 1.5v2a.5.5 0 0 0 1 0v-2z'/%3E%3Cpath fill-rule='evenodd' d='M11.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H1.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z'/%3E%3C/svg%3E");
}

.bi-key-fill {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FF9D00'%3E%3Cpath d='M3.5 11.5a3.5 3.5 0 1 1 3.163-5H14L15.5 8 14 9.5l-1-1-1 1-1-1-1 1-1.5-1.5H6.663a3.5 3.5 0 0 1-3.163 2zM2.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z'/%3E%3C/svg%3E");
}

.bi-check-lg {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z'/%3E%3C/svg%3E");
}

    border: 1px solid rgba(255, 77, 28, 0.35);
}

/* Secondary Neutral Badge */
.badge.bg-secondary {
    background-color: var(--ign-surface-2) !important;
    color: var(--ign-text-secondary) !important;
    border: 1px solid var(--ign-border-input);
}

/* Environment distinction: DEMO vs REAL */
.badge-demo {
    background-color: var(--ign-color-info-bg) !important;
    color: var(--ign-color-info) !important;
    border: 1px solid var(--ign-color-info-border) !important;
}

.badge-real {
    background-color: var(--ign-color-sell-bg) !important;
    color: var(--ign-color-sell) !important;
    border: 1px solid var(--ign-color-sell-border) !important;
    font-weight: 700;
}

    border-color: var(--ign-color-buy-border) !important;
    color: var(--ign-color-buy) !important;
    background: transparent !important;
}

.btn-outline-success:hover:not(:disabled) {
    background-color: var(--ign-color-buy) !important;
    border-color: var(--ign-color-buy) !important;
    color: #090A0C !important;
    font-weight: 700;
}

/* Warning */
.btn-warning {
    background-color: var(--ign-yellow) !important;
    border-color: var(--ign-yellow) !important;
    color: #090A0C !important;
}

/* Focus styles */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-select:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.15rem rgba(255, 77, 28, 0.35) !important;
    border-color: var(--ign-primary-orange) !important;
    outline: none !important;
}

