:root { --primary:#1a237e; --primary-200:#e3f2fd; --link:#1565c0; --muted:#999; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif; }
.header { width: 100%; background: var(--primary); color: #fff; padding: 1rem 0; box-shadow: 0 2px 8px #e3e3e3; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
.header h1 { margin: 0; font-size: 1.6rem; font-weight: 700; }
.card { background: #fff; padding: 24px; margin: 1.5rem auto; border-radius: 10px; box-shadow: 0 1px 4px #ededed; }
.card h2 { color: var(--primary); margin: 0 0 8px 0; }
.card p.description { margin: 0 0 16px 0; }
table.kv { width: 100%; background: #f7fbff; border-radius: 8px; border-collapse: collapse; overflow: hidden; }
table.kv th { text-align: left; padding: 10px 14px; background: var(--primary-200); color: var(--primary); font-weight: 600; width: 260px; border-bottom: 1px solid #e3e3e3; }
table.kv td { padding: 10px 14px; background: #fff; border-bottom: 1px solid #e3e3e3; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
.muted { color: var(--muted); }
.map { width:100%; height: 460px; border: 1px solid #eee; border-radius: 8px; margin-top: 10px; }
table#datasets { width:100%; }
table#datasets tbody tr { cursor: pointer; }
#datasets_wrapper { margin-top: 12px; }
.badge { display:inline-block; padding:2px 8px; border-radius:999px; background:#eef3ff; color:var(--primary); font-size:12px; }
.section-title { margin-top: 20px; }
