.tpv-fr24-page{background:#f5f7fb;padding:38px 0 70px}.tpv-fr24-wrap{max-width:1180px;margin:auto;padding:0 18px}.tpv-fr24{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033}.fr24-hero{position:relative;overflow:hidden;border-radius:24px;padding:34px 36px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#071522,#123047 60%,#0b5c76);color:#fff;box-shadow:0 18px 50px rgba(9,35,55,.22)}.hero-glow{position:absolute;width:420px;height:420px;right:-150px;top:-250px;border-radius:50%;background:rgba(64,211,255,.17);filter:blur(4px)}.hero-plane{position:absolute;right:180px;bottom:-30px;font-size:150px;opacity:.06;transform:rotate(-15deg)}.hero-copy,.airport-code{position:relative;z-index:2}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;display:flex;gap:8px;align-items:center;color:#8ceaff}.live-dot{width:8px;height:8px;border-radius:50%;background:#3ee58b;box-shadow:0 0 0 5px rgba(62,229,139,.12)}.hero-copy h1{margin:10px 0 5px;font-size:31px;line-height:1.15;color:#fff}.hero-copy p{margin:0;color:#b9cfdb}.airport-code{text-align:right}.airport-code strong{display:block;font-size:52px;letter-spacing:3px}.airport-code span{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#a9c3d0}.airport-picker{margin:18px 0 12px;display:flex;gap:10px;align-items:end}.airport-picker label{font-size:11px;font-weight:800;text-transform:uppercase;color:#718096;position:absolute;margin:0 0 55px 2px}.airport-select{flex:1;border:1px solid #dfe5ed;border-radius:12px;background:#fff;padding:14px 44px 14px 15px;font-size:14px;color:#182233;min-width:0}.refresh-btn{border:1px solid #dfe5ed;background:#fff;border-radius:12px;padding:13px 17px;font-weight:800;color:#17324a;cursor:pointer}.refresh-btn:hover{background:#f1f7fa}.refresh-btn.loading{opacity:.6}.fr24-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e3e8ef;border:1px solid #e3e8ef;border-radius:16px;overflow:hidden;margin-bottom:14px}.fr24-stats>div{background:#fff;padding:17px 18px}.fr24-stats b{display:block;font-size:25px;line-height:1.1}.fr24-stats span{font-size:10px;font-weight:800;letter-spacing:1px;color:#8390a1}.fr24-tabs{display:flex;gap:7px;margin:12px 0}.fr24-tabs button{border:0;background:#e9eef4;color:#5c697a;padding:10px 17px;border-radius:10px;font-weight:800;cursor:pointer}.fr24-tabs button.active{background:#112b3d;color:#fff;box-shadow:0 6px 18px rgba(17,43,61,.16)}.flight-list{background:#fff;border:1px solid #e0e6ee;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(23,32,51,.05)}.flight-head,.flight-row{display:grid;grid-template-columns:90px 95px 1.35fr 1.15fr 1fr 145px;gap:14px;align-items:center}.flight-head{padding:11px 18px;background:#f7f9fc;color:#8792a1;font-size:9px;font-weight:900;letter-spacing:1.1px}.flight-row{padding:16px 18px;border-top:1px solid #edf0f4;transition:.18s ease}.flight-row:hover{background:#f8fcfe;transform:translateY(-1px)}.flight-time strong{font-size:23px;letter-spacing:-.5px}.flight-time small,.route small,.flight-main span{display:block;color:#8490a0;font-size:11px;margin-top:3px}.flight-direction{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:900;color:#647286}.dir-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e8f7fb;color:#0983a1;font-size:16px}.flight-row.departure .dir-icon{background:#eef1ff;color:#4e62c8}.route strong{font-size:13px}.route i{font-style:normal;color:#8e9aaa;padding:0 5px}.flight-main b{font-size:14px}.aircraft{font-size:11px;color:#667386}.flight-status{justify-self:start;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;background:#eaf8f0;color:#15834a}.flight-status.warn{background:#fff5dc;color:#9a6a00}.flight-status.bad{background:#ffebed;color:#b52e39}.flight-status.done{background:#e9eef4;color:#536171}.fr24-loading{padding:55px 20px;text-align:center;color:#7b8797}.fr24-loading span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#1789a8;margin:0 3px;animation:dot 1s infinite}.fr24-loading span:nth-child(2){animation-delay:.15s}.fr24-loading span:nth-child(3){animation-delay:.3s}.fr24-loading p{font-size:13px}.empty,.error{padding:55px 25px;text-align:center}.error{color:#9f3340}.error p{color:#657184}.fr24-footer{display:flex;justify-content:space-between;gap:20px;color:#8792a1;font-size:10px;margin:12px 2px}.airport-seo-copy{margin-top:24px;background:#fff;border:1px solid #e1e7ee;border-radius:18px;padding:25px 28px;line-height:1.75}.airport-seo-copy h2{font-size:20px;margin:0 0 7px}.airport-seo-copy h2:not(:first-child){margin-top:22px}.airport-seo-copy p{color:#596678;margin:0}.airport-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.airport-links a{padding:7px 10px;border-radius:8px;background:#f0f4f8;color:#31556b;text-decoration:none;font-size:11px;font-weight:800}.airport-links a:hover{background:#e2f2f7}@keyframes dot{50%{transform:translateY(-5px);opacity:.5}}
@media(max-width:800px){.fr24-hero{padding:26px 22px}.hero-copy h1{font-size:24px}.airport-code strong{font-size:38px}.hero-plane{right:70px}.fr24-stats{grid-template-columns:repeat(2,1fr)}.flight-head{display:none}.flight-row{grid-template-columns:72px 1fr 105px;gap:10px;padding:15px}.flight-direction{display:none}.route{grid-column:2}.flight-main{grid-column:1/3;grid-row:2}.aircraft{display:none}.flight-status{grid-column:3;grid-row:1;justify-self:end}.fr24-footer{flex-direction:column}.airport-picker{align-items:stretch}.refresh-btn span{display:none}.refresh-btn{padding:12px 14px}.airport-seo-copy{padding:20px}.airport-links{max-height:190px;overflow:auto}}
