/* HUB 全页 H5 自适应：公共壳、登录、表单、列表、弹窗与操作区。 */
html { -webkit-text-size-adjust:100%; }
img,svg,video,canvas { max-width:100%; }
.table-scroll,.table-wrap,.ov-wrap { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }

@media (max-width:760px) {
    body.admin-body { min-width:0; height:auto; min-height:100dvh; overflow:auto; }
    .admin-menu-bar { position:sticky; top:0; display:grid; grid-template-columns:auto auto minmax(0,1fr); min-height:52px; padding:6px 8px; gap:6px; }
    .admin-mobile-menu-toggle { display:inline-flex; min-height:40px; padding:0 9px; border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.08); color:#fff; }
    .admin-menu-brand { height:40px; min-width:40px; }
    .admin-menu-brand > span:last-child { display:none; }
    .admin-menu-primary { display:none; position:fixed; z-index:410; top:52px; left:8px; width:190px; height:auto; max-height:calc(100dvh - 64px); padding:7px; overflow-y:auto; flex-direction:column; align-items:stretch; gap:4px; border:1px solid #405466; border-radius:10px; background:#263747; box-shadow:0 14px 36px rgba(0,0,0,.34); }
    .admin-menu-primary.mobile-open { display:flex; }
    .admin-menu-primary-btn { width:100%; flex:0 0 auto; min-height:36px; padding:0 10px; justify-content:flex-start; }
    .admin-menu-account { min-width:0; height:40px; justify-content:flex-end; overflow:visible; }
    .admin-menu-account #adminWho { display:none; }
    .admin-menu-account-btn { flex:0 0 auto; min-height:36px; padding:0 8px; }
    .admin-menu-account .skin-tray { order:-1; }
    .skin-picker-toggle { min-height:36px; padding:4px 8px; }
    .skin-picker-menu { position:fixed; top:52px; right:8px; width:166px; max-height:calc(100dvh - 64px); overflow-y:auto; }
    .skin-chip { min-height:22px; }
    .admin-menu-bar .menu-pane,html[data-skin] .admin-menu-bar .menu-pane { position:fixed; left:8px!important; right:8px; top:52px; width:auto; max-height:calc(100dvh - 64px); }
    .admin-menu-bar .menu-nav { max-height:calc(100dvh - 132px); }
    .wrap { width:100%; height:auto; min-height:calc(100dvh - 52px); overflow:visible; }
    header.top { min-height:auto; padding:12px; }
    .top-left { width:100%; display:block; }
    .breadcrumb { margin-bottom:5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .page-title-line { display:flex; gap:7px; align-items:center; }
    header.top h1 { min-width:0; font-size:17px; overflow-wrap:anywhere; }
    main.page { overflow:visible; padding:10px; }
    main.page > * { max-width:100%; }
    .zone { margin-bottom:12px; border-radius:var(--radius-lg); }
    .zone-head { display:block; padding:13px 14px; }
    .zone-head .tools { margin-top:10px; width:100%; }
    .zone-head .tools > * { flex:1 1 120px; }
    .zone-body { padding:14px; }
    .fields-3,.fields-2,.field-row,.grid-2,.grid-3,.form-grid { grid-template-columns:minmax(0,1fr)!important; gap:12px!important; }
    .field-stack .field,.field-stack > label { margin-bottom:12px; }
    input,select,textarea,button,.btn { max-width:100%; }
    input[type="text"],input[type="number"],input[type="password"],input[type="email"],input[type="search"],input[type="url"],select { min-height:36px; font-size:14px; }
    textarea { min-height:88px; font-size:14px; }
    button,.btn { min-height:34px; touch-action:manipulation; }
    .tools,.actions,.field-actions,.ops-inline,.list-tools,.type-tabs { gap:8px; }
    .tools > button,.tools > .btn,.actions > button,.actions > .btn,.field-actions > button,.field-actions > .btn { flex:1 1 120px; }
    table { min-width:680px; }
    .zone-body,.zone-body.pad-table { overflow-x:auto; -webkit-overflow-scrolling:touch; }
    table th,table td { padding:10px!important; white-space:nowrap; }
    .cards { grid-template-columns:minmax(0,1fr)!important; gap:12px; }
    a.card,.card-link { min-height:88px; padding:16px; }
    .modal-root { padding:10px; align-items:flex-end; }
    .modal { width:100%; max-height:92dvh; border-radius:var(--modal-radius) var(--modal-radius) 0 0; }
    .modal-bd { padding:16px; overflow:auto; }
    .modal-ft { padding:10px 14px max(10px,env(safe-area-inset-bottom)); flex-wrap:wrap; }
    .modal-ft button { flex:1 1 110px; }
    body.login-body { display:block; min-height:100dvh; background:var(--page-pattern),var(--bg); }
    .login-aside { min-height:auto; padding:22px 18px 16px; }
    .login-aside h1 { font-size:20px; }
    .login-aside p { max-width:none; }
    .login-aside .foot { display:none; }
    .login-main { min-height:0; padding:18px 12px max(22px,env(safe-area-inset-bottom)); background:transparent; }
    .login-box { width:100%; max-width:430px; padding:20px 16px; }
    .login-skin-tray { top:10px; right:10px; margin:0; }
    .login-skin-tray .skin-picker-menu { position:absolute; top:calc(100% + 6px); right:0; }
}

@media (max-width:390px) {
    .admin-menu-account-btn { font-size:11px; padding:0 7px; }
    .skin-chip-swatch { width:10px; height:10px; flex-basis:10px; }
    .page-title-line .badge { display:none; }
}

@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
