:root{--g:#0f6b4f;--g2:#0b5a42;--gl:#e8f4ef;--ink:#16202b;--mut:#5f6b7a;--line:#e1e6ec;--bg:#f4f6f8;--err:#b42318;--warn:#b54708;--r:14px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);padding-bottom:env(safe-area-inset-bottom)}
.top{position:sticky;top:0;z-index:5;background:var(--g);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 16px}
.top .brand{color:#fff;font-weight:800;font-size:18px;text-decoration:none}.top nav a{color:#fff;opacity:.9;text-decoration:none;margin-left:14px;font-size:14px}
main{max-width:680px;margin:0 auto;padding:14px 12px 90px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:12px}
.center{text-align:center}h1{font-size:22px;margin:4px 0 4px}h2{font-size:18px;margin:0 0 10px}h3{font-size:15px;margin:14px 0 8px}
.sub{color:var(--mut);margin:0 0 14px;font-size:14px}.mut{color:var(--mut);font-size:14px}.small{font-size:13px}
.progress{display:flex;gap:4px;margin:2px 0 14px}.progress i{flex:1;height:5px;border-radius:9px;background:#d8dee5}.progress i.on{background:var(--g)}
.steplbl{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choices.one{grid-template-columns:1fr}
.choice{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:16px;min-height:96px;cursor:pointer;font:inherit;color:inherit;width:100%}
.choice:hover{border-color:#b9c6d2}.choice.sel{border-color:var(--g);background:var(--gl)}.choice b{font-size:17px}.choice span{font-size:13px;color:var(--mut)}.choice .ic{font-size:26px;line-height:1}
.choice[disabled]{opacity:.45;cursor:not-allowed}
label.f{display:block;font-size:14px;font-weight:600;margin:12px 0 4px}label.f .req{color:var(--err)}.help{font-size:12.5px;color:var(--mut);margin:-1px 0 4px}
input,select,textarea{width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid #cdd5de;border-radius:10px;background:#fff;color:inherit}
textarea{min-height:84px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #b8e0cf;border-color:var(--g)}
.bad{border-color:var(--err)!important;background:#fff8f7}.errtxt{color:var(--err);font-size:13px;margin-top:3px}
.yn{display:flex;gap:8px}.yn button{flex:1}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:420px){.row2{grid-template-columns:1fr}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--g);color:#fff;border:0;border-radius:12px;padding:14px 18px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;min-height:50px}
.btn:hover{background:var(--g2)}.btn.full{width:100%}.btn.ghost{background:#fff;color:var(--ink);border:1px solid #cdd5de}.btn.ghost.sel{border:2px solid var(--g);background:var(--gl)}.btn.link{background:none;color:var(--g);padding:6px;min-height:0}
.btn[disabled]{opacity:.55;cursor:wait}
.bar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom));z-index:6}
.bar .in{max-width:680px;margin:0 auto;display:flex;gap:10px;align-items:center}.bar .tot{flex:1;font-size:13px;color:var(--mut)}.bar .tot b{display:block;font-size:18px;color:var(--ink)}
.item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.item:last-child{border-bottom:0}
.item .nm{flex:1;min-width:0}.item .nm b{display:block;font-size:15px}.item .nm span{font-size:13px;color:var(--mut)}
.qty{display:flex;align-items:center;border:1px solid #cdd5de;border-radius:10px;overflow:hidden}.qty button{width:40px;height:40px;border:0;background:#f2f5f8;font-size:20px;cursor:pointer}.qty b{min-width:32px;text-align:center}
.kg{width:86px;padding:9px}
.cat{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin:16px 0 0}
.search{margin-bottom:6px}
.sum{width:100%;border-collapse:collapse;font-size:14.5px}.sum td{padding:8px 0;border-bottom:1px solid var(--line);vertical-align:top}.sum td.n{text-align:right;white-space:nowrap;padding-left:10px}.sum tr.t td{font-weight:800;font-size:16px;border-bottom:0}
.review dt{font-size:12.5px;color:var(--mut);margin-top:8px}.review dd{margin:0;font-weight:600;word-break:break-word}
.edit{float:right;font-size:13px}
.notice{background:#fff7e6;border:1px solid #f5d9a8;color:#7a4b00;border-radius:12px;padding:12px;font-size:14px;margin:10px 0}
.ok{background:var(--gl);border:1px solid #bfe0d2;color:#0b4d38;border-radius:12px;padding:12px;font-size:14px;margin:10px 0}
.err{background:#fff1f0;border:1px solid #f4c7c3;color:var(--err);border-radius:12px;padding:12px;font-size:14px;margin:10px 0}
.big-ok{font-size:46px;line-height:1;margin:6px 0}
.pill{display:inline-block;font-size:12px;padding:3px 9px;border-radius:99px;background:#eef1f4;color:#3b4654}.pill.g{background:var(--gl);color:#0b4d38}.pill.w{background:#fff3df;color:var(--warn)}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.thumbs div{width:72px;height:72px;border-radius:10px;background:#eef1f4 center/cover;position:relative}.thumbs div.up{opacity:.5}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:12px 0}.check input{width:22px;height:22px;flex:none;margin-top:1px}
.sheet{position:fixed;inset:0;background:rgba(10,20,30,.5);z-index:20;display:flex;align-items:flex-end;justify-content:center}
.sheet .box{background:#fff;width:100%;max-width:560px;border-radius:18px 18px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto}
@media(min-width:700px){.sheet{align-items:center}.sheet .box{border-radius:18px}}
.foot{max-width:680px;margin:0 auto;padding:0 14px 110px;color:var(--mut);font-size:12.5px;text-align:center}
.foot a{color:var(--mut)}
.plist td{font-size:14px}.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.links{display:grid;gap:8px}.links a{display:block}
.sheet[hidden],[hidden]{display:none!important}
