:root{color:#232520;font-synthesis:none;text-rendering:optimizelegibility;--ink:#232520;--muted:#686b63;--surface:#fff;--line:#dedfd8;--accent:#e85d34;--accent-dark:#bc3f1d;--success:#236a45;--danger:#a5352b;background:#f6f5f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}a{color:inherit}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em}.brand,.wordmark{color:var(--ink);align-items:center;gap:.65rem;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.wordmark{font-size:1.25rem}.brand-mark{color:#fff;background:var(--accent);border-radius:.65rem;place-items:center;width:2rem;height:2rem;display:grid}.eyebrow{color:var(--accent-dark);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.9rem;font-size:.75rem;font-weight:800;display:block}.button{cursor:pointer;border:1px solid #0000;border-radius:.8rem;justify-content:center;align-items:center;min-height:2.85rem;padding:.75rem 1.15rem;font-weight:750;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #e85d3440}.button:disabled{cursor:wait;opacity:.65}.button-primary{color:#fff;background:var(--accent)}.button-primary:hover:not(:disabled){background:var(--accent-dark)}.button-secondary{border-color:var(--line);color:var(--ink);background:#fff}.button-secondary:hover:not(:disabled){background:#fafaf7;border-color:#b9bbb2}.button-small{min-height:2.35rem;padding:.5rem .8rem;font-size:.875rem}.landing-page,.app-shell{min-height:100vh}.public-nav,.app-header{justify-content:space-between;align-items:center;width:min(1120px,100% - 2rem);margin:0 auto;padding:1.25rem 0;display:flex}.hero{text-align:center;width:min(960px,100% - 2rem);margin:5rem auto 4.5rem}.hero h1{max-width:820px;margin-bottom:1.35rem;margin-left:auto;margin-right:auto;font-size:clamp(3.2rem,8.2vw,6.7rem);line-height:.94}.hero>p{max-width:680px;color:var(--muted);margin:0 auto 2rem;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.65}.hero-actions{justify-content:center;align-items:center;gap:1.2rem;display:flex}.hero-actions span{color:var(--muted);font-size:.9rem}.promise-grid{border:1px solid var(--line);background:var(--line);border-radius:1.25rem;grid-template-columns:repeat(3,1fr);gap:1px;width:min(1120px,100% - 2rem);margin:0 auto 2rem;display:grid;overflow:hidden}.promise-grid article{background:var(--surface);min-height:210px;padding:1.6rem}.promise-grid article>span{color:var(--accent-dark);font-weight:800}.promise-grid h2{margin-top:3rem;margin-bottom:.6rem;font-size:1.15rem}.promise-grid p,.muted,.lead,.status-card p,.empty-state p{color:var(--muted);line-height:1.6}.auth-page{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.auth-intro{background:#e8eee3;flex-direction:column;justify-content:center;padding:clamp(2rem,7vw,7rem);display:flex}.auth-intro .wordmark{position:absolute;top:2rem}.auth-intro h1{margin-bottom:1rem;font-size:clamp(3rem,7vw,5.6rem);line-height:.95}.auth-intro p{color:#555b50;max-width:500px;font-size:1.1rem;line-height:1.7}.card{border:1px solid var(--line);background:var(--surface);border-radius:1.2rem;box-shadow:0 20px 70px #1e221a12}.auth-card{place-self:center;width:min(460px,100% - 2rem);padding:clamp(1.5rem,4vw,2.5rem)}.auth-card h2{margin-bottom:.5rem;font-size:1.7rem}.auth-card form{gap:.85rem;margin-top:1.8rem;display:grid}.auth-card label{font-size:.9rem;font-weight:750}.auth-card input{width:100%;height:3.2rem;color:var(--ink);background:#fff;border:1px solid #cfd1c9;border-radius:.8rem;padding:0 .9rem}.success-message,.error-message,.inline-error{border-radius:.75rem;margin-top:1rem;padding:.8rem .9rem;font-size:.9rem;line-height:1.5}.success-message{color:var(--success);background:#e8f4ed}.error-message,.inline-error{color:var(--danger);background:#f9eae8}.centered-page{text-align:center;place-content:center;justify-items:center;min-height:100vh;padding:1rem;display:grid}.centered-page>p{color:var(--muted)}.status-card{width:min(520px,100vw - 2rem);padding:clamp(1.6rem,5vw,2.7rem)}.status-card h1{font-size:clamp(2rem,6vw,3.3rem)}.status-card .button{margin-top:.7rem}.loader{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:2.2rem;height:2.2rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-header{border-bottom:1px solid var(--line)}.account-actions{align-items:center;gap:1rem;display:flex}.account-email{color:var(--muted);font-size:.85rem}.inline-error{width:min(1120px,100% - 2rem);margin-left:auto;margin-right:auto}.workspace-page{width:min(1120px,100% - 2rem);margin:4.5rem auto}.workspace-page h1{margin-bottom:.7rem;font-size:clamp(2.8rem,7vw,5.2rem)}.lead{font-size:1.1rem}.placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.5rem;display:grid}.metric-placeholder,.empty-state{border:1px solid var(--line);background:#fff;border-radius:1rem;padding:1.5rem}.metric-placeholder{gap:1.5rem;display:grid}.metric-placeholder span{color:var(--muted);text-transform:uppercase;font-size:.8rem;font-weight:700}.metric-placeholder strong{font-size:1.55rem}.empty-state{max-width:620px;margin-top:2.5rem}.admin-qr-section{margin-top:2.5rem;padding:clamp(1.25rem,3vw,2rem)}.admin-section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:2rem;padding-bottom:1.4rem;display:flex}.admin-section-heading .eyebrow,.admin-qr-preview .eyebrow{margin-bottom:.5rem}.admin-section-heading h2,.admin-qr-preview h3{margin-bottom:0}.admin-section-heading p{max-width:470px;color:var(--muted);margin-bottom:0;line-height:1.55}.admin-list-message{color:var(--muted);margin:1.5rem 0 0;line-height:1.55}.admin-qr-workspace{grid-template-columns:minmax(250px,.8fr) minmax(320px,1.2fr);gap:1.5rem;padding-top:1.5rem;display:grid}.admin-qr-workspace h3{font-size:1rem}.admin-restaurant-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.admin-restaurant-button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:.85rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem;display:grid}.admin-restaurant-button:hover:not(:disabled),.admin-restaurant-button[aria-pressed=true]{border-color:var(--accent);background:#fff8f5}.admin-restaurant-button:focus-visible{outline-offset:2px;outline:3px solid #e85d3440}.admin-restaurant-button:disabled{color:var(--muted);cursor:not-allowed;opacity:.8;background:#f4f4f0}.restaurant-color-dot{border:1px solid #0000001f;border-radius:999px;width:.85rem;height:.85rem}.admin-restaurant-name{gap:.2rem;min-width:0;display:grid}.admin-restaurant-name strong,.admin-restaurant-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-restaurant-name small{color:var(--muted)}.status-badge{border-radius:999px;padding:.28rem .5rem;font-size:.7rem;font-weight:800}.status-active{color:var(--success);background:#e8f4ed}.status-inactive{color:var(--muted);background:#e7e8e3}.admin-qr-preview{border:1px solid var(--line);background:#fafaf7;border-radius:1rem;min-width:0;padding:clamp(1rem,3vw,1.5rem)}.landing-url{overflow-wrap:anywhere;color:var(--muted);margin-top:.7rem;font-size:.82rem;display:block}.qr-preview-image{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:.8rem;width:min(280px,100%);margin:1.4rem auto;padding:.7rem;display:block}.admin-qr-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.4rem;display:flex}.admin-qr-preview .success-message,.admin-qr-preview .error-message{margin-bottom:0}.restaurant-landing,.restaurant-status-page{background:radial-gradient(circle at top, color-mix(in srgb, var(--restaurant-color,var(--accent)) 13%, white), transparent 45%), #f6f5f0;align-content:center;justify-items:center;gap:1.25rem;min-height:100vh;padding:2rem 1rem;display:grid}.restaurant-card,.restaurant-status-card{width:min(620px,100%);overflow:hidden}.restaurant-card{border-top:.4rem solid var(--restaurant-color,var(--accent))}.restaurant-identity{border-bottom:1px solid var(--line);align-items:center;gap:1rem;padding:clamp(1.4rem,5vw,2.2rem);display:flex}.restaurant-identity h1{margin-bottom:.3rem;font-size:clamp(1.7rem,6vw,2.45rem)}.restaurant-identity p{color:var(--muted);margin-bottom:0;line-height:1.45}.restaurant-logo,.restaurant-logo-fallback{border-radius:1.1rem;flex:none;width:4.5rem;height:4.5rem}.restaurant-logo{object-fit:contain;border:1px solid var(--line);background:#fff}.restaurant-logo-fallback{color:#fff;background:var(--restaurant-color,var(--accent));place-items:center;font-size:2rem;font-weight:850;display:grid}.restaurant-offer{background:color-mix(in srgb, var(--restaurant-color,var(--accent)) 6%, white);padding:clamp(1.4rem,5vw,2.2rem)}.restaurant-offer .eyebrow{color:var(--restaurant-color,var(--accent-dark))}.restaurant-offer h2{letter-spacing:-.045em;margin-bottom:.65rem;font-size:clamp(2rem,8vw,3.4rem);line-height:1}.restaurant-offer p{color:var(--muted);line-height:1.6}.restaurant-offer .offer-validity{margin-bottom:0;font-size:.875rem}.restaurant-notice{color:#634d14;background:#fff4cb;border-radius:.8rem;margin:1.25rem 1.4rem 0;padding:.85rem 1rem;line-height:1.5}.claim-form{gap:1.15rem;padding:clamp(1.4rem,5vw,2.2rem);display:grid}.field-group{gap:.45rem;display:grid}.field-group label{font-weight:750}.field-group input{width:100%;height:3.4rem;color:var(--ink);background:#fff;border:1px solid #cfd1c9;border-radius:.8rem;padding:0 .95rem}.field-group small{color:var(--muted)}.consent-check{color:#4d5049;cursor:pointer;grid-template-columns:1.25rem 1fr;align-items:start;gap:.75rem;font-size:.84rem;line-height:1.55;display:grid}.consent-check input{width:1.15rem;height:1.15rem;accent-color:var(--restaurant-color,var(--accent));margin:.15rem 0 0}.consent-check a{text-underline-offset:.15em;font-weight:700;text-decoration-thickness:1px}.claim-submit{color:#fff;background:var(--restaurant-color,var(--accent));width:100%}.claim-submit:hover:not(:disabled){filter:brightness(.9)}.form-alert{color:var(--danger);background:#f9eae8;border-radius:.8rem;margin:0;padding:.85rem 1rem;line-height:1.5}.retry-alert p{margin-bottom:.9rem}.retry-actions{flex-wrap:wrap;gap:.65rem;display:flex}.retry-actions .button-primary{background:var(--restaurant-color,var(--accent))}.claim-success{color:var(--success);background:#eef8f2;grid-template-columns:auto 1fr;align-items:start;gap:1rem;padding:clamp(1.4rem,5vw,2.2rem);display:grid}.claim-success>span{color:#fff;background:var(--success);border-radius:999px;place-items:center;width:2.4rem;height:2.4rem;font-weight:850;display:grid}.claim-success h2{margin-bottom:.45rem;font-size:1.35rem}.claim-success p{color:#3c5b49;margin-bottom:0;line-height:1.55}.restaurant-status-page p{color:var(--muted);line-height:1.6}.restaurant-status-page>.loader{margin-bottom:.5rem}.restaurant-status-card{text-align:center;padding:clamp(1.6rem,5vw,2.7rem)}.restaurant-powered{color:#777a72;letter-spacing:.02em;margin:0;font-size:.75rem}.staff-page,.staff-status-page{background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--staff-color,var(--accent)) 11%, white), transparent 42%), #f6f5f0;min-height:100vh}.staff-page{padding:1rem}.staff-status-page{align-content:center;justify-items:center;gap:1.25rem;padding:1rem;display:grid}.staff-status-page>section:not(.card){justify-items:center;display:grid}.staff-status-page p{color:var(--muted);line-height:1.55}.staff-status-card,.staff-card{width:min(560px,100%);padding:clamp(1.25rem,5vw,2.2rem)}.staff-status-card{text-align:center}.staff-status-card .button{width:100%;margin-top:.5rem}.staff-topbar,.staff-workspace-header{width:min(860px,100%);margin:0 auto}.staff-topbar{padding:.25rem 0 1.5rem}.staff-login-card{border-top:.35rem solid var(--staff-color,var(--accent));margin:max(2rem,8vh) auto 2rem}.staff-card h1{margin-bottom:.65rem;font-size:clamp(2rem,8vw,3.25rem);line-height:1}.staff-form{gap:1rem;margin-top:1.6rem;display:grid}.staff-form .field-group input{font-size:1.05rem}.staff-primary{color:#fff;background:var(--staff-color,var(--accent));width:100%}.staff-primary:hover:not(:disabled){filter:brightness(.9)}.staff-remember-check{color:#4d5049;cursor:pointer;grid-template-columns:1.25rem 1fr;align-items:start;gap:.7rem;font-size:.9rem;line-height:1.45;display:grid}.staff-remember-check input{width:1.15rem;height:1.15rem;accent-color:var(--staff-color,var(--accent));margin:.1rem 0 0}.staff-restaurant-picker{margin-top:.5rem}.staff-restaurant-list{gap:.7rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.staff-restaurant-choice{border:1px solid var(--line);width:100%;min-height:3.7rem;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:.9rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem;padding:.8rem 1rem;font-weight:750;display:grid}.staff-restaurant-choice:hover{border-color:var(--accent);background:#fff9f6}.staff-restaurant-choice:focus-visible,.staff-remember-check input:focus-visible{outline-offset:2px;outline:3px solid #e85d3440}.staff-workspace{padding-bottom:3rem}.staff-workspace-header{justify-content:space-between;align-items:center;gap:1rem;padding:.25rem 0 1rem;display:flex}.staff-workspace-header p{color:var(--muted);margin:.4rem 0 0;font-size:.85rem}.staff-session-actions{gap:.55rem;display:flex}.staff-redemption-card{border-top:.35rem solid var(--staff-color,var(--accent));margin:max(1rem,4vh) auto 0}.staff-code-form{border-bottom:1px solid var(--line);padding-bottom:1.5rem}.staff-coupon-result{border:1px solid var(--line);background:#fafaf7;border-radius:1rem;margin-top:1.5rem;padding:1.1rem}.staff-coupon-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.staff-coupon-heading h2{margin-bottom:.7rem;font-size:1.45rem}.staff-coupon-heading .eyebrow{margin-bottom:.35rem}.staff-coupon-result>p{color:var(--muted);line-height:1.55}.staff-coupon-status{white-space:nowrap;border-radius:999px;flex:none;padding:.35rem .6rem;font-size:.72rem}.staff-coupon-active .staff-coupon-status{color:var(--success);background:#e8f4ed}.staff-coupon-expired .staff-coupon-status,.staff-coupon-redeemed .staff-coupon-status{color:#6a4c17;background:#fff0c7}.staff-coupon-date{margin-bottom:.35rem;font-size:.86rem}.staff-redeem-form{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1.25rem}.staff-money-input{background:#fff;border:1px solid #cfd1c9;border-radius:.8rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.staff-money-input:focus-within{outline-offset:2px;outline:3px solid #e85d3440}.staff-money-input input{border:0;outline:0}.staff-money-input span{color:var(--muted);padding:0 .95rem;font-size:.8rem;font-weight:800}.staff-final-result{text-align:center}.staff-final-result h1{margin-bottom:1rem}.staff-final-result p{color:var(--muted)}.staff-final-result .button{margin-top:.7rem}.app-navigation{border:1px solid var(--line);background:#ecece6;border-radius:.85rem;align-items:center;gap:.25rem;padding:.25rem;display:flex}.app-navigation a{color:var(--muted);border-radius:.65rem;padding:.55rem .75rem;font-size:.84rem;font-weight:750;text-decoration:none}.app-navigation a:hover,.app-navigation a.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #1e221a12}.merchant-page{margin-top:3.5rem}.merchant-page-heading{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.merchant-page-heading .eyebrow{margin-bottom:.55rem}.merchant-page-heading h1{margin-bottom:.45rem;font-size:clamp(2.6rem,6vw,4.6rem)}.merchant-page-heading .lead{margin-bottom:0}.period-picker{border:1px solid var(--line);background:#fff;border-radius:.85rem;flex:none;gap:.3rem;padding:.3rem;display:flex}.period-picker button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:.6rem;padding:.65rem .8rem;font-weight:750}.period-picker button[aria-pressed=true]{color:#fff;background:var(--ink)}.period-picker button:focus-visible,.report-filter select:focus-visible{outline-offset:2px;outline:3px solid #e85d3440}.merchant-notice{color:#6a531a;background:#fff8dc;border:1px solid #e4d49a;border-radius:.8rem;margin:1.5rem 0 0;padding:.8rem 1rem}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-top:2.3rem;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:1rem;align-content:space-between;gap:.7rem;min-height:175px;padding:1.25rem;display:grid;box-shadow:0 14px 35px #1e221a0a}.metric-card>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.metric-card strong{letter-spacing:-.05em;font-size:clamp(2rem,4vw,3.1rem);line-height:1}.metric-card small{color:var(--muted);line-height:1.4}.metric-card-featured{background:#e8eee3;border-color:#dce6d4}.metric-card-featured strong{font-size:clamp(1.55rem,3vw,2.3rem)}.dashboard-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.85rem;display:grid}.report-card{padding:1.4rem;box-shadow:0 14px 35px #1e221a0a}.report-card .eyebrow{margin-bottom:.4rem}.report-card-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.report-card-heading h2{margin-bottom:0;font-size:1.15rem}.report-card-heading>strong{white-space:nowrap;font-size:1.3rem}.report-card>p,.compact-empty-state p{color:var(--muted);margin:1rem 0 0;line-height:1.55}.usage-track{background:#e8e8e2;border-radius:999px;height:.55rem;margin-top:1.4rem;overflow:hidden}.usage-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}.compact-empty-state{padding:1.35rem}.report-card .compact-empty-state{padding:0}.compact-empty-state h2{margin-bottom:0;font-size:1.15rem}.campaign-completed,.customer-active,.coupon-active{color:var(--success);background:#e8f4ed}.campaign-failed,.customer-opted_out,.coupon-expired{color:var(--danger);background:#f9eae8}.coupon-redeemed{color:#67501c;background:#fff0c7}.report-feedback{border:1px solid var(--line);min-height:280px;color:var(--muted);text-align:center;background:#fff;border-radius:1rem;place-content:center;justify-items:center;margin-top:2rem;padding:2rem;display:grid}.report-feedback p{margin:1rem 0 0}.report-feedback-error h2{color:var(--ink);margin-bottom:0}.report-feedback-error .button{margin-top:1.1rem}.report-filter{gap:.4rem;min-width:min(320px,100%);display:grid}.report-filter span{color:var(--muted);font-size:.78rem;font-weight:750}.report-filter select{border:1px solid var(--line);min-height:2.9rem;color:var(--ink);font:inherit;background:#fff;border-radius:.8rem;padding:0 2.5rem 0 .85rem;font-weight:700}.report-list-section{margin-top:2rem}.report-list-summary{color:var(--muted);margin-bottom:.75rem;font-size:.9rem}.report-list-summary strong{color:var(--ink)}.report-table-wrap{border:1px solid var(--line);background:#fff;border-radius:1rem;overflow-x:auto;box-shadow:0 14px 35px #1e221a0a}.report-table{border-collapse:collapse;text-align:left;width:100%;min-width:780px}.report-table th,.report-table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:.9rem 1rem}.report-table th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#fafaf7;font-size:.72rem}.report-table td{font-size:.86rem}.report-table tbody tr:last-child td{border-bottom:0}.report-table .status-badge{grid-column:auto;display:inline-flex}.pagination{justify-content:flex-end;align-items:center;gap:.85rem;margin-top:1rem;display:flex}.pagination>span{color:var(--muted);font-size:.86rem;font-weight:700}.campaign-heading-actions{flex:none;gap:.6rem;display:flex}.campaign-list{gap:.85rem;display:grid}.campaign-list-card{padding:1.25rem;box-shadow:0 14px 35px #1e221a0a}.campaign-list-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.campaign-list-heading>div>span{color:var(--accent-dark);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:800}.campaign-list-heading h2{margin:.35rem 0;font-size:1.2rem}.campaign-list-heading p{color:var(--muted);margin:0;font-size:.86rem}.campaign-counters,.campaign-preview-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin:1.1rem 0 0;display:grid}.campaign-counters div,.campaign-preview-metrics div{background:#f6f5f0;border-radius:.75rem;padding:.75rem}.campaign-counters dt,.campaign-preview-metrics dt{color:var(--muted);font-size:.7rem;font-weight:750}.campaign-counters dd,.campaign-preview-metrics dd{margin:.35rem 0 0;font-weight:800}.campaign-scheduled,.campaign-processing{color:#67501c;background:#fff0c7}.campaign-empty-state{max-width:none}.campaign-empty-state .button{margin-top:.5rem}.campaign-form-grid{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:start;gap:1rem;margin-top:2rem;display:grid}.campaign-form-card,.campaign-preview-card{gap:1.1rem;padding:clamp(1.2rem,3vw,1.7rem);display:grid}.campaign-preview-card{position:sticky;top:1rem}.campaign-form-card>label,.campaign-timing>label{gap:.4rem;display:grid}.campaign-form-card label>span,.campaign-timing legend{color:var(--muted);font-size:.8rem;font-weight:750}.campaign-form-card input:not([type=radio]),.campaign-form-card select,.campaign-form-card textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd1c9;border-radius:.8rem;padding:.8rem .9rem}.campaign-form-card textarea{resize:vertical;min-height:8rem}.campaign-form-card small{color:var(--muted);line-height:1.45}.campaign-timing{border:1px solid var(--line);border-radius:.85rem;gap:.7rem;padding:1rem;display:grid}.campaign-timing .radio-option{color:var(--ink);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.campaign-preview-card blockquote{border-left:3px solid var(--accent);color:var(--ink);background:#fff8f5;margin:0;padding:.9rem 1rem;font-size:1.02rem;line-height:1.55}.campaign-preview-metrics{grid-template-columns:1fr;margin-top:0}@media (width<=760px){.hero{margin-top:3.5rem}.hero-actions,.account-actions{flex-direction:column;align-items:stretch}.hero-actions span,.account-email{text-align:center}.promise-grid,.auth-page,.placeholder-grid,.admin-qr-workspace{grid-template-columns:1fr}.admin-section-heading{flex-direction:column;align-items:flex-start;gap:.75rem}.admin-restaurant-button{grid-template-columns:auto minmax(0,1fr)}.status-badge{grid-column:2;justify-self:start}.admin-qr-actions{flex-direction:column}.promise-grid article{min-height:180px}.auth-intro{min-height:42vh;padding:6rem 1.5rem 2.5rem}.auth-intro .wordmark{top:1.5rem}.auth-card{margin:2rem auto}.restaurant-landing,.restaurant-status-page{align-content:start;padding-top:1rem}.restaurant-identity{align-items:flex-start}.restaurant-logo,.restaurant-logo-fallback{border-radius:.9rem;width:3.7rem;height:3.7rem}.retry-actions{flex-direction:column}.account-email{display:none}.app-header{flex-wrap:wrap;gap:.75rem}.app-navigation{order:3;width:100%;overflow-x:auto}.app-navigation a{text-align:center;flex:1 0 auto}.workspace-page,.merchant-page{margin-top:2rem}.merchant-page-heading{flex-direction:column;align-items:stretch;gap:1.3rem}.campaign-heading-actions,.campaign-form-grid{width:100%}.campaign-heading-actions{flex-direction:column;align-items:stretch}.campaign-form-grid{grid-template-columns:1fr}.campaign-preview-card{position:static}.campaign-list-heading{flex-direction:column}.campaign-counters{grid-template-columns:repeat(2,minmax(0,1fr))}.period-picker,.report-filter{width:100%}.period-picker button{flex:1}.metric-grid,.dashboard-detail-grid{grid-template-columns:1fr}.metric-card{min-height:150px}.report-feedback{min-height:220px}.pagination{justify-content:space-between}.pagination .button{padding-left:.65rem;padding-right:.65rem}.staff-page{padding:.75rem}.staff-login-card,.staff-redemption-card{margin-top:.75rem}.staff-workspace-header{align-items:flex-start}.staff-session-actions{flex-direction:column}.staff-coupon-heading{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.privacy-directory{color:#fff;background:#273128;border-radius:1.25rem;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(1.5rem,5vw,4rem);width:min(1120px,100% - 2rem);margin:2rem auto 4rem;padding:clamp(1.4rem,4vw,2.5rem);display:grid}.privacy-directory h2{margin:.35rem 0 .75rem;font-size:clamp(1.6rem,4vw,2.4rem)}.privacy-directory p{color:#d6ddd5;line-height:1.6}.privacy-directory-control{align-content:center;gap:.65rem;display:grid}.privacy-directory-control label,.admin-form label,.confirm-dialog label{gap:.4rem;font-size:.88rem;font-weight:750;display:grid}.privacy-directory-control select,.admin-form input,.admin-form textarea,.admin-form select,.confirm-dialog input{width:100%;min-height:3rem;color:var(--ink);background:#fff;border:1px solid #cfd1c9;border-radius:.75rem;padding:.7rem .85rem}.admin-form textarea{resize:vertical;min-height:6.5rem}.admin-form input:disabled{color:#6d7169;background:#f0f1ed}.admin-title-row,.admin-section-heading,.admin-list-section .pagination,.form-actions,.invite-status,.audit-counts,.privacy-links{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-title-row{align-items:flex-start;margin-bottom:1.5rem}.admin-title-row h1{margin:.25rem 0}.admin-list-section,.audit-section{padding:clamp(1.1rem,3vw,1.8rem)}.admin-directory-list,.wizard-steps,.audit-list,.readiness-list{margin:0;padding:0;list-style:none}.admin-directory-list{gap:.65rem;margin:1.25rem 0;display:grid}.admin-directory-list a{border:1px solid var(--line);color:var(--ink);border-radius:.9rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.9rem 1rem;text-decoration:none;display:grid}.admin-directory-list a:hover{border-color:var(--accent);background:#fffaf7}.admin-directory-list strong,.admin-directory-list small{display:block}.admin-directory-list small{color:var(--muted);margin-top:.25rem}.breadcrumbs{color:var(--muted);gap:.55rem;margin-bottom:1.3rem;font-size:.9rem;display:flex}.wizard-steps{grid-template-columns:repeat(4,1fr);gap:.5rem;margin:1.4rem 0;display:grid}.wizard-steps li{border-top:3px solid var(--line);color:var(--muted);padding:.7rem .2rem;font-size:.82rem;font-weight:750}.wizard-steps li[aria-current=step]{border-color:var(--accent);color:var(--ink)}.admin-form{gap:1rem;display:grid}.admin-form-page>.admin-form{padding:clamp(1.2rem,4vw,2rem)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-span{grid-column:1/-1}.narrow-form{max-width:620px}.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.admin-form-section{padding:clamp(1rem,3vw,1.5rem)}.compact-form{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1.2rem}.button-danger{color:#fff;background:var(--danger)}.invite-status{justify-content:flex-start;margin:1rem 0}.readiness-list{gap:.5rem;margin:1rem 0;display:grid}.readiness-list li:before{content:"○";color:var(--danger);margin-right:.55rem}.readiness-list li[data-ready=true]:before{content:"✓";color:var(--success)}.qr-compact{justify-items:start;gap:.8rem;margin-top:1rem;display:grid}.qr-compact code{overflow-wrap:anywhere;max-width:100%}.qr-compact img{border:1px solid var(--line);background:#fff;border-radius:.8rem;width:min(210px,100%);padding:.6rem}.audit-section{margin-top:1rem}.audit-counts{flex-wrap:wrap;justify-content:flex-start;margin:1rem 0}.audit-counts span,.audit-kind{background:#eef1eb;border-radius:99px;padding:.3rem .65rem;font-size:.78rem;font-weight:800}.audit-list{gap:.5rem;margin-bottom:1rem;display:grid}.audit-list li{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.8rem 0;display:grid}.audit-list time{color:var(--muted);font-size:.82rem}.dialog-backdrop{z-index:50;background:#171c16b3;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-dialog{width:min(620px,100%);padding:clamp(1.2rem,4vw,2rem)}.turnstile-field{min-height:70px;margin-top:.4rem}.privacy-card{max-width:680px}.privacy-links{flex-wrap:wrap;justify-content:flex-start;margin-top:1.2rem;font-size:.9rem}@media (width<=760px){.privacy-directory,.admin-detail-grid,.form-grid{grid-template-columns:1fr}.admin-title-row,.form-actions,.admin-list-section .pagination{flex-direction:column;align-items:stretch}.wizard-steps{grid-template-columns:repeat(2,1fr)}.form-span{grid-column:auto}.admin-directory-list a,.audit-list li{grid-template-columns:auto minmax(0,1fr)}.admin-directory-list .status-badge,.audit-list time{grid-column:2}}
