:root{--primary-color: #0f3460;--secondary-color: #16213e;--accent-color: #e94560;--background-color: #1a1a2e;--surface-color: #16213e;--text-color: #ffffff;--text-secondary: #a0a0a0;--success-color: #4caf50;--warning-color: #ff9800;--error-color: #f44336;--border-radius: 12px;--transition: all .3s ease;--shadow: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .4)}[data-theme=light]{--primary-color: #2196f3;--secondary-color: #1976d2;--accent-color: #e91e63;--background-color: #f5f5f5;--surface-color: #ffffff;--text-color: #212121;--text-secondary: #757575;--shadow: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--background-color);color:var(--text-color);line-height:1.6;min-height:100vh;overflow-x:hidden}.auth-container{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--background-color);display:none;align-items:center;justify-content:center;padding:1.5rem;z-index:1002}.auth-container.active{display:flex}.auth-screen{display:none;width:100%;max-width:420px}.auth-screen.active{display:block}.auth-card{background-color:var(--surface-color);border-radius:var(--border-radius);padding:2rem;box-shadow:var(--shadow-lg);text-align:center}.auth-title{font-size:1.5rem;margin-bottom:.5rem}.auth-subtitle{color:var(--text-secondary);margin-bottom:1.5rem}.auth-info{background-color:rgba(0,0,0,.2);border-radius:8px;padding:1rem;font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem}.auth-info-warning{color:var(--warning-color);font-weight:600}.auth-form{display:flex;flex-direction:column;gap:.75rem;text-align:left}.auth-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.auth-form input{padding:.75rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);background-color:var(--background-color);color:var(--text-color);text-align:center}.auth-action{margin-top:.5rem}.auth-error{color:var(--error-color);font-size:.85rem;padding:.5rem 0}.auth-install-instructions{background-color:rgba(255,255,255,.06);padding:.75rem;border-radius:8px;font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem}iframe{max-width:100%}#app{display:flex;flex-direction:column;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-bottom:.5em}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}p{margin-bottom:1em;color:var(--text-secondary)}a{color:var(--accent-color);text-decoration:none;transition:var(--transition)}a:hover{opacity:.8}.header{background-color:var(--surface-color);padding:1rem;position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.header-actions{display:flex;align-items:center;gap:.75rem}.wifi-indicator{position:relative;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:#e64b4b;border-radius:999px;background-color:rgba(230,75,75,.12)}.wifi-indicator svg{width:20px;height:20px}.wifi-indicator .wifi-slash{position:absolute;width:2px;height:22px;background-color:currentColor;transform:rotate(-45deg);border-radius:999px;opacity:0;transition:var(--transition)}.wifi-indicator.offline .wifi-slash{opacity:1}.logo{font-size:1.5rem;font-weight:700;color:var(--accent-color);margin:0}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px;z-index:101}.menu-toggle span{display:block;width:25px;height:3px;background-color:var(--text-color);border-radius:2px;transition:var(--transition)}.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.nav{background-color:var(--surface-color);position:fixed;top:60px;left:0;right:0;transform:translateY(-100%);opacity:0;transition:var(--transition);z-index:99;box-shadow:var(--shadow)}.nav.active{transform:translateY(0);opacity:1}.nav-list{list-style:none;padding:1rem;max-width:1200px;margin:0 auto}.nav-link{display:block;padding:1rem;color:var(--text-color);border-radius:var(--border-radius);transition:var(--transition)}.nav-link:hover,.nav-link.active{background-color:var(--primary-color);color:var(--text-color)}.main{flex:1;padding:1.5rem;max-width:1200px;margin:0 auto;width:100%}.container{width:100%}.page{display:none;animation:fadeIn .3s ease}.page.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.home-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.5rem 0;max-width:560px;margin:0 auto}.home-warning{margin:0 auto;padding:.9rem 1rem;max-width:560px;border-radius:12px;background:rgba(224,70,70,.12);border:1px solid rgba(224,70,70,.45);color:#e04646;font-size:.85rem;font-weight:600;text-align:center;line-height:1.3}.home-menu-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;aspect-ratio:1 / 1;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(0,0,0,.15));border:2px solid transparent;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);box-shadow:0 10px rgba(0,0,0,.35),0 14px 20px rgba(0,0,0,.35);text-align:center}.home-menu-btn:hover{border-color:var(--accent-color);transform:translateY(-3px);box-shadow:0 12px rgba(0,0,0,.35),0 18px 26px rgba(0,0,0,.4)}.home-menu-btn:active{transform:translateY(6px);box-shadow:0 4px rgba(0,0,0,.35),0 8px 14px rgba(0,0,0,.3)}.home-menu-btn:focus,.home-menu-btn:focus-visible{outline:none;box-shadow:0 10px rgba(0,0,0,.35),0 14px 20px rgba(0,0,0,.35);border-color:transparent}.home-menu-icon{color:var(--accent-color);display:flex;align-items:center;justify-content:center}.home-menu-label{font-size:1.25rem;font-weight:700;color:var(--text-color);letter-spacing:.1em}@media (max-width: 520px){.home-menu{gap:.75rem;padding:1rem 0 .5rem}.home-menu-btn{padding:1rem;gap:.75rem}.home-menu-label{font-size:1rem;letter-spacing:.08em}}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;min-height:50vh}.placeholder-icon{color:var(--text-secondary);margin-bottom:1.5rem;opacity:.5}.placeholder-text{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2rem}.placeholder-content .btn{max-width:200px}.directory-search{margin-top:1.5rem;background-color:var(--surface-color);padding:1.25rem;border-radius:var(--border-radius);box-shadow:var(--shadow)}.directory-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.directory-input{width:100%;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background-color:var(--background-color);color:var(--text-color);font-size:1rem;transition:var(--transition)}.directory-input:focus{outline:none;border-color:var(--accent-color)}.directory-dropdown{margin-top:.75rem;border-radius:8px;overflow:hidden;display:none;border:1px solid rgba(255,255,255,.1);max-height:360px;overflow-y:auto}.directory-dropdown.open{display:block}.directory-item{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background-color:var(--background-color);border:none;color:var(--text-color);text-align:left;cursor:pointer;transition:var(--transition)}.directory-dropdown::-webkit-scrollbar{width:8px}.directory-dropdown::-webkit-scrollbar-track{background:rgba(255,255,255,.04)}.directory-dropdown::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:999px}.directory-item+.directory-item{border-top:1px solid rgba(255,255,255,.06)}.directory-item:hover{background-color:rgba(255,255,255,.06)}.directory-item-name{display:block;font-weight:600}.directory-item-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.directory-item-full-name{display:block;font-size:.82rem;color:var(--text-secondary);line-height:1.35}.directory-item-meta{display:block;font-size:.8rem;color:var(--text-secondary)}.directory-hint{margin-top:.75rem;font-size:.85rem;color:var(--text-secondary)}.stats-header{display:flex;gap:1rem;align-items:center;margin:1.5rem 0}.stats-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.stats-select{flex:1;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background-color:var(--background-color);color:var(--text-color);font-size:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.stats-card{background-color:var(--surface-color);border-radius:var(--border-radius);padding:1.25rem;box-shadow:var(--shadow)}.stats-card-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.75rem}.stats-list{display:flex;flex-direction:column;gap:.5rem;max-height:240px;overflow-y:auto}.stats-list-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--background-color);border-radius:8px;padding:.6rem .75rem;font-size:.9rem}.stats-metric{display:flex;justify-content:space-between;align-items:baseline;margin-top:.5rem;font-size:.95rem}.stats-metric strong{font-size:1.2rem;color:var(--accent-color)}.stats-note{font-size:.75rem;color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.5rem;border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);width:100%}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover{background-color:#d63050;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background-color:var(--primary-color);color:#fff}.btn-secondary:hover{background-color:var(--secondary-color)}.hidden{display:none!important}.visually-hidden{display:none}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.feature-card{background-color:var(--surface-color);padding:1.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow);transition:var(--transition)}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.feature-icon{width:48px;height:48px;margin-bottom:1rem;color:var(--accent-color)}.feature-icon svg{width:100%;height:100%}.feature-card h3{margin-bottom:.5rem}.feature-card p{margin:0;font-size:.9rem}.about-content{margin-top:1.5rem}.info-card{background-color:var(--surface-color);padding:1.5rem;border-radius:var(--border-radius);margin-bottom:1rem;box-shadow:var(--shadow)}.info-card h3{color:var(--accent-color);margin-bottom:.5rem}.info-card ul{list-style:none;padding:0}.info-card li{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05);color:var(--text-secondary)}.info-card li:last-child{border-bottom:none}.settings-list{margin-top:1.5rem}.setting-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--surface-color);padding:1.25rem;border-radius:var(--border-radius);margin-bottom:1rem;box-shadow:var(--shadow)}.setting-info h3{margin-bottom:.25rem;font-size:1rem}.setting-info p{margin:0;font-size:.85rem}.toggle{position:relative;display:inline-block;width:52px;height:28px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#555;border-radius:28px;transition:var(--transition)}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:var(--transition)}.toggle input:checked+.toggle-slider{background-color:var(--accent-color)}.toggle input:checked+.toggle-slider:before{transform:translate(24px)}.footer{background-color:var(--surface-color);padding:1.5rem;text-align:center;margin-top:auto}.footer p{margin:0;font-size:.875rem}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(100px);background-color:var(--surface-color);color:var(--text-color);padding:1rem 2rem;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:1000;opacity:0;transition:var(--transition)}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.toast.success{border-left:4px solid var(--success-color)}.toast.error{border-left:4px solid var(--error-color)}.toast.warning{border-left:4px solid var(--warning-color)}.update-banner{position:fixed;top:0;left:0;right:0;background-color:var(--accent-color);color:#fff;padding:.75rem 1rem;display:flex;justify-content:center;align-items:center;gap:1rem;z-index:1100;font-weight:500;box-shadow:var(--shadow)}.update-banner.hidden{display:none}.update-banner .btn{padding:.4rem 1rem;font-size:.85rem;background-color:#fff;color:var(--accent-color)}.update-banner .btn:hover{background-color:rgba(255,255,255,.9)}@media (min-width: 768px){.menu-toggle{display:none}.nav{position:static;transform:none;opacity:1;background-color:transparent;box-shadow:none}.nav-list{display:flex;gap:.5rem;padding:.5rem 1rem}.nav-link{padding:.5rem 1rem}.header-content{flex-wrap:wrap}.main{padding:2rem}}@supports (padding: max(0px)){.header{padding-top:max(1rem,env(safe-area-inset-top))}.footer{padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.roster-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.roster-container{position:relative}.roster-loading{position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:5;border-radius:var(--border-radius);backdrop-filter:blur(2px)}.roster-header h2{margin:0}.roster-actions{display:flex;gap:.5rem;align-items:stretch}.roster-actions .btn-sm{min-height:40px}.hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.btn-sm{padding:.5rem 1rem;font-size:.875rem;width:auto;gap:.5rem}.btn-icon{background:none;border:none;color:var(--text-color);cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.btn-icon:hover{background-color:rgba(255,255,255,.1)}.btn-icon svg{width:24px;height:24px}.btn-danger{background-color:var(--error-color);color:#fff}.btn-danger:hover{background-color:#d32f2f}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;background-color:var(--surface-color);padding:1rem;border-radius:var(--border-radius)}.calendar-nav h3{margin:0;font-size:1.1rem}.month-picker-trigger{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s ease}.month-picker-trigger:hover{color:var(--accent-color)}.month-picker-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.calendar{background-color:var(--surface-color);border-radius:var(--border-radius);padding:1rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.calendar-weekdays div{text-align:center;font-weight:600;font-size:.75rem;color:var(--text-secondary);padding:.5rem;text-transform:uppercase}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:var(--transition);font-size:1.2rem;position:relative;min-height:40px}.calendar-day:hover{background-color:rgba(255,255,255,.1)}.calendar-day.other-month{color:var(--text-secondary);opacity:.5}.calendar-day.today{background-color:var(--primary-color);font-weight:600}.calendar-day.today-highlight{background-color:#e04646;color:#fff}.calendar-day.selected{background-color:var(--accent-color);color:#fff}.calendar-day.today-highlight.selected{background-color:#e04646;color:#fff}.calendar-day.has-flight{font-weight:600}.calendar-day.has-flight:after{content:"";position:absolute;bottom:1px;left:50%;transform:translate(-50%);width:10px;height:10px;background-color:var(--accent-color);border-radius:50%}.calendar-day.free-day:after{content:"";position:absolute;bottom:1px;left:50%;transform:translate(-50%);width:10px;height:10px;background-color:transparent;border:2px solid var(--success-color);border-radius:50%;box-sizing:border-box}.calendar-day.today.has-flight:after,.calendar-day.selected.has-flight:after{background-color:#fff}.calendar-day.icon-takeoff:after,.calendar-day.icon-landing:after,.calendar-day.icon-hotel:after,.calendar-day.icon-turnaround:after{width:clamp(14px,4vw,24px);height:clamp(14px,4vw,24px);bottom:0;border-radius:0;background-color:var(--accent-color);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.calendar-day.icon-takeoff:after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5,19H21.5V21H2.5V19M22.07,9.64C21.86,8.84 21.03,8.36 20.23,8.58L14.92,10L8,3.57L6.09,4.08L10.23,11.25L5.26,12.58L3.29,11.04L1.84,11.43L3.66,14.59L4.44,15.92L22.07,9.64Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5,19H21.5V21H2.5V19M22.07,9.64C21.86,8.84 21.03,8.36 20.23,8.58L14.92,10L8,3.57L6.09,4.08L10.23,11.25L5.26,12.58L3.29,11.04L1.84,11.43L3.66,14.59L4.44,15.92L22.07,9.64Z'/%3E%3C/svg%3E")}.calendar-day.icon-landing:after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5,19H21.5V21H2.5V19'/%3E%3Cpath d='M22.07,9.64C21.86,8.84 21.03,8.36 20.23,8.58L14.92,10L8,3.57L6.09,4.08L10.23,11.25L5.26,12.58L3.29,11.04L1.84,11.43L3.66,14.59L4.44,15.92L22.07,9.64Z' transform='rotate(45 12 12)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5,19H21.5V21H2.5V19'/%3E%3Cpath d='M22.07,9.64C21.86,8.84 21.03,8.36 20.23,8.58L14.92,10L8,3.57L6.09,4.08L10.23,11.25L5.26,12.58L3.29,11.04L1.84,11.43L3.66,14.59L4.44,15.92L22.07,9.64Z' transform='rotate(45 12 12)'/%3E%3C/svg%3E")}.calendar-day.icon-hotel:after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19,7H11V14H3V5H1V20H3V17H21V20H23V11A4,4 0 0,0 19,7M7,13A3,3 0 0,0 10,10A3,3 0 0,0 7,7A3,3 0 0,0 4,10A3,3 0 0,0 7,13Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19,7H11V14H3V5H1V20H3V17H21V20H23V11A4,4 0 0,0 19,7M7,13A3,3 0 0,0 10,10A3,3 0 0,0 7,7A3,3 0 0,0 4,10A3,3 0 0,0 7,13Z'/%3E%3C/svg%3E");background-color:var(--accent-color)!important;border:none!important}.calendar-day.icon-turnaround:after{width:clamp(16px,4.5vw,28px);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 9.74C4.46 10.97 4 12.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 9.74C4.46 10.97 4 12.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z'/%3E%3C/svg%3E")}.calendar-day.connect-right:before,.calendar-day.connect-left:before{content:"";position:absolute;bottom:4px;height:2px;background-color:var(--accent-color);width:50%;z-index:0}.calendar-day.connect-right:before{right:0}.calendar-day.connect-left:before{left:0}.calendar-day.has-flight.intermediate:after{background-color:transparent!important;border:2px solid var(--accent-color);box-sizing:border-box}.calendar-day.has-flight.intermediate.icon-hotel:after{background-color:var(--accent-color)!important;border:none!important;width:14px;height:14px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19,7H11V14H3V5H1V20H3V17H21V20H23V11A4,4 0 0,0 19,7M7,13A3,3 0 0,0 10,10A3,3 0 0,0 7,7A3,3 0 0,0 4,10A3,3 0 0,0 7,13Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19,7H11V14H3V5H1V20H3V17H21V20H23V11A4,4 0 0,0 19,7M7,13A3,3 0 0,0 10,10A3,3 0 0,0 7,7A3,3 0 0,0 4,10A3,3 0 0,0 7,13Z'/%3E%3C/svg%3E")}.calendar-day.has-flight.intermediate.duty-standby:after{border-color:var(--warning-color)}.calendar-day.has-flight.intermediate.duty-dayoff:after{border-color:var(--success-color)}.calendar-day.has-flight.intermediate.duty-training:after{border-color:#9c27b0}.calendar-day.has-flight.intermediate.duty-sick:after{border-color:var(--warning-color)}.calendar-day.has-flight.intermediate.duty-medical:after{border-color:#ec407a}.calendar-day.has-flight.intermediate.duty-vacation:after{border-color:#00bcd4}.calendar-day.has-flight.intermediate.duty-ground:after{border-color:#607d8b}.calendar-day.today.has-flight.intermediate:after,.calendar-day.selected.has-flight.intermediate:after{border-color:#fff}.calendar-day.today.icon-takeoff:after,.calendar-day.selected.icon-takeoff:after,.calendar-day.today.icon-landing:after,.calendar-day.selected.icon-landing:after,.calendar-day.today.icon-hotel:after,.calendar-day.selected.icon-hotel:after,.calendar-day.today.icon-turnaround:after,.calendar-day.selected.icon-turnaround:after{background-color:#fff!important}.calendar-day.duty-standby:after{background-color:#f5c400}.calendar-day.duty-dayoff:after{background-color:var(--success-color)}.calendar-day.duty-training:after{background-color:#9c27b0}.calendar-day.duty-sick:after{background-color:#ff7a00}.calendar-day.duty-medical:after{background-color:#ec407a}.calendar-day.duty-vacation:after{background-color:#00bcd4}.calendar-day.duty-ground:after{background-color:#607d8b}.calendar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.5rem;padding:0 .5rem}.legend-item{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-secondary)}.legend-marker{display:inline-block;width:12px;height:12px}.legend-marker.dot{border-radius:50%;width:8px;height:8px}.legend-marker.standby{background-color:#f5c400}.legend-marker.dayoff{background-color:var(--success-color)}.legend-marker.sick{background-color:#ff6b00}.legend-marker.medical{background-color:#ec407a}.legend-marker.free{background-color:transparent;border:2px solid var(--success-color);box-sizing:border-box}.legend-marker.vacation{background-color:#00bcd4}.legend-marker.training{background-color:#9c27b0}.legend-marker.ground{background-color:#607d8b}.legend-marker.icon-takeoff,.legend-marker.icon-landing,.legend-marker.icon-hotel,.legend-marker.icon-turnaround{background-color:var(--accent-color);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.legend-marker.icon-takeoff{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5,19H21.5V21H2.5V19M22.07,9.64C21.86,8.84 21.03,8.36 20.23,8.58L14.92,10L8,3.57L6.09,4.08L10.23,11.25L5.26,12.58L3.29,11.04L1.84,11.43L3.66,14.59L4.44,15.92L22.07,9.64Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5,19H21.5V21H2.5V19M22.07,9.64C21.86,8.84 21.03,8.36 20.23,8.58L14.92,10L8,3.57L6.09,4.08L10.23,11.25L5.26,12.58L3.29,11.04L1.84,11.43L3.66,14.59L4.44,15.92L22.07,9.64Z'/%3E%3C/svg%3E")}.legend-marker.icon-landing{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5,19H21.5V21H2.5V19'/%3E%3Cpath d='M22.07,9.64C21.86,8.84 21.03,8.36 20.23,8.58L14.92,10L8,3.57L6.09,4.08L10.23,11.25L5.26,12.58L3.29,11.04L1.84,11.43L3.66,14.59L4.44,15.92L22.07,9.64Z' transform='rotate(45 12 12)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5,19H21.5V21H2.5V19'/%3E%3Cpath d='M22.07,9.64C21.86,8.84 21.03,8.36 20.23,8.58L14.92,10L8,3.57L6.09,4.08L10.23,11.25L5.26,12.58L3.29,11.04L1.84,11.43L3.66,14.59L4.44,15.92L22.07,9.64Z' transform='rotate(45 12 12)'/%3E%3C/svg%3E")}.legend-marker.icon-hotel{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19,7H11V14H3V5H1V20H3V17H21V20H23V11A4,4 0 0,0 19,7M7,13A3,3 0 0,0 10,10A3,3 0 0,0 7,7A3,3 0 0,0 4,10A3,3 0 0,0 7,13Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19,7H11V14H3V5H1V20H3V17H21V20H23V11A4,4 0 0,0 19,7M7,13A3,3 0 0,0 10,10A3,3 0 0,0 7,7A3,3 0 0,0 4,10A3,3 0 0,0 7,13Z'/%3E%3C/svg%3E")}.legend-marker.icon-turnaround{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 9.74C4.46 10.97 4 12.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 9.74C4.46 10.97 4 12.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z'/%3E%3C/svg%3E")}.day-details{background-color:var(--surface-color);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow);scroll-margin-top:3.5rem}.day-details h3{margin-bottom:1rem;color:var(--accent-color)}.day-flights{display:flex;flex-direction:column;gap:.75rem}.flight-card{background-color:var(--background-color);border-radius:8px;padding:1rem;cursor:pointer;transition:var(--transition);border-left:4px solid var(--accent-color)}.flight-card:hover{transform:translate(5px)}.flight-card.standby{border-left-color:var(--warning-color)}.flight-card.dayoff{border-left-color:var(--success-color)}.flight-card.vacation{border-left-color:#00bcd4}.flight-card.training{border-left-color:#9c27b0}.flight-card.sick{border-left-color:#ff6b00}.flight-card.medical{border-left-color:#ec407a}.flight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.flight-number{font-weight:700;font-size:1.1rem;color:var(--text-color)}.flight-aircraft{font-size:.8rem;color:var(--text-secondary);background-color:rgba(255,255,255,.1);padding:.2rem .5rem;border-radius:4px}.flight-route{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.flight-airport{font-weight:600;font-size:1rem}.flight-arrow{color:var(--text-secondary);flex-shrink:0;display:flex;align-items:center}.flight-arrow svg{transform:rotate(90deg)}.flight-times{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary)}.flight-times.vertical{flex-direction:column;gap:.25rem}.next-flight-duty{background-color:var(--surface-color);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.next-flight-duty h3{margin-bottom:1rem}.upcoming-flights{background-color:var(--surface-color);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow)}.upcoming-flights h3{margin-bottom:1rem}.flight-list{display:flex;flex-direction:column;gap:.75rem}.empty-state{text-align:center;color:var(--text-secondary);padding:2rem}body.modal-open{overflow:hidden;touch-action:none}.modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal.hidden{display:none}.modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7)}.modal-content{position:relative;display:flex;flex-direction:column;background-color:var(--surface-color);border-radius:var(--border-radius);width:100%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-lg);animation:modalSlideIn .3s ease}.sigwx-modal-content{max-width:900px;width:95vw;max-height:90vh}.sigwx-modal-body{display:flex;flex-direction:column}.sigwx-modal-canvas{flex:1;overflow:auto;background-color:var(--background-color);border-radius:8px;padding:.5rem;touch-action:none}.sigwx-modal-image{display:block;width:100%;height:auto;touch-action:none}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);background-color:var(--surface-color);flex-shrink:0;z-index:1}.modal-header h3{margin:0}.modal-body{padding:1.5rem;flex:1;overflow-y:auto}.modal-footer{display:flex;gap:1rem;margin-top:1.5rem}.modal-footer .btn{flex:1}.roster-import-modal-content{max-width:520px}.roster-import-text{margin:0 0 1rem;color:var(--text-secondary);font-size:.95rem}.roster-import-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.roster-import-image{width:100%;border-radius:8px;border:1px solid rgba(255,255,255,.08);background-color:var(--background-color)}.notes-container{display:flex;flex-direction:column}.notes-list{display:flex;flex-direction:column;gap:1rem}.note-card{background-color:var(--background-color);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;transition:var(--transition)}.hotel-info-placeholder{padding:1.5rem;text-align:center}.hotel-info-placeholder p{color:var(--text-secondary);font-size:.95rem;margin:0}.note-card:hover{border-color:rgba(255,255,255,.2)}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.note-timestamp{font-size:.85rem;color:var(--text-secondary)}.note-actions{display:flex;gap:.5rem}.note-edit-btn,.note-delete-btn{padding:.25rem;opacity:.7;transition:var(--transition)}.note-edit-btn:hover,.note-delete-btn:hover{opacity:1}.note-edit-btn svg{width:18px;height:18px}.note-delete-btn svg{width:18px;height:18px;stroke:#ff6b6b}.note-content{color:var(--text-color);font-size:.95rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.no-notes-text,.error-text{text-align:center;padding:2rem 1rem;color:var(--text-secondary);font-size:.95rem}.error-text{color:#ff6b6b}.note-modal-content{max-width:600px}.note-textarea{width:100%;min-height:200px;padding:1rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background-color:var(--background-color);color:var(--text-color);font-size:1rem;font-family:inherit;line-height:1.6;resize:vertical;transition:var(--transition)}.note-textarea:focus{outline:none;border-color:var(--accent-color)}.note-textarea::placeholder{color:var(--text-secondary);opacity:.5}#add-note-btn{margin-bottom:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background-color:var(--background-color);color:var(--text-color);font-size:1rem;transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-secondary)}.form-group textarea{resize:vertical;min-height:60px}.details-modal-content{max-width:450px}.details-body{padding:1.5rem}.details-section{margin-bottom:1.5rem}.details-section:last-of-type{margin-bottom:0}.details-section-title{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.5rem;letter-spacing:.5px}.details-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.details-row:last-child{border-bottom:none}.details-label{color:var(--text-secondary);font-size:.9rem}.details-value{font-weight:600;font-size:.95rem;color:var(--text-color)}.details-route{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background-color:var(--background-color);border-radius:8px;margin:.5rem 0}.details-airport{flex:1;text-align:center;padding:.5rem}.details-airport-label{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.details-airport-code-row{display:flex;align-items:center;justify-content:center;gap:.5rem}.airport-info-icon{color:var(--accent-color);cursor:pointer;display:flex;align-items:center;opacity:.8;transition:var(--transition)}.airport-info-icon:hover{opacity:1;transform:scale(1.1)}.details-airport-code{font-size:1.5rem;font-weight:700;color:var(--text-color)}.details-airport-time{font-size:.9rem;color:var(--text-color);margin-top:.25rem;font-weight:500}.details-airport-time-utc{font-size:.85rem;color:var(--accent-color);margin-top:.15rem;font-weight:500}.details-airport-date{font-size:.8rem;color:var(--text-secondary);margin-top:.15rem}.airport-info-btn{padding:.3rem .9rem;font-size:.96rem;width:auto;margin-top:.5rem}.details-arrow{color:var(--accent-color);flex-shrink:0;display:flex;align-items:center;flex-direction:column;gap:.35rem}.details-arrow svg{transform:rotate(90deg)}.details-sun-event{font-size:.7rem;font-weight:600;color:var(--accent-color);text-align:center;line-height:1.2}.sun-event{display:inline-flex;flex-direction:column;align-items:center;gap:.1rem}.sun-event-label{font-size:.68rem;color:var(--text-secondary)}.sun-event-time{white-space:nowrap}.sun-event-sep{margin:0 .25rem}.details-radiation{display:flex;flex-direction:column;align-items:center;gap:.2rem;font-size:.7rem;color:var(--text-secondary);text-align:center}.radiation-label{color:var(--text-secondary);font-size:.68rem}.radiation-value{color:#e04646;font-weight:700}.details-duration{display:flex;flex-direction:column;align-items:center;gap:.2rem;text-align:center;margin-top:.5rem}.duration-label{font-size:.7rem;color:var(--text-secondary);font-weight:500}.duration-value{font-size:.85rem;color:var(--accent-color);font-weight:600}.details-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.details-badge.flight{background-color:rgba(233,69,96,.2);color:var(--accent-color)}.details-badge.standby{background-color:rgba(255,152,0,.2);color:var(--warning-color)}.details-badge.dayoff{background-color:rgba(76,175,80,.2);color:var(--success-color)}.details-badge.vacation{background-color:rgba(0,188,212,.2);color:#00bcd4}.details-badge.training{background-color:rgba(156,39,176,.2);color:#ce93d8}.details-badge.sick{background-color:rgba(255,107,0,.2);color:#ff6b00}.details-badge.medical{background-color:rgba(236,64,122,.2);color:#f48fb1}.details-badge.ground{background-color:rgba(33,150,243,.2);color:#64b5f6}.details-notes{background-color:var(--background-color);border-radius:8px;padding:1rem;font-size:.9rem;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:150px;overflow-y:auto}.img-fluid{display:block;max-width:100%;height:auto}.sigwx-chart{background-color:var(--background-color);border-radius:8px;padding:.75rem;text-align:center}.sigwx-chart img{cursor:zoom-in}.sigwx-caption{margin-top:.5rem;font-size:.75rem;color:var(--text-secondary)}.crew-list{background-color:var(--background-color);border-radius:8px;padding:.5rem;max-height:200px;overflow-y:auto}.crew-member{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.crew-member:last-child{border-bottom:none}.crew-role{font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;min-width:36px;text-align:center;background-color:rgba(255,255,255,.1);color:var(--text-secondary)}.crew-role-shared{color:#f5c542;border:1px solid rgba(245,197,66,.6);background-color:rgba(245,197,66,.15)}.crew-name{font-size:.9rem;color:var(--text-color)}.crew-name.clickable{color:var(--accent-color);cursor:pointer;transition:var(--transition)}.crew-pairings-list{margin:.5rem 0 0;padding-left:1.25rem;color:var(--text-color);font-size:.9rem;line-height:1.4}.crew-name.clickable:hover{text-decoration:underline;opacity:.8}.crew-modal-content{max-width:400px}.crew-modal-close{width:auto;padding:.35rem .9rem;font-size:.75rem;letter-spacing:.08em}.crew-info-header{text-align:center;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.crew-info-name{font-size:1.25rem;font-weight:700;color:var(--text-color);margin-bottom:.5rem}.crew-info-role{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;background-color:rgba(233,69,96,.2);color:var(--accent-color)}.crew-info-section{margin-bottom:1rem}.crew-info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.crew-info-row:last-child{border-bottom:none}.crew-info-label{color:var(--text-secondary);font-size:.9rem}.crew-info-value{font-weight:600;color:var(--text-color);text-align:right}.crew-contact-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.crew-contact-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1rem;border-radius:var(--border-radius);font-size:.95rem;font-weight:600;text-decoration:none;transition:var(--transition)}.crew-contact-btn svg{width:20px;height:20px;flex-shrink:0}.crew-contact-btn.email{background-color:var(--primary-color);color:#fff}.crew-contact-btn.email:hover{background-color:var(--secondary-color);transform:translateY(-2px)}.crew-contact-btn.phone{background-color:var(--success-color);color:#fff}.crew-contact-btn.phone:hover{background-color:#43a047;transform:translateY(-2px)}.crew-contact-btn.disabled{background-color:rgba(255,255,255,.1);color:var(--text-secondary);cursor:not-allowed;pointer-events:none}.crew-not-found{text-align:center;padding:2rem 1rem;color:var(--text-secondary)}.crew-not-found svg{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.crew-not-found p{margin:0}.email-all-crew-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:1rem;padding:.75rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition)}.email-all-crew-btn:hover{background-color:var(--secondary-color);transform:translateY(-2px)}.email-all-crew-btn:active{transform:translateY(0)}.email-all-crew-btn svg{flex-shrink:0}@media (max-width: 480px){.main,.weather-card{padding:1rem}.roster-header{gap:.5rem}.roster-header h2{font-size:1.25rem}.roster-actions .btn-sm{padding:.4rem .6rem;font-size:.75rem}.calendar-day{font-size:.8rem;min-height:35px}.form-row{grid-template-columns:1fr}.flight-route{flex-wrap:wrap}}.weather-container{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;min-height:200px}.weather-card{background-color:var(--surface-color);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow)}.weather-card.warning-banner{background-color:rgba(255,152,0,.15);border-left:4px solid var(--warning-color);margin-bottom:1rem}.weather-card.warning-banner p{margin:0;color:var(--text-color)}.weather-card.warning-banner strong{color:var(--warning-color)}.weather-card h3{color:var(--accent-color);margin-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.weather-raw{font-family:Courier New,Courier,monospace;font-size:.95rem;line-height:1.5;white-space:pre-wrap;color:var(--text-color);background-color:rgba(0,0,0,.2);padding:1rem;border-radius:6px;border-left:3px solid var(--primary-color)}.weather-time{font-size:.8rem;color:var(--text-secondary);margin-top:.5rem;text-align:right}.forecast-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:.5rem}.forecast-day{background-color:rgba(0,0,0,.2);padding:.75rem;border-radius:6px;border-left:3px solid var(--accent-color);text-align:center}.forecast-date{display:flex;flex-direction:column;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.forecast-date strong{font-size:1rem;color:var(--accent-color)}.forecast-date span{font-size:.85rem;color:var(--text-secondary)}.forecast-condition{font-size:.9rem;margin-bottom:.5rem;color:var(--text-color);font-weight:500}.forecast-temp{font-size:1.1rem;margin-bottom:.5rem}.forecast-temp .temp-max{color:#ff9500;font-weight:700}.forecast-temp .temp-min{color:#5ac8fa}.forecast-wind,.forecast-precip{font-size:.85rem;color:var(--text-secondary);margin-top:.25rem}.station-info-card{border-left:3px solid var(--accent-color)}.station-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:.75rem}.station-item{display:flex;flex-direction:column;gap:.25rem}.station-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.station-value{font-size:1rem;color:var(--text-color)}.runways-section{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.runways-section h4{color:var(--accent-color);font-size:.95rem;margin-bottom:.5rem}.runway-info{padding:.5rem;background-color:rgba(0,0,0,.2);border-radius:4px;margin-bottom:.5rem;font-size:.9rem}.runway-info:last-child{margin-bottom:0}.runway-info strong{color:var(--accent-color);margin-right:.5rem}.aerodrome-restrictions-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.restrictions-header{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;font-size:1rem;color:var(--text-color);font-weight:600}.restriction-category{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-weight:600;font-size:.75rem;letter-spacing:.5px}.restriction-category-button{border:none;cursor:pointer}.restriction-category-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.aerodrome-modal-content{max-width:520px}.search-actions{display:flex;gap:.75rem;margin:1rem 0 1.5rem;flex-wrap:wrap}.search-panel{padding:1rem;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}.search-label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-secondary)}.search-panel input{width:100%;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background-color:var(--background-color);color:var(--text-color);font-size:1rem;transition:var(--transition)}.search-panel input:focus{outline:none;border-color:var(--accent-color)}#search-aerodrome-input{text-transform:uppercase}.search-results{margin-top:.75rem;display:grid;gap:.5rem}.search-result{display:flex;flex-direction:column;gap:.2rem;padding:.75rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02);cursor:pointer}.search-result:hover{border-color:var(--accent-color)}.search-result-title{font-weight:600;color:var(--text-color)}.search-result-meta{font-size:.85rem;color:var(--text-secondary)}.category-a{background-color:rgba(76,175,80,.2);color:#4caf50;border:1px solid #4CAF50}.category-b{background-color:rgba(255,152,0,.2);color:#ff9800;border:1px solid #FF9800}.category-c{background-color:rgba(244,67,54,.2);color:#f44336;border:1px solid #F44336}.category-na{background-color:#000;color:red;border:1px solid #FF0000;cursor:default;pointer-events:none}.flight-search-filters{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:.75rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px}.flight-search-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%;overflow:hidden}.flight-search-filter-group{display:flex;flex-direction:column;gap:.35rem;min-width:0;overflow:hidden}.flight-search-filter-group label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-search-filter-group input{width:100%;box-sizing:border-box;padding:.6rem .5rem;font-size:.95rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:var(--background-color);color:var(--text-color);transition:var(--transition)}.flight-search-filter-group input:focus{outline:none;border-color:var(--accent-color)}.flight-search-filter-group input[type=date]{color-scheme:dark}.flight-search-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.flight-search-results{display:flex;flex-direction:column;gap:.75rem}.flight-search-result-item{padding:1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:all .2s ease}.flight-search-result-item:hover{background:rgba(255,255,255,.06);border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.flight-search-result-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.flight-search-result-flight{font-weight:600;color:var(--accent-color);font-size:1.1rem}.flight-search-result-route{font-weight:500;color:var(--text-color)}.flight-search-result-details{display:flex;gap:1rem;font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.flight-search-result-crew{font-size:.85rem;color:var(--text-secondary);font-style:italic}.flight-search-empty-state{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic}.restriction-subsection{margin-bottom:1.25rem}.restriction-subsection:last-child{margin-bottom:0}.restriction-subsection strong{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem}.restriction-list{list-style:disc;list-style-position:outside;padding-left:1.5rem;margin:.5rem 0}.restriction-list li{margin-bottom:.4rem;padding-left:.25rem;color:var(--text-color);font-size:.85rem;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;max-width:100%;width:100%}.restriction-row{display:flex;align-items:baseline;gap:.4rem;flex-wrap:nowrap;white-space:nowrap}.restriction-row strong{display:inline;margin-bottom:0}.restriction-row .restriction-empty{color:var(--text-secondary)}.min-hours,.capt-req{margin:.4rem 0;font-size:.85rem;color:var(--text-color);padding-left:1rem}.fleet-subsection{padding:.75rem;background-color:rgba(255,255,255,.03);border-radius:6px;border-left:3px solid rgba(255,107,0,.5)}.collapsible-card{overflow:hidden}.collapsible-header{cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.collapse-icon{font-size:.9rem;transition:transform .3s ease}.collapsible-content{max-height:2000px;opacity:1;overflow:hidden;transition:max-height .5s ease-in-out,opacity .4s ease,padding .4s ease}.collapsible-card.collapsed .collapsible-content{max-height:0;opacity:0;padding-top:0;padding-bottom:0}.loading-text,.loading-spinner{text-align:center;color:var(--text-secondary);padding:2rem}.action-area{margin-top:2rem}
