:root {
  --brand: #0f766e;
  --surface: #f8fafc;
}

.auth-hero-bg {
  background:
    radial-gradient(circle at 20% 20%, rgba(45, 212, 191, 0.35), transparent 40%),
    radial-gradient(circle at 80% 0%, rgba(15, 118, 110, 0.55), transparent 45%),
    linear-gradient(160deg, #134e4a 0%, #0f766e 45%, #042f2e 100%);
}

#app-sidebar.open {
  transform: translateX(0);
}

.toast-item {
  min-width: 260px;
  max-width: 360px;
  border-radius: 0.75rem;
  padding: 0.85rem 1rem;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.15);
  animation: toast-in 0.2s ease-out;
}

.toast-success { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.toast-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.toast-warning { background: #fffbeb; color: #92400e; border: 1px solid #fde68a; }
.toast-info { background: #f0f9ff; color: #075985; border: 1px solid #bae6fd; }

.dark .toast-success { background: #064e3b; color: #a7f3d0; border-color: #065f46; }
.dark .toast-error { background: #7f1d1d; color: #fecaca; border-color: #991b1b; }
.dark .toast-warning { background: #78350f; color: #fde68a; border-color: #92400e; }
.dark .toast-info { background: #0c4a6e; color: #bae6fd; border-color: #075985; }

@keyframes toast-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

:focus-visible {
  outline: 2px solid #14b8a6;
  outline-offset: 2px;
}

dialog.cbt-dialog {
  margin: auto;
  border: 1px solid #e2e8f0;
  padding: 0;
  max-width: calc(100vw - 2rem);
}

dialog.cbt-dialog::backdrop {
  background: rgba(15, 23, 42, 0.45);
}

.dark dialog.cbt-dialog {
  border-color: #334155;
}
