:root{--green:#0b6b3a;--ink:#111;--muted:#555;--line:#ddd;--error:#b3261e;--bg:#fff}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;font-family:system-ui,-apple-system,sans-serif}main{max-width:480px;margin:0 auto;padding:24px 16px 48px}h1{margin:0 0 8px;font-size:24px}p{line-height:1.5}label{margin:16px 0 6px;font-weight:600;display:block}input{border:1px solid var(--line);border-radius:12px;width:100%;padding:14px 12px;font-size:18px}input[inputmode=numeric]{letter-spacing:.3em;text-align:center;font-size:24px}button.primary{background:var(--green);color:#fff;border:0;border-radius:14px;width:100%;min-height:52px;margin-top:16px;font-size:18px;font-weight:700}button.primary:disabled{opacity:.5}button.link{color:var(--green);background:0 0;border:0;min-height:48px;padding:12px 0;font-size:16px}.muted{color:var(--muted);font-size:14px}.error{color:var(--error)}.tip{background:#f3f7f4;border-radius:12px;margin-top:24px;padding:12px 14px;font-size:14px}select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:14px 12px;font-size:18px}button.secondary{border:1px solid var(--green);min-height:48px;color:var(--green);background:#fff;border-radius:12px;padding:0 16px;font-size:16px;font-weight:600}button.danger{color:var(--error)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card{border:1px solid var(--line);border-radius:14px;margin:12px 0;padding:14px}.card h2,.card h3{margin:0 0 4px;font-size:18px}.chip{color:var(--muted);background:#f1f1f1;border-radius:999px;padding:3px 10px;font-size:13px;display:inline-block}.chip.ok{color:var(--green);background:#e3f2e9}.chip.warn{color:#8a4b00;background:#fff3e0}.notice{background:#fff8e1;border-radius:12px;margin:12px 0;padding:12px 14px}.warning{background:#fff3e0;border-radius:12px;margin-top:12px;padding:12px 14px;font-size:15px}header.bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.consent h2{margin:20px 0 4px;font-size:17px}.consent ul{margin:4px 0;padding-left:20px;line-height:1.5}.check{align-items:flex-start;gap:12px;margin:16px 0 0;font-weight:600;display:flex}.check input{flex:none;width:24px;height:24px;margin-top:2px}
