/* CHÆN DAILY — additive member check-in page only. */
#memberCenterPage .member-checkin-page { width:100%; }
#memberCenterPage .member-checkin-heading { margin: 0 0 18px; }
#memberCenterPage .member-checkin-heading h2 { margin:0; font-size:24px; line-height:1.35; font-weight:700; color:var(--text-primary,#1f1c19); }
#memberCenterPage .member-checkin-heading p { margin:5px 0 0; color:var(--text-muted,#7b746d); font-size:13px; }
#memberCenterPage .member-checkin-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(390px,.98fr); gap:20px; align-items:stretch; }
#memberCenterPage .member-checkin-wheel-card { align-self:stretch; }
#memberCenterPage .member-checkin-left { display:grid; gap:10px; min-width:0; }
#memberCenterPage .member-checkin-points-card,
#memberCenterPage .member-checkin-calendar-card,
#memberCenterPage .member-checkin-wheel-card { background:#fffdfa; border:1px solid rgba(190,151,116,.28); border-radius:10px; box-shadow:0 2px 10px rgba(65,45,30,.035); }
#memberCenterPage .member-checkin-points-card { min-height:74px; padding:13px 16px; display:grid; grid-template-columns:1.15fr .9fr auto; align-items:center; gap:12px; }
#memberCenterPage .member-checkin-card-label { display:block; font-size:12px; color:#4f463f; margin-bottom:2px; font-weight:800; }
#memberCenterPage .member-checkin-points-main strong { font-size:23px; letter-spacing:.2px; color:#2b2520; white-space:nowrap; }
#memberCenterPage .member-checkin-points-main .member-checkin-points-unit { font-size:16px; font-weight:400; letter-spacing:.1px; }
#memberCenterPage .member-checkin-points-icon { width:30px; height:28px; object-fit:contain; display:inline-block; vertical-align:middle; margin-right:2px; }
#memberCenterPage .member-checkin-points-progress { border-left:1px solid #eee3d9; padding-left:18px; display:flex; flex-direction:column; gap:2px; font-size:12px; color:#82756b; }
#memberCenterPage .member-checkin-points-progress strong { color:#a5652e; font-size:13px; }
#memberCenterPage .member-checkin-history-btn { border:0; border-radius:999px; background:#f2e8df; color:#4e453f; padding:9px 13px; cursor:pointer; font-size:12px; white-space:nowrap; }
#memberCenterPage .member-checkin-calendar-card { padding:16px 14px 12px; }
#memberCenterPage .member-checkin-card-title { text-align:center; }
#memberCenterPage .member-checkin-card-title > span { font-size:11px; letter-spacing:1.7px; color:#9b754f; }
#memberCenterPage .member-checkin-card-title h3 { margin:2px 0 2px; font-size:19px; }
#memberCenterPage .member-checkin-card-title p { margin:0; font-size:11px; color:#8b8179; }
#memberCenterPage .member-checkin-calendar { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; margin-top:14px; }
#memberCenterPage .member-checkin-day { width:52px; height:52px; min-height:0; justify-self:center; border:1px solid #eadfd6; background:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; position:relative; font-size:12px; color:#413a35; cursor:pointer; }
#memberCenterPage .member-checkin-day.is-checked { background:#f4e7db; color:#9a5e2b; font-weight:700; }
#memberCenterPage .member-checkin-day.is-today { border:2px solid #b87939; }
#memberCenterPage .member-checkin-day-check { position:absolute; right:-2px; bottom:-2px; width:16px; height:16px; border-radius:50%; background:#fff; color:#b56f32; font-size:11px; display:grid; place-items:center; border:1px solid #ead6c5; font-weight:800; }
#memberCenterPage .member-checkin-day.is-disabled { opacity:.35; cursor:default; }
#memberCenterPage .member-checkin-day-gift { position:absolute; right:1px; bottom:1px; width:14px; height:14px; object-fit:contain; pointer-events:none; }
#memberCenterPage .member-checkin-day.is-loading { opacity:.6; }
#memberCenterPage .member-checkin-day.is-future { cursor:default; }
#memberCenterPage .member-checkin-collectible-icon { width:34px; height:34px; border-radius:0; background:transparent; }
#memberCenterPage .member-checkin-collectible-icon img { width:30px; height:30px; object-fit:contain; display:block; }
#memberCenterPage .member-checkin-milestone-title { text-align:center; margin:14px 0 8px; font-size:12px; font-weight:700; color:#625850; }
#memberCenterPage .member-checkin-milestones { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
#memberCenterPage .member-checkin-milestone { min-height:58px; border:1px solid #eadfd6; border-radius:7px; padding:6px 3px; text-align:center; background:#fff; font-size:10px; color:#776d65; }
#memberCenterPage .member-checkin-milestone.is-claimed { background:#f5e9de; border-color:#d8b48e; }
#memberCenterPage .member-checkin-milestone strong { display:block; color:#7c4f2a; font-size:11px; }
#memberCenterPage .member-checkin-milestone small { display:block; margin-top:2px; }
#memberCenterPage .member-checkin-collectible { margin-top:9px; border:1px solid #eee3d9; border-radius:8px; padding:8px 10px; display:grid; grid-template-columns:40px minmax(0,1fr) auto auto; align-items:center; gap:8px; background:#fff; }
#memberCenterPage .member-checkin-collectible-icon { width:34px;height:34px;border-radius:0;background:transparent;display:grid;place-items:center;font-size:0; }
#memberCenterPage .member-checkin-collectible strong { display:block; font-size:12px; }
#memberCenterPage .member-checkin-collectible small { display:block; font-size:10px; color:#4f463f; margin-top:2px; font-weight:800; }
#memberCenterPage .member-checkin-head-count { font-size:13px; font-weight:700; color:#9a5e2b; }
#memberCenterPage .member-checkin-note { margin:8px 0 0; text-align:center; font-size:9px; color:#958b83; }
#memberCenterPage .member-checkin-wheel-card { padding:16px 10px 10px; }
#memberCenterPage .member-checkin-wheel-title { text-align:center; }
#memberCenterPage .member-checkin-wheel-title h3 { margin:0; font-size:21px; }
#memberCenterPage .member-checkin-wheel-title h3 span { color:#b87b3d; font-size:14px; }
#memberCenterPage .member-checkin-wheel-title p { margin:4px 0 8px; font-size:11px; color:#4f463f; font-weight:800; }
#memberCenterPage .member-checkin-wheel-wrap {
  position:relative;
  width:min(100%,340px);
  margin:0 auto;
  aspect-ratio:1;
  display:block;
  overflow:visible;
  isolation:isolate;
}
#memberCenterPage .member-checkin-wheel {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  aspect-ratio:1;
  border-radius:50%;
  border:8px solid #d5a16c;
  box-sizing:border-box;
  box-shadow:0 5px 14px rgba(87,56,30,.16),inset 0 0 0 4px #fff9f2;
  overflow:visible;
  background:conic-gradient(from -22.5deg,#fef7ed 0deg 45deg,#f9d9d0 45deg 90deg,#fef7ed 90deg 135deg,#e7e9df 135deg 180deg,#fef7ed 180deg 225deg,#f1e4d8 225deg 270deg,#fef7ed 270deg 315deg,#f9d9d0 315deg 360deg);
  transform-origin:50% 50%;
  will-change:transform;
  backface-visibility:hidden;
  z-index:1;
}
#memberCenterPage .member-checkin-wheel::before {
  content:'';
  position:absolute;
  inset:9%;
  border-radius:50%;
  border:1px solid rgba(184,123,61,.25);
  pointer-events:none;
}
#memberCenterPage .member-checkin-wheel-labels { position:absolute; inset:0; z-index:2; pointer-events:none; }
#memberCenterPage .member-checkin-wheel-labels > span {
  position:absolute;
  left:50%;
  top:50%;
  width:82px;
  min-height:52px;
  margin:0;
  transform:translate(-50%,-50%) rotate(var(--wheel-angle)) translateY(calc(-1 * var(--wheel-radius)));
  transform-origin:50% 50%;
  display:block;
  text-align:center;
}
#memberCenterPage .member-checkin-wheel-label-content {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  width:100%;
  min-height:52px;
  transform:rotate(calc(-1 * var(--wheel-angle)));
  transform-origin:50% 50%;
  line-height:1.1;
  color:#4d4037;
  font-size:8px;
  font-weight:700;
}
#memberCenterPage .member-checkin-wheel-label-content img { width:auto; height:auto; max-width:30px; max-height:28px; object-fit:contain; display:block; }
#memberCenterPage .member-checkin-wheel-label-content b { font-size:8px; font-weight:800; white-space:nowrap; }
#memberCenterPage .member-checkin-wheel-lights { position:absolute; inset:0; z-index:3; pointer-events:none; overflow:visible; }
#memberCenterPage .member-checkin-wheel-lights i {
  position:absolute;
  left:50%;
  top:50%;
  width:7px;
  height:7px;
  margin:-3.5px 0 0 -3.5px;
  border-radius:50%;
  background:#fffdf7;
  box-shadow:0 0 5px rgba(255,250,232,.95),0 0 2px rgba(255,255,255,.9);
  transform:rotate(var(--light-angle)) translateY(-166px);
}
#memberCenterPage .member-checkin-play {
  position:absolute !important;
  z-index:10 !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:82px !important;
  height:82px !important;
  min-width:82px !important;
  min-height:82px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  border:4px solid #d6b28e !important;
  border-radius:50% !important;
  background:#5d4938 !important;
  color:#fff !important;
  box-shadow:0 4px 8px rgba(44,31,22,.25) !important;
  font-size:20px !important;
  line-height:1 !important;
  font-weight:800 !important;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
