:root{--hae-fb-success:#198754;--hae-fb-error:#c93636;--hae-fb-warning:#a66b00;--hae-fb-info:#2563eb;--hae-fb-surface:#fff;--hae-fb-text:#182230;--hae-fb-muted:#667085;--hae-fb-border:#e6eaf0;--hae-fb-shadow:0 16px 38px rgba(15,23,42,.16)}
.hae-feedback-region{position:fixed;top:18px;inset-inline-end:18px;z-index:11050;display:flex;flex-direction:column;gap:10px;width:min(390px,calc(100vw - 28px));pointer-events:none}
.hae-feedback{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:start;background:var(--hae-fb-surface);border:1px solid var(--hae-fb-border);border-inline-start:4px solid var(--hae-fb-info);border-radius:14px;padding:13px 13px 13px 11px;box-shadow:var(--hae-fb-shadow);color:var(--hae-fb-text);pointer-events:auto;animation:haeFbIn .18s ease-out}
.hae-feedback.is-leaving{opacity:0;transform:translateY(-6px);transition:.16s ease}
.hae-feedback--success{border-inline-start-color:var(--hae-fb-success)}.hae-feedback--error{border-inline-start-color:var(--hae-fb-error)}.hae-feedback--warning{border-inline-start-color:var(--hae-fb-warning)}.hae-feedback--info,.hae-feedback--processing{border-inline-start-color:var(--hae-fb-info)}
.hae-feedback__icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef4ff;color:var(--hae-fb-info);font-size:16px}.hae-feedback--success .hae-feedback__icon{background:#e8f7ef;color:var(--hae-fb-success)}.hae-feedback--error .hae-feedback__icon{background:#fdecec;color:var(--hae-fb-error)}.hae-feedback--warning .hae-feedback__icon{background:#fff5d8;color:var(--hae-fb-warning)}
.hae-feedback__title{font-size:14px;line-height:1.45;font-weight:800;margin:1px 0 3px}.hae-feedback__message{font-size:12px;line-height:1.7;color:#475467;white-space:pre-line;word-break:break-word}.hae-feedback__meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.hae-feedback__ref{direction:ltr;unicode-bidi:plaintext;font:11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;background:#f7f8fa;border:1px solid #e6eaf0;border-radius:7px;padding:4px 6px;color:#475467}.hae-feedback__action{border:0;background:transparent;color:var(--hae-fb-info);font-size:11px;font-weight:800;padding:4px 0;cursor:pointer}.hae-feedback__close{border:0;background:transparent;color:#98a2b3;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;cursor:pointer}.hae-feedback__close:hover{background:#f2f4f7;color:#475467}.hae-feedback__progress{position:absolute;inset-inline:0;bottom:0;height:3px;overflow:hidden;border-radius:0 0 13px 13px;background:#eef2f6}.hae-feedback__progress>span{display:block;height:100%;background:currentColor;transform-origin:left;animation:haeFbTimer linear forwards}.hae-feedback--success .hae-feedback__progress{color:var(--hae-fb-success)}.hae-feedback--error .hae-feedback__progress{color:var(--hae-fb-error)}.hae-feedback--warning .hae-feedback__progress{color:var(--hae-fb-warning)}.hae-feedback--info .hae-feedback__progress{color:var(--hae-fb-info)}
.hae-feedback__spinner{width:18px;height:18px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:haeFbSpin .7s linear infinite}
.hae-feedback-history-toggle{position:fixed;top:18px;inset-inline-end:420px;z-index:11040;display:none}
.hae-inline-status{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--hae-fb-border);border-radius:12px;padding:11px 13px;margin:10px 0;background:#fff;font-size:12px;line-height:1.65}.hae-inline-status.success{border-color:#cdebdc;background:#f0faf5;color:#166b45}.hae-inline-status.error{border-color:#f1cccc;background:#fff4f4;color:#9d2727}.hae-inline-status.warning{border-color:#f4df9c;background:#fffbeb;color:#805d00}.hae-inline-status.info{border-color:#cfe0ff;background:#f5f8ff;color:#1d4ed8}
@keyframes haeFbIn{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}@keyframes haeFbSpin{to{transform:rotate(360deg)}}@keyframes haeFbTimer{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:640px){.hae-feedback-region{top:10px;inset-inline:10px;width:auto}.hae-feedback{grid-template-columns:36px minmax(0,1fr) auto;padding:11px 10px}.hae-feedback__icon{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.hae-feedback,.hae-feedback__progress>span,.hae-feedback__spinner{animation:none!important;transition:none!important}}

[dir="rtl"] .hae-feedback__progress>span{transform-origin:right}
