:root{color:#182238;background:#f5f7fc;font-family:Avenir Next,Nunito Sans,Trebuchet MS,sans-serif;font-synthesis:none}:root[data-theme=dark]{color:#eef3fc;background:#101827}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:inherit}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible{outline:3px solid #d78b4c;outline-offset:3px}.app-shell{width:100%;min-height:100vh;max-width:680px;margin:0 auto;background:#f5f7fc;box-shadow:0 0 0 1px #18223808}:root[data-theme=dark] .app-shell{background:#101827}.app-bar{height:74px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid #e2e7f0;background:#fafbfff5;position:sticky;top:0;z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}:root[data-theme=dark] .app-bar{background:#101827f2;border-color:#30476a}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:12px;color:#fff;background:#4579e2;font-size:24px;font-weight:900;line-height:1}.brand-name{margin-left:9px;letter-spacing:.06em;font-size:16px;font-weight:850}.app-actions{display:flex;align-items:center;gap:5px;margin-left:auto}.app-actions select{max-width:104px;height:40px;border:0;border-radius:10px;padding:0 3px;color:inherit;background:transparent;font-size:13px;font-weight:700}.icon-button{width:44px;height:44px;border:0;border-radius:13px;color:inherit;background:transparent;font-size:25px}.icon-button:hover{background:#e8effb}:root[data-theme=dark] .icon-button:hover{background:#293a5c}.landing{min-height:calc(100vh - 74px);display:flex;flex-direction:column;justify-content:center;padding:48px 24px 68px}.scanner-symbol{position:relative;width:126px;height:126px;margin-bottom:40px;border-radius:36px;background:#e8f0fe}.scanner-symbol:after{content:"";position:absolute;width:52px;height:52px;top:37px;left:37px;border:5px solid #4579e2;border-radius:10px}.scanner-symbol span{position:absolute;width:27px;height:27px;border-color:#4579e2;border-style:solid}.scanner-symbol span:nth-child(1){left:17px;top:17px;border-width:4px 0 0 4px;border-radius:9px 0 0}.scanner-symbol span:nth-child(2){right:17px;top:17px;border-width:4px 4px 0 0;border-radius:0 9px 0 0}.scanner-symbol span:nth-child(3){left:17px;bottom:17px;border-width:0 0 4px 4px;border-radius:0 0 0 9px}.scanner-symbol span:nth-child(4){right:17px;bottom:17px;border-width:0 4px 4px 0;border-radius:0 0 9px}:root[data-theme=dark] .scanner-symbol{background:#1c3155}h1,h2,p{margin-top:0}.landing h1{max-width:430px;margin-bottom:14px;font-size:clamp(29px,8vw,42px);line-height:1.08;letter-spacing:-.045em;font-weight:850}.landing p{max-width:365px;color:#64718a;line-height:1.48;font-size:16px;font-weight:600}:root[data-theme=dark] .landing p{color:#bac6d9}.primary-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:52px;gap:10px;margin-top:31px;border:0;border-radius:16px;padding:0 20px;color:#fff;background:#4579e2;box-shadow:0 7px 18px #4579e233;font-weight:800;font-size:15px}.primary-button:hover{background:#3567c7}.primary-button span{font-size:23px}.products-screen{padding:24px 16px 80px}.catalog-heading{display:flex;align-items:center;gap:8px;padding:0 4px 20px}.back-button{width:44px;height:44px;border:0;border-radius:14px;background:transparent;color:inherit;font-size:38px;line-height:20px}.back-button:hover{background:#e8effb}:root[data-theme=dark] .back-button:hover{background:#293a5c}.catalog-heading p{margin:0 0 3px;overflow:hidden;max-width:240px;color:#71809a;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.catalog-heading h1{margin:0;font-size:25px;letter-spacing:-.035em;font-weight:850}.catalog-controls{display:flex;gap:10px}.search-placeholder{height:48px;flex:1;display:flex;align-items:center;gap:10px;border:1px solid #e0e6f0;border-radius:15px;padding:0 15px;color:#8491a9;background:#fbfcff;text-align:left;font-size:14px;font-weight:700}.filter-button{width:48px;height:48px;border:1px solid #e0e6f0;border-radius:15px;color:#8491a9;background:#fbfcff;font-size:20px}:root[data-theme=dark] .search-placeholder,:root[data-theme=dark] .filter-button{border-color:#3a537a;color:#a2afc4;background:#17233b}.product-list{margin-top:20px;border:1px solid #e2e7f0;overflow:hidden;border-radius:20px;background:#fbfcff}:root[data-theme=dark] .product-list{border-color:#3a537a;background:#17233b}.product-row{width:100%;min-height:78px;display:flex;align-items:center;gap:12px;border:0;border-bottom:1px solid #e9edf4;padding:12px 14px;color:inherit;background:transparent;text-align:left}:root[data-theme=dark] .product-row{border-color:#304669}.product-row:last-child{border-bottom:0}.product-row:hover{background:#f1f5fe}:root[data-theme=dark] .product-row:hover{background:#203457}.product-disc{display:grid;flex:0 0 38px;height:38px;place-items:center;border-radius:13px;color:#4579e2;background:#e7effc;font-size:28px}:root[data-theme=dark] .product-disc{background:#294d87;color:#91bef8}.product-copy{min-width:0;flex:1;display:grid;gap:5px}.product-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800}.product-copy small{overflow:hidden;color:#72819b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650}.product-price{margin-left:auto;color:#4579e2;font-size:14px;white-space:nowrap;font-weight:850}:root[data-theme=dark] .product-price{color:#91bef8}.empty-catalog{display:flex;flex-direction:column;align-items:center;padding:74px 15px 10px;text-align:center}.empty-catalog>span{display:grid;width:62px;height:62px;place-items:center;margin-bottom:20px;border-radius:22px;color:#bd7140;background:#faeadc;font-size:33px}.empty-catalog h2{margin-bottom:8px;font-size:21px;letter-spacing:-.03em;font-weight:850}.empty-catalog p{max-width:280px;color:#71809a;font-size:14px;line-height:1.45;font-weight:600}.empty-catalog .primary-button{align-self:center;margin-top:17px}.loading,.inline-message{margin:26px 4px;color:#71809a;text-align:center;font-size:14px;font-weight:700}.inline-message{color:#b65b38}.sentinel{height:1px}.modal-backdrop,.sheet-backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:flex;align-items:end;justify-content:center;padding:12px;background:#0a142aa3}.scanner-card{width:min(100%,560px);overflow:hidden;border-radius:24px;background:#fbfcff;box-shadow:0 24px 70px #00000052}:root[data-theme=dark] .scanner-card,:root[data-theme=dark] .product-sheet{background:#17233b}.modal-header{display:flex;align-items:center;gap:12px;padding:16px 15px 12px 20px}.modal-header h2{flex:1;margin:0;font-size:18px;letter-spacing:-.025em;font-weight:850}.video-wrap{position:relative;overflow:hidden;aspect-ratio:1 / .82;background:#0e1526}.video-wrap video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;top:50%;left:50%;width:62%;aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.9);border-radius:20px;box-shadow:0 0 0 500px #00000042}.scan-frame.barcode{width:82%;height:36%;aspect-ratio:auto}.camera-hint{margin:0;padding:17px 20px 22px;color:#64728c;text-align:center;font-size:14px;font-weight:650}.camera-error{display:grid;gap:14px;padding:28px 20px;color:#64728c;line-height:1.45}.secondary-button{justify-self:start;min-height:44px;border:1px solid #ccd7e8;border-radius:13px;padding:0 16px;color:#4579e2;background:transparent;font-weight:800}.sheet-backdrop{align-items:end;padding:0}.product-sheet{width:min(100%,680px);position:relative;border-radius:26px 26px 0 0;padding:12px 24px calc(30px + env(safe-area-inset-bottom));background:#fbfcff;animation:rise .18s ease-out}.sheet-handle{width:40px;height:4px;margin:0 auto 21px;border-radius:4px;background:#ccd6e7}.sheet-close{position:absolute;top:20px;right:16px;width:38px;height:38px;border:0;border-radius:12px;color:inherit;background:transparent;font-size:25px}.eyebrow{margin-bottom:6px;color:#4579e2;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.product-sheet h2{max-width:calc(100% - 45px);margin-bottom:25px;font-size:25px;letter-spacing:-.035em;font-weight:850}.product-sheet dl{margin:0}.product-sheet dl div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid #e2e7f0}.product-sheet dt{color:#72819b;font-size:14px;font-weight:700}.product-sheet dd{max-width:58%;margin:0;text-align:right;font-size:14px;font-weight:800}.toast{position:fixed;z-index:12;right:16px;bottom:24px;left:16px;display:flex;align-items:center;justify-content:space-between;border-radius:16px;padding:14px 16px;color:#fff;background:#3c2a24;box-shadow:0 12px 28px #00000038;font-size:14px;font-weight:750}.toast button{width:32px;height:32px;margin-left:12px;border:0;border-radius:9px;color:inherit;background:#ffffff1f;font-size:20px}@keyframes rise{0%{transform:translateY(24px)}to{transform:translateY(0)}}.camera-error-actions{display:flex;flex-wrap:wrap;gap:8px}@media (min-width: 681px){body{padding:18px}.app-shell{min-height:calc(100vh - 36px);border-radius:28px;overflow:hidden}.landing{min-height:calc(100vh - 110px)}.app-bar{position:static}.primary-button{min-width:190px}}
