
/* Tahap 47 — stabilisasi mobile pada Portal Opsi B. */
html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0;overflow-x:clip}
header,.container,.panel,.admin-shortcuts,.member-grid,.directory-grid{min-width:0}
input,textarea,select,button{font:inherit}
button,a,input,select,textarea{touch-action:manipulation}
@media(max-width:720px){
 header{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:13px 15px}
 header .brand{line-height:1.3}
 header .main-top-nav{display:flex;gap:8px;flex-wrap:wrap}
 header .main-top-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;border-radius:9px;background:#f0f5f1;font-size:13px}
 .container{margin:12px auto 28px;padding:0 12px;gap:12px;width:100%;box-sizing:border-box}
 .panel{padding:18px 15px;min-width:0;max-width:100%;border-radius:13px}
 .panel h1{font-size:clamp(23px,6vw,30px)}
 .panel h2{font-size:clamp(19px,5vw,24px)}
 .panel p{overflow-wrap:anywhere}
 #authPanel input{font-size:16px;min-height:48px}
 #authPanel label{font-size:15px}
 #authPanel .actions{display:grid;grid-template-columns:1fr;gap:9px}
 #authPanel .actions button{min-height:48px;width:100%}
 #authPanel .login-assistance-grid{display:grid!important;grid-template-columns:1fr!important}
 #authPanel a.login-assistance-btn{min-height:70px!important;width:100%!important}
 .admin-overview-heading{flex-wrap:wrap}
 .admin-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .admin-shortcuts a{padding:12px;min-height:108px}
 .admin-shortcuts strong{font-size:13px;line-height:1.35;overflow-wrap:anywhere}
 .admin-shortcuts small{font-size:11px}
 .directory-card{align-items:flex-start}
 .directory-grid{grid-template-columns:minmax(0,1fr)}
 .tablewrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
 .tablewrap table{min-width:max-content}
 .optionb-toolbar{padding:10px 12px;gap:8px;min-height:52px}
 .optionb-toolbar a{font-size:13px;min-height:44px}
 .optionb-toolbar strong{font-size:13px;max-width:52vw}
 .actions{flex-wrap:wrap}
 .actions>*{max-width:100%}
 .admin-work-panel select,.admin-work-panel input,.admin-work-panel textarea{max-width:100%}
 img{max-width:100%;height:auto}
}
@media(max-width:370px){
 .admin-shortcuts{grid-template-columns:minmax(0,1fr)}
 .admin-shortcuts a{min-height:76px}
 .optionb-toolbar strong{max-width:44vw}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
