.error-page { margin:0; min-height:100dvh; display:flex; flex-direction:column; background:#f2f6f8; color:#172b44; }
.error-header { padding:24px; text-align:center; background:#fff; border-bottom:1px solid #e3ebef; }
.error-header a { display:inline-flex; text-decoration:none; }
.error-shell { flex:1; display:grid; place-items:center; padding:40px 20px; }
.error-card { position:relative; width:min(100%,640px); overflow:hidden; padding:48px; background:#fff; border:1px solid #e0e9ef; border-top:4px solid #64b5e1; border-radius:24px; box-shadow:0 16px 48px #17334a0a; }
.error-code { position:absolute; top:16px; right:28px; font-size:clamp(64px,9vw,88px); line-height:1; font-weight:800; color:#e7f1f7; }
.error-icon { position:relative; display:grid; place-items:center; width:64px; height:64px; margin-bottom:28px; border-radius:18px; background:#eaf5fc; color:#1769a3; font-size:30px; }
.error-card h1 { position:relative; margin:0 0 16px; font-size:clamp(26px,4vw,34px); line-height:1.2; font-weight:700; letter-spacing:-.025em; }
.error-description { max-width:460px; margin:0; color:#617386; font-size:16px; line-height:1.65; }
.error-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.error-actions .btn { display:inline-flex; justify-content:center; align-items:center; gap:8px; padding:11px 18px; border-radius:10px; }
.error-reference { margin:32px 0 0; padding-top:20px; border-top:1px solid #edf1f4; color:#82909e; font-size:11px; overflow-wrap:anywhere; }
@media(max-width:575px) { .error-header { padding:20px; } .error-shell { padding:24px 16px; } .error-card { padding:32px 24px; border-radius:20px; } .error-actions { gap:10px; } .error-actions .btn { flex:1 1 auto; } }
