:root{font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#20352f;background:#f3f5f1;font-synthesis:none;--green:#204e41;--muted:#7c8b83;--line:#e3e8e1}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:1px solid var(--green);background:var(--green);color:#fff;padding:10px 16px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:550;transition:.15s}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#fff;color:#3f574c;border-color:#d7e0d7}.small{padding:7px 11px;font-size:12px}.icon{padding:6px;background:transparent;border:0;color:inherit;font-size:22px}.actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}input,select,textarea{border:1px solid #d8e1d7;background:#fff;border-radius:6px;padding:11px 12px;width:100%;color:#293c32}input:focus,select:focus,textarea:focus{outline:2px solid #90b6a4;outline-offset:1px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--green)}input[type=file]{font-size:12px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;font-weight:630;margin-bottom:10px}h2{font-size:18px;font-weight:600;margin-bottom:16px}p{color:#728278;line-height:1.8;font-size:13px}small{font-size:11px;color:#819084;display:block;line-height:1.8}a{color:#2c6b50;text-decoration:none;font-size:13px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:#7c9587;display:block;margin-bottom:12px}.app{display:flex;min-height:100vh}aside{width:242px;position:fixed;top:0;bottom:0;left:0;background:#172f28;color:#dce8df;display:flex;flex-direction:column;padding:27px 17px 0}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:21px;font-weight:600;letter-spacing:-.5px}.brand small{font-size:10px;color:#92ab9c;font-weight:400;margin-top:3px;letter-spacing:1px}.brandmark{width:37px;height:37px;background:#b9cf8c;color:#213f29;display:grid;place-items:center;border-radius:10px;font-size:26px;font-weight:800;font-style:italic}.env{font-size:10px;color:#85a58e;letter-spacing:.5px;padding:8px 10px;border:1px solid #ffffff15;border-radius:5px;display:inline-block;margin:23px 0 14px;background:#ffffff05}nav{flex:1;overflow:auto;padding-bottom:20px;scrollbar-width:thin}nav button{width:100%;background:transparent;border:0;text-align:left;padding:10px 13px;color:#a4bbad;font-weight:400;border-radius:5px;display:flex;align-items:center;gap:13px;font-size:12px;margin:2px 0}nav button>span{font-size:17px;width:20px;text-align:center;color:#84a791}nav button.selected{background:#355247;color:#f1f6ef;font-weight:550}nav button.selected>span{color:#d7e9a7}nav button b{margin-left:auto;background:#a5bb73;color:#173f28;padding:2px 6px;border-radius:10px}.identity{display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff14;padding:18px 0;font-size:12px}.identity>span{border:1px solid #668979;background:#375949;width:35px;height:35px;display:grid;place-items:center;border-radius:50%}.identity small{font-size:9px;color:#9eb5a6}.identity .icon{margin-left:auto}main{margin-left:242px;width:calc(100% - 242px);padding:0 38px 25px;max-width:1900px}header{height:77px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:11px;color:#7c8d81}.crumb{font-size:10px;letter-spacing:1px}.crumb span{margin:0 16px;color:#b6c2b6}.topright{display:flex;gap:22px;align-items:center}.online{color:#4f8061}.offline{color:#b48636}.pagehead{display:flex;justify-content:space-between;align-items:center;margin:35px 0 24px;gap:20px}.pagehead p{margin:0;font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.metrics section{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px}.metrics section>span{font-size:12px;color:#7c8b81}.metrics strong{display:block;font-size:37px;font-weight:500;letter-spacing:-1px;margin-top:17px}.metrics small{display:inline;margin-left:8px;font-weight:400}.metricline{height:3px;border-radius:2px;width:42px;background:#94b472;margin-top:18px}.feature{padding:38px 45px;background:#e4eadc;border:1px solid #d6e0cb;border-radius:11px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.feature h2{font-size:25px;line-height:1.65;font-weight:530;max-width:450px;letter-spacing:-.5px}.feature p{color:#71856b}.feature button{margin-top:8px}.flowvisual{width:190px;display:flex;flex-direction:column;text-align:center;align-items:center;font-size:12px;padding-right:30px}.flowvisual span{background:#f8faef;border:1px solid #cbd7bc;border-radius:6px;width:150px;padding:11px}.flowvisual i{font-style:normal;color:#9caa8f;font-size:15px;padding:4px}.flowvisual .emphasis{background:#526b41;color:#fff}.panel{border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:22px;padding:23px}.panel h2 small{display:inline;margin-left:8px;font-size:12px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:15px}.sectionhead h2{margin:0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{font-size:10px;color:#829084;font-weight:500;border-bottom:1px solid var(--line);padding:13px 12px;background:#f7f9f5;white-space:nowrap}td{border-bottom:1px solid #eef1eb;padding:17px 12px;line-height:1.7;max-width:400px}td b{font-weight:550}tr:last-child td{border-bottom:0}.badge{font-size:10px;color:#758476;background:#eff2eb;border:1px solid #e5eade;display:inline-block;padding:3px 9px;border-radius:5px;white-space:nowrap}.badge.good{color:#466e4e;background:#eef5e9;border-color:#dbe8d3}.badge.warn{color:#ad7a32;background:#fbf3e4;border-color:#eddfc3}.changed{font-size:10px;color:#bc833b}.lock{color:#a38040}.empty{text-align:center;padding:35px;color:#9baa9f;font-size:12px}.scanpanel{display:flex;justify-content:space-between;gap:30px;border:1px solid #d5dfcc;background:#eaf0e2;padding:36px;border-radius:11px;margin-bottom:24px}.scanpanel>div:first-child{flex:1}.scanpanel h2{font-size:27px;font-weight:500}.scaninput{display:flex;gap:10px;margin:25px 0 18px}.scaninput input{background:#fffef9;height:52px;font-size:15px}.scaninput button{white-space:nowrap}.scanstat{width:190px;border-left:1px solid #d3ddc9;padding-left:32px;display:flex;flex-direction:column;gap:12px;justify-content:center}.scanstat>span{font-size:11px;color:#7a8c73}.scanstat strong{font-size:29px;font-weight:500}.scanstat hr{border:0;border-top:1px solid #d3ddc9;width:100%}.linegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.linecard strong{font-size:28px;font-weight:500}.linecard strong small{display:inline;font-size:12px;font-weight:400}.linecard p{font-size:11px}.progress{height:5px;background:#edf1e7;margin:18px 0;border-radius:5px;overflow:hidden}.progress i{display:block;background:#809d63;height:100%}.notice{padding:15px 18px;background:#f4f7f0;border:1px solid #e1e8d8;border-radius:6px;font-size:12px;line-height:1.8;margin-bottom:18px;color:#6f7d64}.notice.success{background:#eaf3e4;color:#4d7148}.notice.warning{background:#fff5df;color:#9b783c}.listrow{display:flex;align-items:center;gap:17px;border-bottom:1px solid #edf0e9;padding:17px 0;font-size:12px}.listrow>div:first-child{flex:1}.listrow:last-child{border:0}.listrow b{font-weight:550}.hint{font-size:11px;color:#8b968a;margin-top:14px}.reviewbanner{background:#e5ebdc;border:1px solid #d8e3cc;border-radius:10px;padding:25px 30px;margin-bottom:22px}.reviewbanner>span{font-size:10px;color:#7c9470;letter-spacing:1px}.reviewbanner h2{font-size:23px;font-weight:500;margin:12px 0}.reviewbanner p{margin:0}.search{max-width:250px;font-size:12px}.toolbar{margin-top:24px}.pagefooter{font-size:9px;color:#9aaa9b;display:flex;justify-content:space-between;margin-top:40px;border-top:1px solid var(--line);padding-top:21px;letter-spacing:.5px}.veil{position:fixed;inset:0;background:#102c2266;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20;display:flex;align-items:center;justify-content:center;padding:25px}.modal{background:#fffefb;border:1px solid #dce3d4;border-radius:13px;padding:28px;max-width:720px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 15px 90px #12312230}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modalhead h2{margin:0}.modalhead .eyebrow{margin-bottom:7px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.formgrid label{font-size:12px;color:#60745f;display:flex;flex-direction:column;gap:8px}.formgrid label small{display:inline;color:#b59b77}.formgrid .wide{grid-column:span 2}.checks{display:flex;flex-wrap:wrap;gap:12px;padding:13px;border:1px solid #dce4d6;border-radius:6px}.checks label{flex-direction:row;align-items:center;font-size:11px}.modal footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.error{color:#a85b43;background:#fff0e8;border:1px solid #f0daca;padding:12px;font-size:12px;border-radius:5px;margin:16px 0}.toast{position:fixed;right:30px;bottom:30px;background:#214936;color:#fff;padding:17px 24px;border-radius:8px;box-shadow:0 5px 35px #1d3e3620;max-width:550px;font-size:13px;z-index:50}.qr{text-align:center;max-width:380px}.qr img{width:240px}.qr .actions{justify-content:center}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.detailgrid span{font-size:11px;color:#83917e;display:block}.detailgrid b{font-size:13px;font-weight:500}.change{padding:12px;background:#f5f7f0;border-radius:5px;margin:10px 0;font-size:12px;overflow-wrap:anywhere}.change p{font-size:11px;margin:8px 0;color:#74816b}.loading{display:grid;place-items:center;height:100vh;font-size:18px;color:#5b7563}.login{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.loginart{background:#1c392e;padding:58px 65px;color:#dfebdc;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.loginart:before{content:"";position:absolute;width:550px;height:550px;border:1px solid #526b4525;border-radius:50%;top:25%;left:35%;box-shadow:0 0 0 80px #62744709,0 0 0 160px #62744707}.loginart>*{position:relative}.loginart .brand{font-size:28px}.loginquote h1{font-size:45px;font-weight:420;line-height:1.5;letter-spacing:-1.5px;margin-top:20px}.loginquote p{color:#9cb49b;font-size:15px;line-height:2}.loginquote .eyebrow{color:#92ad79}.loginflow{display:flex;gap:15px;align-items:center;font-size:10px;color:#b0c6a5;margin-top:42px}.loginflow span{border:1px solid #ffffff1c;background:#ffffff04;border-radius:6px;padding:12px}.loginflow i{font-style:normal;color:#718c62}.loginart>small{font-size:10px;color:#92a990;letter-spacing:1px}.loginform{width:100%;max-width:470px;align-self:center;justify-self:center;padding:40px}.loginform .env{color:#8b9b6e;border-color:#dce4d4;margin:0 0 24px;background:#eef2e7}.loginform h2{font-size:28px;margin-bottom:12px;font-weight:550;letter-spacing:-.5px}.loginform p{font-size:12px}.tabs{display:flex;border-bottom:1px solid #dfe6d7;margin:27px 0 25px;gap:10px}.tabs button{border:0;background:transparent;color:#8e9b89;padding:10px 8px;border-radius:0}.tabs button.active{color:#3e6846;border-bottom:2px solid #54754b}.loginform form>label{font-size:12px;display:flex;flex-direction:column;gap:10px;margin:20px 0}.loginbtn{width:100%;padding:14px;margin-top:8px}.codefield{display:flex;gap:10px;align-items:flex-end}.codefield label{flex:1;display:flex;flex-direction:column;gap:10px;font-size:12px}.codefield button{height:42px;white-space:nowrap}.privacy{color:#9ca792;font-size:10px!important;margin-top:24px;line-height:1.8}.loginform>a{font-size:10px;color:#7c916f}@media(max-width:1100px){aside{width:208px}main{margin-left:208px;width:calc(100% - 208px);padding:0 22px}.metrics{gap:10px}.metrics section{padding:18px}.linegrid{grid-template-columns:1fr}.scanstat{display:none}.loginart{padding:45px}.loginquote h1{font-size:36px}.pagehead{align-items:flex-start}.pagehead .actions{max-width:220px}}@media(max-width:720px){aside{width:100%;height:auto;bottom:auto;padding:12px;position:relative;top:0;flex-direction:row;flex-wrap:wrap}.app{display:block}.brand{font-size:17px}.brandmark{width:29px;height:29px;font-size:21px}.brand small,.identity,.env{display:none}nav{display:flex;overflow:auto;width:100%;flex:none;gap:3px;padding:7px 0 0;margin-top:8px}nav button{width:auto;flex-shrink:0;font-size:11px;padding:8px 10px;gap:5px}nav button>span{font-size:13px}main{margin:0;width:100%;padding:0 16px}header{height:53px}.crumb{display:none}.topright{width:100%;justify-content:space-between}.pagehead{margin:24px 0 20px;display:block}.pagehead .actions{max-width:none;margin-top:16px}h1{font-size:26px}.metrics{grid-template-columns:repeat(2,1fr)}.metrics strong{font-size:31px;margin-top:10px}.metrics section{padding:18px}.feature{padding:25px}.feature h2{font-size:21px}.flowvisual{display:none}.panel{padding:17px}.scanpanel{padding:24px 18px}.scanpanel h2{font-size:22px}.scaninput{display:block}.scaninput button{width:100%;margin-top:10px}.sectionhead{flex-wrap:wrap}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}.veil{padding:12px}.modal{padding:20px}.listrow{flex-wrap:wrap}.pagefooter{display:block;line-height:2}.pagefooter span,.login{display:block}.loginart{padding:27px;min-height:230px}.loginquote h1{font-size:27px;margin-bottom:0}.loginquote p,.loginflow,.loginart>small{display:none}.loginquote .eyebrow{margin-top:26px}.loginform{padding:30px 24px;margin:auto}.toast{right:15px;left:15px;bottom:15px;font-size:12px}.loginart:before{width:300px;height:300px;left:60%;top:10%}}@media print{body{background:#fff}.app aside,main,.modal .actions,.toast{display:none!important}.veil{position:static;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.modal{border:0;box-shadow:none;margin:0;max-height:none}.qr{display:block;width:280px}.qr img{width:200px}}.labelpool{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.labelcard{border:1px dashed #b9c6b0;padding:14px;text-align:center;break-inside:avoid}.labelcard img{width:130px}.labelcard b{display:block;font-size:12px}.labelcard p{margin:5px 0;font-size:10px}.labelcard small{font-size:9px}.printpool{max-width:1000px}@media print{.labelpool{grid-template-columns:repeat(3,1fr)}.printpool{width:100%;max-width:none}.printpool .actions{display:none}.labelcard{margin:5px}.labelcard img{width:130px}}.installpage{min-height:100dvh;display:grid;place-items:center;padding:40px 20px;background:#f4f6ef}.installcard{background:#fff;border:1px solid #e1e6df;border-radius:28px;max-width:500px;padding:40px;text-align:center;width:100%;box-shadow:0 18px 60px #18372a0d}.appicon{width:96px;height:96px;border-radius:24px;display:block;margin:0 auto 24px}.installcard h1{font-size:28px;margin:10px 0}.devicebadge{display:block;font-size:13px;color:#637267;margin:20px 0}.installprimary{display:block;width:100%;padding:17px;border-radius:14px;background:#1c342c;color:#fff;text-decoration:none;font-size:17px;font-weight:600}.installsteps{text-align:left;background:#f4f6ef;border-radius:16px;padding:20px;margin:20px 0}.installsteps p{line-height:1.7}.installsteps small{color:#67776b}.installactions{display:flex;gap:10px;margin:24px 0 12px}.installactions button{flex:1}.installurl{display:block;word-break:break-all;font-size:12px;color:#6b7c70}.textlink{display:block;margin-top:20px;color:#345b46;font-size:13px}.homeinstall{display:inline-block;font-size:12px;color:#42634f;margin:10px 0;text-decoration:none}@media(max-width:600px){.installcard{padding:28px 20px}.installcard h1{font-size:24px}}.topright{flex-wrap:wrap}.datafilters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.datafilters label{font-size:12px;color:#637367;display:grid;gap:8px}.datafilters input,.datafilters select{width:100%}.periodgrid{display:flex;gap:12px;flex-wrap:wrap}.periodcard{text-align:left;display:grid;gap:8px;min-width:170px}.periodcard span{font-size:12px}.recordfield{display:block;margin:6px 0;word-break:break-word}.metrics .retention{font-size:22px}.detailgrid p{max-width:100%;overflow-wrap:anywhere}.modal>textarea{width:100%;margin-bottom:16px}@media(max-width:900px){.datafilters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.datafilters{grid-template-columns:1fr}}.manualportal{min-height:100vh}.manualheader{height:auto;min-height:92px;background:#203b32;color:#fff;padding:20px max(24px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;gap:20px}.manualheader .brand{color:#fff}.manualheader .actions{align-items:center}.manualheader .brand small{color:#becdc7}.manualmain{max-width:1120px;padding:42px 24px;margin:auto}.manualcards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:28px}.manualcard{display:block;text-align:left;background:#fff;color:#243d34;border:1px solid #dfe5dd;border-radius:16px;padding:30px}.manualcard h2{font-size:25px;margin:22px 0 14px}.manualcard p{color:#6e7a70;font-weight:400;line-height:1.8}.manualcard.chosen{border-color:#526d3c;box-shadow:0 0 0 2px #dbe5cb}.manualpending{padding:30px}.manuallinks{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px}@media(max-width:650px){.manualcards{grid-template-columns:1fr}.manualmain{padding:26px 16px}.manualheader{padding:16px;align-items:center;flex-wrap:wrap}.manualcard{padding:24px}}