#memberCenterPage .member-checkin-play small { display:block !important; font-size:8px !important; font-weight:500 !important; margin-top:4px !important; line-height:1 !important; }
#memberCenterPage .member-checkin-play:disabled { opacity:.58; cursor:not-allowed; }
#memberCenterPage .member-checkin-play.is-spinning { pointer-events:none; }
#memberCenterPage .member-checkin-pointer {
  position:absolute !important;
  z-index:20 !important;
  top:-10px !important;
  left:50% !important;
  width:24px !important;
  height:33px !important;
  max-width:24px !important;
  max-height:33px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  object-fit:fill !important;
  transform:translateX(-50%) !important;
  background:transparent !important;
  border:0 !important;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.14));
  pointer-events:none;
}
#memberCenterPage .member-checkin-spin-status { text-align:center; font-size:12px; color:#7f746b; min-height:18px; }
#memberCenterPage .member-checkin-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:10px; }
#memberCenterPage .member-checkin-info-card { border:1px solid #eadfd6; border-radius:8px; background:#fff; overflow:hidden; }
#memberCenterPage .member-checkin-info-card h4 { margin:0; padding:7px 8px; display:flex; align-items:center; justify-content:center; gap:5px; text-align:center; background:#ead8c9; font-size:11px; }
#memberCenterPage .member-checkin-info-card h4 img { width:19px; height:26px; object-fit:contain; flex:0 0 auto; }
#memberCenterPage .member-checkin-coupon-list { padding:8px; text-align:center; }
#memberCenterPage .member-checkin-coupon-list img { width:225px; max-width:100%; height:auto; display:block; margin:0 auto; object-fit:contain; }
#memberCenterPage .member-checkin-coupon-list p { margin:6px 8px 0; font-size:10px; line-height:1.5; color:#4f463f; font-weight:700; text-align:left; }
#memberCenterPage .member-checkin-info-card p { margin:9px; font-size:9px; line-height:1.65; color:#7e746c; }
#memberCenterPage .member-checkin-info-card ul { list-style:none; margin:9px; padding:0; font-size:9px; line-height:1.55; color:#70675f; }
#memberCenterPage .member-checkin-info-card li { display:flex; align-items:flex-start; gap:6px; margin:5px 0; }
#memberCenterPage .member-checkin-info-card li img { width:24px; height:24px; object-fit:contain; flex:0 0 24px; }
#memberCenterPage .member-checkin-coupon-table { margin:8px 8px 0; border:1px solid #eee1d6; border-radius:7px; overflow:hidden; background:#fff; }
#memberCenterPage .member-checkin-coupon-row { display:grid; grid-template-columns:1.15fr 1.25fr .7fr; align-items:center; min-height:28px; border-top:1px solid #f0e6de; font-size:9px; color:#625248; text-align:center; }
#memberCenterPage .member-checkin-coupon-row:first-child { border-top:0; }
#memberCenterPage .member-checkin-coupon-row.is-head { min-height:25px; background:#f5e9df; font-weight:700; color:#74553c; }
#memberCenterPage .member-checkin-coupon-row b { font-weight:800; color:#5f432e; }
#memberCenterPage .member-checkin-coupon-row span { padding:3px 2px; }
#memberCenterPage .member-checkin-result { margin-top:10px; padding:12px 14px; border:1px solid #d9b68f; border-radius:9px; background:#fff7ee; text-align:center; color:#694c34; font-weight:700; }
#memberCenterPage .member-checkin-result strong, #memberCenterPage .member-checkin-result span, #memberCenterPage .member-checkin-result small { display:block; }
#memberCenterPage .member-checkin-result span { margin-top:4px; font-size:18px; }
#memberCenterPage .member-checkin-result small { margin-top:5px; font-weight:500; font-size:11px; }
#memberCenterPage .member-checkin-milestone img { display:block; width:22px; height:22px; margin:0 auto 3px; object-fit:contain; }
#memberCenterPage .member-checkin-milestone-claimed { color:#9a5e2b; font-weight:700; }
#memberCenterPage .member-checkin-footnote { margin:8px 0 0; text-align:center; font-size:9px; color:#958b83; }
@media (max-width: 900px) {
  #memberCenterPage .member-checkin-grid { grid-template-columns:1fr; }
  #memberCenterPage .member-checkin-wheel-card { order:2; }
}
@media (max-width: 767px) {
  #memberCenterPage .member-checkin-heading h2 { font-size:21px; }
  #memberCenterPage .member-checkin-points-card { grid-template-columns:1fr; gap:8px; }
  #memberCenterPage .member-checkin-points-progress { border-left:0; border-top:1px solid #eee3d9; padding:8px 0 0; }
  #memberCenterPage .member-checkin-history-btn { justify-self:start; }
  #memberCenterPage .member-checkin-calendar { gap:5px; }
  #memberCenterPage .member-checkin-milestones { grid-template-columns:repeat(5,minmax(45px,1fr)); overflow-x:auto; }
  #memberCenterPage .member-checkin-wheel-wrap { width:min(100%,310px); }
  #memberCenterPage .member-checkin-info-grid { grid-template-columns:1fr; }
  #memberCenterPage .member-checkin-coupon-row { font-size:9px; }
}

