#ui-notifications{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:12000;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none;font-family:var(--font-sans,system-ui,sans-serif)}
.ui-notification{display:flex;align-items:flex-start;gap:10px;padding:14px 12px 14px 14px;border:1px solid var(--border,#e5e7eb);border-left:4px solid var(--accent,#ff4b16);border-radius:var(--radius-md,16px);background:var(--surface,#fff);color:var(--fg,#111319);box-shadow:var(--shadow,0 14px 40px rgba(22,27,36,.10));pointer-events:auto;opacity:0;transform:translateY(-8px) scale(.98);transition:opacity .22s ease,transform .22s cubic-bezier(.2,.8,.2,1)}
.ui-notification--visible{opacity:1;transform:none}.ui-notification--leaving{opacity:0;transform:translateY(-8px) scale(.98)}
.ui-notification--success{border-left-color:var(--success,#16a34a)}.ui-notification--warning{border-left-color:var(--warning,#d97706)}.ui-notification--error{border-left-color:var(--danger,#ef4444)}.ui-notification--loading{border-left-color:var(--accent,#ff5700)}
.ui-notification__icon{flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft,rgba(255,75,22,.12));font-weight:800}.ui-notification--success .ui-notification__icon{color:var(--success,#17a66a);background:rgba(23,166,106,.14)}.ui-notification--error .ui-notification__icon{color:var(--danger,#e5484d);background:rgba(229,72,77,.14)}.ui-notification--warning .ui-notification__icon{color:var(--warning,#d97706);background:rgba(217,119,6,.14)}
.ui-notification__content{min-width:0;flex:1}.ui-notification__title{display:block;margin-bottom:3px;font-size:14px}.ui-notification__message{font-size:14px;line-height:1.4;white-space:pre-line;overflow-wrap:anywhere}.ui-notification button{font:inherit}.ui-notification__close{border:0;background:transparent;color:var(--muted,#737b8c);font-size:22px;line-height:1;padding:0 3px;cursor:pointer}.ui-notification__action{border:0;background:transparent;color:var(--accent-text,#c63a12);font-weight:700;cursor:pointer;white-space:nowrap}.ui-notification button:focus-visible,.ui-dialog button:focus-visible,.ui-dialog input:focus-visible{outline:3px solid var(--accent,#ff4b16);outline-offset:2px}
html.dark .ui-notification{background:var(--surface-dark,#111827);color:var(--fg-dark,#f9fafb);border-color:var(--border-dark,rgba(255,255,255,.1));box-shadow:0 14px 35px rgba(0,0,0,.4)}
.ui-dialog-backdrop{position:fixed;inset:0;z-index:12100;display:grid;place-items:center;padding:20px;background:rgba(22,27,36,.52);opacity:0;transition:opacity .24s ease}.ui-dialog-backdrop--visible{opacity:1}.ui-dialog{width:min(440px,100%);padding:24px;border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-lg,20px);background:var(--surface,#fff);color:var(--fg,#111319);box-shadow:var(--shadow,0 14px 40px rgba(22,27,36,.10))}.ui-dialog h2{margin:0 0 8px;font-size:20px}.ui-dialog p{margin:0 0 18px;white-space:pre-line;line-height:1.5}.ui-dialog__input{box-sizing:border-box;width:100%;margin:0 0 18px;padding:11px 12px;border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-sm,12px);background:var(--surface,#fff);color:inherit;font:inherit}.ui-dialog__actions{display:flex;justify-content:flex-end;gap:10px}.ui-dialog__actions button{border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-sm,12px);padding:10px 16px;background:transparent;color:inherit;cursor:pointer}.ui-dialog__actions .ui-dialog__primary{border-color:var(--accent,#ff4b16);background:var(--accent,#ff4b16);color:#fff}html.dark .ui-dialog{background:var(--surface-dark,#20242c);color:var(--fg-dark,#f9fafb)}
@media(hover:hover) and (pointer:fine){.ui-notification__close:hover,.ui-notification__action:hover{filter:brightness(.9)}}
@media(max-width:600px){#ui-notifications{right:10px;left:10px;width:auto}.ui-notification{font-size:15px}.ui-dialog{padding:20px}}@media(min-width:1400px){.ui-notification{font-size:16px;padding:16px}.ui-notification__message{font-size:15px}}@media(prefers-reduced-motion:reduce){.ui-notification,.ui-dialog-backdrop{transition:none}.ui-notification{transform:none}.ui-notification--leaving{transform:none}}
