.app-shell{height:100vh;display:grid;grid-template-columns:var(--side) 1fr;overflow:hidden}.sidebar{background:#111827;color:white;overflow:auto;padding:16px 12px}.brand-box{display:flex;align-items:center;gap:10px;padding:10px 10px 18px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:10px}.brand-logo{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#ff725e,#9b1c14);display:grid;place-items:center;font-weight:900}.brand-name{font-size:18px;font-weight:900}.brand-sub{font-size:12px;color:#cbd5e1;margin-top:3px}.menu-group{margin:5px 0}.menu-main{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border:0;border-radius:12px;background:transparent;color:#e5e7eb;text-align:left;font-weight:800}.menu-main:hover,.menu-main.active{background:rgba(255,255,255,.10);color:#fff}.menu-arrow{transition:.2s}.menu-group.open .menu-arrow{transform:rotate(90deg)}.submenu{display:none;margin:4px 0 8px 10px;border-left:1px solid rgba(255,255,255,.14);padding-left:8px}.menu-group.open .submenu{display:block}.submenu button{width:100%;border:0;border-radius:10px;background:transparent;color:#cbd5e1;text-align:left;padding:9px 10px;margin:2px 0}.submenu button:hover,.submenu button.active{background:rgba(214,59,46,.95);color:white}.main-area{min-width:0;overflow:hidden;display:flex;flex-direction:column}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;gap:15px}.topbar h1{font-size:22px;margin:0 0 5px;font-weight:950}.breadcrumb{font-size:13px;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:12px}.now-text{font-weight:800;color:#374151}.save-status{border-radius:999px;padding:7px 12px;font-weight:900;font-size:13px}.save-status.saved{background:#ecfdf5;color:#15803d}.save-status.saving{background:#fffbeb;color:#b45309}.save-status.error{background:#fef2f2;color:#dc2626}.content{flex:1;overflow:auto;padding:22px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.page-head h2{font-size:24px;margin:0;font-weight:950}.page-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--side);z-index:20;transform:translateX(-100%);transition:.25s}.sidebar.show{transform:translateX(0)}.topbar{height:auto;min-height:76px;padding:12px}.content{padding:14px}.topbar-right{flex-wrap:wrap;justify-content:flex-end}.topbar:before{content:'☰';font-size:26px;font-weight:900;margin-right:8px}.topbar{justify-content:flex-start}.topbar>div:first-child{flex:1}}

/* v28 手机端导航优化：隐藏原来的顶部白色页面头部，改用轻量浮动按钮 */
.mobile-nav-tools{display:none}
.mobile-sidebar-close{display:none}
@media(max-width:900px){
  :root{--side:240px}
  .app-shell{display:block;height:100vh;overflow:hidden}
  .main-area{height:100vh;display:block;overflow:hidden}
  .topbar{display:none!important}
  .content{height:100vh;overflow:auto;padding:58px 12px 14px!important}
  .mobile-nav-tools{position:fixed;left:10px;top:10px;z-index:35;display:flex;align-items:center;gap:8px;pointer-events:auto}
  .mobile-nav-tools button{border:1px solid rgba(226,232,240,.95);background:rgba(255,255,255,.92);backdrop-filter:blur(10px);color:#111827;border-radius:999px;padding:8px 12px;font-size:14px;font-weight:950;box-shadow:0 8px 22px rgba(15,23,42,.12)}
  .mobile-nav-tools button:active{transform:scale(.98)}
  .sidebar{width:var(--side)!important;max-width:72vw;padding:10px 8px 18px!important;box-shadow:16px 0 38px rgba(15,23,42,.28)}
  .sidebar.show:after{content:'';position:fixed;left:100%;top:0;bottom:0;width:100vw;background:rgba(15,23,42,.28)}
  .mobile-sidebar-close{display:block;width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:10px 12px;margin:0 0 10px;font-size:15px;font-weight:950;text-align:center}
  .brand-box{padding:8px 8px 14px;margin-bottom:8px;gap:9px}
  .brand-logo{width:38px;height:38px;border-radius:13px}
  .brand-name{font-size:17px}.brand-sub{font-size:11px}
  .menu-main{padding:10px 10px;border-radius:12px;font-size:17px;min-height:44px}.menu-main span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
  .submenu{margin-left:8px;padding-left:7px}.submenu button{padding:9px 10px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .page-head{margin-top:0}.page-head h2{font-size:28px;line-height:1.15;word-break:keep-all}.breadcrumb{display:none}
  body.supplier-public-mode .mobile-nav-tools{display:none!important}
  body.supplier-public-mode .content{padding:0!important;height:auto;overflow:visible}
}
@media(max-width:430px){
  :root{--side:225px}
  .sidebar{max-width:68vw}.menu-main span:first-child{max-width:158px}.submenu button{font-size:15px}
}

/* v31 手机端：返回键固定到左下角，避免顶部误触 */
@media(max-width:900px){
  .mobile-nav-tools{left:10px;top:10px;right:auto;bottom:auto;gap:8px;}
  #mobileBackBtn{position:fixed;left:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));top:auto;z-index:36;padding:10px 15px!important;box-shadow:0 12px 30px rgba(15,23,42,.20)!important;}
  body.supplier-public-mode #mobileBackBtn{display:none!important;}
}

/* v32 手机返回按钮加大并上移 */
@media(max-width:900px){
  #mobileBackBtn{
    left:14px!important;
    bottom:calc(58px + env(safe-area-inset-bottom,0px))!important;
    min-width:76px!important;
    min-height:50px!important;
    padding:13px 18px!important;
    font-size:17px!important;
    border-radius:18px!important;
  }
}
