.login-wrapper, .minimal-body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at top, #eef2ff, #f8fafc 45%, #eef3fb 100%);
}
.login-box {
  width: min(430px, calc(100vw - 32px));
  background: #fff;
  border-radius: 22px;
  padding: 32px;
  box-shadow: var(--shadow);
  border: 1px solid var(--line);
}
.login-box h2 { font-size: 1.8rem; margin-bottom: 8px; }
.login-error { margin-bottom: 16px; padding: 12px; border-radius: 12px; background: #fee2e2; color: #991b1b; }
.section-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.quote-builder { display: grid; grid-template-columns: 1.3fr .8fr; gap: 18px; }
.sticky-summary { position: sticky; top: 32px; }
.muted { color: var(--muted); }
.text-right { text-align: right; }
.font-bold { font-weight: 800; }
.mb-1 { margin-bottom: 8px; }
.mb-2 { margin-bottom: 16px; }
.mt-2 { margin-top: 16px; }
.gap-1 { gap: 8px; }
.gap-2 { gap: 16px; }
@media (max-width: 1100px) { .quote-builder { grid-template-columns: 1fr; } }
