/* Notification Messages */
.resend-message, 
.verification-message {
  margin-top: 0.5rem;
  font-size: 0.85rem;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

.resend-message.success, 
.verification-message.success {
  color: var(--success-color, #28a745);
  background-color: var(--success-bg, rgba(40, 167, 69, 0.1));
}

.resend-message.error, 
.verification-message.error {
  color: var(--error-color, #dc3545);
  background-color: var(--error-bg, rgba(220, 53, 69, 0.1));
}

html[data-theme="dark"] .resend-message.success, 
html[data-theme="dark"] .verification-message.success {
  color: var(--success-color-dark, #48d368);
  background-color: var(--success-bg-dark, rgba(72, 211, 104, 0.1));
}

html[data-theme="dark"] .resend-message.error,
html[data-theme="dark"] .verification-message.error {
  color: var(--error-color-dark, #ff6b6b);
  background-color: var(--error-bg-dark, rgba(255, 107, 107, 0.1));
}

.verification-message {
  margin: 0 auto 1.5rem auto;
  max-width: 90%;
  padding: 0.75rem 1rem;
  font-size: 0.95rem;
  text-align: center;
}

/* Button Spacing */
.btn.small.primary {
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}

/* SMS Verification Modal */
.verify-sms-modal {
  max-width: 450px;
  width: 90%;
  margin: 0 auto;
}

.verify-sms-modal .form-group {
  margin-bottom: 1.5rem;
}

.verify-sms-modal label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
}

.verify-sms-modal input {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid var(--border-color, #ddd);
  border-radius: 4px;
  font-size: 1rem;
  background-color: var(--input-bg, #fff);
  color: var(--text-1);
}

html[data-theme="dark"] .verify-sms-modal input {
  background-color: var(--input-bg-dark, #2a2a2a);
  border-color: var(--border-color-dark, #444);
  color: var(--text-1-dark);
}

/* Verification Result Messages */
#verification-result {
  margin-top: 1rem;
  padding: 0.75rem;
  border-radius: 4px;
  text-align: center;
}

#verification-result.error {
  color: var(--error-color, #dc3545);
  background-color: var(--error-bg, rgba(220, 53, 69, 0.1));
}

#verification-result.success {
  color: var(--success-color, #28a745);
  background-color: var(--success-bg, rgba(40, 167, 69, 0.1));
}

html[data-theme="dark"] #verification-result.error {
  color: var(--error-color-dark, #ff6b6b);
  background-color: var(--error-bg-dark, rgba(255, 107, 107, 0.1));
}

html[data-theme="dark"] #verification-result.success {
  color: var(--success-color-dark, #48d368);
  background-color: var(--success-bg-dark, rgba(72, 211, 104, 0.1));
}

/* Paused Notifications Popup (top-right) */
.paused-notifs-banner {
  position: fixed;
  top: 72px;
  right: 16px;
  left: auto;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  width: min(480px, calc(100vw - 24px));
  background: var(--error-bg, #fef2f2);
  color: var(--error-text, #b91c1c);
  border: 1px solid var(--error-border, #fca5a5);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

/* Offset tweaks for hero vs. non-hero layouts and mobile */
body.hero-layout .paused-notifs-banner { top: 72px; }
@media (max-width: 768px) {
  body:not(.hero-layout) .paused-notifs-banner { top: 120px; right: 8px; width: min(96vw, 520px); }
  body.hero-layout .paused-notifs-banner { top: 72px; right: 8px; }
}

.paused-notifs-banner__content {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
}

.paused-notifs-banner__actions {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.paused-notifs-banner__close {
  background: transparent;
  border: none;
  color: inherit;
  font-size: 1.25rem;
  cursor: pointer;
  line-height: 1;
}

html[data-theme="dark"] .paused-notifs-banner {
  background: var(--error-bg-dark, #450a0a);
  color: var(--error-text-dark, #fecaca);
  border-color: var(--error-border, #fca5a5);
}

/* Verification Indicator / Spinner */
.verify-indicator {
  display: none;
  align-items: center;
  justify-content: center;
  margin: 1rem 0;
  color: var(--text-2);
}

.verify-indicator.htmx-request {
  display: flex;
}

.verify-indicator .spinner {
  width: 20px;
  height: 20px;
  border: 2px solid var(--border-color, #ddd);
  border-top-color: var(--primary, #0d6efd);
  border-radius: 50%;
  margin-right: 0.5rem;
  animation: spin 0.8s linear infinite;
}

html[data-theme="dark"] .verify-indicator .spinner {
  border-color: var(--border-color-dark, #444);
  border-top-color: var(--primary-dark, #3f8cff);
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Notification Form Messages */
#notifs-message {
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 4px;
  text-align: center;
  display: none;
}

#notifs-message.error {
  display: block;
  color: var(--error-color, #dc3545);
  background-color: var(--error-bg, rgba(220, 53, 69, 0.1));
  border: 1px solid var(--error-color, #dc3545);
}

#notifs-message.success {
  display: block;
  color: var(--success-color, #28a745);
  background-color: var(--success-bg, rgba(40, 167, 69, 0.1));
  border: 1px solid var(--success-color, #28a745);
}

html[data-theme="dark"] #notifs-message.error {
  color: var(--error-color-dark, #ff6b6b);
  background-color: var(--error-bg-dark, rgba(255, 107, 107, 0.1));
  border-color: var(--error-color-dark, #ff6b6b);
}

html[data-theme="dark"] #notifs-message.success {
  color: var(--success-color-dark, #48d368);
  background-color: var(--success-bg-dark, rgba(72, 211, 104, 0.1));
  border-color: var(--success-color-dark, #48d368);
}
