:root{font-family:-apple-system,BlinkMacSystemFont,"Microsoft YaHei",sans-serif;color:#19352d;background:#f3f6f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;border-radius:14px;background:#17664d;color:white;padding:16px 20px;min-height:54px;font-weight:600}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#e9f1ec;color:#245643}button.danger{background:#fff0eb;color:#aa4326}input,select,textarea{display:block;width:100%;border:1px solid #d5dfd7;border-radius:12px;padding:15px;background:white;color:#19352d;font-size:18px}label{display:block;margin:18px 0 8px;font-size:15px;color:#557065}h1{font-size:30px;letter-spacing:-1px;margin:12px 0}h2{font-size:23px;margin:0 0 14px}h3{font-size:18px;margin:0 0 8px}p{line-height:1.7;color:#688075}header{background:#135c45;color:white;padding:24px max(22px,calc((100% - 1080px)/2));display:flex;align-items:center;justify-content:space-between}header p{color:#c8ddd0;margin:5px 0 0;font-size:13px}header strong{font-size:22px}header button{background:#ffffff18;min-height:42px;padding:10px 14px}.wrap{max-width:1124px;margin:auto;padding:26px 22px 115px}.hero{margin-bottom:26px}.eyebrow{font-size:13px;color:#5d8070;letter-spacing:2px}.card{background:white;border:1px solid #e1e8e1;border-radius:20px;padding:24px;margin:16px 0;box-shadow:0 5px 20px #234c3510}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.metric strong{font-size:32px;display:block;margin-top:12px}.metric span{font-size:14px;color:#6b8177}.camera{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;min-height:165px;font-size:23px}.camera small{font-size:14px;font-weight:400;color:#d6e8db}.muted{color:#6c8278;font-size:14px}.badge{display:inline-block;padding:6px 10px;border-radius:8px;font-size:13px;background:#fff1d9;color:#9b6518}.badge.done{background:#e4f4e9;color:#216b48}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.record{border-top:1px solid #edf1ec;padding:18px 0}.record:first-child{border-top:0}.record p{margin:7px 0;font-size:14px}.record button{padding:10px 14px;min-height:44px;font-size:15px}.full{width:100%;margin-top:22px}.notice{border-left:3px solid #d8ad64;background:#fff8ed;padding:13px 16px;font-size:14px;color:#8a6932;line-height:1.6;border-radius:8px}.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#fffffff5;backdrop-filter:blur(10px);border-top:1px solid #dce6dc;padding:10px 12px max(10px,env(safe-area-inset-bottom));z-index:10}.tabs button{flex:1;max-width:200px;background:transparent;color:#789083;border-radius:12px;font-size:15px;padding:10px 4px}.tabs button.active{color:#165f43;background:#e9f2eb}.login{max-width:460px;margin:7vh auto}.login .brand{font-size:15px;letter-spacing:3px;color:#287256}.empty{text-align:center;padding:30px 10px;color:#819286}.line{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end;margin-top:14px;padding-top:10px;border-top:1px solid #e5ece6}.line label{font-size:13px}.line input,.line select{font-size:16px;padding:12px 9px}.line button{padding:10px;min-height:45px}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);max-width:90%;padding:14px 22px;background:#243f33;color:white;border-radius:12px;z-index:100;display:none;box-shadow:0 4px 20px #0002}dialog{border:none;border-radius:20px;padding:26px;max-width:700px;width:94%;max-height:90vh;overflow:auto;color:#19352d}dialog::backdrop{background:#16352e88}dialog img{max-width:100%;display:block;margin:auto}a{color:#17664d}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}@media(max-width:680px){header{padding:20px}h1{font-size:27px}.wrap{padding:24px 18px 110px}.card{padding:20px}.split{display:block}.grid{gap:12px}.metric strong{font-size:26px}.line{grid-template-columns:1fr 1fr}.line>div:first-child{grid-column:1 / 3}.line button{grid-column:1 / 3}.row{flex-wrap:wrap}.login{margin:25px auto}}
