.ng-scanner{max-width:660px}.ng-scanner #scan-close{font-size:26px;line-height:1}.ng-scanner p{line-height:1.6}.scan-upload{padding:24px 18px;margin:24px 0;border:1.5px dashed #a2b4ab;border-radius:20px;text-align:center;background:#f2f8f2}.scan-upload h3{margin:8px 0}.scan-camera-icon{display:block;font-size:46px;color:#38734e;line-height:1}.scan-file-button{position:relative;display:inline-flex;cursor:pointer}.scan-file-button input{position:absolute;width:1px;height:1px;opacity:0;inset:auto;overflow:hidden}.scan-file-button:focus-within{outline:3px solid #113fca;outline-offset:4px}.scan-preview{display:block;max-height:300px;width:100%;object-fit:contain;background:#eef2ed;border-radius:18px;margin:18px 0}.scan-preview[hidden]{display:none}.scan-consent{display:flex!important;align-items:flex-start;gap:12px;margin-top:20px;font-size:13px!important;font-weight:400!important;line-height:1.6}.scan-consent input{width:18px!important;height:18px!important;flex:0 0 18px;margin-top:3px}.scan-notice{margin-top:26px;padding-top:18px;border-top:1px solid #dce3db;color:#5b665e;font-size:12px}.scan-total{padding:24px 18px;margin:20px 0 12px;border-radius:18px;background:#eaf4e8;color:#245a34;font-size:clamp(24px,5vw,36px);font-weight:700;line-height:1.25}.scan-food{padding:18px 0;border-bottom:1px solid #e2e7e0}.scan-food h4{font-size:18px;margin:0 0 6px}.scan-food input{display:block;width:150px;border:1px solid #b6c2b6;border-radius:9px;padding:10px;margin-top:6px;color:#1c3320;background:#fff;font:inherit}.scan-food label{font-weight:600;font-size:12px}#scan-results>.ng-button{margin-top:24px}.ng-scanner button:disabled{opacity:.5;cursor:not-allowed}.ng-scanner .ng-fine-print{font-size:12px;color:#647168}.ng-scanner textarea{min-height:78px}@media(max-width:480px){.scan-upload{padding:18px 12px}.ng-scanner .scan-file-button{white-space:normal}}
.ng-scanner .scan-file-button input{width:1px!important;height:1px!important;min-height:0!important;max-width:1px!important;padding:0!important;border:0!important;margin:0!important;left:0;top:0;clip-path:inset(50%)}
