:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#17302b;background:#f5f1e9;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.52;cursor:not-allowed}
#app{max-width:760px;margin:auto;min-height:100vh;padding:0 0 96px}
.top{background:#122824;color:#fff;padding:22px 20px 20px;border-radius:0 0 28px 28px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.02em}.brand .mark{font-size:28px}
.top h1{font-size:27px;line-height:1.15;margin:24px 0 8px}.top p{margin:0;color:#c8d7cf;line-height:1.45}
.demo{background:#fff0c2;color:#573d00;border:1px solid #f0d77c;border-radius:12px;padding:10px 12px;margin:16px 16px 0;font-size:14px}
.content{padding:18px 16px 24px}.steps{display:flex;gap:6px;margin:0 0 20px}
.steps span{height:5px;border-radius:6px;background:#d4dcd4;flex:1}.steps span.on{background:#bf643e}
.eyebrow{text-transform:uppercase;color:#9b5a3b;font-size:11px;letter-spacing:.13em;font-weight:800;margin:0 0 6px}
h2{font-size:25px;line-height:1.18;margin:0 0 8px}h3{font-size:16px;margin:0 0 7px}p{line-height:1.45}.muted{color:#62726c;font-size:14px;margin:0 0 18px}
.card{border:1px solid #e0e4dd;background:#fff;border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:0 3px 12px #17302b08}
.store{display:block;width:100%;text-align:left}.store.selected{border:2px solid #b65331;background:#fff8f0}
.store strong{display:block;font-size:17px;margin-bottom:5px}.store small{display:block;color:#6c7972;line-height:1.35}
.notice{background:#e9f0e9;border-radius:14px;padding:12px 14px;color:#345649;font-size:14px;margin:14px 0}
.warning{background:#fff3e8;border-radius:14px;padding:12px 14px;color:#754629;font-size:14px;margin:14px 0}
.filters{display:flex;gap:8px;overflow:auto;padding-bottom:10px}.chip{background:#fff;border:1px solid #d9dfd7;border-radius:999px;padding:8px 14px;white-space:nowrap;color:#345248}.chip.active{background:#173f34;color:#fff;border-color:#173f34}
.product{display:flex;gap:14px;align-items:flex-start}.product-image{width:74px;height:74px;object-fit:cover;border-radius:12px;background:#e1e8df;flex:none}.product-placeholder{width:74px;height:74px;display:grid;place-items:center;border-radius:12px;background:#e1e8df;font-size:30px;flex:none}
.product-info{flex:1;min-width:0}.product-info h3{margin:1px 0 5px}.description{color:#718079;font-size:13px;line-height:1.35;margin:0 0 7px}.price{font-weight:800;color:#263d31;margin:6px 0}
.qty{display:flex;align-items:center;gap:8px;margin-top:8px}.qty input{width:66px;text-align:center;border:1px solid #d2dbd2;border-radius:10px;padding:8px 5px;background:white}.icon-button{width:34px;height:34px;border-radius:10px;border:1px solid #d2dbd2;background:#fff;color:#173f34;font-weight:800}
.add{background:#d56d43;color:white;border:0;border-radius:10px;padding:9px 12px;font-weight:700;margin-left:auto}.unavailable{color:#9d4835;font-size:13px;font-weight:700}
.field{display:block;margin:0 0 16px;font-weight:700;font-size:14px}.field span{display:block;margin-bottom:7px}.field input,.field textarea,.field select{display:block;width:100%;border:1px solid #ccd8ce;border-radius:12px;padding:12px;background:#fff;color:#17302b;outline-color:#b65331}.field textarea{min-height:80px;resize:vertical}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 18px}.choice{padding:14px 10px;background:#fff;border:1px solid #d9dfd7;border-radius:13px;font-weight:700}.choice.active{background:#eaf1e9;border:2px solid #2b684d}
.row{display:flex;justify-content:space-between;gap:10px;align-items:start}.line{border-bottom:1px solid #e8ece6;padding:10px 0}.line:last-child{border-bottom:0}.line small{color:#6b7972}
.total{display:flex;justify-content:space-between;font-size:18px;font-weight:800;margin:15px 0}
.footer{position:fixed;bottom:0;left:0;right:0;background:#f5f1e9ed;backdrop-filter:blur(12px);border-top:1px solid #dfe6dd;padding:12px 16px max(12px,env(safe-area-inset-bottom));z-index:5}
.footer-inner{max-width:728px;margin:auto;display:flex;gap:10px}.primary,.secondary{border:0;border-radius:12px;padding:14px 18px;font-weight:800}.primary{background:#bd5934;color:white;flex:1}.secondary{background:#e2e8e1;color:#244438}
.error{color:#a1372d;background:#fff0ec;border-radius:12px;padding:12px;margin:12px 0}.success{font-size:56px;text-align:center;margin:15px 0}.center{text-align:center}.link{background:none;border:0;color:#a44f30;text-decoration:underline;padding:5px}.loading{display:grid;place-content:center;min-height:80vh;text-align:center;color:#60756a}.spinner{width:30px;height:30px;border:3px solid #d1ded2;border-top-color:#c96139;border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:700px){.top{border-radius:0 0 28px 28px}.content{padding:24px 22px}.footer{padding-bottom:14px}}
