:root {
  --siag-green: #007e47;
  --siag-green-dark: #005c3b;
  --siag-green-deep: #003f2d;
  --siag-blue: #293d70;
  --siag-white: #ffffff;
  --siag-forest: #004c35;
  --siag-ocean: #1e315f;
  --siag-sand: #f4e7d0;
  --siag-turquoise: #29a7a5;
  --siag-ink: #10231c;
  --siag-muted: #66756f;
  --siag-border: #d8e2dd;
  --siag-surface: #ffffff;
  --siag-surface-soft: #f7faf8;
  --siag-danger: #b42318;
  --siag-warning: #b7791f;
  --siag-success: #087443;
  --siag-radius-sm: 8px;
  --siag-radius-md: 14px;
  --siag-radius-lg: 22px;
  --siag-identity-mid: #116b58;
  --siag-brand-gradient: linear-gradient(110deg, #007e47 0%, #007e47 32%, #0b7354 50%, #116b58 62%, #20566a 72%, #293d70 100%);
  --siag-sidebar-gradient: var(--siag-green);
  --siag-shadow-soft: 0 12px 35px rgba(0, 76, 53, 0.14);
  --siag-shadow-focus: 0 0 0 3px rgba(0, 126, 71, 0.22);
  --siag-font: 'Century Gothic', CenturyGothic, 'Apple Gothic', Arial, sans-serif;
}

.siag-ui {
  color: var(--siag-ink);
  font-family: var(--siag-font);
}

.siag-ui *,
.siag-ui *::before,
.siag-ui *::after {
  box-sizing: border-box;
}

.siag-ui a {
  color: var(--siag-blue);
  text-decoration: none;
}

.siag-ui a:hover,
.siag-ui a:focus,
.siag-ui a:active {
  color: var(--siag-green);
  text-decoration: none !important;
}

.siag-focusable:focus,
.siag-ui a:focus,
.siag-ui button:focus,
.siag-ui input:focus,
.siag-ui select:focus,
.siag-ui textarea:focus {
  box-shadow: var(--siag-shadow-focus);
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.siag-page {
  background: var(--siag-surface-soft);
  min-height: 100vh;
}

.siag-container {
  margin: 0 auto;
  max-width: 1180px;
  padding: 24px;
}

.siag-title {
  color: var(--siag-forest);
  font-family: var(--siag-font);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}

.siag-subtitle {
  color: var(--siag-muted);
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}

.siag-sr-only {
  clip: rect(0, 0, 0, 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
