:root{--bg:#fbfaf8;--surface:#fff;--surface-soft:#f4f8f6;--ink:#24211f;--muted:#6f6862;--line:#ddd7d0;--rose:#b84c62;--rose-dark:#8d3448;--teal:#217c78;--sage:#6c8a64;--gold:#a66c22;--shadow:0 16px 40px #24211f14;--shadow-soft:0 22px 64px #24211f12;--radius:10px;--app-wide:min(1180px, calc(100vw - 48px));--app-content:min(980px, calc(100vw - 48px));--app-narrow:min(760px, calc(100vw - 32px));--topbar-height:69px;--main-y-padding:108px;--landing-min-panel-height:540px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:clip}a{color:inherit;text-decoration:none}:focus:not(:focus-visible){outline:none}:focus-visible{outline-offset:3px;outline:3px solid #217c7857;box-shadow:0 0 0 1px #217c7852}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfaf8f5;grid-template-columns:minmax(160px,1fr) auto minmax(170px,auto);align-items:center;gap:16px;padding:14px clamp(16px,4vw,48px);display:grid;position:sticky;top:0}.brand,.topnav,.topnav a,.button,.user-switcher,.user-area,.account-menu summary,.coupon-meta span,.detail-pair,.inline-panel,.back-link{align-items:center;display:inline-flex}.brand{letter-spacing:0;gap:10px;font-weight:700}.brand svg{color:var(--rose)}.topnav{gap:6px}.topnav a{min-height:40px;color:var(--muted);border-radius:8px;gap:8px;padding:0 12px;transition:background-color .16s,color .16s,box-shadow .16s;position:relative}.topnav a:hover{background:var(--surface-soft);color:var(--ink)}.topnav a.active{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink)}.mobile-bottom-nav{display:none}.nav-badge{min-width:20px;height:20px;color:var(--rose-dark);background:#fff1f4;border:1px solid #efbdc8;border-radius:999px;place-items:center;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-grid}.user-switcher{color:var(--muted);justify-self:end;gap:10px}.user-area{color:var(--muted);justify-self:end;gap:10px;font-weight:700;position:relative}.current-user-label{max-width:160px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu{position:relative}.account-menu summary{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--muted);cursor:pointer;border-radius:8px;gap:7px;padding:0 11px;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-menu-panel{z-index:30;border:1px solid var(--line);background:var(--surface);width:min(340px,100vw - 28px);box-shadow:var(--shadow);border-radius:8px;gap:12px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.account-summary{gap:4px;min-width:0;display:grid}.account-summary span,.account-summary small{color:var(--muted)}.account-summary strong,.account-summary code{overflow-wrap:anywhere}.account-summary code{background:var(--surface-soft);width:fit-content;color:var(--teal);border-radius:8px;padding:4px 7px;font-weight:700}.account-summary.subtle{border:1px solid var(--line);background:#fafdfc;border-radius:8px;padding:10px}.account-menu-row{border:1px solid var(--line);color:var(--ink);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;font-weight:700;display:grid}.account-menu-row svg{color:var(--teal)}.account-menu-row span{color:var(--muted)}.account-menu-row strong{color:var(--ink)}.user-switcher.compact{justify-self:stretch;gap:7px;display:grid}.user-switcher.compact select{width:100%}.logout-link{justify-content:center}input,select,textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:8px}.user-switcher select{width:auto;min-width:128px;padding:8px 10px}main{width:var(--app-wide);margin:0 auto;padding:36px 0 72px}main:has(.flow-shell[data-step-key]){width:min(1180px,100vw - clamp(20px,5vw,48px))}main>section{animation:.36s both page-enter}.page-wide,.minimal-page{width:100%}.page-content{width:var(--app-content);max-width:100%;margin-left:auto;margin-right:auto}.page-narrow{width:var(--app-narrow);max-width:100%;margin-left:auto;margin-right:auto}.minimal-header,.minimal-section{gap:14px;display:grid}.minimal-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),320px));justify-content:start;gap:16px;display:grid}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes step-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes success-sparkle{0%{opacity:0;transform:translateY(4px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}::view-transition-old(root){animation-duration:.18s;animation-timing-function:ease}::view-transition-new(root){animation-duration:.18s;animation-timing-function:ease}::view-transition-old(coupon-board){animation-duration:.18s;animation-timing-function:ease}::view-transition-new(coupon-board){animation-duration:.18s;animation-timing-function:ease}.landing-grid{min-height:max(var(--landing-min-panel-height), calc(100svh - var(--topbar-height) - var(--main-y-padding)));grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:stretch;gap:24px;display:grid}.landing-copy,.memory-panel,.empty-state,.inline-panel,.timeline article,.coupon-form{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.landing-copy{flex-direction:column;justify-content:center;padding:clamp(28px,5vw,58px);display:flex}.landing-copy h1,.page-heading h1,.detail-header h1,.invite-page h1{letter-spacing:0;margin:0;line-height:1.02}.landing-copy h1{max-width:720px;font-size:clamp(42px,7vw,72px)}.landing-copy p,.detail-header p,.invite-page p{color:var(--muted);line-height:1.7}.landing-copy>p:not(.eyebrow){max-width:650px;font-size:18px}.memory-panel{text-align:center;background:#f7fbfa;place-content:center;gap:12px;min-height:0;padding:32px;display:grid}.memory-panel svg{color:var(--teal);justify-self:center}.memory-panel p{letter-spacing:0;margin:0;font-size:58px;font-weight:700}.memory-panel span{color:var(--muted)}.page-stack,.form-page,.detail-page,.invite-page,.auth-page{gap:22px;display:grid}.auth-page{align-items:center;min-height:calc(100vh - 190px)}.auth-panel{border:1px solid var(--line);background:var(--surface);width:min(520px,100%);box-shadow:var(--shadow);border-radius:8px;gap:16px;padding:24px;display:grid}.auth-panel h1{margin:0;font-size:clamp(32px,6vw,48px);line-height:1.05}.auth-panel .coupon-form{max-width:none;box-shadow:none;border:0;padding:0}.auth-actions{flex-wrap:wrap;gap:10px;display:flex}.page-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-heading h1,.invite-page h1{font-size:var(--type-page)}.detail-header h1{font-size:var(--type-detail)}.page-subtitle{max-width:640px;color:var(--muted);margin:10px 0 0;line-height:1.55}.eyebrow{color:var(--rose-dark);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:600}.button-row,.action-bar{flex-wrap:wrap;gap:10px;display:flex}.button,.icon-button,.segmented-control button{cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:40px}.button{gap:8px;padding:0 14px;font-weight:600;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s}.button svg,.icon-button svg,.segmented-control button svg{color:currentColor;stroke:currentColor;opacity:1;flex:none}.button.primary svg{color:currentColor;stroke:currentColor;opacity:1}.button:not(:disabled):active,.icon-button:not(:disabled):active,.segmented-control button:not(:disabled):active{transform:translateY(1px)}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55}.button.primary{background:var(--rose);color:#fff}.button.primary:hover{background:var(--rose-dark)}.button.secondary:hover,.button.ghost:hover,.icon-button:hover,.segmented-control button:hover{box-shadow:0 8px 22px #24211f14}.button.secondary{background:var(--surface-soft);color:var(--teal);border-color:#cbdad4}.button.danger{color:var(--rose-dark);background:#fff5f7;border-color:#edc2cb}.button.danger:hover{background:#ffe9ee}.button.ghost,.icon-button{background:var(--surface);border-color:var(--line);color:var(--muted)}.icon-button{justify-content:center;width:42px;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s}.segmented-control{flex-wrap:wrap;gap:8px;display:flex}.segmented-control button{background:var(--surface);border-color:var(--line);color:var(--muted);padding:0 12px;transition:background-color .16s,border-color .16s,color .16s}.segmented-control button.selected{color:var(--teal);background:#edf7f6;border-color:#9ac8c4}.attention-strip{color:var(--rose-dark);background:#fff7f8;border:1px solid #edc2cb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.attention-strip strong{font-size:20px}.coupon-board,.coupon-section{gap:18px;display:grid}.coupon-board{view-transition-name:coupon-board}.coupon-section{padding-top:6px}.coupon-section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:12px;padding-bottom:8px;display:flex}.coupon-section-heading h2{margin:0}.coupon-section-heading p{color:var(--muted);margin:4px 0 0}.coupon-section-heading>span{background:var(--surface);border:1px solid var(--line);min-width:34px;height:34px;color:var(--muted);border-radius:8px;place-items:center;font-weight:700;display:inline-grid}.coupon-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),320px));justify-content:start;align-items:stretch;gap:16px;display:grid}.coupon-card{border:1px solid var(--line);background:var(--surface);min-height:220px;box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:18px;transition:border-color .16s,box-shadow .16s,transform .16s;animation:.22s both card-enter;display:grid}.coupon-card:hover{border-color:#d9a2ad;transform:translateY(-2px);box-shadow:0 18px 48px #24211f1c}.coupon-card-header,.coupon-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.coupon-card h2{margin:0;font-size:24px;line-height:1.15}.coupon-card p{color:var(--muted);margin:0;line-height:1.55}.coupon-meta{color:var(--muted);flex-wrap:wrap;align-self:start;font-size:14px}.coupon-meta span{gap:6px}.status-badge,.role-pill,.quantity-pill{border-radius:8px;align-items:center;min-height:28px;padding:0 9px;font-size:13px;font-weight:600;display:inline-flex}.role-pill{color:var(--rose-dark);background:#f8f2f3}.quantity-pill{width:fit-content;color:var(--teal);background:#edf7f6;gap:6px}.status-draft{color:#55514b;background:#f1f1ef}.status-pending{color:var(--gold);background:#fff3df}.status-active{color:var(--teal);background:#eaf7f4}.status-requested{color:#355c9b;background:#edf1fb}.status-redeemed{color:var(--sage);background:#eef5ea}.status-archived{color:#5b5b5b;background:#ededed}.status-declined{color:var(--rose-dark);background:#fae9ec}.status-expired{color:#7f5540;background:#f1e8e2}.coupon-form{gap:18px;max-width:720px;padding:22px;display:grid}.coupon-form label{color:var(--muted);gap:8px;font-weight:700;display:grid}.flow-shell{width:var(--app-content);gap:12px;max-width:100%;margin:0 auto;display:grid}.flow-shell[data-step-key]{width:min(900px,100%)}.flow-shell[data-step-key=redeemer]{width:min(1180px,100%)}.flow-shell-preview{width:var(--app-content)}.flow-shell-preview[data-step-key=preview]{width:min(1120px,100%)}.flow-shell-success,.flow-shell-success[data-step-key]{width:min(680px,100%)}.flow-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:34px;display:grid}.flow-header-progress-only{grid-template-columns:1fr;justify-items:end}.flow-context{min-width:0}.flow-header h1{margin:0;font-size:24px;line-height:1.15}.flow-header p:not(.eyebrow){max-width:500px;color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.45}.flow-progress{color:var(--muted);justify-items:end;gap:8px;font-size:13px;font-weight:700;display:grid}.flow-progress div{gap:5px;display:flex}.flow-progress i{background:#eadfda;border-radius:999px;width:18px;height:6px;display:block}.flow-progress i.filled{background:var(--rose)}.flow-card{border:1px solid var(--line);background:var(--surface);min-height:360px;box-shadow:var(--shadow-soft);border-radius:8px;gap:18px;padding:clamp(18px,5vw,30px);display:grid;container:flow-card/inline-size}.flow-card-with-actions{grid-template-rows:minmax(0,1fr) auto}.flow-body{align-content:start;gap:18px;min-width:0;display:grid}.flow-shell-preview .flow-card,.flow-shell-success .flow-card{min-height:0}.flow-shell-success .flow-card{box-shadow:none;background:0 0;border:0;padding:0}.flow-step{align-content:start;gap:18px;animation:.22s both step-enter;display:grid}.flow-step-copy :is(h1,h2){margin:0;line-height:1.05}.flow-step-copy h1,.flow-step-copy h2{font-size:var(--type-page)}.flow-step-copy :is(h1,h2):focus-visible{outline-offset:6px;border-radius:4px}.flow-step label,.big-input-label,.compact-number-label,.compact-date-label{color:var(--muted);gap:8px;font-weight:600;display:grid}.big-input-label input{min-height:64px;font-size:clamp(22px,3cqi,28px);font-weight:700}.choice-grid{gap:10px;display:grid}.redeemer-choice-fieldset{border:0;min-width:0;margin:0;padding:0}.redeemer-choice-grid,.amount-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.expiry-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.choice-card{border:1px solid var(--line);width:100%;min-height:72px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:grid}.choice-card.radio-choice-card{grid-template-columns:19px minmax(0,1fr) 20px;align-content:start;align-items:start}.radio-choice-card input[type=radio]{width:19px;height:19px;accent-color:var(--rose);grid-area:1/1;margin:2px 0 0}.radio-choice-copy{grid-area:1/2;min-width:0}.radio-choice-title-row{flex-wrap:wrap;align-items:center;gap:5px 8px;min-width:0;margin-bottom:4px;display:flex}.radio-choice-title-row strong{overflow-wrap:anywhere;min-width:0;margin-bottom:0}.radio-choice-badge{min-height:22px;color:var(--rose-dark);background:#fff;border:1px solid #edc1cb;border-radius:999px;align-items:center;padding:2px 7px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.radio-choice-card small{overflow-wrap:anywhere}.radio-choice-indicator{width:20px;height:20px;color:var(--rose);opacity:0;grid-area:1/3;place-items:center;transition:opacity .16s,transform .16s;display:grid;transform:scale(.82)}.radio-choice-indicator.selected{opacity:1;transform:scale(1)}.radio-choice-card:has(input:focus-visible){outline-offset:3px;outline:3px solid #217c7857}.choice-card:hover{border-color:#dcc0c6;transform:translateY(-1px)}.choice-card.selected{background:#fff7f8;border-color:#d18b99;box-shadow:inset 0 0 0 1px #edc1cb}.choice-card strong,.choice-card small{display:block}.choice-card strong{margin-bottom:4px;font-size:17px}.choice-card small{color:var(--muted);line-height:1.35}.choice-card svg{color:var(--rose)}.person-picker .avatar-dot{width:44px;height:44px}.suggestion-row{flex-wrap:wrap;gap:8px;display:flex}.suggestion-row button{min-height:44px;color:var(--rose-dark);cursor:pointer;background:#fff7f8;border:1px solid #ead1d7;border-radius:999px;padding:0 12px}.compact-number-label,.compact-date-label{max-width:260px}.flow-action-bar{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-self:end;align-items:center;gap:10px;margin-top:4px;padding-top:16px;display:flex}.flow-action-bar .button{min-height:44px}.coupon-preview-card{box-shadow:none;background:0 0;border:0;gap:12px;padding:0;display:grid}.coupon-preview-card h2{font-size:var(--type-coupon-preview);margin:0;line-height:1.12}.send-offer-review{gap:14px;width:100%;max-width:1120px;display:grid}.send-offer-review-kicker{color:var(--muted);margin:0;font-size:13px;font-weight:700}.send-offer-review .coupon-preview-card{gap:14px}.send-offer-review .coupon-preview-card h2{max-width:620px;font-size:var(--type-coupon-compact)}.send-offer-review .coupon-preview-card p{margin-top:8px}.send-offer-review .coupon-preview-people,.send-offer-review .coupon-preview-meta-line{font-size:15px}.send-offer-review .preview-note{max-width:600px}.coupon-preview-card p{color:var(--muted);margin:10px 0 0;line-height:1.6}.coupon-preview-people,.coupon-preview-meta-line,.preview-note{color:var(--muted);margin:0!important}.coupon-preview-people,.coupon-preview-meta-line{font-weight:700}.send-offer-review-title{max-width:680px;font-size:var(--type-page);margin:0;line-height:1.05}.send-offer-review-title:focus-visible{outline-offset:6px;border-radius:4px}.review-summary-list{grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:10px;margin:0;padding:0;display:grid}.review-summary-main,.review-summary-side{align-content:start;gap:10px;min-width:0;display:grid}.review-summary-item{border:1px solid var(--line);background:#fffdfc;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;min-width:0;padding:14px;display:grid}.review-summary-copy{gap:4px;min-width:0;display:grid}.review-summary-label{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.review-summary-value{color:var(--ink);overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:1.35}.review-summary-description{color:var(--muted);overflow-wrap:anywhere;font-size:14px;line-height:1.45}.review-edit-button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--teal);white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-weight:600;display:inline-flex}.review-edit-button:hover{background:var(--surface-soft);border-color:#9ac8c4}@container flow-card (max-width:860px){.redeemer-choice-grid{grid-template-columns:1fr}}@container flow-card (max-width:780px){.review-summary-list{grid-template-columns:1fr}}@container flow-card (max-width:620px){.amount-choice-grid,.expiry-choice-grid{grid-template-columns:1fr}.flow-action-bar{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;display:grid}.flow-action-bar .button{justify-content:center;width:100%;min-width:0}.flow-action-bar .button.primary{grid-column:1/-1}.flow-action-bar:has(>:nth-child(2):last-child) .button.primary{grid-column:auto}}@container flow-card (max-width:420px){.review-summary-item{grid-template-columns:1fr}.review-edit-button{justify-self:start}}@container flow-card (max-width:360px){.flow-action-bar{grid-template-columns:1fr}:is(.flow-action-bar .button.primary,.flow-action-bar:has(>:nth-child(2):last-child) .button.primary){grid-column:auto}}.flow-header-progress-only .flow-progress{justify-self:end;justify-items:end}.coupon-preview-people{flex-wrap:wrap;gap:8px 18px;padding:0;font-size:14px;display:flex}.coupon-preview-people div{gap:5px;display:flex}.coupon-preview-people dt{color:var(--muted);font-weight:700}.coupon-preview-people dd{color:var(--ink);margin:0}.preview-note{max-width:520px;font-size:14px}.success-moment{text-align:center;justify-items:center;gap:14px;padding:clamp(22px,7vw,44px);display:grid}.success-moment svg,.flow-empty svg{color:var(--rose)}.success-moment svg{animation:.52s both success-sparkle}.success-moment h2{font-size:var(--type-section);margin:0;line-height:1.02}.success-moment p{max-width:520px;color:var(--muted);margin:0;line-height:1.6}.success-actions{justify-content:center}.flow-empty{box-shadow:none;border-style:dashed}input,select,textarea{padding:12px}.admin-section{gap:12px;display:grid}.admin-section h2{margin:0}.admin-section-header{grid-template-columns:minmax(0,1fr) minmax(280px,auto);align-items:end;gap:14px;display:grid}.admin-section-header>div:first-child{gap:4px;display:grid}.admin-section-header>div:first-child span{color:var(--muted);font-size:14px}.admin-filters{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px;display:flex}.admin-filter{min-width:170px;color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}.admin-filter input,.admin-filter select{min-height:42px}.input-with-icon{position:relative}.input-with-icon svg{color:var(--muted);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.input-with-icon input{padding-left:34px}.pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.modal-backdrop{z-index:60;background:#24211f47;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirm-modal{border:1px solid var(--line);background:var(--surface);width:min(560px,100%);max-height:calc(100vh - 36px);box-shadow:var(--shadow);border-radius:8px;gap:16px;padding:22px;display:grid;position:relative;overflow:auto}.confirm-modal h2{margin:0;font-size:32px;line-height:1.1}.confirm-modal p{color:var(--muted);margin:8px 0 0;line-height:1.55}.modal-close{position:absolute;top:12px;right:12px}.confirm-user-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.confirm-user-grid div{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;min-width:0;padding:10px}.confirm-user-grid dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.confirm-user-grid dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.danger-confirm{min-width:0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-grid>div{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:6px;padding:16px;display:grid}.metric-grid span{color:var(--muted);font-size:14px;font-weight:600}.metric-grid strong{font-size:28px}.table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:12px}.data-table th{color:var(--muted);text-transform:uppercase;font-size:13px}.data-table tr:last-child td{border-bottom:0}.data-table select{min-width:132px;padding:8px 10px}.compact-check{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.compact-check input{width:18px;height:18px}textarea{resize:vertical}.notice,.empty-state{color:var(--muted);margin:0}.notice{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:12px 14px}.notice.error{color:var(--rose-dark);background:#fff5f7;border-color:#edc2cb}.notice.success{color:var(--teal);background:#f0fbf8;border-color:#b8d8cd}.empty-state{justify-items:start;gap:10px;padding:22px;display:grid}.empty-state h2{margin:0}.back-link{width:fit-content;color:var(--muted)}.detail-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:22px;display:grid}.detail-header>div:first-child{gap:12px;display:grid}.detail-pair{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;flex-wrap:wrap;gap:10px;padding:12px}.next-action-panel,.promise-detail-grid{border:1px solid var(--line);background:var(--surface);border-radius:8px}.next-action-panel{box-shadow:var(--shadow);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:16px;display:grid}.next-action-panel svg{color:var(--rose)}.next-action-panel span,.promise-detail-grid span{color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:700}.next-action-panel strong{margin-top:4px;font-size:22px;display:block}.next-action-panel p,.promise-detail-grid p{color:var(--muted);margin:4px 0 0;line-height:1.55}.promise-detail-grid{grid-template-columns:minmax(150px,.6fr) minmax(150px,.6fr) minmax(220px,1.4fr);gap:1px;display:grid;overflow:hidden}.promise-detail-grid>div{background:var(--surface);gap:7px;padding:14px;display:grid}.promise-detail-grid strong{align-items:center;gap:6px;display:inline-flex}.inline-panel{justify-content:space-between;gap:12px;padding:12px}.people-code-panel{align-items:center}.people-code-panel div{gap:4px;display:grid}.people-code-panel strong{color:var(--ink);font-size:18px}.inline-panel span{overflow-wrap:anywhere;min-width:0;color:var(--muted)}.people-list{gap:10px;display:grid}.people-list h2{margin:16px 0 0}.person-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px;display:grid}.person-row div:nth-child(2){gap:3px;display:grid}.person-row span:not(.role-pill){color:var(--muted);overflow-wrap:anywhere}.person-row small{color:var(--muted)}.avatar-dot{background:var(--surface-soft);width:42px;height:42px;color:var(--teal);border-radius:50%;place-items:center;display:grid;overflow:hidden}.avatar-dot img{object-fit:cover;width:100%;height:100%}.inline-empty{box-shadow:none}.people-add-flow,.redeem-choice-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:16px;padding:16px;display:grid}.people-add-header{justify-content:space-between;align-items:end;gap:14px;display:flex}.people-add-header h2,.redeem-choice-panel h2{margin:0;font-size:26px;line-height:1.1}.people-code-form{gap:12px;display:grid}.people-code-form label{color:var(--muted);gap:8px;font-weight:600;display:grid}.flow-decision-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.timeline{gap:10px;display:grid}.timeline h2{margin:16px 0 0}.timeline article{box-shadow:none;gap:4px;padding:14px;display:grid}.timeline p{color:var(--muted);margin:0}.timeline span,.fine-print{color:var(--muted);font-size:14px}.fine-print{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fine-print.field-error{color:var(--rose-dark);font-weight:600}input[aria-invalid=true]{background:#fff7f8;border-color:#d18b99}.invite-page{max-width:720px}.print-page,.redeem-page{gap:18px;display:grid}.print-page{width:100%}.print-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sheet-controls{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(120px,160px);align-items:end;gap:16px;padding:14px;display:grid}.control-label{color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.quantity-control input{max-width:120px;min-height:44px}.redeem-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.auto-layout-copy{gap:4px;display:grid}.auto-layout-copy strong{font-size:18px}.auto-layout-copy small{color:var(--muted);line-height:1.45}.warning-line{font-weight:600;color:#70440d!important}.print-sheet-preview{justify-items:center;gap:24px;padding-bottom:8px;display:grid;overflow-x:auto}.print-sheet-page{border:1px solid var(--line);width:210mm;min-width:210mm;height:297mm;box-shadow:var(--shadow);background:#fff;padding:8mm}.print-sheet-cards{grid-template-rows:repeat(5,minmax(0,1fr));gap:3mm;height:100%;display:grid}.print-sheet-page.layout-per-4 .print-sheet-cards{grid-template-rows:repeat(4,minmax(0,1fr))}.print-sheet-page.layout-per-3 .print-sheet-cards{grid-template-rows:repeat(3,minmax(0,1fr))}.print-sheet-page.layout-per-2 .print-sheet-cards{grid-template-rows:repeat(2,minmax(0,1fr))}.print-coupon{border:.25mm solid var(--ink);border-top:.8mm solid var(--rose);break-inside:avoid;page-break-inside:avoid;overflow-wrap:anywhere;background:#fff;border-radius:2mm;grid-template-rows:auto auto auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 34mm;gap:2mm 4mm;min-width:0;min-height:0;padding:3.2mm 3.8mm;display:grid}.print-coupon .printable-header,.print-coupon .print-coupon-title,.print-coupon .printable-details,.print-coupon .print-direction-contract,.print-coupon .printable-terms{grid-column:1}.print-coupon .printable-header{justify-content:space-between;align-items:flex-start;gap:2mm;display:flex}.print-coupon .eyebrow{margin-bottom:1mm;font-size:6.5pt}.print-coupon .status-badge{min-height:5mm;padding:0 2mm;font-size:7pt}.print-coupon .print-coupon-title{letter-spacing:-.018em;margin:0;font-size:15pt;font-weight:700;line-height:1.12}.print-coupon .copy-number{min-height:4mm;color:var(--muted);align-items:center;padding:0;font-size:6.5pt;font-weight:600;display:inline-flex}.print-coupon .printable-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5mm;margin:0;display:grid}.print-coupon .printable-details div{border-right:.2mm solid var(--line);min-width:0;padding:1.2mm 1.5mm 1.2mm 0}.print-coupon .printable-details div:last-child{border-right:0;padding-right:0}.print-coupon .printable-details dt{color:var(--muted);letter-spacing:.02em;font-size:5.8pt;font-weight:600}.print-coupon .printable-details dd{margin-top:.6mm;font-size:7.4pt;font-weight:700;line-height:1.2}.print-coupon .print-direction-contract{color:var(--muted);margin:0;font-size:6.2pt;font-style:italic;line-height:1.2;font-weight:400!important}.print-coupon .printable-terms{min-height:0}.print-coupon .printable-terms h2{margin:0 0 1mm;font-size:6.8pt;font-weight:600}.print-coupon .printable-terms p{color:var(--muted);margin:0;font-size:7.5pt;line-height:1.25}.print-coupon .printable-terms small{color:#70440d;margin-top:1mm;font-size:6.5pt;font-weight:600;display:block}.print-coupon .qr-section{border:.25mm solid var(--line);border-radius:2mm;grid-area:1/2/-1;align-content:center;align-self:stretch;justify-items:center;gap:1.5mm;min-width:0;padding:2.5mm;display:grid}.print-coupon .qr-section img{background:#fff;width:25mm;height:25mm;padding:1.5mm;display:block}.print-coupon .qr-section p{color:var(--muted);text-align:center;gap:.5mm;margin:0;font-size:6.5pt;line-height:1.15;display:grid}.print-coupon .qr-section strong{color:var(--ink)}.layout-per-4 .print-coupon,.layout-per-3 .print-coupon,.layout-per-2 .print-coupon{grid-template-columns:minmax(0,1fr) 38mm;gap:3mm 5mm;padding:4mm 4.5mm}.layout-per-4 .print-coupon .printable-terms p,.layout-per-3 .print-coupon .printable-terms p,.layout-per-2 .print-coupon .printable-terms p{font-size:8.5pt;line-height:1.32}.layout-per-4 .print-coupon .qr-section img,.layout-per-3 .print-coupon .qr-section img,.layout-per-2 .print-coupon .qr-section img{width:28mm;height:28mm}.redeem-page{max-width:760px}.redeem-header{justify-content:flex-start;align-items:center}.redeem-header svg{color:var(--teal)}.redeem-header h1{font-size:var(--type-detail);margin:0;line-height:1.04}.pair-line{color:var(--muted);font-weight:600}.remote-redemption-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:16px;display:grid}.redeem-choice-panel p{color:var(--muted);margin:0;line-height:1.55}.remote-redemption-panel h2{margin:0;font-size:24px;line-height:1.15}.remote-redemption-panel p{color:var(--muted);margin:0;line-height:1.55}.remote-redemption-panel label{color:var(--muted);gap:8px;font-weight:600;display:grid}.open-page{gap:28px}.open-hero.page-heading{align-items:end;gap:24px;padding-bottom:4px}.open-hero h1{max-width:760px;font-size:var(--type-page);line-height:.98}.open-action-row{justify-content:flex-end}.open-panel,.open-summary-card,.open-card,.coupon-card{border-radius:var(--radius)}.open-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);gap:18px;padding:28px;display:grid}.open-panel-soft{background:var(--surface-soft)}.open-section,.open-section-list{gap:20px;display:grid}.open-section-heading{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;padding-bottom:12px;display:grid}.open-section-heading h2{margin:0;font-size:34px;line-height:1.08}.open-section-heading p{color:var(--muted);margin:6px 0 0;line-height:1.55}.open-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.open-summary-card{border:1px solid var(--line);background:var(--surface);min-height:118px;box-shadow:var(--shadow-soft);align-content:space-between;gap:8px;padding:18px;display:grid}.open-summary-card span{color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:700}.open-summary-card strong{font-size:40px;line-height:1}.open-summary-card p{color:var(--muted);margin:0;line-height:1.5}.coupon-collection-page{gap:24px;width:min(960px,100%);margin-inline:auto}.coupon-collection-page .open-hero.page-heading{align-items:center}.coupon-collection-page .open-summary-grid{gap:12px}.coupon-collection-page .open-summary-card{min-height:104px;padding:16px}.coupon-collection-page .open-summary-card strong{font-size:36px}.quiet-filter-row{border:1px solid var(--line);border-radius:var(--radius);opacity:0;background:#ffffff94;flex-wrap:wrap;width:min(100%,560px);padding:8px;transition:opacity .16s,transform .16s;display:flex;transform:translateY(-3px)scale(.98)}.quiet-filter-disclosure{width:fit-content;max-width:100%}.quiet-filter-disclosure summary{border:1px solid var(--line);border-radius:var(--radius);min-height:40px;color:var(--muted);cursor:pointer;background:#ffffffb8;align-items:center;gap:10px;padding:0 12px;font-weight:600;list-style:none;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.quiet-filter-disclosure summary::-webkit-details-marker{display:none}.quiet-filter-disclosure summary strong{color:var(--teal)}.quiet-filter-disclosure[open] .quiet-filter-row{opacity:1;margin-top:10px;transform:translateY(0)scale(1)}.quiet-filter-row button{background:0 0;border-color:#0000;min-height:36px}.quiet-filter-row button.selected{background:var(--surface-soft);color:var(--teal);border-color:#c9ddda}.coupon-collection-page .coupon-board{gap:24px}.coupon-collection-page .coupon-section{gap:12px;padding-top:0}.coupon-collection-page .coupon-section-heading{border-bottom:0;align-items:center;padding-bottom:0}.coupon-collection-page .coupon-section-heading h2{font-size:26px;line-height:1.12}.coupon-collection-page .coupon-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),320px));align-items:start;gap:14px}.coupon-card{min-height:0;box-shadow:var(--shadow-soft);grid-template-rows:auto 1fr auto;align-content:start;gap:14px;padding:18px}.coupon-card-header{align-items:flex-start}.coupon-card-content{align-content:start;gap:8px;display:grid}.coupon-card h2{font-size:24px;line-height:1.12}.coupon-card-content p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.coupon-direction-contract,.direction-contract-copy,.admin-direction-contract{color:var(--muted);font-style:italic;line-height:1.45;font-size:12px!important;font-weight:400!important}.coupon-direction-contract,.admin-direction-contract{margin-top:8px;display:block}.direction-contract-copy{margin:10px 0 0;font-weight:400!important}.coupon-card-context{color:var(--muted);font-size:13px;font-weight:700}.coupon-card-footer{border-top:1px solid #443c3714;justify-content:flex-start;align-self:end;gap:10px 14px;padding-top:6px}.people-discovery-grid,.invite-columns{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;display:grid}.invite-columns.single{grid-template-columns:1fr}.people-code-panel{align-content:space-between;align-items:stretch}.people-code-panel h2,.people-add-flow h2{margin:0;font-size:30px;line-height:1.08}.people-code-panel p,.people-add-flow p{color:var(--muted);margin:6px 0 0;line-height:1.55}.people-code-panel strong{overflow-wrap:anywhere;margin-top:16px;font-size:30px;line-height:1.1;display:block}.people-add-flow{box-shadow:var(--shadow-soft)}.people-add-header{display:block}.people-code-form input{min-height:58px;font-size:20px;font-weight:700}.lookup-review-panel{background:var(--surface-soft);box-shadow:none}.person-row{border-radius:var(--radius);box-shadow:none;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;padding:18px;transition:border-color .16s,box-shadow .16s,transform .16s}.person-row .role-pill{display:none}.person-row .button{justify-self:end}.people-list .person-row{min-height:96px;box-shadow:var(--shadow-soft);background:#fffdfc}.promise-page .detail-header{display:block}.promise-detail-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:22px;display:grid}.promise-main-panel{align-content:start;min-height:360px}.promise-action-panel{align-content:start;position:sticky;top:86px}.promise-main-panel h1{max-width:780px;font-size:var(--type-detail);margin:0;line-height:1}.promise-main-panel>p:not(.eyebrow){max-width:720px;color:var(--muted);margin:0;font-size:18px;line-height:1.65}.promise-terms{border-top:1px solid var(--line);gap:8px;margin-top:18px;padding-top:18px;display:grid}.promise-terms span,.promise-soft-meta dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.promise-terms p{max-width:680px;color:var(--ink);margin:0;font-size:18px;line-height:1.65}.promise-soft-meta{flex-wrap:wrap;gap:16px;margin:12px 0 0;display:flex}.promise-soft-meta div{gap:4px;display:grid}.promise-soft-meta dd{color:var(--muted);align-items:center;gap:6px;margin:0;font-weight:600;display:inline-flex}.promise-invite-link{box-shadow:none}.promise-action-panel .action-bar{grid-template-columns:1fr;display:grid}.promise-action-panel .button{justify-content:center}.memory-trail article{border-radius:var(--radius);background:#fffdfc;gap:8px;padding:18px}.memory-trail article strong{line-height:1.35}.promise-page .detail-header h1{max-width:780px;font-size:var(--type-detail);line-height:.98}.promise-page .detail-header p:not(.eyebrow){max-width:720px;color:var(--muted);margin:12px 0 0;font-size:18px;line-height:1.65}.promise-meta-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;font-weight:600;display:flex}.promise-meta-row span{align-items:center;gap:6px;display:inline-flex}.promise-detail-grid{background:0 0;border:0;grid-template-columns:minmax(150px,.6fr) minmax(150px,.6fr) minmax(260px,1.4fr);gap:12px;overflow:visible}.promise-detail-grid>div{border:1px solid var(--line);border-radius:var(--radius)}.next-action-panel{box-shadow:none;background:#fff8fa;border-color:#ead1d7}.redeem-ticket-panel{gap:16px}.redeem-ticket-panel>p{max-width:640px;color:var(--muted);margin:0;line-height:1.65}.redeem-choice-panel,.remote-redemption-panel,.sheet-controls{border-radius:var(--radius);box-shadow:none}.coupon-preview-card{border-color:#0000}.auth-panel.open-panel{width:min(560px,100%)}.account-preferences-page{max-width:780px}.account-preferences-panel{gap:18px;max-width:560px;display:grid}.account-preferences-icon{background:var(--surface-soft);width:44px;height:44px;color:var(--teal);border-radius:8px;place-items:center;display:inline-grid}.account-preferences-panel label{gap:8px;display:grid}.account-preferences-panel label span{font-weight:700}.account-preferences-panel label small{color:var(--muted)}.account-preference-toggle{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;padding:14px}.account-preference-toggle input{width:18px;height:18px;accent-color:var(--teal);margin:2px 0 0}.account-preference-toggle-copy{gap:5px;display:grid}.account-preference-toggle-copy strong{align-items:center;gap:8px;font-weight:700;display:flex}.account-preference-toggle-copy small{font-weight:600}@media (max-width:820px){.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px}.desktop-nav{display:none}.mobile-bottom-nav{right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:40;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:min(420px,100% - 24px);margin:0 auto;padding:6px;display:grid;position:fixed;left:12px;box-shadow:0 18px 48px #24211f29}.mobile-bottom-nav a{min-height:54px;color:var(--muted);border-radius:12px;place-items:center;gap:3px;font-size:12px;font-weight:700;transition:background-color .16s,color .16s,transform .16s;display:grid}.mobile-bottom-nav a.active{background:var(--surface-soft);color:var(--teal);transform:translateY(-1px)}.button,.icon-button{min-height:44px}.user-area,.user-switcher{justify-self:end}.user-area{flex-wrap:nowrap}.nav-badge{display:none}.account-menu{width:auto}.account-menu-panel{width:min(340px,100vw - 28px);margin-top:8px;position:absolute;right:0}.landing-grid,.detail-header,.open-summary-grid,.people-discovery-grid,.invite-columns,.promise-detail-grid{grid-template-columns:1fr}.landing-grid{min-height:auto}.landing-copy,.memory-panel{min-height:clamp(420px,52svh,520px)}.open-hero.page-heading{align-items:flex-start}.coupon-collection-page{gap:18px}.coupon-collection-page .open-summary-grid{gap:10px}.coupon-collection-page .open-summary-card{min-height:86px;padding:14px 16px}.coupon-collection-page .open-summary-card strong{font-size:32px}.open-hero h1{font-size:var(--type-page);line-height:1.02}.promise-page .detail-header h1{font-size:var(--type-detail);line-height:1.02}.quiet-filter-disclosure{width:fit-content;max-width:100%}.quiet-filter-disclosure summary{width:fit-content}.quiet-filter-row{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100vw - 48px,340px);display:grid}.promise-detail-grid,.admin-section-header,.person-row{grid-template-columns:1fr}.admin-filters{justify-content:stretch}.admin-filter{min-width:min(100%,220px)}.landing-copy h1{font-size:42px}.page-heading{flex-direction:column;align-items:flex-start}.sheet-controls{grid-template-columns:1fr}.flow-header{grid-template-columns:1fr;gap:8px}.flow-progress{justify-items:start}.flow-header-progress-only .flow-progress{justify-self:start;justify-items:start}.flow-card{min-height:min(520px,100svh - 250px)}.success-actions{grid-template-columns:1fr;width:100%;display:grid}.success-actions .button{justify-content:center;width:100%}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-decision-row{grid-template-columns:1fr}.open-action-row,.open-action-row .button{width:100%}.open-action-row .button{justify-content:center}.coupon-collection-page .open-action-row{grid-template-columns:44px minmax(0,1fr);gap:8px;width:100%;display:grid}.coupon-collection-page .open-action-row .icon-button{width:44px;min-width:44px}main{padding-top:24px;padding-bottom:0}.promise-detail-layout{grid-template-columns:1fr}.promise-action-panel{position:static}.promise-main-panel h1{font-size:var(--type-detail);line-height:1.02}}@media (max-width:520px){main{width:min(100% - 20px,1120px);padding:18px 0 0}.brand{font-size:15px}.topbar{gap:8px;padding:10px 12px}.mobile-bottom-nav{width:calc(100% - 20px);left:10px;right:10px}.current-user-label,.user-area>.role-pill{display:none}.user-area{flex-wrap:wrap}.open-panel,.open-summary-card,.coupon-card{padding:20px}.coupon-card{min-height:0}.coupon-card h2,.people-code-panel h2,.people-add-flow h2{font-size:28px}.people-code-panel strong{font-size:24px}.flow-card{padding:16px}.flow-shell-standard .flow-header h1,.flow-shell-preview .flow-header h1{font-size:20px}.flow-shell-standard .flow-header p:not(.eyebrow),.flow-shell-preview .flow-header p:not(.eyebrow){display:none}.flow-shell-standard .flow-header .eyebrow,.flow-shell-preview .flow-header .eyebrow{margin-bottom:4px;font-size:11px}.flow-step-copy :is(h1,h2){font-size:32px}.big-input-label input{font-size:clamp(22px,5.4vw,26px)}.coupon-preview-card h2{font-size:var(--type-coupon-preview)}.success-moment h2{font-size:var(--type-section)}.coupon-preview-meta-line,.preview-note{font-size:14px}.choice-card{min-height:76px}.people-add-header{display:grid}.big-input-label input{min-height:58px}.metric-grid,.confirm-user-grid{grid-template-columns:1fr}.coupon-section-heading{flex-direction:column;align-items:start}}@media (max-height:700px) and (min-width:521px){.flow-shell{gap:8px}.flow-card{gap:12px;min-height:0;padding:18px 22px}.flow-body,.flow-step{gap:12px}.flow-step-copy h1,.send-offer-review-title{font-size:clamp(30px,4cqi,38px)}.flow-step textarea{height:clamp(96px,24svh,140px)}.suggestion-row button{min-height:44px}.flow-action-bar{margin-top:0;padding-top:12px}.review-summary-item{padding:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{@page{size:A4 portrait;margin:8mm}body{background:#fff}.topbar,.no-print{display:none!important}main{width:auto;margin:0;padding:0}.app-shell{min-height:0}.print-page{display:block}.print-sheet-preview{padding:0;display:block;overflow:visible}.print-sheet-page{width:194mm;min-width:0;height:281mm;box-shadow:none;page-break-after:always;break-after:page;border:0;margin:0;padding:0}.print-sheet-page:last-child{page-break-after:auto;break-after:auto}.print-coupon{box-shadow:none;page-break-inside:avoid;break-inside:avoid}.status-badge,.role-pill{border:1px solid #000;color:#000!important;background:#fff!important}}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--type-page:clamp(2rem, 1.7rem + 1.2vw, 2.5rem);--type-detail:clamp(2rem, 1.55rem + 2vw, 2.75rem);--type-section:clamp(1.5rem, 1.35rem + .55vw, 1.75rem);--type-card:clamp(1.25rem, 1.12rem + .4vw, 1.5rem);--type-coupon-detail:clamp(1.5rem, 1.25rem + 1vw, 2rem);--type-coupon-preview:clamp(1.375rem, 1.15rem + .9vw, 1.75rem);--type-coupon-card:clamp(1.125rem, 1.05rem + .3vw, 1.25rem);--type-coupon-compact:1rem;--type-body:1rem;--type-secondary:.875rem;--type-caption:.75rem;--focus-ring:0 0 0 3px #217c7847;--shell-breakpoint:900px;--topbar-height:68px}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-padding-top:calc(var(--topbar-height) + var(--space-4))}html,body{overflow-x:visible}body{min-width:0;font-size:var(--type-body);font-weight:400;line-height:1.55}:where(h1,h2,h3,h4,p,dl,dd){margin-block-start:0}:where(h1,h2,h3,h4,strong,b){font-weight:700}:where(p,li,dd,dt,a,button,label,input,select,textarea){overflow-wrap:anywhere}:where(button,[role=button],a.button,summary,input,select){min-height:44px}:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--teal);outline-offset:3px;box-shadow:var(--focus-ring)}.skip-link{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--ink);color:var(--surface);font-weight:600;position:fixed;translate:0 -160%}.skip-link:focus{translate:0}main{width:min(1180px,100% - 48px);min-width:0;padding-block:var(--space-8) 80px}.page-title,.open-hero h1,.page-heading h1{max-width:24ch;font-size:var(--type-page);letter-spacing:-.025em;margin:0;font-weight:700;line-height:1.08}.section-title,.open-section-heading h2{font-size:var(--type-section);font-weight:700;line-height:1.18}.card-title{font-size:var(--type-card);font-weight:700;line-height:1.2}.eyebrow{color:var(--muted);font-size:var(--type-caption);letter-spacing:.04em;text-transform:none;font-weight:600}.surface,.open-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:none}.surface-inset{border:1px solid color-mix(in srgb, var(--line) 74%, transparent);border-radius:var(--radius-md);background:var(--surface-soft);box-shadow:none}.state-badge,.status-badge{min-height:28px;font-size:var(--type-caption);letter-spacing:0;border-radius:999px;padding:4px 10px;font-weight:600}.notice,.feedback{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft);color:var(--ink);font-size:var(--type-secondary);margin:0;font-weight:400}.notice.error,.feedback.error{background:#fff6f7;border-color:#e9b5c0}.notice.success,.feedback.success{background:#f3faf8;border-color:#bcd8d2}.coupon-direction-contract,.direction-contract-copy,.admin-direction-contract,p[class*=_contract_]{color:var(--muted);line-height:1.5;font-size:12px!important;font-style:italic!important;font-weight:400!important}.direction-contract-copy{margin:0}.button{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-sm);font-weight:600}.button.primary{box-shadow:none}.button.ghost{font-weight:600}.disclosure{border-top:1px solid var(--line)}.disclosure>summary{gap:var(--space-2);padding-block:var(--space-3);color:var(--muted);cursor:pointer;align-items:center;font-weight:600;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}@media (max-width:899px){:root{--topbar-height:60px}main{width:min(100% - 32px,760px);padding-block:var(--space-6) 0}}@media (max-width:520px){main{width:min(100% - 24px,760px);padding-top:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.skip-link{display:none!important}}
.auth-page{min-height:auto;padding-block:var(--space-6);align-items:start}.auth-panel.open-panel{width:min(100%,520px);padding:clamp(24px,5vw,40px)}@media (min-width:900px){.auth-page{place-items:center;min-height:calc(100vh - 190px)}}.auth-panel h1{font-size:var(--type-page);font-weight:700}.auth-help{color:var(--muted);font-size:var(--type-secondary);margin:-4px 0 0}.auth-gate{gap:var(--space-4);width:min(100%,560px);padding:var(--space-8);text-align:center;margin-inline:auto;display:grid}.auth-gate h1{font-size:var(--type-page);margin:0}.flow-shell{container-type:inline-size}.flow-step-copy :is(h1,h2),.flow-step-copy h1{font-size:var(--type-page);font-weight:700;line-height:1.05}.flow-card,.coupon-preview-card{border-radius:var(--radius-lg);box-shadow:none}.success-moment h1,.success-moment h2{font-size:var(--type-section);margin:0;font-weight:700}.redeem-page,.print-page{min-width:0}.redeem-page{gap:var(--space-4);max-width:980px;margin-inline:auto;display:grid}.redeem-ticket-panel,.redeem-choice-panel,.remote-redemption-panel{box-shadow:none}.redeem-header h1{max-width:26ch;font-size:var(--type-detail);font-weight:700;line-height:1.08}.redeem-choice-panel,.remote-redemption-panel{gap:var(--space-4);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.redeem-choice-panel h2,.remote-redemption-panel h2{font-size:var(--type-section);font-weight:700}.print-toolbar{gap:var(--space-3);border-radius:var(--radius-md);box-shadow:none}.admin-page h1{font-size:var(--type-page);font-weight:700}.admin-section h2{font-size:var(--type-section);font-weight:700}.admin-local-nav{gap:var(--space-2);padding-bottom:var(--space-1);scrollbar-width:thin;display:flex;overflow-x:auto}.admin-local-nav a{min-height:44px;padding-inline:var(--space-3);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--type-secondary);flex:none;align-items:center;font-weight:600;display:inline-flex}.admin-local-nav a:hover{background:var(--surface-soft);color:var(--ink)}.admin-delete-trigger{color:var(--muted)}.admin-delete-trigger:hover{color:var(--rose-dark);background:#fff4f5}@media (max-width:899px){.auth-page{padding-block:0}.redeem-choice-panel,.remote-redemption-panel{padding:var(--space-4)}}@media (max-width:620px){.auth-actions,.auth-actions .button,.redeem-page .action-bar,.redeem-page .action-bar .button{width:100%}.auth-actions,.redeem-page .action-bar{grid-template-columns:1fr;display:grid}}@media print{.print-sheet-preview,.print-sheet-page,.print-coupon{overflow:visible}}
