.auth-container{min-height:calc(100vh - 300px);display:flex;align-items:center;justify-content:center;background:#f5f5f5;padding:20px}@media (max-width: 768px){.auth-container{min-height:calc(100vh - 220px)}}.auth-card{background:#fff;border-radius:8px;padding:40px;max-width:450px;width:100%;box-shadow:0 2px 8px #0000001a}.auth-card h2{text-align:center;margin-bottom:30px;color:#2c2c2c;font-size:28px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#666;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #E0E0E0;border-radius:6px;font-size:16px;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#2c2c2c}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group select{width:100%;padding:12px;border:1px solid #E0E0E0;border-radius:6px;font-size:16px;transition:border-color .3s;background:#fff}.form-group select:focus{outline:none;border-color:#2c2c2c}.btn-primary{width:100%;padding:14px;background:#2c2c2c;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s;margin-top:10px}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #fcc}.switch-auth{text-align:center;margin-top:20px;color:#666}.link-button{background:none;border:none;color:#2c2c2c;font-weight:600;cursor:pointer;text-decoration:underline;padding:0}.link-button:hover{opacity:.7}.app{min-height:100vh;background:#f5f5f5;padding:0}.container{max-width:1100px;margin:0 auto;padding:0 24px 40px}.page-hero{width:100%;height:300px;background:linear-gradient(#0006,#0009),url(/header-images/Headerimage_Home.png) center/cover;display:flex;align-items:center;justify-content:center}.page-hero-overlay{text-align:center;color:#fff}.page-hero-overlay h1{font-size:3rem;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.page-hero-overlay p{font-size:1.25rem;margin-top:.5rem;opacity:.9}@media (max-width: 768px){.page-hero{height:220px}.page-hero-overlay h1{font-size:2rem}}.header{text-align:center;color:#2c2c2c;padding:32px 0 24px}.header h1{font-size:48px;margin:0}.subtitle{font-size:20px;margin:10px 0 0;color:#666}.welcome-card,.info-card{background:#fff;border-radius:8px;padding:28px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.welcome-card h2,.info-card h3{margin-top:0;color:#2c2c2c}.card-header-bar{background:#2c2c2c;color:#fff;padding:14px 20px;margin:-28px -28px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:8px 8px 0 0}.card-header-bar-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff;margin:0}.hdr-btn{background:#fff;color:#2c2c2c;border:none;padding:.65rem 1.25rem;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}.hdr-btn:hover{background:#f0f0f0}.hdr-btn:disabled{opacity:.4;cursor:not-allowed}.hdr-btn--secondary{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.35);font-size:.72rem;padding:.3rem .75rem}.hdr-btn--secondary:hover:not(:disabled){background:#ffffff40}.hdr-btn--danger{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3);font-size:.72rem;padding:.3rem .75rem}.hdr-btn--danger:hover{background:#ef444440}.card-header-bar button{background:#fff;color:#2c2c2c;border:none;padding:.65rem 1.25rem;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}.card-header-bar button:hover{background:#f0f0f0}.info-card ul{list-style:none;padding:0}.info-card li{padding:12px 0;font-size:18px;border-bottom:1px solid #E0E0E0}.btn-logout{background:#2c2c2c;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s;margin-top:10px}.btn-logout:hover{opacity:.85}.btn-secondary{background:#fff;color:#2c2c2c;border:1px solid #2C2C2C;padding:10px 20px;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#2c2c2c;color:#fff}.nav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:1rem}.app select,.app input[type=text],.app input[type=number],.app input[type=email],.app input[type=password]{border:1px solid #E0E0E0;border-radius:6px;font-size:15px;transition:border-color .3s}.app select:focus,.app input:focus{outline:none;border-color:#2c2c2c}.success-message{background:#dcfce7;color:#16a34a;padding:12px;border-radius:6px;margin-bottom:1rem;border:1px solid #86efac}.balance-display{background:#fff;color:#2c2c2c;border:1px solid #E0E0E0;padding:1rem;border-radius:6px}.airline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:1rem}@media (max-width: 700px){.airline-grid{grid-template-columns:1fr}}.airline-slot-card{background:#f9f9f9;border:2px solid #E0E0E0;border-radius:8px;padding:20px;position:relative;transition:border-color .2s}.airline-slot-card.airline-slot-active{border-color:#2c2c2c;background:#fff}.airline-active-badge{position:absolute;top:12px;right:12px;background:#2c2c2c;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.5px;text-transform:uppercase}.airline-slot-code{font-size:26px;font-weight:800;color:#2c2c2c;letter-spacing:3px;margin-bottom:2px}.airline-slot-name{font-size:14px;font-weight:600;color:#444;margin-bottom:14px}.airline-slot-details{display:flex;flex-direction:column;gap:6px}.airline-slot-detail-row{display:flex;justify-content:space-between;font-size:13px}.airline-slot-detail-label{color:#888}.airline-slot-empty{border:2px dashed #D0D0D0;border-radius:8px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;cursor:pointer;transition:border-color .2s,background .2s}.airline-slot-empty:hover{border-color:#2c2c2c;background:#fafafa}.airline-slot-maxed{cursor:default;opacity:.45}.airline-slot-maxed:hover{border-color:#d0d0d0;background:transparent}.airline-slot-plus{font-size:52px;color:#ccc;line-height:1;font-weight:300;transition:color .2s}.airline-slot-empty:hover:not(.airline-slot-maxed) .airline-slot-plus{color:#2c2c2c}.airline-slot-create-text{font-size:13px;color:#aaa;margin-top:10px;font-weight:500;transition:color .2s}.airline-slot-empty:hover:not(.airline-slot-maxed) .airline-slot-create-text{color:#2c2c2c}.active-airline-card{display:flex;gap:28px;align-items:flex-start}.active-airline-logo{width:110px;height:110px;background:#2c2c2c;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.active-airline-logo-text{color:#fff;font-size:18px;font-weight:800;letter-spacing:3px}.active-airline-details{flex:1}.active-airline-details h3{margin:0 0 14px;font-size:20px;color:#2c2c2c}.active-airline-stats{display:flex;flex-direction:column;gap:8px}.stat-row{display:flex;align-items:baseline;gap:12px}.stat-label{color:#888;font-size:13px;min-width:105px;flex-shrink:0}.stat-value{color:#2c2c2c;font-size:14px;font-weight:600}@media (max-width: 600px){.active-airline-card{flex-direction:column}.active-airline-logo{width:80px;height:80px}}.hp-container{max-width:1100px;margin:0 auto;padding:0 24px 48px}.hp-info-strip{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px 28px;margin-top:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.hp-identity{display:flex;align-items:center;gap:20px}.hp-code{font-size:3.5rem;font-weight:900;font-family:monospace;color:#2c2c2c;letter-spacing:.06em;line-height:1}.hp-id-text{display:flex;flex-direction:column;gap:4px}.hp-airline-name{font-size:1.2rem;font-weight:700;color:#2c2c2c}.hp-airline-sub{font-size:.88rem;color:#666}.hp-strip-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hp-btn-change{background:#2c2c2c;color:#fff;border:none;padding:.5rem 1.1rem;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:opacity .15s;white-space:nowrap}.hp-btn-change:hover{opacity:.8}.hp-btn-logout-strip{background:transparent;color:#555;border:1px solid #E0E0E0;padding:.5rem 1.1rem;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .15s;white-space:nowrap}.hp-btn-logout-strip:hover{background:#f5f5f5;border-color:#aaa}.hp-content-row{margin-top:1.5rem;display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:stretch}@media (max-width: 900px){.hp-content-row{grid-template-columns:1fr}}.hp-logo-col{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.hp-logo-placeholder{width:100%;height:100%;min-height:75px;background:#f0f2f5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.hp-logo-code{font-size:5rem;font-weight:900;font-family:monospace;color:#d0d0d0;letter-spacing:.1em;line-height:1}.hp-logo-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:#bbb}.hp-sidebar-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;align-self:stretch}.hp-sidebar-title{padding:.8rem 1.1rem;background:#2c2c2c;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hp-info-table{width:100%;border-collapse:collapse;font-size:.85rem}.hp-info-table td{padding:.6rem 1.1rem;border-bottom:1px solid #F0F0F0;vertical-align:middle}.hp-info-table tr.hp-it-last td{border-bottom:none}.hp-it-label{color:#666;width:48%;white-space:nowrap}.hp-it-val{color:#2c2c2c;font-weight:500}.hp-info-table tr.hp-it-divider td{padding:0;border-bottom:none}.hp-it-section-label{background:#f0f0f0;color:#666;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:5px 1.1rem!important}.ait-logo-hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.06em;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;border-radius:2px}label:hover .ait-logo-hover-overlay{opacity:1}.leaflet-control-attribution{font-size:.6rem!important;opacity:.45;background:#fff9!important;padding:1px 4px!important}.leaflet-control-attribution:hover{opacity:.85}.hp-no-airline{margin-top:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:48px 28px;text-align:center}.hp-no-airline h2{margin:0 0 8px;color:#2c2c2c;font-size:1.4rem}.hp-no-airline p{color:#666;margin:0 0 24px}.hp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.hp-modal{background:#fff;border-radius:8px;box-shadow:0 8px 40px #00000040;width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.hp-modal-header{background:#2c2c2c;color:#fff;padding:.85rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0}.hp-modal-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.hp-modal-close{background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:1.1rem;line-height:1;padding:0;transition:color .15s}.hp-modal-close:hover{color:#fff}.hp-modal-body{overflow-y:auto;flex:1;padding:1.2rem;display:flex;flex-direction:column;gap:.75rem}.hp-al-card{border:2px solid #E0E0E0;border-radius:8px;padding:16px 20px;cursor:pointer;transition:border-color .15s,background .15s;display:flex;align-items:center;justify-content:space-between;gap:1rem}.hp-al-card:hover{border-color:#2c2c2c;background:#fafafa}.hp-al-card.hp-al-active{border-color:#2c2c2c;background:#fff;cursor:default}.hp-al-card-left{display:flex;align-items:center;gap:16px}.hp-al-card-code{font-size:1.6rem;font-weight:900;font-family:monospace;color:#2c2c2c;letter-spacing:.04em;min-width:60px}.hp-al-card-info{display:flex;flex-direction:column;gap:3px}.hp-al-card-name{font-size:.95rem;font-weight:700;color:#2c2c2c}.hp-al-card-detail{font-size:.78rem;color:#666}.hp-al-card-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:#2c2c2c;color:#fff;padding:3px 9px;border-radius:4px;white-space:nowrap;flex-shrink:0}.hp-create-card{border:2px dashed #D0D0D0;border-radius:8px;padding:16px 20px;cursor:pointer;display:flex;align-items:center;gap:14px;color:#888;font-size:.9rem;font-weight:500;transition:border-color .15s,color .15s}.hp-create-card:hover{border-color:#2c2c2c;color:#2c2c2c}.hp-create-icon{font-size:1.6rem;font-weight:300;color:#ccc;line-height:1;transition:color .15s}.hp-create-card:hover .hp-create-icon{color:#2c2c2c}@media (max-width: 768px){.hp-code{font-size:2.4rem}.hp-logo-code{font-size:3rem}.hp-info-strip{padding:18px 20px}}@media (max-width: 480px){.hp-info-grid{grid-template-columns:1fr!important}.hp-fleet-col{position:static!important;overflow:visible!important}.hp-fleet-inner{position:static!important;inset:auto!important}.hp-fleet-img{width:60px}.hp-fleet-table td{padding:.4rem .6rem}.hp-fleet-name{font-size:.78rem}.hp-fleet-count{font-size:.88rem}.hp-info-table td{padding:.4rem .7rem;font-size:.82rem}}.hp-boards-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}@media (max-width: 768px){.hp-boards-grid{grid-template-columns:1fr}}.hp-board-wrap{background:#0d1117;border-radius:8px;overflow:hidden;box-shadow:0 4px 20px #00000040}.hp-board-titlebar{padding:.7rem 1rem;display:flex;align-items:center;gap:.55rem;font-size:.7rem;font-weight:800;letter-spacing:.16em;color:#fff}.hp-board-dep{background:#0f2040}.hp-board-arr{background:#0f2819}.hp-board-arrow{font-size:1rem;font-weight:900}.hp-board-empty{padding:2.5rem 1.5rem;text-align:center;color:#fff3;font-size:.83rem;font-style:italic}.hp-board-table{width:100%;border-collapse:collapse;font-family:Courier New,Courier,monospace}.hp-board-table thead tr{background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.07)}.hp-board-table th{padding:.5rem .75rem;text-align:left;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff59;white-space:nowrap;font-family:system-ui,sans-serif}.hp-board-table td{padding:.48rem .75rem;color:#ede8d0;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.04);white-space:nowrap;vertical-align:middle}.hp-board-table tbody tr:last-child td{border-bottom:none}.hp-board-table tbody tr:hover td{background:#ffffff08}.hp-day-sep-row td{padding:0}.hp-day-sep-cell{padding:.35rem .75rem!important;font-size:.65rem!important;font-weight:700!important;letter-spacing:.1em;text-transform:uppercase;color:#ffffff59!important;background:#ffffff0a;border-top:1px solid rgba(255,255,255,.07)!important;border-bottom:1px solid rgba(255,255,255,.07)!important;font-family:system-ui,sans-serif!important}.hp-day-sep-row:hover td{background:#ffffff0a!important}.hp-board-fn{font-size:.88rem;font-weight:500;color:#facc15!important;letter-spacing:.04em}.hp-board-apt{font-size:.88rem;font-weight:500;color:#ffffffa6!important}.hp-board-apt button{font-size:.88rem;color:#ffffffa6!important;text-decoration-color:#ffffff40!important}.hp-board-time{font-size:.88rem!important;font-weight:500;color:#ffffffa6!important}.hp-board-type{font-size:.88rem;font-weight:500;color:#ffffffa6!important}.hp-board-img{width:48px;height:26px;object-fit:contain;border-radius:3px;background:#ffffff0d;display:block}@keyframes hp-blink-a{0%,to{opacity:1}50%{opacity:.15}}@keyframes hp-blink-b{0%,to{opacity:.15}50%{opacity:1}}.hp-dot-blink-a{animation:hp-blink-a 1.2s ease-in-out infinite}.hp-dot-blink-b{animation:hp-blink-b 1.2s ease-in-out infinite}.hp-status{display:inline-block;padding:.17rem .55rem;border-radius:3px;font-size:.66rem;font-weight:700;letter-spacing:.05em;font-family:system-ui,sans-serif;white-space:nowrap}.hp-st-sched{background:#94a3b81f;color:#fff6;border:1px solid rgba(148,163,184,.18)}.hp-st-board{background:#eab3082e;color:#facc15;border:1px solid rgba(234,179,8,.28)}.hp-st-arr{background:#22c55e2e;color:#4ade80;border:1px solid rgba(34,197,94,.28)}.hp-fleet-table{width:100%;border-collapse:collapse;font-size:.85rem}.hp-fleet-table td{padding:.6rem 1.1rem;border-bottom:1px solid #F0F0F0;vertical-align:middle;color:#2c2c2c}.hp-fleet-table tr:last-child td{border-bottom:none}.hp-fleet-table tbody tr:hover td{background:transparent}.hp-fleet-img{width:100px;aspect-ratio:1000/333;object-fit:cover;border-radius:3px;background:#f5f5f5;display:block;flex-shrink:0}.hp-fleet-name{font-weight:500;width:100%}.hp-fleet-count{text-align:right;font-size:1.05rem;font-family:monospace;font-weight:700;color:#2c2c2c;min-width:28px}.fo-nav-list{display:flex;flex-direction:column;padding:.5rem 0}.fo-nav-btn{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.1rem;background:none;border:none;border-bottom:1px solid #F2F2F2;cursor:pointer;font-size:.88rem;color:#2c2c2c;font-weight:500;text-align:left;transition:background .15s;width:100%}.fo-nav-btn:hover{background:#f5f5f5}.fo-nav-btn:last-child{border-bottom:none}.fo-nav-arrow{color:#aaa;font-size:1.1rem}*{margin:0;padding:0;box-sizing:border-box}.leaflet-tile-container img{outline:1px solid transparent;image-rendering:auto}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;min-height:100vh;color:#2c2c2c}#root{min-height:100vh}.toast-stack{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.toast-item{pointer-events:all;display:flex;align-items:flex-start;gap:10px;padding:12px 14px 12px 16px;border-radius:8px;font-size:.875rem;font-weight:500;min-width:260px;max-width:400px;box-shadow:0 4px 20px #00000038;animation:toast-in .22s cubic-bezier(.22,1,.36,1);line-height:1.45}.toast-item--success{background:#16a34a;color:#fff}.toast-item--error{background:#dc2626;color:#fff}.toast-item--warning{background:#d97706;color:#fff}.toast-icon{font-size:.9rem;margin-top:1px;flex-shrink:0;font-weight:700}.toast-text{flex:1}.toast-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.1rem;line-height:1;opacity:.7;padding:0;flex-shrink:0;margin-top:-1px}.toast-close:hover{opacity:1}@keyframes toast-in{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 480px){.toast-stack{left:12px;right:12px;bottom:16px;align-items:stretch}.toast-item{min-width:unset;max-width:unset}}
