/* ComponentERP beta: UX batch A (T2861 / T2866): sticky error toasts, Retry, required markers, delete lists, "Not in beta" badges. */
:root{--uxa-err-bg:light-dark(#fdecea,#3a1d1f);--uxa-err-line:light-dark(#e5a9a5,#875252);--uxa-err-text:light-dark(#8a1c12,#ffd0cc);--uxa-red:light-dark(#b42318,#ff9999);--uxa-nib-bg:light-dark(#eef1f5,#2a3646);--uxa-nib-text:light-dark(#4b5c70,#b9c7d8)}

/* #11 error toasts: stacked bottom-right above the success toast, stay until closed */
#ux27a-errs{position:fixed;right:20px;bottom:72px;z-index:31;display:flex;flex-direction:column;gap:8px;max-width:min(460px,calc(100% - 32px));pointer-events:none}
#ux27a-errs:empty{display:none}
#ux27a-errs[popover]{inset:auto;right:20px;bottom:72px;margin:0;padding:0;border:0;background:transparent;color:inherit;overflow:visible;width:auto;height:auto}   /* T2905: popover (top layer, above an open modal); keep the stack's own position */
#ux27a-errs[popover]:not(:popover-open){display:none}
[dir=rtl] #ux27a-errs[popover]{right:auto;left:20px}
.ux27a-err{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;background:var(--uxa-err-bg);color:var(--uxa-err-text);border:1px solid var(--uxa-err-line);border-left:4px solid var(--uxa-red);border-radius:6px;padding:10px 10px 10px 14px;box-shadow:0 4px 20px #0003;font-size:13px}
.ux27a-err-msg{flex:1;min-width:0;overflow-wrap:anywhere;padding-top:3px}
.ux27a-err button{flex:none;border:1px solid var(--uxa-err-line);background:var(--panel);color:var(--uxa-err-text);border-radius:4px;padding:3px 9px;min-height:26px}
.ux27a-err .ux27a-err-x{border-color:transparent;background:transparent;font-size:14px;line-height:1;padding:4px 6px}
.ux27a-err .ux27a-err-x:hover,.ux27a-err .ux27a-err-x:focus-visible{background:var(--panel);border-color:var(--uxa-err-line)}
[dir=rtl] #ux27a-errs{right:auto;left:20px}
[dir=rtl] .ux27a-err{border-left-width:1px;border-right:4px solid var(--uxa-red)}

/* #12 Retry next to "Couldn't load / Search failed" */
.ux27a-retry{margin-inline-start:8px;padding:2px 10px;font-size:12px;vertical-align:baseline}
.ux27a-searchfail{margin:12px 16px;padding:10px 12px;border:1px solid var(--uxa-err-line);border-radius:6px;background:var(--uxa-err-bg)}

/* #6 busy Save */
form[aria-busy=true] .dialogfoot button[type=submit]{cursor:progress;opacity:.75}

/* #19 required fields */
.ux27a-req{color:var(--uxa-red);font-weight:700;margin-inline-start:2px}
.ux27a-reqnote{margin-inline-end:auto;align-self:center;font-size:12px;color:var(--muted)}
.ux27a-reqnote>span:first-child{color:var(--uxa-red);font-weight:700}

/* #20 delete confirm list */
.ux27a-del{list-style:none;margin:10px 0 4px;padding:0;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:6px}
.ux27a-del li{display:grid;grid-template-columns:auto minmax(0,1.3fr) minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:6px 10px;border-top:1px solid var(--line)}
.ux27a-del li:first-child{border-top:0}
.ux27a-del li>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ux27a-del-amt{text-align:end;font-variant-numeric:tabular-nums}
@media (max-width:560px){.ux27a-del li{grid-template-columns:auto minmax(0,1fr) auto}.ux27a-del li>span:nth-child(3){grid-column:2/4}}

/* #55 "Not in beta" */
.ux27a-nib-badge{display:inline-block;font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.02em;padding:0 6px;border-radius:9px;background:var(--uxa-nib-bg);color:var(--uxa-nib-text);border:1px solid var(--line);vertical-align:middle;white-space:nowrap;cursor:help}
button.ux27a-nib{opacity:.6;cursor:not-allowed;filter:grayscale(1)}
button.ux27a-nib .ux27a-nib-badge{margin-inline-start:6px}
.ux27a-nibnote{color:var(--muted)}
.ux27a-help-table{width:100%;border-collapse:collapse;table-layout:fixed}.ux27a-help-table td{white-space:normal;overflow-wrap:anywhere}
.ux27a-help-table th,.ux27a-help-table td{text-align:start;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.ux27a-help-table .ux27a-nib-badge{margin-inline-end:6px}
.ux27a-help-link{margin:0 0 8px}
@media (max-width:560px){.ux27a-help-table thead{display:none}.ux27a-help-table tr{display:block;padding:8px 0;border-bottom:1px solid var(--line)}.ux27a-help-table td{display:block;border:0;padding:2px 10px;white-space:normal;overflow-wrap:anywhere}}
