.error-boundary { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 32px; background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%); } .error-boundary__container { width: 100%; max-width: 560px; padding: 32px 24px; border-radius: 24px; background: #ffffff; box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08); text-align: center; } .error-boundary__icon { width: 72px; height: 72px; margin: 0 auto 16px; border-radius: 999px; background: #fee2e2; color: #dc2626; font-size: 32px; line-height: 72px; font-weight: 700; } .error-boundary__title { display: block; margin-bottom: 12px; font-size: 32px; font-weight: 600; color: #0f172a; } .error-boundary__message { display: block; color: #475569; line-height: 1.6; } .error-boundary__details { margin-top: 20px; padding: 16px; text-align: left; border-radius: 16px; background: #f8fafc; } .error-boundary__error-title { display: block; margin-bottom: 8px; font-size: 24px; font-weight: 600; color: #0f172a; } .error-boundary__error-message { display: block; word-break: break-word; color: #b91c1c; font-size: 22px; } .error-boundary__actions { display: flex; gap: 16px; margin-top: 24px; } .error-boundary__button { flex: 1; } .error-boundary__button--primary { color: #fff; background: #2563eb; } .error-boundary__button--secondary { color: #0f172a; background: #e2e8f0; }