:root {
  --bg-top: #f4efe7;
  --bg-bottom: #e7edf7;
  --surface: #ffffff;
  --ink: #1c2836;
  --muted: #5f6d7c;
  --line: #d5deea;
  --accent: #0b5cad;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at top right, #f7f1df 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_canvas { border-radius: 12px; overflow: hidden; }
#map_canvas { border: 1px solid #ccd8e3; }
.panoramio, .panoramio2 { margin: 6px 0; padding: 8px; border: 1px solid #cfdae4; border-radius: 10px; background: #f7fafc; color: #5d6b78; font-size: 0.82rem; }
.panoramio strong, .panoramio2 strong { color: var(--ink); font-size: 1rem; }
@media (max-width: 900px) { table, tbody, tr, td { display: block; width: 100% !important; } td { margin-bottom: 8px; } }
