/* EV10 Base */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { min-height: 100%; margin: 0; }

html, body {
  overflow-x: hidden;
  max-width: 100%;
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  font-family: var(--ev10-font);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-secondary);
  background: var(--ev10-bg);
  -webkit-font-smoothing: antialiased;
}

html.nav-open,
body.nav-open {
  overflow: hidden;
}

a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }

.muted { color: var(--ev10-muted); }
.muted2 { color: var(--text-muted); }
.strong { font-weight: 600; color: var(--ev10-text); }
.num { text-align: right; font-variant-numeric: tabular-nums; }
.sub { display: block; font-size: 13px; color: var(--ev10-muted); margin-top: 4px; line-height: 1.45; }
.spacer-12 { height: 12px; }
.spacer-16 { height: 16px; }
.spacer-24 { height: 24px; }
.u-m0 { margin: 0; }
.text-sm { font-size: 13px; }

.backdrop {
  position: fixed;
  inset: 0;
  z-index: 110;
  background: rgba(16, 24, 40, 0.42);
  display: none;
}
.backdrop.is-open { display: block; }

.alert {
  padding: 12px 14px;
  border-radius: var(--ev10-radius-sm);
  border: 1px solid var(--ev10-border);
  background: var(--ev10-surface);
  color: var(--ev10-text);
  margin-bottom: 16px;
  font-size: 13px;
  font-weight: 550;
}
.alert--success { background: var(--ev10-soft-green); border-color: #A6F4C5; color: #027A48; }
.alert--warning { background: var(--ev10-soft-orange); border-color: #FEDF89; color: #B54708; }
.alert--danger { background: var(--ev10-soft-red); border-color: #FECDCA; color: #B42318; }
.alert--info { background: var(--ev10-soft-blue); border-color: #B2CCFF; color: #004EEB; }
