:root{color:#192b3c;font-synthesis:none;background:#f3f5f7;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}*{box-sizing:border-box}body{margin:0}header{color:#fff;background:#122b40;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem;display:flex}header strong{letter-spacing:.06em;margin-right:1.5rem;font-size:1.65rem}header span{color:#cedae3}h1,h2,h3{line-height:1.25}h2{margin-top:0;font-size:1.35rem}h3{font-size:1rem}a{color:#125e81}button{font:inherit;color:#fff;cursor:pointer;background:#185e7b;border:1px solid #185e7b;border-radius:5px;margin:.35rem .5rem .35rem 0;padding:.65rem 1rem;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}.secondary{color:#174e68;background:#fff;border-color:#9fadb7}.shell{grid-template-columns:230px minmax(0,1fr);max-width:1600px;margin:auto;display:grid}nav{padding:1.5rem 1rem}nav a{color:#294352;border-radius:5px;margin-bottom:.15rem;padding:.7rem .8rem;text-decoration:none;display:block}nav a[aria-current]{color:#123d52;background:#dce8ee;font-weight:700}main{min-width:0;max-width:1250px;padding:1.75rem}.panel{background:#fff;border:1px solid #d7dfe6;border-radius:8px;margin-bottom:1.5rem;padding:1.6rem}.login{background:#fff;border:1px solid #d7dfe6;border-radius:8px;max-width:600px;margin:8vh auto;padding:2.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.8rem;font-weight:700}.muted,small,footer{color:#5e6d79}label{margin:.75rem 0;font-weight:600;display:block}input,select{width:100%;font:inherit;background:#fff;border:1px solid #8d9ba7;border-radius:4px;margin-top:.35rem;padding:.6rem;display:block}label small{font-weight:400;display:block}.form-grid,.values{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.5rem;display:grid}.values div{border-bottom:1px solid #e5eaee;padding:.6rem 0}.values dt{color:#536471;font-size:.88rem}.values dd{margin:.3rem 0 0;font-weight:600}.row{flex-wrap:wrap;gap:.4rem;display:flex}.badge{color:#354957;background:#eef2f5;border:1px solid #c5d1d9;border-radius:4px;padding:.2rem .55rem;font-size:.8rem;font-weight:700;display:inline-block}.within_personal_minimums,.training_opportunity,.active,.pass{color:#215338;background:#e4f1ea;border-color:#a2c5b0}.unknown,.near_minimum,.reconfirmation_required,.restricted{color:#714c0e;background:#fff2d9;border-color:#e0c48c}.outside_profile,.fail,.invalidated,.closed{color:#7b2929;background:#f9e6e6;border-color:#d9a5a5}.error{background:#fff0ee;border:1px solid #d69b96;border-radius:5px;margin-bottom:1rem;padding:1rem}.error p{margin:.4rem 0}.list-item+.list-item,.history+.history{border-top:1px solid #dce3e8;margin-top:1rem;padding-top:1rem}table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.88rem;display:block;overflow-x:auto}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #dce3e8;padding:.6rem .85rem}th{font-weight:600}thead th{background:#edf2f5}details{border:1px solid #d7dfe6;border-radius:5px;margin:1.15rem 0;padding:.85rem}summary{cursor:pointer;font-weight:600}.review{background:#edf4f8;border:1px solid #a6c2d1;border-radius:5px;margin-top:1rem;padding:1rem}.inline{align-items:end;gap:1rem;display:flex}.inline label{flex:1}.inline button{margin-bottom:.75rem}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}footer{margin:2rem 0;font-size:.8rem}hr{border:0;border-top:1px solid #d7dfe6;margin:1.5rem 0}:focus-visible{outline-offset:3px;outline:3px solid #d9a849}@media (width<=780px){header{padding:1rem}header span{display:none}.shell{display:block}nav{border-bottom:1px solid #d7dfe6;gap:.3rem;padding:.5rem;display:flex;overflow:auto}nav a{white-space:nowrap}main,.panel{padding:1rem}.form-grid,.values{grid-template-columns:1fr}.login{margin:2rem 1rem;padding:1.5rem}.inline{display:block}}.vfr{color:#215338;background:#e4f1ea;border-color:#a2c5b0}.mvfr{color:#214d79;background:#e5eefb;border-color:#9db9d8}.ifr{color:#7b2929;background:#f9e6e6;border-color:#d9a5a5}.lifr{color:#63306f;background:#f1e5f5;border-color:#c6a4cf}.factor-table th:first-child{min-width:10rem}.airport-evaluation-card{padding-top:1.25rem;padding-bottom:1.5rem}.airport-evaluation-grid{grid-template-columns:minmax(0,1fr) minmax(420px,48%);align-items:start;gap:2rem;display:grid}.airport-evaluation-data{min-width:0}.airport-weather-panel{min-width:0;position:sticky;top:1rem}.airport-weather-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.airport-weather-heading a{white-space:nowrap}.airport-weather-frame{aspect-ratio:1;background:#0b5da7;border:1px solid #d7e0e7;border-radius:8px;width:100%;min-height:540px;display:block}.airport-evaluation-data .factor-table{width:100%}@media (width<=1150px){.airport-evaluation-grid{grid-template-columns:1fr}.airport-weather-panel{position:static}.airport-weather-frame{min-height:500px}}@media (width<=700px){.airport-weather-frame{min-height:380px}.airport-weather-heading{flex-direction:column;align-items:flex-start}}.metartaf-embed-host{border-radius:8px;width:100%;min-height:520px;overflow:hidden}.metartaf-embed-host>*{max-width:100%}.metartaf-embed-host iframe,.metartaf-embed-host canvas,.metartaf-embed-host>div{max-width:100%;margin-left:auto;margin-right:auto;display:block}.airport-weather-frame{display:none}@media (width<=700px){.metartaf-embed-host{min-height:435px}}.metartaf-embed-host{display:none}@media (width<=700px){.airport-weather-sandbox{height:455px}}.airport-weather-sandbox{background:0 0;border:0;width:100%;height:455px;display:block}.metartaf-embed-host,.airport-weather-frame{display:none}@media (width<=700px){.airport-weather-sandbox{height:455px}}.airport-weather-external{text-align:center;margin:.6rem 0 1.2rem;font-size:1.15rem}.weather-report-block{background:#fff;border:1px solid #d7dfe6;border-radius:7px;margin:0 0 1rem;overflow:hidden}.weather-report-title{background:#edf2f5;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .8rem;display:flex}.weather-proxy-notice{color:#9a4f00;background:#fff7ed;border-bottom:1px solid #ead8c4;padding:.7rem .8rem}.weather-raw{white-space:pre-wrap;overflow-wrap:anywhere;color:#168300;background:#fff;margin:0;padding:.85rem;font-size:.95rem;line-height:1.45}.airport-weather-sandbox,.metartaf-embed-host,.airport-weather-frame{display:none}@media (width<=700px){.weather-report-title{flex-direction:column;align-items:flex-start;gap:.25rem}}.panel{border-color:#dce5ec;border-radius:14px;box-shadow:0 1px 2px #122b4008,0 10px 28px #122b400b}input,select{border-color:#b8c5cf;border-radius:9px;min-height:44px}nav a{border-radius:8px}.match{color:#17633a;background:#e4f4eb;border-color:#a8d4ba}.not-opportunity{color:#526471;background:#edf1f4;border-color:#ccd6dd}.opportunity-filter-bar{background:#f8fafc;border:1px solid #e0e8ee;border-radius:12px;grid-template-columns:minmax(220px,1.25fr) minmax(190px,.8fr) minmax(220px,.95fr);align-items:end;gap:1rem;margin-bottom:.35rem;padding:1rem;display:grid}.opportunity-filter-bar label{color:#20384b;margin:0}.filter-helper{color:#657783;margin:.35rem .15rem 1.2rem;font-size:.9rem}.airport-matrix-section{margin-top:1rem}.airport-matrix-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.8rem;display:flex}.airport-matrix-heading h3{margin:0 0 .15rem;font-size:1.35rem}.airport-matrix-heading p{margin:0}.airport-matrix-count{color:#687b89;white-space:nowrap;font-size:.85rem}.airport-matrix-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.airport-matrix-tile{text-align:left;color:#1c3347;background:#fff;border:1px solid #dce5ec;border-radius:10px;width:100%;min-width:0;margin:0;padding:.85rem .9rem;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;box-shadow:0 1px 3px #122b4006}.airport-matrix-tile:hover{filter:none;border-color:#9dbbd1;transform:translateY(-1px);box-shadow:0 7px 18px #122b4014}.airport-matrix-tile.selected{background:#f4f9ff;border-color:#3389e8;box-shadow:0 0 0 1px #3389e82e,0 7px 18px #2268b014}.airport-matrix-topline{grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;display:grid}.airport-code{letter-spacing:.015em;font-size:1.2rem}.airport-matrix-badges{flex-wrap:wrap;gap:.35rem;display:flex}.airport-matrix-chevron{color:#627d91;font-size:1.5rem;font-weight:400;line-height:1}.airport-matrix-runway{color:#435c70;margin:.45rem 0 .6rem;font-size:.92rem;font-weight:500}.airport-factor-strip{grid-template-columns:repeat(6,1fr);gap:.25rem;display:grid}.airport-factor-mini{color:#607687;flex-direction:column;align-items:center;gap:.3rem;min-width:0;font-size:.68rem;font-weight:600;display:flex}.factor-dot{background:#8696a3;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 2px #8696a314}.factor-dot.pass{background:#11a35a}.factor-dot.fail{background:#e74747}.factor-dot.near{background:#f0ab26}.factor-dot.unknown{background:#8798a8}.matrix-empty{color:#627581;background:#fafcfd;border:1px dashed #becbd4;border-radius:10px;padding:1.25rem}.selected-airport-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start;gap:1rem;margin-top:1rem;display:grid}.selected-evaluation-card{background:#fff;border:1px solid #dce5ec;border-radius:12px;min-width:0;padding:1rem;box-shadow:0 4px 16px #122b4009}.selected-evaluation-card>h3{margin:.1rem 0 .65rem;font-size:1.2rem}.selected-evaluation-card .factor-table{width:100%}.selected-evaluation-card table{margin:.85rem 0}.airport-weather-panel{min-width:0;position:static}.modern-weather-card{background:#fff;border:1px solid #dce5ec;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #122b4009}.modern-weather-external{justify-content:flex-end;padding:.65rem .8rem .3rem;font-size:.82rem;display:flex}.modern-weather-external a{color:#176cc5;text-decoration:none}.modern-weather-external a:hover{text-decoration:underline}.modern-weather-head{background:linear-gradient(#f8fafc 0%,#f2f5f7 100%);border-bottom:1px solid #dce5ec;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.05rem .9rem;display:flex}.modern-weather-identity{align-items:center;gap:.65rem;display:flex}.weather-status-dot,.weather-period-dot{background:#14a44d;border-radius:50%;flex:0 0 12px;width:12px;height:12px}.weather-status-dot.category-mvfr{background:#4388d8}.weather-status-dot.category-ifr{background:#e04b4b}.weather-status-dot.category-lifr{background:#8b55a3}.weather-status-dot.category-unknown{background:#8999a7}.modern-weather-category{letter-spacing:.015em;color:#159444;font-size:1.25rem}.modern-weather-airport{letter-spacing:.08em;color:#1e2f3d;font-size:1.08rem}.modern-weather-age{color:#176cc5;white-space:nowrap;font-size:.85rem}.modern-weather-tabs{background:#edf1f4;border-bottom:1px solid #dce5ec;grid-template-columns:1fr 1fr;padding:.55rem;display:grid}.weather-tab{color:#4b5f70;width:100%;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:8px;margin:0;padding:.65rem;font-weight:700}.weather-tab:hover{filter:none;background:#ffffff80}.weather-tab.active{color:#192b3c;background:#fff;border-color:#c6d1d9;box-shadow:0 1px 4px #122b4014}.modern-weather-proxy{color:#a85b00;background:#fff8ef;border-bottom:1px solid #eedbc5;padding:.75rem 1rem}.modern-weather-raw-wrap{background:#fff;border-bottom:1px solid #e0e7ec;padding:0}.modern-weather-raw{color:#169b35;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;min-height:64px;margin:0;padding:1rem 1.05rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9rem;font-weight:600;line-height:1.55}.modern-weather-period{color:#52677a;letter-spacing:.04em;background:#f0f3f5;border-bottom:1px solid #dce5ec;align-items:center;gap:.65rem;padding:.8rem 1rem;font-size:.9rem;display:flex}.modern-weather-row{border-bottom:1px solid #e1e7eb;justify-content:space-between;align-items:center;gap:1rem;min-height:52px;padding:.75rem 1rem;display:flex}.modern-weather-row:last-child{border-bottom:0}.modern-weather-row span{color:#596d7e}.modern-weather-row strong{color:#0865d5;text-align:right}.airport-weather-sandbox,.metartaf-embed-host,.airport-weather-frame,.weather-report-block,.airport-weather-external{display:none!important}@media (width<=1120px){.airport-matrix-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-airport-layout{grid-template-columns:1fr}}@media (width<=800px){.opportunity-filter-bar{grid-template-columns:1fr}.airport-matrix-heading{flex-direction:column;align-items:flex-start}.airport-matrix-count{white-space:normal}.airport-matrix-grid{grid-template-columns:1fr}}
