@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@1,500&display=swap');
:root{--cream:#fbf8f5;--white:#fff;--ink:#152841;--coral:#f56d60;--gray:#7b8894;--border:#eae3dc}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',system-ui,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
input:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #f66d6088;outline-offset:2px}
.shell{max-width:940px;margin:auto;padding:0 22px}
.bar{height:74px;border-bottom:1px solid var(--border);background:white}
.bar-inner{display:flex;align-items:center;justify-content:space-between;gap:13px;height:100%}
.brand{font-size:24px;font-weight:800;letter-spacing:-1.5px}.brand span{color:var(--coral)}.brand em{font-style:normal}
.bar-chip{padding:8px 13px;border-radius:99px;color:#ba5b4d;background:#ffede5;font-size:10px;font-weight:850;letter-spacing:1px}
.bar-link{font-size:12px;font-weight:700}
.hide{display:none!important}.eyebrow{font-size:10px;font-weight:850;letter-spacing:1.7px;color:#d87061}
h1,h2{margin:0;letter-spacing:-1.5px}h1{font-size:41px;font-weight:800;line-height:1.14}h1 i{font-family:'Playfair Display',Georgia,serif;color:var(--coral)}h2{font-size:23px}
p{line-height:1.55;color:#78848f}
label:not(.confirm){display:block;font-size:12px;font-weight:750;margin:18px 0 8px}
input:not([type=checkbox]),select{background:#fff;border:1px solid #dadad7;border-radius:11px;padding:14px;min-height:50px;color:var(--ink);width:100%;font-size:15px}
select{appearance:auto}
button:disabled{opacity:.58;cursor:wait}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:13px 20px;font-size:13px;font-weight:800;min-height:49px;gap:9px}
.primary{background:var(--coral);color:#fff;box-shadow:0 6px 17px #f56d6036}.secondary{background:var(--ink);color:white}.outline{background:#fff;border:1px solid #dedad6;color:var(--ink)}
.feedback{font-size:13px;min-height:20px;font-weight:700;color:#aa5952}
.loader{text-align:center;margin:70px auto;color:#82909a;font-weight:700}.loader-circle{font-size:48px;color:var(--coral);margin-bottom:20px}
.login-box{max-width:410px;background:white;border:1px solid var(--border);border-radius:22px;padding:32px;margin:60px auto}
.login-box h1{margin:15px 0}
.login-box p{font-size:14px}.login-box small{font-size:11px;color:var(--gray)}.login-box button{width:100%;margin-top:20px}
.counter-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:38px 0 19px}
.counter-head h1{font-size:35px;margin:8px 0 6px}
.counter-head p{font-size:12px;margin:0}
.counter-head>div:last-child{display:flex;align-items:center;gap:13px}
.test-chip{font-weight:800;color:#ab6355;background:#ffe9de;border:1px solid #f1d6c9;font-size:10px;padding:9px;border-radius:30px;white-space:nowrap}
.logout{border:0;background:none;color:#647481;font-size:12px;font-weight:700;padding:8px}
.counter-tabs{display:flex;align-items:center;gap:7px;border-bottom:1px solid #e7e1dc;margin-bottom:23px;overflow-x:auto}
.counter-tabs button{padding:14px 19px;border:0;border-bottom:2px solid transparent;background:transparent;color:#6b7883;font-size:13px;font-weight:650;white-space:nowrap}
.counter-tabs button.active{border-bottom-color:var(--coral);color:var(--ink);font-weight:800}
.counter-card{padding:24px 28px;background:white;border:1px solid var(--border);border-radius:19px;box-shadow:0 8px 29px #322c1a07;margin-bottom:17px}
.counter-card.narrow{max-width:590px}
.counter-card .headrow{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.headrow h2{margin:8px 0}
.count-bubble,.status-pill{font-weight:800;font-size:11px;padding:7px 11px;border-radius:99px;background:#fff0e8;color:#be7161;white-space:nowrap}
.new-visit-row{display:flex;gap:13px;align-items:end}
.new-visit-row>div{flex:1;min-width:0}.new-visit-row label{margin-top:4px}
.visit-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.visit-pill{border:1px solid #ebe2d8;background:#fff8f1;border-radius:12px;padding:10px 15px;font-size:12px;color:#576779;font-weight:700}
.visit-pill.active{background:#1b2b42;color:white;border-color:#1b2b42}
.visit-pill small{display:block;font-size:9px;color:#939da7;margin-top:4px}.visit-pill.active small{color:#b6c4d1}
.plain-text{font-size:13px}.small{font-size:12px}
.confirm{display:flex;align-items:center;gap:11px;font-size:12px;line-height:1.6;margin:15px 0}
.confirm input{width:18px;height:18px;accent-color:var(--coral);flex-shrink:0}
#verifySection,#rewardSection,#issuedSection{padding:5px 0 12px}
.bottom-actions{border-top:1px solid #f0e9e2;padding-top:16px;margin-top:12px;display:flex;justify-content:flex-end}
.gift-code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:clamp(18px,4vw,25px);font-weight:800;letter-spacing:.6px;word-break:break-all;background:#fff4e8;border:1px dashed #ebba93;padding:21px;border-radius:14px;margin:16px 0}
.global-note{font-size:11px;color:#8d969e;text-align:center;margin:24px 0 50px}
@media(max-width:650px){.shell{padding:0 16px}.bar{height:66px}.bar-link{font-size:10px}.bar-chip{font-size:9px;padding:6px}.counter-head{margin:28px 0 16px}.counter-head h1{font-size:29px}.counter-head>div:last-child{gap:5px;flex-direction:column;align-items:end}.counter-card{padding:18px;border-radius:15px}.counter-tabs button{padding:12px 16px}.new-visit-row{flex-direction:column;align-items:stretch}.new-visit-row>div,.new-visit-row>button{width:100%}#verifyButton,#issueButton,#redeemCurrent,#redeemButton{width:100%}.login-box{margin:32px auto}.test-chip{font-size:9px}}
