:root{
  --bg:#f6f8fb; --card:#ffffff; --text:#0f172a; --muted:#6b7280;
  --border:#e5e7eb; --accent:#2563eb; --accent-700:#1d4ed8;
  --ring: rgba(37,99,235,.15); --shadow: 0 12px 30px rgba(2,6,23,.08);
  --radius:16px;
}
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}

/* Nav */
.navbar{position:sticky;top:0;z-index:10;background:#0b1220;color:#fff}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}
.brand{font-weight:800;letter-spacing:.2px;color:#fff;text-decoration:none}
.nav-links{display:flex;gap:14px;align-items:center}
.nav-links a{color:#cbd5e1;text-decoration:none;padding:6px 8px;border-radius:8px}
.nav-links a:hover,.nav-links a.active{background:rgba(255,255,255,.08);color:#fff}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:20px;padding:6px 8px;border-radius:8px}
@media (max-width:860px){
  .nav-toggle{display:block}
  .nav-links{display:none;flex-direction:column;align-items:flex-start;background:#0b1220;padding:10px 16px}
  .nav-links.open{display:flex}
}

/* Shell / sections */
.shell{max-width:1000px;margin:0 auto;padding:0 16px}
.hero{margin:28px 0 14px}
.hero h1{margin:0 0 6px;font-size:32px}
.hero .muted{color:var(--muted)}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.pad{padding:18px}
.section-title{margin:22px 2px 8px;font-size:18px}
.meta{color:var(--muted);font-size:13px;margin-top:6px}
.muted{color:var(--muted)}
.alert{padding:10px 12px;border-radius:10px;margin-bottom:12px}
.alert.error{background:#fee2e2;border:1px solid #fecaca;color:#7f1d1d}
.alert.success{background:#dcfce7;border:1px solid #bbf7d0;color:#064e3b}

/* Forms */
.search-card{padding:18px}
.search-form{display:grid;gap:12px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field label{display:block;font-size:13px;color:var(--muted);margin:0 0 6px}
input,select,textarea,button{width:100%;padding:12px 12px;font-size:15px;border:1px solid var(--border);border-radius:10px;background:#fff}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}
input[type="number"]{max-width:140px}
.note{font-size:12px;color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:10px;cursor:pointer;text-decoration:none}
.btn-primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}
.btn-primary:hover{background:var(--accent-700);border-color:var(--accent-700)}
.btn-ghost{background:#fff;color:var(--text);border:1px solid var(--border)}
.btn[disabled]{opacity:.6;cursor:not-allowed}

/* Results list */
.item{padding:14px;margin:12px 0}
.item-top{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.route{font-weight:700}
.price{font-size:18px;font-weight:700}
.badge{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--muted)}
.seg-list{margin:8px 0 0;padding:0;list-style:none}
.seg{padding:8px 0;border-top:1px dashed var(--border);font-size:14px}
.seg:first-child{border-top:0}
pre{white-space:pre-wrap;word-break:break-word;background:#fafafa;padding:10px;border-radius:10px}

/* Footer */
.site-footer{margin-top:40px;border-top:1px solid var(--border);background:#fff}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;padding:18px 0}
.foot-title{font-weight:700;margin-bottom:6px}
.foot-grid ul{margin:0;padding-left:18px}
.foot-bottom{padding:10px 0;border-top:1px solid var(--border);color:var(--muted);font-size:13px;text-align:center}

/* Utilities & responsive */
.center{display:flex;justify-content:center}
.mt-12{margin-top:12px}.mt-16{margin-top:16px}
@media (max-width:720px){ .row{grid-template-columns:1fr} .hero h1{font-size:26px} .foot-grid{grid-template-columns:1fr} }

/* Reset some defaults */
body {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background: #f9fafb; /* light gray */
  color: #111827;      /* slate-900 */
}

/* Navbar */
.navbar {
  background: white;
  border-bottom: 1px solid #e5e7eb; /* slate-200 */
  padding: 0.75rem 1rem;
}

.nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.brand {
  font-size: 1.25rem;
  font-weight: 600;
  color: #111827;
  text-decoration: none;
}

.nav-links {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.nav-links a {
  text-decoration: none;
  color: #374151; /* slate-700 */
  font-size: 0.95rem;
}

.nav-links a.active {
  font-weight: 600;
  color: #2563eb; /* blue-600 */
}

.btn.btn-primary {
  background: #2563eb; /* blue-600 */
  color: white;
  padding: 0.5rem 0.9rem;
  border-radius: 0.5rem;
  font-size: 0.9rem;
  text-decoration: none;
}

.btn.btn-primary:hover {
  background: #1d4ed8; /* blue-700 */
}

/* Footer */
.site-footer {
  background: #f3f4f6; /* slate-100 */
  margin-top: 3rem;
  padding: 2rem 1rem;
  font-size: 0.9rem;
}

.foot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}

.foot-title {
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #111827;
}

.muted {
  color: #6b7280; /* slate-500 */
  font-size: 0.85rem;
}

.foot-bottom {
  border-top: 1px solid #e5e7eb;
  margin-top: 2rem;
  padding-top: 1rem;
  text-align: center;
  color: #6b7280;
  font-size: 0.85rem;
}

