/* Mobile-only decisions follow app.css tokens; desktop compositions remain intact. */
.arch-mobile-web body{overscroll-behavior-y:contain;padding-bottom:env(safe-area-inset-bottom)}
/* ตารางกว้างกว่าจอเสมอบนมือถือ (.hr-table บังคับ min-width:570px) เดิมคอลัมน์ขวาหายไป
   โดยไม่มีสัญญาณอะไรเลย — เติมเงาที่ขอบด้านที่ยังมีเนื้อหาต่อ และซ่อนขีดเลื่อนของระบบ
   background-attachment:local ทำให้เงาหายเองเมื่อเลื่อนสุดข้างนั้นแล้ว */
.arch-mobile-web .arch-table-scroll{min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  background:
    linear-gradient(90deg,var(--card) 40%,transparent) 0 0/22px 100% no-repeat local,
    linear-gradient(270deg,var(--card) 40%,transparent) 100% 0/22px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,var(--sh-lg),transparent) 0 0/14px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%,var(--sh-lg),transparent) 100% 0/14px 100% no-repeat scroll}
.arch-mobile-web .arch-table-scroll::-webkit-scrollbar{display:none}
.arch-mobile-web .arch-pdf-frame{display:none}
.arch-mobile-web .arch-pdf-open{display:block;margin:var(--sp-4);min-height:44px;color:var(--on-navy);background:var(--navy)}
.arch-session-blocked{position:fixed;inset:0;z-index:2147483647;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);padding:var(--sp-6);background:var(--card);color:var(--ink);text-align:center}
@media(max-width:640px){
  .arch-mobile-web{overflow-x:clip}
  .arch-mobile-web body{min-width:0!important}
  .arch-mobile-web input,.arch-mobile-web select,.arch-mobile-web textarea{font-size:16px!important;max-width:100%;min-width:0}
  .arch-mobile-web button,.arch-mobile-web .btn,.arch-mobile-web .dc-icobtn{min-height:44px}
  .arch-mobile-web .modal,.arch-mobile-web .modal-card,.arch-mobile-web .dc-modal,.arch-mobile-web .d3modal{max-width:calc(100vw - var(--sp-4));max-height:calc(100dvh - var(--sp-4));overflow:auto}
  .arch-mobile-web .modal .row,.arch-mobile-web .modal-card .row{flex-wrap:wrap}
  .arch-mobile-web .st-mcard .fields{grid-template-columns:minmax(0,1fr)}
  .arch-mobile-web .en-stats,.arch-mobile-web .st-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .arch-mobile-web .dc-main,.arch-mobile-web .main,.arch-mobile-web .wrap,.arch-mobile-web .container,.arch-mobile-web .hr-main,.arch-mobile-web .hb-main{min-width:0;max-width:100%}
  .arch-mobile-web .dc-top-nav{flex-shrink:0}
  .arch-mobile-web .arch-table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .arch-mobile-web .toasts,.arch-mobile-web #toasts{max-width:calc(100vw - var(--sp-6));bottom:max(var(--sp-4),env(safe-area-inset-bottom))}
}
