.portal-notice { display:flex; align-items:flex-start; gap:10px; margin:12px 0; padding:12px 14px; border:0; border-left:3px solid var(--notice-color); color:var(--notice-color); font-size:var(--type-supporting); line-height:1.5; text-align:left; }
.portal-notice[hidden] { display:none; }
.portal-notice[data-kind="error"] { --notice-color:#FCA5A5; }
.portal-notice[data-kind="success"] { --notice-color:#86EFAC; }
.portal-notice[data-kind="progress"], .portal-notice[data-kind="info"] { --notice-color:#CBD5E1; }
.portal-notice-copy { min-width:0; overflow-wrap:anywhere; }
.portal-notice-copy strong { display:block; font-size:var(--type-label); line-height:1.3; }
.portal-notice-copy p { margin:5px 0 0; color:#CBD5E1; font-size:var(--type-supporting); }
.portal-notice-icon, .portal-notice-spinner { flex:none; width:18px; height:18px; margin-top:2px; }
.portal-notice-spinner { border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:portal-notice-spin 1s linear infinite; }
.portal-notice button { flex:none; align-self:center; }
.portal-field-error { margin:6px 0 0; color:#FCA5A5; font-size:var(--type-supporting); line-height:1.5; }
[aria-invalid="true"] { border-color:#FCA5A5 !important; }
@keyframes portal-notice-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .portal-notice-spinner { animation:none; } }