@media (max-width:767px) {
  #memberCenterPage .member-checkin-calendar {
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
}

/* CHÆN DAILY final visual corrections — scoped to check-in page only. */
#memberCenterPage .member-checkin-card-title p,
#memberCenterPage .member-checkin-note,
#memberCenterPage .member-checkin-footnote,
#memberCenterPage .member-checkin-info-card p,
#memberCenterPage .member-checkin-info-card li,
#memberCenterPage .member-checkin-milestone small,
#memberCenterPage .member-checkin-spin-status { color:#5f554d; font-weight:600; }
#memberCenterPage .member-checkin-day { color:#3e3732; }
#memberCenterPage .member-checkin-day-check { font-weight:900; }
#memberCenterPage .member-checkin-head-exchange {
  min-width:104px;
  min-height:48px;
  padding:6px 10px;
  border:1px solid #e3d1c0;
  border-radius:10px;
  background:#fbf3eb;
  color:#4f4339;
  font-size:10px;
  line-height:1.35;
  font-weight:700;
  cursor:pointer;
}
#memberCenterPage .member-checkin-head-exchange strong { display:block; font-size:12px; color:#6e4a2d; }
#memberCenterPage .member-checkin-info-card h4 img { width:19px; height:19px; object-fit:contain; }
#memberCenterPage .member-checkin-calendar { justify-items:center; }
@media (max-width:767px) {
  #memberCenterPage .member-checkin-day { width:46px; height:46px; font-size:11px; }
  #memberCenterPage .member-checkin-day-gift { width:12px; height:12px; right:1px; bottom:1px; }
  #memberCenterPage .member-checkin-milestone img { width:20px; height:20px; }
  #memberCenterPage .member-checkin-collectible { grid-template-columns:36px minmax(0,1fr) auto; gap:6px; }
  #memberCenterPage .member-checkin-collectible-icon,
  #memberCenterPage .member-checkin-collectible-icon img { width:30px; height:30px; }
  #memberCenterPage .member-checkin-head-exchange { grid-column:2 / -1; justify-self:end; min-width:100px; }
  #memberCenterPage .member-checkin-wheel-labels > span { --wheel-radius:101px !important; }
  #memberCenterPage .member-checkin-wheel-lights i { transform:rotate(var(--light-angle)) translateY(-151px); }
}



