:where(button,.button,input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea,a.button,summary){min-height:44px}
:where(button,.button,a,input,select,textarea):focus-visible{outline:3px solid currentColor;outline-offset:3px}
[hidden]{display:none!important}
.check{min-height:44px;cursor:pointer;align-items:center}.check input[type="checkbox"],.check input[type="radio"]{width:20px;height:20px;min-height:20px;flex:0 0 20px}
.button.primary{background:var(--wenovo-action);color:#fff}
.eyebrow:not(.light),.step-label,.tab.active,.installed-machine small,.phase4-workflow-note i,.maintenance-workflow i,.manual-step-phase{color:var(--wenovo-accent-text)!important}
.safe-thread{display:grid;gap:12px;max-height:45vh;overflow:auto;margin:14px 0}.message-card{padding:12px;border:1px solid rgba(128,128,128,.25);border-radius:10px}.message-card small{display:block;opacity:.72;margin:3px 0 8px}.message-card p{white-space:pre-wrap;margin:0}.release-lock{border-left:4px solid currentColor;padding-left:12px}.release-lock strong{display:block;margin-bottom:4px}
@media(max-width:600px){:where(button,.button,input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea,a.button,summary){min-height:48px}.button-row{gap:10px;flex-wrap:wrap}.button-row>*{flex:1 1 180px}}


/* 6.12.1 quality-pass: keyboard, touch and motion accessibility */
:root{--wenovo-focus:#0b63ce;--wenovo-focus-ring:rgba(11,99,206,.22);--wenovo-accent-text:#b5470e;--wenovo-action:#c84b0b;--muted:#626a70}
:where(button,.button,a,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--wenovo-focus)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px var(--wenovo-focus-ring);
}
:where(button,.button,input,select,textarea)[disabled],:where(button,.button)[aria-disabled="true"]{
  opacity:.58;cursor:not-allowed;filter:saturate(.65)
}
:where(.icon-btn,.modal-close,button[aria-label]){min-width:44px}
:where(button,.button,a.button){touch-action:manipulation}
.table-wrap[tabindex="0"]{position:relative;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.table-wrap[tabindex="0"]:focus-visible{outline-offset:2px!important}
[aria-busy="true"]{cursor:progress}
[aria-busy="true"] :where(button,.button,input,select,textarea){pointer-events:none}
html[data-api-busy="true"] body::before{content:"";position:fixed;z-index:2500;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--wenovo-focus) 0 35%,#f36b21 50% 70%,var(--wenovo-focus) 85% 100%);background-size:200% 100%;animation:wenovo-busy 1.15s linear infinite}
@keyframes wenovo-busy{to{background-position:-200% 0}}
.error-state,.login-error{border:1px solid #c93a3a;background:#fff2f2;color:#781f1f;border-radius:10px;padding:12px 14px;line-height:1.5}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:12px;top:8px;z-index:1000;transform:translateY(-150%);background:#fff;color:#111;padding:10px 14px;border:2px solid var(--wenovo-focus);border-radius:8px;font-weight:800;text-decoration:none}.skip-link:focus{transform:none}
.modal[role="dialog"]{scroll-margin-top:12px}
.modal[role="dialog"] [data-dialog-title]:focus{outline:none!important;box-shadow:none!important}
.empty{line-height:1.55}
.status{gap:4px;align-items:center}
@media(max-width:760px){
  .check{min-height:48px}
  .check input[type="checkbox"],.check input[type="radio"]{width:22px;height:22px;min-height:22px;flex-basis:22px}
  :where(.icon-btn,.modal-close,button[aria-label]){min-width:48px}
  .modal-close{width:48px;height:48px;right:8px;top:8px}
  .modal{padding-top:58px}
  .table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}
}
@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media(forced-colors:active){
  :where(button,.button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}
  .status{border:1px solid CanvasText}
}
