:root{font-family:'Microsoft YaHei','PingFang SC',system-ui,sans-serif;color:#15243d;background:#e7f0fa;font-size:16px;font-synthesis:none;--blue:#0878dc;--line:#e4edf5;--muted:#596b80;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #65b0f8;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:22px;line-height:1.4;font-weight:600}h2{font-size:18px;font-weight:600;line-height:1.5}h3{font-size:17px;font-weight:600;line-height:1.5}p{line-height:1.65;overflow-wrap:anywhere}small,.small{font-size:14px;color:var(--muted);line-height:1.55}em{font-style:normal;color:#b63737}.grow{flex:1;min-width:0}.blue{color:#0875d1}.orange{color:#a5500a}.green{color:#17814b}.red{color:#b63737}.center{text-align:center}
.app-shell{max-width:560px;min-height:100dvh;margin:auto;background:#f4f9fd;padding-bottom:calc(100px + var(--safe));box-shadow:0 0 40px #aec5dd25}.demo-strip{background:#e5f1fc;color:#426382;font-size:12px;padding:6px 16px;display:flex;justify-content:space-between;gap:8px;line-height:1.5}.page-head{display:flex;align-items:center;gap:8px;padding:15px 16px;min-height:74px}.page-head>div{flex:1}.page-head p{font-size:14px;color:var(--muted);margin-top:4px}.page-head .site{font-size:12px;color:var(--muted);max-width:92px;text-align:right}.back,.icon-button{display:grid;place-items:center;width:44px;min-height:44px;border:0;background:transparent;color:#15243d;flex-shrink:0}.back{margin-left:-9px}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.content{padding:0 16px;display:flex;flex-direction:column;gap:12px}.card{background:white;border:1px solid #e8f0f7;border-radius:6px;padding:14px;min-width:0}.card>h2{margin-bottom:10px}.card>p{margin-top:6px}.row{display:flex;gap:10px;align-items:center;min-width:0}.between{justify-content:space-between}.top-space{margin-top:10px}.section-title{display:flex;align-items:center;justify-content:space-between}.tag{display:inline-block;max-width:100%;font-size:14px;background:#e7f3ff;color:#0875d1;padding:4px 7px;border-radius:4px;white-space:normal;line-height:1.4}.tag.orange{background:#fff0df;color:#a14a09}.tag.green{background:#e7f6ec;color:#137b47}.tag.red{background:#ffeded;color:#a32d2d}.subheading{font-size:14px;color:#0875d1}.task-card{display:block;transition:box-shadow .15s}.task-card:hover{box-shadow:0 2px 12px #2575ae16}.task-card h3{margin-top:8px}.task-foot{border-top:1px solid var(--line);margin-top:10px;padding-top:10px;display:flex;justify-content:space-between;align-items:center;gap:8px}.task-grid{display:grid;gap:12px}.link,.text-button{color:#0875d1;font-size:14px;line-height:1.5}.text-button{border:0;background:transparent;min-height:44px;padding:6px}.primary,.secondary{border:1px solid var(--blue);background:var(--blue);color:white;min-height:48px;border-radius:6px;padding:11px 14px;display:flex;align-items:center;justify-content:center;font-weight:600;text-align:center;font-size:16px;line-height:1.4;gap:8px}.secondary{background:white;color:#0875d1}.wide{width:100%}.action-bar{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:560px;background:#fff;padding:10px 16px calc(10px + var(--safe));display:flex;gap:10px;border-top:1px solid var(--line)}.action-bar>*{flex:1}.action-bar .secondary{flex:0 0 auto;min-width:90px}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:560px;display:flex;background:white;border-top:1px solid var(--line);padding:7px 8px calc(7px + var(--safe))}.bottom-nav a{flex:1;min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;color:#66778c}.bottom-nav a.active{color:#0875d1;font-weight:600}.bottom-nav .active .icon{stroke-width:2.4}.note{font-size:14px;line-height:1.6;padding:10px 12px;border-radius:6px;background:#e5f2ff;color:#375c81;overflow-wrap:anywhere}.note.warning{background:#fff1e2;color:#974507}.note.success{background:#e9f7ed;color:#197744}.note.error{background:#ffeded;color:#a32d2d}.card .note{margin:10px 0}.square{display:inline-grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:#e4f2ff;color:#0875d1;border-radius:6px}.square.green{background:#e8f7ed;color:#187d4c}.square.orange{background:#fff0df;color:#a5500a}.square.red{background:#ffeded;color:#b63737}.shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:4px 0}.shortcut{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:14px;min-height:70px;white-space:nowrap}.shortcut .square{width:42px;height:42px;background:#1586ec;color:white}.shortcut .green{background:#19a987}.shortcut .orange{background:#e89a23}.shortcut .red{background:#ed655b}.summary{display:grid;grid-template-columns:repeat(3,1fr);background:white;border-radius:6px;padding:14px 2px}.summary>a,.summary>div{text-align:center;border-right:1px solid var(--line);display:block}.summary>:last-child{border:0}.summary small{display:block}.summary b{display:block;font-size:25px;line-height:1.4;font-weight:600;margin-top:3px}.banner-photo{height:112px;position:relative;overflow:hidden;border-radius:6px;background:#deeffe}.banner-photo img{position:absolute;width:480px;max-width:none;left:-18px;top:-160px}.hero-label{position:absolute;inset:0 auto 0 0;width:65%;background:linear-gradient(90deg,#dcefff 68%,transparent);padding:20px 14px;color:#075694;font-size:20px;font-weight:600;line-height:1.5}.photo{width:72px;height:72px;border-radius:6px;background:#dcebf7;position:relative;overflow:hidden;flex-shrink:0}.photo img{position:absolute;max-width:none}.photo.bearing img{width:242px;left:-13px;top:-101px}.photo.robot img{width:319px;left:-38px;top:-297px}.photo.switchgear img{width:371px;left:-31px;top:-451px}.readings{display:flex;gap:10px;margin-top:12px}.readings>div{flex:1;background:#edf5ff;padding:10px;border-radius:5px}.readings>div:first-child{background:#fff3e6}.readings b{display:block;font-size:24px;color:#0875d1}.readings>div:first-child b{color:#ad530a}.kv{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:9px 0;font-size:14px;line-height:1.5}.kv:last-child{border:0}.kv span{color:var(--muted);flex-shrink:0}.kv b{font-weight:400;text-align:right;overflow-wrap:anywhere}.tabs{display:flex;background:white;border-radius:6px;padding:4px;gap:3px;min-width:0}.tabs>a{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;min-height:44px;padding:6px 2px;white-space:nowrap}.tabs .selected{color:#0875d1;background:#e7f3ff;border-bottom:2px solid var(--blue);border-radius:4px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filters input[name=q]{grid-column:1/-1}.filters .primary{grid-column:1/-1}.filters>*{min-width:0}.field{display:flex;flex-direction:column;gap:7px;margin:12px 0 0;min-width:0;border:0;padding:0}.field>span,.field legend{font-size:14px;font-weight:600;margin-bottom:0}.field legend{padding:0 0 7px}.field input,.field select,textarea,.filters input,.filters select{width:100%;min-width:0;background:#fcfdff;border:1px solid #bdcddd;border-radius:6px;color:#15243d;min-height:46px;padding:10px;font-size:16px;line-height:1.45}textarea{resize:vertical;min-height:90px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choices.three{grid-template-columns:repeat(3,1fr)}.choice{display:flex;align-items:center;justify-content:center;position:relative;border:1px solid #bdcbdc;border-radius:6px;min-height:46px;padding:9px 5px;line-height:1.4;text-align:center;font-size:16px;background:white;cursor:pointer}.choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}.choice:has(input:focus-visible){outline:3px solid #65b0f8}.choice.selected{border-color:var(--blue);background:#e9f4ff;color:#086fc5;font-weight:600}.choice.selected span:after{content:' ✓';font-size:14px}.checkbox{display:flex;align-items:center;gap:8px;font-size:14px;line-height:1.6;min-height:44px}.checkbox input{width:20px;height:20px;flex-shrink:0;accent-color:var(--blue)}#work-form{display:flex;flex-direction:column;gap:12px}.save-status{font-size:12px;color:#596b80}.save-status+#form-error:empty{display:none}.upload{margin-top:14px}.upload h3{font-size:14px;margin-bottom:8px}.upload p{margin-top:9px}.file-button{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px;color:#0875d1;min-height:46px;border:1px dashed #93b3d3;border-radius:6px;position:relative;flex:1;font-size:14px;cursor:pointer;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:8px}.attachment{min-width:0;background:#f3f8fc;border-radius:6px;overflow:hidden}.preview{display:block;width:100%;height:120px;padding:0;border:0;background:#dae6f0}.preview img{width:100%;height:100%;object-fit:contain}.photo-actions{display:flex;align-items:center;justify-content:space-between;padding:0 4px;font-size:12px}.photo-actions .text-button{font-size:12px;padding:4px}.full-photo{max-width:100%;max-height:70dvh;object-fit:contain}.evidence-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.evidence-photos img{width:100px;max-height:180px;object-fit:contain;background:#eef4fa}.timeline{padding:0;margin:6px 0 0;list-style:none}.timeline li{border-left:1px solid #bed1e5;padding:0 0 18px 16px;position:relative;margin-left:6px}.timeline li:before{content:'';position:absolute;width:8px;height:8px;border-radius:2px;background:var(--blue);left:-4px;top:5px}.timeline li:last-child{border:0;padding-bottom:0}.timeline b{font-size:14px;display:block;line-height:1.5}.timeline small{display:block;margin-top:3px}.timeline p{font-size:14px;margin-top:4px}.list-row,.list-button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid var(--line);background:white;text-align:left;min-height:60px;padding:10px 0;color:#15243d}.list-row span:not(.square){flex:1}.list-row:last-child,.list-button:last-child{border:0}.list-row>.icon{margin-left:auto;color:#74879c}.unread{display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:2px;margin-right:6px}.empty{padding:35px 10px;text-align:center}.empty .square{margin-bottom:12px}.empty h2{font-size:17px}.empty p{font-size:14px;color:var(--muted);margin-top:8px}.plain-list{padding-left:24px;line-height:1.8;margin:12px 0}.plain-list li{margin-bottom:8px}.result-list{list-style:none;margin:10px 0;padding:0}.result-list li{border-bottom:1px solid var(--line);padding:12px 0}.result-list b{font-size:14px;display:inline-block;margin-right:8px}progress{width:100%;height:7px;appearance:none;border:none;display:block;margin-top:10px}progress::-webkit-progress-bar{background:#e0e9f3;border-radius:3px}progress::-webkit-progress-value{background:var(--blue);border-radius:3px}progress::-moz-progress-bar{background:var(--blue)}.tablet-context{display:none}
.login-page{max-width:480px;margin:auto;min-height:100dvh;background:linear-gradient(170deg,#d9edff,#f4f9fd 45%);padding:24px 20px;display:flex;flex-direction:column;gap:18px}.login-hero{height:215px;position:relative;overflow:hidden}.login-hero h1{position:relative;z-index:1;margin-top:20px;font-size:26px}.login-hero p{position:relative;z-index:1;margin-top:6px;font-size:14px;color:#486683}.brand{background:var(--blue);color:white}.login-art{position:absolute;right:-25px;top:40px;width:180px;height:180px;opacity:.65;overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 40%)}.login-art img{position:absolute;width:370px;left:-180px;top:-45px}.login-page .card{padding:20px}.password-input{display:flex;border:1px solid #bdcddd;border-radius:6px;background:#fcfdff}.password-input input{border:0}.password-input button{flex-shrink:0;min-width:50px}.login-page .primary{margin-top:12px}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.account-button{padding:10px;text-align:left;border:1px solid #d5e5f3;border-radius:6px;background:#f5faff;color:#15243d;min-height:64px}.account-button b{display:block;font-size:14px}.account-button small{display:block;font-size:12px;margin-top:4px}.demo-accounts p{font-size:12px}#toast{position:fixed;z-index:30;left:50%;bottom:calc(100px + var(--safe));transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:12px 16px;background:#173149;color:white;border-radius:6px;font-size:14px;line-height:1.5;opacity:0;pointer-events:none;transition:opacity .15s;box-shadow:0 4px 20px #0002}#toast.visible{opacity:1}dialog{border:0;border-radius:8px;padding:20px;max-width:calc(100vw - 32px);width:420px;color:#15243d;max-height:85dvh;overflow:auto}dialog::backdrop{background:#15243d80}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dialog-head .icon-button{font-size:26px}.dialog-head h2{font-size:18px}dialog .primary{margin-top:16px}dialog .note{margin-bottom:10px}
@media(min-width:600px){.app-shell{max-width:760px}.bottom-nav,.action-bar{max-width:760px}.content{padding:0 24px}.page-head{padding:18px 24px}.task-grid{grid-template-columns:1fr 1fr}.banner-photo{height:148px}.banner-photo img{width:680px;top:-227px;left:30px}.hero-label{font-size:24px;padding:28px 24px}.shortcuts{padding:12px}.home-content>.summary{padding:18px}.filters{grid-template-columns:2fr 1fr 1fr auto}.filters input[name=q],.filters .primary{grid-column:auto}.choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.app-shell{max-width:1080px}.bottom-nav,.action-bar{max-width:1080px}.content.with-context{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start;column-gap:24px}.content.with-context>*:not(.tablet-context){grid-column:2}.tablet-context{display:flex!important;flex-direction:column;gap:12px;grid-column:1;grid-row:1/40;position:sticky;top:18px;max-height:calc(100dvh - 120px);overflow-y:auto;scrollbar-width:thin}.tablet-context .task-card{padding:12px}.tablet-context h3{font-size:16px}.tablet-context .photo{width:56px;height:56px}.banner-photo{height:166px}.banner-photo img{left:auto;right:-20px;top:-272px;width:820px}.hero-label{width:58%;padding:30px}.home-content>.task-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.action-bar{padding-left:350px}.shortcuts{max-width:640px;width:100%;margin:auto}.login-page{min-height:auto;margin:5vh auto;border-radius:8px;box-shadow:0 10px 40px #264c7415}}
@media(max-width:374px){.content{padding:0 12px}.page-head{padding:12px}.card{padding:12px}.choices.three{gap:5px}.choice{font-size:15px}.hero-label{font-size:18px}.tabs>a{font-size:13px}.site{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.hero-label{width:75%;background:linear-gradient(90deg,#dcefff 90%,transparent)}
.action-bar,.bottom-nav{bottom:var(--keyboard,0px)}
@media(max-width:374px){.choice{font-size:16px}}
