.error-boundary{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);justify-content:center;align-items:center;min-height:400px;padding:20px;display:flex}.error-boundary-content{text-align:center;background:#fff;border-radius:12px;max-width:600px;padding:40px;box-shadow:0 10px 40px #0000001a}.error-icon{margin-bottom:20px;font-size:64px;animation:.5s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-title{color:#1e293b;margin:0 0 12px;font-size:24px;font-weight:600}.error-message{color:#64748b;margin:0 0 24px;font-size:16px;line-height:1.6}.error-details{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:20px 0;padding:16px}.error-details summary{cursor:pointer;color:#475569;-webkit-user-select:none;user-select:none;font-weight:600}.error-details summary:hover{color:#1e293b}.error-stack{color:#f1f5f9;white-space:pre-wrap;word-break:break-word;background:#1e293b;border-radius:6px;margin:12px 0 0;padding:12px;font-family:Courier New,monospace;font-size:12px;overflow-x:auto}.error-actions{justify-content:center;gap:12px;margin-bottom:20px;display:flex}.error-actions button{cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.error-actions .btn-primary{color:#fff;background:#1976d2}.error-actions .btn-primary:hover{background:#1565c0;transform:translateY(-2px);box-shadow:0 4px 12px #1976d24d}.error-actions .btn-secondary{color:#475569;background:#f1f5f9}.error-actions .btn-secondary:hover{background:#e2e8f0;transform:translateY(-2px)}.error-hint{color:#94a3b8;margin:0;font-size:13px;font-style:italic}
