html,
body,
#root {
  min-height: 100%;
  margin: 0;
}

* {
  box-sizing: border-box;
}

body {
  background: #f6f7f4;
  color: #15202b;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

[data-theme="dark"] body,
[data-theme="dark"] .page-shell {
  background: #0d171d;
  color: #eef5f1;
}

a {
  color: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  border: 0;
  border-radius: 999px;
  background: #10202a;
  color: #ffffff;
  cursor: pointer;
  font-weight: 700;
  padding: 0.65rem 1rem;
}

input,
select,
textarea {
  max-width: 100%;
  border: 1px solid rgba(16, 32, 42, 0.16);
  border-radius: 0.85rem;
  background: #ffffff;
  color: #10202a;
  padding: 0.7rem 0.9rem;
}

[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
  border-color: rgba(238, 245, 241, 0.16);
  background: #27343c;
  color: #eef5f1;
}

.page-shell {
  min-height: 100vh;
  background: #f6f7f4;
}

.panel,
.glass-chip,
.metric-tile,
.landing-topbar,
.landing-hero-panel,
.landing-mockup-shell,
.landing-preview-card {
  border: 1px solid rgba(16, 32, 42, 0.12);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.92);
}

[data-theme="dark"] .panel,
[data-theme="dark"] .glass-chip,
[data-theme="dark"] .metric-tile,
[data-theme="dark"] .landing-topbar,
[data-theme="dark"] .landing-hero-panel,
[data-theme="dark"] .landing-mockup-shell,
[data-theme="dark"] .landing-preview-card {
  border-color: rgba(238, 245, 241, 0.14);
  background: rgba(238, 245, 241, 0.08);
}

.theme-mode-toggle {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 80;
  display: inline-flex;
  gap: 0.35rem;
  border: 1px solid rgba(16, 32, 42, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  padding: 0.35rem;
}

[data-theme="dark"] .theme-mode-toggle {
  border-color: rgba(238, 245, 241, 0.16);
  background: rgba(13, 23, 29, 0.86);
}

.theme-mode-toggle-button {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  padding: 0;
}
