/* Customer audit, 2026-10-09: acquisition rules, activity details and case records. */
.audit-eyebrow{display:block;margin-bottom:8px;color:#2850b8;font-size:12px;font-weight:700;letter-spacing:.08em}
.page-points .rewards-earn{margin:0 0 30px;padding:26px;background:#f4f7fd;border:1px solid #e0e7f5;border-radius:18px;scroll-margin-top:calc(var(--welfare-header-bottom,120px) + var(--welfare-nav-height,0px) + 26px)}
.rewards-earn__head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
.rewards-earn__head h3{margin:0;font-size:23px;color:#1c2842}
.rewards-earn__head p{max-width:340px;margin:0;color:#65718a;font-size:13px;line-height:1.8}
.rewards-earn__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.earn-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:22px 18px 17px;background:#fff;border:1px solid #e0e7f5;border-radius:12px}
.earn-card__number{font-weight:700;font-size:12px;color:#7384a5;letter-spacing:.08em}
.earn-card h4{margin:8px 0 12px;font-size:16px;color:#1e2b45}
.earn-card>p:not(.earn-card__points){margin:0 0 18px;font-size:13px;line-height:1.8;color:#64728c}
.earn-card .earn-card__points{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;margin:0 0 12px;color:#b95911}
.earn-card__points strong{font-size:30px;line-height:1.2;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.earn-card__points span{font-size:12px}
.earn-card a{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-top:auto;border-top:1px solid #edf0f6;padding-top:10px;color:#264ab1;font-size:13px;font-weight:650}
.earn-card a:focus-visible,.rewards-earn__note a:focus-visible{outline:2px solid #244cb4;outline-offset:4px}
.rewards-earn__note{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0 0;margin-top:4px}
.rewards-earn__note p{max-width:680px;font-size:12px;line-height:1.9;margin:0;color:#66728b}
.rewards-earn__note strong{display:block;color:#293956;font-weight:650}
.rewards-earn__note a{flex-shrink:0;color:#244cb4;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.page-points .rewards__gifts-title{font-size:19px;margin:4px 0 20px;color:#24324d}
.activity-details{margin-top:48px;padding-top:40px;border-top:1px solid #e0e7f3;scroll-margin-top:calc(var(--hdr-h,110px) + 24px)}
.activity-details__head{max-width:760px;margin-bottom:26px}
.activity-details__head h2{font-size:clamp(24px,2.2vw,32px);margin:0 0 10px;color:#202e49}
.activity-details__head p{color:#65718a;font-size:15px;line-height:1.85;margin:0}
.activity-details__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.activity-detail-card{background:#f5f8fe;border:1px solid #e1e8f5;border-radius:16px;padding:26px;min-width:0}
.activity-detail-card>span{display:inline-block;font-size:12px;color:#4565ab;font-weight:700;margin-bottom:12px}
.activity-detail-card h3{font-size:19px;color:#263755;margin:0 0 12px}
.activity-detail-card p{font-size:14px;line-height:1.9;color:#64718a;margin:0}
.activity-detail-card a{display:inline-flex;min-height:44px;align-items:center;margin-top:12px;color:#244cb4;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.activity-details__steps{margin-top:28px;padding:28px;border:1px solid #e0e7f3;border-radius:16px}
.activity-details__steps h3{font-size:20px;margin:0 0 20px;color:#23334f}
.activity-details__steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;counter-reset:activity-step}
.activity-details__steps li{position:relative;padding-left:42px;color:#64718a;font-size:13px;line-height:1.8;counter-increment:activity-step}
.activity-details__steps li:before{content:counter(activity-step,decimal-leading-zero);position:absolute;left:0;top:1px;background:#eaf0fd;color:#244cb4;display:grid;place-items:center;width:30px;height:30px;font-weight:700;border-radius:8px;font-size:12px}
.activity-details__steps strong{display:block;color:#253551;font-size:15px;margin-bottom:6px}
.activity-details__terms{margin-top:22px;background:#fff8ee;border-left:3px solid #e68b31;padding:20px 24px;border-radius:10px;color:#786046;font-size:13px;line-height:1.9}
.activity-details__terms strong{color:#8c572c;display:block;font-size:15px;margin-bottom:5px}
.activity-details__terms p{margin:0}
.page-activity .actpage__cta{flex-wrap:wrap}
.page-activity .actpage--missing{grid-template-columns:1fr;min-height:240px}
.actpage--missing h2{margin-bottom:12px;font-size:26px}
.actpage--missing p{margin-bottom:24px;color:#6b7992;line-height:1.8}
.page-cases .case-audit__head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.case-audit__head h2{font-size:clamp(24px,2.6vw,34px);line-height:1.4;margin:0 0 10px;color:#22304a}
.case-audit__head p{font-size:14px;line-height:1.8;color:#65718a;margin:0}
.case-audit__head .btn{flex-shrink:0}
.case-audit__search{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:16px 20px;border:1px solid #dde6f6;border-radius:12px;background:#f6f8fe}
.case-audit__search label{font-size:14px;font-weight:650;color:#334563}
.case-audit__search input{height:44px;min-width:0;flex:1;max-width:430px;border:1px solid #d6dfef;border-radius:8px;padding:0 13px;font:inherit;font-size:14px;background:#fff;outline-offset:3px}
.case-audit__search button{min-height:44px;background:#244cb4;border:0;border-radius:8px;color:#fff;font:inherit;font-weight:600;padding:0 22px;cursor:pointer}
.case-audit__search p{font-size:13px;color:#75819a;margin:0 0 0 auto}
.case-audit__source{color:#788398;font-size:12px;line-height:1.9;margin:12px 0 20px}
.page-cases .case-audit-section>.wrap{max-width:1600px}
.case-audit__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.case-record{min-width:0;display:grid;grid-template-rows:auto auto 1fr auto;row-gap:0;border:1px solid #dfe6f3;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 6px 24px rgba(36,76,180,.035)}
/* Shared rows align each pair without fixed heights or clipped text. */
@supports(grid-template-rows:subgrid){.case-record{grid-row:span 4;grid-template-rows:subgrid}}
.case-record[hidden]{display:none}
.case-record__head{display:grid;gap:12px;padding:22px 24px 18px;background:linear-gradient(110deg,#f3f7ff,#fff);border-bottom:1px solid #edf1f8;align-content:start}
.case-record__identity{display:flex;gap:12px;align-items:center;min-width:0}
.case-record__identity>div{min-width:0}
.case-record__index{display:grid;place-items:center;flex-shrink:0;width:38px;height:42px;border-radius:10px;background:#e7eefc;color:#375aad;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}
.case-record__head h3{font-size:18px;line-height:1.55;margin:0;color:#22334e;overflow-wrap:anywhere}
.case-record__head p{margin:3px 0 0;font-size:12px;color:#78859b}
.case-record__head>div{min-width:0}
.case-record__head .case-rating{margin:0;padding-left:50px;--rating-star-size:17px;--rating-star-gap:3px;gap:6px 8px}
.case-rating{--rating-star-size:19px;--rating-star-gap:3px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;line-height:1.5}
.case-rating__label{font-size:12px;color:#69778d;white-space:nowrap}
.case-rating__stars{position:relative;display:block;flex:none;width:calc(var(--rating-star-size)*5 + var(--rating-star-gap)*4);height:var(--rating-star-size);color:#f5ad23}
.case-rating__base,.case-rating__fill>span{display:flex;gap:var(--rating-star-gap);width:calc(var(--rating-star-size)*5 + var(--rating-star-gap)*4);height:100%}
.case-rating__stars svg{display:block;flex:none;width:var(--rating-star-size);height:var(--rating-star-size);stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.case-rating__base svg{fill:#fff8e8}
.case-rating__fill{position:absolute;top:0;left:0;height:100%;overflow:hidden}
.case-rating__fill svg{fill:currentColor}
.case-rating__value{font-size:12px;color:#a66b10;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.case-rating--pending .case-rating__value{font-size:11px;color:#8792a5;font-weight:400}
.page-case .cased__hd .case-rating{margin-top:14px}
@media(max-width:480px){.case-rating{--rating-star-size:16px;--rating-star-gap:2px;column-gap:7px}.case-rating__label{font-size:11px}}
.case-record__body{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);align-content:start;align-items:start;gap:22px;padding:22px 24px}
.case-record__figure{margin:0;min-width:0}
.case-record__image{position:relative;display:block;width:100%;border:1px solid #e0e7f3;border-radius:10px;background:#f4f7fc;overflow:hidden;padding:0;cursor:zoom-in;transition:border-color .18s,box-shadow .18s}
.case-record__image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.case-record__image:hover{border-color:#8ba9e1;box-shadow:0 4px 16px #244cb410}
.case-record__zoom{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #fff9;border-radius:8px;background:#fffef5ed;color:#31549f;box-shadow:0 2px 6px #20345c12}
.case-record__zoom svg{width:16px;height:16px}
.case-record__figure figcaption{font-size:11px;color:#8994a6;line-height:1.6;margin-top:8px;text-align:center}
.case-record__summary{min-width:0}
.case-record__summary h4{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:13px;font-weight:650;color:#304b79}
.case-record__summary h4:before{content:"";width:3px;height:12px;border-radius:2px;background:#efa13b}
.case-record__summary p{min-height:5.55em;font-size:14px;line-height:1.85;color:#58677d;margin:0 0 14px;overflow-wrap:anywhere}
.case-record__summary dl{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px 8px;margin:0;padding-top:12px;border-top:1px solid #edf1f7;font-size:13px;line-height:1.75}
.case-record__summary dt{color:#8793a6}
.case-record__summary dd{margin:0;color:#4e607b;overflow-wrap:anywhere}
.case-record__products{padding:16px 24px 18px;border-top:1px solid #edf0f7;background:#fbfcff;align-self:stretch}
.case-record__products h4{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:650;margin:0 0 10px;color:#536586}
.case-record__product-count{padding:1px 7px;border-radius:4px;background:#eef2f9;color:#8190a8;font-size:10px;font-weight:400}
.case-record__products ul{list-style:none;padding:0;margin:0;display:grid;gap:0;border:1px solid #e5ebf5;border-radius:8px;overflow:hidden;background:#fff}
.case-record__products li{min-width:0}
.case-record__products li+li{border-top:1px solid #edf1f7}
.case-record__products a{display:grid;grid-template-columns:112px minmax(0,1fr) 12px;align-items:center;gap:10px;min-height:44px;font-size:13px;line-height:1.6;color:#315597;padding:9px 12px;transition:background .18s,color .18s}
.case-record__products a:hover{background:#f0f5ff;color:#1f45a3}
.case-record__product-code{color:#687c9d;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.case-record__product-name{min-width:0;overflow-wrap:anywhere}
.case-record__product-arrow{color:#91a2bf;font-size:14px}
.case-record__foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 24px;border-top:1px solid #edf0f7;background:#fff}
.case-record__foot p{display:flex;align-items:center;gap:7px;color:#8994a6;font-size:11px;line-height:1.6;margin:0}
.case-record__paper-dot{width:5px;height:5px;flex:none;border-radius:50%;background:#bac6d9}
.case-record__foot a{gap:10px;flex-shrink:0;color:#244cb4;font-size:12px;font-weight:650;min-height:36px;display:flex;align-items:center}
.case-record__foot a:hover{color:#dc7612}
.case-record__image:focus-visible,.case-record__foot a:focus-visible{outline:2px solid #244cb4;outline-offset:3px}
.case-record__products a:focus-visible{outline:2px solid #244cb4;outline-offset:-3px;background:#f0f5ff}
.case-audit__empty{padding:48px 20px;text-align:center;color:#73809a;background:#f7f9fd;border-radius:12px}
.case-audit__notice{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding:26px 28px;background:#f4f7fd;border:1px solid #e0e7f5;border-radius:14px}
.case-audit__notice h3{font-size:18px;margin:0 0 8px;color:#273a5c}
.case-audit__notice p{max-width:850px;font-size:13px;line-height:1.9;margin:0;color:#6c7992}
.case-audit__notice .btn{flex-shrink:0}
.page-case .cased__hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:30px;max-height:none;padding:24px;border:1px solid #e0e7f5;background:#f5f8fd}
.page-case .cased__hero>img{width:100%;max-width:503px;height:auto;object-fit:contain;border-radius:12px;background:#f4f7fc}
.page-case .cased__hd{position:static;padding:20px;background:none;color:#243653}
.page-case .cased__hd h1{font-size:clamp(24px,2.4vw,34px);line-height:1.5}
.page-case .cased__hd p{color:#78869d}
.page-case .cased__card .case-audit__source{margin-bottom:0}
.case-image-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid #dde5f4;border-radius:16px;padding:24px;background:#fff;color:#23324f;box-shadow:0 20px 70px rgba(18,39,83,.2);overflow:auto}
.case-image-dialog::backdrop{background:rgba(15,31,63,.65)}
.case-image-dialog__head{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:16px}
.case-image-dialog h2{font-size:17px;margin:0;line-height:1.6}
.case-image-dialog button{width:40px;height:40px;flex-shrink:0;border:1px solid #dce4f1;border-radius:50%;font-size:22px;background:#f5f8ff;color:#274989;cursor:pointer}
.case-image-dialog img{display:block;width:auto;max-width:100%;max-height:65dvh;margin:auto;object-fit:contain}
.case-image-dialog>p{font-size:12px;color:#78859c;line-height:1.8;margin:16px 0 0}
@media(min-width:961px){.page-points:not(.page-activity) .welfare-layout{padding-right:128px}}
@media(max-width:1180px){.rewards-earn__grid{gap:10px}.earn-card{padding:18px 14px}.rewards-earn__head{align-items:start;flex-direction:column;gap:10px}.rewards-earn__head p{max-width:none}.rewards-earn__note{align-items:start;flex-direction:column;gap:10px}}
@media(min-width:761px) and (max-width:1100px){
  .case-audit__grid{grid-template-columns:1fr}
  .case-record{grid-row:auto;grid-template-rows:auto auto auto auto}
  .case-record__head{grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .case-record__head .case-rating{padding-left:0}
  .case-record__body{grid-template-columns:minmax(200px,.55fr) minmax(0,1fr);gap:28px}
  .case-record__summary p{min-height:0}
}
@media(max-width:760px){
  .page-points .rewards-earn{padding:18px 15px;border-radius:12px;margin-bottom:24px}
  .rewards-earn__head h3{font-size:21px}
  .rewards-earn__grid{grid-template-columns:1fr}
  .earn-card{padding:18px}
  .earn-card__points strong{font-size:28px}
  .earn-card h4{font-size:17px}
  .activity-details{margin-top:30px;padding-top:28px}
  .activity-details__cards{grid-template-columns:1fr;gap:12px}
  .activity-detail-card{padding:20px}
  .activity-details__steps{padding:22px 18px}
  .activity-details__steps ol{grid-template-columns:1fr;gap:20px}
  .activity-details__terms{padding:18px;font-size:12px}
  .page-cases .case-audit__head{align-items:start;flex-direction:column;gap:16px}
  .case-audit__search{padding:14px;gap:10px}
  .case-audit__search label{width:100%}
  .case-audit__search input{font-size:16px;max-width:none;width:0}
  .case-audit__search button{padding:0 16px}
  .case-audit__search p{margin:0;width:100%}
  .case-audit__grid{grid-template-columns:1fr;gap:18px}
  .case-record{grid-row:auto;grid-template-rows:auto auto auto auto;border-radius:14px}
  .case-record__head{padding:18px;gap:12px}
  .case-record__head h3{font-size:17px}
  .case-record__body{padding:18px;gap:18px;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr)}
  .case-record__products{padding:15px 18px 18px}
  .case-record__products a{font-size:13px}
  .case-record__summary p{min-height:0}
  .case-record__foot{padding:10px 18px}
  .case-audit__notice{align-items:start;flex-direction:column;padding:22px 18px;gap:18px}
  .page-case .cased__hero>img{width:100%;max-width:503px;margin:auto}
  .page-case .cased__hero{grid-template-columns:1fr;gap:14px;padding:16px}
  .page-case .cased__hd{padding:4px}
  .case-image-dialog{padding:18px}
}
@media(max-width:520px){
  .case-record__body{grid-template-columns:1fr;gap:18px}
  .case-record__figure{width:100%;max-width:360px;justify-self:center}
  .case-record__summary p{font-size:14px;line-height:1.85}
  .case-record__head .case-rating{padding-left:0;margin-left:50px;--rating-star-size:16px;--rating-star-gap:2px;column-gap:7px}
  .case-record__products a{grid-template-columns:minmax(0,1fr) 12px;gap:2px 8px;padding:10px 12px}
  .case-record__product-code{grid-column:1;grid-row:1;font-size:10px}
  .case-record__product-name{grid-column:1;grid-row:2}
  .case-record__product-arrow{grid-column:2;grid-row:1 / span 2}
  .case-record__foot{flex-wrap:wrap;gap:4px 12px}
  .case-record__foot a{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.case-record__image,.case-record__products a{transition:none}}
