/**
 * Neon Glow Utilities
 * Indicatore verticale sinistro integrato — stile sidebar
 * Barra solida con alone sottile, si fonde col bordo della card
 */

/* ========== Classe base ========== */
.neon-left {
    position: relative;
    overflow: visible;
}

.neon-left::before {
    content: '';
    position: absolute;
    left: 0;
    top: 15%;
    bottom: 15%;
    width: 3px;
    border-radius: 50% / 50%;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(to bottom, transparent, var(--neon-color, #6c757d) 20%, var(--neon-color, #6c757d) 80%, transparent);
    box-shadow: 0 0 4px var(--neon-glow, rgba(108,117,125,0.3));
    opacity: 0.85;
}

/* ========== Varianti colore ========== */

/* Verde (success) */
.neon-left-success { --neon-color: #28a745; --neon-glow: rgba(40, 167, 69, 0.35); }

/* Rosso (danger) */
.neon-left-danger { --neon-color: #dc3545; --neon-glow: rgba(220, 53, 69, 0.35); }

/* Giallo/Ambra (warning) */
.neon-left-warning { --neon-color: #ffc107; --neon-glow: rgba(255, 193, 7, 0.35); }

/* Blu (primary) */
.neon-left-primary { --neon-color: #0d6efd; --neon-glow: rgba(13, 110, 253, 0.35); }

/* Grigio (secondary) */
.neon-left-secondary { --neon-color: #6c757d; --neon-glow: rgba(108, 117, 125, 0.3); }

/* Arancione */
.neon-left-orange { --neon-color: #fd7e14; --neon-glow: rgba(253, 126, 20, 0.35); }

/* Viola */
.neon-left-purple { --neon-color: #8e44ad; --neon-glow: rgba(142, 68, 173, 0.35); }

/* Indaco (per bike-edit, commission-rules) */
.neon-left-indigo { --neon-color: #667eea; --neon-glow: rgba(102, 126, 234, 0.35); }

/* Scuro (dark) */
.neon-left-dark { --neon-color: #2b2f33; --neon-glow: rgba(43, 47, 51, 0.35); }

/* Azzurro (info / docs) */
.neon-left-info { --neon-color: #3498db; --neon-glow: rgba(52, 152, 219, 0.35); }

/* Ambra scuro (#f59e0b) */
.neon-left-amber { --neon-color: #f59e0b; --neon-glow: rgba(245, 158, 11, 0.35); }

/* Verde smeraldo (#2ecc71) */
.neon-left-emerald { --neon-color: #2ecc71; --neon-glow: rgba(46, 204, 113, 0.35); }

/* ========== Variante bordo intero con glow ========== */
/* Per card con bordo su tutti i lati che deve brillare */
.neon-border {
    border: 2px solid var(--neon-color, #6c757d) !important;
    box-shadow:
        0 0 8px var(--neon-glow, rgba(108,117,125,0.4)),
        0 0 20px var(--neon-glow-outer, rgba(108,117,125,0.15)),
        inset 0 0 8px var(--neon-glow-inner, rgba(108,117,125,0.06)) !important;
}

.neon-border-success {
    --neon-color: #28a745;
    --neon-glow: rgba(40, 167, 69, 0.4);
    --neon-glow-outer: rgba(40, 167, 69, 0.15);
    --neon-glow-inner: rgba(40, 167, 69, 0.06);
}

.neon-border-danger {
    --neon-color: #dc3545;
    --neon-glow: rgba(220, 53, 69, 0.4);
    --neon-glow-outer: rgba(220, 53, 69, 0.15);
    --neon-glow-inner: rgba(220, 53, 69, 0.06);
}

.neon-border-warning {
    --neon-color: #ffc107;
    --neon-glow: rgba(255, 193, 7, 0.4);
    --neon-glow-outer: rgba(255, 193, 7, 0.15);
    --neon-glow-inner: rgba(255, 193, 7, 0.06);
}

.neon-border-primary {
    --neon-color: #0d6efd;
    --neon-glow: rgba(13, 110, 253, 0.4);
    --neon-glow-outer: rgba(13, 110, 253, 0.15);
    --neon-glow-inner: rgba(13, 110, 253, 0.06);
}

.neon-border-secondary {
    --neon-color: #6c757d;
    --neon-glow: rgba(108, 117, 125, 0.35);
    --neon-glow-outer: rgba(108, 117, 125, 0.12);
    --neon-glow-inner: rgba(108, 117, 125, 0.04);
}

/* ========== Dark theme ========== */
.dark-theme .neon-left::before {
    box-shadow: 0 0 6px var(--neon-glow, rgba(108,117,125,0.4));
    opacity: 0.9;
}

.dark-theme .neon-border {
    box-shadow:
        0 0 10px var(--neon-glow, rgba(108,117,125,0.5)),
        0 0 25px var(--neon-glow-outer, rgba(108,117,125,0.2)),
        inset 0 0 10px var(--neon-glow-inner, rgba(108,117,125,0.08)) !important;
}
