/* DAYO V4.3.8.53 · mobile-first interaction layer. */
html body .page .role-action-hidden,html body #modal .role-action-hidden{display:none!important}
.dayo-m47-top,.dayo-m47-bottom,.dayo-m47-sheet,.dayo-m47-backdrop,.dayo-m47-hero,.dayo-m47-quick{display:none}

@media(max-width:760px){
  :root{--m47-blue:#0969f4;--m47-blue2:#1685ff;--m47-ink:#142238;--m47-muted:#78859a;--m47-bg:#f4f7fb;--m47-line:#e7ebf2;--m47-card:#fff;--m47-green:#19b66e;--m47-orange:#ff9c28;--m47-red:#f34f62;--m47-purple:#8a5cf5}
  *{box-sizing:border-box}
  html,body{width:100%;max-width:100%;overflow-x:hidden;background:var(--m47-bg)!important;color:var(--m47-ink)!important;font-size:14px!important}
  body{padding:0 0 calc(64px + env(safe-area-inset-bottom))!important}
  button,input,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif!important}
  input,select,textarea{font-size:16px!important}

  /* Login is a real mobile layout; fields remain native and tappable. */
  body.dayo-mobile-login{padding:0!important;overflow:auto!important;background:#fff!important}
  body.dayo-mobile-login .dayo-m47-top,body.dayo-mobile-login .dayo-m47-bottom,body.dayo-mobile-login .dayo-m47-sheet,body.dayo-mobile-login .dayo-m47-backdrop{display:none!important}
  #loginScreen:not(.hidden){position:fixed!important;inset:0!important;z-index:30000!important;display:block!important;overflow:auto!important;padding:0!important;background:#fff!important;pointer-events:auto!important;-webkit-overflow-scrolling:touch!important}
  #loginScreen:not(.hidden) .login-shell{display:flex!important;flex-direction:column!important;width:100%!important;min-height:100dvh!important;border:0!important;border-radius:0!important;overflow:visible!important;background:#fff!important;box-shadow:none!important}
  #loginScreen:not(.hidden) .login-visual{display:block!important;position:relative!important;flex:0 0 238px!important;min-height:238px!important;padding:28px 25px!important;background:linear-gradient(180deg,rgba(1,60,100,.18),rgba(1,50,83,.42)),url('/static/assets/login-mountain-fishing-v43842.png?v=4.3.8.47') center 61%/cover no-repeat!important}
  #loginScreen:not(.hidden) .login-visual:after{display:block!important;background:linear-gradient(180deg,rgba(0,46,77,.06),rgba(0,43,72,.32))!important}
  #loginScreen:not(.hidden) .login-dayo-logo{width:115px!important;position:relative!important;z-index:2!important}
  #loginScreen:not(.hidden) .login-visual-copy{position:absolute!important;z-index:2!important;left:25px!important;bottom:24px!important;margin:0!important}
  #loginScreen:not(.hidden) .login-visual-copy h1{font-size:20px!important;line-height:1.35!important;letter-spacing:.04em!important}
  #loginScreen:not(.hidden) .login-card{display:block!important;flex:1 0 auto!important;width:100%!important;padding:28px 24px calc(30px + env(safe-area-inset-bottom))!important;background:#fff!important;text-align:left!important}
  #loginScreen:not(.hidden) .login-form-brand{display:none!important}
  #loginScreen:not(.hidden) .login-card h2{margin:0 0 7px!important;font-size:28px!important;color:#12304a!important}
  #loginScreen:not(.hidden) .login-welcome-note{display:block!important;margin:0 0 24px!important;color:#8a98aa!important;font-size:13px!important}
  #loginScreen:not(.hidden) label.login-field{display:flex!important;position:relative!important;align-items:center!important;width:100%!important;height:52px!important;margin:0 0 13px!important;border:1px solid #dbe3ed!important;border-radius:12px!important;background:#fbfdff!important;pointer-events:auto!important}
  #loginScreen:not(.hidden) .login-field-icon{width:44px!important;color:#536a83!important;font-size:17px!important}
  #loginScreen:not(.hidden) label.login-field input{display:block!important;position:relative!important;z-index:2!important;flex:1 1 auto!important;width:100%!important;height:50px!important;min-height:50px!important;padding:0 10px 0 0!important;border:0!important;background:transparent!important;box-shadow:none!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-user-select:text!important;user-select:text!important}
  #loginScreen:not(.hidden) .login-eye{height:50px!important;width:44px!important}
  #loginScreen:not(.hidden) .login-remember{display:flex!important;align-items:center!important;min-height:38px!important;margin:0 0 16px!important;font-size:13px!important}
  #loginScreen:not(.hidden) .login-remember input{appearance:auto!important;width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;margin:0 9px 0 0!important}
  #loginScreen:not(.hidden) .login-btn{height:50px!important;border-radius:12px!important;background:linear-gradient(90deg,var(--m47-blue),var(--m47-blue2))!important;font-size:15px!important}
  #loginScreen:not(.hidden) .login-system-foot{margin:24px 0 0!important;padding:0!important;font-size:11px!important}
  #loginScreen:not(.hidden) .login-pattern{display:none!important}

  /* Replace the desktop shell instead of shrinking it. */
  .app-shell{display:block!important;width:100%!important;background:var(--m47-bg)!important}
  .sidebar,.topbar,.mobile-nav-toggle,.mobile-nav-backdrop{display:none!important}
  .main{width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0 12px 22px!important;background:var(--m47-bg)!important}
  #notice{margin:0!important}
  .dayo-m47-top{display:grid;position:sticky;top:0;z-index:10040;height:54px;margin:0 -12px 10px;padding:0 10px;grid-template-columns:40px 1fr 40px;align-items:center;background:rgba(255,255,255,.97);border-bottom:1px solid var(--m47-line);backdrop-filter:blur(14px)}
  .dayo-m47-top button{display:grid;place-items:center;width:40px;height:40px;padding:0!important;border:0!important;background:transparent!important;color:#20344f!important}
  .dayo-m47-top button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .dayo-m47-title{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;color:#142238}
  .dayo-m47-top .m47-logo{justify-self:start;color:var(--m47-blue)!important;font-size:18px!important;font-weight:900!important;font-style:italic!important;letter-spacing:-.05em}
  .dayo-m47-back{visibility:hidden}.dayo-m47-back.show{visibility:visible}
  .dayo-m47-alert{position:relative}.dayo-m47-alert:after{content:"";position:absolute;right:8px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--m47-red);border:2px solid #fff}

  .dayo-m47-bottom{display:grid;position:fixed;z-index:10050;left:0;right:0;bottom:0;height:calc(58px + env(safe-area-inset-bottom));padding:4px 6px env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.98);border-top:1px solid var(--m47-line);box-shadow:0 -5px 18px rgba(34,60,98,.06)}
  .dayo-m47-bottom button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;color:#8490a3!important;font-size:10px!important;font-weight:600!important}
  .dayo-m47-bottom svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .dayo-m47-bottom button.active{color:var(--m47-blue)!important}
  .dayo-m47-bottom em{position:absolute;top:1px;right:20%;min-width:14px;height:14px;padding:0 3px;border-radius:8px;background:var(--m47-red);color:#fff;font-size:9px;font-style:normal;line-height:14px}

  /* Home follows the approved visual: photographic banner + colored modules. */
  #dashboard>.dashboard-simple-head{display:none!important}
  .dayo-m47-hero{display:block;position:relative;height:122px;margin:0 0 12px;overflow:hidden;border-radius:14px;background:linear-gradient(90deg,rgba(2,48,88,.80),rgba(2,79,116,.12)),url('/static/assets/login-mountain-fishing-v43842.png?v=4.3.8.47') center 63%/cover no-repeat;color:#fff}
  .dayo-m47-hero-copy{position:absolute;left:16px;bottom:13px}.dayo-m47-hero-copy small{display:block;font-size:9px;letter-spacing:.1em;opacity:.82}.dayo-m47-hero-copy b{display:block;margin-top:3px;font-size:17px;line-height:1.25}.dayo-m47-hero-copy span{display:block;margin-top:4px;font-size:10px;opacity:.85}
  .dayo-m47-quick{display:block;margin:0 0 13px}.dayo-m47-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 6px}.dayo-m47-module{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;min-width:0!important;min-height:62px!important;padding:0!important;border:0!important;background:transparent!important;color:#26364d!important;font-size:11px!important;font-weight:600!important;text-align:center!important}.dayo-m47-module>i{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:#fff;box-shadow:0 7px 14px rgba(35,89,165,.14)}
  .dayo-m47-module svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.dayo-m47-module .m47-char{font-style:normal;font-size:19px;font-weight:700}
  .dayo-m47-module:nth-child(8n+1)>i{background:linear-gradient(145deg,#267dff,#075fea)}.dayo-m47-module:nth-child(8n+2)>i{background:linear-gradient(145deg,#29bfef,#038cc7)}.dayo-m47-module:nth-child(8n+3)>i{background:linear-gradient(145deg,#35d99a,#0cad68)}.dayo-m47-module:nth-child(8n+4)>i{background:linear-gradient(145deg,#ffb84c,#f48416)}.dayo-m47-module:nth-child(8n+5)>i{background:linear-gradient(145deg,#ff6f9b,#ef3778)}.dayo-m47-module:nth-child(8n+6)>i{background:linear-gradient(145deg,#4374dd,#254cb5)}.dayo-m47-module:nth-child(8n+7)>i{background:linear-gradient(145deg,#aa72ff,#7550ee)}.dayo-m47-module:nth-child(8n+8)>i{background:linear-gradient(145deg,#20c2bc,#078e91)}
  #dashboard .home-section-title{margin:13px 2px 8px!important;font-size:13px!important}#dashboard .home-section-title span{font-size:10px!important}
  #dashboard .metric-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-bottom:10px!important}
  #dashboard .metric-card{min-width:0!important;min-height:84px!important;padding:11px!important;border:1px solid var(--m47-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 8px rgba(40,59,92,.04)!important}
  #dashboard .metric-card .metric-icon{display:none!important}#dashboard .metric-card span{font-size:10px!important;color:var(--m47-muted)!important}#dashboard .metric-card strong{display:block;margin-top:5px;font-size:16px!important;white-space:normal!important}#dashboard .metric-card small{font-size:9px!important}
  #dashboard .home-grid{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.dashboard-statusbar,.quick-strip.home-modules{display:none!important}

  /* Page headings and actions become touch-friendly without overlap. */
  .page{width:100%!important;min-width:0!important;padding:0 0 20px!important}
  .page>.toolbar,.page>.erp-toolbar,.dashboard-simple-head,.role-workbench-head{display:flex!important;min-height:0!important;margin:0 0 10px!important;padding:0 2px!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:8px!important}
  .page>.toolbar>div:first-child,.page>.erp-toolbar>div:first-child,.role-workbench-head>div:first-child{flex:1 1 100%!important;min-width:0!important}.toolbar h2,.erp-toolbar h2,.role-workbench-head h2{font-size:20px!important}.toolbar p,.erp-toolbar p,.role-workbench-head p{margin-top:4px!important;font-size:11px!important;line-height:1.45!important}
  .page>.toolbar>.top-actions,.page>.toolbar>.toolbar-actions,.page>.erp-toolbar>.top-actions,.page>.erp-toolbar>.toolbar-actions,.role-workbench-head-actions{display:flex!important;width:100%!important;max-width:none!important;flex:1 1 100%!important;gap:7px!important;justify-content:flex-start!important;overflow-x:auto!important;padding-bottom:2px!important}
  .page>.toolbar>.top-actions>button,.page>.toolbar>.toolbar-actions>button,.page>.erp-toolbar>.top-actions>button,.page>.erp-toolbar>.toolbar-actions>button,.role-workbench-head-actions button{flex:0 0 auto!important;min-width:82px!important;height:40px!important;min-height:40px!important;padding:0 12px!important;border-radius:10px!important;white-space:nowrap!important}
  .page-fixed-refresh{position:static!important;float:none!important;margin:0 0 8px!important}.page-fixed-refresh button{height:38px!important}

  .panel,.metric-card,.erp-card,.report-card,.role-metric-card{border:1px solid var(--m47-line)!important;border-radius:13px!important;background:#fff!important;box-shadow:0 2px 9px rgba(40,59,92,.04)!important}
  .panel{padding:11px!important;margin-bottom:10px!important}.panel-head{display:flex!important;min-height:0!important;padding:2px 1px 10px!important;flex-wrap:wrap!important;gap:8px!important;border-bottom:0!important}.panel-head h3{font-size:14px!important}.panel-head p{font-size:10px!important;line-height:1.4!important}.panel-head>.top-actions,.panel-head>button,.panel-head>a{max-width:100%!important}
  .metric-grid,.metric-grid-three,.metric-grid-four,.inventory-kpi-grid,.role-metric-grid,.erp-product-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-bottom:10px!important}.metric-card,.role-metric-card,.erp-product-summary>div,.inventory-kpi-grid>div{min-width:0!important;min-height:76px!important;padding:11px!important}.metric-card strong,.role-metric-card strong{font-size:16px!important;overflow-wrap:anywhere}.metric-card small{font-size:9px!important}
  .role-workbench-grid,.settings-grid,.home-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.role-workbench-foot{display:none!important}

  /* Filters: one clear field per row, with equal buttons. */
  .filters,.filter-row,.erp-filter-row,.product-filter-grid,.payment-filter-grid,.settlement-filter,.settlement-recon-filter,.inventory-report-filters,.transport-filter-grid,.recon-filter-grid,.stock-count-filter-grid,.picker-filters,.modal-grid,.form-grid,.form-grid.two,.form-grid.three,.form-grid.compact.two{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;width:100%!important;padding:10px!important;border:1px solid var(--m47-line)!important;border-radius:12px!important;background:#fff!important}
  .filters label,.filter-row label,.erp-filter-row label,.product-filter-grid label,.payment-filter-grid label,.settlement-filter label,.settlement-recon-filter label,.inventory-report-filters label,.transport-filter-grid label,.recon-filter-grid label,.stock-count-filter-grid label,.modal-grid label,.form-grid label{display:grid!important;gap:5px!important;width:100%!important;min-width:0!important;font-size:11px!important;color:#536178!important}
  .filters input,.filters select,.filter-row input,.filter-row select,.erp-filter-row input,.erp-filter-row select,.product-filter-grid input,.product-filter-grid select,.payment-filter-grid input,.payment-filter-grid select,.settlement-filter input,.settlement-filter select,.inventory-report-filters input,.inventory-report-filters select,.transport-filter-grid input,.transport-filter-grid select,.recon-filter-grid input,.recon-filter-grid select,.stock-count-filter-grid input,.stock-count-filter-grid select,.modal-grid input,.modal-grid select,.form-grid input,.form-grid select,.form-grid textarea{width:100%!important;min-width:0!important;max-width:none!important;height:44px!important;min-height:44px!important;padding:0 10px!important;border:1px solid #dce3ec!important;border-radius:10px!important;background:#fbfdff!important}
  .form-grid textarea{height:auto!important;min-height:76px!important;padding-top:10px!important}
  .filters>button,.filter-row>button,.erp-filter-row>button,.product-filter-grid>button,.payment-filter-grid>button,.settlement-filter>button,.settlement-recon-filter>button,.inventory-report-filters>button,.transport-filter-grid>button,.recon-filter-grid>button,.stock-count-filter-grid>button,.picker-filters>button{width:100%!important;min-width:0!important;height:42px!important;min-height:42px!important;border:1px solid #bac9d8!important;border-radius:10px!important;background:#fff!important;color:#31516d!important}
  .filters>.primary-btn,.filter-row>.primary-btn,.erp-filter-row>.primary-btn,.product-filter-grid>.primary-btn,.payment-filter-grid>.primary-btn,.settlement-filter>.primary-btn{border-color:var(--m47-blue)!important;background:linear-gradient(90deg,var(--m47-blue),var(--m47-blue2))!important;color:#fff!important}
  .searchable-filter-wrap,.payment-partner-picker{display:grid!important;grid-template-columns:minmax(0,1fr) 70px!important;gap:7px!important;width:100%!important}.searchable-filter-wrap .mini-btn,.payment-partner-picker .outline-btn{width:70px!important;height:44px!important}
  .multi-select-menu,.filter-suggest-menu{left:0!important;right:0!important;max-width:none!important;min-width:0!important;z-index:120!important}

  /* Read-only tables become native cards after JS labels each cell. */
  .table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;border:0!important;border-radius:0!important;background:transparent!important;-webkit-overflow-scrolling:touch!important}
  .table-wrap table{font-size:12px!important}
  .m47-card-wrap{overflow:visible!important}.m47-card-table{display:block!important;min-width:0!important;width:100%!important;background:transparent!important}.m47-card-table thead{display:none!important}.m47-card-table tbody{display:grid!important;gap:9px!important}.m47-card-table tbody tr{display:grid!important;grid-template-columns:1fr!important;width:100%!important;padding:10px 12px!important;border:1px solid var(--m47-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 8px rgba(40,59,92,.04)!important}.m47-card-table tbody td{display:grid!important;grid-template-columns:minmax(82px,34%) minmax(0,1fr)!important;gap:8px!important;width:100%!important;min-width:0!important;height:auto!important;min-height:34px!important;padding:7px 0!important;border:0!important;border-bottom:1px dashed #edf1f6!important;white-space:normal!important;text-align:right!important;overflow-wrap:anywhere!important}.m47-card-table tbody td:last-child{border-bottom:0!important}.m47-card-table tbody td:before{content:attr(data-m47-label);text-align:left;color:#8390a3;font-size:11px;font-weight:600}.m47-card-table tbody td[colspan]{grid-template-columns:1fr!important;text-align:center!important}.m47-card-table tbody td[colspan]:before{display:none!important}.m47-card-table tbody td .table-actions,.m47-card-table tbody td:last-child>div{justify-content:flex-end!important;flex-wrap:wrap!important}.m47-card-table tfoot{display:block!important;margin-top:9px}.m47-card-table tfoot tr,.m47-card-table tfoot td{display:block!important;width:100%!important;height:auto!important;padding:11px!important;border:0!important;border-radius:10px!important;background:#eef5ff!important;white-space:normal!important;text-align:right!important}
  .table-btn,.mini-btn{min-height:34px!important;padding:5px 9px!important;border:1px solid #d7e1ec!important;border-radius:8px!important;background:#fff!important;color:#1269d8!important;font-size:11px!important}.danger-btn{min-height:38px!important;border-radius:9px!important}
  .status,.status-pill,.badge{border-radius:999px!important}

  /* Document editors are converted to real mobile item cards by JS below;
     never retain a desktop minimum width. */
  .standardized-document-table,.stock-count-table,.return-count-table,.opening-stock-list,.product-picker-table{overflow:visible!important}
  .standardized-document-table table,.stock-count-table table,.return-count-table table,.opening-stock-list table,.product-picker-table table,.mobile-document-table{min-width:0!important;max-width:100%!important}
  .standardized-document-table input,.standardized-document-table select,.stock-count-table input,.return-count-table input,.opening-stock-list input,.opening-stock-list select,.product-picker-table input{height:40px!important;min-height:40px!important;font-size:16px!important}
  .purchase-picker-layer{padding:0!important}.purchase-picker-card{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:10px!important;border:0!important;border-radius:0!important}.purchase-picker-card .table-wrap{max-height:calc(100dvh - 210px)!important}

  /* Every create/edit/detail modal is a mobile page with native back/close. */
  #modal{position:fixed!important;inset:0!important;z-index:20000!important;align-items:stretch!important;justify-content:stretch!important;padding:0!important;background:rgba(16,31,52,.35)!important}
  #modal.hidden{display:none!important}
  #modal .modal-card,#modal .modal-card.detail-wide,#modal .modal-card.stock-count-wide,#modal .modal-card.outsource-document-wide{display:flex!important;flex-direction:column!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;background:var(--m47-bg)!important;box-shadow:none!important;overflow:hidden!important}
  #modal .modal-head{position:sticky!important;z-index:3!important;top:0!important;display:grid!important;grid-template-columns:40px 1fr 40px!important;align-items:center!important;flex:0 0 54px!important;height:54px!important;padding:0 8px!important;border-bottom:1px solid var(--m47-line)!important;background:#fff!important}
  #modal .modal-head:before{content:"‹";display:grid;place-items:center;width:40px;height:40px;color:#20344f;font-size:31px;font-weight:300}
  #modal .modal-head h3{margin:0!important;text-align:center!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:16px!important}
  #modal .modal-head>button{width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;border:0!important;background:transparent!important;color:#20344f!important;font-size:22px!important}
  #modal #modalBody,#modal .modal-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding:11px!important;-webkit-overflow-scrolling:touch!important}
  #modal .modal-actions{position:sticky!important;z-index:3!important;bottom:0!important;display:flex!important;width:100%!important;margin:10px 0 0!important;padding:10px 0 calc(10px + env(safe-area-inset-bottom))!important;gap:8px!important;border-top:1px solid var(--m47-line)!important;background:rgba(244,247,251,.98)!important}
  #modal .modal-actions button,#modal .modal-actions a{flex:1 1 0!important;min-width:0!important;min-height:44px!important;border-radius:10px!important;white-space:normal!important}
  #modal .panel-head{padding-left:0!important;padding-right:0!important}
  #modal .callout,.callout{padding:10px!important;border-radius:11px!important;font-size:11px!important;line-height:1.45!important}
  .tx-balance-summary{grid-template-columns:1fr 1fr!important}.tx-balance-summary>div{min-height:62px!important;padding:10px!important}

  /* Attachment links stay in-app where the browser permits and retain a close path. */

  .dayo-m47-backdrop{display:block;position:fixed;inset:0;z-index:10100;background:rgba(18,35,58,.38);opacity:0;pointer-events:none;transition:.2s}.dayo-m47-backdrop.open{opacity:1;pointer-events:auto}
  .dayo-m47-sheet{display:block;position:fixed;z-index:10110;left:0;right:0;bottom:0;max-height:82dvh;overflow-y:auto;padding:8px 12px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--m47-bg);box-shadow:0 -18px 48px rgba(26,53,87,.18);transform:translateY(110%);transition:.22s ease}.dayo-m47-sheet.open{transform:translateY(0)}
  .dayo-m47-handle{width:42px;height:4px;margin:2px auto 13px;border-radius:4px;background:#cbd5e2}.dayo-m47-sheet-head{display:flex;align-items:center;justify-content:space-between;margin:0 3px 12px}.dayo-m47-sheet-head b{font-size:19px}.dayo-m47-sheet-head button{width:38px;height:38px;border:0;border-radius:10px;background:#e9eef5;color:#40536b;font-size:20px}.dayo-m47-group{margin-bottom:10px;padding:12px;border-radius:15px;background:#fff}.dayo-m47-group h4{margin:0 0 9px;font-size:13px}.dayo-m47-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dayo-m47-sheet .dayo-m47-module{min-height:70px!important}.dayo-m47-sheet .dayo-m47-module>i{width:38px;height:38px;border-radius:11px}
}

/* V4.3.8.50: list flow, detail pages and fixed-navigation corrections. */
@media(max-width:760px){
  .page.active{display:block!important;height:auto!important;min-height:calc(100dvh - 120px)!important;overflow:visible!important;padding-bottom:34px!important}
  .page.active>.panel,.page.active>.table-panel,.page.active>.inventory-panel,
  .table-panel,.inventory-panel:has(>.table-wrap){height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
  .m47-card-wrap,.m47-card-table,.m47-card-table tbody,
  .m47-editor-wrap,.m47-editor-table,.m47-editor-table tbody{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
  .m47-card-table tbody tr,.m47-editor-table tbody tr{position:relative!important;float:none!important;clear:both!important;contain:layout style!important}
  .m47-card-table tfoot,.m47-editor-table tfoot{position:static!important;float:none!important;clear:both!important;width:100%!important;height:auto!important;margin-top:12px!important;transform:none!important}
  .dayo-list-pager{position:static!important;inset:auto!important;float:none!important;clear:both!important;display:flex!important;width:100%!important;height:auto!important;min-height:48px!important;margin:12px 0 0!important;padding:11px 12px!important;transform:none!important;z-index:auto!important;border:1px solid var(--m47-line)!important;border-radius:11px!important;background:#fff!important}
  .dayo-list-pager>span{display:block!important;width:100%!important;line-height:1.5!important}
  .dayo-list-pager>div{display:flex!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;padding:2px 0!important;gap:6px!important}
  .dayo-list-pager+.callout,.dayo-list-pager+.product-form-note{position:static!important;clear:both!important;margin-top:12px!important}
  .panel>h3,#modalBody>h3,#modal .modal-body>h3{position:static!important;clear:both!important;width:100%!important;margin:16px 0 9px!important;padding:0!important;line-height:1.35!important}

  /* Desktop key/value tables (notably shipment details) become a single
     vertical detail card instead of remaining a clipped four-column table. */
  .m49-detail-wrap{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;border:0!important;background:transparent!important}
  .m49-detail-list{display:grid!important;width:100%!important;gap:0!important;padding:7px 13px!important;border:1px solid var(--m47-line)!important;border-radius:13px!important;background:#fff!important}
  .m49-detail-row{display:grid!important;grid-template-columns:minmax(92px,34%) minmax(0,1fr)!important;align-items:center!important;gap:10px!important;min-height:44px!important;padding:8px 0!important;border-bottom:1px dashed #e9eef4!important}
  .m49-detail-row:last-child{border-bottom:0!important}.m49-detail-row>span{color:#7c899c!important;font-size:12px!important;font-weight:650!important}.m49-detail-row>strong{min-width:0!important;text-align:right!important;font-size:13px!important;overflow-wrap:anywhere!important}

  /* Keep content above the fixed five-tab bar and prevent it from masking the
     second/last record or page controls. */
  .main{padding-bottom:calc(94px + env(safe-area-inset-bottom))!important;overflow:visible!important}
  #modal #modalBody,#modal .modal-body{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}
  #modal .modal-actions{flex-wrap:wrap!important}.modal-actions>button,.modal-actions>a{min-width:calc(50% - 4px)!important}
  .dayo-m47-bottom{isolation:isolate!important}
}

@media(max-width:380px){
  .dayo-m47-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dayo-m47-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px 3px!important}
  .dayo-m47-module{font-size:10px!important}.dayo-m47-module>i{width:41px;height:41px}
  .metric-grid,.metric-grid-three,.metric-grid-four,.inventory-kpi-grid,.role-metric-grid,.erp-product-summary{grid-template-columns:1fr!important}
}

/* V4.3.8.50 mobile interaction correction.
   The first preview layer still inherited fixed desktop table dimensions.
   These rules make both read-only rows and document-entry rows native cards. */
@media(max-width:760px){
  /* No page or modal is allowed to make the whole viewport wider. */
  .page,.panel,.table-panel,.table-wrap,#modalBody,#modal .modal-body,
  .standardized-document-table,.stock-count-table,.return-count-table,
  .opening-stock-list,.product-picker-table{min-width:0!important;max-width:100%!important}
  .table-wrap{overflow:visible!important}

  /* Page actions wrap inside the viewport instead of becoming a clipped
     desktop toolbar. */
  .page>.toolbar>.top-actions,.page>.toolbar>.toolbar-actions,
  .page>.erp-toolbar>.top-actions,.page>.erp-toolbar>.toolbar-actions,
  .role-workbench-head-actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;overflow:visible!important;gap:8px!important
  }
  .page>.toolbar>.top-actions>button,.page>.toolbar>.toolbar-actions>button,
  .page>.erp-toolbar>.top-actions>button,.page>.erp-toolbar>.toolbar-actions>button,
  .role-workbench-head-actions button{
    width:100%!important;min-width:0!important;max-width:100%!important;height:42px!important;
    border:1px solid #cbd7e3!important;border-radius:10px!important;white-space:normal!important
  }
  .page>.toolbar>.top-actions>.primary-btn,.page>.toolbar>.toolbar-actions>.primary-btn,
  .page>.erp-toolbar>.top-actions>.primary-btn,.page>.erp-toolbar>.toolbar-actions>.primary-btn{
    border-color:var(--m47-blue)!important
  }

  /* Read-only list cards: reset every desktop width/height rule. */
  .m47-card-wrap{overflow:visible!important}
  .m47-card-table,.m47-card-table tbody{display:block!important;width:100%!important;min-width:0!important}
  .m47-card-table thead{display:none!important}
  .m47-card-table tbody{display:grid!important;gap:10px!important}
  .m47-card-table tbody tr,
  #erpProducts .m47-card-table tbody tr{
    display:grid!important;grid-template-columns:1fr!important;width:100%!important;
    min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;
    padding:12px 13px!important;overflow:hidden!important;border:1px solid var(--m47-line)!important;
    border-radius:13px!important;background:#fff!important;box-shadow:0 2px 9px rgba(40,59,92,.05)!important
  }
  .m47-card-table tbody td,
  #erpProducts .m47-card-table tbody td{
    position:static!important;display:grid!important;grid-template-columns:minmax(78px,31%) minmax(0,1fr)!important;
    align-items:center!important;gap:10px!important;width:100%!important;min-width:0!important;max-width:100%!important;
    height:auto!important;min-height:37px!important;padding:7px 0!important;overflow:visible!important;
    border:0!important;border-bottom:1px dashed #edf1f6!important;background:transparent!important;
    color:var(--m47-ink)!important;white-space:normal!important;text-align:right!important;line-height:1.45!important
  }
  .m47-card-table tbody td:last-child{border-bottom:0!important}
  .m47-card-table tbody td::before{content:attr(data-m47-label);min-width:0;text-align:left;color:#7c899c;font-size:11px;font-weight:650}
  .m47-card-table tbody td>*{min-width:0!important;max-width:100%!important;justify-self:end!important;overflow-wrap:anywhere!important}
  .m47-card-table tbody td[data-m47-label*="单据号"]>*,
  .m47-card-table tbody td[data-m47-label*="单号"]>*{width:auto!important;max-width:none!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important}
  .m47-card-table tbody td .table-actions{display:flex!important;width:100%!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:wrap!important}
  .m47-card-table tbody td .product-thumb{width:54px!important;height:54px!important;object-fit:contain!important}
  .m47-card-table tbody td .product-name-cell{align-items:flex-end!important;text-align:right!important}
  .m47-card-table tbody td[colspan]{grid-template-columns:1fr!important;text-align:center!important}
  .m47-card-table tbody td[colspan]::before{display:none!important}

  /* Editable document tables use their real controls inside vertical item cards.
     Nothing is cloned, so values, events and validation remain connected. */
  .m47-editor-wrap{overflow:visible!important;border:0!important;background:transparent!important}
  .m47-editor-table,.m47-editor-table tbody{display:block!important;width:100%!important;min-width:0!important}
  .m47-editor-table thead{display:none!important}
  .m47-editor-table tbody{display:grid!important;gap:11px!important}
  .m47-editor-table tbody tr{
    display:grid!important;grid-template-columns:1fr!important;width:100%!important;min-width:0!important;
    max-width:100%!important;height:auto!important;min-height:0!important;padding:12px!important;overflow:visible!important;
    border:1px solid #dfe7f0!important;border-radius:13px!important;background:#fff!important;
    box-shadow:0 2px 8px rgba(36,62,96,.04)!important
  }
  .m47-editor-table tbody td{
    position:static!important;display:grid!important;grid-template-columns:1fr!important;gap:5px!important;
    width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;
    padding:7px 0!important;overflow:visible!important;border:0!important;border-bottom:1px dashed #edf1f6!important;
    background:transparent!important;color:var(--m47-ink)!important;white-space:normal!important;text-align:left!important
  }
  .m47-editor-table tbody td:last-child{border-bottom:0!important}
  .m47-editor-table tbody td::before{content:attr(data-m47-label);display:block;text-align:left;color:#718096;font-size:11px;font-weight:650}
  .m47-editor-table tbody td:empty{display:none!important}
  .m47-editor-table tbody td input:not([type="checkbox"]),
  .m47-editor-table tbody td select,.m47-editor-table tbody td textarea,
  #modal .m47-editor-table tbody td input:not([type="checkbox"]),
  #modal .m47-editor-table tbody td select,#modal .m47-editor-table tbody td textarea{
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;height:44px!important;
    min-height:44px!important;margin:0!important;padding:0 10px!important;border:1px solid #d8e1ec!important;
    border-radius:10px!important;background:#fbfdff!important;font-size:16px!important;text-align:left!important
  }
  .m47-editor-table tbody td button{max-width:100%!important}
  .m47-editor-table tbody td:last-child>.danger-btn,
  .m47-editor-table tbody td:last-child>.mini-btn{width:100%!important;min-height:40px!important}
  .m47-editor-table tfoot{display:block!important;margin-top:10px!important}
  .m47-editor-table tfoot tr{display:grid!important;grid-template-columns:1fr!important;width:100%!important;height:auto!important;padding:10px 12px!important;border-radius:11px!important;background:#edf5ff!important}
  .m47-editor-table tfoot td{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;min-height:28px!important;padding:4px 0!important;border:0!important;background:transparent!important;justify-content:space-between!important;white-space:normal!important;text-align:left!important}

  /* Model + picker is one complete mobile field. */
  .product-model-entry,#modal .m47-editor-table .product-model-entry{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;align-items:center!important;justify-content:stretch!important;gap:7px!important;width:100%!important;min-width:0!important;max-width:100%!important}
  .product-model-entry .os-model,#modal .m47-editor-table .product-model-entry .os-model{width:100%!important;min-width:0!important;max-width:100%!important;height:44px!important;font-size:16px!important}
  .product-model-entry .mini-btn,#modal .m47-editor-table .product-model-entry .mini-btn{width:48px!important;min-width:48px!important;height:44px!important;min-height:44px!important;padding:0!important;font-size:14px!important}
  .issue-main-qty,.return-unit-select,.qty-unit{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:7px!important;width:100%!important;min-width:0!important}
  .issue-main-qty .osi-unit-label{min-width:36px;padding:0 4px;text-align:center;color:#41546a;font-weight:700}

  /* Full-screen searchable product selection, rendered as tap-friendly cards. */
  .purchase-picker-layer{position:fixed!important;inset:0!important;z-index:26000!important;background:#fff!important}
  .purchase-picker-card{display:flex!important;flex-direction:column!important;width:100vw!important;height:100dvh!important;overflow:hidden!important}
  .purchase-picker-title{flex:0 0 auto!important;padding:10px 12px!important}
  .product-picker-head{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;padding:8px 12px!important}
  .product-picker-head input{width:100%!important;height:44px!important;font-size:16px!important}
  .m47-picker-wrap{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding:2px 12px 12px!important}
  .m47-picker-table,.m47-picker-table tbody{display:block!important;width:100%!important;min-width:0!important}
  .m47-picker-table thead{display:none!important}
  .m47-picker-table tbody{display:grid!important;gap:9px!important}
  .m47-picker-table tbody tr{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:5px 9px!important;align-items:center!important;width:100%!important;height:auto!important;min-height:76px!important;padding:10px!important;border:1px solid var(--m47-line)!important;border-radius:12px!important;background:#fff!important}
  .m47-picker-table tbody td{display:block!important;width:auto!important;min-width:0!important;height:auto!important;padding:2px 0!important;border:0!important;background:transparent!important;white-space:normal!important;text-align:left!important}
  .m47-picker-table tbody td:nth-child(1){grid-row:1/3;grid-column:1;width:42px!important;text-align:center!important}
  .m47-picker-table tbody td:nth-child(2){grid-column:2;font-size:14px!important}
  .m47-picker-table tbody td:nth-child(3){grid-column:2;color:#637187}
  .m47-picker-table tbody td:nth-child(4){grid-column:2;color:#8792a2;font-size:11px!important}
  .m47-picker-table tbody td:nth-child(n+2):not(:last-child){grid-column:2!important;min-width:0!important}
  .m47-picker-table tbody td:last-child{grid-row:1/4;grid-column:3}
  .m47-picker-table input[type="checkbox"],.m47-picker-table input[type="radio"]{width:22px!important;height:22px!important}
  .m47-picker-table .mini-btn{height:40px!important;min-height:40px!important;padding:0 11px!important}
  .purchase-picker-card>.modal-actions{position:static!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;flex:0 0 auto!important;gap:8px!important;inset:auto!important;margin:0!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.98)!important;border-top:1px solid var(--m47-line)!important}
  .direct-receipt-layer{position:fixed!important;inset:0!important;z-index:26000!important;display:block!important;padding:0!important;background:#fff!important}
  .direct-receipt-card{display:flex!important;flex-direction:column!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .direct-receipt-card .picker-head{flex:0 0 auto!important;padding:10px 12px!important}.direct-receipt-card .picker-head>div{min-width:0!important}
  .direct-receipt-card .picker-filters{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:10px 12px!important}.direct-receipt-card .picker-filters>*{width:100%!important;min-width:0!important;height:44px!important}
  .direct-receipt-card .picker-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding:2px 12px calc(18px + env(safe-area-inset-bottom))!important}

  /* A document toolbar is two equal actions; no clipped right-side button. */
  #modal .panel-head>div:last-child,.category-manager-head>div:last-child{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:8px!important}
  #modal .panel-head>div:last-child button,.category-manager-head>div:last-child button{width:100%!important;min-width:0!important;min-height:42px!important;padding:7px 8px!important;white-space:normal!important}

  /* The message/workbench page must have tappable rows and visible values. */
  .role-task-list,.role-shortcuts{display:grid!important;gap:8px!important}
  .role-task-list button,.role-shortcuts button,.role-task-item,.role-shortcut-item{width:100%!important;min-width:0!important;min-height:48px!important;pointer-events:auto!important}

  /* Detail-page actions participate in normal document flow. This prevents
     transport buttons from floating over later sections while scrolling. */
  #modal .modal-card:not(.purchase-picker-card) .modal-actions{position:static!important;inset:auto!important;transform:none!important;z-index:auto!important;flex:0 0 auto!important;margin:14px 0 0!important;padding:12px 0 calc(6px + env(safe-area-inset-bottom))!important;background:transparent!important}
  #modal .modal-card:not(.purchase-picker-card) .modal-actions+*{clear:both!important;margin-top:14px!important}

  .dayo-m50-logout{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin-top:14px!important;padding:16px!important}
  .dayo-m50-logout>div{display:grid;gap:4px;min-width:0}.dayo-m50-logout b{font-size:15px}.dayo-m50-logout span{color:#7b8798;font-size:11px;line-height:1.5}
  .dayo-m50-logout button{flex:0 0 auto;min-height:42px;padding:0 18px;border:1px solid #efc8c8;border-radius:10px;background:#fff7f7;color:#c64141;font-weight:700}

  /* Older dashboard feeds are not tables, but must obey the same mobile card
     width rules. */
  .activity-list,.rank-list{width:100%!important;min-width:0!important;min-height:0!important}
  .activity-row{display:grid!important;grid-template-columns:1fr auto!important;gap:5px 10px!important;width:100%!important;min-width:0!important;padding:11px 12px!important}
  .activity-row .activity-date{grid-column:1;font-size:10px!important}.activity-row .activity-person{grid-column:1;min-width:0!important}.activity-row>strong,.activity-row .activity-money{grid-column:2;grid-row:1/3;align-self:center;max-width:120px!important;text-align:right!important;overflow-wrap:anywhere!important}
  .rank-row{display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;width:100%!important;min-width:0!important;padding:11px 12px!important}.rank-row>div{min-width:0!important}.rank-row strong{max-width:120px!important;text-align:right!important;overflow-wrap:anywhere!important}

  #modal [hidden]{display:none!important}
  /* Targeted shipment detail, payment and finance document flow. */
  .shipment-detail-content{display:flex;flex-direction:column;gap:16px;min-width:0;padding-bottom:20px}
  .shipment-detail-content>section{display:block;flex:none;min-width:0}
  .shipment-detail-content h3{position:static!important;margin:0 0 10px!important;line-height:1.5!important;clear:both}
  .shipment-detail-content .m49-detail-list{margin-bottom:0}.shipment-detail-content .m49-detail-row{align-items:start;min-height:44px;height:auto}
  .shipment-detail-content .m49-detail-row>strong{white-space:normal!important;line-height:1.5;overflow-wrap:anywhere}
  #modal .payment-request-wide .payment-request-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px}
  #modal .payment-request-wide .payment-request-amount{display:grid;gap:6px;margin:12px 0;max-width:100%}
  #modal .payment-request-wide .section-line-title{display:flex;flex-wrap:wrap;gap:10px}
  #modal .payment-request-wide .section-line-title>div{min-width:0;max-width:100%}
  #modal .finance-entry-wide .form-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px}
  .transport-filter-grid .searchable-filter-wrap{display:flex;gap:8px;min-width:0}.transport-filter-grid .searchable-filter-wrap>input{flex:1;width:0;min-width:0}.transport-filter-grid .searchable-filter-wrap>button{flex:0 0 64px}
  /* V4.3.8.53 targeted mobile forms: production, payment and transport. */
  .m47-card-table tfoot td::before,.m47-editor-table tfoot td::before{content:attr(data-m47-label);font-size:12px;font-weight:500;color:#64748b;margin-right:8px;white-space:normal}
  .m47-card-table tfoot td:empty,.m47-editor-table tfoot td:empty{display:none!important}
  #modal .payment-request-wide,#modal .outsource-document-wide,#modal .detail-wide{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;border-radius:0!important;overflow-x:hidden!important}
  #modal .payment-request-wide .form-grid,#modal .outsource-document-wide .modal-grid,#modal .outsource-document-wide .return-diff-grid,#modal .shipment-arrival-form,#modal .arrival-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%!important;min-width:0!important}
  #modal .payment-request-wide label,#modal .outsource-document-wide label,#modal .detail-wide label,#modal .shipment-arrival-form label,#modal .arrival-form label{width:100%!important;min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important}
  #modal .payment-request-wide input,#modal .payment-request-wide select,#modal .outsource-document-wide input,#modal .outsource-document-wide select,#modal .shipment-arrival-form input,#modal .arrival-form input{width:100%!important;min-width:0!important;max-width:100%!important;font-size:16px!important}
  #erpInProcess,#erpOutsource,#erpSettlementPaymentOrders,#shipments,#freightPayments{width:100%!important;max-width:100vw!important;overflow-x:hidden!important}
  .wip-unit-lines{display:flex!important;flex-wrap:wrap!important;gap:4px!important}.wip-unit-lines span{max-width:100%!important;white-space:normal!important}
  .m47-card-table tfoot{display:block!important;width:100%!important;margin-top:8px!important}.m47-card-table tfoot tr{display:grid!important;grid-template-columns:1fr!important;width:100%!important;padding:10px!important;border-radius:10px!important;background:#edf5ff!important}.m47-card-table tfoot td{display:flex!important;width:100%!important;min-width:0!important;justify-content:space-between!important;white-space:normal!important}
}
