:root{font-family:Inter,system-ui,-apple-system,Arial,sans-serif;color:#142022;background:#f8faf8}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}h1{font-size:clamp(34px,8vw,54px);line-height:1.08;margin:18px 0 4px;letter-spacing:-.035em}h2{font-size:22px;margin:22px 0 14px}h3{font-size:18px;margin:0 0 6px}.brand{font-size:13px;color:#5c6c68;letter-spacing:.055em;font-weight:650}.muted{color:#78827e;margin:0}.hidden{display:none!important}.app{max-width:980px;margin:auto;padding:36px 24px 110px}.toprow{display:flex;justify-content:space-between;align-items:start;gap:16px}.user-button{border:0;background:#eaf7ef;color:#106647;border-radius:25px;padding:10px 15px;font-size:14px}.card{background:#fff;border:1px solid #e9eeeb;border-radius:18px;padding:18px;box-shadow:0 3px 16px #17452a08}.primary{border:0;border-radius:13px;background:#167a53;color:#fff;font-weight:700;min-height:54px;padding:14px 20px;width:100%}.secondary{border:1px solid #e4e9e6;border-radius:13px;background:white;color:#29343c;font-weight:650;min-height:52px;padding:12px 18px;width:100%}.soft{border:0;border-radius:12px;background:#e9f8ef;color:#126e4b;font-weight:650;min-height:42px;padding:8px 14px}.danger{color:#a23c38}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:grid;gap:12px}.section{margin-top:22px}.badge{border-radius:25px;padding:7px 12px;font-size:13px;font-weight:650;display:inline-block;background:#e7f8ee;color:#156d4d}.badge.warn{background:#fff3e2;color:#a16811}.badge.gray{background:#eff1f2;color:#626975}.badge.error{background:#fff0ed;color:#a23c38}.item{display:flex;gap:14px;align-items:center;width:100%;text-align:left;border:1px solid #ecf0ed;background:#fff;border-radius:16px;padding:12px}.thumb{width:68px;height:68px;object-fit:cover;border-radius:12px;background:#f2f4f2;flex:none}.item-content{min-width:0;flex:1}.item-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.item-top .badge{font-size:11px;padding:4px 8px;white-space:nowrap}.item-name{font-weight:700;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-bottom:5px}.item-arrow{font-size:20px;color:#929a96}.tiny{color:#858e8a;font-size:13px}.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.box-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid #e7ede8;background:#fff;border-radius:18px;padding:18px}.box-icon{font-size:36px;background:#eaf7ef;border-radius:12px;padding:10px}.box-text{flex:1}.box-title{font-size:22px;font-weight:750}.camera{border:2px dashed #cddbd2;border-radius:18px;text-align:center;padding:34px 18px;background:#f5faf6}.camera strong{display:block;font-size:42px}.camera input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.photo-strip{display:flex;gap:8px;overflow:auto;margin:14px 0}.photo-strip img{width:80px;height:80px;object-fit:cover;border-radius:10px}.actions{display:grid;gap:10px;margin-top:18px}.detail-hero{width:100%;max-height:330px;object-fit:contain;background:#fff;border-radius:16px}.large-price{font-size:36px;font-weight:800;margin:14px 0}.notice{background:#fff5e8;color:#8c5411;padding:18px;border-radius:16px;line-height:1.5}.login-wrap{max-width:460px;padding:60px 24px;margin:auto}.login-card{margin-top:45px;display:grid;gap:18px}.login-card label{display:grid;gap:8px;color:#66716d}.login-card input,.login-card select,.search{width:100%;min-height:50px;padding:12px;border:1px solid #dfe6e1;border-radius:12px;background:#fff}.error{color:#a23c38}.toast{position:fixed;z-index:9;bottom:100px;left:50%;transform:translateX(-50%);background:#263831;color:#fff;border-radius:12px;padding:13px 18px;max-width:90%;box-shadow:0 4px 20px #0002}nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e8eeea;display:flex;justify-content:center;padding:8px env(safe-area-inset-right) calc(8px + env(safe-area-inset-bottom)) env(safe-area-inset-left);box-shadow:0 -4px 18px #00000008}nav button{border:0;background:transparent;color:#858a94;display:grid;justify-items:center;gap:2px;width:min(33%,180px);min-height:58px;font-size:25px}nav button span{font-size:13px}nav button.active{color:#167a53;font-weight:700}nav button.active:after{content:"";width:52px;height:3px;background:#167a53;border-radius:4px;position:absolute;bottom:4px}@media(max-width:600px){.app{padding:28px 16px 110px}.card{padding:15px}.box-card{padding:14px}.box-title{font-size:19px}}@media(min-width:800px){.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}}

.sheet-backdrop{position:fixed;inset:0;z-index:10;background:#0a201750;display:flex;align-items:end;justify-content:center}.sheet{width:100%;max-width:520px;background:white;border-radius:24px 24px 0 0;padding:14px 22px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px #0002}.sheet-grip{width:42px;height:5px;background:#d1d8d3;border-radius:5px;margin:0 auto 16px}.sheet h2{margin:0 0 6px}.sheet input{display:block;width:100%;font-size:30px;font-weight:700;border:1px solid #d6e2da;border-radius:14px;padding:14px;margin-top:20px;min-height:62px}.sheet .actions{grid-template-columns:1fr 1fr}.sheet .actions button{min-width:0}@media(max-width:420px){.sheet .actions{grid-template-columns:1fr}.sheet .actions .secondary{order:2}}

header{position:relative}.toprow{display:block}.brand{max-width:calc(100% - 90px)}.user-button{position:absolute;top:-8px;right:0;white-space:nowrap;padding:9px 13px;font-size:13px}header h1{max-width:100%}

.stack{grid-template-columns:minmax(0,1fr);min-width:0}.item{min-width:0;max-width:100%}.item-content{min-width:0}.item .badge{max-width:118px;white-space:normal;text-align:center;flex:none}.two-col>div{min-width:0}

.filters{display:flex;gap:8px;overflow-x:auto;padding:14px 0 2px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filter{white-space:nowrap;border:1px solid #dfe8e2;background:#fff;color:#486057;border-radius:22px;padding:9px 13px;font-size:13px;font-weight:650;min-height:42px}.filter.active{background:#167a53;border-color:#167a53;color:white}.filter span{opacity:.75;margin-left:2px}.large-price{overflow-wrap:anywhere}
.install-banner{display:grid;grid-template-columns:44px minmax(0,1fr) 30px;gap:11px;align-items:start;margin-top:20px;padding:14px;border:1px solid #cce8d8;border-radius:17px;background:#eef9f2}.install-banner>img{width:44px;height:44px;border-radius:11px}.install-copy{display:grid;gap:4px;min-width:0}.install-copy strong{font-size:15px}.install-copy span,.install-copy p{font-size:13px;line-height:1.4;color:#536b5d;margin:0}.install-copy p{padding-top:7px}.install-banner #install-action{grid-column:2;justify-self:start;min-height:36px}.install-dismiss{grid-column:3;grid-row:1;border:0;background:transparent;color:#718477;font-size:26px;line-height:1;width:30px;height:30px;padding:0}
.scan-entry{display:flex;align-items:center;gap:14px;width:100%;min-height:82px;text-align:left;border:1px solid #bfe4cf;border-radius:18px;background:#eaf8ef;padding:14px;color:#163e2b}.scan-entry-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:14px;background:#167a53;color:white;font-size:30px}.scan-entry>span:nth-child(2){display:grid;gap:4px;flex:1}.scan-entry strong{font-size:17px}.scan-entry small{font-size:13px;color:#517561}.scan-note{margin:22px 4px;color:#6b7771;font-size:14px;line-height:1.5}
