.modal.loyalty-modal{width:min(880px,100%);max-height:90vh;padding:0;background:#f8f9f4;border-radius:28px}
.loyalty-view{padding:30px}
.loyalty-view-head{margin-right:44px}
.loyalty-view-head .eyebrow{font-size:10px;letter-spacing:1.2px}
.loyalty-view-head h2{margin:11px 0 6px;color:#1c2921;font-size:33px;letter-spacing:-1.2px}
.loyalty-view-head p{margin:0;color:#6f7a70;font-size:13px;line-height:1.5}
.loyalty-demo-note{display:flex;gap:10px;margin:17px 0;padding:12px 14px;border:1px solid #e4e9dc;border-radius:14px;background:#eef3e4;color:#566450;font-size:11px;line-height:1.45}
.loyalty-demo-note strong{display:block;margin-bottom:2px;color:#31513b;font-size:11px}
.loyalty-icon{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:#dcebbd;color:#17543e;font-weight:900}
.loyalty-customer-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin:17px 0 20px;padding:15px;border:1px solid #e7ebe3;border-radius:16px;background:#fff}
.loyalty-customer-form label{display:grid;gap:5px;color:#59665b;font-size:10px;font-weight:850}
.loyalty-customer-form input,.loyalty-panel input,.loyalty-panel select{min-width:0;border:1px solid #dfe5db;border-radius:10px;background:#fff;padding:10px 11px;color:#29372d;font-size:12px}
.loyalty-customer-form small{color:#899287;font-size:9px;font-weight:500}
.loyalty-customer-form button,.loyalty-panel button{border:0;border-radius:10px;background:#17543e;color:#fff;padding:10px 14px;font-size:10px;font-weight:850}
.loyalty-business-list{display:grid;gap:15px}
.loyalty-business-card{padding:18px;border:1px solid #e5eae1;border-radius:20px;background:#fff;box-shadow:0 5px 18px #20332808}
.loyalty-business-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.loyalty-business-head h3{margin:0 0 4px;color:#27362c;font-size:17px}
.loyalty-business-head p{margin:0;color:#7a8579;font-size:10px}
.loyalty-balance{flex:0 0 auto;text-align:right}
.loyalty-balance strong{display:block;color:#17543e;font-size:27px;line-height:1;letter-spacing:-1px}
.loyalty-balance small{display:block;margin-top:4px;color:#829080;font-size:8px;font-weight:900;letter-spacing:1px}
.loyalty-rule{display:inline-flex;margin:13px 0 0;padding:7px 10px;border-radius:999px;background:#eff4e4;color:#3c6143;font-size:9px;font-weight:800}
.loyalty-rewards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-top:15px}
.loyalty-reward{display:grid;gap:7px;padding:12px;border:1px solid #edf0e9;border-radius:14px;background:#fbfcf8}
.loyalty-reward strong{color:#344239;font-size:12px}
.loyalty-reward small{color:#748071;font-size:10px;font-weight:800}
.loyalty-reward button{border:0;border-radius:9px;background:#17543e;color:#fff;padding:9px 8px;font-size:9px;font-weight:850}
.loyalty-reward button:disabled{background:#e9ede4;color:#899287;cursor:not-allowed}
.loyalty-pending-list{display:grid;gap:8px;margin-top:13px}
.loyalty-redemption{padding:11px 12px;border:1px solid #e6eadf;border-radius:12px;background:#f8faf4}
.loyalty-redemption strong{display:block;color:#344239;font-size:11px}
.loyalty-redemption small{display:block;margin-top:4px;color:#788376;font-size:9px}
.loyalty-redemption code{display:inline-block;margin-top:6px;padding:5px 7px;border-radius:7px;background:#eaf1dc;color:#17543e;font-size:12px;font-weight:900;letter-spacing:1.5px}
.loyalty-empty{padding:24px 18px;border:1px dashed #d8dfd3;border-radius:16px;background:#fff;color:#788376;text-align:center;font-size:12px;line-height:1.5}
.loyalty-empty strong{display:block;margin-bottom:4px;color:#344239;font-size:14px}
.loyalty-view-footer{margin:14px 0 0;color:#858d83;text-align:center;font-size:9px;line-height:1.45}
.loyalty-panel{display:grid;gap:15px;margin:20px 0;padding:17px;border:1px solid #e4e9dd;border-radius:19px;background:#f6f8f0}
.loyalty-panel-head h3{margin:5px 0;color:#25372b;font-size:20px;letter-spacing:-.5px}
.loyalty-panel-head p{margin:0;color:#738071;font-size:11px;line-height:1.5}
.loyalty-local-note{padding:10px 12px;border-radius:12px;background:#fff9e8;color:#756239;font-size:10px;line-height:1.45}
.loyalty-section{padding:14px;border:1px solid #e5eadd;border-radius:15px;background:#fff}
.loyalty-section h4{margin:0 0 5px;color:#334237;font-size:13px}
.loyalty-section>p{margin:0 0 11px;color:#7a8579;font-size:10px;line-height:1.45}
.loyalty-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.loyalty-field{display:grid;gap:5px;min-width:0}.loyalty-field[hidden]{display:none}
.loyalty-field.full{grid-column:1/-1}
.loyalty-field label{color:#59665b;font-size:10px;font-weight:850}
.loyalty-field small{color:#899287;font-size:9px;line-height:1.4}
.loyalty-check{display:flex;align-items:flex-start;gap:8px;color:#59665b;font-size:10px;font-weight:700}
.loyalty-check input{margin-top:2px;accent-color:#17543e}
.loyalty-submit{margin-top:10px}
.loyalty-reward-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #eff1ec}
.loyalty-reward-row:first-of-type{margin-top:10px}
.loyalty-reward-row strong{display:block;color:#344239;font-size:11px}
.loyalty-reward-row small{display:block;margin-top:3px;color:#798477;font-size:9px}
.loyalty-reward-row button{background:#eef3e4;color:#35573d;padding:7px 9px}
.loyalty-order-form{margin-top:12px}
.loyalty-order-form .bizsubmit{grid-column:1/-1}
.loyalty-activity{display:grid;gap:7px;margin-top:10px}
.loyalty-activity-row{display:flex;justify-content:space-between;gap:9px;padding:9px 0;border-top:1px solid #eff1ec;color:#68746a;font-size:10px}
.loyalty-activity-row strong{color:#17543e;white-space:nowrap}
.loyalty-pending-business{display:grid;gap:9px;margin-top:10px}
.loyalty-pending-business-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border:1px solid #edf0e9;border-radius:12px;background:#fbfcf8}
.loyalty-pending-business-item strong{display:block;color:#344239;font-size:10px}
.loyalty-pending-business-item small{display:block;margin-top:3px;color:#7a8579;font-size:9px}
.loyalty-pending-business-actions{display:flex;gap:5px;align-items:center}
.loyalty-pending-business-actions button{padding:7px 8px;font-size:9px}
.loyalty-pending-business-actions .cancel{background:#f2e9e6;color:#8c4e43}
@media(max-width:760px){.modal.loyalty-modal{width:100%;max-height:94dvh;border-radius:25px 25px 0 0}.loyalty-view{padding:20px 17px calc(24px + env(safe-area-inset-bottom))}.loyalty-view-head h2{font-size:29px}.loyalty-customer-form{grid-template-columns:1fr}.loyalty-customer-form button{width:100%}.loyalty-business-card{padding:14px}.loyalty-business-head h3{font-size:15px}.loyalty-balance strong{font-size:23px}.loyalty-panel{padding:13px}}
@media(max-width:390px){.loyalty-form-grid{grid-template-columns:1fr}.loyalty-field.full{grid-column:auto}.loyalty-pending-business-item{grid-template-columns:1fr}}
.customer-account{padding-bottom:22px}
.account-loading{padding:42px 14px;text-align:center;color:#657264;font-size:13px}
.account-notice{margin:12px 0;padding:12px 14px;border:1px solid #efdfb2;border-radius:13px;background:#fff9e9;color:#735b25;font-size:12px;line-height:1.5}
.account-note{padding:11px 13px;border-radius:12px;background:#f1f5e8;color:#536344;font-size:10px;line-height:1.5}
.customer-account-form{display:grid;gap:13px;margin:18px 0 10px;padding:17px;border:1px solid #e5eadd;border-radius:17px;background:#fff}
.customer-account-form label{display:grid;gap:6px;color:#59665b;font-size:11px;font-weight:800}
.customer-account-form input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #dfe5db;border-radius:11px;background:#fff;color:#26332a;font-size:14px}
.customer-account-form input:focus{outline:2px solid #d9ed69;border-color:#1c513b}
.account-primary,.account-signout{min-height:44px;border:0;border-radius:12px;background:#17543e;color:#fff;font-size:12px;font-weight:850}
.account-primary:disabled{opacity:.6;cursor:wait}
.account-switch{margin:13px 0;text-align:center;color:#748071;font-size:11px}
.account-switch button,.account-demo-link{border:0;background:transparent;color:#17543e;font:inherit;font-weight:850;cursor:pointer}
.account-demo-link{display:block;margin:17px auto 0;font-size:10px}
.account-code{display:grid;gap:5px;margin:16px 0;padding:17px;border:1px solid #dce8c8;border-radius:17px;background:linear-gradient(135deg,#f4f8e9,#fff);text-align:center}
.account-code span{color:#77836f;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}
.account-code strong{color:#17543e;font-size:25px;letter-spacing:2px}
.account-code small{color:#71806e;font-size:10px;line-height:1.45}
.account-history{display:grid;gap:7px;margin-top:18px;padding:15px;border:1px solid #e5eadd;border-radius:16px;background:#fff}
.account-history h3{margin:0 0 3px;color:#334237;font-size:14px}
.account-history .loyalty-activity-row{font-size:11px}
.account-history .loyalty-activity-row small{display:block;margin-top:3px;color:#879083;font-size:9px}
.account-history code{display:inline-block;margin-top:5px;padding:4px 7px;border-radius:7px;background:#f0f4e8;color:#17543e;font-size:10px;font-weight:800}
.account-signout{width:100%;margin-top:15px;background:#eef2e9;color:#34553d}
@media(max-width:390px){.account-code strong{font-size:22px}.customer-account-form{padding:14px}}
