:root {
  --rm-ink: #10233f;
  --rm-muted: #60708a;
  --rm-primary: #1167d8;
  --rm-cyan: #00a9b7;
  --rm-surface: #ffffff;
  --rm-background: #f4f8fc;
}

html,
body {
  background: var(--rm-background);
  color: var(--rm-ink);
}

body {
  background-image:
    radial-gradient(circle at 8% 0%, rgba(0, 169, 183, 0.1), transparent 28rem),
    radial-gradient(circle at 92% 12%, rgba(17, 103, 216, 0.08), transparent 24rem);
}

header,
[role="banner"] {
  background: rgba(255, 255, 255, 0.88) !important;
  border-bottom: 1px solid rgba(16, 35, 63, 0.08) !important;
  box-shadow: 0 8px 28px rgba(16, 35, 63, 0.06) !important;
  backdrop-filter: blur(18px);
}

/* Keep the return action aligned to the left edge of the branding panel. */
#root > div > div:first-child > div:first-child {
  justify-content: flex-start !important;
  padding-left: 16px !important;
}

header img[alt="Portal do Instalador"],
[role="banner"] img[alt="Portal do Instalador"] {
  content: url("/rm-rastro-logo.png?v=2");
  object-fit: contain;
}

main h1,
main h2,
main h3 {
  color: var(--rm-ink);
  letter-spacing: -0.035em;
}

input,
textarea,
[role="combobox"] {
  border-radius: 14px !important;
}

button {
  border-radius: 12px !important;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease !important;
}

button:hover {
  transform: translateY(-1px);
}

svg.MuiSvgIcon-root {
  padding: 0;
  border-radius: 13px;
  background: linear-gradient(145deg, #e8f8fb, #eaf1ff);
  color: var(--rm-primary);
  filter: drop-shadow(0 4px 7px rgba(17, 103, 216, 0.14));
}

svg.MuiSvgIcon-root path {
  fill: currentColor;
}

main a svg.MuiSvgIcon-root {
  background: linear-gradient(145deg, #d8f6f4, #dce9ff);
  color: #075fae;
}

main button svg.MuiSvgIcon-root {
  background: transparent;
  filter: none;
}

a {
  transition: color 160ms ease, opacity 160ms ease;
}

footer,
[role="contentinfo"] {
  color: var(--rm-muted);
}
