/* Custom Styles for Control Tower Portfolio - Orange Theme */
:root {
    --primary-dark: #7c2d12;    /* Orange-900 */
    --primary-accent: #f97316;  /* Orange-500 */
    --primary-soft: #fff7ed;    /* Orange-50/100 */
    --status-green: #10b981;
    --status-yellow: #f59e0b;
    --status-red: #ef4444;
}

body { 
    font-family: 'Inter', sans-serif; 
    overflow: hidden; 
    background-color: #f8fafc;
    color: #334155;
}

.sidebar-transition { transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.content-transition { transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1); }

.collapsed { width: 4.5rem !important; }
.collapsed span, .collapsed .logo-text { display: none; }

.filter-content { transition: all 0.3s ease; overflow: hidden; }
.filter-closed { max-height: 0; opacity: 0; margin-bottom: 0 !important; transform: translateY(-10px); }
.filter-open { max-height: 300px; opacity: 1; transform: translateY(0); }

.bg-orange-dark { background-color: var(--primary-dark); } 
.bg-orange-accent { background-color: var(--primary-accent); }
.bg-orange-soft { background-color: var(--primary-soft); }

.text-orange-accent { color: var(--primary-accent); }
.border-orange-accent { border-color: var(--primary-accent); }

::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Dashboard Cards */
.card-premium {
    background: white;
    border-radius: 1.5rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(226, 232, 240, 0.6);
}

/* Map Custom Icons */
.map-icon {
    width: 34px; height: 34px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: white; font-size: 15px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.25);
    border: 2.5px solid white;
}
.icon-green  { background: linear-gradient(135deg, #10b981, #059669); }
.icon-yellow { background: linear-gradient(135deg, #f59e0b, #d97706); }
.icon-orange { background: linear-gradient(135deg, #f97316, #ea580c); }
.icon-red-pulse {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    animation: pulse-red 1s infinite alternate;
    box-shadow: 0 0 14px rgba(239, 68, 68, 0.7);
}

@keyframes pulse-red {
    from { transform: scale(1);    opacity: 1; }
    to   { transform: scale(1.15); opacity: 0.75; }
}

/* Leaflet Popup Styling */
.leaflet-popup-glass .leaflet-popup-content-wrapper {
    background: rgba(67, 20, 7, 0.8) !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45) !important;
    padding: 0 !important;
    overflow: hidden;
}
.leaflet-popup-glass .leaflet-popup-content { margin: 0 !important; width: auto !important; }
.leaflet-popup-glass .leaflet-popup-tip-container { display: none; }

.sascar-popup {
    padding: 14px 16px;
    min-width: 230px;
    font-family: 'Inter', sans-serif;
    color: #fff7ed;
}

.popup-divider { height: 1px; background: rgba(255, 255, 255, 0.1); margin: 8px 0; }
.popup-row { display: flex; align-items: center; gap: 8px; font-size: 11px; margin-bottom: 4px; }
.popup-icon { font-size: 12px; color: var(--primary-accent); }

/* Custom Text Truncate */
.truncate-multiline {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
