:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}body:not(.debug-mode){display:flex;place-items:center}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-page{min-height:100dvh;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;flex-direction:column;position:relative;overflow-x:hidden}.login-page-overlay{position:absolute;inset:0;background:#0000004d;z-index:1}.login-page-nav{position:relative;z-index:10;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);padding:1rem 0}.login-page-nav-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:1rem}.login-page-nav-back{background:none;border:none;color:#fff;font-size:1rem;cursor:pointer;padding:.5rem 1rem;border-radius:6px;transition:background-color .2s}.login-page-nav-back:hover{background:#ffffff1a}.login-page-nav-logo{height:40px;width:auto}.login-page-nav-spacer{flex:1}.login-page-content{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;z-index:2}.login-form-container{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;padding:3rem;box-shadow:0 20px 40px #0000001a;border:1px solid rgba(255,255,255,.2);max-width:400px;width:100%}.login-header{text-align:center;margin-bottom:2rem}.login-logo{height:150px;width:auto;margin-bottom:1rem}.login-title{font-size:1.75rem;font-weight:700;color:#1a202c;margin:0 0 .5rem}.login-subtitle{font-size:1rem;color:#718096;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-field{display:flex;flex-direction:column;gap:.5rem}.login-label{font-size:.875rem;font-weight:600;color:#374151}.login-input{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s;background:#fff;color:#1f2937}.login-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.login-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.login-password-container{position:relative;display:flex;align-items:center}.login-password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;transition:background-color .2s}.login-password-toggle:hover:not(:disabled){background:#0000000d}.login-password-toggle:disabled{cursor:not-allowed;opacity:.5}.login-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #3b82f633}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.login-spinner{animation:spin 1s linear infinite}.login-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem;border-radius:8px;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.login-error-icon{flex-shrink:0}.login-toggle{margin-top:1.5rem;text-align:center;padding-top:1.5rem;border-top:1px solid #e5e7eb}.login-toggle-text{font-size:.875rem;color:#718096;margin:0}.login-toggle-link{background:none;border:none;color:#3b82f6;text-decoration:none;font-weight:500;font-size:.875rem;cursor:pointer;padding:0;transition:color .2s}.login-toggle-link:hover:not(:disabled){color:#1d4ed8;text-decoration:underline}.login-toggle-link:disabled{color:#9ca3af;cursor:not-allowed}.login-options{margin-top:2rem;text-align:center;padding-top:1.5rem;border-top:1px solid #e5e7eb}.login-help{font-size:.875rem;color:#718096;margin:0}.login-link{color:#3b82f6;text-decoration:none;font-weight:500}.login-link:hover{text-decoration:underline}@media (max-width: 768px){.login-page-content{padding:1rem}.login-form-container{padding:2rem;margin:0}.login-logo{height:120px}.login-title{font-size:1.5rem}.login-page-nav-content{padding:0 1rem}}@media (max-width: 480px){.login-page-content{padding:.5rem}.login-form-container{padding:1.5rem}.login-logo{height:100px}.login-title{font-size:1.25rem}.login-subtitle{font-size:.875rem}}.flights-page{min-height:100vh;background:var(--background-light);padding:20px;box-sizing:border-box}.flights-container{max-width:1200px;margin:0 auto;width:100%}.flights-header{text-align:center;margin-bottom:40px}.flights-header h1{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin:0 0 10px}.flights-subtitle{color:var(--text-secondary);font-size:1.1rem;margin:0}.flights-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary)}.flights-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.flights-loading p{font-size:1.1rem;margin:0}.flights-error{text-align:center;padding:60px 20px;background:var(--background);border-radius:12px;border:1px solid var(--border-color);margin:20px 0}.flights-error h2,.flights-error h3{color:var(--text-primary);margin:0 0 15px}.flights-error p{color:var(--text-secondary);margin:0 0 20px;line-height:1.6}.retry-button{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.retry-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.flights-empty{text-align:center;padding:80px 20px;background:var(--background);border-radius:12px;border:1px solid var(--border-color);margin:20px 0}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.7}.flights-empty h3{color:var(--text-primary);font-size:1.5rem;margin:0 0 15px}.flights-empty p{color:var(--text-secondary);font-size:1.1rem;margin:0;line-height:1.6}.flights-list{display:grid;gap:20px;margin-bottom:40px}.flight-card{background:var(--background);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:all .2s ease;box-shadow:0 2px 8px #0000000d}.flight-card:hover{border-color:var(--primary);box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.flight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.flight-route{display:flex;align-items:center;gap:12px}.airport{font-size:1.5rem;font-weight:700;font-family:Monaco,monospace;color:var(--text-primary);padding:8px 12px;background:var(--background-light);border-radius:8px;border:1px solid var(--border-color)}.airport.departure{color:var(--success);border-color:var(--success);background:#22c55e1a}.airport.destination{color:var(--primary);border-color:var(--primary);background:#3b82f61a}.route-arrow{font-size:1.5rem;color:var(--text-secondary);font-weight:700}.flight-id{color:var(--text-secondary);font-size:.9rem;font-weight:500;background:var(--background-light);padding:6px 12px;border-radius:6px;border:1px solid var(--border-color)}.flight-details{display:grid;gap:12px;margin-bottom:20px}.flight-detail{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.detail-label{color:var(--text-secondary);font-weight:500;font-size:.95rem}.detail-value{color:var(--text-primary);font-weight:600;text-align:right;max-width:60%;word-wrap:break-word}.flight-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border-color)}.load-flight-button{background:var(--primary);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.load-flight-button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.load-flight-button:active{transform:translateY(0)}.flights-footer{text-align:center;padding:20px;color:var(--text-secondary);font-size:.95rem;border-top:1px solid var(--border-color);background:var(--background);border-radius:8px;margin-top:20px}@media (max-width: 768px){.flights-page{padding:15px}.flights-header h1{font-size:2rem}.flights-subtitle{font-size:1rem}.flight-card{padding:20px}.flight-header{flex-direction:column;align-items:flex-start;gap:12px}.flight-route{gap:8px}.airport{font-size:1.3rem;padding:6px 10px}.route-arrow{font-size:1.3rem}.flight-detail{flex-direction:column;align-items:flex-start;gap:4px}.detail-value{text-align:left;max-width:100%}.flight-actions{justify-content:stretch}.load-flight-button{flex:1;justify-content:center;padding:14px 20px}}@media (max-width: 480px){.flights-page{padding:10px}.flights-header h1{font-size:1.8rem}.flight-card{padding:16px}.airport{font-size:1.2rem;padding:5px 8px}.flights-empty{padding:60px 16px}.empty-icon{font-size:3rem}}body:has(.about-page){display:block!important;place-items:initial!important;width:100%!important;margin:0!important;padding:0!important;height:auto!important;min-height:100vh!important;overflow-y:auto!important}html,body{width:100%;margin:0;padding:0;height:auto;overflow-y:auto}#root{width:100%;margin:0;padding:0;height:auto;min-height:100vh}.about-page{width:100vw;min-height:100vh;background:#0b0f14;color:#e5e7eb;background-image:url(/hurricane_screenshot.png);background-size:cover;background-position:center;background-attachment:scroll;background-repeat:no-repeat;margin:0;padding:0;overflow-x:hidden;position:relative;height:auto}.about-page-overlay{position:absolute;inset:0;background:#000000a6;pointer-events:none;z-index:1;height:100%}.about-page-nav{position:fixed;top:0;left:0;right:0;z-index:20;background:#0b0f14;border-bottom:1px solid #111827;width:100%}.about-page-nav-content{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between}.about-page-nav-home{color:#e5e7eb;text-decoration:none;font-size:14px;background:#111827;border:1px solid #1f2937;padding:6px 10px;border-radius:8px}.about-page-nav-logo{height:36px}.about-page-nav-spacer{width:64px}.about-page-content{max-width:1000px;margin:0 auto;padding:120px 20px;position:relative;z-index:10}.about-page-header{text-align:center;margin-bottom:48px}.about-page-header-logo{height:64px;margin-bottom:16px}.about-page-title{margin:0 0 12px;font-size:42px;font-weight:700}.about-page-subtitle{margin:0;color:#9ca3af;font-size:18px;line-height:1.6}.about-page-sections{display:grid;gap:32px}.about-page-section{background:#0f172ad9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px}.about-page-section-title{font-size:28px;font-weight:600;margin-bottom:20px;color:#f8fafc}.about-page-section-content{color:#cbd5e1;font-size:16px;line-height:1.7;display:grid;gap:16px}.about-page-section-content p{margin:0}.about-page-section-content strong{color:#f8fafc}.about-page-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.about-page-feature h3{font-size:18px;font-weight:600;margin-bottom:8px}.about-page-feature p{color:#cbd5e1;margin:0;font-size:15px;line-height:1.6}.about-page-feature-pilot{color:#60a5fa}.about-page-feature-tech{color:#34d399}.about-page-feature-ai{color:#f59e0b}.about-page-contact{text-align:center}.about-page-contact-title{font-size:28px;font-weight:600;margin-bottom:16px;color:#f8fafc}.about-page-contact-subtitle{color:#cbd5e1;margin-bottom:24px;font-size:16px}.about-page-contact-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.about-page-contact-button{padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:600;transition:all .2s}.about-page-contact-button-primary{background:#3b82f6;color:#fff;border:1px solid #2563eb}.about-page-contact-button-primary:hover{background:#2563eb}.about-page-contact-button-secondary{background:#111827;color:#e5e7eb;border:1px solid #1f2937}.about-page-footer{position:relative;z-index:10}@media (max-width: 768px){.about-page-title{font-size:32px}.about-page-subtitle{font-size:16px}.about-page-section{padding:24px}.about-page-section-title{font-size:24px}.about-page-content{padding:32px 16px 96px}}body:not(.debug-mode) #root{max-width:none;margin:0;padding:0;text-align:initial}body.debug-mode #root{width:100%;height:100vh;margin:0;padding:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.map-container .sigmet-info-panel:not(.unified-right-panel) .panel-header{background:linear-gradient(135deg,#37474f,#455a64)!important;border-bottom:1px solid #546e7a!important;padding:16px 20px!important;border-radius:12px 12px 0 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;position:sticky!important;top:0!important;z-index:1!important}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #1e3a8a;--secondary-color: #3b82f6;--accent-color: #f59e0b;--success-color: #10b981;--text-primary: #1f2937;--text-secondary: #6b7280;--text-light: #ffffff;--background-light: #f8fafc;--background-dark: #0f172a;--border-color: #e5e7eb;--font-primary: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--border-radius: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px}html{scroll-behavior:smooth}body{font-family:var(--font-primary);color:var(--text-primary);line-height:1.6;background:var(--background-dark);overflow:hidden;position:fixed;width:100%;height:100%}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.5rem}h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:1.5rem}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{display:inline-block;padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius);font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease;font-size:1rem}.btn-primary{background:var(--primary-color);color:var(--text-light)}.btn-primary:hover{background:#1e40af;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-secondary:hover{background:var(--primary-color);color:var(--text-light);transform:translateY(-1px)}.btn-accent{background:var(--accent-color);color:var(--text-light)}.btn-accent:hover{background:#d97706;transform:translateY(-1px);box-shadow:var(--shadow-md)}.navbar{position:fixed;top:0;width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;border-bottom:1px solid var(--border-color)}.nav-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center;height:4rem}.nav-brand{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.25rem;color:var(--primary-color)}.brand-icon{font-size:1.5rem}.nav-menu{display:flex}.nav-link{text-decoration:none;color:var(--text-primary);font-weight:500;transition:color .2s ease}.nav-link:hover{color:var(--primary-color)}.hero{margin-top:4rem;min-height:100vh;display:flex;align-items:center;background:linear-gradient(135deg,var(--background-light) 0%,#e0f2fe 100%);padding:2rem 0}.hero-content{max-width:1200px;margin:0 auto;padding:0 1rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-title{font-size:3.5rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.7}.hero-actions{display:flex;gap:1rem}.hero-visual{display:flex;justify-content:center;align-items:center}.demo-preview{width:400px;height:300px;background:var(--background-dark);border-radius:var(--border-radius-xl);position:relative;overflow:hidden;box-shadow:var(--shadow-xl)}.features{padding:6rem 0;background:var(--text-light)}.section-title{text-align:center;color:var(--primary-color);margin-bottom:3rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.feature-card{text-align:center;padding:2rem;border-radius:var(--border-radius-lg);background:var(--background-light);border:1px solid var(--border-color);transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{color:var(--primary-color);margin-bottom:1rem}.feature-card p{color:var(--text-secondary)}.demo-section{padding:6rem 0;background:var(--background-light)}.demo-description{text-align:center;font-size:1.125rem;color:var(--text-secondary);margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.demo-controls{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:.5rem;background:var(--text-light);padding:.75rem 1rem;border-radius:var(--border-radius);border:1px solid var(--border-color)}.control-group label{font-weight:500;color:var(--text-primary)}.control-group select,.control-group input[type=range]{border:1px solid var(--border-color);border-radius:var(--border-radius);padding:.25rem .5rem}#altitudeValue{font-family:var(--font-mono);background:var(--primary-color);color:var(--text-light);padding:.25rem .5rem;border-radius:var(--border-radius);font-size:.875rem}html,body,#root{height:100%;width:100%;margin:0;padding:0;overflow:hidden;position:fixed;inset:0}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;position:fixed;inset:0;background:var(--background-dark)}.app-header{flex:0 0 auto;height:60px;background:var(--background-dark);z-index:1000;box-shadow:0 2px 4px #0000001a}.app-nav{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:100%;margin:0 auto}.nav-left{display:flex;align-items:center}.nav-center{flex:1;display:flex;justify-content:center;align-items:center;padding:0 16px;min-width:0}.nav-right{display:flex;align-items:center}.nav-menu-button{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid rgba(255,255,255,.2);cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;width:44px;height:44px;box-shadow:0 2px 4px #0000001a;gap:3px}.nav-menu-button:hover{background:linear-gradient(135deg,#fff,#f1f5f9);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.nav-menu-button:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.hamburger-line{width:18px;height:2px;background:#334155;border-radius:1px;transition:all .2s ease}.app-logo{height:28px;width:28px;object-fit:contain}.nav-center{flex:1;display:flex;justify-content:center;align-items:center}.nav-right{display:flex;align-items:center;gap:12px;max-width:400px;width:320px}.nav-menu{position:fixed;top:0;left:-300px;width:300px;height:100%;max-height:100vh;background:#f5f5f5;border-right:1px solid var(--border-color);z-index:5000;transition:left .3s ease-in-out;box-shadow:2px 0 8px #00000026;display:flex;flex-direction:column}.nav-menu-open{left:0;background:#fff}.nav-menu-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--background-dark)}.nav-menu-header h3{margin:0;color:var(--text-primary);font-size:1.1rem;font-weight:600}.nav-menu-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;font-size:1.2rem;transition:all .2s}.nav-menu-close:hover{background:#ffffff1a;color:var(--text-primary)}.nav-menu-content{flex:1;padding:20px;overflow-y:auto;background:var(--background-darker)}.nav-menu-section{margin-bottom:24px}.nav-menu-section h4{margin:0 0 12px;color:var(--text-secondary);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.nav-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;color:var(--text-primary);cursor:pointer;border-radius:8px;font-size:.95rem;text-align:left;transition:all .2s}.nav-menu-item:hover{background:#ffffff0d;color:var(--secondary-color)}.nav-menu-item.active{background:var(--primary)}.nav-menu-item.active:hover{background:var(--primary-hover);color:#fff}.nav-menu-icon{font-size:1.1rem;width:20px;text-align:center}.logout-item:hover{background:#ef44441a;color:#ef4444}.nav-menu-footer{flex:0 0 auto;border-top:1px solid var(--border-color);padding:20px;background:var(--background-dark);min-height:88px;display:flex;align-items:center}.nav-menu-logout{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 20px;background:#fff;border:1px solid #dc2626;color:#dc2626;cursor:pointer;border-radius:8px;font-size:.95rem;font-weight:600;text-align:center;transition:all .2s;box-shadow:0 2px 4px #0000001a;min-height:48px;flex-shrink:0}.nav-menu-logout:hover{background:#fef2f2;color:#b91c1c;border-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.nav-menu-logout:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a;background:#fee2e2}.nav-menu-logout-icon{font-size:1.1rem}.nav-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:1900}.app-body{flex:1 1 auto;display:flex;overflow:hidden;min-height:0;width:100%;position:relative;background:var(--background-dark)}.main-container{flex:1 1 auto;display:flex;overflow:hidden;min-height:0;width:100%;height:100%;background:var(--background-dark)}.map-container{position:relative;flex:1 1 auto;width:100%;height:100%;overflow:hidden;background:var(--background-dark)}.app-footer{flex:0 0 auto;z-index:1000;width:100%}.map-container .mapboxgl-ctrl-attrib{display:none!important}.map-container .mapboxgl-control-container{position:absolute;z-index:10}.map-container .mapboxgl-ctrl-bottom-left,.map-container .mapboxgl-ctrl-bottom-right{position:absolute!important;bottom:10px!important;right:10px!important;left:auto!important;z-index:15}.map{width:100%;height:100%}.map-overlay{position:absolute;top:1rem;right:1rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem;border-radius:var(--border-radius);border:1px solid var(--border-color);min-width:200px}.overlay-item{display:flex;justify-content:space-between;margin-bottom:.5rem}.overlay-item:last-child{margin-bottom:0}.overlay-label{font-weight:500;color:var(--text-secondary)}.overlay-value{font-family:var(--font-mono);font-weight:600;color:var(--primary-color)}.contact{padding:6rem 0;background:var(--text-light)}.contact-description{text-align:center;font-size:1.125rem;color:var(--text-secondary);margin-bottom:3rem}.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:800px;margin:0 auto}.contact-item{text-align:center;padding:1.5rem;background:var(--background-light);border-radius:var(--border-radius-lg);border:1px solid var(--border-color)}.footer{background:var(--background-dark);color:var(--text-light);padding:2rem 0;text-align:center}@media (max-width: 768px){.hero-content{grid-template-columns:1fr;text-align:center}.hero-title{font-size:2.5rem}.demo-preview{width:100%;max-width:350px}.demo-controls{flex-direction:column;align-items:center}.features-grid{grid-template-columns:1fr}.map-overlay{position:relative;top:auto;right:auto;margin-top:1rem}}.loading{opacity:.7;pointer-events:none}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mapboxgl-popup-content{border-radius:var(--border-radius);box-shadow:var(--shadow-lg)}.mapboxgl-ctrl-group{border-radius:var(--border-radius);box-shadow:var(--shadow-md)}.deck-tooltip{background:#000c!important;color:#fff!important;border-radius:var(--border-radius)!important;padding:8px 12px!important;font-family:var(--font-primary)!important;font-size:14px!important}.deck-canvas{position:absolute!important;top:0;left:0;pointer-events:none;z-index:1}.debug-panel{position:absolute;top:1rem;left:1rem;width:300px;max-height:calc(100vh - 2rem);background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-xl);z-index:1000;overflow-y:auto;transform:translate(-320px);transition:transform .3s ease}.debug-panel.active{transform:translate(0)}.debug-header{padding:1rem;border-bottom:1px solid var(--border-color);background:var(--primary-color);color:var(--text-light);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0}.debug-header h3{margin:0 0 .5rem;font-size:1rem}.debug-content{padding:1rem;max-height:calc(100vh - 120px);overflow-y:auto}.debug-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.debug-section:last-child{border-bottom:none;margin-bottom:0}.debug-section h4{margin:0 0 .75rem;font-size:.9rem;color:var(--primary-color);text-transform:uppercase;letter-spacing:.5px}.control-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.5rem}.control-row label{font-size:.8rem;font-weight:500;color:var(--text-primary);min-width:80px;flex-shrink:0}.control-row input[type=number]{flex:1;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.8rem;font-family:var(--font-mono);color:var(--text-color)}.control-row input[type=range]{flex:1;margin:0 .5rem}.control-row span{font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--primary-color);background:var(--background-light);padding:.2rem .4rem;border-radius:var(--border-radius);min-width:50px;text-align:center}.button-row{display:flex;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.btn-small{padding:.4rem .8rem;font-size:.75rem;flex:1;min-width:0}.status-display{font-family:var(--font-mono);font-size:.8rem;padding:.5rem;background:var(--background-light);border-radius:var(--border-radius);border:1px solid var(--border-color);margin-bottom:.5rem}.api-status,.view-info,.layer-info,.point-info{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.api-status{color:var(--success-color)}.debug-toggle{position:absolute;top:1rem;left:1rem;z-index:1001;background:var(--primary-color);color:var(--text-light);border:none;padding:.75rem;border-radius:var(--border-radius);cursor:pointer;box-shadow:var(--shadow-md);transition:all .2s ease}.debug-toggle:hover{background:#1e40af;transform:translateY(-1px);box-shadow:var(--shadow-lg)}body.debug-active .debug-panel{transform:translate(0)}body.debug-active .map-container{margin-left:320px;width:calc(100% - 320px)}input[type=range]{-webkit-appearance:none;appearance:none;height:4px;background:var(--border-color);border-radius:2px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--primary-color);border-radius:50%;cursor:pointer}input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--primary-color);border-radius:50%;cursor:pointer;border:none}.spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite;margin-right:.5rem}@media (max-width: 768px){.debug-panel{width:280px;transform:translate(-300px)}body.debug-active .map-container{margin-left:0;width:100%}.debug-panel.active{transform:translate(0)}}.error{color:#e74c3c!important}.success{color:var(--success-color)!important}.warning{color:var(--accent-color)!important}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast{transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-visible{transform:translate(0)!important;opacity:1!important}.toast-exiting{transform:translate(100%)!important;opacity:0!important}@media (max-width: 768px){.toast{min-width:280px;max-width:calc(100vw - 40px)}}.weather-loading-overlay{position:absolute;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;border-radius:var(--border-radius)}.weather-loading-spinner{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);border:1px solid rgba(255,255,255,.2)}.weather-loading-spinner .spinner{width:40px;height:40px;border:3px solid rgba(59,130,246,.2);border-radius:50%;border-top-color:var(--secondary-color);animation:spin 1s ease-in-out infinite}.weather-loading-spinner .loading-text{font-family:var(--font-primary);font-size:14px;font-weight:500;color:var(--text-primary);text-align:center;letter-spacing:.025em}@media (max-width: 768px){.weather-loading-spinner{padding:20px;gap:12px}.weather-loading-spinner .spinner{width:32px;height:32px;border-width:2px}.weather-loading-spinner .loading-text{font-size:13px}}.detailed-briefing{line-height:1.7;color:#eceff1;background:transparent;padding:0;border:none}.briefing-main-header{font-size:1.2em;font-weight:700;color:#2196f3;margin:20px 0 12px;padding:0 0 4px;border:none;text-transform:none;letter-spacing:normal;background:none;border-bottom:1px solid rgba(33,150,243,.3)}.briefing-main-header:first-child{margin-top:0}.briefing-section-header{font-size:1.05em;font-weight:600;color:#90a4ae;margin:16px 0 8px;padding:0;background:none;border:none;position:static}.briefing-section-header:before{display:none}.briefing-paragraph{margin:16px 0;font-size:1em;text-align:left;color:#eceff1;line-height:1.7}.briefing-paragraph strong{color:#eceff1;font-weight:700;background:none;padding:0}.briefing-list{margin:12px 0;padding-left:20px;list-style:disc;color:#cfd8dc}.briefing-list li{margin:6px 0;font-size:1em;padding:0;text-align:left;line-height:1.6;background:none;border:none;position:static}.briefing-list li:before{display:none}.briefing-list li strong{color:#eceff1;font-weight:700;background:none;padding:0}.briefing-list li p{margin:6px 0;display:inline}@media (max-width: 768px){.detailed-briefing{font-size:.9em}.briefing-main-header{font-size:1.2em;margin:16px 0 12px}.briefing-section-header{font-size:1.05em;margin:14px 0 8px}.briefing-list{padding-left:16px}.briefing-list li{padding-left:12px}}.data-breakdown-summary{background:linear-gradient(135deg,#1565c0,#1976d2);border:2px solid #2196F3;border-radius:12px;padding:20px;margin:20px 0;text-align:center;box-shadow:0 4px 12px #2196f340}.total-data-points{display:flex;justify-content:center;align-items:center;gap:16px;font-size:1.2em}.data-label{color:#eceff1;font-weight:600;font-size:1.1em}.data-value{color:#00c853;font-weight:700;font-size:1.4em;text-shadow:0 0 8px rgba(0,200,83,.4)}.data-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:24px}.breakdown-category{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:6px;padding:16px;transition:none;box-shadow:none}.breakdown-category:hover{background:#ffffff08;border-color:#ffffff14;transform:none;box-shadow:none}.breakdown-category h5{margin:0 0 12px;color:#90a4ae;font-size:1em;font-weight:600;border-bottom:1px solid rgba(144,164,174,.2);padding-bottom:6px;text-transform:none;letter-spacing:normal}.breakdown-stats{display:flex;flex-direction:column;gap:12px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.05);transition:none}.stat-item:hover{background:none}.stat-item:last-child{border-bottom:none}.stat-item span:first-child{color:#cfd8dc;font-size:.95em;font-weight:500}.stat-item span:last-child{color:#eceff1;font-weight:700;font-size:.95em}@media (max-width: 768px){.detailed-briefing{padding:16px;font-size:.95em}.briefing-main-header{font-size:1.25em;margin:20px 0 14px;padding-left:12px}.briefing-section-header{font-size:1.05em;margin:16px 0 10px;padding:6px 0 6px 16px}.briefing-list li{padding:6px 0 6px 20px;margin:10px 0}.data-breakdown-summary{padding:16px;margin:16px 0}.data-breakdown-grid{grid-template-columns:1fr;gap:16px;margin-top:20px}.breakdown-category{padding:16px}.total-data-points{flex-direction:column;gap:10px;font-size:1.1em}.data-label{font-size:1em}.data-value{font-size:1.3em}.stat-item{padding:6px 10px}.breakdown-category h5{font-size:1em;margin:0 0 12px}}.flight-analysis-panel:not(.unified-right-panel){background:linear-gradient(145deg,#1a1a1a,#0f0f0f);border:2px solid #333;border-radius:16px;box-shadow:0 8px 32px #0009;color:#f5f5f5;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;position:fixed;top:160px;right:20px;width:420px;max-height:calc(100vh - 180px);z-index:1000}.flight-analysis-panel .analysis-header{background:linear-gradient(135deg,#37474f,#455a64);border-bottom:1px solid #546e7a;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-radius:12px 12px 0 0}.flight-analysis-panel .header-left h3{margin:0 0 4px;color:#fff;font-size:1.2em;font-weight:600}.flight-analysis-panel .header-meta{display:flex;gap:16px;align-items:center}.flight-analysis-panel .data-points{color:#90a4ae;font-size:.85em;font-weight:500;padding:2px 8px;background:#90a4ae26;border-radius:4px}.flight-analysis-panel .timestamp{color:#b0bec5;font-size:.8em;font-weight:400}.flight-analysis-panel .header-right{display:flex;gap:16px;align-items:center}.risk-summary{display:flex;gap:8px;align-items:center}.risk-score{font-size:1.3em;font-weight:700;min-width:32px;text-align:center}.risk-level{padding:4px 10px;border-radius:6px;font-weight:600;font-size:.8em;text-transform:uppercase;letter-spacing:.5px;border:1px solid}.close-btn{background:#b0bec51a;border:1px solid #78909c;color:#90a4ae;padding:6px 10px;border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:1em;line-height:1}.close-btn:hover{background:#f4433626;border-color:#f44336;color:#f44336}.analysis-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center;background:#1a1a1a;color:#e0e0e0}.loading-spinner{width:48px;height:48px;border:4px solid rgba(100,181,246,.2);border-top:4px solid #64b5f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.analysis-loading span{font-size:1.1em;font-weight:600;color:#64b5f6;margin-bottom:8px}.analysis-loading small{color:#b0b0b0;font-size:.9em;line-height:1.4}.analysis-content{flex:1;overflow-y:auto;padding:24px;background:#1a1a1a}.analysis-section{margin-bottom:28px;padding:0;border:none;background:transparent}.analysis-section:last-child{margin-bottom:0}.analysis-section h4{margin:0 0 12px;color:#90a4ae;font-size:1.1em;font-weight:600;border-bottom:1px solid rgba(144,164,174,.2);padding-bottom:6px}.summary-text{color:#e8e8e8;line-height:1.7;font-size:1em;margin:0}.factor-list,.recommendation-list{list-style:disc;padding-left:20px;margin:8px 0;color:#cfd8dc}.factor-list li,.recommendation-item{background:none;border:none;padding:0;margin:4px 0;border-radius:0;color:#cfd8dc;line-height:1.6}.recommendation-item{background:none;border:none}.risk-tag{display:inline-block;background:#ffb74d33;color:#ffb74d;padding:4px 8px;border-radius:4px;font-size:.8em;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-left:8px}@media (max-width: 768px){.flight-plan-panel{top:80px;z-index:1002;left:max(5vw,64px);right:5vw;transform:none;width:auto}}.flight-plan-header{background:linear-gradient(135deg,#37474f,#455a64);border-bottom:1px solid #546e7a;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;border-radius:12px 12px 0 0;flex-wrap:nowrap;gap:8px;min-height:44px;overflow:hidden}.flight-plan-header .header-left h3{margin:0;color:#fff;font-size:1.2em;font-weight:600}.flight-plan-header .header-left{display:flex;align-items:center;gap:6px;flex-shrink:1;min-width:0}.flight-plan-header .header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:1;min-width:0}.minimize-btn{background:#1f2937cc;border:1px solid rgba(75,85,99,.6);color:#e5e7eb;width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s ease}.minimize-btn:hover{background:#1f2937;border-color:#4b5563cc;color:#f3f4f6}.map-container .flight-plan-panel:not(.unified-right-panel) .flight-actions{display:flex;gap:8px;align-items:center}.analyze-btn-primary{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.85em;display:flex;align-items:center;gap:6px}.analyze-btn-primary:hover{background:#ffffff26;border-color:#fff6;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.analyze-btn-primary:disabled{background:#ffffff0d;border-color:#ffffff1a;color:#90a4ae;cursor:not-allowed;transform:none;box-shadow:none}.analyze-btn-primary .btn-icon{font-size:1em;line-height:1}.analyze-btn-primary .btn-label{font-size:.85em;font-weight:600;line-height:1}.add-waypoint-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.85em;display:flex;align-items:center;gap:6px}.add-waypoint-btn:hover{background:#ffffff26;border-color:#fff6;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.add-waypoint-btn:disabled{background:#ffffff0d;border-color:#ffffff1a;color:#90a4ae;cursor:not-allowed;transform:none;box-shadow:none}.add-waypoint-btn .btn-icon{font-size:1em;line-height:1}.add-waypoint-btn .btn-label{font-size:.85em;font-weight:600;line-height:1}.map-container .flight-plan-panel .empty-route-state{display:flex;align-items:center;justify-content:center;width:100%;min-height:20px;padding:60px 20px;background:linear-gradient(135deg,#3b82f60d,#10b9810d);border:2px dashed rgba(75,85,99,.3);border-radius:12px;position:relative;overflow:hidden}.map-container .flight-plan-panel .empty-route-state:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.02),transparent);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.empty-state-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:450px;z-index:1}.empty-state-icon{font-size:4em;margin-bottom:24px;animation:float 6s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state-message h4{color:#fff;font-size:1.4em;font-weight:700;margin:0 0 12px;background:linear-gradient(135deg,#fff,#e2e8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.empty-state-message p{color:#cbd5e1;font-size:.9em;margin:0 0 24px;opacity:.8}.empty-state-actions{display:flex;flex-direction:column;gap:12px;margin-top:8px}.action-hint{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:.8em;color:#e2e8f0;transition:all .3s ease}.action-hint:hover{background:#ffffff14;border-color:#3b82f64d;transform:translateY(-1px)}.hint-icon{font-size:1.2em;flex-shrink:0}.action-hint span:last-child{flex:1;text-align:left}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel){background:linear-gradient(145deg,#1a1a1a,#0f0f0f)!important;border:2px solid #333!important;border-radius:16px!important;box-shadow:0 8px 32px #0009!important;color:#f5f5f5!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;position:fixed!important;top:160px!important;right:20px!important;width:380px!important;max-height:calc(100vh - 180px)!important;z-index:1000!important;overflow:hidden!important;transition:all .3s ease!important}.map-container .flight-plan-panel .waypoint-info-panel.full-right:not(.unified-right-panel){width:420px!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .panel-header{background:linear-gradient(135deg,#37474f,#455a64)!important;border-bottom:1px solid #546e7a!important;padding:16px 20px!important;border-radius:12px 12px 0 0!important;display:flex!important;justify-content:space-between!important;align-items:center!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .waypoint-title h3{color:#fff!important;font-size:1.2em!important;font-weight:600!important;margin:0!important;display:flex!important;align-items:center!important;gap:8px!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .waypoint-icon{font-size:1.1em!important;flex-shrink:0!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .waypoint-name{color:#2196f3!important;font-weight:700!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .waypoint-type{color:#90a4ae!important;font-size:.8em!important;font-weight:400!important;margin:4px 0 0!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .close-btn{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;color:#eceff1!important;border-radius:6px!important;transition:all .2s ease!important;width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .close-btn:hover{background:#fff3!important;border-color:#ffffff4d!important;color:#fff!important;transform:scale(1.05)!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .altitude-section{background:#2196f31a!important;border-bottom:1px solid rgba(255,255,255,.1)!important;padding:16px 20px!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .altitude-control label{color:#eceff1!important;font-size:.9em!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.5px!important;margin-bottom:8px!important;display:block!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .altitude-input-group{display:flex!important;align-items:center!important;gap:8px!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .altitude-input{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:6px!important;color:#fff!important;padding:8px 12px!important;font-size:.9em!important;font-weight:500!important;width:120px!important;transition:all .2s ease!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .altitude-input:focus{background:#ffffff26!important;border-color:#2196f3!important;outline:none!important;box-shadow:0 0 0 2px #2196f333!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .altitude-unit{color:#90a4ae!important;font-size:.85em!important;font-weight:500!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .tab-nav{background:#ffffff0d!important;border-bottom:1px solid rgba(255,255,255,.1)!important;display:flex!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .tab{flex:1!important;padding:12px 16px!important;background:transparent!important;border:none!important;color:#90a4ae!important;cursor:pointer!important;font-size:.8em!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.5px!important;transition:all .2s ease!important;position:relative!important;border-bottom:2px solid transparent!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .tab:hover{background:#ffffff14!important;color:#cfd8dc!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .tab.active{background:#2196f326!important;color:#2196f3!important;border-bottom-color:#2196f3!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .tab-content{max-height:calc(100vh - 420px)!important;overflow-y:auto!important;padding:0!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .info-tab,.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .navigation-tab,.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .weather-tab{padding:20px!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .info-item{margin-bottom:12px!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .info-item .label{color:#90a4ae!important;font-size:.8em!important;font-weight:500!important;display:block!important;margin-bottom:2px!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .info-item .value{color:#eceff1!important;font-size:.85em!important;font-weight:400!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .info-item .value.coordinate{color:#2196f3!important;font-family:var(--font-mono)!important;font-size:.8em!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .navigation-placeholder,.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .weather-placeholder{text-align:center!important;padding:30px 20px!important;background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:8px!important;margin:0!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .placeholder-icon{font-size:2em!important;margin-bottom:12px!important;opacity:.6!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .placeholder-title{color:#eceff1!important;font-size:.9em!important;font-weight:600!important;margin-bottom:6px!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .placeholder-text{color:#90a4ae!important;font-size:.8em!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .loading-content{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:60px 20px!important;color:#90a4ae!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .loading-spinner{width:24px!important;height:24px!important;border:2px solid rgba(33,150,243,.3)!important;border-top:2px solid #2196F3!important;border-radius:50%!important;animation:spin 1s linear infinite!important;margin-bottom:12px!important}.map-container .flight-plan-panel .waypoint-info-panel:not(.unified-right-panel) .no-waypoint{display:flex!important;align-items:center!important;justify-content:center!important;padding:60px 20px!important;color:#90a4ae!important}@media (max-width: 768px){.map-container .flight-plan-panel .waypoint-info-panel{width:90vw!important;right:5vw!important;top:160px!important}.map-container .flight-plan-panel .waypoint-info-panel.full-right{width:90vw!important}}.airport-search{position:relative;width:100%;max-width:400px;z-index:1003}.search-input-container{position:relative;display:flex;align-items:center;background:#1e293bf2;border:2px solid rgba(75,85,99,.4);border-radius:12px;padding:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease;overflow:hidden}.search-input-container:focus-within{border-color:#3b82f699;box-shadow:0 0 0 3px #3b82f61a;background:#1e293b}.search-icon{display:flex;align-items:center;justify-content:center;padding:14px 16px;font-size:1.2em;color:#64748b;background:#ffffff0d;border-right:1px solid rgba(75,85,99,.3)}.search-input{flex:1;background:transparent;border:none;outline:none;padding:14px 16px;color:#fff;font-size:.95em;font-weight:500;min-width:0}.search-input::placeholder{color:#94a3b8;opacity:.8}.clear-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff1a;border:none;color:#94a3b8;font-size:.9em;cursor:pointer;border-radius:8px;margin-right:6px;transition:all .2s ease}.clear-button:hover{background:#ef444433;color:#f87171;transform:scale(1.05)}.search-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1200;background:#1e293bfa;border:2px solid rgba(75,85,99,.4);border-top:none;border-radius:0 0 12px 12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-height:400px;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.search-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(75,85,99,.2);cursor:pointer;transition:all .2s ease;position:relative}.search-item:last-child{border-bottom:none}.search-item:hover,.search-item.selected{background:#2196f31a;border-left:3px solid #2196F3;padding-left:13px}.search-item.selected{background:#3b82f626}.airport-info{flex:1;cursor:pointer}.airport-main{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.airport-main strong{color:#fff;font-size:1em;font-weight:700;letter-spacing:.5px}.airport-main .iata{color:#90a4ae;font-size:.85em;font-weight:600}.airport-main .name{color:#e2e8f0;font-size:.9em;font-weight:500}.airport-location{color:#94a3b8;font-size:.8em;margin-bottom:2px}.airport-coords{color:#64748b;font-size:.75em;font-family:var(--font-mono)}.add-to-route-btn{display:flex;align-items:center;justify-content:center;height:36px;background:#2196f326;border:1px solid rgba(33,150,243,.3);border-radius:8px;color:#2196f3;font-size:.9em;cursor:pointer;transition:all .2s ease;flex-shrink:0}.add-to-route-btn:hover{background:#2196f340;border-color:#2196f380;color:#fff;transform:scale(1.05)}.search-item.loading{pointer-events:none;color:#94a3b8}.loading-spinner{width:16px;height:16px;border:2px solid rgba(59,130,246,.3);border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-item.no-results{pointer-events:none;flex-direction:column;align-items:flex-start;gap:4px;color:#94a3b8}.search-item.no-results small{color:#64748b;font-size:.75em}.search-item.more-results{pointer-events:none;justify-content:center;background:#ffffff05;color:#64748b;font-style:italic}@media (max-width: 768px){html,body,#root{overflow:hidden!important;position:fixed!important;width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100vh!important}.app-container{overflow:hidden!important;width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important}.app-body,.main-container{overflow:hidden!important;width:100%!important;max-width:100vw!important}.app-nav{padding:0 12px;width:100%;max-width:100vw;box-sizing:border-box}.nav-right{width:280px;max-width:280px;overflow:visible;position:relative;z-index:1300}.nav-menu{width:280px;max-width:280px;height:100dvh;max-height:100dvh;overflow:hidden;top:0;bottom:0}.nav-menu-content{overflow-y:auto;overflow-x:hidden;background:var(--background-darker)}.nav-menu-footer{min-height:80px;padding:16px;flex-shrink:0}.nav-menu-logout{min-height:44px;font-size:.9rem;padding:12px 16px}.airport-search{width:100%;max-width:100%;overflow:visible;position:relative;z-index:1300}.search-dropdown{max-height:300px;position:fixed;left:12px;right:12px;top:60px;z-index:1300;width:auto}.airport-main{flex-direction:column;align-items:flex-start;gap:4px}}@media (max-width: 480px){.nav-right{width:calc(100vw - 100px);max-width:calc(100vw - 100px);overflow:visible;position:relative;z-index:1300}.app-nav{padding:0 8px}.nav-menu{width:260px;max-width:80vw;height:100dvh;max-height:100dvh;overflow:hidden;top:0;bottom:0}.nav-menu-content{background:var(--background-darker)}.nav-menu-footer{min-height:76px;padding:14px}.nav-menu-logout{min-height:42px;font-size:.85rem;padding:10px 14px}.search-dropdown{position:fixed;left:8px;right:8px;top:60px;z-index:1300;width:auto;max-height:250px;z-index:1000}}.waypoint-actions{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:16px;padding:16px;border-top:1px solid rgba(255,255,255,.1)}.waypoint-action-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;padding:12px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9em;display:flex;align-items:center;gap:8px;min-width:140px;justify-content:center}.waypoint-action-btn:hover{background:#ffffff26;border-color:#fff6;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.waypoint-action-btn:disabled{background:#ffffff0d;border-color:#ffffff1a;color:#90a4ae;cursor:not-allowed;transform:none;box-shadow:none}.waypoint-action-btn .btn-icon{font-size:1.1em;line-height:1}.waypoint-action-btn .btn-label{font-size:.9em;font-weight:600;line-height:1}.header-controls{display:flex;gap:16px;align-items:center}.flight-times,.aircraft-controls{display:flex;flex-wrap:nowrap;gap:5px;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch}.time-input,.aircraft-input{display:flex;flex-direction:column;gap:2px}.aircraft-input{flex:0 0 auto}.time-input label,.aircraft-input label{font-size:.8em;color:#90a4ae;font-weight:500}.time-input input,.aircraft-input input,.aircraft-input select{background:#ffffff1a;border:1px solid #546e7a;border-radius:4px;padding:6px 8px;color:#eceff1;font-size:.9em;min-width:30px}.compact-date-input{width:78px;min-width:78px;max-width:90px;text-align:left}.compact-time-input{width:64px;min-width:64px;max-width:72px;text-align:left}.time-input input:focus,.aircraft-input input:focus,.aircraft-input select:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f333}.flight-content{padding:5px;background:#ffffff05}.flight-route{display:flex;align-items:center;gap:8px;padding:8px 0;overflow-x:auto}.waypoint{background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:12px 16px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-width:140px;max-width:180px;flex-shrink:0}.waypoint:hover{background:#ffffff1f;border-color:#ffffff4d}.waypoint.departure,.waypoint.arrival,.waypoint.waypoint{background:#ffffff14!important;border:1px solid rgba(255,255,255,.2)!important}.waypoint.departure:hover,.waypoint.arrival:hover,.waypoint.waypoint:hover{background:#ffffff1f!important;border-color:#ffffff4d!important}.waypoint-main{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;text-align:center}.waypoint-icon{font-size:1.2em;min-width:24px;text-align:center}.map-container .flight-plan-panel .waypoint-info{display:flex;flex-direction:column;gap:2px;align-items:center;text-align:center}.map-container .flight-plan-panel .waypoint-name{color:#fff;font-weight:600;font-size:1em}.waypoint-coords{color:#90a4ae;font-size:.85em;font-family:Monaco,Menlo,Consolas,monospace}.waypoint-altitude{color:#90a4ae;font-size:.8em}.waypoint-controls{display:flex;gap:4px;opacity:1;margin-top:6px;justify-content:center}.waypoint-btn{background:#ffffff1f;border:1px solid rgba(255,255,255,.3);color:#eceff1;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:.8em;transition:all .2s ease}.waypoint-btn:hover:not(:disabled){background:#2196f333;border-color:#2196f3;color:#2196f3}.waypoint-btn:disabled{opacity:.3;cursor:not-allowed}.route-segment{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;min-width:80px;flex-shrink:0}.segment-arrow{color:#546e7a;font-size:.9em}.segment-metrics{display:flex;flex-direction:column;gap:2px;align-items:center;text-align:center}.metric{display:flex;flex-direction:row;align-items:center;gap:4px;font-size:.8em}.metric-value{color:#eceff1!important;font-weight:500;font-size:.85em}.metric-value.risk-score{color:#eceff1!important}.trip-summary-simple{padding:12px 0 8px;margin-top:8px;border-top:1px solid rgba(75,85,99,.3);text-align:center}.summary-label{color:#fff;font-size:.9em;font-weight:600;margin-bottom:6px}.summary-info{color:#b0bec5;font-size:.85em;line-height:1.4}.summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(75,85,99,.3)}.summary-title{color:#fff;font-size:.9em;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.aircraft-info{color:#90a4ae;font-size:.8em;font-weight:400;font-style:italic}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;align-items:center}.summary-stat{display:flex;flex-direction:column;gap:2px;text-align:center;min-width:0}.stat-label{color:#90a4ae;font-size:.65em;font-weight:500;text-transform:uppercase;letter-spacing:.3px;line-height:1}.stat-value{color:#fff;font-weight:600;font-size:.8em;font-family:Monaco,Menlo,Consolas,monospace;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.flight-plan-panel{border-radius:12px;max-height:95vh;z-index:1002}.flight-plan-header{padding:12px 16px;gap:12px;align-items:stretch}.header-controls{flex-direction:row;gap:12px;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch}.flight-times,.aircraft-controls{justify-content:flex-start}.summary-grid{grid-template-columns:repeat(3,1fr);gap:16px}.waypoint-actions{flex-direction:column;gap:8px}.waypoint-action-btn{min-width:120px;padding:10px 16px;font-size:.85em}}@media (max-width: 768px){.flight-analysis-panel{border-radius:12px;max-height:95vh}.analysis-header{padding:12px 16px;flex-direction:column;gap:8px;align-items:stretch}.header-left h3{font-size:1.1em;margin-bottom:6px}.header-meta{gap:12px;flex-wrap:wrap}.header-right{justify-content:space-between;align-items:center}.risk-summary{gap:6px}.risk-score{font-size:1.2em}.data-points{font-size:.8em}.timestamp{font-size:.75em}.analysis-content{padding:20px}.analysis-section{margin-bottom:24px}.analysis-section h4{font-size:1.1em}}.weather-map-container{width:100%;height:100%;overflow:hidden;position:relative;background:var(--background-dark)}.weather-map-container .mapboxgl-map,.weather-map-container .mapboxgl-canvas-container,.weather-map-container .mapboxgl-canvas{border-radius:0!important;background:var(--background-dark)!important}.weather-map-container canvas,.weather-map-container .mapboxgl-map,.weather-map-container .mapboxgl-canvas-container,.weather-map-container .mapboxgl-canvas{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.weather-map-container,.weather-map-container *,.weather-map-container canvas,.mapboxgl-map,.mapboxgl-canvas-container,.mapboxgl-canvas{-webkit-touch-callout:none!important;-webkit-user-select:none!important;-khtml-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.weather-map-container canvas::-webkit-context-menu,.mapboxgl-canvas::-webkit-context-menu{display:none!important}.map-context-menu{background:linear-gradient(145deg,#2a2a2a,#1f1f1f);border:1px solid #444;border-radius:8px;box-shadow:0 4px 12px #0006;min-width:200px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;z-index:99999!important;pointer-events:auto!important;position:fixed!important}.user-info{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.user-email{color:var(--text-primary);font-weight:500}.logout-button{background:var(--background-darker);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;transition:all .2s}.logout-button:hover{background:var(--background-dark);border-color:var(--secondary-color);color:var(--secondary-color)}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;text-align:center}.auth-loading-logo{height:120px;width:auto;margin-bottom:2rem}.auth-loading-spinner{font-size:2rem;animation:spin 1s linear infinite;margin-bottom:1rem}.auth-loading p{font-size:1.125rem;margin:0;opacity:.8}.weather-player-panel{position:fixed;bottom:15px;left:50%;transform:translate(-50%);z-index:2000;background:#111827d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 8px 32px #0006;border:1px solid rgba(255,255,255,.12);overflow:hidden;min-width:300px}@media (max-width: 768px){.weather-player-panel{left:50%;transform:translate(-50%);width:calc(100vw - 24px);min-width:0;border-radius:10px;z-index:2000!important}.zoom-controls{display:none!important}.zoom-btn{width:36px;height:36px}.zoom-level{font-size:11px;padding:4px 6px}.map-container .sigmet-info-panel,.map-container .airport-info-panel,.map-container .flight-analysis-panel,.map-container .waypoint-analyzer-panel,.map-container .flight-plan-panel{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:30vh!important;width:100vw!important;height:100dvh!important;max-height:none!important;border-radius:16px 16px 0 0!important;transform:translateY(0)!important;animation:slideUpFromBottom .3s ease-out!important;z-index:5000!important}}.app-footer{position:fixed;bottom:0;left:0;right:0;width:100%;padding:12px 16px;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#111827bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.08);z-index:500;height:56px;flex:0 0 56px}.footer-nav{display:flex;gap:12px;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.footer-nav::-webkit-scrollbar{height:6px}.footer-nav::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:4px}.footer-link{color:#c2c8ce;text-decoration:none;font-size:12px;font-weight:600}.footer-link:hover{color:#fff;text-decoration:underline}.footer-sep{color:#6b7280;font-size:12px}.toggle-strip{display:flex;background:#ffffff0f;border-bottom:1px solid rgba(255,255,255,.12)}.layer-toggle{flex:1}.toggle-btn{width:100%;padding:12px 8px;background:transparent;border:none;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:all .2s ease;color:#cbd5e1;border-right:1px solid rgba(255,255,255,.08)}.toggle-btn:last-child{border-right:none}.toggle-btn:hover{background:#2196f31a;color:#2196f3}.toggle-btn.active{background:#2196f333;color:#fff}.toggle-btn.settings-btn.active{background:#5e6a7380}.toggle-icon{font-size:18px;line-height:1}.toggle-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.weather-player{padding:12px 16px}.player-controls{display:flex;align-items:center;gap:12px;margin-bottom:12px}.play-btn-wrapper{position:relative}.play-loading-shield{position:absolute;inset:0;background:#111827cc;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:all}.mini-spinner{width:22px;height:22px;border:3px solid rgba(100,181,246,.25);border-top:3px solid #64b5f6;border-radius:50%;animation:spin .9s linear infinite}.play-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(33,150,243,.4);background:linear-gradient(135deg,#2196f340,#2196f326);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.play-btn:hover{transform:scale(1.05);border-color:#2196f399}.play-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.play-triangle{width:0;height:0;border-left:12px solid white;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:3px}.pause-icon{display:flex;gap:3px;align-items:center;justify-content:center}.pause-bar{width:4px;height:16px;background:#fff;border-radius:1px}.time-display{font-family:var(--font-mono);font-size:12px;font-weight:600;color:#e2e8f0;min-width:80px;text-align:center}.time-slider-container{flex:1;position:relative}.time-slider{width:100%;height:6px;border-radius:3px;background:#ffffff1f;outline:none}.time-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#2196f3;cursor:pointer;border:2px solid white}.time-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#2196f3;cursor:pointer;border:2px solid white}.time-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:#94a3b8}.zoom-controls{position:absolute;bottom:20px;right:20px;z-index:1000;display:flex;flex-direction:row;gap:4px;background:#111827d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;padding:8px;box-shadow:0 4px 16px #0006;border:1px solid rgba(255,255,255,.12);align-items:center}.zoom-btn{width:40px;height:40px;border:none;background:#ffffffe6;color:#374151;font-size:16px;font-weight:700;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border:1px solid rgba(0,0,0,.1)}.zoom-btn:hover:not(:disabled){background:#f3f4f6;border-color:#2196f3;color:#2196f3;transform:scale(1.05)}.zoom-btn:active:not(:disabled){background:#e5e7eb;transform:scale(.95)}.zoom-btn:disabled{opacity:.5;cursor:not-allowed;background:#f9fafb;color:#9ca3af}.zoom-level{font-family:var(--font-mono);font-size:12px;font-weight:600;color:#e2e8f0;text-align:center;padding:6px 8px;background:#ffffff0f;border-radius:4px;border:1px solid rgba(255,255,255,.12);min-width:50px;margin-left:4px}.context-menu-header{background:#37474f;padding:12px 16px;border-bottom:1px solid #546e7a}.coordinate-row{display:flex;justify-content:space-between;align-items:center;font-size:.85em}.coordinate-row .label{color:#90a4ae;font-weight:500;min-width:30px}.coordinate-row .value{color:#eceff1;font-weight:600;font-family:Monaco,Menlo,Consolas,monospace;font-size:.9em}.context-menu-actions{padding:8px 0}.context-menu-item{width:100%;background:none;border:none;color:#eceff1;padding:12px 16px;text-align:left;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;gap:12px;font-size:.9em}.context-menu-item:hover{background:#2196f31a;color:#2196f3}.context-menu-item:active{background:#2196f333}.context-menu-item .icon{font-size:1.1em;min-width:16px;text-align:center}.context-menu-item .text{font-weight:500}@media (max-width: 768px){.map-context-menu{min-width:180px;font-size:.9em}.context-menu-header{padding:10px 14px}.context-menu-item{padding:10px 14px;gap:10px}.coordinate-row{font-size:.8em}}.map-container{position:relative}.map-container .sigmet-info-panel,.map-container .airport-info-panel,.map-container .waypoint-analyzer-panel,.map-container .flight-plan-panel:not(.unified-right-panel){background:linear-gradient(145deg,#1a1a1a,#0f0f0f)!important;border:2px solid #333!important;border-radius:16px!important;box-shadow:0 8px 32px #0009!important;color:#f5f5f5!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;position:absolute!important;top:10px!important;right:20px!important;width:450px!important;height:98%!important;z-index:5000!important;overflow:auto!important;transition:all .3s ease!important}.airport-info-panel .info-grid{display:grid!important;grid-template-columns:140px 1fr!important;gap:8px 12px!important;align-items:center!important}.airport-info-panel .map-container .flight-plan-panel .info-item{display:contents!important}.airport-info-panel .map-container .flight-plan-panel .info-item .label,.airport-info-panel .map-container .flight-plan-panel .info-item .value{text-align:left!important}.airport-info-panel:not(.unified-right-panel) .panel-header{position:sticky!important;top:0!important;z-index:1!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.airport-info-panel:not(.unified-right-panel) .panel-actions{display:flex!important;align-items:center!important;gap:8px!important;margin-left:auto!important}.airport-info-panel:not(.unified-right-panel) .close-btn{position:relative!important;right:0!important;top:0!important}.airport-info-panel:not(.unified-right-panel) .panel-header{background:linear-gradient(135deg,#37474f,#455a64)!important;border-bottom:1px solid #546e7a!important;padding:16px 20px!important;border-radius:12px 12px 0 0!important}.airport-info-panel .airport-title h3{color:#fff!important;display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important}.airport-info-panel .airport-title h3 .elevation,.airport-info-panel .airport-title h3 .mag-var{font-size:.75em!important;font-weight:400!important;color:#90a4ae!important;background:#90a4ae1a!important;padding:2px 6px!important;border-radius:4px!important;border:1px solid rgba(144,164,174,.2)!important}.airport-info-panel .key-frequencies{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:8px!important}.airport-info-panel .key-freq-item{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:6px 8px!important;background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:4px!important}.airport-info-panel .key-freq-name{color:#e8e8e8!important;font-size:.85em!important;font-weight:500!important}.airport-info-panel .key-freq-value{color:#2196f3!important;font-family:Monaco,monospace!important;font-size:.9em!important;font-weight:600!important}.airport-info-panel .no-key-freqs{grid-column:1 / -1!important;text-align:center!important;color:#90a4ae!important;font-style:italic!important;padding:12px!important}.airport-info-panel .airport-title .icao{color:#2196f3!important;font-weight:700!important}.airport-info-panel .airport-title .iata{color:#90a4ae!important;font-size:.85em!important;font-weight:500!important}.airport-info-panel .airport-title .airport-name{color:#cfd8dc!important;font-size:.85em!important;font-weight:400!important;margin:4px 0 0!important}.airport-info-panel .close-btn{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;color:#eceff1!important;border-radius:6px!important;transition:all .2s ease!important}.airport-info-panel:not(.unified-right-panel) .close-btn:hover{background:#fff3!important;border-color:#ffffff4d!important;color:#fff!important;transform:scale(1.05)!important}.airport-info-panel .add-to-route-btn{background:#2196f326!important;border:1px solid rgba(33,150,243,.3)!important;color:#2196f3!important;padding:8px 16px!important;border-radius:6px!important;font-size:.85em!important;font-weight:600!important;cursor:pointer!important;transition:all .2s ease!important;margin-right:8px!important}.airport-info-panel .add-to-route-btn:hover{background:#2196f340!important;border-color:#2196f380!important;color:#fff!important}.airport-info-panel:not(.unified-right-panel) .tab-navigation{background:#ffffff0d!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.airport-info-panel:not(.unified-right-panel) .tab-btn{color:#90a4ae!important;border-bottom:2px solid transparent!important;background:transparent!important;font-weight:500!important;transition:all .2s ease!important}.airport-info-panel:not(.unified-right-panel) .tab-btn:hover{background:#ffffff14!important;color:#cfd8dc!important}.airport-info-panel:not(.unified-right-panel) .tab-btn.active{background:#2196f326!important;color:#2196f3!important;border-bottom-color:#2196f3!important}.airport-info-panel .tab-badge{background:#00c853!important;color:#fff!important;border-radius:10px!important;font-size:.7em!important;font-weight:600!important;padding:2px 6px!important;margin-left:6px!important;min-width:16px!important;text-align:center!important;display:inline-block!important}.airport-info-panel:not(.unified-right-panel) .panel-content{background:transparent!important;padding:16px 20px!important;overflow:auto!important}.airport-info-panel .info-section h4{color:#eceff1!important;font-size:.9em!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.5px!important;margin-bottom:12px!important;border-bottom:1px solid rgba(255,255,255,.1)!important;padding-bottom:4px!important}.airport-info-panel .map-container .flight-plan-panel .info-item .label{color:#90a4ae!important;font-size:.8em!important;font-weight:500!important;padding-right:8px!important}.airport-info-panel .map-container .flight-plan-panel .info-item .value{color:#eceff1!important;font-size:.85em!important;font-weight:400!important;text-align:left!important}.airport-info-panel .map-container .flight-plan-panel .info-item .value.coordinate{color:#2196f3!important;font-family:Monaco,Menlo,Consolas,monospace!important;font-size:.8em!important}.airport-info-panel .quick-freq{background:#2196f31a!important;border-left:3px solid #2196F3!important;border-radius:6px!important}.airport-info-panel .quick-freq .freq-type{color:#eceff1!important;font-weight:600!important;font-size:.75em!important}.airport-info-panel .quick-freq .freq-value{color:#2196f3!important;font-weight:600!important;font-family:Monaco,Menlo,Consolas,monospace!important}.airport-info-panel .frequency-item{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:8px!important}.airport-info-panel .frequency-item.highlighted{background:#2196f326!important;border-color:#2196f34d!important;border-left:3px solid #2196F3!important}.airport-info-panel .frequency-item:hover{background:#ffffff14!important}.airport-info-panel .frequency-item.highlighted:hover{background:#2196f333!important}.airport-info-panel .freq-name{color:#eceff1!important;font-weight:600!important;font-size:.8em!important}.airport-info-panel .freq-value{color:#2196f3!important;font-weight:600!important;font-family:Monaco,Menlo,Consolas,monospace!important}.airport-info-panel .freq-details small{color:#90a4ae!important;font-size:.7em!important}.airport-info-panel .runway-item{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:6px!important;padding:8px 12px!important;margin-bottom:6px!important;display:flex!important;justify-content:space-between!important;align-items:center!important}.airport-info-panel .runway-id{color:#2196f3!important;font-weight:600!important;font-family:Monaco,Menlo,Consolas,monospace!important}.airport-info-panel .runway-length,.airport-info-panel .runway-width{color:#cfd8dc!important;font-size:.8em!important}.airport-info-panel .fuel-badge{background:#00c85326!important;color:#00c853!important;padding:4px 8px!important;border-radius:4px!important;font-size:.75em!important;font-weight:600!important;margin-right:6px!important;margin-bottom:6px!important;display:inline-block!important}.airport-info-panel .metar-item{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;border-left:3px solid #00C853!important;border-radius:8px!important;padding:12px!important}.airport-info-panel .metar-time{color:#90a4ae!important;font-size:.75em!important;margin-bottom:4px!important}.airport-info-panel .metar-raw{color:#eceff1!important;font-family:Monaco,Menlo,Consolas,monospace!important;font-size:.8em!important;margin-bottom:8px!important;word-break:break-all!important}.airport-info-panel .metar-details span{color:#cfd8dc!important;font-size:.75em!important;margin-right:12px!important}.airport-info-panel .taf-item{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;border-left:3px solid #FF9800!important;border-radius:8px!important;padding:12px!important;margin-bottom:12px!important}.airport-info-panel .taf-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:8px!important;flex-wrap:wrap!important;gap:8px!important}.airport-info-panel .taf-time,.airport-info-panel .taf-validity{color:#90a4ae!important;font-size:.75em!important}.airport-info-panel .taf-raw{color:#eceff1!important;font-family:Monaco,Menlo,Consolas,monospace!important;font-size:.8em!important;margin-bottom:8px!important;word-break:break-all!important;line-height:1.4!important}.airport-info-panel .taf-details span{color:#cfd8dc!important;font-size:.75em!important;margin-right:12px!important}.airport-info-panel .no-data{text-align:center!important;color:#90a4ae!important;font-style:italic!important;padding:20px!important}.airport-info-panel .no-data small{color:#546e7a!important;font-size:.8em!important;display:block!important;margin-top:8px!important}.airport-info-panel .loading-content{color:#90a4ae!important;text-align:center!important;padding:40px 20px!important}.airport-info-panel .loading-spinner{border:2px solid rgba(255,255,255,.1)!important;border-top:2px solid #2196F3!important;border-radius:50%!important;width:20px!important;height:20px!important;animation:spin 1s linear infinite!important;margin-bottom:12px!important}.map-context-menu{position:fixed;background:var(--background);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #0003;z-index:99999;min-width:200px;overflow:hidden}.context-menu-header{padding:12px 16px;background:var(--background-light);border-bottom:1px solid var(--border-color)}.coordinates{display:flex;flex-direction:column;gap:4px}.coordinate-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.coordinate-row .label{color:var(--text-secondary);font-weight:500}.coordinate-row .value{color:var(--text-primary);font-weight:600;font-family:Monaco,monospace}.context-menu-actions{padding:8px}.context-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:none;border:none;border-radius:6px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s ease;text-align:left}.context-menu-item:hover{background:var(--primary);color:#fff}.context-menu-item .icon{font-size:1.1rem;flex-shrink:0}.context-menu-item .text{flex:1;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.waypoint{min-width:96px;max-width:120px;padding:8px 10px;position:relative}.waypoint-icon,.waypoint-coords,.waypoint-altitude,.waypoint-controls{display:none}.map-container .flight-plan-panel .waypoint-name{font-size:.95em}}@media (max-width: 768px){body{font-size:14px}.flight-plan-panel,.weather-player-panel,.airport-search{font-size:.9em}.time-input label,.aircraft-input label{font-size:.75em}.aircraft-input input,.aircraft-input select,.time-input input,.map-container .flight-plan-panel .waypoint-name{font-size:.9em}.toggle-label{font-size:10px}}.aircraft-input input[type=date]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.aircraft-input input[type=date]{-webkit-appearance:none;appearance:none}.aircraft-input select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none!important}.aircraft-input select::-ms-expand{display:none}.aircraft-input input[type=time]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.aircraft-input input[type=time]::-webkit-clear-button{display:none}.aircraft-input input[type=time]::-webkit-inner-spin-button{display:none}.aircraft-input input[type=time]{-webkit-appearance:none;appearance:none}.aircraft-input input[type=number]::-webkit-outer-spin-button,.aircraft-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.aircraft-input input[type=number]{-moz-appearance:textfield;appearance:textfield}@media (max-width: 768px){.map-container .sigmet-info-panel,.map-container .airport-info-panel,.map-container .flight-analysis-panel,.map-container .map-container .flight-plan-panel .waypoint-info-panel,.map-container .waypoint-analyzer-panel{position:fixed!important;left:0!important;right:0!important;bottom:env(safe-area-inset-bottom,0px)!important;width:100vw!important;max-height:none!important;border-radius:16px 16px 0 0!important;overflow:hidden!important;transform:translateY(0)!important;animation:slideUpFromBottom .3s ease-out!important;z-index:5000!important;box-sizing:border-box!important}.map-container .airport-info-panel:not(.unified-right-panel) .panel-content,.map-container .sigmet-info-panel:not(.unified-right-panel) .panel-content,.map-container .flight-analysis-panel:not(.unified-right-panel) .panel-content,.map-container .map-container .flight-plan-panel .waypoint-info-panel .panel-content,.map-container .waypoint-analyzer-panel .panel-content{flex:1!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:60px!important;-webkit-overflow-scrolling:touch!important;min-height:0!important}.map-container .airport-info-panel,.map-container .sigmet-info-panel,.map-container .flight-analysis-panel,.map-container .map-container .flight-plan-panel .waypoint-info-panel,.map-container .waypoint-analyzer-panel{display:flex!important;flex-direction:column!important}.map-container .airport-info-panel .info-tab,.map-container .airport-info-panel .frequencies-tab,.map-container .airport-info-panel .weather-tab,.map-container .airport-info-panel .notams-tab,.map-container .airport-info-panel .analysis-tab{padding-bottom:20px!important}.airport-info-panel .analysis-tab .analysis-section{margin-bottom:24px!important}.airport-info-panel .analysis-tab .summary-text{background:#2196f31a!important;border-left:3px solid #2196F3!important;padding:16px!important;border-radius:8px!important;color:#eceff1!important;font-size:.9em!important;line-height:1.6!important}.airport-info-panel .analysis-tab .summary-text h3{color:#2196f3!important;font-size:1.1em!important;font-weight:700!important;margin:16px 0 8px!important;border-bottom:1px solid rgba(33,150,243,.3)!important;padding-bottom:4px!important}.airport-info-panel .analysis-tab .summary-text h3:first-child{margin-top:0!important}.airport-info-panel .analysis-tab .summary-text h4{color:#90caf9!important;font-size:1em!important;font-weight:600!important;margin:12px 0 6px!important}.airport-info-panel .analysis-tab .summary-text h5{color:#bbdefb!important;font-size:.95em!important;font-weight:500!important;margin:10px 0 4px!important}.airport-info-panel .analysis-tab .summary-text strong{color:#ffd54f!important;font-weight:700!important;background:#ffd54f1a!important;padding:1px 3px!important;border-radius:3px!important}.airport-info-panel .analysis-tab .summary-text br{margin-bottom:8px!important}.airport-info-panel .analysis-tab .horizons-list{display:flex!important;flex-direction:column!important;gap:20px!important}.airport-info-panel .analysis-tab .horizon-item{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:12px!important;padding:16px!important}.airport-info-panel .analysis-tab .horizon-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:16px!important;flex-wrap:wrap!important;gap:8px!important}.airport-info-panel .analysis-tab .horizon-header h5{color:#2196f3!important;font-size:.95em!important;font-weight:600!important;margin:0!important}.airport-info-panel .analysis-tab .horizon-badges{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.airport-info-panel .analysis-tab .hazard-badge{padding:4px 8px!important;border-radius:12px!important;font-size:.7em!important;font-weight:600!important;text-transform:uppercase!important}.airport-info-panel .analysis-tab .hazard-badge.sigmet{background:#ff980033!important;color:#ff9800!important}.airport-info-panel .analysis-tab .hazard-badge.pirep{background:#9c27b033!important;color:#9c27b0!important}.airport-info-panel .analysis-tab .hazard-badge.taf{background:#00c85333!important;color:#00c853!important}.airport-info-panel .analysis-tab .sector-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;gap:12px!important}.airport-info-panel .analysis-tab .sector-summary{background:#ffffff08!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:8px!important;padding:12px!important}.airport-info-panel .analysis-tab .sector-heading{text-align:center!important;margin-bottom:8px!important;color:#2196f3!important;font-size:.9em!important}.airport-info-panel .analysis-tab .sector-details{display:flex!important;flex-direction:column!important;gap:4px!important}.airport-info-panel .analysis-tab .sector-item{display:flex!important;justify-content:space-between!important;align-items:center!important;font-size:.8em!important}.airport-info-panel .analysis-tab .sector-item .label{color:#90a4ae!important;font-weight:500!important}.airport-info-panel .analysis-tab .sector-item .value{color:#eceff1!important;font-weight:600!important;font-family:Monaco,Menlo,Consolas,monospace!important}.airport-info-panel .analysis-tab .sector-notes{margin-top:8px!important;padding:6px 8px!important;background:#ffffff0d!important;border-radius:4px!important;font-size:.75em!important;color:#cfd8dc!important;font-style:italic!important}.airport-info-panel .analysis-tab .nearby-airports{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.airport-info-panel .analysis-tab .nearby-airport{background:#2196f326!important;color:#2196f3!important;padding:6px 12px!important;border-radius:16px!important;font-size:.8em!important;font-weight:600!important;font-family:Monaco,Menlo,Consolas,monospace!important}.airport-info-panel .analysis-tab .analyze-button{background:#2196f326!important;border:1px solid rgba(33,150,243,.3)!important;color:#2196f3!important;padding:12px 24px!important;border-radius:8px!important;font-weight:600!important;margin-top:12px!important;transition:all .2s ease!important}.airport-info-panel .analysis-tab .analyze-button:hover:not(:disabled){background:#2196f340!important;border-color:#2196f380!important;color:#fff!important;transform:translateY(-1px)!important}.airport-info-panel .analysis-tab .analyze-button:disabled{opacity:.5!important;cursor:not-allowed!important}.waypoint-analyzer-panel .panel-header{background:linear-gradient(135deg,#37474f,#455a64)!important;border-bottom:1px solid #546e7a!important;padding:16px 20px!important;border-radius:12px 12px 0 0!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;position:sticky!important;top:0!important;z-index:1!important;gap:16px!important}.waypoint-analyzer-panel .header-left{flex:1!important;display:flex!important;flex-direction:column!important;gap:8px!important}.waypoint-analyzer-panel .header-right{display:flex!important;align-items:center!important;gap:12px!important}.waypoint-analyzer-panel .panel-title h3{color:#fff!important;display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;font-size:1.1em!important}.waypoint-analyzer-panel .analysis-location{color:#90a4ae!important;font-size:.8em!important;margin:4px 0 0!important;font-family:Monaco,Menlo,Consolas,monospace!important}.waypoint-analyzer-panel .assessment-text{color:#eceff1!important;font-size:.85em!important;margin:0!important;font-style:italic!important;opacity:.9!important;line-height:1.3!important}.waypoint-analyzer-panel .risk-summary{display:flex!important;align-items:center!important;gap:8px!important}.waypoint-analyzer-panel .risk-score{font-size:1.5em!important;font-weight:700!important;font-family:Monaco,Menlo,Consolas,monospace!important}.waypoint-analyzer-panel .risk-level{padding:4px 8px!important;border-radius:12px!important;font-size:.7em!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.5px!important}.waypoint-analyzer-panel .risk-level.low{background-color:#10b981!important}.waypoint-analyzer-panel .risk-level.moderate{background-color:#f59e0b!important}.waypoint-analyzer-panel .risk-level.high{background-color:#ef4444!important}.waypoint-analyzer-panel .risk-level.severe{background-color:#dc2626!important}.waypoint-analyzer-panel .close-btn{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;color:#eceff1!important;border-radius:6px!important;transition:all .2s ease!important;padding:6px 10px!important;cursor:pointer!important}.waypoint-analyzer-panel .close-btn:hover{background:#fff3!important;border-color:#ffffff4d!important;color:#fff!important;transform:scale(1.05)!important}.waypoint-analyzer-panel .panel-content{background:transparent!important;padding:16px 20px!important;overflow:auto!important}.waypoint-analyzer-panel .analysis-section{margin-bottom:24px!important}.waypoint-analyzer-panel .analysis-section h4{color:#eceff1!important;font-size:.9em!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.5px!important;margin-bottom:12px!important;border-bottom:1px solid rgba(255,255,255,.1)!important;padding-bottom:4px!important}.waypoint-analyzer-panel .summary-text{background:#2196f31a!important;border-left:3px solid #2196F3!important;padding:16px!important;border-radius:8px!important;color:#eceff1!important;font-size:.9em!important;line-height:1.6!important}.waypoint-analyzer-panel .summary-text h3{color:#2196f3!important;font-size:1.1em!important;font-weight:700!important;margin:16px 0 8px!important;border-bottom:1px solid rgba(33,150,243,.3)!important;padding-bottom:4px!important}.waypoint-analyzer-panel .summary-text h3:first-child{margin-top:0!important}.waypoint-analyzer-panel .summary-text h4{color:#90caf9!important;font-size:1em!important;font-weight:600!important;margin:12px 0 6px!important;border:none!important;text-transform:none!important;letter-spacing:normal!important}.waypoint-analyzer-panel .summary-text h5{color:#bbdefb!important;font-size:.95em!important;font-weight:500!important;margin:10px 0 4px!important}.waypoint-analyzer-panel .summary-text strong{color:#ffd54f!important;font-weight:700!important;background:#ffd54f1a!important;padding:1px 3px!important;border-radius:3px!important}.waypoint-analyzer-panel .horizons-list{display:flex!important;flex-direction:column!important;gap:20px!important}.waypoint-analyzer-panel .horizon-item{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:12px!important;padding:16px!important}.waypoint-analyzer-panel .horizon-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:16px!important;flex-wrap:wrap!important;gap:8px!important}.waypoint-analyzer-panel .horizon-header h5{color:#2196f3!important;font-size:.95em!important;font-weight:600!important;margin:0!important}.waypoint-analyzer-panel .horizon-badges{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.waypoint-analyzer-panel .hazard-badge{padding:4px 8px!important;border-radius:12px!important;font-size:.7em!important;font-weight:600!important;text-transform:uppercase!important}.waypoint-analyzer-panel .hazard-badge.sigmet{background:#ff980033!important;color:#ff9800!important}.waypoint-analyzer-panel .hazard-badge.pirep{background:#9c27b033!important;color:#9c27b0!important}.waypoint-analyzer-panel .hazard-badge.taf{background:#00c85333!important;color:#00c853!important}.waypoint-analyzer-panel .sector-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;gap:12px!important}.waypoint-analyzer-panel .sector-summary{background:#ffffff08!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:8px!important;padding:12px!important}.waypoint-analyzer-panel .sector-heading{text-align:center!important;margin-bottom:8px!important;color:#2196f3!important;font-size:.9em!important}.waypoint-analyzer-panel .sector-details{display:flex!important;flex-direction:column!important;gap:4px!important}.waypoint-analyzer-panel .sector-item{display:flex!important;justify-content:space-between!important;align-items:center!important;font-size:.8em!important}.waypoint-analyzer-panel .sector-item .label{color:#90a4ae!important;font-weight:500!important}.waypoint-analyzer-panel .sector-item .value{color:#eceff1!important;font-weight:600!important;font-family:Monaco,Menlo,Consolas,monospace!important}.waypoint-analyzer-panel .sector-notes{margin-top:8px!important;padding:6px 8px!important;background:#ffffff0d!important;border-radius:4px!important;font-size:.75em!important;color:#cfd8dc!important;font-style:italic!important}.waypoint-analyzer-panel .nearby-airports{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.waypoint-analyzer-panel .nearby-airport{background:#2196f326!important;color:#2196f3!important;padding:6px 12px!important;border-radius:16px!important;font-size:.8em!important;font-weight:600!important;font-family:Monaco,Menlo,Consolas,monospace!important}.waypoint-analyzer-panel .loading-content{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:40px 20px!important;text-align:center!important}.waypoint-analyzer-panel .loading-content span{color:#eceff1!important;font-size:.9em!important;margin-top:16px!important;font-weight:500!important}.waypoint-analyzer-panel .no-data{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:40px 20px!important;text-align:center!important;color:#90a4ae!important;font-size:.9em!important}.waypoint-analyzer-panel .tab-navigation{display:flex!important;background:#ffffff0d!important;border-bottom:1px solid rgba(255,255,255,.1)!important;padding:0 20px!important}.waypoint-analyzer-panel .tab-btn{background:none!important;border:none!important;color:#90a4ae!important;padding:12px 16px!important;cursor:pointer!important;font-size:.85em!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.5px!important;border-bottom:2px solid transparent!important;transition:all .2s ease!important}.waypoint-analyzer-panel .tab-btn:hover{color:#eceff1!important;background:#ffffff0d!important}.waypoint-analyzer-panel .tab-btn.active{color:#2196f3!important;border-bottom-color:#2196f3!important}.waypoint-analyzer-panel .weather-section{padding:0!important}.waypoint-analyzer-panel .weather-list{display:flex!important;flex-direction:column!important;gap:16px!important}.waypoint-analyzer-panel .weather-item{background:#ffffff08!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:8px!important;padding:16px!important}.waypoint-analyzer-panel .weather-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:8px!important}.waypoint-analyzer-panel .weather-header strong{color:#2196f3!important;font-size:.9em!important;font-family:Monaco,Menlo,Consolas,monospace!important}.waypoint-analyzer-panel .weather-time{color:#90a4ae!important;font-size:.8em!important}.waypoint-analyzer-panel .weather-raw{background:#0000004d!important;padding:8px 12px!important;border-radius:4px!important;font-family:Monaco,Menlo,Consolas,monospace!important;font-size:.8em!important;color:#eceff1!important;margin-bottom:8px!important;word-break:break-all!important}.waypoint-analyzer-panel .weather-decoded{display:flex!important;flex-wrap:wrap!important;gap:12px!important;font-size:.8em!important}.waypoint-analyzer-panel .weather-decoded span{background:#2196f31a!important;color:#90caf9!important;padding:2px 6px!important;border-radius:3px!important;font-family:Monaco,Menlo,Consolas,monospace!important}.waypoint-analyzer-panel .taf-forecast{margin-top:8px!important}.waypoint-analyzer-panel .forecast-period{border-left:2px solid rgba(33,150,243,.3)!important;padding-left:12px!important;margin-bottom:12px!important}.waypoint-analyzer-panel .period-time{color:#2196f3!important;font-size:.8em!important;font-weight:600!important;margin-bottom:4px!important}.flight-plan-bar{display:flex;align-items:center;gap:8px;padding:4px 8px;background:#0000001a;border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);max-width:100%;overflow:hidden;height:36px}.flight-controls{display:flex;align-items:center;gap:6px;flex-shrink:0;height:100%}.flight-input{display:flex;align-items:center;gap:3px;min-width:0;height:100%}.flight-input label{color:#90a4ae;font-size:.65em;font-weight:500;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;flex-shrink:0}.flight-input select,.flight-input input{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:3px;color:#eceff1;font-size:.75em;padding:2px 4px;height:24px;min-width:0;font-family:Monaco,Menlo,Consolas,monospace}.flight-input select{min-width:50px;max-width:65px}.flight-input input[type=number]{min-width:40px;max-width:55px;text-align:center}.flight-input input[type=text]{min-width:40px;max-width:50px;text-align:center}.flight-input select:focus,.flight-input input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 1px #2196f34d;background:#ffffff1f}.flight-input select:hover,.flight-input input:hover{border-color:#ffffff40;background:#ffffff1a}.flight-separator{width:1px;height:20px;background:#ffffff26;flex-shrink:0}.waypoints-scroll{flex:1;overflow-x:auto;overflow-y:hidden;min-width:0;height:100%;display:flex;align-items:center}.waypoints-list{display:flex;align-items:center;gap:4px;padding:0;min-width:max-content;height:100%}.waypoint-item{display:flex;align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:2px 6px;cursor:pointer;transition:all .2s ease;min-width:0;flex-shrink:0;height:24px;gap:4px}.waypoint-item:hover{background:#ffffff1f;border-color:#ffffff40}.waypoint-item.selected{background:#2196f333;border-color:#2196f3}.waypoint-content{display:flex;align-items:center;gap:3px;min-width:0}.map-container .flight-plan-panel .waypoint-name{color:#eceff1;font-size:.7em;font-weight:600;font-family:Monaco,Menlo,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40px}.waypoint-type{color:#90a4ae;font-size:.6em;font-weight:500;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.waypoint-remove{background:none;border:none;color:#ef4444;font-size:.8em;cursor:pointer;padding:1px 2px;border-radius:2px;transition:all .2s ease;flex-shrink:0;line-height:1}.waypoint-remove:hover{background:#ef444433;color:#fff}.empty-route{color:#64748b;font-size:.7em;font-style:italic;padding:4px 8px;white-space:nowrap;display:flex;align-items:center;height:100%}.flight-plan-bar{display:none}.map-container .flight-plan-panel{background:linear-gradient(145deg,#1a1a1a,#0f0f0f)!important;border:2px solid #333!important;border-radius:16px!important;box-shadow:0 8px 32px #0009!important;color:#f5f5f5!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;position:absolute!important;top:10px!important;right:20px!important;width:450px!important;max-height:calc(100vh - 40px)!important;z-index:1000!important;display:flex!important;flex-direction:column!important}.map-container .flight-plan-panel:not(.unified-right-panel) .panel-header{background:linear-gradient(135deg,#37474f,#455a64)!important;border-bottom:1px solid #546e7a!important;padding:16px 20px!important;border-radius:12px 12px 0 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;position:sticky!important;top:0!important;z-index:1!important}.map-container .flight-plan-panel .flight-actions{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.map-container .flight-plan-panel .flight-section{margin-bottom:24px}.map-container .flight-plan-panel .flight-section h4{color:#eceff1;font-size:.9em;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:4px}.map-container .flight-plan-panel .flight-info-grid{display:grid;grid-template-columns:1fr;gap:12px}.map-container .flight-plan-panel .info-item{display:flex;flex-direction:column;gap:4px}.map-container .flight-plan-panel .info-item label{color:#90a4ae;font-size:.8em;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.map-container .flight-plan-panel .info-item select,.map-container .flight-plan-panel .info-item input{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#eceff1;font-size:.9em;padding:8px 12px;font-family:Monaco,Menlo,Consolas,monospace;transition:all .2s ease}.map-container .flight-plan-panel .info-item select:focus,.map-container .flight-plan-panel .info-item input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f333;background:#ffffff1f}.map-container .flight-plan-panel .info-item select:hover,.map-container .flight-plan-panel .info-item input:hover{border-color:#ffffff40;background:#ffffff1a}.map-container .flight-plan-panel .empty-route-state{text-align:center;padding:40px 20px;color:#64748b}.map-container .flight-plan-panel .empty-message span{font-size:.9em;font-weight:500;display:block;margin-bottom:8px}.map-container .flight-plan-panel .empty-message p{font-size:.8em;margin:0;opacity:.8}.map-container .flight-plan-panel .waypoint-list{display:flex;flex-direction:column;gap:8px}.map-container .flight-plan-panel .waypoint-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center}.map-container .flight-plan-panel .waypoint-card:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-1px)}.map-container .flight-plan-panel .waypoint-card.selected{background:#2196f326;border-color:#2196f3}.map-container .flight-plan-panel .waypoint-info{flex:1;min-width:0}.map-container .flight-plan-panel .waypoint-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.map-container .flight-plan-panel .waypoint-name{color:#eceff1;font-size:.9em;font-weight:600;font-family:Monaco,Menlo,Consolas,monospace}.map-container .flight-plan-panel .waypoint-type-badge{font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:3px}.map-container .flight-plan-panel .waypoint-type-badge.departure{background:#4caf5033;color:#81c784}.map-container .flight-plan-panel .waypoint-type-badge.waypoint{background:#ffc10733;color:#ffd54f}.map-container .flight-plan-panel .waypoint-type-badge.arrival{background:#f4433633;color:#e57373}.map-container .flight-plan-panel .waypoint-details{display:flex;gap:12px;font-size:.8em;color:#90a4ae;font-family:Monaco,Menlo,Consolas,monospace}.map-container .flight-plan-panel .waypoint-remove-btn{background:none;border:none;color:#ef4444;font-size:1.2em;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;flex-shrink:0}.map-container .flight-plan-panel .waypoint-remove-btn:hover{background:#ef444433;color:#fff}.map-container .flight-plan-panel .analysis-loading{text-align:center;padding:40px 20px;color:#90a4ae}.map-container .flight-plan-panel .loading-spinner{font-size:2em;margin-bottom:12px;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.map-container .flight-plan-panel .analysis-results{padding:0}.map-container .flight-plan-panel .analysis-summary{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px}.map-container .flight-plan-panel .summary-text{color:#eceff1;font-size:.9em;line-height:1.5;margin-bottom:16px;white-space:pre-wrap}.map-container .flight-plan-panel .risk-findings h5{color:#eceff1;font-size:.85em;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:4px}.map-container .flight-plan-panel .risk-finding{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:8px 12px;margin-bottom:6px;border-left:3px solid #90a4ae}.map-container .flight-plan-panel .risk-finding.high{border-left-color:#f44336;background:#f443360d}.map-container .flight-plan-panel .risk-finding.medium{border-left-color:#ff9800;background:#ff98000d}.map-container .flight-plan-panel .risk-finding.low{border-left-color:#4caf50;background:#4caf500d}.map-container .flight-plan-panel .risk-title{color:#eceff1;font-size:.85em;font-weight:600;display:block;margin-bottom:4px}.map-container .flight-plan-panel .risk-description{color:#90a4ae;font-size:.8em;line-height:1.4}.map-container .flight-plan-panel .analysis-empty{text-align:center;padding:40px 20px;color:#64748b}.map-container .flight-plan-panel .analysis-empty p{margin-bottom:8px;font-size:.9em}.map-container .flight-plan-panel .analysis-empty p:first-child{font-weight:500}.map-container .sigmet-info-panel .info-section:last-child,.map-container .flight-analysis-panel .info-section:last-child,.map-container .map-container .flight-plan-panel .waypoint-info-panel .info-section:last-child,.map-container .waypoint-analyzer-panel .info-section:last-child{margin-bottom:20px!important;padding-bottom:20px!important}}.notam-list{display:flex;flex-direction:column;gap:16px}.notam-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-left:3px solid #ff9800;border-radius:8px;padding:16px;transition:all .2s ease}.notam-item:hover{background:#ffffff14;border-color:#ff98004d}.notam-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.notam-number{color:#ff9800;font-size:.9em;font-weight:600;font-family:Monaco,Menlo,Consolas,monospace}.notam-dates{text-align:right;flex-shrink:0}.notam-effective{color:#cfd8dc;font-size:.8em;font-weight:500}.notam-content{margin-bottom:12px}.notam-text{color:#eceff1;font-size:.9em;line-height:1.5;margin-bottom:8px;font-family:Monaco,Menlo,Consolas,monospace;background:#0003;padding:8px 12px;border-radius:4px;border-left:2px solid #ff9800}.notam-simple{color:#90a4ae;font-size:.85em;font-style:italic;margin-top:6px}.notam-details{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.1);padding-top:8px}.notam-altitude{color:#2196f3;font-size:.8em;font-weight:500;font-family:Monaco,Menlo,Consolas,monospace}.notam-code{color:#90a4ae;font-size:.75em;font-weight:500;font-family:Monaco,Menlo,Consolas,monospace;background:#ffffff0d;padding:2px 6px;border-radius:3px}.notam-more{text-align:center;color:#90a4ae;font-style:italic;padding:8px;border-top:1px solid rgba(255,255,255,.1)}@media (max-width: 768px){.notam-header{flex-direction:column;align-items:flex-start;gap:8px}.notam-dates{text-align:left}.notam-text{font-size:.85em;padding:6px 10px}.notam-details{flex-direction:column;align-items:flex-start;gap:6px}}.airport-diagram-container{margin:12px 0}.diagram-preview{position:relative;width:100%;height:200px;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s ease}.diagram-preview:hover{border-color:#2196f34d;box-shadow:0 2px 8px #2196f333}.diagram-iframe{width:100%;height:100%;border:none;pointer-events:none}.diagram-overlay{position:absolute;inset:0;background:#0000001a;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.diagram-preview:hover .diagram-overlay{opacity:1}.diagram-click-hint{background:#2196f3e6;color:#fff;padding:8px 16px;border-radius:4px;font-size:.9em;font-weight:500}.pdf-viewer-overlay{position:fixed;inset:0;background:#000000f2;z-index:15000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.pdf-viewer-container{width:95vw;height:95dvh;background:var(--background-dark);border:2px solid #333;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #000c;animation:slideUp .3s ease-out}.pdf-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#37474f,#455a64);border-bottom:1px solid #546e7a;color:#fff}.pdf-viewer-title h2{margin:0 0 4px;font-size:1.4em;font-weight:700;color:#2196f3}.pdf-viewer-title p{margin:0;font-size:.9em;color:#cfd8dc;opacity:.9}.pdf-viewer-close{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.8em;cursor:pointer;padding:8px 12px;border-radius:6px;transition:all .2s ease;min-width:44px;height:44px;display:flex;align-items:center;justify-content:center}.pdf-viewer-close:hover{background:#fff3;border-color:#fff6;transform:scale(1.05)}.pdf-viewer-body{flex:1;background:#f5f5f5;overflow:hidden}.pdf-viewer-iframe{width:100%;height:100%;border:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.diagram-preview{height:150px}.pdf-viewer-overlay{padding:10px}.pdf-viewer-container{width:98vw;height:98dvh}.pdf-viewer-header{padding:16px 20px}.pdf-viewer-title h2{font-size:1.2em}.pdf-viewer-title p{font-size:.8em}.pdf-viewer-close{font-size:1.6em;min-width:40px;height:40px;padding:6px 10px}}@media (min-width: 769px){.map-container .sigmet-info-panel,.map-container .airport-info-panel,.map-container .flight-analysis-panel,.map-container .map-container .flight-plan-panel .waypoint-info-panel,.map-container .waypoint-analyzer-panel{width:475px!important}}@keyframes slideUpFromBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.left-icon-toolbar{position:absolute;left:20px;top:90px;display:flex;flex-direction:column;gap:10px;z-index:1000}.icon-toggle-btn{width:55px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);background:#111827d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease}.icon-toggle-btn.active{border-color:#3b82f6;color:#fff;background:#2196f333}.icon-toggle-btn:hover{transform:scale(1.05);border-color:#ffffff59}.icon-toggle-btn.analyze-btn{border-color:#a855f766;background:#581c8726}.icon-toggle-btn.analyze-btn:hover{border-color:#a855f799;background:#581c8740}.icon-toggle-btn.waypoint-analyze-btn{border-color:#2196f366;background:#2196f326;padding:8px}.icon-toggle-btn.waypoint-analyze-btn:hover:not(:disabled){border-color:#2196f399;background:#2196f340;transform:scale(1.05)}.icon-toggle-btn.waypoint-analyze-btn.analyzing{border-color:#ffc10799;background:#ffc10733;animation:pulse 2s infinite}.icon-toggle-btn.waypoint-analyze-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}@media (max-width: 768px){.left-icon-toolbar{position:fixed;left:12px;right:auto;bottom:66px;gap:8px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:999}.icon-toggle-btn{width:55px;height:40px;border-radius:8px}}.unified-right-panel{background:linear-gradient(145deg,#1a1a1a,#0f0f0f)!important;border:2px solid #333!important;border-radius:16px!important;box-shadow:0 8px 32px #0009!important;color:#f5f5f5!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;position:absolute!important;top:10px!important;right:20px!important;width:450px!important;max-height:calc(100vh - 40px)!important;z-index:1000!important;display:flex!important;flex-direction:column!important;overflow-x:hidden!important;height:98%!important}.unified-right-panel .panel-header{background:linear-gradient(135deg,#37474f,#455a64)!important;border-bottom:1px solid #546e7a!important;padding:16px 20px!important;border-radius:12px 12px 0 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;position:sticky!important;top:0!important;z-index:1!important;overflow:hidden!important}.unified-right-panel .panel-title h3{color:#fff!important;margin:0!important;font-size:1.1em!important;display:flex!important;align-items:center!important;gap:8px!important}.unified-right-panel .panel-subtitle{color:#90a4ae!important;font-size:.8em!important;margin:4px 0 0!important;font-family:Monaco,Menlo,Consolas,monospace!important}.unified-right-panel .panel-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;min-width:0!important}.unified-right-panel .close-btn{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;color:#eceff1!important;border-radius:6px!important;transition:all .2s ease!important;padding:6px 10px!important;cursor:pointer!important}.unified-right-panel .close-btn:hover{background:#fff3!important;border-color:#ffffff4d!important;color:#fff!important;transform:scale(1.05)!important}.unified-right-panel .tab-navigation{display:flex!important;background:#ffffff0d!important;border-bottom:1px solid rgba(255,255,255,.1)!important;padding:0 20px!important;flex-wrap:wrap!important;overflow-x:hidden!important}.unified-right-panel .tab-btn{background:none!important;border:none!important;color:#90a4ae!important;padding:12px 16px!important;cursor:pointer!important;font-size:.85em!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.5px!important;border-bottom:2px solid transparent!important;transition:all .2s ease!important}.unified-right-panel .tab-btn:hover{color:#eceff1!important;background:#ffffff0d!important}.unified-right-panel .tab-btn.active{color:#2196f3!important;border-bottom-color:#2196f3!important}.unified-right-panel .panel-content{background:transparent!important;padding:16px 20px!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;flex:1!important}.unified-right-panel .tab-content{min-height:0!important}.unified-right-panel .form-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.unified-right-panel .form-grid.compact{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}@media (max-width: 560px){.unified-right-panel .form-grid.compact{grid-template-columns:repeat(2,1fr)!important}}@media (max-width: 360px){.unified-right-panel .form-grid.compact{grid-template-columns:1fr!important}}.unified-right-panel .form-item{display:flex!important;flex-direction:column!important;gap:1px!important}.unified-right-panel .form-input,.unified-right-panel .form-select{background:#ffffff14!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:8px!important;color:#eceff1!important;font-size:.95em!important;padding:8px 12px!important;font-family:Monaco,Menlo,Consolas,monospace!important;transition:all .2s ease!important;width:100%!important}.unified-right-panel .form-input:hover,.unified-right-panel .form-select:hover{border-color:#ffffff4d!important;background:#ffffff1f!important}.unified-right-panel .form-input:focus,.unified-right-panel .form-select:focus{outline:none!important;border-color:#2196f3!important;box-shadow:0 0 0 2px #2196f340!important;background:#ffffff24!important}.unified-right-panel .form-input.compact,.unified-right-panel .form-select.compact{font-size:.85em!important;padding:6px 8px!important;border-radius:6px!important}.unified-right-panel .micro-label{font-size:.3em!important;color:#90a4ae!important;text-transform:uppercase!important;letter-spacing:.04em!important;margin-bottom:1px!important}.unified-right-panel .action-buttons{display:flex!important;gap:8px!important;margin-bottom:24px!important;flex-wrap:wrap!important}.unified-right-panel .btn,.unified-right-panel .action-btn,.unified-right-panel .header-action-btn{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;color:#eceff1!important;padding:8px 12px!important;border-radius:6px!important;font-size:.8em!important;font-weight:500!important;cursor:pointer!important;transition:all .2s ease!important;display:flex!important;align-items:center!important;gap:6px!important}.unified-right-panel .btn:hover:not(:disabled),.unified-right-panel .action-btn:hover:not(:disabled),.unified-right-panel .header-action-btn:hover:not(:disabled){background:#ffffff26!important;border-color:#ffffff4d!important;transform:translateY(-1px)!important}.unified-right-panel .btn.primary,.unified-right-panel .action-btn.primary,.unified-right-panel .header-action-btn.primary{background:#2196f333!important;border-color:#2196f3!important;color:#90caf9!important}.unified-right-panel .btn.primary:hover:not(:disabled),.unified-right-panel .action-btn.primary:hover:not(:disabled),.unified-right-panel .header-action-btn.primary:hover:not(:disabled){background:#2196f34d!important;border-color:#42a5f5!important;color:#fff!important}.unified-right-panel .btn.ghost,.unified-right-panel .action-btn.ghost,.unified-right-panel .header-action-btn.ghost{background:transparent!important;border-color:#fff3!important;color:#cfd8dc!important}.unified-right-panel .btn.ghost:hover:not(:disabled),.unified-right-panel .action-btn.ghost:hover:not(:disabled),.unified-right-panel .header-action-btn.ghost:hover:not(:disabled){background:#ffffff14!important}.unified-right-panel .btn.danger,.unified-right-panel .action-btn.danger,.unified-right-panel .header-action-btn.danger{background:#ef444426!important;border-color:#ef444466!important;color:#ff6b6b!important}.unified-right-panel .btn.danger:hover:not(:disabled),.unified-right-panel .action-btn.danger:hover:not(:disabled),.unified-right-panel .header-action-btn.danger:hover:not(:disabled){background:#ef444440!important;border-color:#ef444499!important;color:#fff!important}.unified-right-panel .btn:disabled,.unified-right-panel .action-btn:disabled,.unified-right-panel .header-action-btn:disabled,.unified-right-panel .btn.is-disabled,.unified-right-panel .action-btn.is-disabled,.unified-right-panel .header-action-btn.is-disabled{opacity:.55!important;cursor:not-allowed!important;pointer-events:none!important;filter:grayscale(10%)!important;transform:none!important}.unified-right-panel .btn:focus-visible,.unified-right-panel .action-btn:focus-visible,.unified-right-panel .header-action-btn:focus-visible{outline:none!important;box-shadow:0 0 0 2px #2196f359!important;border-color:#2196f3!important}.toast-container{position:fixed!important;top:var(--spacing-xl)!important;right:var(--spacing-xl)!important;z-index:var(--z-index-tooltip)!important;display:flex!important;flex-direction:column!important;gap:var(--spacing-sm)!important;max-width:400px!important}.toast{background:#000000e6!important;border:1px solid var(--color-border-light)!important;border-radius:var(--border-radius-lg)!important;padding:var(--spacing-md) var(--spacing-lg)!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;box-shadow:var(--shadow-lg)!important;transform:translate(100%)!important;transition:transform var(--transition-normal)!important;border-left:4px solid var(--color-primary)!important}.toast.show{transform:translate(0)!important}.toast.success{border-left-color:var(--color-success)!important}.toast.warning{border-left-color:var(--color-warning)!important}.toast.error{border-left-color:var(--color-error)!important}.toast-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:var(--spacing-xs)!important}.toast-title{color:var(--color-text-primary)!important;font-weight:600!important;font-size:var(--font-size-md)!important}.toast-close{background:none!important;border:none!important;color:var(--color-text-muted)!important;cursor:pointer!important;font-size:var(--font-size-lg)!important;line-height:1!important;padding:0!important}.toast-close:hover{color:var(--color-text-primary)!important}.toast-message{color:var(--color-text-secondary)!important;font-size:var(--font-size-sm)!important;line-height:1.4!important;white-space:pre-wrap!important}.context-menu{position:absolute!important;background:#000000f2!important;border:1px solid var(--color-border-light)!important;border-radius:var(--border-radius-lg)!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;box-shadow:var(--shadow-lg)!important;padding:var(--spacing-xs)!important;z-index:var(--z-index-modal)!important;min-width:180px!important}.context-menu-item{padding:var(--spacing-sm) var(--spacing-md)!important;color:var(--color-text-secondary)!important;font-size:var(--font-size-sm)!important;cursor:pointer!important;border-radius:var(--border-radius-sm)!important;transition:var(--transition-fast)!important;display:flex!important;align-items:center!important;gap:var(--spacing-sm)!important}.context-menu-item:hover{background:var(--color-overlay-light)!important;color:var(--color-text-primary)!important}.context-menu-item.disabled{opacity:.5!important;cursor:not-allowed!important}.context-menu-item.disabled:hover{background:none!important;color:var(--color-text-secondary)!important}.context-menu-separator{height:1px!important;background:var(--color-border-lighter)!important;margin:var(--spacing-xs) 0!important}.waypoint-list{display:flex!important;flex-direction:column!important;gap:var(--spacing-sm)!important}.waypoint-card{background:var(--color-overlay-light)!important;border:1px solid var(--color-border-light)!important;border-radius:var(--border-radius-lg)!important;padding:var(--spacing-md)!important;cursor:pointer!important;transition:var(--transition-normal)!important;display:flex!important;justify-content:space-between!important;align-items:flex-start!important;position:relative!important;overflow:hidden!important;animation:fp-enter .24s ease both!important}.waypoint-card:hover{background:#ffffff14!important;border-color:#fff3!important;transform:translateY(-1px)!important}.waypoint-card.selected{background:#2196f326!important;border-color:var(--color-primary)!important;box-shadow:0 6px 18px #2196f32e inset,0 1px #ffffff0d!important}.waypoint-card:before{content:""!important;position:absolute!important;left:0!important;top:0!important;bottom:0!important;width:3px!important;background:linear-gradient(180deg,#64b5f6,#81c784)!important;opacity:.6!important}.waypoint-card.selected:before{opacity:1!important;background:linear-gradient(180deg,var(--color-primary),#64B5F6)!important}.waypoint-card+.waypoint-card:after{content:""!important;position:absolute!important;left:11px!important;top:-8px!important;height:8px!important;width:2px!important;background:#ffffff26!important;border-radius:1px!important}.segment-connector{display:flex!important;align-items:center!important;gap:10px!important;padding:2px 0 10px!important;margin-left:18px!important}.segment-line{flex:1!important;border-bottom:2px dotted rgba(255,255,255,.2)!important;transform:translateY(2px)!important}.segment-pill{display:inline-flex!important;align-items:center!important;gap:6px!important;background:#ffffff0f!important;border:1px solid rgba(255,255,255,.12)!important;color:#eceff1!important;padding:2px 8px!important;border-radius:999px!important;font-family:var(--font-mono)!important;font-size:11px!important}.segment-pill .seg-value{opacity:.95!important}.segment-pill .seg-dot{opacity:.5!important}.waypoint-info{flex:1!important;min-width:0!important;text-align:left!important}.waypoint-header{display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:var(--spacing-sm)!important;margin-bottom:var(--spacing-xs)!important}.waypoint-name{color:var(--color-text-secondary)!important;font-size:var(--font-size-md)!important;font-weight:600!important;font-family:var(--font-mono)!important}.waypoint-type-badge{font-size:var(--font-size-xs)!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.5px!important;padding:2px var(--spacing-sm)!important;border-radius:var(--border-radius-sm)!important;background:#ffffff0f!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 1px #00000040 inset!important}.waypoint-type-badge.departure{background:#4caf5033!important;color:#81c784!important}.waypoint-type-badge.waypoint{background:#ffc10733!important;color:#ffd54f!important}.waypoint-type-badge.arrival{background:#f4433633!important;color:#e57373!important}.waypoint-details{display:flex!important;gap:var(--spacing-md)!important;font-size:var(--font-size-sm)!important;color:var(--color-text-muted)!important;font-family:var(--font-mono)!important}.waypoint-details .coordinates,.waypoint-details .altitude{background:#ffffff0f!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:999px!important;padding:2px 8px!important;line-height:1.2!important}.waypoint-remove-btn{background:none!important;border:none!important;color:var(--color-error)!important;font-size:1.2em!important;cursor:pointer!important;padding:var(--spacing-xs) var(--spacing-sm)!important;border-radius:var(--border-radius-sm)!important;transition:var(--transition-normal)!important;flex-shrink:0!important;line-height:1!important;opacity:0!important}.waypoint-remove-btn:hover{background:#ef444433!important;color:var(--color-text-primary)!important}.waypoint-card:hover .waypoint-remove-btn{opacity:1!important;transform:scale(1.05)!important}@keyframes fp-enter{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.analysis-summary{background:var(--color-overlay-light)!important;border:1px solid var(--color-border-light)!important;border-radius:var(--border-radius-lg)!important;padding:var(--spacing-lg)!important}.summary-text{color:var(--color-text-secondary)!important;font-size:var(--font-size-md)!important;line-height:1.5!important;margin-bottom:var(--spacing-lg)!important;white-space:pre-wrap!important}.risk-findings h5{color:var(--color-text-secondary)!important;font-size:var(--font-size-md)!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.5px!important;margin-bottom:var(--spacing-sm)!important;border-bottom:1px solid var(--color-border-light)!important;padding-bottom:var(--spacing-xs)!important}.risk-finding{background:#ffffff08!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:var(--border-radius-md)!important;padding:var(--spacing-sm) var(--spacing-md)!important;margin-bottom:var(--spacing-sm)!important;border-left:3px solid var(--color-text-muted)!important}.risk-finding.high{border-left-color:var(--color-error)!important;background:#f443360d!important}.risk-finding.medium{border-left-color:var(--color-warning)!important;background:#ff98000d!important}.risk-finding.low{border-left-color:var(--color-success)!important;background:#4caf500d!important}.risk-title{color:var(--color-text-secondary)!important;font-size:var(--font-size-md)!important;font-weight:600!important;display:block!important;margin-bottom:var(--spacing-xs)!important}.risk-description{color:var(--color-text-muted)!important;font-size:var(--font-size-sm)!important;line-height:1.4!important}.weather-section{margin-bottom:var(--spacing-xl)!important}.weather-list{display:flex!important;flex-direction:column!important;gap:var(--spacing-md)!important}.weather-item{background:var(--color-overlay-light)!important;border:1px solid var(--color-border-light)!important;border-radius:var(--border-radius-lg)!important;padding:var(--spacing-md)!important}.weather-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:var(--spacing-sm)!important}.weather-station{color:var(--color-primary)!important;font-family:var(--font-mono)!important;font-weight:600!important;font-size:var(--font-size-md)!important}.weather-time{color:var(--color-text-muted)!important;font-family:var(--font-mono)!important;font-size:var(--font-size-sm)!important}.weather-raw{background:#0000004d!important;border:1px solid var(--color-border-lighter)!important;border-radius:var(--border-radius-sm)!important;padding:var(--spacing-sm)!important;font-family:var(--font-mono)!important;font-size:var(--font-size-sm)!important;color:var(--color-text-muted)!important;margin-bottom:var(--spacing-sm)!important;word-break:break-all!important}.weather-decoded{color:var(--color-text-secondary)!important;font-size:var(--font-size-sm)!important;line-height:1.4!important}.taf-forecast{margin-top:var(--spacing-sm)!important}.forecast-period{border-left:2px solid var(--color-border-light)!important;padding-left:var(--spacing-sm)!important;margin-bottom:var(--spacing-sm)!important}.period-time{color:var(--color-primary)!important;font-family:var(--font-mono)!important;font-size:var(--font-size-sm)!important;font-weight:600!important;margin-bottom:var(--spacing-xs)!important}.frequency-list{display:flex!important;flex-direction:column!important;gap:var(--spacing-sm)!important}.frequency-item{background:var(--color-overlay-light)!important;border:1px solid var(--color-border-light)!important;border-radius:var(--border-radius-lg)!important;padding:var(--spacing-md)!important;display:flex!important;justify-content:space-between!important;align-items:center!important}.frequency-item.highlighted{background:#2196f326!important;border-color:#2196f34d!important;border-left:3px solid var(--color-primary)!important}.frequency-name{color:var(--color-text-secondary)!important;font-size:var(--font-size-md)!important;font-weight:500!important}.frequency-value{color:var(--color-primary)!important;font-family:var(--font-mono)!important;font-size:var(--font-size-md)!important;font-weight:600!important}
