:root{
  --c-primary: #1F5F54;
  --topbar-height: 78px;
  --report-header-height: 0px;
  --sticky-gap: 10px;
  --c-secondary: #3F8B73;
  --c-text: #2E2F2F;
  --c-muted: rgba(46,47,47,.70);
  --c-soft: #E9ECEE;
  --c-white: #FFFFFF;

  --c-border: rgba(46,47,47,.12);
  --c-border-strong: rgba(46,47,47,.20);

  --shadow-soft: 0 10px 26px rgba(46,47,47,.10);
  --r-xl: 18px;

  --font-body: "Roboto", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-head: "Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

/* Base */
*{ box-sizing:border-box; }
html,body{ height:100%; }
html{ scroll-behavior:smooth; scroll-padding-top: calc(var(--topbar-height) + 24px); }

body{
  margin:0;
  background: var(--c-white);
  color: var(--c-text);
  font-family: var(--font-body);
}

.container{
  max-width:1100px;
  margin:0 auto;
  padding:18px;
}

h1,h2,h3{
  font-family: var(--font-head);
  color: var(--c-text);
}
h2{ font-weight:700; }

a{ color: inherit; }

/* Utilities */
.muted{ color: var(--c-muted); }
.small{ font-size:12px; }
.nowrap{ white-space:nowrap; }
.num{ text-align:right; }

/* Focus (UX/Accessibility) */
:where(a, button, input, select, textarea):focus-visible{
  outline: 3px solid rgba(31,95,84,.25);
  outline-offset: 2px;
  border-radius: 10px;
}
