body { font-family: 'Inter', sans-serif; background-color: #f1f5f9; }
#map { height: 100%; width: 100%; z-index: 1; border-radius: 2rem; }
.loader-inline { border-top-color: #4f46e5; animation: spinner 1s linear infinite; border-radius: 50%; border-width: 2px; height: 12px; width: 12px; display: inline-block; margin-right: 8px; }
@keyframes spinner { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.leaflet-routing-container { display: none !important; }

.weight-marker {
    display: flex; align-items: center; justify-content: center; color: white;
    font-weight: 800; border: 2px solid rgba(255,255,255,0.9); border-radius: 50%;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); transition: transform 0.2s;
}

.start-marker { background: #0f172a; color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; border: 3px solid white; box-shadow: 0 4px 10px rgba(0,0,0,0.2); }

#sidebar::-webkit-scrollbar { width: 4px; }
#sidebar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
#debugLog::-webkit-scrollbar { width: 3px; }
#debugLog::-webkit-scrollbar-thumb { background: #475569; border-radius: 10px; }

.switch { position: relative; display: inline-block; width: 36px; height: 18px; }
.switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #cbd5e1; transition: .4s; border-radius: 34px; }
.slider:before { position: absolute; content: ""; height: 12px; width: 12px; left: 3px; bottom: 3px; background-color: white; transition: .4s; border-radius: 50%; }
input:checked + .slider { background-color: #4f46e5; }
input:checked + .slider:before { transform: translateX(18px); }

.sidebar-card { background: white; border-radius: 0.85rem; border: 1px solid #f1f5f9; padding: 0.75rem; box-shadow: 0 1px 2px rgba(0,0,0,0.02); }
.sidebar-card-sm { background: white; border-radius: 0.6rem; border: 1px solid #f1f5f9; padding: 0.5rem; box-shadow: 0 1px 2px rgba(0,0,0,0.02); }

/* Layout Dual Canvas Ottimizzato */
.right-content-area {
    display: flex;
    flex-direction: column;
    gap: 0.75rem; /* Ridotto gap */
    padding: 0.75rem; /* Ridotto padding esterno */
    height: 100vh;
    flex: 1;
}
.canvas-frame {
    background: white;
    border-radius: 2rem;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    border: 4px solid white; /* Bordo ridotto */
    overflow: hidden;
    position: relative;
}
.map-canvas { flex: 3.5; } /* Più spazio alla mappa */
.table-canvas { flex: 2; display: flex; flex-direction: column; }

#manualEntryModal { display: none; }
.suggestion-box { animation: slideIn 0.5s ease-out; background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%); color: white; }
