.error-page-content,.loading-page-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:400px;padding:2rem;gap:2rem;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}@media(max-width:768px){.error-page-content,.loading-page-content{padding:1.5rem;gap:1.5rem;min-height:350px}}@media(max-width:480px){.error-page-content,.loading-page-content{padding:1rem;gap:1rem;min-height:300px}}.error-code-display{position:relative}.error-code-display .error-code{font-size:8rem;font-weight:900;color:var(--primary-color);opacity:.15;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;text-shadow:0 0 30px rgba(47,106,102,.3)}@media(max-width:768px){.error-code-display .error-code{font-size:6rem}}@media(max-width:480px){.error-code-display .error-code{font-size:4rem}}.error-status{display:flex;flex-direction:column;align-items:center;gap:1rem}.error-icon-wrapper{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:var(--bg-tertiary);border-radius:50%;border:3px solid var(--border-color-light);box-shadow:var(--shadow-large);transition:all .3s ease;position:relative;overflow:hidden}.error-icon-wrapper:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:rotate(45deg);transition:transform .6s ease}.error-icon-wrapper:hover:before{transform:rotate(45deg) translate(100%,100%)}.error-icon-wrapper .error-icon{opacity:.9;color:var(--text-secondary);transition:all .3s ease}.error-icon-wrapper:hover .error-icon{transform:scale(1.1);color:var(--primary-color)}@media(max-width:768px){.error-icon-wrapper{width:64px;height:64px}}.error-badge .badge{font-size:.75rem;padding:.5rem 1rem;border-radius:20px;box-shadow:var(--shadow);transition:all .3s ease}.error-info{max-width:500px}.error-info .error-title{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;line-height:1.3;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}@media(max-width:768px){.error-info .error-title{font-size:1.75rem}}@media(max-width:480px){.error-info .error-title{font-size:1.5rem}}.error-info .error-description{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin-bottom:0;opacity:.9}@media(max-width:480px){.error-info .error-description{font-size:.9rem}}.error-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:400px}.error-actions .btn-lg{padding:.75rem 2rem;font-weight:500;border-radius:12px;min-width:200px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;color:#fff;box-shadow:var(--shadow-large);transition:all .3s ease;position:relative;overflow:hidden}.error-actions .btn-lg:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.error-actions .btn-lg:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(47,106,102,.3)}.error-actions .btn-lg:hover:before{left:100%}.error-actions .btn-lg:active{transform:translateY(0)}@media(max-width:480px){.error-actions .btn-lg{min-width:180px;padding:.625rem 1.5rem}}.error-actions .secondary-actions{display:flex;gap:.75rem}.error-actions .secondary-actions .btn{border-radius:8px;transition:all .3s ease;background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.error-actions .secondary-actions .btn:hover{transform:translateY(-1px);box-shadow:var(--shadow);background-color:var(--bg-secondary)}@media(max-width:480px){.error-actions .secondary-actions{flex-direction:column;width:100%}.error-actions .secondary-actions .btn{width:100%}}.error-suggestions{border-top:1px solid var(--border-color-light);padding-top:1.5rem;max-width:400px;position:relative}.error-suggestions:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:50px;height:1px;background:linear-gradient(90deg,transparent,var(--primary-color),transparent)}.error-suggestions .suggestions-title{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem;font-weight:500;opacity:.8}.error-suggestions .suggestion-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.error-suggestions .suggestion-links .suggestion-link{font-size:.875rem;padding:.25rem .75rem;text-decoration:none;color:var(--text-secondary);border-radius:16px;background:var(--bg-tertiary);transition:all .3s ease;border:1px solid var(--border-color-light)}.error-suggestions .suggestion-links .suggestion-link:hover{text-decoration:none;background:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow)}.error-technical{width:100%;max-width:600px;margin-top:1rem}.error-technical .error-details{background:var(--bg-tertiary);border:1px solid var(--border-color-light);border-radius:12px;padding:1rem;text-align:left;box-shadow:var(--shadow);transition:all .3s ease}.error-technical .error-details:hover{box-shadow:var(--shadow-large)}.error-technical .error-details summary{cursor:pointer;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;transition:color .3s ease}.error-technical .error-details summary:hover{color:var(--primary-color)}.error-technical .error-details summary::marker{color:var(--text-secondary)}.error-technical .error-details .error-stack{background:var(--bg-primary);color:var(--text-primary);padding:1rem;border-radius:8px;font-size:.8rem;line-height:1.4;overflow-x:auto;margin-top:.5rem;border:1px solid var(--border-color-light);font-family:Monaco,Menlo,Ubuntu Mono,monospace}.error-technical .error-details .error-stack pre{margin:0;white-space:pre-wrap;word-break:break-word;color:var(--text-primary)}.error-technical .error-details .error-stack strong{color:var(--primary-color);font-weight:600}.loading-page-content .loading-animation{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.loading-page-content .loading-animation .loading-spinner-wrapper{display:flex;align-items:center;justify-content:center;width:120px;height:120px;background:var(--bg-tertiary);border-radius:50%;border:3px solid var(--border-color-light);box-shadow:var(--shadow-large);position:relative;overflow:hidden}.loading-page-content .loading-animation .loading-spinner-wrapper:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,var(--primary-color),transparent);animation:rotate 2s linear infinite}.loading-page-content .loading-animation .loading-spinner-wrapper .loading-spinner{opacity:.9;color:var(--primary-color);z-index:1}.loading-page-content .loading-animation .loading-dots{display:flex;gap:.5rem}.loading-page-content .loading-animation .loading-dots .dot{width:8px;height:8px;background:var(--primary-color);border-radius:50%;animation:loading-bounce 1.4s ease-in-out infinite both;box-shadow:0 0 10px rgba(47,106,102,.5)}.loading-page-content .loading-animation .loading-dots .dot:first-child{animation-delay:-.32s}.loading-page-content .loading-animation .loading-dots .dot:nth-child(2){animation-delay:-.16s}.loading-page-content .loading-animation .loading-dots .dot:nth-child(3){animation-delay:0s}.loading-page-content .loading-info{max-width:400px}.loading-page-content .loading-info .loading-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}@media(max-width:480px){.loading-page-content .loading-info .loading-title{font-size:1.25rem}}.loading-page-content .loading-info .loading-description{font-size:1rem;color:var(--text-secondary);margin-bottom:0;opacity:.9}@media(max-width:480px){.loading-page-content .loading-info .loading-description{font-size:.9rem}}.loading-page-content .loading-progress{width:100%;max-width:300px}.loading-page-content .loading-progress .progress{background-color:var(--bg-tertiary);border-radius:10px;overflow:hidden}.loading-page-content .loading-progress .progress .progress-bar{background:linear-gradient(90deg,var(--primary-color),var(--accent-color));transition:width .3s ease}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes loading-bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-spin{animation:spin 2s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-slide-in-up{animation:slideInUp .6s ease-out}.btn{transition:all .3s ease;position:relative;overflow:hidden}.btn:not(.btn-lg):hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active{transform:translateY(0)}@media(prefers-color-scheme:dark){.error-page-content,.loading-page-content{background:var(--bg-primary);color:var(--text-primary)}.btn-outline-primary,.btn-outline-secondary{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.btn-outline-primary:hover,.btn-outline-secondary:hover{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}}[data-theme=dark] .error-page-content,[data-theme=dark] .loading-page-content{background:var(--bg-primary);color:var(--text-primary)}[data-theme=dark] .btn-outline-primary,[data-theme=dark] .btn-outline-secondary{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .btn-outline-primary:hover,[data-theme=dark] .btn-outline-secondary:hover{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}@media(max-width:576px){.error-page-content,.loading-page-content{padding:1rem;gap:1.5rem}.error-code-display .error-code{font-size:4rem}.error-icon-wrapper{width:64px;height:64px}.loading-animation .loading-spinner-wrapper{width:80px;height:80px}}