
:root{ --bg:#f8fafc; --card:#ffffff; --muted:#64748b; --text:#0f172a; --accent:#10b981; --border:#e2e8f0; }
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans',sans-serif;color:var(--text);background:var(--bg)}
.container{max-width:1100px;margin:0 auto;padding:24px}
.header{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.header h1{margin:0;font-size:28px}
.header p{margin:0;color:var(--muted)}
.tabs{display:flex;gap:8px;margin:8px 0 16px 0}
.tab{padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}
.tab.active{background:#0ea5e9;color:#fff;border-color:#0ea5e9}
.toolbar{display:grid;grid-template-columns:1fr 200px 200px 180px;gap:12px;margin:16px 0}
@media (max-width:900px){.toolbar{grid-template-columns:1fr 1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,0.03);overflow:hidden}
.card-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:12px 16px;background:#f1f5f9;border-bottom:1px solid var(--border)}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px;border:1px solid #c7d2fe}
.badge.outline{background:transparent;border-color:#e2e8f0;color:#64748b}
.airline-title{font-weight:600;font-size:18px;margin-right:8px}
.progress{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden;min-width:160px}
.progress > span{display:block;height:100%;background:var(--accent)}
.btn{appearance:none;border:1px solid var(--border);background:#fff;border-radius:10px;padding:8px 10px;font-size:14px;cursor:pointer}
.btn.ghost{background:transparent}
.controls{display:flex;gap:8px;align-items:center}
.input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px}
.select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}
.grid{display:grid;grid-template-columns:1fr;gap:10px;padding:12px}
.item{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--border);border-radius:12px}
.item:hover{background:#f8fafc}
.item .name{font-weight:500}
.kv{color:var(--muted);font-size:12px}
.stats{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px}
.footer{margin-top:24px;color:var(--muted);font-size:12px}
.hidden{display:none}
hr{border:none;border-top:1px solid var(--border);margin:0}
.routes-toolbar{display:grid;grid-template-columns:1fr 220px 220px 160px;gap:12px;margin:16px 0}
@media (max-width:900px){.routes-toolbar{grid-template-columns:1fr 1fr}}
.small{font-size:12px;color:var(--muted)}
.route-row{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--border);border-radius:12px}
.route-title{font-weight:600}
.code{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size:12px; color:#334155;}
.loadmore{margin:8px auto 16px; display:block}
.err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:10px;border-radius:12px;margin:10px 0}

/* v6 additions */
.dup-badge{display:inline-block;margin-left:6px;padding:0 6px;border-radius:8px;border:1px solid var(--border);color:#475569;background:#f8fafc;font-size:11px;line-height:18px}
