:root{--rose:#bf7e84;--rose2:#a96f75;--red:#b90032;--nav:#bd7f84;--blue:#003a5d;--text:#111;--muted:#667085;--card:#fff;--line:#eee;--green:#06c755}*{box-sizing:border-box}html,body{margin:0;font-family:Prompt,system-ui,sans-serif;color:var(--text);background:#eee}body:before{content:"";position:fixed;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(235,235,235,.86)),radial-gradient(circle at 10% 0%,rgba(255,255,255,.95),transparent 35%),linear-gradient(120deg,transparent 0 42%,rgba(255,255,255,.55) 42% 54%,transparent 54%);z-index:-1}a{text-decoration:none;color:inherit}.app-shell{width:100%;max-width:768px;margin:0 auto;min-height:100vh;background:rgba(255,255,255,.2);box-shadow:0 0 35px rgba(0,0,0,.08)}.campaign-hero{width:100%;background:#fff}.campaign-hero img{display:block;width:100%;height:auto}.top-nav{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:10px 10px 12px;background:linear-gradient(135deg,#d9a2a6 0%,#bd7f84 48%,#9f666d 100%);color:#fff;box-shadow:0 10px 24px rgba(110,58,65,.25)}.top-nav:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 58%);pointer-events:none}.top-nav .nav-item{position:relative;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:9px 6px;border-radius:18px;font-weight:800;line-height:1.12;overflow:hidden;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.top-nav .nav-item:after{content:"";position:absolute;left:20%;right:20%;bottom:7px;height:3px;border-radius:99px;background:rgba(255,255,255,.0);transition:.18s}.top-nav .nav-item:hover,.top-nav .nav-item.active{background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 8px 18px rgba(70,30,40,.12);transform:translateY(-1px)}.top-nav .nav-item.active:after{background:#fff}.top-nav .nav-ico{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:18px;font-size:38px;line-height:1;font-weight:300;margin-bottom:8px;color:#fff;background:rgba(255,255,255,.08);box-shadow:0 5px 14px rgba(96,44,53,.14)}.top-nav .nav-doc{font-size:32px}.top-nav .nav-user{font-size:34px}.top-nav .nav-profile-img{width:54px;height:54px;border-radius:50%;object-fit:cover;margin-bottom:8px;border:3px solid rgba(255,255,255,.95);box-shadow:0 5px 16px rgba(70,30,40,.24);background:#fff}.top-nav .nav-text{display:grid;gap:2px}.top-nav b{font-size:18px}.top-nav small{font-size:14px;font-weight:700;opacity:.95}.app-main{padding:38px 22px 56px}.page-title,.section-title{font-size:34px;line-height:1.2;text-align:center;color:var(--blue);font-weight:800;margin:0 0 28px}.card{background:var(--card);border-radius:18px;padding:34px 30px;box-shadow:0 8px 18px rgba(16,24,40,.12);border:1px solid rgba(0,0,0,.05);margin:0 0 36px}.content-box{font-size:18px;line-height:1.7}.label{display:block;font-size:18px;font-weight:800;margin:0 0 14px}.form-group{margin-bottom:26px}.input,.select,.textarea{width:100%;border:0;background:#bd7f84;color:#fff;border-radius:10px;padding:18px 20px;font-size:22px;font-weight:600;font-family:inherit;outline:none;box-shadow:inset 0 3px 6px rgba(0,0,0,.18)}.input::placeholder,.textarea::placeholder{color:#fff}.textarea{min-height:110px;resize:vertical}.input:focus,.select:focus,.textarea:focus{box-shadow:0 0 0 4px rgba(189,127,132,.22),inset 0 3px 6px rgba(0,0,0,.18)}.hint{font-size:16px;color:var(--muted)}.btn{appearance:none;border:0;border-radius:15px;padding:20px 24px;font-family:inherit;font-weight:800;font-size:28px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}.btn-primary{background:linear-gradient(180deg,#c8003a,#a9002d);color:#fff;box-shadow:4px 5px 0 rgba(0,0,0,.28)}.btn-line{background:var(--green);color:#fff}.btn-ghost{background:#fff;color:var(--red)}.btn-block{width:100%}.upload-box{border:3px dashed #cfd6df;border-radius:0;background:#fff;padding:38px 18px;text-align:center;color:#7b8794}.upload-box b{font-size:18px;color:#111}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.preview-item{position:relative;border-radius:16px;overflow:hidden;background:#eee;aspect-ratio:1}.preview-item img{width:100%;height:100%;object-fit:cover}.preview-item button{position:absolute;right:6px;top:6px;border:0;background:#111;color:#fff;border-radius:99px;width:26px;height:26px}.table-wrap{overflow:auto;border-radius:18px;border:8px solid rgba(255,255,255,.95);box-shadow:0 8px 16px rgba(0,0,0,.14)}table{width:100%;border-collapse:collapse;background:#fff;min-width:720px}th,td{padding:16px 14px;border:1px solid #ddd;text-align:center;font-size:14px;white-space:nowrap}th{background:#bd7f84;color:#fff;font-weight:800}.badge{display:inline-block;border-radius:99px;padding:5px 10px;font-size:12px;font-weight:700}.badge-upload{background:#fff5cf;color:#8a5b00}.badge-approved{background:#e7f8ed;color:#137333}.badge-rejected{background:#fde8e8;color:#b42318}.profile-head{display:block;text-align:center}.profile-avatar{width:118px;height:118px;border-radius:50%;object-fit:cover;margin:0 auto 18px;display:block;border:5px solid #fff;box-shadow:0 10px 24px rgba(110,58,65,.22);background:#eee}.right-pill{display:inline-flex;align-items:center;justify-content:center;background:#bd7f84;color:#fff;border-radius:16px;padding:12px 28px;font-size:34px;font-weight:700;margin:8px auto}.empty{text-align:center;color:var(--muted);padding:30px 10px}.content-box img{max-width:100%;height:auto;border-radius:18px}.loading{position:fixed;inset:0;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:100;text-align:center}.loading-card{width:min(86vw,340px);background:#fff;border-radius:28px;padding:34px 28px;box-shadow:0 18px 50px rgba(58,31,36,.22);border:1px solid rgba(189,127,132,.18)}.loader{width:46px;height:46px;border-radius:50%;border:5px solid #e7c0c4;border-top-color:var(--red);animation:spin 1s linear infinite;margin:12px auto}.internet-loader{height:46px;display:flex;align-items:flex-end;justify-content:center;gap:7px}.internet-loader span{display:block;width:10px;border-radius:99px;background:linear-gradient(180deg,#c8003a,#bd7f84);animation:netbar .9s ease-in-out infinite}.internet-loader span:nth-child(1){height:16px;animation-delay:0s}.internet-loader span:nth-child(2){height:28px;animation-delay:.12s}.internet-loader span:nth-child(3){height:40px;animation-delay:.24s}.loading p{margin:8px 0 4px;font-size:18px;font-weight:800;color:var(--blue)}.loading small{color:#667085;font-weight:600}.offline-bar{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:130;background:#b42318;color:#fff;border-radius:99px;padding:10px 16px;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.2);max-width:92%;text-align:center}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);z-index:120;background:#111;color:#fff;border-radius:16px;padding:12px 16px;max-width:90%;box-shadow:0 12px 26px rgba(0,0,0,.25)}.hidden{display:none!important}.register-card{padding:34px 28px}.radio-row{display:flex;align-items:center;gap:16px;font-weight:800;margin:8px 0 22px}.radio-dot{width:30px;height:30px;border-radius:50%;background:#bd7f84;display:inline-block}.receipt-example{display:block;width:70%;max-width:360px;margin:20px auto;border-radius:0}.home-actions{margin-top:34px}.thanks-card{text-align:center;padding:64px 36px}.thanks-check{font-size:170px;line-height:1;color:#bd7f84}.thanks-card h1{font-size:48px;color:var(--blue);margin:20px 0}.thanks-card p{font-size:26px;line-height:1.45;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@keyframes netbar{0%,100%{opacity:.45;transform:scaleY(.65)}50%{opacity:1;transform:scaleY(1)}}@media(max-width:520px){.top-nav{padding:7px 6px 8px}.top-nav .nav-item{min-height:76px;border-radius:12px;padding:5px 2px}.top-nav .nav-ico{width:33px;height:33px;border-radius:11px;font-size:24px;margin-bottom:4px}.top-nav .nav-doc{font-size:21px}.top-nav .nav-user{font-size:22px}.top-nav .nav-profile-img{width:36px;height:36px;border-width:2px;margin-bottom:4px}.top-nav b{font-size:11px}.top-nav small{font-size:10px}.app-main{padding:26px 12px 40px}.page-title,.section-title{font-size:26px;margin-bottom:20px}.card{padding:24px 20px;border-radius:8px;margin-bottom:28px}.label{font-size:15px}.input,.select,.textarea{font-size:16px;padding:14px;border-radius:7px}.btn{font-size:22px;padding:18px 16px}.preview-grid{grid-template-columns:repeat(2,1fr)}.thanks-check{font-size:120px}.thanks-card h1{font-size:38px}.thanks-card p{font-size:20px}.right-pill{font-size:28px}.receipt-example{width:86%}.profile-avatar{width:96px;height:96px}}

/* ===== Eucerin Profile + SVG Top Menu upgrade ===== */
.top-nav-svg{padding:12px 12px 13px;background:linear-gradient(135deg,#d7a0a5 0%,#bd7f84 50%,#9f666d 100%);gap:8px}.top-nav-svg .nav-item{min-height:112px;border-radius:20px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.top-nav-svg .nav-item.active,.top-nav-svg .nav-item:hover{background:rgba(255,255,255,.22)}.nav-ico-svg{position:relative;width:54px;height:54px;display:grid;place-items:center;margin-bottom:8px;border-radius:18px;background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 8px 18px rgba(75,36,44,.18)}.nav-ico-svg svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}.nav-ico-svg svg path:first-child[fill]{fill:none}.nav-profile-badge{position:absolute;right:-5px;bottom:-5px;width:25px;height:25px;border-radius:50%;object-fit:cover;border:2px solid #fff;background:#fff;box-shadow:0 3px 9px rgba(0,0,0,.24)}.profile-head{position:relative;overflow:hidden;padding:42px 30px 36px;border-radius:22px;background:rgba(255,255,255,.94)}.profile-head:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -10%,rgba(189,127,132,.20),transparent 45%);pointer-events:none}.profile-head>*{position:relative}.profile-avatar{width:128px;height:128px;border:6px solid #fff;box-shadow:0 14px 30px rgba(123,64,72,.24)}.profile-name{font-size:32px;margin:0 0 22px;font-weight:800;color:#111}.profile-subtitle{font-size:22px;margin:0 0 10px;color:#111}.right-pill{background:linear-gradient(180deg,#c98d93,#b5757c);border-radius:18px;box-shadow:0 10px 18px rgba(130,62,72,.20);min-width:150px}.profile-note{font-size:20px;color:#111;margin-top:18px}.profile-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px auto 0;max-width:440px}.profile-meta .meta-box{background:#f8eef0;border:1px solid #efd4d8;border-radius:14px;padding:10px 12px;font-weight:700;color:#6b3c43}.profile-meta small{display:block;color:#8a6066;font-weight:600;font-size:12px}.page-title.profile-title{margin-bottom:24px}@media(max-width:520px){.top-nav-svg{padding:7px 6px 8px;gap:4px}.top-nav-svg .nav-item{min-height:77px;border-radius:13px}.nav-ico-svg{width:34px;height:34px;border-radius:11px;margin-bottom:4px}.nav-ico-svg svg{width:22px;height:22px;stroke-width:3.2}.nav-profile-badge{width:17px;height:17px;right:-3px;bottom:-3px;border-width:1.5px}.top-nav-svg b{font-size:11px}.top-nav-svg small{font-size:9px}.profile-head{padding:28px 18px;border-radius:14px}.profile-avatar{width:96px;height:96px}.profile-name{font-size:24px}.profile-subtitle{font-size:17px}.profile-note{font-size:16px}.profile-meta{grid-template-columns:1fr}.right-pill{font-size:28px}}


/* Profile menu: use LINE profile image instead of person icon */
.nav-ico-profile.has-profile-photo{padding:0;background:rgba(255,255,255,.18);overflow:hidden;border-radius:50%;box-shadow:0 8px 18px rgba(75,36,44,.20),0 0 0 2px rgba(255,255,255,.58)}
.nav-profile-photo{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff}
.nav-ico-profile.has-profile-photo svg,.nav-profile-badge{display:none!important}
.top-nav-svg .nav-item.active .nav-ico-profile.has-profile-photo{box-shadow:0 8px 18px rgba(75,36,44,.20),0 0 0 3px #fff}
@media(max-width:520px){.nav-ico-profile.has-profile-photo{width:38px;height:38px;border-radius:50%}}

/* === FIX: radio EVEANDBOY + searchable branch input === */
.radio-choice{display:flex;align-items:center;gap:16px;margin:8px 0 10px;cursor:pointer;font-weight:800;font-size:18px;color:#111}.radio-choice input{position:absolute;opacity:0;pointer-events:none}.radio-choice span{width:30px;height:30px;border-radius:50%;background:#bd7f84;box-shadow:inset 0 0 0 8px #bd7f84;border:2px solid #bd7f84;display:inline-block;flex:0 0 30px}.radio-choice input:checked+span{background:#fff;box-shadow:inset 0 0 0 8px #bd7f84}.search-select-wrap{position:relative}.search-select-wrap:after{content:"⌕";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:#fff;font-size:24px;font-weight:800;pointer-events:none}.search-input{padding-right:58px}.mt8{margin-top:8px}
@media(max-width:520px){.radio-choice{font-size:15px}.radio-choice span{width:26px;height:26px;flex-basis:26px}}

/* === Google-style Branch Search from database T_BRANCH === */
.google-branch-wrap{position:relative;z-index:25}
.google-branch-input{background:#fff!important;color:#111!important;border:2px solid rgba(189,127,132,.55)!important;border-radius:18px!important;padding:18px 54px 18px 22px!important;font-size:20px!important;font-weight:700!important;box-shadow:0 6px 18px rgba(0,0,0,.08)!important}
.google-branch-input::placeholder{color:#777!important}
.google-branch-wrap:after{content:"⌕";position:absolute;right:20px;top:16px;color:#bd7f84;font-size:28px;font-weight:900;pointer-events:none}
.google-branch-panel{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border-radius:18px;border:1px solid rgba(0,0,0,.08);box-shadow:0 18px 40px rgba(0,0,0,.18);max-height:310px;overflow:auto;padding:8px;display:none;z-index:80}
.google-branch-wrap.open .google-branch-panel{display:block}
.google-branch-item{width:100%;border:0;background:#fff;display:flex;align-items:center;gap:12px;text-align:left;padding:13px 14px;border-radius:13px;cursor:pointer;font-family:inherit;color:#111;font-size:17px;font-weight:700}
.google-branch-item:hover,.google-branch-item.active{background:#f7e8ea}
.branch-pin{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;background:#f2dadd;color:#a96f75;font-weight:900}
.branch-name{display:block;line-height:1.25}
.google-branch-empty{padding:16px 14px;color:#777;font-weight:700;text-align:center}
@media(max-width:520px){.google-branch-input{font-size:16px!important;border-radius:12px!important;padding:15px 48px 15px 16px!important}.google-branch-wrap:after{top:12px;right:16px}.google-branch-panel{max-height:260px;border-radius:14px}.google-branch-item{font-size:15px;padding:12px}.branch-pin{width:26px;height:26px;flex-basis:26px}}

/* === POPUP: PDPA / Consent / Register success / Receipt success === */
body.modal-open{overflow:hidden}
.accept-box{background:#fff7f8;border:1px solid #efd4d8;border-radius:18px;padding:16px 18px;margin:0 0 26px;box-shadow:0 6px 16px rgba(189,127,132,.10)}
.accept-row{display:flex;align-items:flex-start;gap:12px;font-size:16px;font-weight:700;line-height:1.45;color:#111;margin:8px 0;cursor:pointer}
.accept-row input{width:22px;height:22px;accent-color:#bd7f84;flex:0 0 22px;margin-top:2px}
.link-btn{border:0;background:transparent;color:#b90032;font:inherit;font-weight:900;text-decoration:underline;cursor:pointer;padding:0;text-align:left}
.app-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:22px}
.app-modal.hidden{display:none!important}
.app-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.48);backdrop-filter:blur(3px)}
.app-modal-card{position:relative;width:min(92vw,680px);max-height:86vh;overflow:auto;background:#fff;border-radius:24px;padding:34px 30px;box-shadow:0 26px 70px rgba(0,0,0,.28);animation:modalPop .18s ease-out}
@keyframes modalPop{from{transform:translateY(12px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
.modal-close{position:absolute;right:16px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:#f6e6e8;color:#9f666d;font-size:30px;line-height:1;cursor:pointer;font-weight:700}
.policy-modal-card h2,.success-modal-card h2{margin:0 46px 18px 0;color:#003a5d;font-size:30px;line-height:1.2;font-weight:900}
.policy-content{font-size:16px;line-height:1.75;color:#111;max-height:56vh;overflow:auto;padding:14px 10px;border:1px solid #f0e1e3;border-radius:16px;background:#fff}
.policy-content img{max-width:100%;height:auto}
.modal-ok{font-size:22px;margin-top:20px;padding:15px 20px}
.success-modal-card{text-align:center;width:min(92vw,620px);padding:46px 34px 38px}
.success-check{width:148px;height:148px;border-radius:50%;margin:0 auto 24px;border:16px solid #bd7f84;color:#bd7f84;display:grid;place-items:center;font-size:100px;font-weight:900;line-height:1}
.success-modal-card h2{margin:0 0 18px;color:#003a5d;font-size:46px;letter-spacing:1px}
.success-modal-card p{font-size:24px;line-height:1.45;font-weight:700;margin:0 0 28px;color:#111}
@media(max-width:520px){.app-modal{padding:14px}.app-modal-card{border-radius:18px;padding:28px 20px}.policy-modal-card h2{font-size:23px}.policy-content{font-size:14px;max-height:58vh}.success-check{width:110px;height:110px;border-width:12px;font-size:74px}.success-modal-card h2{font-size:34px}.success-modal-card p{font-size:18px}.accept-row{font-size:14px}.modal-ok{font-size:18px}}


/* === 2026-05-21 FIX: checkbox modal accept, date input, mobile history table === */
.accept-row input[readonly]{pointer-events:none}
.accept-row .link-btn{font-weight:900;text-decoration:underline;text-underline-offset:3px}
.input[type="date"]{display:block;width:100%;max-width:100%;min-width:0;height:auto;line-height:1.25;-webkit-appearance:none;appearance:none;box-sizing:border-box}
.input[type="date"]::-webkit-date-and-time-value{min-height:1.25em;text-align:left}
.form-group{min-width:0}.register-card{overflow:hidden}
.receipt-table-wrap{width:100%;overflow:visible;border-radius:18px}
.receipt-table{width:100%;table-layout:fixed;border-collapse:collapse}
.receipt-table th,.receipt-table td{white-space:normal!important;word-break:break-word;overflow-wrap:anywhere;text-align:center;vertical-align:middle;padding:10px 6px;font-size:clamp(10px,2.1vw,14px);line-height:1.35}
.receipt-table th{font-weight:900}
.receipt-table th:nth-child(1),.receipt-table td:nth-child(1){width:22%}
.receipt-table th:nth-child(2),.receipt-table td:nth-child(2){width:17%}
.receipt-table th:nth-child(3),.receipt-table td:nth-child(3){width:22%}
.receipt-table th:nth-child(4),.receipt-table td:nth-child(4){width:15%}
.receipt-table th:nth-child(5),.receipt-table td:nth-child(5){width:10%}
.receipt-table th:nth-child(6),.receipt-table td:nth-child(6){width:14%}
.receipt-table .badge{display:inline-block;max-width:100%;padding:5px 7px;border-radius:999px;font-size:clamp(9px,2vw,12px);white-space:normal}
@media(max-width:520px){.receipt-table-wrap{margin-left:-8px;margin-right:-8px;width:calc(100% + 16px)}.receipt-table th,.receipt-table td{padding:8px 3px;font-size:10.5px}.receipt-table th:nth-child(1),.receipt-table td:nth-child(1){width:24%}.receipt-table th:nth-child(2),.receipt-table td:nth-child(2){width:18%}.receipt-table th:nth-child(3),.receipt-table td:nth-child(3){width:22%}.receipt-table th:nth-child(4),.receipt-table td:nth-child(4){width:14%}.receipt-table th:nth-child(5),.receipt-table td:nth-child(5){width:8%}.receipt-table th:nth-child(6),.receipt-table td:nth-child(6){width:14%}}


/* === 2026-05-21 FINAL FIX: history table not overflow + checkbox can uncheck === */
.receipt-table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  border-radius:18px!important;
  border:6px solid rgba(255,255,255,.95)!important;
}
.receipt-table{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.receipt-table th,.receipt-table td{
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:640px){
  .receipt-table-wrap{
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    margin:0!important;
    width:100%!important;
  }
  .receipt-table,
  .receipt-table thead,
  .receipt-table tbody,
  .receipt-table th,
  .receipt-table td,
  .receipt-table tr{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  .receipt-table thead{display:none!important;}
  .receipt-table tr{
    background:#fff!important;
    border:1px solid #ead9dc!important;
    border-radius:16px!important;
    margin:0 0 12px!important;
    padding:10px 12px!important;
    box-shadow:0 6px 14px rgba(16,24,40,.08)!important;
    overflow:hidden!important;
  }
  .receipt-table td{
    display:grid!important;
    grid-template-columns:98px minmax(0,1fr)!important;
    gap:8px!important;
    align-items:center!important;
    border:0!important;
    border-bottom:1px dashed #ead9dc!important;
    padding:8px 0!important;
    text-align:right!important;
    font-size:13px!important;
    line-height:1.35!important;
  }
  .receipt-table td:last-child{border-bottom:0!important;}
  .receipt-table td:before{
    content:attr(data-label);
    text-align:left!important;
    color:#7a4b52!important;
    font-weight:900!important;
    font-size:12px!important;
  }
  .receipt-table .badge{
    justify-self:end!important;
    font-size:12px!important;
    padding:5px 10px!important;
  }
}


/* === 2026-05-21 UPDATE: History mobile = table font resize only, not card === */
@media(max-width:640px){
  .receipt-table-wrap{
    overflow:hidden!important;
    border:5px solid rgba(255,255,255,.95)!important;
    box-shadow:0 6px 14px rgba(0,0,0,.10)!important;
    background:#fff!important;
    border-radius:16px!important;
    margin:0!important;
    width:100%!important;
  }
  .receipt-table,
  .receipt-table thead,
  .receipt-table tbody{
    display:table!important;
    width:100%!important;
    table-layout:fixed!important;
    min-width:0!important;
  }
  .receipt-table thead{display:table-header-group!important;}
  .receipt-table tbody{display:table-row-group!important;}
  .receipt-table tr{display:table-row!important;width:auto!important;background:transparent!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;box-shadow:none!important;overflow:visible!important;}
  .receipt-table th,.receipt-table td{display:table-cell!important;width:auto!important;border:1px solid #ddd!important;border-bottom:1px solid #ddd!important;padding:6px 2px!important;text-align:center!important;font-size:clamp(7.5px,1.85vw,10.5px)!important;line-height:1.22!important;white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;vertical-align:middle!important;}
  .receipt-table td:before{content:none!important;display:none!important;}
  .receipt-table .badge{font-size:clamp(7px,1.75vw,9.5px)!important;padding:3px 4px!important;justify-self:auto!important;white-space:normal!important;}
}
.history-pager{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:18px 0 8px}.pager-btn,.pager-num{min-width:38px;height:38px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;background:#fff;color:#7a4b52;border:1px solid #ead9dc;box-shadow:0 4px 10px rgba(16,24,40,.07)}.pager-num.active{background:#bd7f84;color:#fff;border-color:#bd7f84}.pager-btn.disabled{opacity:.45;pointer-events:none}.pager-note{text-align:center;color:#667085;font-size:13px;font-weight:700;margin-bottom:18px}.right-pill .js-count-right{display:inline-block;min-width:1ch}


/* === 2026-05-21 Campaign date gate pages === */
.campaign-status-page{padding:30px 14px 70px}.status-card{background:rgba(255,255,255,.96);border-radius:22px;padding:34px 20px;text-align:center;box-shadow:0 10px 28px rgba(16,24,40,.12);border:1px solid rgba(185,124,124,.18);max-width:520px;margin:0 auto}.status-card .status-icon{width:104px;height:104px;border-radius:999px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;background:#f7e9ea;color:#bd7f84;font-size:56px;font-weight:900}.status-card h1{margin:0 0 12px;color:#00345a;font-size:clamp(26px,5vw,42px);font-weight:900;line-height:1.2}.status-card p{margin:0 auto 18px;color:#111;font-size:clamp(16px,3.4vw,22px);font-weight:800;line-height:1.55;max-width:430px}.date-pill{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;margin:4px 0 24px;border-radius:16px;background:#fff0f2;color:#7a4b52;font-size:clamp(15px,3.2vw,20px);font-weight:900;border:1px solid #ead9dc}.status-card .btn{max-width:440px;margin:0 auto}@media(max-width:480px){.campaign-status-page{padding:22px 10px 60px}.status-card{border-radius:18px;padding:28px 14px}.status-card .status-icon{width:86px;height:86px;font-size:46px}}


/* === 2026-05-21 UPDATE: Home full banner + shop radio search === */
.home-full-banner{
  position:relative;
  width:100%;
  margin:-18px auto 28px;
  border-radius:0 0 24px 24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 12px 30px rgba(16,24,40,.12);
}
.home-full-banner img{display:block;width:100%;height:auto;object-fit:cover}
.home-banner-overlay{position:absolute;inset:auto 0 0;background:linear-gradient(180deg,transparent,rgba(255,255,255,.92));padding:46px 24px 20px;pointer-events:none}
.home-banner-copy{max-width:520px;margin:0 auto;text-align:center;color:#003a5d;text-shadow:0 1px 0 rgba(255,255,255,.65)}
.home-banner-copy span{display:inline-flex;padding:6px 14px;border-radius:999px;background:rgba(189,127,132,.16);color:#9b555f;font-weight:900;font-size:15px;margin-bottom:6px}
.home-banner-copy h1{margin:0;font-size:clamp(24px,5.4vw,44px);line-height:1.05;font-weight:900}
.home-banner-copy p{margin:8px 0 0;font-size:clamp(13px,3vw,18px);font-weight:800;color:#111}
.home-welcome-card{margin-top:0}
.shop-radio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.radio-choice.shop-radio{margin:0;padding:13px 12px;border:1px solid #ead9dc;border-radius:16px;background:#fff7f8;box-shadow:0 4px 10px rgba(16,24,40,.06);transition:.18s ease}
.radio-choice.shop-radio:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(16,24,40,.10)}
.radio-choice.shop-radio input:checked+span+b{color:#7a2630}
.radio-choice.shop-radio:has(input:checked){background:#fff;border-color:#bd7f84;box-shadow:0 0 0 3px rgba(189,127,132,.16),0 8px 16px rgba(16,24,40,.10)}
.google-branch-wrap{z-index:40}
.google-branch-item .branch-pin{font-weight:900;color:#bd7f84}
@media(max-width:520px){.home-full-banner{margin:-10px -4px 24px;width:calc(100% + 8px);border-radius:0 0 18px 18px}.home-banner-overlay{padding:34px 14px 14px}.shop-radio-grid{grid-template-columns:1fr;gap:9px}.radio-choice.shop-radio{padding:11px 10px}}

/* === 2026-05-21 UPDATE: hero wow effect + quick shop radio === */
.campaign-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 8px 20px rgba(16,24,40,.08);
}
.campaign-hero img{
  transform-origin:center;
  animation:heroFloatZoom 7s ease-in-out infinite;
  will-change:transform,filter;
}
.campaign-hero:after{
  content:"";
  position:absolute;
  inset:-40% -70%;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.18) 45%,rgba(255,255,255,.55) 50%,rgba(255,255,255,.18) 55%,transparent 65%);
  transform:translateX(-45%) rotate(0.001deg);
  animation:heroShine 4.8s ease-in-out infinite;
  pointer-events:none;
  z-index:2;
}
.campaign-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.28),transparent 28%),linear-gradient(180deg,transparent 70%,rgba(189,127,132,.12));
  pointer-events:none;
  z-index:1;
}
.quick-shop-grid{margin-top:8px}
.quick-shop-grid .shop-radio b{font-size:16px;line-height:1.25}
@keyframes heroFloatZoom{
  0%,100%{transform:scale(1) translateY(0);filter:saturate(1)}
  50%{transform:scale(1.018) translateY(-3px);filter:saturate(1.06)}
}
@keyframes heroShine{
  0%,38%{transform:translateX(-55%);opacity:0}
  50%{opacity:.95}
  70%,100%{transform:translateX(55%);opacity:0}
}
@media(prefers-reduced-motion:reduce){.campaign-hero img,.campaign-hero:after{animation:none!important}}
@media(max-width:520px){.quick-shop-grid .shop-radio b{font-size:14px}}
