:root{
  --red:#a1121c;--red-deep:#641016;--gold:#dca52f;--gold-dark:#9b6a12;
  --black:#171313;--cream:#fff8e9;--paper:#fffdfa;--muted:#746963;--line:#eadcc8;
  --ok:#16724d;--error:#a1121c;--shadow:0 14px 38px rgba(53,24,18,.12);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--black);background:var(--cream)
}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 5%,rgba(220,165,47,.15),transparent 26%),var(--cream)}
a{color:var(--red-deep)}button,.button,input,select{font:inherit}button,.button{cursor:pointer;text-decoration:none;text-align:center}
.topbar{min-height:82px;padding:10px clamp(16px,4vw,44px);display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,var(--red-deep),var(--red));color:#fff;border-bottom:4px solid var(--gold)}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand img{width:62px;height:54px;object-fit:contain;background:#fff;border-radius:8px}.brand span{display:flex;flex-direction:column}.brand strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(17px,2vw,24px);font-weight:600}.brand small{color:#ffe1a0;letter-spacing:.08em;text-transform:uppercase}
.session-user{display:flex;align-items:center;gap:12px}.session-user a{color:#fff}.footer{max-width:1180px;margin:28px auto;padding:20px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:14px}
.flash{max-width:1060px;margin:16px auto 0;padding:12px 16px;border-radius:12px;background:#fff;border-left:5px solid var(--gold);box-shadow:var(--shadow)}.flash.success{border-color:var(--ok)}.flash.error{border-color:var(--error)}
.page{max-width:1060px;margin:0 auto;padding:clamp(24px,5vw,48px) 18px}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.page-title h1{font-family:Georgia,"Times New Roman",serif;color:var(--red-deep);font-size:clamp(28px,4vw,44px);margin:0}.page-title p{color:var(--muted);margin:6px 0 0}
.hero{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:36px 18px}.hero>section{max-width:760px;text-align:center}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,7vw,72px);line-height:1.02;color:var(--red-deep);margin:12px 0}.hero>section>p{font-size:clamp(17px,2vw,21px);color:var(--muted)}.eyebrow{color:var(--gold-dark);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.partner-logos,.card-brands{display:flex;align-items:center;justify-content:center;gap:18px}.partner-logos{margin-bottom:22px}.partner-logos img{width:min(220px,35vw);height:145px;object-fit:contain;background:#fff;border-radius:14px;padding:8px;box-shadow:var(--shadow)}.partner-logos span,.card-brands span{font-family:Georgia,serif;font-size:28px;color:var(--gold-dark)}
.panel,.login-box,.loyalty-card,.metrics article{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.panel{padding:clamp(18px,3vw,28px)}.panel h2{font-family:Georgia,"Times New Roman",serif;color:var(--red-deep);margin-top:0}.login-box{max-width:520px;margin:28px auto 0;padding:18px;display:flex;gap:10px;text-align:left}.login-box label{flex:1}.privacy-note{font-size:13px!important}
label{display:flex;flex-direction:column;gap:7px;font-weight:650;color:var(--red-deep)}input,select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cfbda7;border-radius:10px;background:#fff;color:var(--black);font-size:16px}input:focus,select:focus{outline:3px solid rgba(220,165,47,.35);border-color:var(--gold-dark)}
button,.button{min-height:46px;padding:11px 16px;border:1px solid #ccb998;border-radius:10px;background:#fff;color:var(--red-deep);font-weight:750}button.primary,.primary.button{border-color:var(--red);background:linear-gradient(135deg,var(--red-deep),var(--red));color:#fff}.secondary{background:#fff8e9}.reward-button{background:var(--gold);border-color:var(--gold-dark);color:#291700}button:disabled{opacity:.45;cursor:not-allowed}
.auth-card{max-width:520px;margin:auto;display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid h2{margin-bottom:0}.span-2{grid-column:1/-1}.check{grid-column:1/-1;flex-direction:row;align-items:flex-start;font-weight:500;color:var(--black)}.check input{width:20px;min-height:20px}
.loyalty-card{max-width:620px;margin:0 auto 22px;padding:24px;background:linear-gradient(150deg,#fffdf8,#fff1ca);border:2px solid var(--gold);text-align:center}.card-brands img{width:120px;height:82px;object-fit:contain;background:#fff;border-radius:9px;padding:5px}.shared-card{margin:9px 0 20px;color:var(--muted);font-weight:700}.loyalty-head{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left}.loyalty-head div{display:flex;flex-direction:column}.loyalty-head strong{font-size:28px;color:var(--red)}.loyalty-head>span{background:var(--red);color:#fff;padding:7px 10px;border-radius:99px}.stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0}.stamps span{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#eee2cd;color:#7d7162;font-weight:800}.stamps .earned{background:linear-gradient(145deg,var(--gold),#f4ca65);color:#4a2700;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)}.reward{display:flex;flex-direction:column;padding:14px;border-radius:12px;background:var(--red-deep);color:#fff}.reward span{color:#ffe1a0}#member-qr{width:196px;min-height:196px;margin:22px auto 10px;background:#fff;padding:8px;border-radius:10px}#member-qr img,#member-qr canvas{display:block!important;width:180px!important;height:180px!important}.history>div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.history>div:last-child{border-bottom:0}.history small{display:block;color:var(--muted)}
.cash-layout{display:grid;gap:18px}.search-row{display:flex;gap:9px}.search-row input{flex:1}.client-line{display:flex;justify-content:space-between;align-items:center;gap:16px}.client-line h2{margin-bottom:4px}.client-line p{margin:0;color:var(--muted)}.score{width:68px;height:68px;display:grid;place-items:center;border-radius:50%;background:var(--gold);font-size:20px;color:#321d00}.client-result{display:grid;gap:18px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}#scanner{width:100%;max-height:360px;object-fit:cover;border-radius:12px;margin-top:14px}.muted{color:var(--muted)}
.admin-nav{display:flex;gap:4px;overflow-x:auto;padding:9px clamp(12px,4vw,44px);background:#2a2020}.admin-nav a{color:#fff;text-decoration:none;padding:10px 13px;border-radius:8px;white-space:nowrap}.admin-nav a.active{background:var(--gold);color:#2a1600;font-weight:800}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.metrics article{padding:18px}.metrics span{display:block;color:var(--muted)}.metrics strong{display:block;margin-top:6px;font-family:Georgia,serif;font-size:34px;color:var(--red)}.quick-actions{display:flex;gap:12px;flex-wrap:wrap}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-stack{display:grid;gap:18px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--red-deep)}td small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:700px){.topbar{align-items:flex-start}.brand img{width:48px;height:42px}.brand strong{font-size:16px}.session-user span{display:none}.login-box,.search-row{flex-direction:column}.form-grid,.action-grid,.metrics,.split{grid-template-columns:1fr}.span-2{grid-column:auto}.footer{flex-direction:column}.hero:before{height:150px}.stamps{gap:7px}.loyalty-card{padding:17px}.admin-nav{padding-left:10px}}
.birthday-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px}.birthday-fields legend{font-weight:750;color:var(--red-deep);padding:0 6px}.birthday-fields small{grid-column:1/-1;color:var(--muted)}.birthday-inline{display:grid;grid-template-columns:1fr 1fr;gap:12px}.birthday-profile,.preference-form{max-width:620px;margin:0 auto 22px;display:grid;gap:14px}.birthday-reward{display:flex;flex-direction:column;gap:3px;margin-top:12px;padding:14px;border-radius:12px;background:#fff0c5;border:1px solid var(--gold-dark);color:#4a2700}.cash-birthday{padding:16px;border:2px solid var(--gold);border-radius:12px;background:#fff5d8}.cash-birthday p{margin:6px 0 12px}.birthday-button{background:var(--gold);border-color:var(--gold-dark);color:#291700}.mini-form{display:grid;grid-template-columns:70px 70px;gap:8px;min-width:220px}.mini-form .check,.mini-form button{grid-column:1/-1}.legal-consent{font-size:14px;color:var(--muted)}
.legal{font-size:16px;line-height:1.7}.legal h2{margin:32px 0 8px;color:var(--red-deep);font-family:Georgia,"Times New Roman",serif;font-size:24px}.legal h2:first-child{margin-top:0}.legal-intro{font-size:18px;border-left:4px solid var(--gold);padding-left:16px}.legal li{margin:7px 0}.legal-table{font-size:15px}.install-button{background:var(--gold);border-color:var(--gold-dark);color:#321d00}
@media(max-width:700px){.birthday-fields,.birthday-inline{grid-template-columns:1fr}.birthday-fields small{grid-column:auto}.legal{font-size:15px}.legal h2{font-size:21px}}