/* CHÆN DAILY v12 — requested visual refinements, scoped to check-in page only. */
/* Keep each element's original color family while increasing contrast and weight. */
#memberCenterPage .member-checkin-heading p {
  color:#6b625b;
  font-weight:700;
}
#memberCenterPage .member-checkin-card-label {
  color:#332c27;
  font-weight:900;
}
#memberCenterPage .member-checkin-points-progress strong {
  color:#a5652e;
  font-weight:900;
}
#memberCenterPage .member-checkin-points-progress > span {
  color:#6f655d;
  font-weight:700;
}
#memberCenterPage .member-checkin-history-btn {
  color:#3f3833;
  font-weight:800;
}
#memberCenterPage .member-checkin-card-title > span {
  color:#7f5e3f;
  font-weight:700;
}
#memberCenterPage .member-checkin-wheel-title h3::after,
#memberCenterPage .member-checkin-card-title h3::after {
  content:"";
  display:inline-block;
  width:42px;
  height:28px;
  margin-left:2px;
  vertical-align:middle;
  background:url("/images/member-checkin/chaen-daily-sparkles.png?v=20260901-checkin-ui-v12") center / contain no-repeat;
}
#memberCenterPage .member-checkin-coupon-list img {
  width:200px;
  max-width:100%;
  height:auto;
}


