/* Responsive presentation only: order, wallet and upload APIs stay unchanged. */
[hidden]{display:none!important}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif}
.layui-btn.layui-btn-primary{background:#fff;color:#325b86;border:1px solid #cbdbea}
.layui-btn.layui-btn-danger{background:#fff2ef;color:#a23b2a;border:1px solid #ecc7bd}
#intake-mall button:not(.layui-btn),#mall-root button:not(.layui-btn){border:1px solid #c9d8e8;background:#f7faff;color:#26496f;box-shadow:none}
#intake-mall button:disabled,#mall-root button:disabled{background:#edf1f6!important;color:#8190a2!important;border-color:#dce4ee!important;opacity:1;cursor:not-allowed}
.mobile-bottom-nav,.mobile-nav-head,.mobile-nav-account{display:none}
.mobile-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.mall-guide{padding:12px 14px;border:1px solid #e3eaf3;border-radius:10px;background:#f8faff;color:#526278}
.mall-guide summary{cursor:pointer;font-size:14px;font-weight:600;min-height:24px;line-height:24px}
.mall-guide p{margin:10px 0 0}
#intake-mall{min-width:0;display:grid;gap:18px}
#intake-mall>.content-card{min-width:0;border-radius:12px}
#intake-mall .section-title{display:flex;align-items:center;gap:8px;font-size:16px}
#intake-mall .section-body{min-width:0}
#intake-mall .mall-form label{min-width:0}
#intake-run-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#intake-run-form>.help-text,#intake-run-form>.mall-guide,#intake-quote,#intake-preview-panel,#intake-run-submit{grid-column:1/-1}
#intake-run-form .mall-check{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:44px}
#intake-run-form .mall-check input{margin:0;align-self:auto;flex:none;width:20px;height:20px}
#intake-run-form .avatar-option{grid-column:1/-1;padding:12px 14px;border:1px solid #d7e5f4;border-radius:9px;background:#f3f8ff;color:#214e7c}
#intake-run-submit{min-height:48px;height:auto;line-height:1.6;white-space:normal}
#intake-preview-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}
#intake-preview-list>label{padding:12px;background:#f5f8ff;border:1px solid #e1e9f5;border-radius:9px}
#intake-quote{margin:0;padding:12px 14px;border-radius:9px;background:#eef5ff;color:#204d81}
#intake-order-list{display:grid;gap:14px}
.intake-order-card{display:block;margin:0;padding:16px;border:1px solid #e1e8f1;border-radius:11px;background:#fff}
.intake-order-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.intake-order-product{font-size:15px;font-weight:600;line-height:1.6;min-width:0;overflow-wrap:anywhere}
.intake-order-status{font-size:12px;line-height:1.6;padding:4px 9px;border-radius:7px;background:#edf4ff;color:#275b96;flex:none;max-width:45%;text-align:center}
.intake-order-status[data-status="ABNORMAL"],.intake-order-status[data-status="STOPPED"]{background:#fff0ec;color:#a3452c}
.intake-order-status[data-status="COMPLETED"]{background:#eaf7ef;color:#246b45}
.intake-order-id{font-size:12px;color:#7b8797;margin-top:8px;overflow-wrap:anywhere}
.intake-order-stats{display:flex;gap:12px;justify-content:space-between;padding:12px 0;color:#4c5d72;line-height:1.6}
.intake-order-total{font-weight:700;color:#16385e}
.intake-order-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:4px}
.intake-order-actions button{min-height:42px;margin:0!important}
.intake-order-refund-note{padding:8px 0;font-size:13px;color:#7c4f1a;overflow-wrap:anywhere}
#intake-order-summary,#intake-runs-list p{line-height:1.85;overflow-wrap:anywhere}
#intake-runs-list>.content-card{padding:14px;margin-top:12px;border-radius:10px}
.intake-time-editor{padding:12px;margin-top:10px;background:#f5f8ff;border-radius:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.intake-time-editor[hidden]{display:none!important}.intake-time-editor p{flex-basis:100%}.intake-time-editor input{min-width:0;max-width:100%;padding:10px;border:1px solid #d8dfe6;border-radius:6px}
.intake-record{overflow-wrap:anywhere}.intake-record:focus-visible{outline:3px solid #2f8df3;outline-offset:2px}
@media(max-width:960px){
 html{scroll-padding-top:82px}
 body.layui-layout-body{height:auto;min-height:100vh;overflow-x:clip;overflow-y:auto;-webkit-text-size-adjust:100%}
 .layui-layout-admin .layui-header{position:sticky!important;top:0;height:auto!important;min-height:64px;padding:max(8px,env(safe-area-inset-top)) 12px 8px!important;display:flex;align-items:center;gap:10px;z-index:990;background:#fff;border-bottom:1px solid #e6edf5}
 .layui-layout-admin .layui-logo{position:static!important;order:1;flex:1;min-width:0;width:auto;height:auto;line-height:1.5;max-width:none;background:none;box-shadow:none;color:#153552;font-size:17px;letter-spacing:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .app-header,.header-left{display:contents}
 .header-icon,.breadcrumb{display:none!important}
 .mobile-menu-btn{display:inline-flex;order:0;flex:0 0 44px;width:44px;height:44px;border-radius:10px;font-size:13px;font-weight:600}
 .mobile-menu-btn .layui-icon{display:none}
 .app-user{order:2;width:auto;display:flex;gap:0;flex-wrap:nowrap}
 .app-user .role-badge,.app-user .user-name{display:none}
 .logout-btn{height:44px;padding:0 10px;font-size:13px;white-space:nowrap}
 .layui-layout-admin .layui-body{position:static!important;inset:auto!important;width:auto;min-width:0;padding:14px 12px calc(88px + env(safe-area-inset-bottom));overflow:visible;min-height:calc(100vh - 64px)}
 .layui-layout-admin .layui-side{position:fixed;inset:0 auto 0 0;top:0!important;width:min(84vw,288px);height:100vh;height:100dvh;z-index:1002;visibility:hidden;transform:translateX(-104%);transition:transform .2s ease}
 .layui-side .layui-side-scroll{width:100%;height:100%;overflow-y:auto;overscroll-behavior:contain;padding-top:env(safe-area-inset-top)}
 .layui-side .layui-nav-tree{width:100%;padding-bottom:calc(28px + env(safe-area-inset-bottom))}
 body.mobile-nav-open{overflow:hidden!important}
 body.mobile-nav-open .layui-side{visibility:visible;transform:translateX(0);box-shadow:12px 0 36px #05182d40}
 .mobile-mask{z-index:1001;background:#07192f88;touch-action:none}
 .mobile-nav-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;color:white;font-size:16px;font-weight:600}
 .mobile-nav-close{height:44px;width:44px;border:1px solid #ffffff38;border-radius:10px;background:#ffffff0f;color:white;font-size:26px;cursor:pointer}
 .mobile-nav-account{display:flex;flex-direction:column;gap:6px;padding:2px 22px 18px;border-bottom:1px solid #ffffff19;color:#edf4fc;overflow-wrap:anywhere}
 .mobile-nav-account span{color:#adc2d9;font-size:13px}
 .top-tabs{display:none}
 .app-shell{min-width:0}.metric-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{min-width:0;padding:14px}.metric-value{font-size:25px;overflow-wrap:anywhere}
 .content-card{min-width:0;max-width:100%;border-radius:12px}.section-title{padding:16px;font-size:16px}.section-body{min-width:0;padding:16px;overflow-x:auto}
 .help-text{font-size:13px;line-height:1.85}.summary-box{overflow-wrap:anywhere}
 .layui-btn,.mall-actions button,.mall-form button,.mall-row button,#intake-mall button{height:auto;min-height:44px;max-width:100%;padding:10px 12px;line-height:1.55;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box;touch-action:manipulation}
 .layui-btn+.layui-btn{margin-left:0}
 .layui-input,.layui-textarea,.layui-select,.mall-form input,.mall-form select,.intake-link-row input,.intake-time-editor input{max-width:100%;min-width:0;font-size:16px!important;min-height:44px}
 .layui-input-inline{max-width:100%;margin-right:0}.layui-input-block{min-width:0}.layui-form-label{line-height:1.6}
 .mall-form{gap:12px;min-width:0}.mall-form label{min-width:0}.mall-actions{gap:8px}.mall-actions button{flex:1 1 140px}
 #intake-run-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 #intake-preview-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .intake-link-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.intake-link-row input{width:100%;grid-column:1/-1}.intake-link-row #intake-open-link{grid-column:1/-1}
 #intake-mall .section-body{overflow:visible}.intake-order-card{padding:14px}.intake-order-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.intake-order-actions button{width:100%}.intake-order-actions button[data-refund-order]{grid-column:1/-1}
 #intake-order-detail,#intake-history,#intake-runs-list{scroll-margin-top:82px}
 #intake-runs-pager{align-items:center}#intake-runs-page{width:100%;text-align:center;order:3}
 .mobile-bottom-nav{position:fixed;inset:auto 0 0;z-index:995;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px max(6px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom));background:#fffffffa;border-top:1px solid #dfe8f2;box-shadow:0 -4px 18px #18385209;backdrop-filter:blur(14px)}
 .mobile-bottom-nav a{min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#68778a;font-size:11px;line-height:1.4;border-radius:9px;touch-action:manipulation}
 .mobile-bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .mobile-bottom-nav a[aria-current="page"]{color:#1769c2;background:#edf5ff;font-weight:600}
 body.keyboard-open .mobile-bottom-nav,body.mobile-nav-open .mobile-bottom-nav{display:none}
 body.keyboard-open .layui-body{padding-bottom:24px}
 .no-layui .layui-form select{display:block!important}
 #payment-qr{width:min(100%,280px);min-width:0;box-sizing:border-box}#payment-qr svg{width:100%;height:auto}.mall-payment>div{min-width:0;max-width:100%}.mall-payment p{overflow-wrap:anywhere}.mall-payment button{min-height:44px;max-width:100%;white-space:normal;line-height:1.6;padding:10px 12px;margin-top:8px}
 body.mall-auth{flex-direction:column;min-height:100vh;min-height:100svh;padding:max(28px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));gap:24px}
 .mall-auth .auth-card{box-sizing:border-box;width:100%;max-width:430px;padding:26px 22px;border-radius:16px}.mall-auth .brand{font-size:27px}.mall-auth .sub{font-size:14px;line-height:1.75}
 .mall-auth .icp-footer{position:static;left:auto;bottom:auto;transform:none;width:100%;max-width:430px;padding:0;font-size:12px}
 .mall-auth .footer-link{flex-wrap:wrap}.mall-auth .footer-link a{padding:10px 4px;min-height:44px}
}
@media(max-width:540px){
 #intake-mall{gap:14px}#intake-run-form,#intake-preview-list{grid-template-columns:minmax(0,1fr)}
 #intake-mall .mall-form>label,#intake-mall .mall-form>button{width:100%;flex-basis:100%}
 #intake-preview-generate{width:100%;grid-column:1/-1}.mall-photos{grid-template-columns:minmax(0,1fr)}
 .intake-order-stats{font-size:14px;flex-wrap:wrap}.intake-order-status{max-width:48%}.intake-time-editor input{flex:1 1 100%}.intake-time-editor button{flex:1}
 .intake-public{padding:max(16px,env(safe-area-inset-top)) 10px max(24px,env(safe-area-inset-bottom));font-size:16px;-webkit-text-size-adjust:100%}
 .intake-card{padding:22px 16px;border-radius:15px;max-width:100%;min-width:0}.intake-card h1{font-size:25px;margin-top:14px}.intake-subtitle{margin-bottom:18px;line-height:1.8}
 .intake-card input{min-width:0;max-width:100%;font-size:16px}.intake-card input[type=file]{padding:10px 8px;font-size:13px}
 .intake-card button{min-height:44px;max-width:100%;white-space:normal}.intake-feedback{top:max(8px,env(safe-area-inset-top));padding:10px}
 #intake-previews{grid-template-columns:repeat(2,minmax(0,1fr))}.intake-thumb{min-width:0}.intake-thumb button{width:100%;padding:8px;margin-top:6px}
 .intake-card .mall-guide{font-size:13px;margin:12px 0}.intake-card .mall-guide summary{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.layui-layout-admin .layui-side{transition:none}}
.intake-order-phone{font-size:13px;color:#51657a;margin-top:4px;overflow-wrap:anywhere}
.panel-close{margin-left:auto;min-height:34px!important;padding:5px 12px!important;background:#fff!important;color:#53667a!important;border:1px solid #d6e0eb!important}
.order-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.order-photo-item{margin:0;padding:10px;border:1px solid #dfe7f0;border-radius:10px;background:#f8faff;min-width:0}
.order-photo-item img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:7px}
.order-photo-item figcaption{font-weight:600;margin:8px 0 4px}.order-photo-item a{color:#1769c2;display:inline-flex;min-height:40px;align-items:center}
.monitor-count-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}
.monitor-count{padding:12px;border:1px solid #e0e8f1;border-radius:9px;background:#f8faff;text-align:center}.monitor-count strong{display:block;font-size:23px;color:#153b64}.monitor-count span{font-size:12px;color:#627489}
.monitor-run-list{display:grid;gap:12px;margin-top:14px}.monitor-run{padding:14px;border:1px solid #e0e8f1;border-radius:10px;background:#fff}.monitor-run-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.monitor-run-head span{color:#37658f}.monitor-run progress{width:100%;height:12px;margin:10px 0}.monitor-run p{margin:5px 0;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:960px){.monitor-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.order-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#intake-photo-viewer,#intake-monitor{scroll-margin-top:82px}}
@media(max-width:360px){.monitor-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-photo-grid{grid-template-columns:minmax(0,1fr)}}
.face-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.face-comparison-card{margin:0;padding:12px;border:1px solid #e2e8f0;border-radius:12px;min-width:0;text-align:center}
.face-comparison-card figcaption{font-weight:600;margin-bottom:10px}
.face-comparison-card img{display:block;width:100%;height:280px;object-fit:contain;background:#f8fafc;margin-bottom:10px}
.face-comparison-card img[hidden]{display:none}
.face-comparison-card p{overflow-wrap:anywhere;color:#64748b}
@media(max-width:600px){.face-comparison-grid{gap:8px}.face-comparison-card{padding:8px}.face-comparison-card img{height:200px}}
#intake-retry-form label.mall-check{display:flex;flex-direction:row;align-items:center;gap:8px}
#intake-retry-form input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0;flex:none}
