/* SHINI v4.2.9 interaction and device-layout hardening */
#nav button,.mobile-dock button,.top-actions button,.v42-import-card button,.v42-file{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#nav button{position:relative;z-index:2;pointer-events:auto;min-height:46px}
.sidebar{isolation:isolate}.sidebar.open{pointer-events:auto}.nav{position:relative;z-index:2;-webkit-overflow-scrolling:touch}
.nav-backdrop{touch-action:none}
.v429-health{white-space:nowrap;font-size:.76rem;min-height:42px}
.checkline{display:flex;align-items:center;gap:10px;color:var(--text2);margin:10px 0}.checkline input{width:auto;min-height:0}
@media(max-width:820px){
 .sidebar{padding-left:env(safe-area-inset-left);padding-bottom:env(safe-area-inset-bottom);pointer-events:none}
 .sidebar.open{pointer-events:auto}
 .nav-backdrop{pointer-events:auto}
 .main{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 .top-actions{flex-wrap:wrap;justify-content:flex-end;max-width:58vw}
 .top-actions button{min-width:44px;min-height:44px}
 .v429-health{display:none}
 .table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
}
@media(max-width:520px){
 .topbar{gap:8px}.topbar h1{font-size:1.18rem}.top-actions{gap:5px;max-width:62vw}
 #shiniRefreshBtn{padding-inline:9px;font-size:.75rem}
 #shiniTopLockBtn{display:grid}
 .mobile-dock{height:calc(66px + env(safe-area-inset-bottom))}
 .button-row>button,.button-row>.secondary,.button-row>.primary,.button-row>.danger,.button-row>.v42-file{flex:1 1 auto;min-height:44px}
}
@media(orientation:landscape) and (max-height:520px) and (max-width:1000px){
 .sidebar{width:min(68vw,360px)}.sidebar-brand{padding:10px 14px}.brand-logo{width:38px;height:42px}.nav button{min-height:40px;padding:8px 11px}
 .topbar{min-height:60px}.analysis-bar{top:60px}.mobile-dock{height:58px}.main{padding-bottom:70px}
}
@media(pointer:coarse){button,.v42-file{min-height:44px}select,input,textarea{min-height:44px}}