#memberCenterPage .member-checkin-collectible small {
  color:#4f463f;
  font-weight:800;
}
#memberCenterPage .member-checkin-collectible > div > strong {
  color:#3e3732;
  font-weight:900;
}


/* CHÆN DAILY v13 — focused UI adjustments. */
#memberCenterPage .member-checkin-history-btn {
  min-width:108px;
  min-height:36px;
  padding:8px 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1.25;
  letter-spacing:.15px;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
#memberCenterPage .member-checkin-wheel-title h3::after,
#memberCenterPage .member-checkin-card-title h3::after {
  width:28px;
  height:19px;
  margin-left:7px;
  vertical-align:middle;
}
#memberCenterPage .member-checkin-coupon-list img {
  width:160px;
  max-width:100%;
  height:auto;
}

/* CHÆN DAILY v14 — final requested sparkle spacing and coupon sizing. */
#memberCenterPage .member-checkin-wheel-title h3::after,
#memberCenterPage .member-checkin-card-title h3::after {
  width:42px;
  height:28px;
  margin-left:2px;
  vertical-align:middle;
  background:url("/images/member-checkin/chaen-daily-sparkles.png?v=20260901-checkin-ui-v12") center / contain no-repeat;
}
#memberCenterPage .member-checkin-coupon-list img {
  width:160px;
  max-width:100%;
  height:auto;
}


/* CHÆN DAILY v15 — tighten title sparkle spacing and reduce coupon graphic. */
#memberCenterPage .member-checkin-wheel-title h3::after,
#memberCenterPage .member-checkin-card-title h3::after {
  content:"";
  display:inline-block;
  width:28px;
  height:19px;
  margin-left:2px;
  vertical-align:middle;
  background:url("/images/member-checkin/chaen-daily-sparkles.png?v=20260901-checkin-ui-v15") center / contain no-repeat;
}

#memberCenterPage .member-checkin-coupon-list img {
  width:140px;
  max-width:100%;
  height:auto;
}

/* CHÆN DAILY v17 — preserve sparkle aspect ratio and update wheel footnote. */
#memberCenterPage .member-checkin-wheel-title h3::after,
#memberCenterPage .member-checkin-card-title h3::after {
  width:28px;
  height:19px;
  margin-left:2px;
  background-size:contain;
}

#memberCenterPage .member-checkin-footnote {
  font-size:11px;
  line-height:1.6;
  font-weight:600;
}


