:root{
  --bg:#0b0d12; --panel:#141822; --panel2:#1b2130; --line:#262d3d;
  --fg:#e6e9ef; --dim:#9aa4b5; --faint:#5d6779;
  --accent:#3b82f6; --good:#22c55e; --warn:#f59e0b; --bad:#ef4444;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  padding:1rem;max-width:1100px;margin-inline:auto;padding-bottom:4rem}
header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
h1{font-size:1.15rem;margin:0;letter-spacing:.02em}
.sources{display:flex;gap:.4rem;flex-wrap:wrap}
.src{font-size:.68rem;padding:.15rem .5rem;border-radius:1rem;border:1px solid var(--line);color:var(--dim)}
.src.on{color:var(--good);border-color:#1e4a2e;background:#0f2318}
.src.off{color:var(--faint)}

form{display:flex;gap:.6rem;flex-wrap:wrap;align-items:end;margin:1rem 0}
label{display:flex;flex-direction:column;gap:.25rem;font-size:.7rem;color:var(--dim);
  text-transform:uppercase;letter-spacing:.05em}
select,input,button{padding:.5rem .6rem;border-radius:.45rem;border:1px solid var(--line);
  background:var(--panel);color:var(--fg);font-size:.9rem;font-family:inherit}
button{background:var(--accent);border-color:var(--accent);font-weight:600;cursor:pointer}
button:hover{filter:brightness(1.1)}

.notice{background:#241c07;border:1px solid #5a4410;color:#f5d78e;
  padding:.6rem .8rem;border-radius:.5rem;font-size:.8rem;line-height:1.45;margin-bottom:.8rem}
.status{color:var(--faint);font-size:.75rem;margin-bottom:.8rem;min-height:1rem}

.card{background:var(--panel);border:1px solid var(--line);border-radius:.6rem;
  padding:.75rem .9rem;margin-bottom:.5rem;cursor:pointer;transition:border-color .12s}
.card:hover{border-color:#3a445c}
.row1{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.dest{font-weight:600;font-size:1rem}
.dest .iata{color:var(--faint);font-weight:400;font-size:.8rem;margin-left:.35rem}
.country{color:var(--dim);font-size:.78rem}
.price{text-align:right;white-space:nowrap}
.price .num{font-size:1.15rem;font-weight:700}
.price .lbl{display:block;font-size:.62rem;color:var(--faint);text-transform:uppercase;letter-spacing:.05em}
.meta{color:var(--dim);font-size:.75rem;margin-top:.35rem}
.badges{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.45rem}
.badge{font-size:.66rem;padding:.12rem .45rem;border-radius:.9rem;border:1px solid var(--line);color:var(--dim)}
.badge.good{color:var(--good);border-color:#1e4a2e;background:#0f2318}
.badge.warn{color:var(--warn);border-color:#4a3a10;background:#231b07}
.badge.info{color:var(--dim)}
.est{opacity:.72}

dialog{background:var(--panel);color:var(--fg);border:1px solid var(--line);
  border-radius:.7rem;padding:1.1rem;max-width:34rem;width:92%}
dialog::backdrop{background:#000a;backdrop-filter:blur(2px)}
dialog h2{margin:0 0 .2rem;font-size:1.05rem}
dialog h3{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);
  margin:1rem 0 .4rem}
.links{display:flex;flex-direction:column;gap:.3rem}
.links a{display:flex;justify-content:space-between;gap:.6rem;align-items:center;
  color:var(--fg);text-decoration:none;background:var(--panel2);
  border:1px solid var(--line);border-radius:.45rem;padding:.5rem .65rem;font-size:.84rem}
.links a:hover{border-color:var(--accent)}
.links a small{color:var(--faint);font-size:.68rem;text-align:right;max-width:55%}
table{width:100%;border-collapse:collapse;font-size:.78rem;margin-top:.3rem}
td,th{padding:.3rem .4rem;border-bottom:1px solid var(--line);text-align:left}
th{color:var(--faint);font-weight:500;font-size:.66rem;text-transform:uppercase}
td.n{text-align:right;font-variant-numeric:tabular-nums}
footer{margin-top:2rem;color:var(--faint);font-size:.72rem;line-height:1.5;
  border-top:1px solid var(--line);padding-top:.8rem}
footer p{margin:.3rem 0}
