@keyframes chartFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.elevation-chart-container{animation:chartFadeIn .4s ease-out}@keyframes pathDraw{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}.elevation-path{stroke-dasharray:1000;animation:pathDraw 1.5s ease-in-out}@keyframes crosshairPulse{0%,to{opacity:.6}50%{opacity:1}}.hover-crosshair{animation:crosshairPulse 2s ease-in-out infinite}@keyframes tooltipSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.chart-tooltip{animation:tooltipSlideIn .2s ease-out}@keyframes markerBounce{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.chart-marker-active{animation:markerBounce .3s ease-in-out}.chart-grid-line{transition:opacity .3s ease}.chart-grid-line:hover{opacity:1!important}.chart-interactive{transition:all .2s cubic-bezier(.4,0,.2,1)}.chart-button{transition:all .15s ease-in-out}.chart-button:hover{transform:translateY(-1px)}.chart-button:active{transform:translateY(0)}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.chart-loading-skeleton{background:linear-gradient(90deg,#1f2937,#374151,#1f2937);background-size:1000px 100%;animation:shimmer 2s infinite linear}@keyframes rowHighlight{0%{background-color:transparent}50%{background-color:#3b82f61a}to{background-color:#3b82f626}}.table-row-selected{animation:rowHighlight .3s ease-out forwards}.chart-scroll-container{scroll-behavior:smooth}@keyframes counterUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.stat-value{animation:counterUp .4s ease-out}@keyframes panelSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.elevation-profile-panel{animation:panelSlideUp .3s ease-out}@keyframes exportSuccess{0%{background-color:#10b981}50%{background-color:#34d399;transform:scale(1.05)}to{background-color:#10b981;transform:scale(1)}}.export-success{animation:exportSuccess .5s ease-in-out}.elevation-marker-container{display:flex;flex-direction:column;align-items:center;gap:2px}.elevation-marker-badge{width:24px;height:24px;background:var(--primary-blue, #0066cc);border:2px solid white;border-radius:50%;box-shadow:0 2px 4px #0000004d;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;z-index:1}.elevation-marker-pin{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--primary-blue, #0066cc);filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.elevation-marker-container:hover .elevation-marker-badge{background:var(--primary-blue-hover, #0052a3);transform:scale(1.1);transition:all .2s ease}.elevation-marker-container:hover .elevation-marker-pin{border-top-color:var(--primary-blue-hover, #0052a3);transition:all .2s ease}.elevation-marker-container.active .elevation-marker-badge{background:var(--premium-purple, #6b46c1);border-color:var(--premium-purple-light, #8b5cf6);border-width:3px}.elevation-marker-container.active .elevation-marker-pin{border-top-color:var(--premium-purple, #6b46c1)}@media (prefers-color-scheme: dark){.elevation-marker-badge{border-color:#fff3;box-shadow:0 2px 6px #0009}}.elevation-hover-marker{animation:pulse-hover-marker 1.5s ease-in-out infinite}@keyframes pulse-hover-marker{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.elevation-cursor-line{pointer-events:none!important}.elevation-cursor-overlay{pointer-events:none!important;-webkit-user-select:none;-moz-user-select:none;user-select:none}.leaflet-container.elevation-drawing-mode,.leaflet-container.elevation-drawing-mode .leaflet-interactive,.leaflet-container.elevation-drawing-mode .leaflet-marker-icon{cursor:crosshair!important}.leaflet-container.elevation-drawing-mode .leaflet-marker-draggable{cursor:move!important}@media (pointer: coarse){.elevation-marker-badge{width:32px;height:32px;font-size:12px;border-width:2.5px;box-shadow:0 3px 8px #0006}.elevation-marker-pin{border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid var(--primary-blue, #0066cc)}.elevation-marker-container:hover .elevation-marker-badge,.elevation-marker-container:active .elevation-marker-badge{transform:scale(1.15);box-shadow:0 4px 12px #00000080}.elevation-profile-polyline{stroke-width:6px!important}}@media (pointer: coarse) and (any-hover: none){.elevation-marker-badge{width:36px;height:36px;font-size:14px;border-width:3px}.elevation-marker-pin{border-left:10px solid transparent;border-right:10px solid transparent;border-top:12px solid var(--primary-blue, #0066cc)}}.contour-3d-tooltip{background:linear-gradient(145deg,#0f172af2,#000000eb);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:6px;border:1px solid rgba(249,115,22,.4);box-shadow:0 4px 20px #0006,0 0 15px #f9731626;padding:6px 10px;pointer-events:none;animation:contour3dTooltipFadeIn .15s ease-out}.contour-3d-tooltip-value{font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;font-weight:600;color:#f97316;letter-spacing:.02em}@keyframes contour3dTooltipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.contour-3d-map-marker-container{pointer-events:none!important;z-index:1000!important}.contour-3d-map-marker{width:14px;height:14px;background:#f97316;border-radius:50%;border:2px solid white;box-shadow:0 2px 6px #0006;animation:contour3dMapMarkerPulse 1.5s ease-in-out infinite}@keyframes contour3dMapMarkerPulse{0%,to{box-shadow:0 2px 6px #0006,0 0 #f97316b3}50%{box-shadow:0 2px 6px #0006,0 0 0 10px #f9731600}}@media (prefers-reduced-motion: reduce){.contour-3d-tooltip{animation:none}.contour-3d-map-marker{animation:none;box-shadow:0 2px 6px #0006}}@media (prefers-contrast: high){.contour-3d-tooltip{border-color:#f97316;background:#000000fa}.contour-3d-tooltip-value{color:#fb923c}.contour-3d-map-marker{border-width:3px;background:#ea580c}}@media (prefers-color-scheme: light){.contour-3d-map-marker{border-color:#1f2937;box-shadow:0 2px 8px #0000004d}}.map-premium-control-v2{position:relative;background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 2px 8px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.map-premium-control-v2.loading,.map-premium-control-v2.initializing{padding:24px;min-height:120px;display:flex;align-items:center;justify-content:center}.loading-state{display:flex;flex-direction:column;align-items:center;gap:12px;color:#6b7280}.loading-spinner{width:24px;height:24px;border:2px solid #e1e5e9;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.map-premium-control-v2.error{padding:24px;border-color:#fecaca;background-color:#fef2f2}.error-state{text-align:center}.error-state h3{margin:0 0 8px;color:#dc2626;font-size:16px;font-weight:600}.error-state p{margin:0 0 16px;color:#7f1d1d;font-size:14px}.retry-button{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s}.retry-button:hover{background:#b91c1c}.error-metrics{margin-top:12px;padding-top:12px;border-top:1px solid #fecaca}.error-metrics small{color:#991b1b;font-size:12px}.map-premium-control-v2.active{min-height:200px}.tool-panel{border-radius:inherit;overflow:hidden}.v2-metrics{padding:8px 12px;background:#f8fafc;border-top:1px solid #e1e5e9;font-size:11px;color:#64748b;text-align:center}.map-premium-control-v2.idle{padding:32px 24px;text-align:center}.idle-state p{margin:0;color:#6b7280;font-size:14px}.v2-debug-info{margin-top:12px;padding-top:12px;border-top:1px solid #e1e5e9}.v2-debug-info small{color:#9ca3af;font-size:11px}.v2-debug-panel{font-family:Monaco,Menlo,monospace;line-height:1.4;max-width:250px}.v2-debug-panel h4{margin:0 0 8px;font-size:12px;color:#60a5fa}.v2-debug-panel div{margin:2px 0;font-size:11px}@media (max-width: 768px){.map-premium-control-v2{border-radius:0;border-left:none;border-right:none}.map-premium-control-v2.loading,.map-premium-control-v2.initializing{padding:16px;min-height:80px}.map-premium-control-v2.error{padding:16px}.map-premium-control-v2.idle{padding:24px 16px}}.map-premium-control-v2{transition:all .2s ease-in-out}.map-premium-control-v2.active{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.tool-panel{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.retry-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.map-premium-control-v2:focus-within{box-shadow:0 0 0 3px #3b82f61a}@media (prefers-contrast: high){.map-premium-control-v2{border-color:#000;box-shadow:none}.loading-state,.idle-state p{color:#000}.v2-metrics,.error-metrics{border-color:#000}}@media (prefers-color-scheme: dark){.map-premium-control-v2{background:#1f2937;border-color:#374151;color:#f9fafb}.loading-state,.idle-state p{color:#d1d5db}.v2-metrics{background:#111827;border-color:#374151;color:#9ca3af}.v2-debug-info{border-color:#374151}.v2-debug-info small{color:#6b7280}}:root{--sisd-amber: #f59e0b;--sisd-amber-dim: rgba(245, 158, 11, .12);--sisd-amber-glow: rgba(245, 158, 11, .5);--sisd-cyan: #06b6d4;--sisd-cyan-dim: rgba(6, 182, 212, .12);--sisd-cyan-glow: rgba(6, 182, 212, .5);--sisd-emerald: #10b981;--sisd-emerald-dim: rgba(16, 185, 129, .12);--sisd-emerald-glow: rgba(16, 185, 129, .5);--sisd-rose: #f43f5e;--sisd-rose-dim: rgba(244, 63, 94, .12);--sisd-rose-glow: rgba(244, 63, 94, .5);--sisd-surface: #0c0c0e;--sisd-surface-elevated: rgba(20, 20, 22, .95);--sisd-surface-glass: rgba(12, 12, 14, .85);--sisd-border: rgba(39, 39, 42, .8);--sisd-border-active: #3f3f46;--sisd-text-primary: #fafafa;--sisd-text-secondary: #a1a1aa;--sisd-text-muted: #52525b;--sisd-font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--sisd-font-display: "Inter", "SF Pro Display", system-ui, sans-serif}@keyframes sisd-annulus-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:.3;transform:scale(1)}}@keyframes sisd-tooltip-enter{0%{opacity:0;transform:translateY(4px) scale(.96);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;transform:translateY(0) scale(1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}@keyframes sisd-pulse-glow{0%,to{box-shadow:0 0 8px var(--glow-color, var(--sisd-cyan)),0 0 16px var(--glow-color, var(--sisd-cyan));opacity:1}50%{box-shadow:0 0 16px var(--glow-color, var(--sisd-cyan)),0 0 32px var(--glow-color, var(--sisd-cyan));opacity:.85}}@keyframes sisd-scanline{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes sisd-data-flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.6}94%{opacity:1}}@keyframes sisd-snap-pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.3);opacity:0}}.sisd-hatched-annulus{pointer-events:none;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.sisd-hatched-annulus.fade-in{animation:sisd-annulus-fade-in .4s cubic-bezier(.4,0,.2,1)}.sisd-circle-label{background:var(--sisd-surface-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--sisd-border);border-left:3px solid var(--sisd-rose);border-radius:4px;padding:6px 10px;font-family:var(--sisd-font-mono);font-size:11px;font-weight:600;color:var(--sisd-text-primary);box-shadow:0 4px 20px #00000080,0 0 1px #ffffff1a inset;animation:sisd-tooltip-enter .2s cubic-bezier(.4,0,.2,1)}.sisd-circle-label:before{content:"SISD";display:block;font-size:8px;font-weight:700;letter-spacing:.15em;color:var(--sisd-rose);margin-bottom:2px;text-transform:uppercase}.sisd-circle-label .leaflet-popup-content-wrapper{background:transparent;box-shadow:none;border:none;padding:0}.sisd-circle-label .leaflet-popup-tip{display:none}.sisd-braking-popup.leaflet-popup,.leaflet-popup.sisd-braking-popup,div.sisd-braking-popup,div.leaflet-popup.sisd-braking-popup{margin-bottom:0!important;background:transparent!important}.sisd-braking-popup .leaflet-popup-content-wrapper,.sisd-braking-popup.leaflet-popup .leaflet-popup-content-wrapper,.leaflet-popup.sisd-braking-popup .leaflet-popup-content-wrapper,div.sisd-braking-popup .leaflet-popup-content-wrapper,.sisd-braking-popup>.leaflet-popup-content-wrapper{background:transparent!important;background-color:transparent!important;box-shadow:none!important;border:none!important;border-radius:0!important;padding:0!important;margin:0!important}.sisd-braking-popup .leaflet-popup-content,.sisd-braking-popup.leaflet-popup .leaflet-popup-content,.leaflet-popup.sisd-braking-popup .leaflet-popup-content,div.sisd-braking-popup .leaflet-popup-content{margin:0!important;padding:0!important;width:auto!important}.sisd-braking-popup .leaflet-popup-tip-container,.sisd-braking-popup.leaflet-popup .leaflet-popup-tip-container,.leaflet-popup.sisd-braking-popup .leaflet-popup-tip-container,div.sisd-braking-popup .leaflet-popup-tip-container,.sisd-braking-popup .leaflet-popup-tip,.sisd-braking-popup.leaflet-popup .leaflet-popup-tip,.leaflet-popup.sisd-braking-popup .leaflet-popup-tip,div.sisd-braking-popup .leaflet-popup-tip{display:none!important;background:transparent!important}.sisd-braking-hud{width:220px;background:linear-gradient(135deg,#0a0a0cf7,#121216f2);border:1px solid rgba(244,63,94,.3);border-left:3px solid #f43f5e;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;position:relative;overflow:hidden;box-shadow:0 8px 32px #000000b3,0 0 0 1px #ffffff08 inset,0 0 40px #f43f5e26}.sisd-braking-hud:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(244,63,94,.08) 50%,transparent 100%);animation:sisd-hud-scan 3s ease-in-out infinite;pointer-events:none}@keyframes sisd-hud-scan{0%{left:-50%}to{left:150%}}.sisd-braking-hud__status{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#f43f5e1f;border-bottom:1px solid rgba(244,63,94,.2)}.sisd-braking-hud__status-label{display:flex;align-items:center;gap:6px;font-size:8px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#f43f5e}.sisd-braking-hud__status-dot{width:6px;height:6px;background:#f43f5e;border-radius:50%;animation:sisd-dot-pulse 1.5s ease-in-out infinite;box-shadow:0 0 8px #f43f5e}@keyframes sisd-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.sisd-braking-hud__status-dot--major{background:#10b981;box-shadow:0 0 8px #10b981}.sisd-braking-hud__status-badge{font-size:7px;font-weight:600;letter-spacing:.1em;color:#fafafa80;padding:2px 6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.sisd-braking-hud__readout{padding:14px 12px;display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid rgba(39,39,42,.6)}.sisd-braking-hud__label{font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#a1a1aacc}.sisd-braking-hud__value{display:flex;align-items:baseline;gap:3px}.sisd-braking-hud__number{font-size:28px;font-weight:700;color:#f43f5e;line-height:1;text-shadow:0 0 20px rgba(244,63,94,.6),0 0 40px rgba(244,63,94,.3);animation:sisd-value-glow 2s ease-in-out infinite alternate}@keyframes sisd-value-glow{0%{text-shadow:0 0 20px rgba(244,63,94,.6),0 0 40px rgba(244,63,94,.3)}to{text-shadow:0 0 30px rgba(244,63,94,.8),0 0 60px rgba(244,63,94,.4)}}.sisd-braking-hud__unit{font-size:11px;font-weight:500;color:#a1a1aa99;margin-left:2px}.sisd-braking-hud__instruction{padding:10px 12px;background:#0000004d}.sisd-braking-hud__instruction-text{font-size:9px;font-weight:500;color:#fafafab3;line-height:1.5;margin-bottom:8px}.sisd-braking-hud__instruction-text strong{color:#fafafa;font-weight:600}.sisd-braking-hud__keys{display:flex;gap:12px;margin-top:8px}.sisd-braking-hud__key{display:flex;align-items:center;gap:5px;font-size:8px;color:#a1a1aa99}.sisd-braking-hud__kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 5px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-bottom:2px solid rgba(255,255,255,.2);border-radius:3px;font-size:8px;font-weight:600;color:#fafafacc;font-family:inherit}.sisd-braking-hud__corner{position:absolute;width:8px;height:8px;border-color:#f43f5e66;border-style:solid;border-width:0}.sisd-braking-hud__corner--tl{top:4px;left:4px;border-top-width:1px;border-left-width:1px}.sisd-braking-hud__corner--tr{top:4px;right:4px;border-top-width:1px;border-right-width:1px}.sisd-braking-hud__corner--bl{bottom:4px;left:4px;border-bottom-width:1px;border-left-width:1px}.sisd-braking-hud__corner--br{bottom:4px;right:4px;border-bottom-width:1px;border-right-width:1px}.sisd-guidance-tooltip{position:absolute;background:var(--sisd-surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--sisd-text-primary);padding:10px 14px;border-radius:6px;border:1px solid var(--sisd-border);border-top:2px solid var(--sisd-cyan);font-family:var(--sisd-font-mono);font-size:11px;font-weight:500;letter-spacing:.02em;white-space:nowrap;pointer-events:none;z-index:1000;box-shadow:0 8px 32px #0009,0 0 1px #ffffff1a inset,0 0 20px var(--sisd-cyan-glow);animation:sisd-tooltip-enter .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.sisd-guidance-tooltip:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(6,182,212,.08) 50%,transparent 100%);animation:sisd-scanline 3s linear infinite;pointer-events:none}.sisd-guidance-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--sisd-surface-glass);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.sisd-guidance-tooltip .label-prefix{display:block;font-size:8px;font-weight:700;letter-spacing:.15em;color:var(--sisd-cyan);margin-bottom:4px;text-transform:uppercase}.sisd-point-tooltip{background:var(--sisd-surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--sisd-border);border-radius:6px;padding:12px 14px;font-family:var(--sisd-font-mono);min-width:180px;box-shadow:0 8px 32px #0009,0 0 1px #ffffff14 inset;animation:sisd-tooltip-enter .25s cubic-bezier(.4,0,.2,1)}.sisd-point-tooltip--conflict{border-left:3px solid var(--sisd-amber)}.sisd-point-tooltip--minor{border-left:3px solid var(--sisd-cyan)}.sisd-point-tooltip--major{border-left:3px solid var(--sisd-emerald)}.sisd-point-tooltip--braking{border-left:3px solid var(--sisd-rose)}.sisd-point-tooltip__header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--sisd-border)}.sisd-point-tooltip__icon{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px}.sisd-point-tooltip__icon--conflict{background:var(--sisd-amber-dim);color:var(--sisd-amber)}.sisd-point-tooltip__icon--minor{background:var(--sisd-cyan-dim);color:var(--sisd-cyan)}.sisd-point-tooltip__icon--major{background:var(--sisd-emerald-dim);color:var(--sisd-emerald)}.sisd-point-tooltip__icon--braking{background:var(--sisd-rose-dim);color:var(--sisd-rose)}.sisd-point-tooltip__title{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sisd-text-secondary)}.sisd-point-tooltip__row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.sisd-point-tooltip__label{font-size:9px;font-weight:500;color:var(--sisd-text-muted);text-transform:uppercase;letter-spacing:.08em}.sisd-point-tooltip__value{font-size:11px;font-weight:600;color:var(--sisd-text-primary);animation:sisd-data-flicker 8s infinite}.sisd-point-tooltip__value--accent{color:var(--sisd-cyan)}.sisd-point-tooltip__value--success{color:var(--sisd-emerald)}.sisd-point-tooltip__value--warning{color:var(--sisd-amber)}.sisd-point-tooltip__value--error{color:var(--sisd-rose)}.MuiTooltip-popper[data-popper-placement*=top] .sisd-hud-tooltip,.MuiTooltip-popper[data-popper-placement*=bottom] .sisd-hud-tooltip{background:var(--sisd-surface-glass)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border:1px solid var(--sisd-border)!important;border-radius:6px!important;padding:10px 14px!important;font-family:var(--sisd-font-mono)!important;font-size:11px!important;font-weight:500!important;color:var(--sisd-text-primary)!important;box-shadow:0 8px 32px #0009,0 0 1px #ffffff14 inset!important;max-width:280px!important}.sisd-hud-tooltip .MuiTooltip-arrow{color:var(--sisd-surface-glass)!important}.sisd-chart-tooltip{fill:var(--sisd-surface-glass);stroke:var(--sisd-border);stroke-width:1;rx:6;ry:6;filter:drop-shadow(0 8px 24px rgba(0,0,0,.5))}.sisd-chart-tooltip-header{fill:var(--sisd-text-secondary);font-family:var(--sisd-font-mono);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.sisd-chart-tooltip-value{fill:var(--sisd-text-primary);font-family:var(--sisd-font-mono);font-size:11px;font-weight:600}.sisd-chart-tooltip-label{fill:var(--sisd-text-muted);font-family:var(--sisd-font-mono);font-size:9px;font-weight:500}.sisd-chart-tooltip-accent{fill:var(--sisd-cyan)}.sisd-chart-tooltip-line{stroke:var(--sisd-cyan);stroke-width:1;stroke-dasharray:4 2;opacity:.6}.sisd-result-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:4px;font-family:var(--sisd-font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;animation:sisd-tooltip-enter .3s cubic-bezier(.4,0,.2,1)}.sisd-result-badge--pass{background:var(--sisd-emerald-dim);border:1px solid var(--sisd-emerald);color:var(--sisd-emerald);--glow-color: var(--sisd-emerald)}.sisd-result-badge--fail{background:var(--sisd-rose-dim);border:1px solid var(--sisd-rose);color:var(--sisd-rose);--glow-color: var(--sisd-rose)}.sisd-result-badge--active{animation:sisd-pulse-glow 2s ease-in-out infinite}.sisd-hatched-annulus:hover{opacity:.5!important;filter:brightness(1.2)}.sisd-interactive:hover{box-shadow:0 0 20px var(--sisd-cyan-glow);transition:box-shadow .2s ease}@media (max-width: 768px){.sisd-hatched-annulus{fill:#06b6d433!important}.sisd-guidance-tooltip,.sisd-point-tooltip{font-size:10px;padding:8px 10px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.sisd-circle-label{font-size:10px;padding:4px 8px}}@media (prefers-contrast: high){.sisd-hatched-annulus{fill-opacity:.5!important}.sisd-circle-label,.sisd-guidance-tooltip,.sisd-point-tooltip{border-width:2px;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--sisd-surface)}}@media (prefers-reduced-motion: reduce){.sisd-guidance-tooltip:before,.sisd-result-badge--active{animation:none}.sisd-circle-label,.sisd-guidance-tooltip,.sisd-point-tooltip{animation:none}}.sight-distance-popup .leaflet-popup-content-wrapper{background:var(--sisd-surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--sisd-border);border-left:3px solid var(--sisd-cyan);border-radius:6px;padding:0;box-shadow:0 8px 32px #0009,0 0 1px #ffffff14 inset,0 0 16px var(--sisd-cyan-glow);animation:sisd-tooltip-enter .25s cubic-bezier(.4,0,.2,1)}.sight-distance-popup .leaflet-popup-content{margin:12px 14px;font-family:var(--sisd-font-mono);font-size:11px;font-weight:500;color:var(--sisd-text-primary);line-height:1.4}.sight-distance-popup .leaflet-popup-tip-container{display:none}.leaflet-popup.sisd-popup .leaflet-popup-content-wrapper{background:var(--sisd-surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--sisd-border);border-radius:6px;padding:0;box-shadow:0 8px 32px #0009,0 0 1px #ffffff14 inset}.leaflet-popup.sisd-popup .leaflet-popup-content{margin:12px 14px;font-family:var(--sisd-font-mono);font-size:11px;color:var(--sisd-text-primary)}.leaflet-popup.sisd-popup .leaflet-popup-tip{background:var(--sisd-surface-glass);border:1px solid var(--sisd-border);box-shadow:none}.critical-point-marker{cursor:pointer;transition:transform .2s ease}.critical-point-marker:hover{transform:scale(1.2)}.leaflet-popup:has(.critical-point-content) .leaflet-popup-content-wrapper{background:var(--sisd-surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--sisd-border);border-left:3px solid var(--sisd-rose);border-radius:6px;padding:0;box-shadow:0 8px 32px #0009,0 0 16px var(--sisd-rose-glow)}.sisd-marker{cursor:pointer;transition:transform .2s cubic-bezier(.4,0,.2,1)}.sisd-marker:hover{transform:scale(1.15)}.sisd-marker--conflict{filter:drop-shadow(0 0 8px var(--sisd-amber-glow))}.sisd-marker--minor{filter:drop-shadow(0 0 8px var(--sisd-cyan-glow))}.sisd-marker--major{filter:drop-shadow(0 0 8px var(--sisd-emerald-glow))}.sisd-marker--braking{filter:drop-shadow(0 0 8px var(--sisd-rose-glow))}.sisd-marker--active{animation:sisd-marker-pulse 2s ease-in-out infinite}@keyframes sisd-marker-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 8px var(--glow-color, var(--sisd-cyan-glow)))}50%{transform:scale(1.1);filter:drop-shadow(0 0 16px var(--glow-color, var(--sisd-cyan-glow)))}}.sisd-tooltip-content{font-family:var(--sisd-font-mono)}.sisd-tooltip-content__header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--sisd-border)}.sisd-tooltip-content__title{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sisd-text-secondary)}.sisd-tooltip-content__row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.sisd-tooltip-content__label{font-size:9px;font-weight:500;color:var(--sisd-text-muted);text-transform:uppercase;letter-spacing:.05em}.sisd-tooltip-content__value{font-size:11px;font-weight:600;color:var(--sisd-text-primary)}.sisd-tooltip-content__value--cyan{color:var(--sisd-cyan)}.sisd-tooltip-content__value--amber{color:var(--sisd-amber)}.sisd-tooltip-content__value--emerald{color:var(--sisd-emerald)}.sisd-tooltip-content__value--rose{color:var(--sisd-rose)}.sisd-tooltip-content__row--hint{margin-top:6px;padding-top:6px;border-top:1px dashed var(--sisd-border);font-size:9px;color:var(--sisd-text-muted);text-align:center;justify-content:center}.sisd-distance-circle{stroke:var(--sisd-rose);stroke-width:2;stroke-dasharray:10 10;fill:var(--sisd-rose-dim);fill-opacity:.15;transition:all .3s ease}.sisd-distance-circle:hover{fill-opacity:.25;filter:drop-shadow(0 0 12px var(--sisd-rose-glow))}.sisd-guidance-5m{stroke:var(--sisd-cyan);stroke-width:2;fill:none}.sisd-guidance-7m{stroke:var(--sisd-cyan);stroke-width:1;stroke-dasharray:5 5;fill:none;opacity:.7}.sisd-guidance-annulus{fill:var(--sisd-cyan-dim);fill-opacity:.2;stroke:none}.asd-panel-placeholder{padding:1rem;background:var(--bg-secondary, #f5f5f5);border-radius:.5rem;text-align:center;color:var(--text-secondary, #666)}.asd-panel-placeholder p{margin:.5rem 0}.asd-intersection-marker{background-color:#ef4444}.asd-braking-marker{background-color:#f59e0b}.asd-vehicle-marker{background-color:#3b82f6}.asd-guidance-circle{stroke:#3b82f6;stroke-width:2;stroke-dasharray:8,4;fill:#3b82f61a}.asd-guidance-circle-compliant{stroke:#10b981;fill:#10b9811a}.asd-guidance-circle-non-compliant{stroke:#ef4444;fill:#ef44441a}.asd-sight-line{stroke:#22d3ee;stroke-width:3;animation:asd-dash-flow 1s linear infinite}@keyframes asd-dash-flow{0%{stroke-dashoffset:36}to{stroke-dashoffset:0}}.asd-sight-line-clear{stroke:#10b981}.asd-sight-line-blocked{stroke:#ef4444;stroke-dasharray:4,2}.asd-surface-target{fill:#ef4444;stroke:#fff;stroke-width:2}.asd-obstruction-point{fill:#ef4444;stroke:#7f1d1d;stroke-width:2}.asd-blocked-label-text{fill:#fff!important;color:#fff!important}.obstruction-marker{fill:none}.obstruction-marker text{fill:#fff!important}.asd-chart-container{position:relative;width:100%;height:100%;min-height:200px}.asd-chart-terrain{fill:#10b98133;stroke:#10b981;stroke-width:1}.asd-chart-sight-line{stroke:#3b82f6;stroke-width:2}.asd-chart-sight-line-to-surface{stroke:#3b82f6;stroke-width:2;stroke-dasharray:none}.asd-chart-sight-line-blocked{stroke:#ef4444;stroke-dasharray:4,2}.asd-chart-surface-target{fill:#ef4444;stroke:#fff;stroke-width:1}.asd-grade-indicator{font-size:.875rem;padding:.25rem .5rem;border-radius:.25rem}.asd-grade-uphill{background:#10b9811a;color:#10b981}.asd-grade-downhill{background:#ef44441a;color:#ef4444}.asd-grade-level{background:#6b72801a;color:#6b7280}.asd-progress-steps{display:flex;align-items:center;gap:.25rem}.asd-progress-step{width:.5rem;height:.5rem;border-radius:50%;background:var(--bg-tertiary, #e5e5e5);transition:all .2s ease}.asd-progress-step.active{background:#3b82f6;width:.75rem;height:.75rem}.asd-progress-step.completed{background:#10b981}.asd-loading-overlay{position:absolute;inset:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:10}.asd-loading-spinner{width:2rem;height:2rem;border:3px solid var(--border-color, #e5e5e5);border-top-color:#3b82f6;border-radius:50%;animation:asd-spin 1s linear infinite}@keyframes asd-spin{to{transform:rotate(360deg)}}.asd-results{display:flex;flex-direction:column;gap:.75rem}.asd-result-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--bg-secondary, #f9fafb);border-radius:.375rem}.asd-result-label{font-size:.875rem;color:var(--text-secondary, #6b7280)}.asd-result-value{font-weight:600;font-size:1rem}.asd-result-value.compliant{color:#10b981}.asd-result-value.non-compliant{color:#ef4444}.asd-compliance-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600}.asd-compliance-badge.compliant{background:#10b9811a;color:#10b981}.asd-compliance-badge.non-compliant{background:#ef44441a;color:#ef4444}.asd-compliance-badge.marginal{background:#f59e0b1a;color:#f59e0b}.asd-case-selector{display:grid;gap:.5rem}.asd-case-group{padding:.5rem;border:1px solid var(--border-color, #e5e5e5);border-radius:.5rem}.asd-case-group-label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.asd-case-options{display:flex;flex-wrap:wrap;gap:.25rem}.asd-case-option{padding:.25rem .5rem;font-size:.8125rem;border:1px solid transparent;border-radius:.25rem;background:var(--bg-secondary, #f5f5f5);cursor:pointer;transition:all .15s ease}.asd-case-option:hover{background:var(--bg-hover, #e5e5e5)}.asd-case-option.selected{background:#3b82f6;color:#fff;border-color:#2563eb}.asd-parameter-input{display:flex;flex-direction:column;gap:.25rem}.asd-parameter-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary, #6b7280)}.asd-parameter-value{display:flex;align-items:center;gap:.5rem}.asd-parameter-value input{flex:1;padding:.375rem .5rem;border:1px solid var(--border-color, #e5e5e5);border-radius:.375rem;font-size:.875rem}.asd-parameter-unit{font-size:.8125rem;color:var(--text-secondary, #6b7280);min-width:3rem}.asd-disclaimer{font-size:.75rem;color:var(--text-tertiary, #9ca3af);padding:.75rem;background:var(--bg-secondary, #f9fafb);border-radius:.375rem;border-left:3px solid #f59e0b}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.crash-analytics-panel .recharts-wrapper{background:transparent!important}.crash-analytics-panel .recharts-cartesian-grid line{stroke:#27272a}.crash-analytics-panel .recharts-text{fill:#a1a1aa!important}.crash-analytics-panel .recharts-tooltip-wrapper .recharts-default-tooltip{background-color:#141416!important;border:1px solid #27272a!important;border-radius:4px!important}.crash-analytics-panel .recharts-tooltip-label{color:#fafafa!important}.crash-analytics-panel .recharts-tooltip-item,.crash-analytics-panel .recharts-legend-item-text{color:#a1a1aa!important}.crash-analytics-panel .recharts-xAxis .recharts-text,.crash-analytics-panel .recharts-yAxis .recharts-text{fill:#71717a!important;font-family:JetBrains Mono,monospace;font-size:10px}.crash-analytics-panel ::-webkit-scrollbar{width:6px;height:6px}.crash-analytics-panel ::-webkit-scrollbar-track{background:#0c0c0e}.crash-analytics-panel ::-webkit-scrollbar-thumb{background:#27272a;border-radius:3px}.crash-analytics-panel ::-webkit-scrollbar-thumb:hover{background:#3f3f46}.crash-analytics-panel table{border-color:#27272a!important}.crash-analytics-panel thead{background-color:#141416!important}.crash-analytics-panel th{color:#a1a1aa!important;border-color:#27272a!important;font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.03em}.crash-analytics-panel tbody tr:nth-child(2n){background-color:#14141680!important}.crash-analytics-panel tbody tr:hover{background-color:#1a1a1c!important}.crash-analytics-panel td{color:#fafafa!important;border-color:#27272a!important}.crash-analytics-panel input,.crash-analytics-panel select,.crash-analytics-panel textarea{background-color:#141416!important;border-color:#27272a!important;color:#fafafa!important}.crash-analytics-panel input:focus,.crash-analytics-panel select:focus,.crash-analytics-panel textarea:focus{border-color:#06b6d4!important;outline:none!important;box-shadow:0 0 0 2px #06b6d426!important}.crash-analytics-panel input::-moz-placeholder{color:#71717a!important}.crash-analytics-panel input::placeholder{color:#71717a!important}.crash-analytics-panel .shadow,.crash-analytics-panel .shadow-sm,.crash-analytics-panel .shadow-md,.crash-analytics-panel .shadow-lg{box-shadow:0 2px 8px #0006!important}.crash-analytics-panel .rounded,.crash-analytics-panel .rounded-lg,.crash-analytics-panel .rounded-md{border-color:#27272a!important}.crash-analytics-panel button:not([class*=MuiIconButton]){transition:all .15s ease-out}.crash-analytics-panel button.primary,.crash-analytics-panel button[type=submit]{background-color:#06b6d426!important;border:1px solid rgba(6,182,212,.4)!important;color:#06b6d4!important}.crash-analytics-panel button.primary:hover,.crash-analytics-panel button[type=submit]:hover{background-color:#06b6d440!important;border-color:#06b6d4!important}.crash-analytics-panel [data-severity=fatal],.crash-analytics-panel .severity-fatal{color:#ef4444!important}.crash-analytics-panel [data-severity=serious],.crash-analytics-panel .severity-serious,.crash-analytics-panel [data-severity=hospitalisation]{color:#f97316!important}.crash-analytics-panel [data-severity=moderate],.crash-analytics-panel .severity-moderate,.crash-analytics-panel [data-severity=medical]{color:#eab308!important}.crash-analytics-panel [data-severity=minor],.crash-analytics-panel .severity-minor{color:#22c55e!important}.crash-analytics-panel [data-severity=property],.crash-analytics-panel .severity-property{color:#8b5cf6!important}.crash-analytics-panel .empty-state{color:#71717a;font-family:JetBrains Mono,monospace;text-align:center;padding:40px 20px}.crash-analytics-panel .ai-response{font-family:Inter,system-ui,sans-serif;line-height:1.6}.crash-analytics-panel .ai-response code{background-color:#141416;border:1px solid #27272a;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.9em;color:#06b6d4}.crash-analytics-panel .ai-response pre{background-color:#141416!important;border:1px solid #27272a;border-radius:4px;padding:12px;overflow-x:auto}.crash-analytics-panel .ai-response h1,.crash-analytics-panel .ai-response h2,.crash-analytics-panel .ai-response h3{color:#fafafa;font-weight:600;margin-top:1.5em;margin-bottom:.5em}.crash-analytics-panel .ai-response ul,.crash-analytics-panel .ai-response ol{padding-left:1.5em;color:#a1a1aa}.crash-analytics-panel .ai-response li{margin:.25em 0}