/* CHÆN DAILY v16 — POINT history modal. */
body.member-point-history-open { overflow:hidden !important; }
.member-point-history-modal {
  position:fixed; inset:0; z-index:12000; display:grid; place-items:center;
  padding:24px; opacity:0; visibility:hidden; transition:opacity .18s ease,visibility .18s ease;
}
.member-point-history-modal.is-open { opacity:1; visibility:visible; }
.member-point-history-backdrop { position:absolute; inset:0; background:rgba(35,29,25,.56); }
.member-point-history-dialog {
  position:relative; z-index:1; width:min(560px,calc(100vw - 48px)); max-height:min(700px,calc(100vh - 48px));
  overflow:hidden; background:#fffaf6; border:1px solid rgba(190,151,116,.25); border-radius:16px;
  box-shadow:0 20px 60px rgba(45,31,22,.22); transform:translateY(8px) scale(.985);
  transition:transform .18s ease; display:flex; flex-direction:column;
}
.member-point-history-modal.is-open .member-point-history-dialog { transform:none; }
.member-point-history-close {
  position:absolute; right:14px; top:10px; width:34px; height:34px; border:0; background:transparent;
  color:#8c7565; font-size:28px; font-weight:300; line-height:1; cursor:pointer; z-index:2;
}
.member-point-history-header { text-align:center; padding:18px 48px 12px; }
.member-point-history-header h2 { margin:0; color:#2e2824; font-size:24px; line-height:1.25; letter-spacing:.2px; }
.member-point-history-header p { margin:5px 0 0; color:#514941; font-size:12px; font-weight:600; }
.member-point-history-balance {
  margin:0 20px 12px; min-height:68px; border:1px solid #eadfd6; border-radius:9px; background:#fffdfb;
  display:flex; align-items:center; justify-content:center; gap:28px;
}
.member-point-history-balance img { width:52px; height:48px; object-fit:contain; }
.member-point-history-balance div { display:flex; flex-direction:column; gap:1px; }
.member-point-history-balance span { color:#514941; font-size:12px; font-weight:600; }
.member-point-history-balance strong { color:#28221e; font-size:24px; line-height:1.1; }
.member-point-history-balance strong b { font-size:26px; }
.member-point-history-tabs {
  margin:0 20px 10px; display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid #eadfd6; border-radius:999px; overflow:hidden; background:#fff;
}
.member-point-history-tabs button {
  min-height:32px; border:0; border-right:1px solid #eadfd6; background:#fff; color:#665c55;
  font-size:12px; cursor:pointer;
}
.member-point-history-tabs button:last-child { border-right:0; }
.member-point-history-tabs button[aria-selected="true"] { background:#c7aa8c; color:#fff; font-weight:700; }
.member-point-history-list {
  margin:0 20px; min-height:0; height:300px; overflow-y:auto; overscroll-behavior:contain;
  border:1px solid #eadfd6; border-radius:8px; background:#fffdfb;
  scrollbar-width:thin; scrollbar-color:#c8b8aa transparent;
}
.member-point-history-list::-webkit-scrollbar { width:5px; }
.member-point-history-list::-webkit-scrollbar-thumb { background:#c8b8aa; border-radius:999px; }
.member-point-history-row {
  display:grid; grid-template-columns:70px minmax(0,1fr) 100px; gap:10px; align-items:center;
  min-height:58px; padding:9px 11px; border-bottom:1px solid #eee5df;
}
.member-point-history-row:last-child { border-bottom:0; }
.member-point-history-time { display:flex; flex-direction:column; gap:2px; color:#514941; font-size:11px; line-height:1.25; font-weight:600; }
.member-point-history-detail { min-width:0; display:flex; flex-direction:column; gap:3px; }
.member-point-history-detail strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#302a26; font-size:12px; font-weight:600; }
.member-point-history-detail small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#5f554e; font-size:10px; font-weight:600; }
.member-point-history-amount { text-align:right; display:flex; flex-direction:column; gap:3px; }
.member-point-history-amount strong { font-size:12px; }
.member-point-history-row.is-earn .member-point-history-amount strong { color:#9a5d2a; font-weight:700; }
.member-point-history-row.is-spend .member-point-history-amount strong { color:#b2463c; font-weight:700; }
.member-point-history-amount small { color:#5f554e; font-size:10px; font-weight:600; }
.member-point-history-loading,.member-point-history-empty {
  min-height:160px; display:grid; place-items:center; align-content:center; gap:6px; color:#81766e; font-size:12px;
}
.member-point-history-empty.is-error { color:#7b5e50; }
.member-point-history-retry {
  margin-top:4px; border:1px solid #d8c5b5; border-radius:999px; background:#fff; color:#6d5849;
  padding:6px 14px; cursor:pointer; font-size:11px;
}
.member-point-history-more-wrap { min-height:40px; display:grid; place-items:center; padding:6px 20px 0; }
.member-point-history-more {
  border:0; background:transparent; color:#806a58; font-size:11px; cursor:pointer; padding:7px 16px;
}
.member-point-history-more[disabled] { opacity:.55; cursor:wait; }
.member-point-history-note {
  margin:8px 20px 18px; padding:11px 13px; border:1px solid #eadfd6; border-radius:9px; background:#fcf8f4;
}
.member-point-history-note strong { display:block; color:#332d28; font-size:11px; font-weight:700; margin-bottom:5px; }
.member-point-history-note strong span { margin-right:5px; color:#8a705e; }
.member-point-history-note p { margin:2px 0; color:#514941; font-size:9px; line-height:1.45; font-weight:600; }

@media (max-width: 767px) {
  .member-point-history-modal { padding:10px; }
  .member-point-history-dialog { width:calc(100vw - 20px); max-height:calc(100vh - 20px); border-radius:14px; }
  .member-point-history-header { padding:17px 42px 10px; }
  .member-point-history-header h2 { font-size:21px; }
  .member-point-history-balance { margin:0 14px 10px; min-height:66px; gap:20px; }
  .member-point-history-balance img { width:46px; height:43px; }
  .member-point-history-balance strong { font-size:21px; }
  .member-point-history-balance strong b { font-size:23px; }
  .member-point-history-tabs { margin:0 14px 8px; }
  .member-point-history-list { margin:0 14px; height:280px; }
  .member-point-history-row { grid-template-columns:56px minmax(0,1fr) 78px; gap:7px; padding:8px 7px; min-height:56px; }
  /* POINT history mobile readability: slightly enlarge date/status/balance text only. */
  .member-point-history-time { font-size:11px; }
  .member-point-history-detail strong { font-size:11px; }
  .member-point-history-detail small { font-size:11px; }
  .member-point-history-amount strong { font-size:10px; }
  .member-point-history-amount small { font-size:11px; }
  .member-point-history-more-wrap { padding:5px 14px 0; }
  .member-point-history-note { margin:6px 14px 12px; }
}
/* CHÆN POINT HISTORY v4 — requested text contrast/weight adjustment. */


/* CHÆN DAILY check-in card — sequential monthly slots, reference layout fix. */
#memberCenterPage .member-checkin-calendar {
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:10px 8px !important;
  margin-top:14px !important;
  align-items:start !important;
  justify-items:center !important;
}
#memberCenterPage .member-checkin-day-wrap {
  width:100% !important;
  min-width:0 !important;
  height:64px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  position:relative !important;
}
#memberCenterPage .member-checkin-day-gift-slot {
  width:22px !important;
  height:18px !important;
  flex:0 0 18px !important;
  display:flex !important;
  position:static !important;
  align-items:flex-end !important;
  justify-content:center !important;
  margin-bottom:2px !important;
  pointer-events:none !important;
}
#memberCenterPage .member-checkin-day-gift,
#memberCenterPage .member-checkin-day-gift-spacer {
  width:22px !important;
  height:22px !important;
  object-fit:contain !important;
  display:block !important;
  pointer-events:none !important;
}
#memberCenterPage .member-checkin-day-gift-spacer { visibility:hidden !important; }
#memberCenterPage .member-checkin-day {
  width:min(44px,100%) !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  flex:0 0 auto !important;
  border:1px solid #ead3bf !important;
  border-radius:50% !important;
  background:#fffaf5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  font-size:13px !important;
  line-height:1 !important;
  color:#C99A52 !important;
  cursor:pointer !important;
  overflow:visible !important;
}
#memberCenterPage .member-checkin-day:disabled {
  opacity:1 !important;
  cursor:default !important;
}
#memberCenterPage .member-checkin-day.is-checked {
  border-color:#B96F52 !important;
  background:#fbf1eb !important;
  color:#B96F52 !important;
  font-weight:700 !important;
}
#memberCenterPage .member-checkin-day.is-today {
  border:2px solid #B96F52 !important;
}
#memberCenterPage .member-checkin-day-check {
  position:static !important;
  width:auto !important;
  height:auto !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#C99A52 !important;
  font-size:25px !important;
  line-height:1 !important;
  display:block !important;
  font-weight:500 !important;
}
#memberCenterPage .member-checkin-day.is-loading { opacity:.6 !important; }

@media (max-width:767px) {
  #memberCenterPage .member-checkin-calendar {
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:8px 4px !important;
  }
  #memberCenterPage .member-checkin-day-wrap {
    height:58px !important;
  }
  #memberCenterPage .member-checkin-day-gift-slot {
    width:18px !important;
    height:16px !important;
    flex-basis:16px !important;
    margin-bottom:2px !important;
    position:static !important;
  }
  #memberCenterPage .member-checkin-day-gift,
  #memberCenterPage .member-checkin-day-gift-spacer {
    width:18px !important;
    height:18px !important;
  }
  #memberCenterPage .member-checkin-day {
    width:min(38px,100%) !important;
    font-size:12px !important;
  }
  #memberCenterPage .member-checkin-day-check { font-size:20px !important; }
}

