*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#17212b;-webkit-tap-highlight-color:transparent;direction:rtl;background:#f4f8fa;font-family:Arial,Tahoma,sans-serif}button{font-family:inherit}.app{justify-content:center;min-height:100vh;padding:18px 14px 28px;display:flex}.app-shell{flex-direction:column;width:100%;max-width:460px;display:flex}.brand-header{justify-content:center;align-items:center;gap:13px;padding:8px 4px 20px;display:flex}.brand-logo{object-fit:cover;border-radius:20px;width:76px;height:76px;box-shadow:0 8px 22px #0000001a}.brand-text{text-align:right}.brand-text h1{color:#079bd4;margin:0;font-size:28px;font-weight:800}.brand-text p{color:#6c7880;margin:5px 0 0;font-size:14px}.welcome,.scanner-card,.result-card,.message-card{background:#fff;border-radius:26px;box-shadow:0 12px 35px #162f3c14}.welcome{text-align:center;padding:34px 23px 27px}.welcome-icon{color:#079bd4;background:#e8f7fc;border-radius:22px;place-items:center;width:70px;height:70px;margin:0 auto 20px;font-size:40px;font-weight:700;display:grid}.welcome h2,.scanner-title h2,.message-card h2{margin:0;font-size:22px}.welcome p{color:#6e777d;max-width:310px;margin:12px auto 28px;font-size:15px;line-height:1.8}.scan-button{color:#fff;cursor:pointer;background:#079bd4;border:0;border-radius:17px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:58px;font-size:18px;font-weight:800;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 9px 20px #079bd438}.scan-button:active{transform:scale(.98);box-shadow:0 5px 13px #079bd42e}.button-icon{font-size:27px;line-height:1}.link-button{color:#079bd4;cursor:pointer;background:0 0;border:0;width:100%;margin-top:14px;padding:6px;font-size:14px;font-weight:700;display:block}.link-button:hover{text-decoration:underline}.manual-entry{gap:8px;margin-top:16px;display:flex}.manual-input{text-align:right;color:#17212b;direction:ltr;background:#f8fafb;border:1px solid #e1e5e8;border-radius:14px;flex:1;min-height:50px;padding:0 14px;font-size:15px}.manual-input:focus{background:#fff;border-color:#079bd4;outline:none}.manual-submit{color:#fff;cursor:pointer;background:#079bd4;border:0;border-radius:14px;min-width:78px;min-height:50px;font-size:15px;font-weight:800}.manual-submit:disabled{cursor:not-allowed;background:#b9d9e6}.scanner-card{padding:18px}.scanner-title{text-align:center;padding:5px 5px 17px}.scanner-title p{color:#707a80;margin:7px 0 0;font-size:14px}.camera-box{background:#101820;border-radius:21px;min-height:270px;position:relative;overflow:hidden}#reader{width:100%;min-height:270px}#reader video{object-fit:cover;border-radius:21px;min-height:270px;display:block;width:100%!important;height:100%!important}#reader img{display:none!important}#reader__scan_region{min-height:270px!important}.scan-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scan-corners{border:3px solid #ffffffe6;border-radius:12px;width:78%;height:120px;box-shadow:0 0 0 999px #00000038}.scan-line{background:#ffffffe6;width:70%;height:2px;animation:2s ease-in-out infinite scanLine;position:absolute}@keyframes scanLine{0%,to{opacity:.45;transform:translateY(-52px)}50%{opacity:1;transform:translateY(52px)}}.torch-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1018208c;border:0;border-radius:50%;place-items:center;width:46px;height:46px;font-size:20px;transition:background .15s;display:grid;position:absolute;bottom:14px;left:14px}.torch-button.torch-on{color:#17212b;background:#f5a623}.camera-loading{color:#fff;background:#09141bc2;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:15px;display:flex;position:absolute;inset:0}.spinner{border:3px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.spinner-dark{border:3px solid #079bd433;border-top-color:#079bd4;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.cancel-button{color:#4f5a61;cursor:pointer;background:#fff;border:1px solid #e1e5e8;border-radius:15px;width:100%;min-height:52px;margin-top:13px;font-size:16px;font-weight:700}.searching-card{text-align:center;padding:38px 22px}.searching-card h2{color:#17212b}.barcode-inline{color:#8a949a;letter-spacing:.5px;margin:10px 0 0;font-size:14px}.result-card{padding:22px}.success-badge{color:#16834a;background:#eaf8f0;border-radius:999px;align-items:center;min-height:34px;padding:7px 12px;font-size:13px;font-weight:800;display:inline-flex}.product-result{margin-top:20px}.result-label{color:#8a949a;margin:0 0 6px;font-size:13px}.product-name{color:#17212b;margin:0;font-size:23px;line-height:1.65}.price-box{text-align:center;background:#f1f9fc;border-radius:20px;margin-top:20px;padding:18px}.price-label{color:#71818a;margin-bottom:4px;font-size:14px;display:block}.price{color:#079bd4;direction:rtl;font-size:38px;font-weight:900}.price span{font-size:19px;font-weight:800}.availability{border-radius:16px;justify-content:center;align-items:center;gap:9px;min-height:52px;margin-top:14px;font-size:17px;font-weight:800;display:flex}.available{color:#16834a;background:#eaf8f0}.not-available{color:#c44343;background:#fff0f0}.status-dot{background:currentColor;border-radius:50%;width:10px;height:10px}.barcode-display{text-align:center;background:#f6f7f8;border-radius:14px;margin:16px 0 20px;padding:13px}.barcode-display span{color:#8a949a;margin-bottom:5px;font-size:12px;display:block}.barcode-display strong{letter-spacing:.5px;direction:ltr;font-size:15px;display:block}.message-card{text-align:center;padding:30px 22px 24px}.message-icon{color:#c44343;background:#fff0f0;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 16px;font-size:28px;font-weight:900;display:grid}.message-card p{color:#737d83;margin:10px auto 25px;font-size:14px;line-height:1.7}.error-card .manual-entry{max-width:340px;margin-left:auto;margin-right:auto}footer{color:#89939a;flex-direction:column;align-items:center;gap:5px;padding:22px 5px 0;font-size:12px;display:flex}footer span:first-child{font-weight:800}@media (width<=360px){.app{padding:12px 10px 22px}.brand-logo{border-radius:17px;width:64px;height:64px}.brand-text h1{font-size:24px}.welcome,.scanner-card,.result-card,.message-card{border-radius:22px}.price{font-size:34px}}
