:root {
  --gis-ink: #183447;
  --gis-muted: #526a78;
  --gis-line: #d9e1e3;
  --gis-card: #fffdfa;
  --gis-bg: #f4f7f8;
  --gis-accent: #0675a9;
  --gis-accent-2: #176c4a;
  --gis-shadow: 0 16px 38px rgba(15, 23, 42, .09);
}

* { box-sizing: border-box; }
body.gis-body {
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  color: var(--gis-ink);
  background: var(--gis-bg);
  font-family: "Avenir Next", Avenir, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.gis-site-header { border-bottom: 1px solid rgba(24, 52, 71, .1); background: rgba(255, 253, 250, .97); }
.gis-site-header__inner { width: min(1280px, calc(100% - 40px)); min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-inline: auto; }
.gis-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--gis-ink); font-size: 1.35rem; font-weight: 850; letter-spacing: -.03em; text-decoration: none; }
.gis-brand__mark { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; background: var(--gis-accent); }
.gis-brand__mark::before { content: ""; width: 24px; height: 24px; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='15.5' rx='6.2' ry='5' fill='white'/%3E%3Ccircle cx='5' cy='8.2' r='2.25' fill='white'/%3E%3Ccircle cx='9.4' cy='5.3' r='2.25' fill='white'/%3E%3Ccircle cx='14.6' cy='5.3' r='2.25' fill='white'/%3E%3Ccircle cx='19' cy='8.2' r='2.25' fill='white'/%3E%3C/svg%3E"); }
.gis-site-nav { display: flex; align-items: center; gap: 24px; }
.gis-site-nav a { color: var(--gis-ink); font-size: .95rem; font-weight: 750; text-decoration: none; }
.gis-site-nav__cta { min-height: 44px; display: inline-flex; align-items: center; padding: 10px 18px; border: 1px solid var(--gis-accent); border-radius: 999px; color: var(--gis-accent) !important; }

.gis-shell { max-width: 1280px; padding: 48px 20px 78px; }
.gis-hero { display: block; margin: 0 0 30px; padding: clamp(30px, 5vw, 60px); border-radius: 16px; color: #fff; background: var(--gis-ink); box-shadow: var(--gis-shadow); }
.gis-hero h1 { max-width: 900px; font-size: clamp(2.6rem, 6vw, 5.4rem); line-height: .98; letter-spacing: -.035em; }
.gis-hero p { max-width: 850px; margin-top: 22px; color: #d5e7ee; font-size: 1.08rem; }
.gis-card { padding: clamp(22px, 3vw, 34px); border: 0; border-radius: 16px; background: var(--gis-card); box-shadow: var(--gis-shadow); }
.gis-card h2 { font-size: clamp(1.25rem, 2vw, 1.65rem); letter-spacing: -.02em; }
.gis-metric { border: 1px solid #c9dde5; border-radius: 12px; background: #eef7fa; }
.gis-dual .table-wrap,
.table-wrap { border-radius: 12px; background: #fff; }
.gis-last-run { border-radius: 12px; background: #eef8f2; }
.gis-form input,
.gis-form select { min-height: 48px; border-radius: 10px; font-size: 16px; }
.gis-form button,
.gis-toolbar button { min-height: 46px; padding: 11px 18px; border-radius: 12px; background: var(--gis-accent); }
.gis-form button:hover,
.gis-toolbar button:hover { background: #005f8a; filter: none; }
.gis-status { color: var(--gis-accent); }
.gis-table td a { color: var(--gis-accent); }
.mt-3 { margin-top: 1rem; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible { outline: 3px solid rgba(6, 117, 169, .28); outline-offset: 3px; }

@media (max-width: 700px) {
  .gis-site-header__inner { width: calc(100% - 28px); min-height: 70px; }
  .gis-site-nav a:not(.gis-site-nav__cta) { display: none; }
  .gis-shell { padding: 30px 14px 60px; }
  .gis-hero { padding: 28px 22px; border-radius: 14px; }
  .gis-card { padding: 22px 18px; border-radius: 14px; }
}
