:root{--teal:#007e72;--ink:#143c37;--muted:#60756f;--bg:#f3f6f3;--line:#dce5df;--soft:#e8f0eb;--radius:22px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);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,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #56b9aa;outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.app-shell{max-width:740px;margin:auto;min-height:100dvh}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(20px + env(safe-area-inset-top)) 24px 20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px}.brand img{border-radius:9px}.brand small{font-weight:500;font-size:14px}.brand-divider{color:#b7c6bd;margin:0 9px;font-weight:300}.icon-button{width:36px;height:36px;border:1px solid #cbd8d0;border-radius:50%;background:transparent;color:var(--ink);font-size:19px}main{padding:28px 24px calc(102px + env(safe-area-inset-bottom))}.page-heading{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700}h1{font-size:35px;letter-spacing:-1.2px;line-height:1.08;margin:8px 0 10px}h2{font-size:22px;letter-spacing:-.6px;line-height:1.2;margin:0}h3{font-size:17px;margin:0 0 8px}p{font-size:14px;line-height:1.5;margin:0}.page-heading p{color:var(--muted)}.version-chip{white-space:nowrap;border:1px solid var(--line);padding:6px 9px;border-radius:20px;font-size:10px;color:var(--muted);margin-top:2px}.scan-card{background:#00786d;color:white;border-radius:24px;padding:25px 22px 17px;box-shadow:0 10px 25px #004a3c10}.scan-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.scan-card .eyebrow{color:#ace4d2}.scan-card h2{font-size:26px;line-height:1.17;letter-spacing:-.8px;margin-top:10px}.qr-art{width:74px;flex:none;stroke:#b5f0d9;stroke-width:3;fill:none;opacity:.9;transform:rotate(5deg)}.scan-card p{color:#c3e6db;font-size:12px;margin:18px 0}.button{display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:13px;min-height:50px;padding:13px 18px;font-size:15px;font-weight:650;width:100%;text-align:center}.scan-primary{background:#e7f6ca;color:#164c3f;text-align:left;justify-content:flex-start;min-height:57px}.scan-primary>span:first-child{font-size:27px}.arrow{margin-left:auto;font-size:21px}.scan-alternatives{display:flex;justify-content:center;align-items:center;gap:17px;margin-top:8px}.scan-alternatives button{border:0;background:none;color:#d3ede3;font-size:12px;padding:10px 0;min-height:40px}.scan-alternatives>span{opacity:.4}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:23px}.overview{margin-top:30px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.overview h2{font-size:18px}.small-label{font-size:8px;font-weight:700;letter-spacing:1px;color:#85988e;white-space:nowrap}.analytics-card{display:flex;gap:16px;align-items:center;transition:background .15s}.analytics-card:hover{background:#f9fcf6}.analytics-card h3{font-size:16px;margin-bottom:6px}.analytics-card p{font-size:12px;color:var(--muted)}.card-arrow{margin-left:auto;color:#588374;font-size:21px}.chart-icon{height:42px;width:45px;display:flex;align-items:flex-end;gap:5px;padding:3px 1px 3px;border-bottom:1px solid #c8d7cf;flex-shrink:0}.chart-icon i{width:7px;background:#4d9f85;border-radius:3px 3px 0 0}.chart-icon i:nth-child(1){height:50%;background:#b6d5b3}.chart-icon i:nth-child(2){height:90%;background:#007e72}.chart-icon i:nth-child(3){height:65%}.chart-icon i:nth-child(4){height:40%;background:#98c6ad}.info-row{display:flex;gap:10px;margin:14px 6px 0;align-items:flex-start;color:var(--muted)}.info-row p{font-size:12px}.info-dot{width:6px;height:6px;background:#609b7b;border-radius:50%;margin-top:6px;flex:none}.install-card{margin-top:27px;background:transparent;border:1px dashed #bfcfc2;border-radius:16px;padding:15px 16px;display:flex;align-items:center;gap:12px;width:100%;color:var(--ink);text-align:left}.install-card strong{font-size:13px;display:block}.install-card small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.install-card>span:last-child{margin-left:auto}.install-icon{background:#e4eddf;border-radius:9px;padding:4px 8px;font-size:21px}footer{display:flex;justify-content:space-between;gap:10px;color:#7b9083;font-size:10px;margin-top:25px}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);max-width:740px;width:100%;display:flex;justify-content:space-around;align-items:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#f9fbf8ed;backdrop-filter:blur(20px);border-top:1px solid var(--line)}.bottom-nav button,.bottom-nav a{color:#73877c;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;min-width:78px;padding:0 14px}.bottom-nav span{font-size:25px;line-height:1.1}.bottom-nav .active{color:var(--teal)}.notice{margin-top:16px;border-left:3px solid var(--teal);padding:9px 13px;font-size:13px;background:#e6f0e8;border-radius:0 9px 9px 0}.session-card,.result-card{margin-top:20px}.muted{color:var(--muted);margin-top:8px}.text-button{border:0;background:none;color:var(--teal);font-size:13px;padding:10px 4px;min-height:40px;display:inline-block}.danger{color:#8b614c}.steps{list-style:none;padding:0;margin:21px 0 13px}.steps li{display:flex;gap:12px;margin:0 0 18px}.steps li>div{min-width:0;flex:1}.step-number{height:23px;width:23px;flex:none;border-radius:50%;background:#e7f0e7;display:grid;place-items:center;font-size:11px;color:#477766;font-weight:700}.step-label{font-size:11px;color:var(--muted);margin:3px 0 6px}.steps strong{display:block;font-size:15px;line-height:1.4;overflow-wrap:anywhere}.small-button{background:#edf4ed;border:0;border-radius:9px;color:var(--teal);font-size:12px;padding:10px 12px;min-height:41px;margin-top:8px}.primary{background:var(--teal);color:#fff}.primary span{margin-left:auto}.subtle{background:#edf3ed;color:var(--teal);margin-top:8px}.hint{font-size:11px;color:var(--muted);line-height:1.5;margin-top:9px}.next-hint{font-size:12px;color:var(--teal);margin:12px 0}select,input,textarea{max-width:100%;border:1px solid #c6d5ca;border-radius:9px;background:#fff;color:var(--ink);padding:11px;font-size:16px}select{width:100%;margin-top:10px}input[type=number]{width:100%;min-width:0}.piece-entry{display:flex;gap:7px;align-items:stretch;margin-top:10px}.piece-entry button{margin:0;flex-shrink:0}.batch-choice{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:12px}.batch-choice input{accent-color:var(--teal);width:19px;height:19px}.result-card h2{margin-top:8px}.result-card .button{margin-top:17px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}dialog{color:var(--ink)}dialog::backdrop{background:#102d2680;backdrop-filter:blur(3px)}.sheet{border:0;border-radius:23px;padding:24px;max-width:500px;width:calc(100% - 28px);max-height:85dvh;overflow:auto;box-shadow:0 12px 50px #001c2840}.sheet-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px}.sheet-top h2{font-size:22px}.sheet-top button{background:#edf3ed;border:0;border-radius:50%;font-size:23px;color:var(--ink);width:35px;height:35px;flex:none}.sheet p{margin:12px 0}.sheet h3{margin-top:23px}.sheet form label{display:block;font-size:12px;margin:18px 0 7px}.sheet textarea{width:100%;resize:vertical;margin-bottom:14px}.help-steps{padding-left:20px;font-size:14px;line-height:1.6}.help-steps li{margin-bottom:10px}.message-actions{display:flex;gap:9px;margin-top:20px}.message-actions .button{margin-top:0}.camera-dialog{border:0;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100dvh;background:#0e2021;color:#fff;overflow:hidden}.camera-shell{height:100%;display:flex;flex-direction:column}.camera-header{display:flex;align-items:center;gap:14px;padding:calc(15px + env(safe-area-inset-top)) 19px 18px;flex:none}.camera-header h2{font-size:23px}.camera-header p{font-size:12px;color:#9dd4c4;margin-top:5px}.camera-back{background:#ffffff12;color:#fff;border:0;border-radius:50%;width:42px;height:42px;font-size:23px}.viewfinder{position:relative;min-height:160px;flex:1;overflow:hidden;background:#071314}.viewfinder video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.aim{position:absolute;width:76%;aspect-ratio:1;max-height:76%;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid #bbecd244;border-radius:16px;box-shadow:0 0 0 2000px #02121155;pointer-events:none}.aim i{position:absolute;width:26px;height:26px;border-color:#c8f99e;border-style:solid}.aim i:nth-child(1){top:-1px;left:-1px;border-width:3px 0 0 3px;border-radius:16px 0 0}.aim i:nth-child(2){top:-1px;right:-1px;border-width:3px 3px 0 0;border-radius:0 16px 0 0}.aim i:nth-child(3){bottom:-1px;right:-1px;border-width:0 3px 3px 0;border-radius:0 0 16px}.aim i:nth-child(4){bottom:-1px;left:-1px;border-width:0 0 3px 3px;border-radius:0 0 0 16px}.viewfinder-label{position:absolute;left:15px;right:15px;bottom:13px;text-align:center;font-size:11px;color:#d6eee0}.camera-controls{padding:16px 18px calc(17px + env(safe-area-inset-bottom));flex:none}.camera-controls p{font-size:12px;color:#cfdfd9;min-height:36px;line-height:1.4}.camera-actions{display:flex;gap:8px;margin-top:10px}.camera-actions .button{min-height:45px;background:#e4f4cb;color:#143c37;font-size:12px;padding:8px}.zoom-control{display:flex;align-items:center;gap:10px;font-size:12px;margin:8px 0}.zoom-control input{padding:0;flex:1;min-width:50px;accent-color:#b8eaa7}.zoom-control output{min-width:30px}@media(min-width:600px){main{padding:35px 40px 115px}header{padding-left:40px;padding-right:40px}.scan-card{padding:29px 28px 20px}.qr-art{width:98px}.scan-card h2{font-size:32px}.page-heading h1{font-size:41px}.sheet{padding:28px}.camera-shell{max-width:740px;margin:auto}}@media(max-width:360px){header{padding-left:17px;padding-right:17px}main{padding-left:17px;padding-right:17px}.brand small{font-size:12px}.scan-card h2{font-size:23px}.qr-art{width:57px}.small-label{display:none}.version-chip{display:none}.analytics-card{padding:18px;gap:11px}.scan-card{padding-left:19px;padding-right:19px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.camera-retry{background:none;border:0;color:#b8eaa7;font-size:12px;min-height:36px;padding:5px 0;margin-top:3px}.session-card,.result-card{scroll-margin-top:18px}

.external-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle;flex:none}