/* CHÆN DAILY v16 — milestone gift positioning + compact check-in grid.
 * Scoped strictly to the check-in calendar. Gifts are anchored above the
 * milestone circle instead of using the legacy bottom/right positioning.
 */
#memberCenterPage .member-checkin-calendar {
  gap: 5px 6px !important;
  margin-top: 14px !important;
  align-items: start !important;
}
#memberCenterPage .member-checkin-day-wrap {
  width:100% !important;
  height:56px !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding-top:14px !important;
}
#memberCenterPage .member-checkin-day-gift-slot {
  position:absolute !important;
  top:0 !important;
  left:50% !important;
  width:16px !important;
  height:13px !important;
  margin:0 !important;
  padding:0 !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:none !important;
}
#memberCenterPage .member-checkin-day-gift,
#memberCenterPage .member-checkin-day-gift-spacer {
  position:static !important;
  inset:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:14px !important;
  height:14px !important;
  max-width:14px !important;
  max-height:14px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 !important;
}
#memberCenterPage .member-checkin-day-gift-spacer {
  visibility:hidden !important;
}
#memberCenterPage .member-checkin-day {
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  flex:0 0 40px !important;
  aspect-ratio:1 / 1 !important;
  box-sizing:border-box !important;
  margin:0 !important;
  border-radius:50% !important;
}

