:root{--brand:#3458d4;--brand-dark:#263b92;--ink:#172033;--muted:#68758b;--line:#dfe5ef;--soft:#f4f7fc;--danger:#d83a3a;--ok:#17835a}*{box-sizing:border-box}html{background:#eef2f8}body{margin:0;color:var(--ink);background:#eef2f8;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}.app-shell{max-width:640px;margin:0 auto;padding:0 14px 116px}.hero{margin:0 -14px 18px;padding:calc(24px + env(safe-area-inset-top)) 20px 24px;color:#fff;background:linear-gradient(145deg,var(--brand-dark),#4c72e7);border-radius:0 0 28px 28px;box-shadow:0 16px 36px #20377f22}.eyebrow{font-size:11px;letter-spacing:1.8px;opacity:.7}.hero h1{margin:8px 0 5px;font-size:28px;letter-spacing:.04em}.hero p{margin:0;font-size:13px;line-height:1.65;opacity:.8}.number-panel{display:flex;align-items:center;gap:10px;margin-top:17px;padding:12px 13px;background:#ffffff18;border:1px solid #ffffff35;border-radius:14px}.number-panel span{white-space:nowrap;font-weight:750}.number-panel input{min-width:0;flex:1;height:42px;padding:0 10px;border:1px solid #ffffff50;border-radius:10px;color:#172033;background:#fff;font-size:16px}.number-panel small{opacity:.72;white-space:nowrap}.progress-track{height:4px;margin-top:14px;background:#ffffff25;border-radius:999px;overflow:hidden}.progress-bar{width:0;height:100%;background:#fff;border-radius:inherit;transition:width .25s}.card{margin:13px 0;padding:17px 15px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px #1720330b}.section-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:15px}.section-num{flex:0 0 42px;height:42px;display:grid;place-items:center;border-radius:13px;color:var(--brand);background:#edf1ff;font-weight:850}.section-head h2{margin:0;font-size:20px}.section-head p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 11px}.field{min-width:0}.field.full{grid-column:1/-1}.field.hidden-by-condition{display:none}.field-label{display:flex;align-items:center;gap:4px;margin:0 0 7px;color:#4f5a70;font-size:14px;font-weight:750}.field-label.req::after{content:"*";color:var(--danger)}.control{display:block;width:100%;min-height:50px;padding:11px 13px;border:1px solid #dbe1eb;border-radius:14px;background:#f9fafc;color:var(--ink);font:inherit;outline:0}.control:focus{border-color:#7190ec;background:#fff;box-shadow:0 0 0 3px #3458d416}.control[readonly]{color:#57647b;background:#f0f3f8;border-style:dashed}.control::placeholder{color:#9aa3b2}.text-area{min-height:96px;resize:vertical;line-height:1.6}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.choice-grid.one{grid-template-columns:1fr}.choice{position:relative;display:flex;align-items:center;min-width:0;min-height:48px;padding:10px 11px;border:1px solid #dbe1eb;border-radius:13px;background:#fafbfd;color:#455169;line-height:1.35}.choice input{width:20px;height:20px;margin:0 9px 0 0;accent-color:var(--brand);flex:0 0 auto}.choice:has(input:checked){border-color:#7692e8;color:#2443aa;background:#edf2ff;font-weight:700}.choice-other{margin-top:8px}.dimension-row{display:grid;grid-template-columns:repeat(var(--parts),minmax(0,1fr));gap:7px}.dimension-part{position:relative}.dimension-part .control{padding-right:36px}.dimension-part small{position:absolute;right:10px;top:16px;color:#798399;font-size:11px;pointer-events:none}.dimension-label{margin:5px 2px 0;color:#7b8699;font-size:11px;text-align:center}.time-range{display:grid;grid-template-columns:1fr 1fr 104px;gap:8px}.time-range .choice{justify-content:center}.helper{margin:6px 2px 0;color:#8a94a7;font-size:11px;line-height:1.5}.scan-card{border-color:#cfd9fb;background:linear-gradient(145deg,#fff,#f5f7ff)}.scan-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.btn{min-height:48px;padding:0 14px;border:0;border-radius:14px;font:inherit;font-weight:780;cursor:pointer}.btn.primary{color:#fff;background:var(--brand);box-shadow:0 8px 18px #3458d42e}.btn.ghost{color:#556177;background:#edf0f5}.btn.outline{color:var(--brand);background:#fff;border:1px solid #b9c7ee}.scan-status{margin:10px 0 0;color:#657189;font-size:12px;line-height:1.6}.checklist{overflow:hidden;border:1px solid var(--line);border-radius:15px}.check-row{padding:13px;border-top:1px solid var(--line);background:#fff}.check-row:first-child{border-top:0}.check-title{font-weight:800}.check-standard{margin:4px 0 9px;color:#69758a;font-size:12px;line-height:1.55}.check-row .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sign-trigger{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;min-height:94px;padding:9px;border:1px dashed #bcc6d7;border-radius:14px;color:#677389;background:#fafbfc;overflow:hidden}.sign-trigger img{display:none;max-width:100%;height:76px;object-fit:contain}.sign-trigger.has-signature span,.sign-trigger.has-signature small{display:none}.sign-trigger.has-signature img{display:block}.sign-trigger small{margin-top:4px;color:#98a1b1}.flow-note{margin-top:14px;padding:11px 12px;border-radius:13px;color:#376457;background:#eff8f4;font-size:12px;line-height:1.65}.footer{position:fixed;z-index:20;left:0;right:0;bottom:0;padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:#fffffff2;border-top:1px solid var(--line);backdrop-filter:blur(14px)}.footer-inner{display:grid;grid-template-columns:78px 88px 1fr;gap:8px;max-width:612px;margin:auto}.toast{position:fixed;z-index:70;left:50%;bottom:98px;max-width:88vw;padding:10px 15px;border-radius:999px;color:#fff;background:#172033;opacity:0;transform:translate(-50%,14px);pointer-events:none;transition:.25s;font-size:13px;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.modal{position:fixed;z-index:60;inset:0;display:none;align-items:flex-end;justify-content:center;padding-top:40px;background:#11192cb0}.modal.open{display:flex}.modal-sheet{width:min(640px,100%);padding:17px 15px calc(16px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -18px 50px #0f172a33}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-head h3{margin:0;font-size:18px}.modal-close{width:38px;height:38px;border:0;border-radius:50%;background:#edf0f5;color:#59667a;font-size:22px}.canvas-wrap{position:relative;height:270px;border:1px solid #dbe1ea;border-radius:16px;background:#fff;overflow:hidden;touch-action:none}.canvas-wrap::after{content:"请在此处手写签名";position:absolute;left:18px;right:18px;bottom:54px;padding-bottom:7px;border-bottom:1px solid #edf0f4;color:#c0c6d0;text-align:center;font-size:13px;pointer-events:none}.canvas-wrap canvas{position:relative;z-index:1;width:100%;height:100%;display:block;touch-action:none}.modal-actions{display:grid;grid-template-columns:92px 1fr;gap:9px;margin-top:12px}.scan-video{display:block;width:100%;max-height:58vh;border-radius:14px;background:#111}.wechat-guide{position:fixed;z-index:90;inset:0;display:none;align-items:flex-end;background:#172033c0}.wechat-guide.open{display:flex}.wechat-arrow{position:absolute;top:calc(12px + env(safe-area-inset-top));right:15px;color:#fff;font-size:14px;font-weight:800}.wechat-arrow::after{content:"↗";margin-left:8px;font-size:28px}.wechat-sheet{width:min(640px,100%);margin:auto;padding:21px 17px calc(17px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff}.wechat-sheet h3{margin:0 0 9px}.wechat-sheet p{margin:0 0 12px;color:#5e6a7e;font-size:13px;line-height:1.7}.wechat-status{padding:10px 12px;border-radius:12px;color:#755700;background:#fff5da;font-weight:700}.wechat-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wechat-actions .wide{grid-column:1/-1}.print-sheet{display:none}
@media(max-width:700px){.field-grid{grid-template-columns:1fr}.field:not(.full){grid-column:1}.hero h1{font-size:25px}.time-range{grid-template-columns:1fr 1fr}.time-range .choice{grid-column:1/-1}.choice-grid{grid-template-columns:1fr 1fr}.scan-actions{grid-template-columns:1fr}.number-panel{display:grid;grid-template-columns:auto minmax(0,1fr)}.number-panel small{display:none}}
@page{size:A4 portrait;margin:10mm 10mm 11mm}
@media print{html,body{width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#000!important}body{font-family:"SimSun","宋体",serif;font-size:9pt}.app-shell,.footer,.toast,.modal,.wechat-guide{display:none!important}.print-sheet{display:block!important;width:100%!important;max-width:100%!important;margin:0!important}.p-heading{position:relative;display:flex;align-items:center;justify-content:center;min-height:25mm;margin:0 0 3mm}.p-title{margin:0;text-align:center;font-size:20pt;letter-spacing:5pt}.p-qr{position:absolute;right:0;top:0;width:23mm;height:23mm;object-fit:contain}.p-number{width:100%;margin-bottom:2mm;border-collapse:collapse;table-layout:fixed}.p-number th,.p-number td{border:1px solid #000;padding:2mm;line-height:1.35;vertical-align:middle}.p-number th{width:18%;background:#eee;text-align:center;white-space:nowrap}.p-number td{width:32%;white-space:normal;overflow-wrap:anywhere}.p-section{margin:0 0 2.4mm;break-inside:auto}.p-section h2{margin:0;padding:2mm 2.2mm;border:1px solid #000;border-bottom:0;background:#e7e7e7;font-size:10.5pt}.p-table{width:100%!important;max-width:100%!important;border-collapse:collapse;table-layout:fixed}.p-table col.p-label{width:18%}.p-table col.p-value{width:32%}.p-table th,.p-table td{border:1px solid #000;padding:1.9mm 2mm;line-height:1.38;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.p-table th{background:#f2f2f2;text-align:center;font-weight:700}.p-table .p-check-label{width:22%}.p-table .p-check-standard{width:55%}.p-table .p-check-result{width:23%;text-align:center}.p-table thead{display:table-header-group}.p-table tr{break-inside:avoid-page}.p-sign{display:block;max-width:92%;max-height:13mm;margin:auto}.p-blank{min-height:7mm}.p-note{margin-top:2.6mm;font-size:8pt;line-height:1.55}.p-note p{margin:0}.p-footer{margin-top:1.8mm;text-align:right;color:#444;font-size:7.5pt}.p-break{break-before:page}.p-section.keep{break-inside:avoid-page}}
@media print{.p-sign-section .p-table th,.p-sign-section .p-table td{padding:1.15mm 2mm}.p-sign-section .p-sign{max-height:8.5mm}.p-sign-section .p-blank{min-height:5mm}}
