.app-notices{z-index:10000;right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));pointer-events:none;gap:8px;width:min(360px,100vw - 24px);max-height:calc(100dvh - 100px);display:grid;position:fixed;overflow-y:auto}.app-notice{pointer-events:auto;border:1px solid var(--border);background:var(--popover);color:var(--popover-foreground);border-radius:12px;align-items:flex-start;gap:10px;min-width:0;padding:12px;font-size:13px;line-height:1.55;animation:.18s ease-out notice-enter;display:flex;box-shadow:0 8px 28px #0002}.app-notice-icon{width:18px;height:18px;color:var(--primary);flex:none;margin-top:2px}.app-notice-success .app-notice-icon{color:#16a34a}.app-notice-error .app-notice-icon,.app-notice-urgent .app-notice-icon{color:var(--destructive)}.app-notice-warning .app-notice-icon{color:#d97706}.app-notice-urgent{border-color:var(--destructive)}.app-notice-copy{overflow-wrap:anywhere;flex:1;min-width:0}.app-notice-copy p{margin:0}.app-notice-description{color:var(--muted-foreground);white-space:pre-wrap;font-size:11px;margin-top:4px!important}.app-notice-action{color:var(--primary);text-underline-offset:3px;min-height:32px;margin-top:6px;font-weight:600;text-decoration:underline}.app-notice-close{border-radius:6px;flex:none;place-items:center;width:32px;height:32px;margin:-4px -4px 0 0;display:grid}.app-notice-close:hover{background:var(--muted)}.app-notice button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@keyframes notice-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=767px){.app-notices{right:max(8px,env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));width:min(340px,100vw - 16px)}.app-notice{gap:8px;padding:10px;font-size:12px}}@media (width<=340px){.app-notices{bottom:calc(60px + env(safe-area-inset-bottom))}}.app-notices.app-notices-floating{width:min(320px,100vw - 16px);max-height:calc(100dvh - 32px);bottom:8px;right:8px}@media (prefers-reduced-motion:reduce){.app-notice{animation:none}}@media print{.app-notices{display:none!important}}
