.member-page{max-width:1120px;margin:auto;padding:48px 5% 80px}.member-heading{text-align:center;margin-bottom:28px}.member-heading h1{font-family:"Noto Serif TC";font-size:38px;color:#4b3020;margin:6px 0}.member-heading>p:last-child{color:#7e6e61}.auth-shell{max-width:520px;margin:auto}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.auth-tabs button{border:1px solid var(--line);background:#fff;border-radius:22px;padding:11px;cursor:pointer;color:#6c4a32;font-weight:700}.auth-tabs button.active{background:var(--brown);color:#fff;border-color:var(--brown)}.member-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.member-card h2{font-family:"Noto Serif TC";color:#513525;margin:0 0 18px}.member-card label{display:block;font-size:13px;font-weight:700;color:#604938;margin:13px 0}.member-card input{width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #dbc9b8;border-radius:9px;padding:11px;background:#fff}.member-primary{width:100%;border:0;border-radius:24px;padding:13px;background:var(--brown);color:#fff;font-weight:800;cursor:pointer;margin-top:8px}.form-message{min-height:18px;margin:10px 0 0;font-size:13px;color:#8c4f42}.form-message.ok{color:#4f7142}.password-note{display:block;color:#8a796a;margin-top:-5px}.member-dashboard{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:start}.card-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.text-btn{border:0;background:transparent;color:#7a4319;font-weight:700;cursor:pointer;padding:5px}.member-order{border:1px solid #eadbca;border-radius:11px;padding:14px;margin-bottom:10px}.member-order-head{display:flex;justify-content:space-between;gap:12px}.member-order-head b{display:block}.member-order-head small{display:block;color:#8a796a;margin-top:4px}.member-order-meta{display:flex;justify-content:space-between;gap:12px;margin-top:11px;padding-top:10px;border-top:1px solid #eee4d9}.member-status{display:inline-block;border-radius:14px;background:#f2e8dd;padding:4px 8px;font-size:11px;color:#704a2c}.muted{color:#8a796a}@media(max-width:800px){.member-dashboard{grid-template-columns:1fr}}
/* V2.7.2 會員歷史訂單明細 */
.member-order{padding:0;overflow:hidden;transition:border-color .18s,box-shadow .18s}.member-order.open{border-color:#c99b72;box-shadow:0 5px 18px rgba(89,55,31,.06)}.member-order-click{display:block;width:100%;border:0;background:#fff;color:inherit;text-align:left;padding:14px;cursor:pointer;font:inherit}.member-order-click:hover{background:#fffaf5}.member-order-hint{margin-top:10px;padding-top:9px;border-top:1px dashed #eadbca;text-align:right;color:#8a5a36;font-size:12px;font-weight:700}.member-order-hint span{display:inline-block;margin-left:4px;transition:transform .18s}.member-order.open .member-order-hint span{transform:rotate(180deg)}.member-order-detail-wrap{border-top:1px solid #eadbca;background:#fffaf5;padding:16px}.member-detail-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:#513525}.member-detail-title span{font-size:12px;background:#f2e8dd;border-radius:14px;padding:4px 8px;color:#704a2c}.member-detail-line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #eee4d9}.member-detail-line span b,.member-detail-line span small{display:block}.member-detail-line span small{margin-top:4px;color:#8a796a;font-size:12px}.member-detail-totals{padding:8px 0 12px}.member-detail-totals>div{display:flex;justify-content:space-between;padding:6px 0}.member-detail-totals .grand-total{border-top:1px solid #dbc9b8;margin-top:4px;padding-top:10px;color:#6f3e18}.member-detail-totals .grand-total b{font-size:18px}.member-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.member-detail-grid>div{background:#fff;border:1px solid #eee4d9;border-radius:8px;padding:10px}.member-detail-grid small,.member-detail-grid b{display:block}.member-detail-grid small{color:#8a796a;margin-bottom:4px}.member-detail-grid .wide{grid-column:1/-1}.member-detail-grid b{font-size:13px;line-height:1.55;word-break:break-word}@media(max-width:560px){.member-order-meta{display:grid;grid-template-columns:1fr auto}.member-order-meta span:nth-child(2){grid-column:1/-1;grid-row:2}.member-detail-grid{grid-template-columns:1fr}.member-detail-grid .wide{grid-column:auto}.member-order-click{padding:13px}.member-order-detail-wrap{padding:13px}}

/* V2.8 匯款回報 */
.payment-report-summary{margin-top:12px;padding:12px;border:1px solid #d8c1aa;border-radius:9px;background:#fff}
.payment-report-summary b,.payment-report-summary span{display:block}.payment-report-summary b{color:#6f3e18;margin-bottom:6px}.payment-report-summary span{font-size:13px;line-height:1.7;color:#65574b}
.payment-report-form{margin-top:12px;padding:14px;border:1px solid #d8c1aa;border-radius:10px;background:#fff}
.payment-report-form h4{margin:0 0 10px;color:#513525}.payment-report-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.payment-report-form label{margin:8px 0;font-size:13px}.payment-report-form input,.payment-report-form textarea{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #dbc9b8;border-radius:8px;padding:10px;background:#fff}
@media(max-width:560px){.payment-report-fields{grid-template-columns:1fr}}

.member-order-coupon{margin-top:8px;font-size:12px;color:#7b4218;font-weight:700}

.member-coupons-card{margin-top:18px}.member-coupon-note{color:#8a796a;font-size:13px;line-height:1.7}
.member-coupon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.member-coupon-item{border:1px solid #ead8c5;border-radius:12px;padding:14px;background:#fffaf5}
.member-coupon-top{display:flex;justify-content:space-between;gap:10px}.member-coupon-code{font-size:17px;color:#6f3e18;letter-spacing:.04em}
.member-coupon-item small{display:block;color:#8a796a;margin-top:5px;line-height:1.6}.member-coupon-tags{margin-top:8px;display:flex;gap:5px;flex-wrap:wrap}
.member-coupon-tags span{font-size:11px;background:#f1e4d7;color:#7b4218;border-radius:12px;padding:3px 7px}
.copy-coupon-btn{border:1px solid #b98457;background:#fff;color:#7b4218;border-radius:8px;padding:6px 9px;cursor:pointer;font-weight:700}
@media(max-width:650px){.member-coupon-grid{grid-template-columns:1fr}}

/* V3.0 一鍵回購 */
.member-reorder-actions{margin-top:14px;padding:14px;border:1px solid #ead8c5;border-radius:10px;background:#fffaf5}
.member-reorder-actions .reorder-btn{width:100%;margin:0}
.member-reorder-actions>small{display:block;margin-top:8px;color:#8a796a;line-height:1.6}
.member-reorder-actions .form-message{margin:8px 0 0;line-height:1.6}

/* V3.1 會員消費統計 */
.member-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.member-stat-card{background:#fff;border:1px solid #ead8c5;border-radius:14px;padding:16px}
.member-stat-card small{display:block;color:#8a796a;margin-bottom:7px}
.member-stat-card strong{display:block;color:#5d3820;font-size:20px;line-height:1.35}
@media(max-width:700px){.member-stats-grid{grid-template-columns:1fr}.member-stat-card{padding:14px}}
.member-tier-card{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:20px 22px;background:#fffaf5;border:1px solid #e7d4bf;border-radius:16px}.member-tier-card small{color:#9a7657;letter-spacing:.08em}.member-tier-card h2{margin:5px 0 4px;color:#5d3820;font-size:26px}.member-tier-card p{margin:0;color:#806c5d}.member-tier-summary{text-align:right;min-width:150px}.member-tier-summary strong{display:block;margin-top:5px;color:#5d3820;font-size:21px}@media(max-width:650px){.member-tier-card{align-items:flex-start;flex-direction:column}.member-tier-summary{text-align:left}}

/* V3.4 會員升級／保級進度 */
.member-progress-card{margin:0 0 16px;padding:20px 22px;background:#fff;border:1px solid #eadfd4;border-radius:16px}
.member-progress-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.member-progress-head small{color:#9a7657;letter-spacing:.08em}.member-progress-head h3{margin:4px 0 0;color:#5d3820}
.member-progress-head>b{color:#7b4218;background:#f6ede4;border-radius:999px;padding:7px 11px;font-size:13px}
.member-progress-track{height:12px;margin-top:18px;background:#eee5dc;border-radius:999px;overflow:hidden}
.member-progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#b89572,#8b5b36);border-radius:999px;transition:width .35s ease}
.member-progress-scale{display:flex;justify-content:space-between;gap:8px;margin-top:7px;color:#8b796a;font-size:11px}
.member-progress-note{margin:13px 0 0;color:#6f5d50;line-height:1.65}
.member-expiry-box{margin-top:16px;padding:14px 15px;background:#fff9ef;border:1px solid #ead7b7;border-radius:12px}
.member-expiry-box>p{margin:5px 0 10px;color:#7b6a5c;font-size:13px}
.member-expiry-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #eee1cd}
.member-expiry-row span,.member-expiry-row b{font-size:13px}.member-expiry-row small{display:block;color:#9a8877;margin-top:2px}
@media(max-width:650px){.member-progress-head{flex-direction:column}.member-progress-scale{font-size:10px}}

/* V3.5 會員保級預測 */
.member-retention-box{margin-top:16px;padding:16px;background:#f8f4ee;border:1px solid #decbb8;border-radius:12px}
.member-retention-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.member-retention-head>b{color:#5d3820}.member-retention-head>span{padding:5px 9px;border-radius:999px;background:#fff;color:#7b4218;border:1px solid #dfc8b3;font-size:12px;font-weight:800}
.member-retention-box>p{margin:9px 0 13px;color:#705e50;font-size:13px;line-height:1.7}
.member-retention-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.member-retention-grid>div{padding:10px;background:#fff;border-radius:9px;border:1px solid #eee1d4}
.member-retention-grid small{display:block;color:#937e6e;margin-bottom:4px}
.member-retention-grid strong{display:block;color:#5d3820;font-size:14px}
@media(max-width:720px){.member-retention-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.member-retention-grid{grid-template-columns:1fr}.member-retention-head{align-items:flex-start;flex-direction:column}}

/* V3.6.2 優惠券移至會員資料下方 */
.member-left-column{display:grid;gap:18px;align-content:start}
.member-left-column .member-coupons-card{margin-top:0}
.member-left-column .member-coupon-grid{grid-template-columns:1fr}
@media(min-width:801px){
  .member-left-column{position:sticky;top:18px}
}
@media(max-width:800px){
  .member-left-column{position:static}
}

/* V3.7 生日資料 */
.birthday-note{display:block;margin-top:6px;color:#8a796a;font-size:11px;line-height:1.55;font-weight:400}

/* V3.7.1 生日永久鎖定 */
#profileBirthday:disabled{
  cursor:not-allowed;
  opacity:.72;
  background:#f4eee7;
}


/* V4.0.13 會員自行取消訂單 */
.member-cancel-order{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid #ead8c8;
}
.member-cancel-order small{
  display:block;
  margin-top:8px;
  color:#8a796a;
  line-height:1.6;
}
.member-danger{
  border:1px solid #d8a69e;
  background:#fff7f5;
  color:#a13f34;
  border-radius:999px;
  padding:10px 18px;
  font-weight:800;
  cursor:pointer;
}
.member-danger:hover{background:#fce8e4}
.member-danger:disabled{opacity:.5;cursor:not-allowed}
