.portal-toasts{position:fixed;right:16px;bottom:16px;z-index:100000;width:320px;max-width:calc(100vw - 32px)}.portal-toasts .alert{margin-bottom:8px;box-shadow:0 2px 10px #00000040}.portal-error{display:flex;justify-content:center;padding:48px 16px}.portal-error--page{position:fixed;inset:0;z-index:100000;align-items:center;overflow-y:auto;background:linear-gradient(150deg,#07402a,#0b6b45 60%,#12925f)}.portal-error-card{width:100%;max-width:520px;padding:30px 28px 32px;text-align:center;background:#fff;border-top:6px solid #12925f;border-radius:16px;box-shadow:0 10px 32px #07402a2e}.portal-error-icon{display:grid;place-items:center;width:80px;height:80px;margin:0 auto 14px;color:#0b6b45;background:#12925f1f;border-radius:50%}.portal-error-icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.portal-error-status{color:#0b6b45;font-size:60px;font-weight:800;line-height:1;letter-spacing:-.02em}.portal-error-title{margin:10px 0 8px;color:#1c2b24;font-size:22px;font-weight:700;line-height:1.3;text-transform:none}.portal-error-message{margin:0;color:#5d6f66;line-height:1.6}.portal-error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.portal-error-btn{display:inline-block;padding:10px 18px;color:#0b6b45;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;background:#fff;border:1px solid #d5e2dc;border-radius:10px}.portal-error-btn:hover,.portal-error-btn:focus{color:#0b6b45;text-decoration:none;border-color:#0b6b45}.portal-error-btn.primary{color:#fff;background:#0b6b45;border-color:#0b6b45}.portal-error-btn.primary:hover,.portal-error-btn.primary:focus{color:#fff;background:#07402a;border-color:#07402a}
