:root{font-family:Tahoma,"Noto Sans Thai",sans-serif;color:#16352e;background:#f1f6f3;font-size:18px;line-height:1.6;color-scheme:light;--green:#087454;--border:#bed0c5}*{box-sizing:border-box}body{margin:0;padding-bottom:calc(104px + env(safe-area-inset-bottom))}header{background:#fff;border-bottom:1px solid #dce8e0;padding:20px max(20px,calc((100% - 680px)/2));padding-top:calc(20px + env(safe-area-inset-top))}.brand{font-size:20px;font-weight:bold;color:#076347}header p{margin:2px 0;color:#53675d;font-size:16px}main{max-width:720px;margin:auto;padding:20px}h1{font-size:26px;line-height:1.4;margin:0 0 18px}h2{font-size:22px}p{margin:10px 0}button,input,select,textarea{font:inherit}button{min-height:54px;padding:12px 18px;border:1px solid transparent;border-radius:14px;background:var(--green);color:white;cursor:pointer;font-weight:bold}button:disabled{opacity:.55;cursor:wait}button:hover:not(:disabled){filter:brightness(.95)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #df981b;outline-offset:3px}input,select,textarea{min-height:54px;width:100%;border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff;color:#16352e}label{display:block;font-weight:bold;margin:16px 0 6px}.card{background:#fff;border:1px solid #dae6dd;border-radius:22px;padding:24px;margin-bottom:18px;box-shadow:0 6px 24px #16352e06}.muted{color:#54675e;font-size:16px}.person{background:#eaf5ed;border-radius:12px;padding:12px 16px;margin-bottom:18px}.primary{width:100%;margin-top:22px;min-height:62px;font-size:20px}.secondary{background:#fff;border-color:#80a490;color:#174c37}.link{background:transparent;color:#176744;border:0}.weight{font-size:40px;font-weight:bold;height:84px;text-align:center}.weight-wrap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile{background:#fff;color:#16553d;border:2px solid #bcdbca;min-height:110px;font-size:20px;display:flex;align-items:center;justify-content:center;flex-direction:column}.tile .icon{font-size:32px}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#fff;border-top:1px solid #d4e1d7;padding:8px 10px calc(8px + env(safe-area-inset-bottom));z-index:3}nav button{flex:1;max-width:220px;background:white;color:#506358;padding:6px;font-size:23px;border-radius:12px}nav button span{display:block;font-size:16px}nav button.selected{color:#065d40;background:#e1f2e7}.notice{background:#e1f2e7;border-radius:12px;padding:14px;margin-bottom:16px}.error{background:#fff0e9;color:#923611;border:1px solid #e7b099}.success{text-align:center}.success .check{font-size:52px}.success .amount{font-size:46px;font-weight:bold;color:#056846}.actions{display:flex;gap:12px;flex-wrap:wrap}.actions button{flex:1}dialog{width:min(92%,500px);border:0;border-radius:22px;padding:26px;color:#16352e;box-shadow:0 20px 90px #0003}dialog::backdrop{background:#082b2266}dialog p{white-space:pre-line;margin-bottom:24px;font-size:20px}dialog form{margin:0}[hidden]{display:none!important}.loading{animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.loading{animation:none}}@media(max-width:380px){main{padding:12px}.card{padding:18px}.actions{flex-direction:column}}
