:root {
  --bg: #edf3fa;
  --bg-alt: #f7fbff;
  --panel: #ffffff;
  --line: #d5dfec;
  --ink: #0a1b33;
  --muted: #5b7088;
  --accent: #1155cc;
  --accent-dark: #0a1b33;
  --success: #00c48c;
  --danger: #e63946;
  --info: #00b8d9;
  --shadow: 0 20px 48px rgba(10, 27, 51, 0.12);
  --radius: 22px;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: var(--ink);
  background: linear-gradient(180deg, #f7fbff 0%, #e9f1f9 100%);
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

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

.brand-kicker,
.page-kicker {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--muted);
}

.flash {
  margin-bottom: 1rem;
  padding: 0.95rem 1rem;
  border-radius: 16px;
  border: 1px solid transparent;
}

.flash-success {
  color: #047857;
  background: #e9fbf5;
  border-color: #b8efdc;
}

.flash-error {
  color: var(--danger);
  background: #fff0f2;
  border-color: #ffc7cd;
}

.flash-info {
  color: #0369a1;
  background: #eefaff;
  border-color: #bbeafa;
}

.button-link,
button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0.8rem 1.2rem;
  border: none;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.button-link:hover,
button:hover {
  background: var(--accent-dark);
  transform: translateY(-1px);
}

.button-link.secondary {
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line);
}

.panel-card,
.stat-card,
.empty-card,
.detail-card,
.design-card {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(213, 223, 236, 0.9);
  box-shadow: var(--shadow);
  border-radius: var(--radius);
}
