.phone .field{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:13px;font-weight:600}.phone .field input,.phone .field select{width:100%;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);font:inherit}.phone label.sub{display:block;line-height:1.7;margin:18px 0}.phone label.sub input{accent-color:var(--brand)}.phone .receipt p{line-height:1.6}.phone .receipt small{color:var(--muted)}.phone .receipt .row{padding:12px 0;border-bottom:1px solid var(--line)}.phone .receipt .row:last-child{border:0}.phone .add-card[data-card]{background:var(--brand);color:#fff;border:0;text-align:left;padding:24px;line-height:1.9;box-shadow:0 8px 24px #5c25f424}.phone .add-card[data-card] strong:first-child{display:block;font-size:19px}.phone [role=alert]:empty{display:none}.phone [role=alert]{color:#bf334d;font-size:13px}.phone .screen>form{margin-bottom:20px}.phone a.add-card{display:block;text-align:center;text-decoration:none;line-height:1.5;margin-top:14px}.phone a.add-card:hover{background:var(--brand-soft)}.phone a.add-card:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.client-web{background:var(--bg)}.client-web .stage{display:block;min-height:100dvh;padding:0}.app-header{display:flex;align-items:center;gap:24px;padding:20px 32px;background:var(--surface);border-bottom:1px solid var(--line)}.app-header .brand{text-decoration:none;font-size:24px;letter-spacing:-.6px}.app-header .brand-mark{background:var(--brand);color:#fff;width:38px;height:38px;font-size:25px}.app-description{color:var(--muted)}.app-profile{margin-left:auto;padding:12px 18px;border-radius:12px;background:var(--brand-soft);color:var(--brand-text)}.client-web .phone{display:grid;grid-template-columns:220px minmax(0,1fr);width:100%;height:calc(100dvh - 79px);min-height:0;border:0;border-radius:0;box-shadow:none;overflow:visible;margin:0;background:var(--bg)}.client-web .phone .nav{position:static;display:flex;flex-direction:column;height:100%;padding:24px 16px;gap:8px;justify-content:flex-start;border-radius:0;border:0;border-right:1px solid var(--line);box-shadow:none}.client-web .phone .nav button{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;width:100%;gap:12px;padding:14px 12px;border-radius:12px;font-size:14px;min-height:52px;height:auto;flex:0 0 auto}.client-web .phone .nav button .tab-label{display:block;opacity:1;max-height:none;font-size:14px}.client-web .phone .nav button.active{background:var(--brand-soft);color:var(--brand-text)}.client-web .screen{height:100%;min-height:0;overflow:auto;scrollbar-width:auto;padding:32px clamp(20px,4vw,64px) 48px;max-width:1200px;width:100%;margin:0 auto}.client-web .screen>form,.client-web .screen>.receipt,.client-web .screen>.primary,.client-web .screen>a{max-width:760px}.client-web .screen>.sub{font-size:14px}.client-web .screen .add-card[data-card]{max-width:360px;margin:0 16px 16px 0;vertical-align:top;min-height:180px}.client-web .screen .heading{font-size:32px;line-height:1.25}.client-web .screen .primary,.client-web .screen .secondary{max-width:760px}.client-web .toast{position:fixed;bottom:24px;left:auto;right:24px;max-width:420px}@media(max-width:700px){.app-header{padding:14px 16px;gap:12px}.app-description{display:none}.app-header .brand{font-size:20px}.app-profile{padding:10px;font-size:12px}.client-web .phone{display:block;height:calc(100dvh - 67px)}.client-web .screen{height:100%;padding:20px 16px 112px}.client-web .screen .heading{font-size:27px}.client-web .screen .add-card[data-card]{max-width:none;margin-right:0;width:100%}.client-web .phone .nav{position:fixed;bottom:0;left:0;right:0;z-index:10;flex-direction:row;height:auto;min-height:74px;padding:8px 4px calc(8px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);gap:0}.client-web .phone .nav button{flex-direction:column;justify-content:center;gap:4px;padding:6px 2px;min-height:54px;width:20%}.client-web .phone .nav button .tab-label{font-size:10px}.client-web .toast{bottom:100px;left:16px;right:16px;max-width:none}}.client-web.guest .phone{display:block}.client-web.guest .nav{display:none}.client-web.guest .screen{max-width:640px;padding-top:64px}.app-profile[hidden]{display:none}.app-business{margin-left:auto;text-decoration:none;color:var(--brand-text);font-size:14px}.app-business+.app-profile{margin-left:0}@media(max-width:700px){.app-business{font-size:12px}.app-header{gap:8px}}.merchant-terms{max-width:760px;margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.merchant-terms summary{cursor:pointer;font-weight:600}.terms-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;line-height:1.7;margin:16px 0}.phone .field select{font-size:16px}.phone #profile-form,.phone #company-form{max-width:760px}.phone #company-form h2{margin-top:0}.wallet-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:20px 0 28px}.loyalty-card{background:linear-gradient(135deg,#4820b5,#7439ed);border-radius:24px;color:#fff;overflow:hidden;box-shadow:0 12px 28px #5026b51c;max-width:440px;margin-bottom:20px}.wallet-card-grid .loyalty-card{max-width:none;margin:0}.card-face{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:20px 20px 14px;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer;font:inherit;position:relative}.card-merchant{font-size:21px;font-weight:700;line-height:1.3}.card-owner{font-size:14px;opacity:.8;margin-top:8px}.card-number{font-family:monospace;letter-spacing:3px;margin-top:24px;opacity:.85}.card-balance{font-size:36px;font-weight:700;margin-top:20px}.card-balance small{font-size:14px;font-weight:400}.card-type{font-size:12px;opacity:.75;margin-top:5px}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 14px}.card-push,.card-barcode-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:14px;font:inherit;font-weight:650;cursor:pointer;padding:10px 16px;border:1px solid transparent}.card-push{background:#5c25f4;color:#fff}.card-push img{width:26px;height:26px}.loyalty-card .card-push{background:#ffffff24;border-color:#ffffff30}.card-barcode-button{background:#fff;color:#4820b5}.card-barcode-button span{font-size:24px}.card-push:disabled{opacity:.5;cursor:wait}.card-action-dialog{width:min(760px,calc(100vw - 32px));box-sizing:border-box;border:0;border-radius:24px;padding:32px;color:#242035;background:#fff;box-shadow:0 24px 100px #16093940}.card-action-dialog::backdrop{background:#16093988;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.card-action-dialog h2{padding-right:24px;margin-top:0}.card-dialog-close{position:absolute;right:16px;top:12px;background:transparent;border:0;font-size:30px;cursor:pointer;color:#665c78}.card-action-dialog .field{display:flex;flex-direction:column;gap:8px;margin:24px 0}.card-action-dialog select{padding:14px;border:1px solid #ded7eb;border-radius:12px;font:inherit;background:#fff;color:#242035}.card-action-dialog .card-push,.card-action-dialog .card-barcode-button{width:100%;margin-top:12px}.card-action-dialog .card-barcode-button{border-color:#ddd4f4}.card-action-dialog [role=alert]{color:#b42318}.card-dialog-hint{color:#766d86;font-size:14px;line-height:1.6}.barcode-paper{background:#fff;border:1px solid #eee;border-radius:16px;padding:16px 8px;text-align:center}.barcode-paper svg{display:block;width:100%;height:auto;max-height:240px}.barcode-paper code{font-size:12px;overflow-wrap:anywhere;color:#242035}.card-face:focus-visible,.card-actions button:focus-visible{outline:3px solid #f4d36d;outline-offset:-3px}@media(max-width:700px){.wallet-card-grid{grid-template-columns:1fr;gap:16px}.loyalty-card{max-width:none}.card-action-dialog{padding:24px 18px}.card-face{padding:18px 18px 12px}}.pwa-tools{padding:18px;border:1px solid #8672ad40;border-radius:18px;margin-bottom:24px}.pwa-tools>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.phone .pwa-tools .secondary{width:auto;margin:4px 0;font-size:13px;padding:10px 14px}.pwa-tools select{padding:8px;border-radius:10px}.pwa-tools .sub{margin-bottom:0;font-size:12px}.phone .wallet-add-card{min-height:288px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:2px dashed #8b74bb;border-radius:24px;background:transparent;color:#7050ab;font:inherit;cursor:pointer;transition:background .18s,border-color .18s}.wallet-add-card>span{font-size:38px;font-weight:300;line-height:1}.wallet-add-card>strong{font-size:18px}.phone .wallet-add-card:hover{background:#5c25f40a;border-color:#5c25f4}.wallet-add-card:focus-visible{outline:3px solid #5c25f4;outline-offset:4px}[data-theme=dark] .phone .wallet-add-card{color:#c5aaff;border-color:#8666ba}[data-theme=dark] .phone .wallet-add-card:hover{background:#ffffff08;border-color:#c5aaff}.card-top{display:flex;justify-content:space-between;gap:16px;width:100%;align-items:flex-start}.card-shop{display:flex;flex-direction:column;min-width:0;flex:1}.card-address{font-size:12px;line-height:1.5;margin-top:8px;opacity:.8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-reward{font-size:30px;font-weight:750;display:flex;flex-direction:column;text-align:right;flex-shrink:0;line-height:1.1}.card-reward small{font-size:11px;font-weight:400;margin-top:6px}.card-discount{font-size:14px;margin-top:10px}.card-face .card-owner{font-size:16px;font-weight:650;opacity:1;margin-top:24px}.card-context{display:flex;gap:8px;padding:0 18px 8px;min-height:0}.card-context-button{background:#ffffff18;border:1px solid #ffffff30;border-radius:9px;padding:8px 12px;color:#fff;font:inherit;font-size:12px;text-decoration:none;cursor:pointer}.invoice-choices{display:grid;gap:12px}.invoice-choice{display:flex;flex-direction:column;text-align:left;gap:8px;padding:18px;border:1px solid #e1d9ee;background:#fff;color:#242035;border-radius:14px;font:inherit;cursor:pointer}.invoice-choice small{font-size:12px;color:#766d86}.invoice-choice.chosen{border:2px solid #5c25f4;background:#f5f0ff}.invoice-choice:disabled{opacity:.65;cursor:default}.card-face{min-height:0}.wallet-card-grid .wallet-add-card{min-height:260px}.card-holder-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;margin-top:16px}.card-face .card-holder-row .card-owner{margin-top:0;min-width:0;overflow-wrap:anywhere}.card-holder-row .card-number{margin-top:0;white-space:nowrap;font-size:13px;letter-spacing:1px;flex-shrink:0}.card-marketing{display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin:20px 0}.card-marketing input{margin-top:5px;flex-shrink:0}.card-distance{display:block;margin-top:8px;font-size:12px;line-height:1.5;opacity:.85}.card-shop .card-distance{margin-top:2px}.loyalty-card .card-holder-row{box-sizing:border-box;padding:0 18px;margin:0 0 10px;align-items:flex-start}.card-holder-name,.card-holder-number{display:flex;flex-direction:column;gap:5px}.card-holder-name{min-width:0;flex:1}.card-holder-name .card-owner{font-size:16px;font-weight:650;opacity:1;margin:0;overflow-wrap:anywhere}.card-holder-name .card-type{margin:0}.card-holder-number{align-items:flex-end;flex-shrink:0}.card-holder-number .card-number{margin:0;line-height:24px}.card-holder-number .card-context-button{padding:6px 10px}.loyalty-card .card-context{justify-content:center;padding-bottom:10px}.card-face{padding-bottom:14px}.wallet-header{gap:12px;padding:12px 24px;height:72px;box-sizing:border-box;background:var(--bg);border-bottom:0}.wallet-header .header-circle{display:flex;align-items:center;justify-content:center;width:46px;height:46px;min-width:46px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0;margin:0;text-decoration:none;font:inherit;font-size:15px;font-weight:600}.wallet-header svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.wallet-header .app-business svg{stroke-width:4}.header-search{display:flex;align-items:center;gap:10px;flex:1;max-width:640px;height:46px;min-width:0;padding:0 16px;border:1px solid var(--line);border-radius:28px;background:var(--surface);color:var(--muted)}.header-search svg{flex-shrink:0}.header-search input{width:100%;min-width:0;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:16px}.header-search:focus-within{border-color:#8b65ef;box-shadow:0 0 0 2px #5c25f41a}.header-circle:focus-visible{outline:3px solid #8b65ef;outline-offset:2px}.header-circle:hover{background:var(--brand-soft)}.client-web.guest .header-search,.client-web.guest .header-cards{display:none}@media(min-width:701px){.client-web .phone{height:calc(100dvh - 72px)}}@media(max-width:700px){.wallet-header{gap:10px;padding:12px 16px}.wallet-header .header-circle{width:42px;min-width:42px;height:42px}.header-search{height:42px;padding:0 12px;gap:8px}.wallet-header svg{width:21px;height:21px}.header-search input{font-size:16px}}@media(max-width:700px){.client-web .phone{height:calc(100dvh - 72px)}}.client-web .nav .tab-icon svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}@media(max-width:700px){.client-web .phone .nav{left:50%;right:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:translate(-50%);width:calc(100% - 32px);max-width:460px;min-height:0;height:70px;padding:5px;border:1px solid var(--line);border-radius:38px;background:var(--nav-surface);box-shadow:0 8px 28px #00000026;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);gap:0;transition:width .24s,height .24s,padding .24s}.client-web .phone .nav button{width:20%;height:58px;min-height:0;padding:6px 2px;gap:3px;border-radius:30px;justify-content:center;transition:height .24s,padding .24s}.client-web .phone .nav .tab-icon{background:transparent;box-shadow:none;width:26px;height:26px;border-radius:0;color:inherit}.client-web .phone .nav button.active{background:var(--brand-soft);color:var(--brand-text)}.client-web .phone .nav button.active .tab-icon{background:transparent;box-shadow:none;color:inherit}.client-web .phone .nav .tab-label{font-size:10px;max-height:14px;opacity:1;transform:translateY(0);transition:max-height .24s,opacity .18s,transform .24s}.client-web .phone .nav.compact{width:calc(100% - 88px);max-width:370px;height:54px;padding:4px;border-radius:30px}.client-web .phone .nav.compact button{height:44px;padding:4px;gap:0}.client-web .phone .nav.compact .tab-label{max-height:0;opacity:0;transform:translateY(5px)}.client-web .phone .nav.compact .tab-icon{width:26px;height:26px;border-radius:0}.client-web .screen{padding-bottom:calc(112px + env(safe-area-inset-bottom))}}@media(min-width:701px){.client-web .phone .nav.compact .tab-label{max-height:none;opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.client-web .phone .nav,.client-web .phone .nav button,.client-web .phone .nav .tab-label{transition:none}}.profile-hero{position:relative;text-align:center;padding:30px 16px 26px;max-width:760px}.profile-avatar{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;margin:0 auto 20px;background:var(--brand-soft);color:var(--brand-text);font-size:32px;font-weight:650}.profile-hero h1{font-size:30px;margin:0 0 10px;overflow-wrap:anywhere}.profile-hero p{color:var(--muted);margin:0;overflow-wrap:anywhere}.profile-close{position:absolute;top:0;left:0;border:1px solid var(--line);background:var(--surface);border-radius:50%;width:40px;height:40px;font-size:26px}.profile-section-group{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--surface);margin:18px 0;max-width:760px}.profile-menu-row{display:flex;align-items:center;width:100%;gap:16px;padding:20px;background:transparent;color:var(--ink);text-align:left;text-decoration:none;border:0;cursor:pointer;font:inherit}.profile-menu-row+.profile-menu-row{border-top:1px solid var(--line)}.profile-menu-row>span:nth-child(2){flex:1;min-width:0}.profile-menu-row strong{display:block;font-size:17px;font-weight:600}.profile-menu-row small{display:block;color:var(--muted);font-size:13px;margin-top:5px;line-height:1.4}.profile-menu-icon{display:grid;place-items:center;width:30px;flex-shrink:0;font-size:25px;color:var(--brand-text)}.profile-chevron{color:var(--muted);font-size:26px}.profile-back{background:transparent;color:var(--brand-text);padding:0 0 16px;font-size:15px}.profile-logout{max-width:760px;margin-top:22px}.profile-logout .secondary{width:100%}.profile-menu-row:hover{background:var(--brand-soft)}.phone .profile-section-group.theme-options{display:flex;padding:16px;gap:10px;flex-wrap:wrap}.profile-section-group.theme-options button{flex:1;min-height:48px}.profile-account-switch{display:flex;gap:5px;border:1px solid var(--line);background:var(--surface);padding:5px;border-radius:18px;max-width:760px;margin:0 0 24px}.profile-account-switch button,.profile-account-switch a{flex:1;text-align:center;padding:13px 8px;border-radius:13px;font:inherit;font-weight:600;text-decoration:none;background:transparent;color:var(--muted)}.profile-account-switch [aria-current=true]{background:var(--brand-soft);color:var(--brand-text)}.wallet-header .header-live-bill{position:relative}.wallet-header .header-live-bill[hidden]{display:none}.live-bill-dot{position:absolute;right:6px;top:6px;width:7px;height:7px;border-radius:50%;background:#48c997;box-shadow:0 0 0 2px var(--surface)}.wallet-location-filters{margin-bottom:20px}.location-filter-buttons{display:flex;gap:8px}.phone .location-filter-buttons .secondary{flex:1;width:auto;margin:0;padding:11px 8px;font-size:13px;border-radius:24px}.location-filter-buttons [aria-pressed=true]{background:var(--accent,#7651d6);color:#fff;border-color:transparent}.near-radius{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px}.near-radius select{padding:6px 10px;border-radius:10px}.iris-pay-link{display:block;text-align:center;text-decoration:none}.iris-payment h2{margin-top:0}
