/* Shared semantic feedback: colour never replaces the message or status label. */
body #toast {display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;padding:12px 14px;max-width:min(440px,calc(100vw - 32px));font-weight:500;}
body #toast[hidden] {display:none;}
body #toast::before {content:'i';flex:0 0 20px;width:20px;height:20px;text-align:center;line-height:20px;border-radius:50%;background:#168ce3;color:#fff;font-weight:700;}
body #toast.info {color:#b7e4ff;border-color:#168ce3;background:#0b2435;}
body #toast.success {color:#b7f5d8;border-color:#28c77b;background:#0c3929;}
body #toast.success::before {content:'✓';background:#28c77b;color:#06241a;}
body #toast.warning {color:#ffe0a3;border-color:#e5a138;background:#39291d;}
body #toast.warning::before {content:'!';background:#e5a138;color:#291c07;}
body #toast.error {color:#ffb6ad;border-color:#ff625a;background:#351e24;}
body #toast.error::before {content:'!';background:#ff625a;color:#301015;}
body #appView :is(.notice.good,.notice.success) {color:#b7f5d8;border-color:#28c77b;background:#0c3929;}
body #appView :is(.notice.warning,.notice.warn) {color:#ffe0a3;border-color:#e5a138;background:#39291d;}
body #appView :is(.notice.error,.notice.bad) {color:#ffb6ad;border-color:#ff625a;background:#351e24;}
body #appView .notice:not(.good):not(.success):not(.warning):not(.warn):not(.error):not(.bad) {color:#c5e7fc;border-color:#258cce;background:#0b2435;}
body #appView .notice {position:relative;padding-left:40px!important;}
body #appView .notice::before {content:'i';position:absolute;left:12px;top:12px;width:18px;height:18px;line-height:18px;text-align:center;border-radius:50%;background:#258cce;color:#fff;font-size:12px;font-weight:700;}
body #appView :is(.notice.good,.notice.success)::before {content:'✓';background:#28c77b;color:#06241a;}
body #appView :is(.notice.warning,.notice.warn)::before {content:'!';background:#e5a138;color:#291c07;}
body #appView :is(.notice.error,.notice.bad)::before {content:'!';background:#ff625a;color:#301015;}
body button[aria-busy=true] {cursor:progress;}
body #appView .status-chip {padding:5px 9px;font-size:12px;line-height:1.4;min-height:0;border-radius:6px;letter-spacing:0;}
body #appView .status-chip.success {color:#b7f5d8;background:#0c3929;border:1px solid #28c77b;}
body #appView .status-chip.info {color:#c5e7fc;background:#0b2435;border:1px solid #258cce;}
body #appView .status-chip.error {color:#ffb6ad;background:#351e24;border:1px solid #ff625a;}
body #appView .status-chip.neutral {color:#a7bdcd;background:#102330;border:1px solid #577689;}
@media(prefers-reduced-motion:reduce){body button[aria-busy=true]::before {animation:none;}}
