.app-notification{position:fixed;top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:10000;display:flex;align-items:center;gap:16px;width:max-content;max-width:min(480px,calc(100vw - 32px));padding:12px 16px;border:2px solid var(--blue,#4898f5);border-radius:12px;background:var(--surface,#fffdf7);color:var(--ink,#293d3d);box-shadow:0 4px 18px #0002;font:500 14px/1.5 var(--sans,system-ui,sans-serif);overflow-wrap:anywhere}
.app-notification-error{border-color:var(--coral,#db5a45)}
.app-notification-success{border-color:var(--green,#239887)}
.app-notification>span{min-width:0;white-space:pre-wrap}
.app-notification>button{flex-shrink:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:24px;line-height:1;padding:4px}
.app-confirmation{box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:24px;border:2px solid var(--blue,#4898f5);border-radius:14px;background:var(--surface,#fffdf7);color:var(--ink,#293d3d);box-shadow:0 12px 40px #0003;font:400 15px/1.5 var(--sans,system-ui,sans-serif)}
.app-confirmation::backdrop{background:rgb(20 35 35 / .4)}
.app-confirmation h2{margin:0 0 12px;font:800 20px/1.3 var(--sans,system-ui,sans-serif);overflow-wrap:anywhere}
.app-confirmation p{margin:0 0 24px;white-space:pre-wrap;overflow-wrap:anywhere}
.app-confirmation-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.app-confirmation-actions button{padding:9px 16px;border:1px solid var(--line,#d8d3c6);border-radius:8px;background:var(--surface,#fffdf7);color:inherit;cursor:pointer;font:600 14px/1.4 var(--sans,system-ui,sans-serif);overflow-wrap:anywhere;max-width:100%}
.app-confirmation-actions .app-confirmation-primary{background:var(--blue-soft,#e5f1ff);border-color:var(--blue,#4898f5)}
.app-confirmation-actions .app-confirmation-danger{background:var(--coral-soft,#ffebe7);border-color:var(--coral,#db5a45)}
.app-confirmation button:focus-visible,.app-notification button:focus-visible{outline:3px solid var(--blue,#4898f5);outline-offset:3px}
