.mp-banner,.mp-card,.mp-dialog{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB",sans-serif;color:#1d3b2b;line-height:1.6}
.mp-banner{background:#f0f8f2;border-bottom:1px solid #dcecdf}
.mp-banner-inner{max-width:720px;margin:auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.mp-banner p{margin:0;color:#31573e;font-size:13px;display:flex;align-items:center;gap:8px}
.mp-dot{display:block;width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#16a05a}
.mp-banner-name{display:block;font-weight:600}
.mp-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:44px;padding:0 16px;border-radius:10px;background:#187746;color:#fff;text-decoration:none;font-size:14px;font-weight:600;box-sizing:border-box}
.mp-button:hover{background:#105e35}
.mp-button:focus-visible,.mp-text-link:focus-visible,.mp-close:focus-visible{outline:3px solid #62a9ff;outline-offset:3px}
.mp-card{max-width:672px;margin:32px auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #dcecdf;border-radius:18px;background:#f7fbf7;scroll-margin-top:24px}
.mp-eyebrow{font-size:12px;font-weight:600;color:#37774c;letter-spacing:.06em}
.mp-card h2{margin:8px 0;font-size:20px;line-height:1.5;color:#1d3b2b}
.mp-card p{margin:8px 0 12px;font-size:14px;color:#53695b}
.mp-text-link{display:inline-flex;align-items:center;min-height:44px;color:#187746;font-size:14px;text-underline-offset:4px}
.mp-qr{margin:0;text-align:center;flex-shrink:0}
.mp-qr img{display:block;width:144px;height:144px;border-radius:10px;background:#fff}
.mp-qr figcaption{margin-top:6px;font-size:12px;color:#65796c}
.mp-dialog{position:fixed;inset:0;width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 32px);margin:auto;padding:36px 24px 20px;border:0;border-radius:22px;background:#fff;text-align:center;overflow:auto;box-shadow:0 24px 80px #0003}
.mp-dialog::backdrop{background:rgb(12 30 21 / 48%)}
.mp-dialog form{margin:0}
.mp-close{position:absolute;right:8px;top:8px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#5f7065;font:28px/1 sans-serif;cursor:pointer}
.mp-close:hover{background:#f0f5f1}
.mp-dialog h2{margin:12px 0 8px;font-size:23px;line-height:1.4}
.mp-dialog p{margin:8px 0;color:#53695b;font-size:14px}
.mp-dialog-qr{display:block;max-width:100%;width:240px;height:auto;margin:16px auto}
.mp-dialog .mp-hint{font-size:12px;color:#6c7d71;line-height:1.8}
.mp-save{width:100%;margin:12px 0 4px}
@media(max-width:720px){.mp-card{margin:28px 16px}}
@media(max-width:480px){.mp-banner-inner{padding:10px 16px;gap:12px}.mp-banner p{font-size:12px}.mp-button{padding:0 12px;font-size:13px}.mp-card{padding:20px;gap:16px;flex-direction:column;text-align:center}.mp-card h2{font-size:19px}.mp-qr img{width:160px;height:160px}.mp-dialog{inset:auto 0 0;width:100%;max-width:none;max-height:92dvh;margin:0;padding:32px 24px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.mp-dialog-qr{width:216px}}
