/* IPARI_RESPONSIVE_FINAL_V12 - 2026-08-30
   Single responsive/accessibility layer. Replaces accumulated V3/V4/V8 overrides. */
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%;box-sizing:border-box}
input,select,textarea{min-width:0}
textarea{resize:vertical}
.panel,.card,.box,.content,.container,.shell,.wrap,.form,[class*="panel"],[class*="card"],[class*="container"],[class*="content"]{min-width:0;max-width:100%;box-sizing:border-box}
.table-wrap,.table-container,[class*="table-wrap"],[class*="table-container"]{max-width:100%;-webkit-overflow-scrolling:touch}
[role="dialog"],dialog,.modal,.popup,.dialog,.sheetbox,.modal-content,.popup-content,.dialog-content,[class*="modal-box"],[class*="popup-box"],[class*="dialog-box"],[class*="sheetbox"]{max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow:auto!important;box-sizing:border-box!important}

/* Low-vision helper: numeric inputs only. No general touch magnifier. */
#ipariInputZoom{position:fixed;z-index:2147482990;display:none;pointer-events:none;left:8px;right:8px;padding:9px 12px 11px;border:2px solid var(--ipari-line,#9eb8a7);border-radius:14px;background:var(--ipari-surface,#fff);color:var(--ipari-text,#1d2b22);box-shadow:0 8px 26px rgba(0,0,0,.24)}
#ipariInputZoom.ipari-show{display:block}
#ipariInputZoom .ipari-inputzoom-label{display:block;font-size:14px;line-height:1.25;color:var(--ipari-muted,#66756b);font-weight:800;margin-bottom:3px}
#ipariInputZoom .ipari-inputzoom-value{display:block;font-size:30px;line-height:1.25;font-weight:900;white-space:normal;overflow-wrap:anywhere}

/* Phone / small-tablet final layout. One column for every input screen in both orientations. */
@media (max-width:1024px){
  html,body{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
  main,.shell,.container,.content,.page,.page-content,.workspace,[class*="page-content"],[class*="workspace"]{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .form,.form-grid,.input-grid,.edit-grid,.mode-grid,.row2,.grid2,.two-col,.harvest-box.show,.product-grid,[class*="form-grid"],[class*="input-grid"],[class*="edit-grid"]{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .field,.field.full,.form-group,.control,.input-group,.save,.cancel,.preview,.mode-box,.harvest-box,.product-box,.labor-preview{grid-column:1!important;width:100%!important;max-width:100%!important;min-width:0!important}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{width:100%!important;max-width:100%!important;min-width:0!important;font-size:16px!important}
  button,.btn,a[role="button"],input,select,textarea{min-height:44px}
  label{white-space:normal!important;overflow-wrap:anywhere!important}
  .actions,.toolbar,.buttons,.button-row,.form-actions,.top-actions,.head-actions,[class*="actions"],[class*="toolbar"]{width:100%;max-width:100%!important;min-width:0!important;flex-wrap:wrap!important}
  td,th,label,p,span,small,strong,div{overflow-wrap:anywhere}

  .product-select-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .product-select-row>*{width:100%!important;max-width:100%!important;min-width:0!important}
  .mixrow{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .mixrow .pid{grid-column:1/-1!important;width:100%!important}
  .mixrow .amt{grid-column:1!important;width:100%!important}
  .mixrow .del{grid-column:2!important;width:44px!important;min-width:44px!important}
  .mixinfo{grid-column:1/-1!important;width:100%!important;max-width:100%!important;min-width:0!important}

  .table-wrap,.table-container,[class*="table-wrap"],[class*="table-container"]{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important;max-height:none!important}
  table{max-width:100%!important}

  .ipari-numeric-focus{position:relative!important;z-index:20!important;padding:8px!important;margin-left:-3px!important;margin-right:-3px!important;border-radius:12px!important;background:var(--ipari-surface,#fff)!important;box-shadow:0 0 0 2px var(--ipari-line,#9eb8a7),0 6px 18px rgba(0,0,0,.08)!important}
  .ipari-numeric-focus label{font-size:16px!important;line-height:1.3!important;font-weight:900!important}
  .ipari-numeric-focus input[type="number"],.ipari-numeric-focus input[inputmode="numeric"],.ipari-numeric-focus input[inputmode="decimal"]{font-size:22px!important;line-height:1.35!important;min-height:56px!important;padding:13px 12px!important}
}

/* Data tables become cards on phones, including landscape. */
@media (max-width:900px){
  table.ipari-mobile-card-table{display:block!important;width:100%!important;min-width:0!important;border:0!important}
  table.ipari-mobile-card-table thead{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}
  table.ipari-mobile-card-table tbody{display:block!important;width:100%!important}
  table.ipari-mobile-card-table tr{display:block!important;width:100%!important;min-width:0!important;margin:0 0 10px!important;padding:7px 10px!important;border:1px solid var(--ipari-line,#d4e1d7)!important;border-radius:12px!important;background:var(--ipari-surface,#fff)!important}
  table.ipari-mobile-card-table td{display:grid!important;grid-template-columns:minmax(88px,30%) minmax(0,1fr)!important;gap:8px!important;width:100%!important;min-width:0!important;padding:8px 2px!important;border-bottom:1px solid var(--ipari-line,#e4e9e5)!important;text-align:left!important;white-space:normal!important}
  table.ipari-mobile-card-table td:last-child{border-bottom:0!important}
  table.ipari-mobile-card-table td::before{content:attr(data-ipari-label);font-weight:900;color:var(--ipari-muted,#66756b);font-size:13px}
  table.ipari-mobile-card-table td:empty{display:none!important}
  table.ipari-mobile-card-table tr.group-row,table.ipari-mobile-card-table tr.worklog-group-row{display:block!important;padding:8px 10px!important}
}

@media (max-width:420px){
  main,.shell,.container,.content,.page,.page-content{padding-left:7px!important;padding-right:7px!important}
  .panel,.card,.box,.sheetbox{padding-left:9px!important;padding-right:9px!important}
}

@media (orientation:landscape) and (max-height:600px){
  [role="dialog"],dialog,.modal,.popup,.sheetbox,.modal-content,.popup-content,[class*="modal-box"],[class*="popup-box"],[class*="sheetbox"]{max-height:calc(100dvh - 10px)!important}
  .sheet,.modal,.popup{align-items:flex-start!important;overflow:auto!important;padding-top:5px!important;padding-bottom:5px!important}
}
