:root {
    --colore_bordo_arancione: #f1c40f;
    --colore_bordo_bianco: #ffffff;
    --colore_bordo_blu: #3498db;
    --colore_bordo_grigio: #34495e;
    --colore_sfondo_arancione: #f39c12;
    --colore_sfondo_blu: #3498db;
    --colore_sfondo_giallo: #FFD700;
    --colore_sfondo_grigio: #2c3e50;
    --colore_sfondo_grigio_scuro: #1a252f;
    --colore_sfondo_nero: #050505;
    --colore_sfondo_nero_2: #0d141b;
    --colore_testo_bianco: #ffffff;
    --colore_testo_blu: #3498db;
    --colore_testo_grigio: #7f8c8d;
    --colore_testo_grigio_chiaro: #bdc3c7;
    --colore_testo_grigio_scuro: #333333;
    --colore_notifica_conferma: #27ae60;
    --colore_notifica_errore: #c0392b;
}

body,
html {
    background: var(--colore_sfondo_nero);
    color: var(--colore_testo_bianco);
}

.success-bg {
    background: var(--colore_notifica_conferma) !important;
}

/*---TOPBAR---*/
#topbar {
    background: var(--colore_sfondo_grigio);
    border-bottom: 2px solid var(--colore_bordo_grigio);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.logo-text {
    color: var(--colore_testo_bianco);
}

#user-greeting {
    border-left: 2px solid var(--colore_bordo_grigio);
    color: var(--colore_testo_grigio_chiaro);
}

/*---TACTICAL DROPDOWN---*/
.dropdown-content {
    background-color: var(--colore_sfondo_grigio);
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.7);
    border: 1px solid var(--colore_bordo_grigio);
}

.dropdown-content a {
    color: var(--colore_testo_bianco);
    border-bottom: 1px solid var(--colore_sfondo_grigio);
}

.dropdown-content a:hover {
    background-color: var(--colore_testo_blu);
}

/* LOGIN/PRIVACY */
.auth-input {
    background: var(--colore_sfondo_nero_2);
    border: 1px solid var(--colore_bordo_grigio);
    color: var(--colore_testo_bianco);
}

.auth-footer-text {
    color: var(--colore_testo_grigio);
}

/*---GLOBE & TACTICAL ELEMENTS---*/
.yellow-dot {
    background: var(--colore_sfondo_giallo);
    border: 2px solid var(--colore_bordo_bianco);
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.7);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(255, 215, 0, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 215, 0, 0);
    }
}

.post-it {
    background: var(--colore_sfondo_giallo);
    color: var(--colore_testo_grigio_scuro);
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
}

#polygon-tools {
    background: rgba(44, 62, 80, 0.9);
    border: 2px solid var(--colore_bordo_arancione);
}

.user-info-text {
    border-left: 2px solid var(--colore_bordo_grigio);
}

.game-controls select {
    background: var(--colore_sfondo_grigio_scuro);
    color: var(--colore_testo_bianco);
    border: 1px solid var(--colore_bordo_blu);
}

/* Dashboard Gestore */

body.gestore-layout {
    background: var(--colore_sfondo_nero_2);
    color: var(--colore_testo_grigio_chiaro);
}

/* Sidebar Menu */
.sidebar {
    background: var(--colore_sfondo_grigio_scuro);
    border-right: 2px solid var(--colore_bordo_grigio);
}

.sidebar-btn {
    color: var(--colore_testo_grigio_chiaro);
}

.sidebar-btn:hover {
    background: var(--colore_sfondo_grigio);
    color: var(--colore_testo_bianco);
    border-left: 4px solid var(--colore_bordo_blu);
}

.sidebar-btn.active {
    background: var(--colore_sfondo_grigio);
    color: var(--colore_testo_blu);
    border-left: 4px solid var(--colore_bordo_blu);
}

/* Tabelle Dati */
.data-table {
    background: var(--colore_sfondo_grigio_scuro);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.data-table th,
.data-table td {
    border-bottom: 1px solid var(--colore_bordo_grigio);
}

.data-table th {
    background: var(--colore_sfondo_grigio);
    color: var(--colore_testo_blu);
}

.data-table tr:hover {
    background: var(--colore_sfondo_grigio_scuro);
}

/* Intestazioni Sezione */
.section-header {
    border-bottom: 2px solid var(--colore_bordo_grigio);
}

.section-header h2 {
    color: var(--colore_testo_blu);
}

@keyframes dropInBlink {
    0% {
        filter: drop-shadow(0 0 20px var(--colore_bordo_bianco));
    }

    50% {
        filter: drop-shadow(0 0 30px var(--colore_bordo_arancione));
    }

    100% {
        filter: drop-shadow(0 0 0px transparent);
    }
}

.ios-slider {
    background-color: var(--colore_sfondo_grigio);
}

.ios-slider:before {
    background-color: var(--colore_bordo_bianco);
}

/* Colore attivo (Arancione Sauron) */
.ios-switch input:checked+.ios-slider {
    background-color: var(--colore_sfondo_arancione);
}

.privacy-footer-btn {
    position: fixed;
    background: rgba(26, 37, 47, 0.8);
    color: var(--colore_testo_grigio_chiaro);
    border: 1px solid var(--colore_bordo_grigio);
}

.privacy-footer-btn:hover {
    background: var(--colore_bordo_grigio);
    color: var(--colore_testo_bianco);
}

.edit-mode-container {
    background: rgba(44, 62, 80, 0.9);
    border: 1px solid var(--colore_bordo_grigio);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
}

.edit-mode-label {
    color: var(--colore_testo_grigio_chiaro);
}

.tactical-insert-btn {
    background: var(--colore_sfondo_arancione) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5) !important;
}

.nato-symbol-halo svg,
.nato-symbol-halo img {
    filter: drop-shadow(0 0 3px var(--colore_bordo_bianco)) drop-shadow(0 0 1px var(--colore_bordo_bianco));
}

/* MENU CONTESTUALE */
.context-menu-item {
    color: var(--colore_testo_grigio_chiaro);
    border-bottom: 1px solid var(--colore_sfondo_grigio);
    transition: background 0.2s, padding-left 0.2s;
}

.context-menu-item:hover {
    background: var(--colore_sfondo_blu);
}

.context-menu-item.danger-item:hover {
    background: var(--colore_notifica_errore);
}

.context-menu-separator {
    background: var(--colore_bordo_grigio);
}

#coords-display {
    color: rgba(255, 255, 255, 0.7);
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
}

#coords-display .coord-label {
    color: rgba(255, 255, 255, 0.4);
}

#map-context-menu {
    background: var(--colore_sfondo_grigio_scuro);
    border: 1px solid var(--colore_bordo_grigio);
    box-shadow: 0 8px 20px rgba(0,0,0,0.7);
}

#context-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.context-menu-item:last-child {
    border-bottom: none;
}

label.modifica {
    color: var(--colore_testo_grigio_chiaro);
}