:root{--ink:#242033;--muted:#797480;--purple:#4b3069;--purple-dark:#30213f;--line:#e9e5ed;--paper:#f7f6f3;--green:#326a56}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--purple);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ae8cc9;outline-offset:3px}.sidebar{width:248px;position:fixed;inset:0 auto 0 0;background:var(--purple-dark);color:#fff;padding:35px 23px;display:flex;flex-direction:column}.brand{font-size:23px;letter-spacing:-1px;color:#fff;font-weight:650;display:flex;align-items:center;gap:9px}.brand-mark{display:inline-grid;place-items:center;width:31px;height:35px;border-radius:8px;background:#e4d5ee;color:#382047;font-size:23px}.brand-dot{margin-left:-9px;color:#c8a3e0}.workspace-label{font-size:10px;letter-spacing:1.9px;color:#b5a6c3;margin:48px 13px 18px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{padding:13px 14px;border-radius:8px;color:#cfc5d8;font-size:14px}.sidebar nav a.selected{color:#fff;background:#604576}.sidebar-footer{margin-top:0;padding:30px 12px 0;font-size:12px;color:#d5c8df}.sidebar-footer small{display:block;color:#ac9cb9;margin-top:15px;line-height:1.8}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b7d0ba;margin-right:6px}.app-main{margin-left:248px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:81px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fff;font-size:12px;color:var(--muted)}.user-menu{display:flex;gap:25px;align-items:center}.user-menu>span{font-weight:600;color:var(--ink)}.text-button{background:none;border:0;color:var(--purple);padding:0;text-align:left}.app-main main{padding:43px 42px 30px;flex:1;max-width:1720px;width:100%;margin:0 auto}h1{font-size:clamp(26px,2.65vw,40px);line-height:1.2;letter-spacing:-1.3px;margin:12px 0 13px;font-weight:600}h2{font-size:20px;letter-spacing:-.45px;font-weight:600;margin:0 0 12px}p{margin:7px 0 18px}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.9px;color:#897792}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.pill{border:1px solid #ded6e6;background:#eee8f3;border-radius:20px;color:#6a547b;padding:6px 13px;font-size:11px;white-space:nowrap}.scanner-card{border-radius:13px;background:var(--purple);color:#fff;display:grid;grid-template-columns:60px 1fr;gap:0 15px;padding:28px 32px}.scanner-icon{width:52px;height:58px;display:grid;place-items:center;font-size:37px;border:1px solid #9274a8;border-radius:9px;grid-row:span 2}.scanner-card .eyebrow{color:#cab4da}.scanner-card h2{font-size:25px;margin:4px 0}.scanner-card p{color:#d4c5df;font-size:12px}.scanner-form{grid-column:2;margin-top:8px}.scanner-form>label{font-size:11px;color:#e7d9ef}.input-row{display:flex;gap:10px}.input-row input{flex:1;min-width:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:7px;background:var(--purple);color:#fff;padding:11px 19px;font-weight:550;white-space:nowrap;font-size:12px;text-decoration:none}.button:hover{background:#61417f;text-decoration:none}.button.light{background:#f2e9f8;color:#432856}.button.secondary{background:#fff;border-color:#dcd4e2;color:var(--purple)}.button.secondary:hover{background:#f4eff7}input,select,textarea{width:100%;border:1px solid #ded9e3;border-radius:6px;background:#fff;color:var(--ink);padding:10px 12px;min-height:43px;outline:none}input:focus,select:focus,textarea:focus{border-color:#9673af;box-shadow:0 0 0 3px #aa84c020}label{font-size:12px;font-weight:550;display:grid;gap:7px}input::placeholder{color:#a49baa;font-size:12px}.section-heading{margin:35px 0 17px;display:flex;justify-content:space-between;align-items:center}.section-heading h2{margin:0}.section-heading span{font-size:11px}.card{border:1px solid var(--line);background:#fff;border-radius:11px;padding:27px}.table-card{padding:0;overflow:hidden}.filters{padding:22px;display:grid;grid-template-columns:1fr 220px auto;align-items:end;gap:15px;border-bottom:1px solid var(--line)}.filters label{color:var(--muted);font-size:10px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{color:#8b8392;background:#fcfbfd;font-size:10px;font-weight:550;white-space:nowrap;padding:16px 20px;border-bottom:1px solid var(--line)}td{padding:18px 20px;border-bottom:1px solid #f0edf3;vertical-align:middle}td small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.nowrap{white-space:nowrap}.badge{display:inline-block;padding:5px 9px;border-radius:5px;background:#f0ecf4;color:#675076;font-size:10px;white-space:nowrap}.badge.active{background:#ebf4ed;color:#397157}.badge.used{background:#eee8f7;color:#6a4789}.badge.credited{background:#e9f0f7;color:#446c8c}.badge.unused_reported{background:#faf0df;color:#946d32}.empty-state{text-align:center;padding:55px 20px;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-weight:500}.empty-state p{font-size:12px;margin:10px 0}.pagination{padding:17px 22px;font-size:12px}.pagination nav{display:flex;justify-content:space-between}.pagination nav span,.pagination nav a{padding:7px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:23px}.lower-panels{margin-top:25px}.stack{display:grid;gap:16px}.stack .button{justify-self:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-actions{grid-column:1/-1;padding-top:5px}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:17px;min-height:17px}.inline-form{display:flex;align-items:end;gap:12px}.inline-form label{font-size:10px}.inline-form select{min-width:100px}.notice,.error{border-radius:8px;padding:15px 20px;margin-bottom:24px;font-size:12px}.notice{background:#eee8f3;border:1px solid #d9cbe4;color:#513665}.error{background:#fff0f0;border:1px solid #f3cece;color:#a13a3a}.error ul{margin:7px 0 0;padding-left:18px}.page-footer{margin-top:10px;padding:22px 42px;display:flex;justify-content:space-between;color:#9a929f;font-size:10px;border-top:1px solid var(--line)}.guest-main{min-height:100vh;padding-top:45px;background:radial-gradient(ellipse at 80% 10%,#e5d9ef,transparent 50%),var(--paper)}.guest-brand{color:var(--purple-dark);justify-content:center;font-size:27px}.guest-main main{max-width:540px;margin:50px auto;padding:0 20px}.auth-card{padding:42px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 20px 80px #39254408}.auth-card h1{font-size:31px;margin-top:20px}.auth-card .muted{font-size:13px;margin-bottom:28px}.auth-card .button{width:100%}.auth-link{display:block;margin-top:23px;text-align:center;font-size:12px}.auth-footnote{font-size:10px;text-align:center;color:#99919f;border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.qr-code{display:block;width:200px;height:200px;margin:25px 0}.recovery-codes{margin:20px 0}.recovery-codes summary{cursor:pointer}.recovery-codes ul{padding-left:20px}.recovery-codes li{margin:7px 0}@media(max-width:1150px){.sidebar{width:205px;padding:30px 16px}.brand{font-size:20px}.app-main{margin-left:205px}.app-main main{padding:30px 25px}.topbar{padding:0 25px}.two-columns{grid-template-columns:1fr}.filters{grid-template-columns:1fr 170px auto}.input-row{flex-wrap:wrap}.input-row .button{flex:0 0 auto}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:18px}.sidebar .brand{font-size:23px}.workspace-label,.sidebar-footer{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:4px;margin-top:17px}.sidebar nav a{white-space:nowrap;font-size:12px;padding:8px 11px}.app-main{margin-left:0}.topbar{height:auto;min-height:60px;padding:14px 20px;gap:15px}.user-menu{gap:12px}.app-main main{padding:28px 18px}.page-heading{align-items:flex-start}.page-heading .pill{display:none}.scanner-card{padding:23px;display:block}.scanner-icon{display:none}.scanner-form{margin-top:20px}.input-row{display:grid}.filters{grid-template-columns:1fr 100px;gap:12px}.filters .button{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.two-columns{gap:18px}.card{padding:21px}.table-card{padding:0}.inline-form{flex-wrap:wrap}.auth-card{padding:29px}.guest-main main{margin-top:35px}.page-footer{padding:20px}.print-grid{width:100%;display:block}.print-toolbar{gap:15px}.print-toolbar span{display:none}}

.form-grid [hidden]{display:none}

.created-row{background:#eff7f1}

.sidebar nav a{display:flex;align-items:center;gap:13px;min-height:51px;line-height:1.3}
.sidebar nav a:hover,.sidebar .brand:hover{text-decoration:none}
.sidebar nav a:hover{background:#ffffff0c;color:#fff}
.sidebar nav a.selected:hover{background:#604576}
.nav-icon{width:25px;height:25px;flex:0 0 25px}
.sidebar nav.sidebar-admin{margin-top:auto;padding-top:24px}
.sidebar-footer{padding-top:20px}
.site-logo{display:block;width:100%;max-width:200px;max-height:64px;object-fit:contain;object-position:left center}
.guest-brand .site-logo{width:auto;max-width:280px;max-height:80px}
.brand-name{overflow-wrap:anywhere}
@media(max-height:800px) and (min-width:761px){.sidebar{overflow-y:auto;padding-top:24px;padding-bottom:20px}.workspace-label{margin-top:25px}.sidebar nav a{min-height:44px;padding-top:10px;padding-bottom:10px}.sidebar-footer small{display:none}}
@media(max-width:760px){.sidebar nav.sidebar-admin{margin-top:10px;padding-top:0}.sidebar nav a{min-height:42px;gap:8px}.nav-icon{width:22px;height:22px;flex-basis:22px}.sidebar .site-logo{max-height:44px}.sidebar-admin a{width:fit-content}}

.branding-form{align-items:start}

.status-filters{display:flex;flex-wrap:wrap;gap:8px;padding:22px 22px 0}
.status-filter{border:1px solid #ded6e6;border-radius:7px;background:#fff;color:var(--purple);padding:9px 13px;font-size:12px;line-height:1.4;min-height:38px}
.status-filter:hover{background:#f4eff7;border-color:#b8a5c8}
.status-filter.selected{background:var(--purple);border-color:var(--purple);color:#fff}
.filters.coupon-search{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:760px){.status-filters{padding:18px 18px 0;gap:7px}.status-filter{font-size:11px;padding:9px 11px}.coupon-search .button{grid-column:auto}}

.home-page{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:32px}
.home-brand{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--purple-dark);font-size:clamp(24px,5vw,36px);font-weight:650;letter-spacing:-1px;max-width:100%;text-align:center}
.home-logo{display:block;width:auto;height:auto;max-width:min(360px,100%);max-height:180px;object-fit:contain}
.home-brand .brand-mark{flex:0 0 40px;width:40px;height:45px;font-size:28px}

.sort-link{display:inline-flex;align-items:center;gap:6px;color:inherit;font:inherit;white-space:nowrap}
.sort-link:hover{color:var(--purple);text-decoration:none}
.sort-arrow{font-size:13px;color:#a599af;line-height:1}

.sort-link.selected{color:var(--purple);font-weight:650}.sort-link.selected .sort-arrow{color:var(--purple)}

.pagination-top{border-bottom:1px solid var(--line)}
.pagination .pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pager-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.pagination .pager-summary{padding:0;color:var(--muted);font-size:11px}
.pagination .page-link{display:inline-flex;align-items:center;justify-content:center;min-width:33px;min-height:33px;padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;line-height:1.3}
.pagination a.page-link:hover{background:#f4eff7;border-color:#b8a5c8;text-decoration:none}
.pagination .page-link.selected{background:var(--purple);border-color:var(--purple);color:#fff;font-weight:600}
.pagination .page-link.disabled{color:#aaa2b0;background:#faf9fb}
.pagination .page-gap{padding:3px;color:var(--muted)}
@media(max-width:760px){.pagination .pager{justify-content:center}.pagination .pager-summary{width:100%;text-align:center}.pager-controls{justify-content:center;gap:4px}.pagination .page-link{min-width:32px;min-height:36px;padding:7px}}

.row-actions{display:flex;align-items:center;gap:14px;white-space:nowrap}

.status-filters .archive-tab{margin-left:auto;display:inline-flex;align-items:center;text-decoration:none}.status-filters a.status-filter:hover{text-decoration:none}

.selection-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 22px 0;font-size:12px}.selection-toolbar [data-selection-count]{font-weight:600;min-width:62px}.selection-cell{width:44px;padding-left:15px;padding-right:10px;text-align:center}.coupon-checkbox{display:inline-block;width:18px;height:18px;min-height:18px;padding:0;vertical-align:middle;cursor:pointer;accent-color:var(--purple)}.coupon-checkbox[hidden]{display:none}

.coupon-table th,.coupon-table td{padding-left:12px;padding-right:12px}.coupon-table .selection-cell{padding-left:15px;padding-right:10px}
