:root{--lcars-black:#000;--lcars-orange:#f90;--lcars-purple:#c9c;--lcars-blue:#99c;--lcars-red:#c66;--lcars-beige:#fc9}body{font-family:Arial Narrow,Helvetica Condensed,sans-serif;background-color:var(--lcars-black);color:var(--lcars-orange);margin:0;padding:0;height:100vh;height:100dvh;box-sizing:border-box;text-transform:uppercase;letter-spacing:1px;overflow:hidden}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--lcars-black)}::-webkit-scrollbar-thumb{background:var(--lcars-purple);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--lcars-orange)}input,select,textarea{background-color:#222;border:none;border-left:5px solid var(--lcars-orange);color:var(--lcars-orange);font-family:monospace;padding:8px;box-sizing:border-box;font-size:1rem}input[type=checkbox]{width:auto;accent-color:var(--lcars-orange);background:transparent;border:none}table{width:100%;border-collapse:separate;border-spacing:0 5px;margin-top:10px;color:var(--lcars-blue);font-size:.9rem}thead tr{background-color:transparent}th{text-align:left;padding:8px 15px;color:var(--lcars-orange);border-bottom:2px solid var(--lcars-orange);text-transform:uppercase;font-family:Arial Narrow,sans-serif;font-weight:700;letter-spacing:1px;position:sticky;top:0;background-color:var(--lcars-black);z-index:20}tbody tr{background-color:#111}td{padding:10px 15px;border:none;font-family:monospace;vertical-align:middle}td:first-child{border-left:5px solid var(--lcars-purple);border-top-left-radius:10px;border-bottom-left-radius:10px}td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}h1,h2,h3,h4,h5,h6{color:var(--lcars-orange);text-transform:uppercase;font-family:Arial Narrow,sans-serif;margin-top:0}h2{border-bottom:2px solid var(--lcars-orange);display:inline-block;padding-right:20px;margin-bottom:20px}a{color:var(--lcars-blue);text-decoration:none}a:hover{color:var(--lcars-orange);text-decoration:underline}button{font-family:Arial Narrow,sans-serif;text-transform:uppercase;font-weight:700;cursor:pointer}button:not([class]){padding:10px 20px;background-color:var(--lcars-orange);border:none;border-radius:15px;color:#000;font-size:1rem;margin:5px 0}button:not([class]):hover{background-color:var(--lcars-beige)}ul{list-style:none;padding:0}li{padding:5px 0;color:var(--lcars-blue);font-family:monospace;font-size:1rem}label{display:block;margin-bottom:5px;color:var(--lcars-purple);font-size:.9rem}.status-badge{padding:.2rem .5rem;border-radius:12px;color:#000;font-weight:700;font-size:.8rem;text-transform:uppercase;display:inline-block;text-align:center;white-space:nowrap}.status-badge.active{background-color:var(--lcars-orange)}.status-badge.inactive{background-color:var(--lcars-blue)}.status-badge.military{background-color:var(--lcars-red)}.status-badge.civilian{background-color:var(--lcars-blue)}.action-btn{margin-right:.5rem;cursor:pointer;padding:8px 16px;border:none;border-radius:15px;font-weight:700;text-transform:uppercase;font-family:Arial Narrow,sans-serif;font-size:1rem}.action-btn.edit{background-color:var(--lcars-blue);color:#000}.action-btn.deactivate{background-color:var(--lcars-red);color:#000}.action-btn.activate{background-color:var(--lcars-orange);color:#000}.action-btn.delete{background-color:var(--lcars-red);color:#000;border:1px solid #000}.add-alert-btn,.add-btn{padding:8px 16px;border:none;background-color:var(--lcars-orange);color:#000;cursor:pointer;border-radius:15px;font-weight:700;text-transform:uppercase;font-family:Arial Narrow,sans-serif;font-size:1rem;margin-bottom:15px}.add-alert-btn:hover,.add-btn:hover{background-color:var(--lcars-beige)}.dialog-overlay,.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.85);display:flex;justify-content:center;align-items:center;z-index:1000}.dialog-content,.modal-content{background:var(--lcars-black);color:var(--lcars-orange);padding:1.5rem;border-radius:20px;width:95%;max-width:600px;border:4px solid var(--lcars-purple);font-family:Arial Narrow,sans-serif;text-transform:uppercase;box-sizing:border-box;max-height:95vh;overflow-y:auto}.dialog-content h2,.modal-content h2,.modal-header h2{color:var(--lcars-orange);margin-top:0;display:block}.dialog-content h2,.modal-content h2,.modal-header,.modal-header h2{border-bottom:2px solid var(--lcars-orange);padding-bottom:10px;margin-bottom:15px}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header h2{border-bottom:none;margin-bottom:0;padding-bottom:0}.close-button{background:var(--lcars-red);border:none;color:#000;font-weight:700;font-size:1.2rem;cursor:pointer;border-radius:50%;width:30px;height:30px;line-height:30px;text-align:center;padding:0}.button-group,.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.btn-primary,.btn-secondary,.button-group button,.dialog-actions button{padding:8px 16px;border:none;background-color:var(--lcars-blue);color:#000;cursor:pointer;border-radius:15px;font-weight:700;text-transform:uppercase}.btn-primary,.dialog-actions button[type=submit]{background-color:var(--lcars-orange);color:#000}.btn-primary:disabled,.dialog-actions button:disabled{background-color:#b36b00;cursor:not-allowed}.form-group{margin-bottom:1rem}.form-group.checkbox-group label{display:flex;align-items:center;gap:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%}.hint{font-size:.8rem;color:var(--lcars-blue);margin-top:.4rem}.login-container{width:95%;max-width:400px;margin:30px auto;padding:20px;background-color:var(--lcars-black);border:4px solid var(--lcars-purple);border-radius:25px;border-top-right-radius:0;color:var(--lcars-orange);font-family:Arial Narrow,sans-serif;text-transform:uppercase;box-sizing:border-box}.login-container h2{color:var(--lcars-orange);border-bottom:2px solid var(--lcars-orange);padding-bottom:10px;margin-top:0}.error-message{color:var(--lcars-red)}.error-message,.success-message{margin-bottom:15px;font-weight:700;margin-top:10px}.success-message{color:var(--lcars-purple)}.footer-link{margin-top:20px;text-align:center;color:var(--lcars-blue)}.footer-link a{color:var(--lcars-orange);text-decoration:none;font-weight:700}.tabs{display:flex;margin-bottom:20px;gap:10px}.tabs button{flex:1;background:var(--lcars-blue);border:none;color:#000;padding:8px;cursor:pointer;border-radius:15px;font-weight:700;text-transform:uppercase}.tabs button.active{background:var(--lcars-orange)}.traffic-item{background-color:var(--lcars-black);border:1px solid var(--lcars-blue);border-radius:15px;border-top-left-radius:0;border-bottom-left-radius:0;padding:15px;border-left:10px solid var(--lcars-purple);font-family:Arial Narrow,sans-serif;text-transform:uppercase}.status-approaching{border-left-color:var(--lcars-orange)}.status-landed{border-left-color:var(--lcars-blue)}.status-pattern-work{border-left-color:var(--lcars-red)}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.flight{color:var(--lcars-orange);font-size:1.4em;font-weight:700}.icao{font-size:1.2em;color:var(--lcars-purple)}.airport{font-size:.9em;color:var(--lcars-blue)}.speed{color:var(--lcars-beige)}.status{font-size:1em;color:var(--lcars-orange);font-weight:700}.log-frame{border:2px solid var(--lcars-blue);border-radius:15px;border-top-left-radius:0;display:flex;flex-direction:column;overflow:hidden;min-height:0}.log-content,.log-frame{background-color:var(--lcars-black);flex-grow:1}.log-content{overflow-y:auto;padding:15px;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:14px;white-space:pre-wrap;color:var(--lcars-blue)}.log-entry{padding:2px 0}.log-INFO{color:var(--lcars-blue)}.log-ALERT{color:var(--lcars-orange);font-weight:700}.log-WARN{color:var(--lcars-beige)}.log-ERROR{color:var(--lcars-red);font-weight:700}.log-DEBUG{color:#666}.loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.85);color:var(--lcars-orange);display:flex;justify-content:center;align-items:center;font-size:1.5em;z-index:1000;font-family:Arial Narrow,sans-serif;text-transform:uppercase}.empty-state,.no-data{text-align:center;margin-top:20px;color:#888;font-size:1.2rem}.leaflet-tile-pane{filter:invert(1) hue-rotate(180deg)}@media (max-width:768px){body{padding:5px}table{display:block;overflow-x:auto}table:not(.mobile-cards){white-space:nowrap}td,th{padding:8px 10px;font-size:.8rem}.mobile-cards thead{display:none}.mobile-cards tr{display:block;border-bottom:2px solid #333;padding:10px 0;margin-bottom:10px}.mobile-cards td{display:block;padding:2px 0;border:none;width:100%!important}.mobile-cards td[data-label]:before{content:attr(data-label);font-weight:700;color:var(--lcars-blue);margin-right:10px;display:inline-block;min-width:60px;font-size:.8rem;text-transform:uppercase}.header{flex-direction:column;height:auto;padding-bottom:10px;gap:10px}.app-title{font-size:1.5rem}.header-right{width:100%;justify-content:space-between;font-size:.8rem}.tab-bar{overflow-x:auto;padding-bottom:5px;-webkit-overflow-scrolling:touch;gap:10px;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab-bar .tab-button{min-width:-moz-fit-content;min-width:fit-content;padding:5px 15px;font-size:.8rem;white-space:nowrap;height:35px}.dialog-content,.modal-content{padding:1rem;border-width:2px}.tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{min-width:-moz-fit-content;min-width:fit-content;white-space:nowrap;padding:5px 15px;font-size:.8rem;flex:none}input,select,textarea{font-size:.9rem}.action-btn{padding:4px 8px;font-size:.7rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}:root{--lc-orange:#f90;--lc-orange-2:#f70;--lc-yellow:#fc6;--lc-tan:#fc9;--lc-purple:#c9c;--lc-violet:#c6c;--lc-rose:#f99;--lc-blue:#99c;--lc-celestial:#9cc;--lc-steel:#99f;--lc-red:#c66;--lc-tomato:#f66;--lc-watermelon:#f69;--lc-ice:#9ff;--lc-lime:#9f9;--lc-solar:#fc0;--lc-offwhite:#ccc;--lc-black:#000;--lc-bg:var(--lc-black);--lc-frame:var(--lc-orange);--lc-nav:var(--lc-blue);--lc-accent:var(--lc-yellow);--lc-data:var(--lc-orange);--lc-label:var(--lc-tan);--lc-danger:var(--lc-red);--lc-muted:var(--lc-steel);--lc-on-chrome:var(--lc-black);--lc-font-display:"Antonio","Arial Narrow","Helvetica Condensed",sans-serif;--lc-font-data:"Saira Condensed","Arial Narrow","Helvetica Condensed",sans-serif;--lc-font-mono:"SF Mono","Fira Code","Fira Mono","Roboto Mono",monospace;--lc-text-2xs:0.65rem;--lc-text-xs:0.72rem;--lc-text-sm:0.8rem;--lc-text-md:0.95rem;--lc-text-lg:1.2rem;--lc-text-xl:1.5rem;--lc-text-2xl:2rem;--lc-text-3xl:2.6rem;--lc-track-display:0.04em;--lc-track-label:0.12em;--lc-track-data:0.06em;--lc-radius-pill:999px;--lc-radius-arch:1.25rem;--lc-rail-width:90px;--lc-rail-width-sm:44px;--lc-elbow-lg:90px;--lc-elbow-sm:44px;--lc-gutter:16px;--lc-beam-height:22px;--lc-beam-height-sm:14px;--lc-motion-scale:1;--lc-motion-reveal:260ms;--lc-motion-draw:320ms;--lc-motion-slide:300ms;--lc-motion-pulse:500ms;--lc-motion-scan:2800ms;--lc-motion-fetch:1100ms;--lc-motion-step:45ms;--lc-reveal-duration:calc(var(--lc-motion-reveal)*var(--lc-motion-scale));--lc-draw-duration:calc(var(--lc-motion-draw)*var(--lc-motion-scale));--lc-slide-duration:calc(var(--lc-motion-slide)*var(--lc-motion-scale));--lc-pulse-duration:calc(var(--lc-motion-pulse)*var(--lc-motion-scale));--lc-scan-duration:calc(var(--lc-motion-scan)*var(--lc-motion-scale));--lc-fetch-duration:calc(var(--lc-motion-fetch)*var(--lc-motion-scale));--lc-step:calc(var(--lc-motion-step)*var(--lc-motion-scale));--lc-motion-ease:cubic-bezier(0.2,0,0.2,1);--lc-reveal-distance:10px}@media (prefers-reduced-motion:reduce){:root{--lc-motion-scale:0}}.lc-tone-frame{--lc-chrome:var(--lc-frame)}.lc-tone-nav{--lc-chrome:var(--lc-nav)}.lc-tone-accent{--lc-chrome:var(--lc-accent)}.lc-tone-data{--lc-chrome:var(--lc-data)}.lc-tone-label{--lc-chrome:var(--lc-label)}.lc-tone-danger{--lc-chrome:var(--lc-danger)}.lc-tone-muted{--lc-chrome:var(--lc-muted)}.lc-reveal{animation-name:lc-reveal;animation-duration:var(--lc-reveal-duration);animation-timing-function:var(--lc-motion-ease);animation-delay:calc(var(--lc-reveal-index, 0)*var(--lc-step));animation-fill-mode:backwards}@keyframes lc-reveal{0%{opacity:0;transform:translateY(var(--lc-reveal-distance))}to{opacity:1;transform:none}}.lc-draw{animation-name:lc-draw;animation-duration:var(--lc-draw-duration);animation-timing-function:var(--lc-motion-ease);animation-delay:calc(var(--lc-draw-index, 0)*var(--lc-step));animation-fill-mode:backwards}@keyframes lc-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.lc-frame{display:flex;flex:1 1 auto;min-height:0;gap:var(--lc-gutter)}.lc-rail{display:flex;flex-direction:column;flex:0 0 auto;width:var(--lc-rail-width)}.lc-rail-fill{flex:1 1 auto;background-color:var(--lc-chrome,var(--lc-frame))}.lc-frame-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0}.lc-frame-narrow .lc-rail{width:var(--lc-rail-width-sm)}.lc-frame-none .lc-rail{display:none}@media (max-width:1100px){.lc-rail{width:var(--lc-rail-width-sm)}}@media (max-width:768px){.lc-frame{gap:0}.lc-rail{display:none}}.lc-elbow{display:block;flex:0 0 auto;width:var(--lc-rail-width);height:var(--lc-rail-width)}.lc-elbow-arc{fill:none;stroke:var(--lc-chrome,var(--lc-frame));stroke-linecap:butt}.lc-elbow-cap,.lc-elbow-solid{fill:var(--lc-chrome,var(--lc-frame))}.lc-frame-narrow .lc-elbow{width:var(--lc-rail-width-sm);height:var(--lc-rail-width-sm)}@media (max-width:1100px){.lc-elbow{width:var(--lc-rail-width-sm);height:var(--lc-rail-width-sm)}}.lc-beam{display:flex;align-items:center;gap:.4rem;margin:0 0 .6rem;border:0;padding:0;font-family:var(--lc-font-display);font-weight:600;font-size:var(--lc-text-sm);letter-spacing:var(--lc-track-label);text-transform:uppercase;color:var(--lc-chrome,var(--lc-frame))}.filter-content>.lc-beam,.lc-panel>.lc-beam,.log-section>.lc-beam{flex-shrink:0}.lc-beam-tick{flex:0 0 auto;width:1.6rem;height:var(--lc-beam-height);border-radius:var(--lc-radius-pill) 0 0 var(--lc-radius-pill);background-color:var(--lc-chrome,var(--lc-frame))}.lc-beam-title{flex:0 0 auto;padding:0 .5rem;line-height:var(--lc-beam-height)}.lc-beam-filler{flex:1 1 auto;border-radius:var(--lc-radius-pill)}.lc-beam-endcap,.lc-beam-filler{height:var(--lc-beam-height);background-color:var(--lc-chrome,var(--lc-frame))}.lc-beam-endcap{flex:0 0 auto;width:.9rem}.lc-beam-sm{font-size:var(--lc-text-xs)}.lc-beam-sm .lc-beam-endcap,.lc-beam-sm .lc-beam-filler,.lc-beam-sm .lc-beam-tick{height:var(--lc-beam-height-sm)}.lc-beam-sm .lc-beam-title{line-height:var(--lc-beam-height-sm)}.lc-panel,.lc-panel-body{display:flex;flex-direction:column;min-height:0}.lc-panel-body{flex:1 1 auto}.lc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:none;border-radius:var(--lc-radius-pill);padding:.35rem 1rem;font-family:var(--lc-font-display);font-weight:600;font-size:var(--lc-text-sm);letter-spacing:var(--lc-track-label);text-transform:uppercase;text-decoration:none;color:var(--lc-on-chrome);background-color:var(--lc-chrome,var(--lc-frame));cursor:pointer}.lc-btn:hover{background-color:var(--lc-accent)}.lc-btn:focus-visible{outline:2px solid var(--lc-ice);outline-offset:2px}.lc-btn.active{background-color:var(--lc-accent)}.lc-btn-sm{padding:.2rem .7rem;font-size:var(--lc-text-xs)}.lc-btn-lg{padding:.5rem 1.4rem;font-size:var(--lc-text-md)}.lc-btn.is-disabled,.lc-btn:disabled{background-color:var(--lc-muted);cursor:not-allowed}.lc-pill{display:inline-block;border-radius:var(--lc-radius-pill);padding:.15rem .6rem;font-family:var(--lc-font-data);font-weight:600;font-size:var(--lc-text-xs);letter-spacing:var(--lc-track-data);text-transform:uppercase;color:var(--lc-on-chrome);background-color:var(--lc-chrome,var(--lc-frame));white-space:nowrap}.lc-pill-sm{font-size:var(--lc-text-2xs);padding:.1rem .45rem}.lc-table{border-collapse:collapse;width:100%}.lc-table tbody tr{border-left:4px solid transparent}.lc-table tbody tr:hover{border-left-color:var(--lc-chrome,var(--lc-frame))}.lc-log-pane{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;border-radius:var(--lc-radius-arch) var(--lc-radius-arch) 0 0;padding-top:.4rem;background-color:var(--lc-chrome,var(--lc-frame))}.lc-log-pane--scan{position:relative;--lc-scan-band:0.18}.lc-log-pane--scan:after{content:"";position:absolute;left:0;right:0;top:0;height:calc(100%*var(--lc-scan-band));background:linear-gradient(to bottom,transparent,var(--lc-chrome,var(--lc-frame)),transparent);opacity:.09;pointer-events:none;transform:translateY(-100%);animation-name:lc-scan;animation-duration:var(--lc-scan-duration);animation-timing-function:linear;animation-iteration-count:infinite;animation-delay:calc(var(--lc-scan-index, 0)*var(--lc-scan-duration)*-.5)}@keyframes lc-scan{0%{transform:translateY(-100%)}to{transform:translateY(calc(100%/var(--lc-scan-band)))}}.lc-state:not(:is(.loading-overlay,.loading-state,.empty-state,.no-data,.status-message)){font-family:var(--lc-font-data);font-size:var(--lc-text-md);letter-spacing:var(--lc-track-data);color:var(--lc-chrome,var(--lc-data))}.lc-state-overlay:not(.loading-overlay){position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--lc-bg)}.lc-state-empty:not(.empty-state),.lc-state-inline:not(.no-data),.lc-state-loading:not(.loading-state){text-align:center;color:var(--lc-muted)}.lc-state-status:not(.status-message){color:var(--lc-data)}.lc-state-status:not(.status-message).warning{color:var(--lc-accent)}.lc-state--fetch:not(.loading-overlay){position:relative}.lc-state--fetch{overflow:hidden;--lc-fetch-band:0.28}.lc-state--fetch:after{content:"";position:absolute;left:0;top:0;width:calc(100%*var(--lc-fetch-band));height:3px;background:linear-gradient(to right,transparent,var(--lc-chrome,var(--lc-frame)),transparent);opacity:.6;pointer-events:none;transform:translateX(-100%);animation-name:lc-fetch;animation-duration:var(--lc-fetch-duration);animation-timing-function:linear;animation-iteration-count:infinite}@keyframes lc-fetch{0%{transform:translateX(-100%)}to{transform:translateX(calc(100%/var(--lc-fetch-band)))}}.lc-literal{text-transform:none;letter-spacing:normal}.data-strip[data-v-b99f0846]{display:flex;align-items:center;flex:0 0 auto;gap:1rem;padding:.3rem .6rem;border-radius:var(--lc-radius-pill);background-color:var(--lc-frame);color:var(--lc-on-chrome);font-family:var(--lc-font-data);font-size:var(--lc-text-xs);letter-spacing:var(--lc-track-data)}.strip-cell[data-v-b99f0846]{display:flex;align-items:center;gap:.35rem}.strip-label[data-v-b99f0846]{text-transform:uppercase;opacity:.75}.strip-value[data-v-b99f0846]{font-weight:600;font-variant-numeric:tabular-nums}.strip-clock[data-v-b99f0846]{margin-left:auto}#app,#main-container{height:100vh;height:100dvh;display:flex;flex-direction:column;background-color:var(--lc-bg);overflow:hidden}.header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex:0 0 auto;padding-bottom:.4rem;margin-bottom:.6rem;border-bottom:4px solid var(--lc-purple)}.app-title{margin:0;font-size:var(--lc-text-2xl)}.header-right,.user-info{display:flex;align-items:center;gap:.75rem}.user-info span{color:var(--lc-data);font-family:var(--lc-font-data);font-weight:600;font-size:var(--lc-text-sm)}.tab-content{flex-grow:1;overflow:hidden;position:relative;background-color:var(--lc-bg);display:flex;flex-direction:column;min-height:0}