/* Touch layouts supplement the desktop workspace without changing report print styles. */
.mobile-top,.mobile-tabs,.mobile-filter-toggle,.mobile-photo-jump{display:none}
@media screen and (min-width:1101px) and (max-width:1366px){
 button,button.small,button.link,.button-label{min-height:44px;min-width:44px}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{min-height:44px;font-size:16px}.inspection-table input,.inspection-table select{height:44px}.reviewbox input,table input[type=checkbox]{width:22px;height:22px;min-height:22px}.sidebar nav button{min-height:44px!important}
}
@media screen and (min-width:700px) and (max-width:1100px){
 .sidebar{width:156px;padding:16px 8px}.workspace{margin-left:156px;width:calc(100% - 156px)}
 .sidebar .brand>div,.sidebar nav button span,.sidebar .nav-group,.sidebar .side-bottom{display:block}.sidebar .brand{font-size:16px;margin:0 0 14px}.brandmark{flex-shrink:0}
 .sidebar nav button{width:100%;display:flex;flex-direction:row;text-align:left;justify-content:flex-start;gap:8px;min-height:44px!important;padding:9px 8px!important}.sidebar nav button span{font-size:12px;white-space:normal}.sidebar .nav-group{margin:10px 8px 2px;font-size:11px}
 header{height:auto;min-height:60px;padding:8px 16px}.crumb{display:block}.crumb>span{margin:0 5px}.header-actions{gap:6px}.demo-label{display:none}
 .inspection-grid{grid-template-columns:minmax(0,1fr)}.inspection-grid>aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inspection-grid .fields{grid-template-columns:1fr 1fr}.inspection-meta .info-grid{grid-template-columns:1fr 1fr}
 .inspection-table input,.inspection-table select{height:44px;width:100%;min-width:90px}.inspection-table tr{display:table-row}.inspection-table td{display:table-cell}.inspection-table thead{display:table-header-group}
 .metrics,.compact-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.query-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .inspection-grid .bottom-actions{bottom:0}.acq-form label{min-width:220px}.acq-tabs{flex-wrap:wrap}
 .db-bar{flex-wrap:nowrap;padding:6px 12px}.db-bar>span{min-width:0}.db-bar button{white-space:nowrap}.data-table{min-width:940px}.data-table td.cell-id{min-width:140px;white-space:nowrap}.data-table td.cell-actions,.data-table th:last-child{position:sticky;right:0;background:#fff;box-shadow:-4px 0 8px #2034400a}.data-table td.cell-actions{z-index:2;min-width:160px}.data-table th:last-child{z-index:3}
}
@media screen and (max-width:1100px){
 button,button.small,button.link,.button-label{min-height:44px;min-width:44px}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{min-height:44px;font-size:16px}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:22px;accent-color:var(--green);vertical-align:middle;flex-shrink:0}
 .row-actions button{padding:8px}.reviewbox{line-height:1.6;min-height:44px}.reviewbox input{margin-top:2px}.toolbar input{min-width:0;max-width:100%}.permission-option{min-height:44px}
 #modal.surface-page{left:156px!important;top:0!important;height:100dvh!important;width:calc(100% - 156px)}#modal.surface-page .modal-body{max-height:none;margin:0;width:100%;padding:16px}
 #modal.surface-page,#modal.surface-drawer{overflow:hidden}#modal.surface-page #modal-content,#modal.surface-drawer #modal-content{height:100%;display:flex;flex-direction:column;min-height:0}#modal.surface-page .modal-body,#modal.surface-drawer .modal-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;max-height:none}
 #modal .modal-head{flex-shrink:0;gap:12px;background:#f6f8fa;padding:12px 16px}#modal .modal-head button{flex-shrink:0}#modal .modal-actions{flex-wrap:wrap;bottom:0}.mapping-scroll{max-height:none;overflow:visible}.mapping-scroll table{white-space:normal}.mapping-scroll select{width:100%;min-width:0}.mapping-scroll td:first-child{overflow-wrap:anywhere}
 .preview-toolbar{top:-16px;gap:8px;flex-wrap:wrap}.preview-toolbar .actions{flex:1;flex-wrap:wrap}.preview-toolbar select{max-width:100%;min-width:130px;flex:1}.preview-toolbar>button{margin-left:auto}.print-sheet,.report-page{overflow-wrap:anywhere}.print-meta{grid-template-columns:1fr 1fr}.batch-preview{padding:8px}
}
@media screen and (max-width:699px){
 .sidebar{display:none}.workspace{margin:0;width:100%;min-width:0;padding-bottom:calc(70px + env(safe-area-inset-bottom))}body{font-size:14px;overflow-wrap:anywhere}
 header{height:auto;min-height:56px;padding:8px 12px;position:sticky;top:0;z-index:12;gap:8px}.crumb,header .demo-label,header .avatar{display:none}.header-actions{flex:1;justify-content:flex-end;min-width:0}.role-label{font-size:0}.role-label select{margin:0;max-width:155px;font-size:14px;min-height:40px;padding:8px 4px}.mobile-top{display:block;font-size:16px;font-weight:600;white-space:nowrap}
 .demo-strip{padding:6px 12px;font-size:10px}.demo-strip span{max-width:100%}.db-bar{padding:5px 12px;flex-wrap:nowrap;gap:6px;font-size:11px}.db-bar>span{min-width:0;flex:1}.db-bar button{min-height:36px;padding:4px 8px;white-space:nowrap;font-size:11px}
 main{padding:12px;min-height:calc(100dvh - 200px);min-width:0}h1{font-size:20px}.page-title{display:block}.page-title>.actions{margin-top:10px;display:flex;gap:6px}.page-title>.actions button{flex:1 1 auto;white-space:normal;padding:8px;font-size:12px}.card{padding:12px}.card-head{flex-wrap:wrap;gap:8px}.card-head .actions{width:100%}
 .mobile-tabs{position:fixed;inset:auto 0 0;z-index:25;display:flex;gap:0;padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce6e5;box-shadow:0 -2px 12px #163d3510}.mobile-tabs button{flex:1;min-width:0;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px!important;min-height:54px!important;color:#677f89;background:transparent;font-size:18px}.mobile-tabs button span{display:block!important;font-size:11px;white-space:nowrap}.mobile-tabs button.active{color:#137d69;background:#edf7f3;border-radius:8px;border:0}.mobile-tabs button[hidden]{display:none}
 #mobile-menu{width:100vw;max-width:100vw;max-height:85dvh;margin:auto 0 0;border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));overflow:auto}#mobile-menu .mobile-menu-head{display:flex;justify-content:space-between;align-items:center;gap:8px}#mobile-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}#mobile-menu nav .nav-group{display:block;grid-column:1/-1;margin:6px 0;color:#667e88}#mobile-menu nav button{display:flex;flex-direction:row;justify-content:flex-start;color:#244a53;background:#f3f7f7;min-height:48px!important;padding:10px!important;font-size:16px}#mobile-menu nav button span{display:block;font-size:13px;white-space:normal}#mobile-menu nav i{display:none}#mobile-menu nav button.active{background:#e3f2eb;color:#147c68;border:0}#mobile-menu small{display:block;color:#687f89;margin-top:12px}
 .mobile-filter-toggle{display:block;margin:8px 0 0;width:100%;text-align:left;font-size:13px}.query-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.query-grid>.query-field:first-child{grid-column:1/-1}.query-panel:not(.mobile-filters-open) .query-grid>.query-field:not(:first-child){display:none}.query-bottom{gap:8px}.query-bottom .quiet{line-height:1.5}.query-bottom .actions{gap:6px}.query-panel{padding:10px}
 .work-statusbar{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:2px 0 6px;gap:6px}.work-statusbar button{flex-shrink:0;min-height:40px;font-size:12px}.work-statusbar b{margin-left:3px}.operations-bar{padding:10px;gap:8px}.operations-bar>b,.operations-bar>span{flex-basis:100%}.operations-bar button{flex:1;padding:8px;font-size:12px}
 body[data-view=tasks] .data-panel .table-wrap,body[data-view=center] .data-panel .table-wrap,.acq-scroll{max-height:none;overflow:visible}.mobile-card-table{white-space:normal}.mobile-card-table thead{display:none}.mobile-card-table tbody{display:block}.mobile-card-table tbody tr{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-bottom:6px solid #f3f6f8}.mobile-card-table td{display:block;height:auto!important;border:0;padding:0!important;min-width:0;max-width:none!important;line-height:1.5!important}.mobile-card-table td::before{content:attr(data-label);display:block;font-size:11px;color:#71848d;margin-bottom:3px}.mobile-card-table td.cell-id{grid-column:1/-1;padding-right:34px!important;font-weight:600;overflow-wrap:anywhere}.mobile-card-table td.cell-select{position:absolute;top:12px;right:12px;min-width:32px;min-height:32px}.mobile-card-table td.cell-select::before{display:none}.mobile-card-table td.cell-actions{grid-column:1/-1;white-space:normal;display:flex;flex-wrap:wrap;gap:6px}.mobile-card-table td.cell-actions::before{display:none}.mobile-card-table .cell-actions button{padding:8px 12px;background:#f0f6f4}.mobile-card-table td[colspan]{grid-column:1/-1}.pagination{flex-wrap:wrap;gap:8px;padding:10px}.pagination>.actions{margin-left:auto}
 .inspection-grid,.inspection-grid>aside,.issue-grid,.report-grid,.grid2,.analysis-grid,.quick-grid,.mes-grid{display:grid;grid-template-columns:minmax(0,1fr)}.inspection-grid .fields{grid-template-columns:1fr}.inspection-meta .info-grid{grid-template-columns:1fr 1fr;gap:8px}.inspection-meta .info-grid span{display:block!important}.inspection-meta .card-head h2 .mono{display:block;margin-left:0!important;margin-top:3px}.inspection-meta .card-head{flex-wrap:nowrap}.workflow-hint{font-size:12px}.flow-owner{padding:8px;font-size:12px}
 .inspection-table{white-space:normal}.inspection-table tbody{display:block}.inspection-table tr{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:12px 0}.inspection-table td:first-child{font-size:14px}.inspection-table td:nth-child(2){text-align:right;font-size:12px}.inspection-table td:nth-child(3){grid-column:1}.inspection-table td:nth-child(4){align-self:center;min-width:60px}.inspection-table td:nth-child(5){grid-column:1/-1;font-size:12px}.inspection-table input,.inspection-table select{height:48px;min-height:48px;font-size:18px;width:100%;max-width:none}.inspection-grid .fields textarea{height:72px!important;min-height:72px!important}.inspection-grid .bottom-actions{position:static;margin-top:12px;gap:8px}.bottom-actions>.actions{width:100%;display:flex;gap:8px}.bottom-actions .actions button{flex:1 1 40%;padding:10px;font-size:14px}.bottom-actions .actions .primary{flex-basis:100%}.inspection-grid #draft-status{max-width:none;width:100%;font-size:12px}.mobile-photo-jump{display:inline-flex;align-items:center}.reviewbox{padding:10px;background:#f2f7f5;border-radius:6px}
 .metrics,.compact-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric,.compact-kpis>div{padding:12px;min-width:0}.metric .symbol{display:none}.metric strong{font-size:26px}.chart{max-width:100%}.bar-row{grid-template-columns:100px 1fr 24px}.info-grid,.print-meta{grid-template-columns:1fr 1fr;gap:12px}.issue-list,.report-list{max-height:none;display:flex;overflow:auto;scroll-snap-type:x proximity}.issue-list>.issue-item,.report-list>.issue-item{flex:0 0 85%;min-width:0;scroll-snap-align:start}.issue-item strong,.issue-item .row{white-space:normal}.stepper{overflow:auto}.report-page{padding:14px}.report-page h2{font-size:18px}.report-page table{font-size:11px}.report-page th,.report-page td{padding:8px 4px}.report-footer{flex-wrap:wrap;gap:8px}.report-tools input{min-width:0;width:100%}
 .acq-form{display:grid;grid-template-columns:minmax(0,1fr)}.acq-form label{min-width:0}.acq-tabs{gap:6px}.acq-tabs button{flex:1;padding:8px 4px}.acq-tabs .quiet{width:100%}.toolbar{align-items:stretch;gap:8px}.toolbar input,.toolbar select{flex:1 1 100%;width:100%;min-width:0}.batch-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.batch-actions label{grid-column:1/-1;display:grid;gap:5px;width:100%}.batch-actions select{max-width:none;width:100%}.batch-actions [data-v5=generate-docx]{grid-column:1/-1}.permission-grid{grid-template-columns:1fr}.fields,.edit-grid{grid-template-columns:1fr}.quick-grid{gap:10px}#quick-code{min-width:0;width:100%}
 #modal.surface-page,#modal.surface-drawer{inset:0!important;width:100%!important;height:100dvh!important;max-width:100vw;border-radius:0;z-index:40}#modal .modal-head{padding:10px 12px}#modal .modal-head h2{font-size:16px}#modal .modal-head small{display:none}#modal.surface-page .modal-body,#modal.surface-drawer .modal-body{padding:12px 12px calc(16px + env(safe-area-inset-bottom));margin:0;width:100%}.surface-draft-bar{padding:8px;gap:8px}.surface-draft-bar span{min-width:160px}.modal-body .toolbar{flex-wrap:wrap}.modal-body .toolbar>*{min-width:0;max-width:100%}.modal-body table:not(.inspection-table){white-space:normal}.modal-body th,.modal-body td{padding:8px 6px;overflow-wrap:anywhere}.mapping-scroll td:first-child{width:38%}.mapping-tools{gap:8px}.mapping-tools>input{width:100%;max-width:none}.mapping-tools label{min-height:44px;display:flex;align-items:center;gap:8px}.modal-body .edit-grid{grid-template-columns:1fr!important}.drill-table{max-height:none;overflow:auto}.drill-toolbar input{min-width:0;width:100%;flex-basis:100%}.drill-tabs{gap:6px}.drill-tabs button{flex:1}.print-sheet{padding:12px}.print-sheet h1{font-size:19px}.print-sheet h2{font-size:16px}.print-sheet th,.print-sheet td{font-size:11px;padding:8px 4px}.preview-toolbar{top:-12px;padding:8px 0;gap:8px}.preview-toolbar>.actions{width:100%;flex-basis:100%;gap:6px}.preview-toolbar>button{width:100%}.preview-toolbar select{min-width:0;flex:1}.preview-toolbar .actions>span{flex-basis:100%;font-size:12px}.batch-preview{padding:0;background:transparent}.print-meta b{overflow-wrap:anywhere}.print-sheet p{line-height:1.7}.certificate{min-height:0}
 #toast{left:50%;bottom:calc(76px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);width:max-content;padding:12px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}#toast button{margin:0;min-height:36px}.mobile-tabs:has(~ #modal[open]){visibility:hidden}footer{font-size:10px;padding:12px;line-height:1.5}body.mobile-keyboard .mobile-tabs{display:none}html{scroll-padding-top:80px;scroll-padding-bottom:100px}
}
.mobile-entry-tools{display:none}
@media screen and (max-width:699px){
 .mobile-entry-tools{position:fixed;left:12px;right:12px;bottom:calc(66px + env(safe-area-inset-bottom));z-index:24;display:flex;gap:6px;padding:6px;background:#fff;border:1px solid #dce6e5;border-radius:8px;box-shadow:0 -2px 12px #163d3510}
 .mobile-entry-tools button{flex:1;font-size:13px;padding:8px 4px}.mobile-entry-tools button:last-child{background:#3f8273;color:white}
 body:has(.mobile-entry-tools) .workspace{padding-bottom:140px}body:has(.mobile-entry-tools) #toast{bottom:140px}
 body:has(#modal[open]) .mobile-entry-tools,body.mobile-keyboard .mobile-entry-tools{display:none}
 #modal:has([data-ocr-key]) .grid2 img{height:160px;object-fit:contain;background:#f2f5f5}#modal:has([data-ocr-key]) .grid2{gap:8px}#modal:has([data-ocr-key]) .grid2 h3{margin:4px 0}#modal:has([data-ocr-key]) .grid2 p{margin:4px 0;font-size:12px}
 #modal .mobile-card-table input[data-ocr-key]{width:100%!important;font-size:18px}#modal .mobile-card-table td:has([data-ocr-key]){grid-column:1/-1}
 #modal:has([data-ocr-key]) .cell-select::before{display:block;content:'已核对'}
}
@media print{.mobile-tabs,.mobile-top,#mobile-menu,.mobile-filter-toggle,.mobile-photo-jump,.mobile-entry-tools{display:none!important}}
