@charset "UTF-8";:root{--md-bg: #0f1216;--md-surface: #161a20;--md-surface-rgb: 22, 26, 32;--md-surface-variant: #1f2530;--md-on-surface: #e6ebf3;--md-on-surface-variant: #a8b0bb;--md-primary: #7aa2ff;--md-on-primary: #071225;--md-outline: #2d3542;--md-chip: #222a36;--md-elev-1: 0 1px 2px rgba(0, 0, 0, .35), 0 6px 16px rgba(0, 0, 0, .35);--md-elev-2: 0 10px 24px rgba(0, 0, 0, .45);--md-danger-bg: rgba(239, 68, 68, .08);--md-danger-text: #fecaca;--md-warn-bg: rgba(250, 204, 21, .15);--md-warn-text: #facc15;--active-tab: #D5A002;--shadow-card: 0 4px 14px rgba(0, 0, 0, .25);--shadow-hover: 0 6px 20px rgba(0, 0, 0, .28)}html[data-theme=light]{--md-bg: #f6f7f9;--md-surface: #ffffff;--md-surface-rgb: 255, 255, 255;--md-surface-variant: #e8edf3;--md-on-surface: #1c1f23;--md-on-surface-variant: #42474e;--md-primary: #2c6bed;--md-on-primary: #ffffff;--md-outline: #c2c8d0;--md-chip: #eef2f7;--md-elev-1: 0 1px 2px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .08);--md-elev-2: 0 6px 16px rgba(0, 0, 0, .08);--md-danger-bg: rgba(239, 68, 68, .06);--md-danger-text: #b91c1c;--md-warn-bg: rgba(250, 204, 21, .12);--md-warn-text: #854d0e}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--md-bg);color:var(--md-on-surface);min-height:100vh}.page-container{max-width:1430px;width:100%;margin:0 auto;padding:1rem;box-sizing:border-box}.wrap{display:grid;grid-template-columns:minmax(720px,1fr) 420px;gap:1rem;max-width:1430px;margin:0 auto;width:100%;padding:1rem;box-sizing:border-box}@media(max-width:1100px){.wrap{grid-template-columns:1fr}}.topbar{position:sticky;background:linear-gradient(to bottom,var(--md-surface) 0%,var(--md-surface-variant) 100%);top:0;z-index:10;background:var(--md-surface);box-shadow:var(--md-elev-1)}.topbar-inner{padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;width:100%;max-width:1430px;padding:1rem 1.4rem;margin:0 auto;box-sizing:border-box}.spacer{flex:1}.nav-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;border-radius:12px;background:var(--md-surface-variant);border:1px solid var(--md-outline);font-weight:600;text-decoration:none;color:var(--md-on-surface-variant);transition:background .25s ease,color .25s ease;position:relative;overflow:hidden}.nav-chip:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(100,181,246,.5) 30%,rgba(100,181,246,.8) 50%,rgba(100,181,246,.5) 70%,transparent 100%);pointer-events:none;opacity:0;transition:opacity .2s ease}.nav-chip:hover{background:var(--md-surface)}.nav-chip:hover:before{animation:blue-sweep .8s ease-in-out;opacity:1}.nav-chip.active{background:var(--md-chip);color:var(--md-on-surface);border-color:var(--md-primary)}@keyframes blue-sweep{0%{left:-100%}to{left:100%}}.dot{width:.6rem;height:.6rem;border-radius:50%;background:#6b7280}.nav-chip.active .dot{background:#36d399}.app-title-chip{background:var(--md-chip);border:1px solid var(--md-outline);border-radius:12px;padding:.35rem .75rem;position:relative;overflow:hidden;text-decoration:none}.app-title-chip:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,166,0,.5) 30%,rgba(255,166,0,.8) 50%,rgba(255,166,0,.5) 70%,transparent 100%);pointer-events:none;opacity:0;transition:opacity .2s ease}.app-title-chip:hover:before{animation:ray-sweep .8s ease-in-out;opacity:1}@keyframes ray-sweep{0%{left:-100%}to{left:100%}}.app-title{font-weight:700;color:var(--md-on-surface);position:relative;z-index:1}.switch{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.85rem;text-transform:uppercase;font-weight:650;color:var(--md-on-surface-variant);line-height:1;height:fit-content;margin:0;padding:0}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{width:44px;height:26px;background:var(--md-outline);border-radius:999px;position:relative;transition:background .2s;flex-shrink:0;margin:0}.switch .thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--md-surface);border-radius:50%;box-shadow:var(--md-elev-1);transition:transform .2s}.switch span:last-child{line-height:1;display:inline-block}.switch input:checked+.track{background:var(--md-primary)}.switch input:checked+.track .thumb{transform:translate(18px)}app-theme-toggle{display:flex;align-items:center;height:fit-content;justify-content:center}app-theme-toggle .switch{margin-top:1px}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;background:var(--md-chip);border:1px solid var(--md-outline);color:var(--md-on-surface-variant);font-size:.8rem;white-space:nowrap}.badge{padding:.2rem .55rem;border-radius:999px;font-size:.75rem;background:var(--md-chip);border:1px solid var(--md-outline)}.chip .dot.green{background:#36d399!important}.card{background:var(--md-surface);border:1px solid var(--md-outline);border-radius:16px;box-shadow:var(--md-elev-1);position:relative;z-index:10}body.christmas-theme-active .card,body.christmas-theme-active .topbar{background:rgba(var(--md-surface-rgb, 22, 26, 32),.95)!important;box-shadow:var(--md-elev-2)!important}body.christmas-theme-active .page-container,body.christmas-theme-active .wrap{position:relative;z-index:10}@keyframes snowfall{0%{transform:translateY(0) translate(0) rotate(0);opacity:1}50%{transform:translateY(50vh) translate(calc(var(--drift, 0px) * .5)) rotate(180deg);opacity:.8}to{transform:translateY(calc(100vh + 20px)) translate(var(--drift, 0px)) rotate(360deg);opacity:.4}}@keyframes santa-slide{0%{transform:translate(0);opacity:0}5%{opacity:1}95%{opacity:1}to{transform:translate(calc(100vw + 200px));opacity:0}}.card h3{margin:0!important;padding:.75rem 1rem!important;font-weight:600!important;font-size:1rem!important;line-height:1.5;color:var(--md-on-surface)}.card h3 .toggle-icon{transition:transform .2s}.card .content{padding:0 1rem 1rem;overflow:visible;position:relative}.card .content.collapsed{display:none}.card h3.collapsed .toggle-icon{transform:rotate(-90deg)}.date-section,.day-container{margin-bottom:1rem;border:1px solid var(--md-outline);border-radius:8px;overflow:visible;position:relative}.date-section-header,.day{padding:.375rem 1rem;background:var(--md-surface-variant);cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;min-height:1.875rem}.day>div:first-child{display:flex;align-items:center;gap:.6rem}.day .day-meta{display:flex;align-items:center;gap:.6rem}.date-section-header:hover,.day:hover{background:var(--md-chip)}.date-section-header.today{background:#0f2a0f;border-left:3px solid #1a4a1a}.date-section-header.today:hover{background:#123012}html[data-theme=light] .date-section-header.today{background:#e8f5e9;border-left:3px solid #81c784}html[data-theme=light] .date-section-header.today:hover{background:#c8e6c9}.date-section-header .toggle-icon,.day .toggle-icon{transition:transform .2s}.date-section-header.collapsed .toggle-icon,.day.collapsed .toggle-icon{transform:rotate(-90deg)}.date-section-content{padding:1rem;display:block;overflow-x:auto;overflow-y:visible;position:relative;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.date-section-content::-webkit-scrollbar{height:4px;display:block;background:transparent!important}.date-section-content::-webkit-scrollbar-track{background:transparent!important;border:none}.date-section-content::-webkit-scrollbar-thumb{background:linear-gradient(to right,#ffffff59,#ffffff1a)!important;border-radius:999px;border:none}.date-section-content::-webkit-scrollbar-corner{background:transparent!important}html[data-theme=light] .date-section-content{scrollbar-color:rgba(0,0,0,.25) transparent}html[data-theme=light] .date-section-content::-webkit-scrollbar{background:transparent!important}html[data-theme=light] .date-section-content::-webkit-scrollbar-track{background:transparent!important}html[data-theme=light] .date-section-content::-webkit-scrollbar-thumb{background:linear-gradient(to right,#0003,#0000000d)!important}.date-section-content.collapsed{display:none}.hours{display:none;padding:1rem}.hours.open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.date-section-title,.day-title{font-weight:600;line-height:1.5;display:inline-flex;align-items:center;text-decoration:none!important;border-bottom:none!important}.date-section .fieldset{margin-bottom:0}.site-footer{text-align:center;padding:1rem 0 2rem;font-size:.75rem;color:var(--md-on-surface-variant);opacity:.7}body.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}.table-wrap{margin-top:.75rem;border-radius:12px;border:1px solid var(--md-outline);overflow-x:auto;overflow-y:visible;position:relative;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.table-wrap::-webkit-scrollbar{height:4px;display:block;background:transparent!important}.table-wrap::-webkit-scrollbar-track{background:transparent!important;border:none}.table-wrap::-webkit-scrollbar-thumb{background:linear-gradient(to right,#ffffff59,#ffffff1a)!important;border-radius:999px;border:none}.table-wrap::-webkit-scrollbar-corner{background:transparent!important}html[data-theme=light] .table-wrap{scrollbar-color:rgba(0,0,0,.25) transparent}html[data-theme=light] .table-wrap::-webkit-scrollbar{background:transparent!important}html[data-theme=light] .table-wrap::-webkit-scrollbar-track{background:transparent!important}html[data-theme=light] .table-wrap::-webkit-scrollbar-thumb{background:linear-gradient(to right,#0003,#0000000d)!important}html[data-theme=light] .table-wrap::-webkit-scrollbar-corner{background:transparent!important}table{width:100%;border-collapse:collapse;font-size:.85rem}th{background:var(--md-surface-variant);color:var(--md-on-surface-variant);padding:.55rem .75rem;text-align:left;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;position:sticky;top:0;z-index:1}td{padding:.5rem .75rem;border-top:1px solid var(--md-outline)}tr.not-taxibot{background:var(--md-danger-bg)}tr.not-taxibot td{color:var(--md-danger-text)}.flights-table tr.pulsing-red.not-taxibot,.flights-table tr.not-taxibot.pulsing-red{animation:pulse-red-bg .6s ease-in-out infinite!important}tr.has-actual{background:#228b2226!important}tr.has-actual td{color:#90ee90e6!important}html[data-theme=light] tr.has-actual td{color:var(--md-on-surface)!important}tr.cancelled-flight{background:#6464644d!important;position:relative}tr.cancelled-flight td{opacity:.5;color:#888;text-decoration:line-through}tr.air-status-flight{background:#6464644d!important;position:relative}tr.air-status-flight td{opacity:.5;color:#888}tr.is-selected{background:#6750a426!important;border-left:3px solid var(--md-primary)!important}tr.is-selected td{font-weight:600}html[data-theme=light] tr.is-selected{background:#6750a414!important}.inputs-wrapper{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.input-row{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem;align-items:center}.watchInputField{width:100%;padding:.45rem .55rem;border-radius:10px;border:1px solid var(--md-outline);background:var(--md-surface-variant);color:var(--md-on-surface);font-size:.8rem;box-sizing:border-box}.btn{appearance:none;border:none;border-radius:12px;padding:.55rem .85rem;background:var(--md-primary);color:var(--md-on-primary);font-weight:600;cursor:pointer;font-size:.85rem;transition:opacity .2s}.btn:hover:not(:disabled){opacity:.9}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.tonal{background:var(--md-surface-variant);color:var(--md-on-surface);border:1px solid var(--md-outline)}.btn.small{padding:.35rem .6rem;font-size:.75rem}.btn.danger{background:var(--md-surface-variant);border:1px solid #7a2e2e;color:#d16a6a}.btn.danger:hover{background:#96282826;border-color:#a33}.status-buttons-container{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem;margin-bottom:1rem}.status-button{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border-radius:12px;background:var(--md-surface-variant);border:1px solid var(--md-outline);font-weight:600;color:var(--md-on-surface-variant);transition:background .25s ease,color .25s ease,border-color .25s ease;cursor:pointer;position:relative;overflow:hidden;font-size:.75rem;min-height:2.5rem;box-sizing:border-box;white-space:nowrap}.status-button:hover{background:var(--md-surface)}.status-button .status-dot{width:.6rem;height:.6rem;border-radius:50%;background:#6b7280;transition:background .25s ease;flex-shrink:0}.status-button[data-state=green] .status-dot{background:#36d399}.status-button[data-state=red] .status-dot{background:#ef4444}.status-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .2s ease}.status-button.animate-green:before{background:linear-gradient(90deg,transparent 0%,rgba(54,211,153,.5) 30%,rgba(54,211,153,.8) 50%,rgba(54,211,153,.5) 70%,transparent 100%);animation:ray-sweep .4s ease-in-out;opacity:1}.status-button.animate-red:before{background:linear-gradient(90deg,transparent 0%,rgba(239,68,68,.5) 30%,rgba(239,68,68,.8) 50%,rgba(239,68,68,.5) 70%,transparent 100%);animation:ray-sweep .4s ease-in-out;opacity:1}.status-button.animate-gray:before{background:linear-gradient(90deg,transparent 0%,rgba(107,114,128,.5) 30%,rgba(107,114,128,.8) 50%,rgba(107,114,128,.5) 70%,transparent 100%);animation:ray-sweep .4s ease-in-out;opacity:1}.date-section.all-green{position:relative;overflow:hidden}.date-section.all-green:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(54,211,153,.3) 20%,rgba(54,211,153,.6) 50%,rgba(54,211,153,.3) 80%,transparent 100%);animation:green-light-sweep 2s ease-in-out;animation-fill-mode:forwards;pointer-events:none;z-index:0;border-radius:8px;opacity:1}.date-section.all-green .date-section-content{position:relative;z-index:1}@keyframes green-light-sweep{0%{left:-100%;opacity:1}to{left:100%;opacity:1}}.gate-list-container{background:var(--md-surface-variant);border:1px solid var(--md-outline);border-radius:12px;padding:.75rem;margin-bottom:1rem}.gate-list{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem}.gate-item{background:var(--md-surface);color:var(--md-on-surface);border:1px solid var(--md-outline);border-radius:8px;padding:.3rem .5rem;text-align:center;font-size:.75rem;font-weight:500;min-height:28px;display:flex;align-items:center;justify-content:center}.gate-edit-section{margin-top:1rem}.gate-edit-row{display:flex;gap:.5rem;margin-bottom:.5rem}.gate-input{flex:1;padding:.45rem .55rem;border-radius:10px;border:1px solid var(--md-outline);background:var(--md-surface-variant);color:var(--md-on-surface);font-size:.8rem}.clock-chip{font-size:.75rem;font-weight:600}.row{display:flex;flex-direction:column;gap:.25rem}.row-flights{display:grid;grid-template-columns:repeat(5,minmax(70px,1fr));gap:.35rem;flex:1}.sidebar{height:fit-content;position:sticky;top:80px}.element-tooltip{position:fixed;pointer-events:none;background:var(--md-surface);color:var(--md-on-surface);border:1px solid var(--md-outline);padding:.7rem 1rem;border-radius:12px;box-shadow:var(--md-elev-2);font-size:.75rem;font-weight:700;white-space:nowrap;z-index:10001;display:none;opacity:0;transition:opacity .1s ease}.element-tooltip.show{display:block;opacity:1}.element-tooltip:after{content:"";position:absolute;left:50%;transform:translate(-50%);border-width:6px;border-style:solid}.element-tooltip[data-arrow=bottom]:after{top:100%;border-color:var(--md-outline) transparent transparent transparent}.element-tooltip[data-arrow=top]:after{bottom:100%;border-color:transparent transparent var(--md-outline) transparent}.red-swipe-overlay{position:fixed;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(239,68,68,.4) 20%,rgba(239,68,68,.8) 50%,rgba(239,68,68,.4) 80%,transparent 100%);z-index:10000;pointer-events:none;opacity:0;visibility:hidden;animation:red-swipe 1.5s ease-in-out 2;animation-fill-mode:forwards}.red-swipe-overlay[data-animating=true]{opacity:1;visibility:visible}@keyframes red-swipe{0%{left:-100%;opacity:1}to{left:100%;opacity:1}}.red-flash-overlay{position:fixed;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(239,68,68,.4) 20%,rgba(239,68,68,.8) 50%,rgba(239,68,68,.4) 80%,transparent 100%);pointer-events:none;z-index:10000;opacity:0;transition:opacity .2s ease}.red-flash-overlay.active{animation:red-sweep-flash .8s ease-in-out;opacity:1}@keyframes red-sweep-flash{0%{left:-100%}to{left:100%}}table.flights-table tr.pulsing-red{position:relative;background-color:var(--md-surface)!important}table.flights-table tr.pulsing-red td:first-child{position:relative}table.flights-table tr.pulsing-red td:first-child:before{content:"";position:absolute;top:0;left:0;width:5000px;height:100%;background-color:#ef4444cc;animation:pulse-red-overlay .6s ease-in-out infinite;pointer-events:none;z-index:0;display:block;margin:0;padding:0;border:none}table.flights-table tr.pulsing-red td{position:relative;z-index:1;background-color:transparent!important;transition:color .25s ease}@keyframes pulse-red-overlay{0%,to{opacity:0}50%{opacity:1}}.flight-row-red-flash{animation:red-flash 10s ease-in-out;box-shadow:0 0 20px #ef444499!important;border:2px solid rgba(239,68,68,.8)!important}@keyframes red-flash{0%,to{background-color:#ef44444d;box-shadow:0 0 20px #ef444499;border-color:#ef4444cc}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{background-color:#ef444480;box-shadow:0 0 30px #ef4444e6;border-color:#ef4444}10%,20%,30%,40%,50%,60%,70%,80%,90%{background-color:#ef44444d;box-shadow:0 0 20px #ef444499;border-color:#ef4444cc}}.dialog-overlay{position:fixed;inset:0;background:#000000b3;z-index:10000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog{background:var(--md-surface);border:1px solid var(--md-outline);border-radius:16px;padding:2rem;max-width:500px;width:100%;box-shadow:var(--md-elev-4);animation:slideUp .2s ease;max-height:90vh;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-header{margin-bottom:1rem}.dialog-title{margin:0;color:var(--md-on-surface);font-size:1.25rem;font-weight:600}.dialog-content{margin-bottom:1.5rem}.dialog-message{color:var(--md-on-surface-variant);font-size:.9375rem;line-height:1.5}.dialog-message[data-type=error]{color:#ef4444}.dialog-message[data-type=warning]{color:#f59e0b}.dialog-message[data-type=success]{color:#10b981}.dialog-message[data-type=info]{color:var(--md-on-surface-variant)}.dialog-actions{display:flex;gap:.75rem;justify-content:flex-end}.dialog-actions .btn{min-width:80px}.dialog-actions .btn-info{background:var(--md-primary);color:var(--md-on-primary)}.dialog-actions .btn-error{background:#ef4444;color:#fff}.dialog-actions .btn-warning{background:#f59e0b;color:#fff}.dialog-actions .btn-success{background:#10b981;color:#fff}
