*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont,
               'Segoe UI', Roboto, sans-serif;
}
input, select, textarea { font-size: 16px; font-family: inherit; }
@media (min-width: 640px) {
  input, select, textarea { font-size: 14px; }
}
@media (max-width: 640px) {
  button, [role="button"], a.btn, .dg-tap { min-height: 44px; min-width: 44px; }
}
img, svg, video, canvas { max-width: 100%; height: auto; }
table { max-width: 100%; }
:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
#dg-toast-container {
  position: fixed; top: 16px; left: 50%; transform: translateX(-50%);
  z-index: 9999; display: flex; flex-direction: column; gap: 8px;
  pointer-events: none;
}
.dg-toast {
  background: #0f172a; color: white; padding: 12px 16px;
  border-radius: 12px; font-size: 13px; font-weight: 600;
  box-shadow: 0 8px 24px rgba(15,23,42,0.15);
  opacity: 0; transform: translateY(-8px);
  transition: all 0.25s ease; pointer-events: auto; max-width: 360px;
}
.dg-toast.show { opacity: 1; transform: translateY(0); }
.dg-toast.success { background: #059669; }
.dg-toast.error   { background: #dc2626; }
