/* Shared business screens, laid out for touch. Printing retains its paper layout. */
.mobile-menu-button{display:none}
.mobile-modules-page{max-width:1000px;margin:0 auto}
.module-page-heading{margin:0 0 20px}.module-page-heading h1{font-size:28px;letter-spacing:-.04em;line-height:1.3;margin-top:5px}.module-page-heading>p{font-size:13px;color:#777;margin-top:9px;line-height:1.7}
.module-filters{background:#f5f5f5;padding:0 0 10px}
.module-filters input{display:block;width:100%;height:46px;min-width:0;border:1px solid #e3e3e3;border-radius:11px;background:#fff;padding:12px 14px;font-size:16px;outline-offset:2px}
.module-categories{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.btn.module-category{min-height:34px;padding:7px 11px;border:1px solid #e4e4e4;border-radius:8px;background:#fff;color:#777;font-size:12px;line-height:1.4;white-space:nowrap;flex:none}
.btn.module-category.active{background:#252525;border-color:#252525;color:#fff}
.module-result-count{font-size:11px;color:#858585;margin:8px 0 18px}
.module-section{margin:0 0 24px}.module-section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 11px}
.module-section-heading h2{font-size:16px;font-weight:600;line-height:1.4}.module-section-heading>span{font-size:11px;color:#999}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.btn.module-card{display:block;min-width:0;min-height:118px;height:auto;margin:0;padding:14px;text-align:left;white-space:normal;border:1px solid #e5e5e5;border-radius:13px;background:#fff;color:#222}
.module-card-body{display:block;min-width:0}.module-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:11px;border-radius:8px;background:#f2f2f2;color:#444}
.module-icon svg{width:20px!important;height:20px!important}
.module-card strong{display:block;font-size:14px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.module-card small{display:block;font-size:11px;color:#888;margin-top:5px;line-height:1.5;overflow-wrap:anywhere}
.module-empty{padding:50px 12px;text-align:center}.module-empty h2{font-size:17px}.module-empty p{font-size:13px;color:#888;margin:12px 0 22px}
@media screen{
 body.mobile-layout{font-size:15px;background:#f5f5f5}
 .mobile-layout .app-shell{display:flex;height:100dvh;min-height:0;overflow:hidden}
 .mobile-layout .sidebar{display:none}
 .mobile-layout .main{min-width:0;overflow:hidden}
 .mobile-layout .topbar{flex:0 0 auto;min-height:58px;height:auto;padding:8px 16px;gap:8px;background:#fff;flex-wrap:wrap}
 .mobile-layout .breadcrumb{font-size:12px;letter-spacing:.06em;gap:7px;min-width:0}
 .mobile-layout .breadcrumb>span:last-child{font-size:12px;letter-spacing:0}
 .mobile-layout[data-demo=true] .breadcrumb::after{content:'试用';font-size:10px;letter-spacing:0;padding:2px 5px;border-radius:4px;background:#eee;color:#666}
 .mobile-layout .top-actions{gap:2px;flex-wrap:wrap;margin-left:auto}
 .mobile-layout .top-actions #today,.mobile-layout .top-actions #data-mode,.mobile-layout .avatar,.mobile-layout .quick-find-button{display:none}
 .mobile-layout .mobile-menu-button{display:inline-flex}
 .mobile-layout .top-actions .btn{min-height:44px;font-size:12px;padding:8px}
 .mobile-layout .pending-recovery{background:#fff1d3!important;border:1px solid #cfaa64!important;color:#6e501e!important;white-space:normal}
 .mobile-layout #content{flex:1;overflow:auto;overscroll-behavior:contain;padding:22px 16px 28px;min-width:0;-webkit-overflow-scrolling:touch}
 .mobile-layout .page{min-width:0}
 .mobile-layout .page-head{display:block;margin-bottom:20px}
 .mobile-layout .page-head h1{font-size:28px;letter-spacing:-.04em;line-height:1.25}
 .mobile-layout .eyebrow{font-size:10px;letter-spacing:.12em}
 .mobile-layout .page-head p{font-size:13px;line-height:1.7;margin-top:8px}
 .mobile-layout .page-head>.page-actions{margin-top:16px;justify-content:flex-start;gap:8px}
 .mobile-layout .page-actions{flex-wrap:wrap;gap:8px;max-width:100%;justify-content:flex-start}
 .mobile-layout .btn{min-height:44px;font-size:13px;padding:10px 13px;border-radius:9px;white-space:normal}
 .mobile-layout .btn.small{min-height:40px;padding:9px 12px;font-size:12px}
 .mobile-layout .panel-head .btn{min-height:40px;font-size:12px}
 .mobile-layout .hero-panel{background:#232323;border:0;border-radius:17px;padding:24px;min-height:220px}
 .mobile-layout .hero-copy{max-width:100%;width:100%}
 .mobile-layout .hero-copy h2{color:#fff;font-size:27px;max-width:250px;line-height:1.3}
 .mobile-layout .hero-copy .eyebrow{color:#b3b3b3;font-size:9px}
 .mobile-layout .hero-copy p{color:#ccc;font-size:12px;max-width:85%}
 .mobile-layout .hero-mark{width:180px;height:180px;right:-36px;filter:invert(1);opacity:.15}
 .mobile-layout .hero-actions{gap:8px;margin-top:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .mobile-layout .hero-actions .btn{min-width:0;font-size:12px;padding:11px 5px;background:#fff;color:#222;border-color:#fff}
 .mobile-layout .hero-actions .btn.primary{background:#ddd;border-color:#ddd}
 .mobile-layout .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
 .mobile-layout .stat-card{padding:17px 14px;min-height:130px;border-radius:13px}
 .mobile-layout .stat-label{font-size:12px;line-height:1.4}
 .mobile-layout .stat-value{font-size:25px;overflow-wrap:anywhere;letter-spacing:-.04em;margin-top:12px}
 .mobile-layout .stat-note{font-size:10px;line-height:1.6}
 .mobile-layout .dashboard-grid,.mobile-layout .settings-grid,.mobile-layout .transfer-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .mobile-layout .panel{border-radius:13px}.mobile-layout .panel+.panel{margin-top:16px}
 .mobile-layout .panel-head{min-height:58px;padding:12px 15px;gap:8px;flex-wrap:wrap}
 .mobile-layout .panel-head h2{font-size:15px}.mobile-layout .panel-body{padding:16px}
 .mobile-layout .panel-body>p{font-size:13px}.mobile-layout .panel-body>div{max-width:100%}
 .mobile-layout .toolbar,.mobile-layout .filters{gap:8px;min-width:0;align-items:stretch}
 .mobile-layout .toolbar-search{min-width:0;width:100%;flex-wrap:wrap}
 .mobile-layout .search-input,.mobile-layout .select{min-height:44px;font-size:16px;min-width:0;max-width:100%;border-radius:9px}
 .mobile-layout .toolbar .select,.mobile-layout .filters .select{flex:1 1 42%}
 .mobile-layout .segmented{display:flex;width:100%;min-width:0;overflow-x:auto;border-radius:10px}
 .mobile-layout .seg{min-height:38px;flex:1;padding:8px 12px;font-size:13px;white-space:nowrap}
 .mobile-layout .tabs{gap:22px;margin-bottom:16px}.mobile-layout .tab{min-height:48px;font-size:14px}
 .mobile-layout .table-wrap{overflow:visible;min-width:0}
 .mobile-layout table.mobile-card-table{display:block;min-width:0;width:100%}
 .mobile-layout .mobile-card-table thead{display:block;background:none}
 .mobile-layout .mobile-card-table thead tr{display:block}
 .mobile-layout .mobile-card-table th{display:none}
 .mobile-layout .mobile-card-table th:has(input){display:flex;align-items:center;gap:8px;padding:12px 16px;height:auto;font-size:12px}
 .mobile-layout .mobile-card-table th:has(input)::after{content:'选择本页全部'}
 .mobile-layout .mobile-card-table tbody{display:block}
 .mobile-layout .mobile-card-table tbody>tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px;padding:18px 16px;border-bottom:1px solid #e5e5e5;background:#fff}
 .mobile-layout .mobile-card-table tbody>tr:last-child{border-bottom:0}
 .mobile-layout .mobile-card-table td{display:block;min-width:0;height:auto;padding:0;border:0;font-size:14px;line-height:1.55;white-space:normal;overflow-wrap:anywhere}
 .mobile-layout .mobile-card-table td::before{content:attr(data-label);display:block;font-size:11px;color:#8a8a8a;margin-bottom:4px;line-height:1.45}
 .mobile-layout .mobile-card-table td:first-child,.mobile-layout .mobile-card-table td:has(.product-cell),.mobile-layout .mobile-card-table td:has(.btn),.mobile-layout .mobile-card-table td:has(textarea){grid-column:1/-1}
 .mobile-layout .mobile-card-table td:has(.row-actions)::before{margin-bottom:8px}
 .mobile-layout .mobile-card-table td .btn+.btn{margin-left:0}
 .mobile-layout .mobile-card-table td small{display:block;white-space:normal;overflow-wrap:anywhere}
 .mobile-layout .row-actions{flex-wrap:wrap;gap:8px}
 .mobile-layout .product-cell{min-width:0;align-items:center}.mobile-layout .product-glyph{width:50px;height:61px;border-radius:7px}
 .mobile-layout .product-name{font-size:15px}.mobile-layout .product-meta{font-size:12px}
 .mobile-layout .product-photo{width:100%;height:100%;padding:0;object-fit:cover}
 .mobile-layout .pagination{padding:14px 16px;font-size:12px}.mobile-layout .pagination .btn{min-height:42px;font-size:12px}
 .mobile-layout .notice,.mobile-layout .inline-error,.mobile-layout .workflow-info{font-size:12px;line-height:1.75;overflow-wrap:anywhere}
 .mobile-layout .summary-line{gap:14px;flex-wrap:wrap;font-size:12px;line-height:1.7}
 .mobile-layout .badge{white-space:normal;font-size:11px;border-radius:5px}
 .mobile-layout .rank-info,.mobile-layout .rank-value{font-size:13px}.mobile-layout .rank-info .muted{font-size:11px}
 .mobile-layout .btn.task-row{font-size:13px;padding:14px 12px}.mobile-layout .task-row>span{flex-wrap:wrap}
 .mobile-layout .form-grid,.mobile-layout .detail-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .mobile-layout .form-grid>.span-2,.mobile-layout .detail-grid>.span-2{grid-column:1/-1}
 .mobile-layout .field>span,.mobile-layout .field>label{font-size:13px}
 .mobile-layout .field input,.mobile-layout .field select,.mobile-layout .field textarea,.mobile-layout textarea{min-width:0;max-width:100%;font-size:16px;min-height:46px;border-radius:8px}
 .mobile-layout input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:#252525}
 .mobile-layout .field small,.mobile-layout .help-list{font-size:12px;line-height:1.75}
 .mobile-layout .matrix-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mobile-layout .matrix-cell{min-height:54px;font-size:13px}
 .mobile-layout .line-row,.mobile-layout .cart-lines .line-row,.mobile-layout .cart-lines .line-row:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr));padding:15px;gap:12px}
 .mobile-layout .line-row>:first-child{grid-column:1/-1}.mobile-layout .line-row>.btn{justify-self:start}
 .mobile-layout .line-row .field input{width:100%;font-size:16px}.mobile-layout .line-row .field>span{font-size:12px}
 .mobile-layout .picker-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
 .mobile-layout .picker-option{padding:12px!important}.mobile-layout .shopfloor-picker-item{flex-wrap:wrap;gap:8px}
 .mobile-layout .picker-results .product-glyph{width:40px;height:48px}
 .mobile-layout .scan-status,.mobile-layout .scan-failure{font-size:12px}
 .mobile-layout dialog,.mobile-layout #dialog{width:100%;max-width:100%;height:auto;max-height:96dvh;max-height:calc(100dvh - 12px);margin:auto 0 0;border:0;border-radius:20px 20px 0 0}
 .mobile-layout .dialog-head{padding:19px 18px 15px;gap:12px;flex-shrink:0}
 .mobile-layout .dialog-head h2{font-size:20px}.mobile-layout .dialog-head p{font-size:12px}
 .mobile-layout .dialog-head>.btn{min-width:44px;min-height:44px;font-size:22px}
 .mobile-layout .dialog-body{padding:18px;overflow:auto;overscroll-behavior:contain;min-height:0}
 .mobile-layout .dialog-actions,.mobile-layout .dialog-body form>.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:16px 0 6px;position:static}
 .mobile-layout .dialog-actions .btn{flex:1;min-height:48px}
 .mobile-layout .preset-panel{position:relative;max-width:100%;margin-top:8px}.mobile-layout .preset-option strong{font-size:14px}
 .mobile-layout .preset-menu{max-width:100%}
 .mobile-layout .metrics-row{gap:10px}.mobile-layout .metrics-row strong{font-size:20px}.mobile-layout .metrics-row>div+div{padding-left:10px}
 .mobile-layout .studio-grid,.mobile-layout .photo-upload-layout{grid-template-columns:minmax(0,1fr)}
 .mobile-layout .photo-upload-preview{max-width:100%;height:180px}.mobile-layout .photo-upload-controls input{width:100%;font-size:14px}
 .mobile-layout .studio-photo{max-width:100%}.mobile-layout .content-grid{grid-template-columns:minmax(0,1fr)}
 .mobile-layout .label-grid{grid-template-columns:minmax(0,1fr)}
 .mobile-layout .toast-container{left:16px;right:16px;bottom:20px;max-width:none;width:auto}
 .mobile-layout .toast{font-size:13px;line-height:1.65;padding:14px 16px;border-radius:12px}
 .mobile-layout .empty-state{min-height:220px;padding:30px 20px}.mobile-layout .empty-state h3{font-size:17px}.mobile-layout .empty-state p{font-size:13px}
 .mobile-layout .module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .mobile-layout .btn.module-card{padding:14px;min-height:118px;font-size:14px}
 .mobile-layout .btn.module-category{min-height:34px;padding:7px 11px;font-size:12px}
 .mobile-layout[data-route=modules] .mobile-menu-button{display:none}

}
@media screen and (min-width:800px){.mobile-layout .module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-layout .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-layout .stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
