.member-place-trigger{flex:none;min-width:52px;min-height:44px;padding:8px 12px;border:1px solid #cfe7f5;border-radius:9px;background:#f3faff;color:#245879;font:inherit;font-size:14px;font-weight:600;cursor:pointer;touch-action:manipulation}
.address-field-heading:has(.member-place-trigger){gap:8px}
.address-field-heading:has(.member-place-trigger) label{flex:1;min-width:0}
.member-place-trigger:focus-visible{outline:3px solid #59ade0;outline-offset:2px}
.member-place-picker-list{display:grid;gap:10px;min-width:0;max-height:min(52dvh,480px);overflow-y:auto;padding:3px;overscroll-behavior:contain}
.member-place-picker-list .member-place-shortcut{width:100%;box-sizing:border-box}
.member-place-shortcut{display:flex;flex:1 1 220px;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;max-width:100%;min-height:48px;padding:10px 12px;border:1px solid #cfe7f5;border-radius:12px;background:#f3faff;color:#245879;font:inherit;text-align:left;white-space:normal;cursor:pointer}
.member-place-shortcut strong,.member-place-shortcut span{display:block;max-width:100%;overflow-wrap:anywhere;white-space:normal;line-height:1.6}
.member-place-shortcut strong{font-size:14px;font-weight:650}
.member-place-shortcut span{font-size:14px;color:#5c7b8e}
.member-place-shortcut:hover{background:#e7f5ff;border-color:#91c9ea}
.member-place-shortcut:focus-visible{outline:3px solid #59ade0;outline-offset:2px}
.member-place-panel,.member-points-panel{margin-top:24px}.member-place-cards{display:grid;gap:12px}.member-place-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border:1px solid #deedf5;border-radius:14px;background:#fff}.member-place-card h4{margin:0 0 6px}.member-place-card p{margin:0;color:#627887;line-height:1.6;overflow-wrap:anywhere}.member-place-actions,.member-name-presets,.member-filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.member-empty{padding:20px 4px;color:#6a8090;line-height:1.8}.member-name-presets{margin-bottom:8px}.member-name-presets>span{font-size:14px;color:#678094}.member-address-suggestions{border:1px solid #cde8f6;border-radius:12px;max-height:240px;overflow:auto;margin-top:6px}.member-address-suggestions button{display:block;text-align:left;width:100%;min-height:48px;padding:12px 14px;border:0;border-bottom:1px solid #e3f0f8;background:#fff;color:#28465a;font:inherit;line-height:1.5}.member-address-suggestions button:hover,.member-address-suggestions button:focus{background:#eaf7ff}.member-points-filter{padding-bottom:20px;border-bottom:1px solid #e4eef5}.member-filter-actions{margin-top:12px}.member-point-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.member-point-totals>div{background:#f3faff;border-radius:14px;padding:16px}.member-point-totals span,.member-point-totals strong{display:block;overflow-wrap:anywhere}.member-point-totals span{font-size:13px;color:#688191;margin-bottom:8px}.member-point-totals strong{font-size:19px;color:#166e9d}.member-point-rows{display:grid}.member-point-row{display:flex;gap:16px;justify-content:space-between;padding:16px 0;border-bottom:1px solid #e4eef5}.member-point-row>div:first-child{min-width:0}.member-point-row>div:last-child{text-align:right;flex-shrink:0}.member-point-row strong,.member-point-row small{display:block;overflow-wrap:anywhere}.member-point-row small{font-size:13px;color:#78909e;margin-top:8px;line-height:1.5}.member-point-plus{color:#16745d}.member-point-minus{color:#985c45}.member-pagination{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px}.member-pagination>span{font-size:14px;color:#657c8a}.member-pagination>div{display:flex;gap:8px}.member-place-panel button,.member-name-presets button,.member-points-panel button{min-height:44px}.service-brand-notice{margin:0 32px 16px;background:#eff9ff;border:1px solid #cde9f8;border-radius:14px;padding:16px 20px;color:#285a77}.service-brand-notice strong{font-size:15px}.service-brand-notice p{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.service-contact{margin-top:14px;line-height:1.7;overflow-wrap:anywhere}.service-contact a{display:inline-flex;align-items:center;min-height:44px;color:#147ba8;text-decoration:none;font-weight:600}.service-brand-auth-notice{margin-top:16px;white-space:pre-wrap;color:#486e84;font-size:14px;line-height:1.7}.member-place-card [data-member-action="delete"]{color:#a75e52}
@media(max-width:640px){.member-place-card{align-items:flex-start;flex-direction:column}.member-place-actions{align-self:flex-end}.member-point-totals{gap:7px}.member-point-totals>div{padding:13px 10px}.member-point-totals strong{font-size:16px}.member-point-row{gap:10px}.member-point-row>div:last-child{max-width:42%}.service-brand-notice{margin:0 16px 12px;padding:14px 16px}.member-place-panel .section-heading{align-items:flex-start;gap:8px}.member-place-panel .section-heading>.btn{flex-shrink:0}}

/* 常用地址管理：保留完整文字，讓手機窄螢幕自然換行。 */
.member-place-panel,.member-place-cards,.member-place-card{min-width:0;max-width:100%}
.member-place-panel .section-heading{flex-wrap:wrap}
.member-place-panel .section-heading>div{flex:1 1 160px;min-width:0;max-width:100%}
.member-place-panel .section-heading>.btn{max-width:100%;white-space:normal;margin-left:auto}
.member-place-panel .section-heading h3,.member-place-panel .section-heading p,.member-place-card h4,.member-place-card p{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.member-place-card>div:first-child{flex:1;min-width:0;max-width:100%}
.member-place-actions{flex-shrink:0;max-width:100%}
.member-place-actions>.btn{max-width:100%;white-space:normal}
#modal-form[data-member-mode] .form-stack,#modal-form[data-member-mode] .form-stack>*,.member-place-address-field,.member-address-suggestions{min-width:0;max-width:100%}
#modal-form[data-member-mode] input,#modal-form[data-member-mode] textarea{min-width:0;max-width:100%;box-sizing:border-box;font-size:16px}
#modal-form[data-member-mode] p,.member-address-suggestions button{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.member-place-address{margin-top:7px}
.member-name-presets>button{max-width:100%;white-space:normal}
@media(max-width:640px){.member-place-card>div:first-child{width:100%}.member-place-actions{justify-content:flex-end;width:100%}.member-place-panel .section-heading{row-gap:12px}}
