/* /app — plain lightweight styles, matching landing/wizard aesthetic. */
body{font:16px/1.55 -apple-system,system-ui,sans-serif;max-width:760px;margin:2rem auto;padding:0 1rem;color:#1a1a1a}
h1{font-size:1.5rem}h2{font-size:1.1rem;margin-top:1.6rem}
input,select,button{font:inherit;padding:.55rem .7rem;border:1px solid #ccc;border-radius:8px;box-sizing:border-box}
button{background:#0a6b3d;color:#fff;border:0;cursor:pointer}
button.secondary{background:#eef2ee;color:#0a6b3d}
button:disabled{opacity:.5;cursor:not-allowed}
a{color:#0a6b3d}
.muted{color:#777;font-size:.85rem}
.hidden{display:none}
.box{background:#f6f8f6;border:1px solid #e3e8e3;border-radius:8px;padding:.7rem 1rem;margin:1rem 0}
.err{background:#fff4f4;border:1px solid #f0d6d6;border-radius:8px;padding:.6rem .9rem;margin:.8rem 0;color:#8a1f1f;font-size:.9rem}
/* Search facet grid */
.facets{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.8rem 0}
.facets label{display:block;font-size:.82rem;color:#555;margin-bottom:.2rem}
.facets input,.facets select{width:100%}
.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}
/* Multi-country chips (chosen countries; whole chip is the remove button) */
.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}
.chips:empty{display:none}
button.chip{background:#eef2ee;color:#0a6b3d;border:1px solid #dce6dc;border-radius:999px;padding:.15rem .6rem;font-size:.82rem}
button.chip:hover,button.chip:focus{background:#dce6dc}
.facets .muted{margin:.35rem 0 0}
/* Result rows */
ul.results{list-style:none;padding:0;margin:.6rem 0}
ul.results li{border-bottom:1px solid #eee;padding:.7rem 0}
.r-title{font-weight:600}
.r-meta{font-size:.85rem;color:#666;margin:.2rem 0}
/* Row facts (location, date). `.unknown` is deliberately still legible —
   "not stated" is an answer the reader needs, not chrome to hide. */
.r-facts{font-size:.85rem;color:#555;margin:.2rem 0}
.r-facts .sep{color:#bbb;margin:0 .4rem}
.r-facts .unknown{color:#8a8a8a;font-style:italic}
.badge{display:inline-block;background:#eef2ee;color:#0a6b3d;border:1px solid #dce6dc;border-radius:999px;padding:.1rem .55rem;font-size:.75rem;margin-left:.4rem;vertical-align:middle}
.badge.new{background:#0a6b3d;color:#fff;border-color:#0a6b3d}
/* Saved directions */
ul.saved{list-style:none;padding:0;margin:.6rem 0}
ul.saved li{border:1px solid #e3e8e3;border-radius:8px;padding:.7rem .9rem;margin:.5rem 0}
.saved-facets{font-weight:600}
.saved-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.saved-actions button{padding:.35rem .6rem;font-size:.85rem}
footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #eee;font-size:.85rem;color:#777;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
/* Loading feedback (boot + search) — gentle pulse, respects reduced motion */
.loading{animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
@media (prefers-reduced-motion: reduce){.loading{animation:none}}