@media (max-width:767px) {
  #memberCenterPage .member-checkin-calendar {
    gap:4px 3px !important;
  }
  #memberCenterPage .member-checkin-day-wrap {
    height:48px !important;
    padding-top:12px !important;
  }
  #memberCenterPage .member-checkin-day-gift-slot {
    width:14px !important;
    height:11px !important;
  }
  #memberCenterPage .member-checkin-day-gift,
  #memberCenterPage .member-checkin-day-gift-spacer {
    width:12px !important;
    height:12px !important;
    max-width:12px !important;
    max-height:12px !important;
  }
  #memberCenterPage .member-checkin-day {
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    flex-basis:34px !important;
    font-size:11px !important;
  }
  #memberCenterPage .member-checkin-day-check {
    font-size:19px !important;
  }
}

/* CHÆN DAILY v22 — milestone gift badge, UI-only.
 * Keep the existing 6/12/18/24/30 milestone DOM and check-in circle untouched.
 * The gift slot is absolutely overlaid at the circle's top-right so it does not
 * consume grid space or move the date/check content.
 */
#memberCenterPage .member-checkin-day-gift-slot {
  position:absolute !important;
  top:8px !important;
  left:calc(50% + 6px) !important;
  width:20px !important;
  height:20px !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  display:grid !important;
  place-items:center !important;
  box-sizing:border-box !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:none !important;
  z-index:3 !important;
  pointer-events:none !important;
}
#memberCenterPage .member-checkin-day-wrap.is-milestone .member-checkin-day-gift-slot {
  border:1px solid rgba(219,177,103,.48) !important;
  background:#fff8eb !important;
  box-shadow:0 1px 3px rgba(171,119,45,.12) !important;
}
#memberCenterPage .member-checkin-day-gift {
  position:static !important;
  width:12px !important;
  height:12px !important;
  max-width:12px !important;
  max-height:12px !important;
  object-fit:contain !important;
  margin:0 !important;
  transform:none !important;
  pointer-events:none !important;
}
#memberCenterPage .member-checkin-day-gift-spacer {
  width:12px !important;
  height:12px !important;
  visibility:hidden !important;
}

@media (max-width:767px) {
  #memberCenterPage .member-checkin-day-gift-slot {
    top:6px !important;
    left:calc(50% + 5px) !important;
    width:18px !important;
    height:18px !important;
  }
  #memberCenterPage .member-checkin-day-gift,
  #memberCenterPage .member-checkin-day-gift-spacer {
    width:11px !important;
    height:11px !important;
    max-width:11px !important;
    max-height:11px !important;
  }
}
