/* Global UI: dialogs, confirmations and notifications */
.rhavi-ui-toast-region{position:fixed;top:20px;right:20px;z-index:100000;display:grid;gap:10px;width:min(390px,calc(100vw - 32px));pointer-events:none}
.rhavi-ui-toast{display:grid;grid-template-columns:42px minmax(0,1fr) 36px;gap:12px;align-items:start;padding:14px;border:1px solid var(--border,#565656);border-radius:12px;background:var(--surface,#1f1f1f);color:var(--text,#f4fbf7);box-shadow:0 18px 50px rgba(0,0,0,.35);pointer-events:auto;animation:rhaviToastIn .2s ease both}
.rhavi-ui-toast.is-leaving{animation:rhaviToastOut .18s ease both}
.rhavi-ui-toast-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;font-size:20px;background:var(--surface-2,#292929)}
.rhavi-ui-toast-copy{display:grid;gap:4px;min-width:0}.rhavi-ui-toast-copy strong{font-size:15px}.rhavi-ui-toast-copy span{font-size:13px;line-height:1.45;color:var(--muted,#c5c5c5);overflow-wrap:anywhere}
.rhavi-ui-toast-close{width:34px;height:34px;padding:0;border:1px solid var(--border,#565656);border-radius:8px;background:transparent;color:inherit;cursor:pointer}
.rhavi-ui-toast.success{border-color:#7e6831}.rhavi-ui-toast.success .rhavi-ui-toast-icon{background:#333333;color:#e0c582}
.rhavi-ui-toast.error{border-color:#a84a4a}.rhavi-ui-toast.error .rhavi-ui-toast-icon{background:#482020;color:#ff9d9d}
.rhavi-ui-toast.warning{border-color:#a78336}.rhavi-ui-toast.warning .rhavi-ui-toast-icon{background:#473818;color:#ffd679}
.rhavi-ui-toast.info{border-color:#4276a8}.rhavi-ui-toast.info .rhavi-ui-toast-icon{background:#1c344b;color:#9bcfff}
@keyframes rhaviToastIn{from{opacity:0;transform:translateY(-8px) translateX(12px)}to{opacity:1;transform:none}}@keyframes rhaviToastOut{to{opacity:0;transform:translateY(-6px) translateX(12px)}}
.rhavi-ui-dialog{position:fixed;inset:0;margin:auto;width:min(520px,calc(100vw - 32px));max-width:520px;padding:0;border:1px solid var(--border,#565656);border-radius:16px;background:var(--surface,#1f1f1f);color:var(--text,#f4fbf7);overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.55)}
.rhavi-ui-dialog::backdrop{background:rgba(11,11,11,.78);backdrop-filter:blur(5px)}
.rhavi-ui-dialog-shell{display:grid;grid-template-rows:auto 1fr auto}
.rhavi-ui-dialog-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px 22px 15px;border-bottom:1px solid var(--border,#565656)}
.rhavi-ui-dialog-kicker{display:block;margin-bottom:5px;font-size:10px;letter-spacing:.16em;color:var(--muted,#c5c5c5)}
.rhavi-ui-dialog-title{margin:0;font-size:22px;line-height:1.2}.rhavi-ui-dialog-x{width:40px;height:40px;padding:0;border:1px solid var(--border,#565656);border-radius:9px;background:var(--surface-2,#292929);color:inherit;font-size:20px;cursor:pointer}
.rhavi-ui-dialog-body{padding:20px 22px}.rhavi-ui-dialog-message{margin:0;line-height:1.58;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text,#f4fbf7)}
.rhavi-ui-dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 22px 20px;border-top:1px solid var(--border,#565656);background:var(--surface-2,#292929)}
.rhavi-ui-dialog-footer button{min-width:120px;height:44px;padding:0 16px;border:1px solid var(--border,#565656);border-radius:9px;background:transparent;color:inherit;cursor:pointer}
.rhavi-ui-dialog-footer .rhavi-ui-primary{background:#d1b879;border-color:#d1b879;color:#212121}.rhavi-ui-dialog-footer .rhavi-ui-danger{background:#8e2f2f;border-color:#b54a4a;color:#fff}
html[data-theme="light"] .rhavi-ui-toast,html[data-theme="light"] .rhavi-ui-dialog{background:#fff;color:#2d2d2d;border-color:#b0b0b0}html[data-theme="light"] .rhavi-ui-toast-icon,html[data-theme="light"] .rhavi-ui-dialog-footer,html[data-theme="light"] .rhavi-ui-dialog-x{background:#f2f7f4}html[data-theme="light"] .rhavi-ui-toast-copy span{color:#656565}
@media(max-width:640px){.rhavi-ui-toast-region{top:12px;right:12px;width:calc(100vw - 24px)}.rhavi-ui-dialog{width:calc(100vw - 20px)}.rhavi-ui-dialog-footer{flex-direction:column-reverse}.rhavi-ui-dialog-footer button{width:100%}}
