:root {
  --bg-top: #f4efe5;
  --bg-bottom: #e8eef6;
  --surface: #ffffff;
  --ink: #1f2a38;
  --line: #d7dee6;
  --accent: #0b5cad;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at top right, #f7f0dd 0%, transparent 32%), linear-gradient(165deg, var(--bg-top), var(--bg-bottom)); font-family: "Segoe UI", "Helvetica Neue", "Trebuchet MS", sans-serif; line-height: 1.45; }
h1 { margin: 0; font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 700; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
table { width: 100%; border-collapse: separate; border-spacing: 10px; }
td { background: color-mix(in srgb, var(--surface) 96%, transparent); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 8px 24px rgba(22, 32, 44, 0.05); padding: 12px; vertical-align: top; }
input[type="text"] { width: 100%; border: 1px solid #bcc9d6; border-radius: 10px; padding: 8px 10px; }
input[type="submit"] { margin-top: 8px; border: 0; border-radius: 10px; background: linear-gradient(90deg, var(--accent), #2079d4); color: #fff; padding: 7px 14px; font-weight: 600; }
img, iframe, #map { border-radius: 12px; overflow: hidden; }
#map { border: 1px solid #ccd8e3; }
@media (max-width: 900px) { table, tbody, tr, td { display: block; width: 100% !important; } td { margin-bottom: 8px; } }
