/* Adaptive layouts and accessible touch controls. Desktop composition is preserved. */
@media(max-width:1024px){
 *,*::before,*::after{box-sizing:border-box}
 img,video,canvas,iframe{max-width:100%}
 input,select,textarea{min-width:0;font-size:16px!important}
 button,a,input,select,textarea{touch-action:manipulation}
 h1,h2,h3,p{overflow-wrap:break-word}
}
@media(pointer:coarse){button,[role=button],input,select{min-height:44px}}

@media(max-width:900px){
 .shell{flex-direction:column!important;min-height:100dvh}
 .sidebar{width:100%!important;flex-direction:row!important;flex-wrap:wrap;padding:12px 16px!important;border-bottom:1px solid var(--border);gap:6px!important}
 .sidebar .navbtn{flex:1 1 auto;min-height:44px;text-align:center;padding:10px 12px}
 .content{width:100%;max-width:100%;padding:24px 18px 40px!important}
 .nav{padding:12px 16px!important;gap:12px!important}
 .nav>.seg{flex-wrap:wrap!important;overflow:visible!important;border-radius:18px;width:100%}
 .nav .seg-opt{flex:1 0 auto;justify-content:center;min-height:44px;padding:8px 12px}
 .audit-layout{grid-template-columns:minmax(0,1fr)!important}
 .audit-main,.audit-rail,.card,.detailcard{min-width:0;max-width:100%}
 .table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .table td,.table th{min-width:110px}
 .stickybar{flex-wrap:wrap;padding-bottom:max(14px,env(safe-area-inset-bottom))}
 .cs-topbar{flex-wrap:wrap}
}
@media(max-width:600px){
 .content [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
 .content h1{font-size:clamp(28px,8vw,38px)!important;max-width:100%!important}
 .content .searchrow,.content .pagehead,.sigrow{flex-wrap:wrap;gap:12px}
 .seg{max-width:100%;flex-wrap:wrap}
 .seg-opt{min-height:44px}
 .demoband{padding:10px 16px!important}
 .cs-topbar{padding-inline:16px!important;gap:8px}
 .cs-back{min-width:0!important;padding-inline:12px!important}
 .cs-switcher button{min-width:40px!important}
 .cs-stmt{font-size:clamp(28px,8vw,38px)!important}
}
@media(max-width:900px){
 .sidebar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .sidebar .navbtn{width:100%;min-width:0;font-size:14px}
 .nav>.seg{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))}
 .nav>.seg .seg-opt{min-width:0;text-align:center;white-space:normal;font-size:13px}
}

.mobile-back-top{display:none}
@media(max-width:600px){.mobile-back-top:not([hidden]){position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:45;display:flex;flex-direction:column;align-items:center;justify-content:center;width:60px;height:60px;border:0;border-radius:50%;background:#ff8a1f;color:#fff;box-shadow:0 4px 18px #0002;font:800 10px/1.2 Arial,sans-serif;gap:2px;cursor:pointer}}
