/* Mobile layouts preserve all actions and labels, without page-wide scrolling. */
button,input:not([type=checkbox]),select{min-height:44px}
fieldset{min-width:0;border:1px solid #dce4ed;border-radius:8px;margin:18px 0;padding:12px}
fieldset label{display:flex;align-items:center;gap:8px;min-height:44px;margin:6px 0}
input[type=checkbox]{flex:none;width:20px;height:20px}
dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
header,main,.card,.toolbar>*{min-width:0}
header span,td,p,h1,h2,h3{overflow-wrap:anywhere}
@media(max-width:600px){
 nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 nav button{margin:0;font-size:14px;padding:10px 8px}
 .toolbar button{margin:0;width:100%}
 .toolbar{gap:10px}
 .table-wrap{overflow:visible}
 table,tbody,tr,td{display:block;width:100%}
 thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 tbody tr{border:1px solid #dce4ed;border-radius:10px;margin:12px 0;padding:10px}
 td{border:0;padding:8px 0}
 td::before{content:attr(data-label);display:block;color:#607587;font-size:12px;margin-bottom:5px}
 td select{min-width:0}
 td button{max-width:100%}
 dialog{padding:20px}
 .narrow{margin:18px auto}
}
