:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;color:#26332e;background:#e9eeeb;font-size:16px;line-height:1.6;--accent:#285e52;--soft:#edf4ef;--muted:#626e68;--line:#dfe5e1;--paper:#f7f9f7}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #548e7a;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:25px;line-height:1.4;letter-spacing:-.03em}h2{font-size:18px;line-height:1.45}h3{font-size:16px}img{display:block;max-width:100%}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip-link{position:fixed;top:-100px;left:12px;z-index:50;background:#fff;padding:8px}.skip-link:focus{top:12px}.shell{max-width:480px;margin:auto;background:var(--paper);min-height:100dvh;position:relative;padding-bottom:calc(94px + env(safe-area-inset-bottom));overflow:clip}.topbar{height:74px;padding:0 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:3}.brand{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.brand img{width:33px;height:33px}.brand strong{font-size:17px;letter-spacing:.02em;display:block;line-height:1.3}.brand small{font-size:10px;color:var(--muted);letter-spacing:.1em}.demo-label{font-size:10px;border:1px solid #c9d8ce;border-radius:4px;padding:2px 6px;color:var(--accent);font-weight:600;white-space:nowrap}.icon-button{width:42px;height:42px;border:0;background:transparent;border-radius:8px;display:grid;place-items:center;flex:none}.demo-strip{padding:7px 20px;background:#eef3ef;font-size:11px;color:#59685f;display:flex;align-items:center;gap:6px}.demo-strip svg{width:13px;height:13px}.offline{display:none;background:#fff3d5;color:#715414}.offline.visible{display:flex}.content{padding:25px 20px}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:600;color:var(--accent);margin-bottom:6px}.muted{color:var(--muted);font-size:13px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.store-label{font-size:12px;margin-top:7px;color:var(--muted)}.welcome{border-left:3px solid var(--accent);padding:0 0 0 12px;margin:18px 0 24px}.welcome p{font-size:13px;margin-top:3px;color:var(--muted)}.search{position:relative;margin-top:22px}.search svg{position:absolute;left:13px;top:14px;color:var(--muted);width:19px;height:19px}.search input{width:100%;padding:12px 40px;border:1px solid #d0dbd3;border-radius:8px;background:white;height:48px;font-size:15px;color:#26332e}.search-clear{position:absolute;right:3px;top:3px;width:42px;height:42px;border:0;background:transparent}.search-clear svg{position:static;width:17px;height:17px}.categories{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:16px -20px 18px;padding:0 20px 4px}.chip{border:1px solid var(--line);background:#fff;border-radius:100px;padding:8px 16px;white-space:nowrap;font-size:13px;min-height:40px}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.list-note{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px;color:var(--muted)}.products{border-top:1px solid var(--line)}.product{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:76px minmax(0,1fr);gap:15px;align-items:center}.product-image{padding:8px;background:#eef2e9;border:0;border-radius:12px;aspect-ratio:1;display:grid;place-items:center;width:76px}.product-image img{width:64px;height:64px;object-fit:contain}.product-info{min-width:0}.product-heading{display:flex;align-items:center;justify-content:space-between;gap:4px}.product-name{padding:0;border:0;background:none;font-size:16px;font-weight:650;text-align:left}.product-code{font-size:10px;color:var(--muted);letter-spacing:.06em}.tag{font-size:9px;padding:1px 5px;color:#765b20;background:#f6efd9;border-radius:3px;white-space:nowrap}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px}.price{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.price small{font-size:11px;font-weight:400;color:var(--muted)}.stepper{display:flex;align-items:center;gap:1px}.stepper button{border:1px solid #d5dfd8;width:36px;height:36px;background:white;border-radius:7px;color:var(--accent);display:grid;place-items:center;padding:0}.stepper svg{width:15px;height:15px}.stepper output{width:29px;text-align:center;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--line);padding:7px 9px calc(7px + env(safe-area-inset-bottom));z-index:4}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;min-height:53px;color:#738078;position:relative}.nav-item svg{width:21px;height:21px}.nav-item.active{color:var(--accent);font-weight:700}.nav-item.active:before{content:"";height:3px;background:var(--accent);position:absolute;top:-8px;width:26px;border-radius:0 0 4px 4px}.badge{position:absolute;top:0;left:calc(50% + 5px);min-width:16px;height:16px;background:var(--accent);color:#fff;border-radius:20px;font-size:9px;text-align:center;padding:0 3px}.primary,.secondary,.text-button{min-height:48px;border-radius:8px;padding:12px 18px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.primary:hover{background:#204e43}.secondary{background:#fff;border:1px solid #cbd7cf;color:var(--accent)}.text-button{background:none;border:0;color:var(--accent)}.cart-cta{display:none;margin-top:0}.cart-cta.visible{display:flex;position:sticky;bottom:0;justify-content:space-between;margin:18px 0 0}.cart-cta .amount{margin-left:auto;font-size:16px}.cart-cta svg{width:18px}.quantity-label{background:#fff;border:1px solid var(--line);border-radius:6px;font-size:12px;padding:5px 9px;color:var(--muted)}.field{display:block;margin:23px 0}.field>span{font-size:13px;font-weight:650;display:flex;gap:8px;align-items:center;margin-bottom:8px}.field small{font-size:10px;font-weight:400;color:var(--muted)}.field input,.field textarea{width:100%;border:1px solid #cbd7cf;border-radius:7px;background:#fff;padding:12px;color:#26332e;font-size:16px;min-height:48px;display:block;max-width:100%}.field input{appearance:none}.field textarea{min-height:90px;resize:vertical}.field-note{font-size:11px;color:var(--muted);margin-top:7px}.error{font-size:12px;color:#a23c31;padding-top:5px;min-height:23px}.summary{border-top:1px solid var(--line);padding:18px 0}.summary-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:10px;gap:10px}.summary-row strong{font-variant-numeric:tabular-nums}.summary-row.total{border-top:1px solid var(--line);padding-top:15px;margin-top:15px;font-weight:600}.summary-row.total strong{font-size:25px;line-height:1.2}.order-note{font-size:11px;line-height:1.7;color:var(--muted);padding:11px 0 20px}.back-title{display:flex;align-items:center;gap:6px;margin-left:-9px}.back-title .icon-button{width:32px}.details-block{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin:20px 0}.detail-line{display:flex;justify-content:space-between;gap:16px;font-size:13px;margin:10px 0}.detail-line dt{color:var(--muted)}.detail-line dd{margin:0;text-align:right;overflow-wrap:anywhere}.confirm-item{display:flex;gap:12px;align-items:center;padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:16px}.confirm-item img{width:52px;height:52px;background:#eef2e9;border-radius:6px}.confirm-item div{flex:1}.confirm-item p{font-size:14px;font-weight:600}.confirm-item small{color:var(--muted);font-size:12px}.confirm-item strong{font-size:14px;white-space:nowrap}.status{color:var(--accent);font-size:11px;background:var(--soft);border-radius:5px;padding:4px 8px;white-space:nowrap}.status.done{background:#eef0ee;color:#636e67}.history-card{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin:14px 0}.history-card>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.order-number{font-size:11px;letter-spacing:.06em;color:var(--muted)}.history-card h2{font-size:15px;margin:14px 0 5px}.history-card .history-footer{margin-top:16px;border-top:1px solid var(--line);padding-top:13px;font-size:12px;color:var(--muted)}.history-card .history-footer strong{font-size:21px;color:#26332e}.history-card svg{width:18px}.empty{text-align:center;padding:58px 15px}.empty>svg{width:46px;height:46px;color:#819a8d;margin:0 auto 20px}.empty h2{font-size:19px;margin-bottom:10px}.empty p{font-size:13px;color:var(--muted);margin-bottom:25px}.success-mark{width:72px;height:72px;background:var(--soft);color:var(--accent);border-radius:50%;display:grid;place-items:center;margin:33px auto 22px}.success-mark svg{width:34px;height:34px}.complete-head{text-align:center}.complete-head h1{font-size:22px}.complete-head p{margin-top:12px;font-size:13px;color:var(--muted)}.demo-receipt{font-size:11px;text-align:center;color:var(--muted);margin-top:20px}.login{padding:42px 25px 25px}.login-hero{padding:20px 0 25px}.login-hero h1{font-size:29px;line-height:1.65;letter-spacing:-.04em;margin:20px 0 14px}.login-hero p{font-size:14px;color:var(--muted);line-height:1.9}.login-produce{display:flex;justify-content:center;align-items:center;background:#eef2e8;border-radius:14px;height:130px;margin:24px 0 30px}.login-produce img{width:94px;height:94px;object-fit:contain}.login-produce img:nth-child(2){margin-left:-9px;transform:translateY(7px)}.login-store{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.login-store small{font-size:11px;color:var(--muted)}.login-store strong{display:block;font-size:16px;margin-top:5px}.login-note{font-size:11px;color:var(--muted);text-align:center;line-height:1.9;margin-top:18px}.install-link{margin:20px 0 0;border-top:1px solid var(--line);padding-top:16px}.install-link button{font-size:12px;color:var(--accent);border:0;background:none;display:flex;align-items:center;gap:8px;margin:auto;min-height:42px}.login-shell{padding-bottom:24px}#toast{position:fixed;bottom:105px;left:50%;transform:translate(-50%,12px);max-width:calc(100% - 32px);width:max-content;z-index:15;background:#263c31;color:#fff;padding:10px 17px;border-radius:8px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:16px;padding:24px;max-width:min(420px,calc(100% - 28px));width:100%;color:#26332e;max-height:85dvh;overflow:auto;box-shadow:0 20px 80px #18302425}dialog::backdrop{background:#152a2059}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-6px -7px 15px 0}.dialog-head h2{font-size:19px}.dialog-head button{flex:none}.menu-row{background:#fff;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;padding:15px 0;min-height:50px;width:100%;border:0;border-bottom:1px solid var(--line);font-size:14px}.menu-row svg{width:17px}.menu-copy{font-size:13px;color:var(--muted);line-height:1.9;margin:14px 0 20px}.screen-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.screen-links a{padding:10px;border:1px solid var(--line);border-radius:7px;font-size:12px;text-align:center}.danger{color:#a23c31}.product-preview{margin:12px auto 25px;width:170px;height:150px;background:#eef2e8;border-radius:12px;display:grid;place-items:center}.product-preview img{width:130px;height:130px}.product-description{font-size:14px;color:var(--muted);margin:10px 0 18px}.product-modal-bottom{display:flex;align-items:center;justify-content:space-between;margin:20px 0}.install-steps{font-size:14px;line-height:1.9;padding-left:21px}.install-steps li{margin:12px 0}.small-note{font-size:11px;color:var(--muted);margin-top:18px}.footer-note{margin-top:25px;text-align:center;font-size:10px;color:#738078}.keyline{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
@media(min-width:600px){body{padding:28px 0}.shell{border:1px solid #d6dfd8;border-radius:18px;min-height:calc(100dvh - 56px);box-shadow:0 12px 40px #2340310b}.topbar{border-radius:18px 18px 0 0}.bottom-nav{border-radius:0 0 17px 17px;bottom:0}.login-shell{min-height:calc(100dvh - 56px)}}
@media(max-width:350px){.content{padding-left:15px;padding-right:15px}.topbar{padding:0 15px}.brand strong{font-size:16px}.demo-label{font-size:9px}.product{grid-template-columns:62px minmax(0,1fr);gap:10px}.product-image{width:62px}.product-image img{width:51px;height:51px}.stepper button{width:33px;height:36px}.stepper output{width:23px}.price{font-size:16px}.price small{font-size:10px}.product-name{font-size:15px}.tag{display:none}.categories{margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px}.login{padding-left:22px;padding-right:22px}.login-hero h1{font-size:26px}.login-produce img{width:78px;height:78px}}
.shell:has(.cart-cta.visible){padding-bottom:calc(160px + env(safe-area-inset-bottom))}.cart-cta.visible{position:fixed;bottom:calc(82px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 40px));margin:0;z-index:5;box-shadow:0 4px 18px #173e3025}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
