/* Shared MartSoft tokens and accessible form controls. */
:root {
  --ms-blue: #0090c5;
  --ms-blue-bright: #20acd9;
  --ms-navy: #162332;
  --ms-navy-soft: #26394b;
  --ms-paper: #f7f7f7;
  --ms-ink: #303840;
  --ms-muted: #778492;
  --ms-border: #e1e7ed;
  --ms-shadow: 0 18px 48px rgba(10, 27, 43, .19);
  font-family: 'Segoe UI', Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ms-ink);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
*, *::before, *::after { box-sizing: border-box; }
html, body { width: 100%; min-height: 100%; margin: 0; }
body { font-size: 14px; }
button, input { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
a { color: var(--ms-blue); text-decoration: none; }
a:hover { text-decoration: underline; }
button:focus-visible, a:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 3px solid rgba(0,144,197,.42); outline-offset: 2px; }
.button { min-height: 44px; border: 1px solid transparent; padding: 11px 19px; border-radius: 11px; display: inline-flex; justify-content: center; align-items: center; gap: 10px; font-weight: 650; text-decoration: none; transition: transform .16s, box-shadow .16s, background .16s; }
.button:hover { text-decoration: none; transform: translateY(-1px); }
.button--primary { color: white; background: linear-gradient(135deg, #0088bd, #14aed4); box-shadow: 0 8px 20px rgba(0,144,197,.20); }
.button--primary:hover { box-shadow: 0 11px 25px rgba(0,144,197,.3); }
.button--ghost { color: #66717c; border-color: #e5eaf0; background: #fff; }
.button--ghost:hover { background: #f3f7f9; }
.button--wide { width: 100%; }
[hidden] { display: none !important; }
