/* FixxWorx shared interaction layer: predictable forms, tables and help. */
:root{--ux-focus:#6d4aff;--ux-danger:#c92a3d;--ux-help:#526178}
[hidden]{display:none!important}
:where(input,select,textarea,button,a):focus-visible{outline:3px solid color-mix(in srgb,var(--ux-focus) 34%,transparent);outline-offset:2px}
:where(input:not([type=checkbox]):not([type=radio]),select,textarea){min-width:0;max-width:100%}
:where(input:not([type=checkbox]):not([type=radio]),select){min-height:44px}
textarea{resize:vertical;min-height:96px}
label{min-width:0}
label[data-ux-required]::after{content:' *';color:var(--ux-danger);font-weight:900}
label>small,.field-help,.muted{line-height:1.45}
fieldset{min-width:0}
legend{max-width:100%}
.ux-invalid{border-color:var(--ux-danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ux-danger) 14%,transparent)!important}
.ux-field-error{display:block;margin-top:5px;color:var(--ux-danger);font-size:.78rem;font-weight:800}
.ux-tooltip{position:fixed;z-index:100000;max-width:min(340px,calc(100vw - 24px));padding:9px 11px;border-radius:9px;background:#111827;color:#fff;font-size:.78rem;font-weight:650;line-height:1.4;box-shadow:0 12px 30px rgba(15,23,42,.28);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease}
.ux-tooltip.visible{opacity:1;transform:none}
.ux-key-hint{display:inline-flex;margin-left:7px;padding:2px 6px;border:1px solid currentColor;border-radius:5px;font-size:.68em;opacity:.68;vertical-align:middle}
.table-wrap{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.table-wrap table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0}
.table-wrap thead th{position:sticky;top:0;z-index:2;background:var(--panel,#fff)}
.table-wrap tbody tr{transition:background-color .14s ease}
.table-wrap tbody tr:hover{background:color-mix(in srgb,var(--accent,#6d4aff) 5%,transparent)}
:where(.actions,.hero-actions,.header-actions,.client-topbar-actions,.provisioning-actions){flex-wrap:wrap}
:where(.panel,.card,article,section)>:where(h1,h2,h3,p){overflow-wrap:anywhere}
.ux-busy{cursor:progress!important;opacity:.78}
.ux-workflow-current{box-shadow:inset 0 -3px 0 var(--ux-focus)}
@media(max-width:760px){
  .table-wrap{margin-inline:-4px}
  .table-wrap table{min-width:640px}
  :where(.actions,.hero-actions,.provisioning-actions)>.button{max-width:100%}
}
@media(prefers-reduced-motion:reduce){.ux-tooltip,.table-wrap tbody tr{transition:none}}
