/* UX6 / Fase 70S - feedback globali accessibili e temporanei. */
.ux-loading-bar { position: fixed; top: 0; left: 0; z-index: 9999; width: 0; height: 3px; background: var(--ui-brand, #0f62fe); opacity: 0; transition: width .22s ease, opacity .16s ease; }
body.ux-busy .ux-loading-bar { width: 70%; opacity: 1; }
body.ux-busy-done .ux-loading-bar { width: 100%; opacity: 0; }
body.ux-busy { cursor: progress; }
body.ux-busy a, body.ux-busy button { cursor: progress; }
.ux-toast-region { position: fixed; right: 16px; bottom: 16px; z-index: 9998; display: grid; gap: 10px; width: min(440px, calc(100vw - 32px)); pointer-events: none; }
.ux-toast { --ux-toast-accent: #1665d8; --ux-toast-soft: #eaf2ff; --ux-toast-border: #c9ddff; pointer-events: auto; display: grid; grid-template-columns: 34px minmax(0, 1fr) 32px; align-items: center; gap: 11px; min-height: 58px; border: 1px solid var(--ux-toast-border); border-left: 5px solid var(--ux-toast-accent); border-radius: var(--ui-radius-lg, 16px); background: rgba(255,255,255,.99); box-shadow: 0 14px 34px rgba(15,34,56,.18); padding: 10px 10px 10px 12px; color: var(--ui-text, #17263a); font-weight: 750; line-height: 1.35; animation: ux-toast-enter .2s ease-out both; }
.ux-toast-success { --ux-toast-accent: #087f5b; --ux-toast-soft: #ecfdf5; --ux-toast-border: #bbf7d0; }
.ux-toast-error { --ux-toast-accent: #b42318; --ux-toast-soft: #fff0ee; --ux-toast-border: #f3b9b4; }
.ux-toast-warning { --ux-toast-accent: #b54708; --ux-toast-soft: #fff7ed; --ux-toast-border: #fed7aa; }
.ux-toast-info { --ux-toast-accent: #1665d8; --ux-toast-soft: #eaf2ff; --ux-toast-border: #c9ddff; }
.ux-toast-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 999px; background: var(--ux-toast-accent); color: #fff; font-size: 18px; font-weight: 950; line-height: 1; }
.ux-toast-copy { min-width: 0; overflow-wrap: anywhere; }
.ux-toast-close { display: grid; place-items: center; width: 32px; height: 32px; margin: 0; padding: 0; border: 0; border-radius: 9px; background: transparent; color: #53657d; font: 700 22px/1 Arial,sans-serif; cursor: pointer; }
.ux-toast-close:hover, .ux-toast-close:focus-visible { background: var(--ux-toast-soft); color: var(--ux-toast-accent); outline: 2px solid transparent; }
.ux-toast-leaving { animation: ux-toast-leave .18s ease-in both; }
@keyframes ux-toast-enter { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes ux-toast-leave { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(8px); } }
.ux-loading-label { opacity: .82; }
form[aria-busy="true"] button[type="submit"], form[aria-busy="true"] .btn { opacity: .74; }
form[aria-busy="true"] button[type="submit"] { pointer-events: none; }
.empty-copy, .ux-empty-state { border: 1px dashed var(--ui-border-strong, #b8c7da); border-radius: var(--ui-radius-lg, 16px); background: var(--ui-surface-soft, #f8fafc); padding: 14px; color: var(--ui-text-muted, #53657d); }
[data-async-shell][aria-busy="true"] { position: relative; min-height: 120px; }
[data-async-shell][aria-busy="true"]::after { content: 'Aggiornamento in corso...'; position: absolute; top: 12px; right: 12px; bottom: 12px; left: 12px; display: grid; place-items: center; border-radius: var(--ui-radius-lg, 16px); background: rgba(248,250,252,.82); color: var(--ui-text, #17263a); font-weight: 900; backdrop-filter: blur(4px); }
@media (max-width: 720px) { .ux-toast-region { left: 12px; right: 12px; bottom: 12px; width: auto; } .ux-toast { grid-template-columns: 32px minmax(0, 1fr) 32px; } }
@media (prefers-reduced-motion: reduce) { .ux-loading-bar { transition: none; } .ux-toast, .ux-toast-leaving { animation: none; } }
/* UX11 */
body{overflow-x:hidden}
main.container{width:min(100%,1480px)}
img,svg,video,canvas{max-width:100%}
.card{overflow-wrap:anywhere}
.table-wrap,.table-scroll{max-width:100%;overflow-x:auto}
.errorlist{border:1px solid #f3b9b4;border-radius:14px;background:#fff0ee;color:#b42318;padding:10px 12px;margin:8px 0;font-weight:800}
.helptext{display:block;color:#53657d;margin-top:4px;font-size:.88rem}
.badge,.mini-badge,.pill,.tag-chip{white-space:normal;line-height:1.2}
@media(max-width:720px){main.container{padding-left:12px;padding-right:12px}.pagination,.pagination-bar,.pagination-links{display:grid;grid-template-columns:1fr;gap:8px}.pagination a,.pagination .btn,.pagination-bar .btn{width:100%;justify-content:center}}
