@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&family=Geist+Mono:wght@500;700&display=swap";:root{color:#111827;background:#f7faf9;font-family:Geist,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh}button,input{font:inherit}textarea,select{width:100%;border:1px solid #d8e5e3;border-radius:13px;padding:12px 13px;color:#0f172a;background:#fff;outline:none;font:inherit}textarea{min-height:132px;resize:vertical}select{min-height:46px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{min-height:100dvh;padding:32px;background:linear-gradient(180deg,#e0f7f5ad,#f7faf98c 34%),#f7faf9}.topbar,.dashboard-grid,.auth-panel{width:min(1180px,100%);margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.eyebrow,.panel-topline,.progress-copy,.stats-strip span,.section-title span,.history-row span,.conversion-row span,.api-hint{color:#657386;font-size:13px;font-weight:600}.eyebrow{color:#0d9488;letter-spacing:.18em;text-transform:uppercase}h1,h2,p{margin:0}h1{margin-top:6px;font-size:clamp(30px,4vw,48px);line-height:1;letter-spacing:0}h2{font-size:18px}.icon-text,.copy-link,.external-link,.primary-action,.secondary-action,.convert-row button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:14px;min-height:46px;font-weight:700;transition:transform .18s ease,background .18s ease,border-color .18s ease}.icon-text:active,.copy-link:active,.external-link:active,.primary-action:active,.secondary-action:active,.convert-row button:active{transform:translateY(1px) scale(.99)}.icon-text,.secondary-action,.copy-link,.external-link{color:#134e4a;background:#fff;border:1px solid #d9eeec}.notice,.error{width:min(1180px,100%);margin:0 auto 16px;border-radius:14px;padding:12px 14px;font-weight:700}.notice{color:#12645e;background:#e2f7f4}.error{color:#9f1239;background:#ffe4e6}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.9fr);gap:18px;align-items:start}.points-panel,.action-panel,.qr-panel,.stats-strip,.history-panel,.profile-panel,.conversion-panel,.auth-panel{background:#fffffff5;border:1px solid rgba(195,226,224,.9);border-radius:22px;box-shadow:0 24px 60px -42px #0f766e73}.points-panel{min-height:330px;padding:clamp(28px,5vw,52px);display:flex;flex-direction:column;justify-content:space-between}.panel-topline,.progress-copy{display:flex;justify-content:space-between;gap:16px;text-transform:uppercase;letter-spacing:.12em}.points-panel strong{display:block;margin-top:28px;color:#0f172a;font-family:Geist Mono,ui-monospace,monospace;font-size:clamp(54px,10vw,112px);line-height:.9;letter-spacing:0}.points-panel p{max-width:460px;color:#526173;font-size:16px;line-height:1.55}.progress-track{height:10px;margin-top:34px;overflow:hidden;border-radius:999px;background:#dbe8e7}.progress-track div{height:100%;border-radius:inherit;background:#0f766e;transition:width .3s ease}.action-panel{padding:18px;display:grid;gap:12px}.primary-action{min-height:58px;color:#fff;background:#0f766e}.secondary-action{min-height:54px}.convert-box{margin-top:4px;padding:16px;border-radius:18px;background:#f4fbfa;border:1px solid #d9eeec}.convert-box label,.profile-panel label{display:grid;gap:8px;color:#334155;font-size:14px;font-weight:700}.convert-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:10px}input{width:100%;min-height:46px;border:1px solid #d8e5e3;border-radius:13px;padding:0 13px;color:#0f172a;background:#fff;outline:none}input:focus{border-color:#0f766e}.convert-row button{padding:0 16px;color:#fff;background:#0f766e}.qr-panel{grid-column:1 / -1;display:none;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:18px}.qr-panel.is-open{display:grid}.qr-panel p{margin-top:6px;color:#64748b;overflow-wrap:anywhere}.qr-wrap{padding:12px;border:1px solid #d9eeec;border-radius:18px;background:#fff}.stats-strip{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden}.stats-strip div{padding:20px;background:#fff}.stats-strip strong{display:block;margin-top:8px;font-family:Geist Mono,ui-monospace,monospace;font-size:24px}.tabbar{width:min(1180px,100%);margin:0 auto 16px;display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.tabbar button{min-height:42px;padding:0 16px;border:1px solid #d9eeec;border-radius:999px;color:#475569;background:#fff;font-weight:700;white-space:nowrap}.tabbar button.active{color:#fff;background:#0f766e;border-color:#0f766e}.history-panel,.wide-panel{padding:20px}.wide-panel{width:min(1180px,100%);margin:0 auto;background:#fffffff5;border:1px solid rgba(195,226,224,.9);border-radius:22px;box-shadow:0 24px 60px -42px #0f766e73}.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.section-title div{display:inline-flex;align-items:center;gap:10px}.history-list{display:grid;gap:10px}.history-row,.conversion-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px;border:1px solid #e5eeee;border-radius:16px}.status-dot{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#475569;background:#eef4f4}.status-dot.earned{color:#15803d;background:#dcfce7}.status-dot.redeemed{color:#0f766e;background:#ccfbf1}.status-dot.rejected{color:#be123c;background:#ffe4e6}.history-row strong{display:block;text-transform:capitalize}.history-row time,.history-row b{color:#334155;font-family:Geist Mono,ui-monospace,monospace;font-size:13px}.profile-panel,.conversion-panel,.registration-panel,.approval-panel{padding:20px;display:grid;gap:13px}.registration-panel,.approval-panel{width:100%;max-width:760px;margin:0 auto;border:1px solid #e5eeee;border-radius:22px;background:#fffffff5;box-shadow:0 22px 54px -44px #0f172aa3}.registration-form{display:grid;gap:14px}.registration-form label{display:grid;gap:8px;color:#334155;font-size:14px;font-weight:800}.registration-type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.registration-type button{min-height:72px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #d9eeec;border-radius:16px;color:#475569;background:#fff;font-weight:800}.registration-type button.active{color:#0f766e;border-color:#5eead4;background:#ecfdfb}.approval-panel{min-height:360px;place-items:center;text-align:center}.approval-panel h2{font-size:clamp(28px,4vw,42px)}.approval-panel p{max-width:520px;color:#64748b;line-height:1.65}.approval-icon{width:74px;height:74px;display:grid;place-items:center;border-radius:24px;color:#0f766e;background:#ccfbf1}.approval-summary{display:grid;gap:4px;min-width:min(360px,100%);padding:14px;border:1px solid #d9eeec;border-radius:16px;background:#f8fbfb}.approval-summary span,.approval-row span{color:#64748b;font-size:13px;font-weight:700}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:14px;align-items:end}.profile-grid .section-title{grid-column:1 / -1}.admin-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:18px}.admin-grid .full{grid-column:1 / -1}.rule-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:end}.rule-form label{display:grid;gap:8px;color:#334155;font-size:14px;font-weight:700}.rule-form button{grid-column:1 / -1}.rule-list{display:grid;gap:10px;align-content:start}.approval-list{display:grid;gap:10px;padding:16px;border:1px solid #d9eeec;border-radius:18px;background:#f8fbfb}.rule-row,.approval-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:14px;border:1px solid #e5eeee;border-radius:16px}.mini-action{min-height:34px;padding:0 12px;border:1px solid #d9eeec;border-radius:999px;color:#0f766e;background:#fff;font-weight:800}.mini-action.danger{color:#be123c;border-color:#fecdd3;background:#fff1f2}.rule-row strong,.rule-row span,.approval-row strong,.approval-row span{display:block}.rule-row span,.approval-row span{margin-top:4px;color:#64748b;font-size:13px;text-transform:capitalize}.rule-row b{color:#0f766e;font-family:Geist Mono,ui-monospace,monospace}.rule-row em{border-radius:999px;padding:5px 10px;color:#15803d;background:#dcfce7;font-style:normal;font-weight:700;font-size:13px}.conversion-row{grid-template-columns:minmax(0,1fr) auto auto}.conversion-row b{border-radius:999px;padding:5px 10px;background:#eef4f4;color:#475569;text-transform:capitalize}.conversion-row b.completed{color:#15803d;background:#dcfce7}.conversion-row b.failed{color:#be123c;background:#ffe4e6}.empty-row{padding:18px;border-radius:16px;color:#64748b;background:#f8fbfb;border:1px dashed #cfe2e0}.external-link{justify-self:start;padding:0 16px;color:#0f766e;text-decoration:none}.auth-shell{display:grid;place-items:center}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:.5rem;background:#fafafa}.auth-card{width:100%;min-height:calc(100dvh - 1rem);display:grid;place-items:center;padding:2.5rem 1.5rem;border:1px solid rgba(9,9,11,.05);border-radius:.625rem;background:#fffffff5;box-shadow:0 1px 2px #09090b0a}.auth-form-stack{width:min(24rem,100%);display:grid;gap:0}.auth-brand{display:flex;align-items:center;gap:16px}.auth-brand.stacked{display:grid;gap:1.5rem}.auth-brand span{color:#0f766e;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.auth-brand h1{margin:0;font-size:1.875rem;line-height:2.25rem;font-weight:700;letter-spacing:0}.auth-copy{margin:.375rem 0 0;color:#64748b;font-size:.9375rem;line-height:1.55}.login-form{margin-top:1.5rem;display:grid;gap:1rem}.login-form label{display:grid;gap:8px;color:#334155;font-size:.875rem;font-weight:500}.login-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid #dbe8e7;border:0;border-radius:.75rem;background:#f4f4f5}.login-switch button{min-height:42px;border:0;border-radius:.5rem;color:#64748b;background:transparent;font-weight:800}.login-switch button.active{color:#09090b;background:#fff;box-shadow:0 1px 3px #09090b14}.input-wrap{position:relative}.input-prefix,.input-action{position:absolute;inset-block:0;display:inline-flex;align-items:center;color:#71717a}.input-prefix{left:.875rem;font-size:.875rem;font-weight:600}input.has-prefix{padding-left:2.8rem}input.has-action{padding-right:2.75rem}.input-action{right:0;width:2.6rem;justify-content:center;border:0;background:transparent}.label-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.text-link{border:0;background:transparent;color:#0891b2;font-size:.75rem;font-weight:600}.auth-divider{display:flex;align-items:center;gap:.75rem;color:#a1a1aa;font-size:.75rem}.auth-divider span{height:1px;flex:1;background:#e4e4e7}.error.compact{width:100%;margin:0 0 14px;padding:.75rem 1rem;border-radius:.75rem;font-size:.875rem}.auth-panel{max-width:560px;padding:36px}.brand-mark{width:56px;height:56px;display:grid;place-items:center;margin-bottom:20px;border-radius:16px;color:#fff;background:#0f766e;font-weight:800;font-size:24px}.auth-logo{width:2.5rem;height:2.5rem;object-fit:contain;transition:transform .18s ease}.auth-logo:hover,.sidebar-logo:hover{transform:scale(1.05)}.sidebar-logo{width:2.25rem;height:2.25rem;flex-shrink:0;border-radius:.5rem;object-fit:contain;transition:transform .18s ease}.auth-panel p{margin:14px 0 18px;color:#64748b;line-height:1.6}.skeleton{min-height:220px;border-radius:22px;background:linear-gradient(90deg,#eef5f4,#fff,#eef5f4);background-size:180% 100%;animation:shimmer 1.5s infinite}.hero-skeleton{min-height:330px}.list-skeleton{grid-column:1 / -1}.spin{animation:spin .8s linear infinite}.workspace-shell{min-height:100dvh;display:grid;grid-template-columns:17.5rem minmax(0,1fr);background:#fafafa}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:1rem;padding:1rem;border-right:1px solid rgba(9,9,11,.08);background:#fff}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:.5rem .5rem 1rem;border-bottom:1px solid rgba(9,9,11,.06)}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{color:#0f172a;font-size:18px}.sidebar-brand span{margin-top:2px;color:#64748b;font-size:13px;font-weight:700}.brand-mark.small{width:44px;height:44px;margin:0;border-radius:14px;font-size:19px}.sidebar-nav{display:grid;gap:7px}.sidebar-nav button,.logout-button{min-height:2.75rem;display:inline-flex;align-items:center;gap:12px;border:0;border-radius:.75rem;padding:0 14px;color:#475569;background:transparent;font-size:.875rem;font-weight:600;text-align:left}.sidebar-nav button.active{color:#09090b;background:#09090b0a;box-shadow:none}.logout-button{margin-top:auto;justify-content:center;color:#be123c;background:#fff1f2}.workspace-main{min-width:0;padding:1.5rem}.workspace-main .topbar,.workspace-main .dashboard-grid,.workspace-main .wide-panel,.workspace-main .notice,.workspace-main .error{width:100%;max-width:1240px}.workspace-main .topbar{padding:0 0 1.5rem;border:0;border-radius:0;background:transparent;box-shadow:none}.workspace-main .topbar h1{font-size:1.875rem;line-height:2.25rem}.workspace-main .topbar p{margin-top:.25rem;color:#71717a}.topbar-actions{display:flex;align-items:center;gap:.75rem}.app-switch{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:0;border-radius:1rem;background:#09090b0a;color:#52525b}.app-switch span{display:grid;place-items:center}.account-pill{min-height:3rem;display:inline-flex;align-items:center;gap:.75rem;border-radius:999px;padding:.35rem .85rem .35rem .35rem;background:#fff;box-shadow:0 1px 2px #09090b0f,0 0 0 1px #09090b0a}.account-pill div{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:999px;color:#fff;background:#2563eb;font-weight:800}.account-pill span{color:#27272a;font-weight:700}.points-panel,.action-panel,.qr-panel,.stats-strip,.history-panel,.profile-panel,.conversion-panel,.wide-panel{border-color:#e5eeee;border-radius:18px;box-shadow:0 22px 54px -44px #0f172aa3}.points-panel{min-height:286px;background:linear-gradient(135deg,rgba(15,118,110,.08),transparent 48%),#fff}.points-panel strong{font-size:clamp(48px,7vw,86px)}.stats-strip{gap:12px;overflow:visible;background:transparent;border:0;box-shadow:none}.stats-strip div{display:grid;gap:8px;min-height:126px;padding:18px;border:1px solid #e5eeee;border-radius:18px;background:#fff;box-shadow:0 18px 48px -42px #0f172ab3}.stats-strip svg{color:#0f766e}.stats-strip strong{margin-top:0}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-metrics div{display:grid;gap:6px;padding:14px;border:1px solid #e5eeee;border-radius:14px;background:#fff}.admin-metrics span,.muted-copy{color:#71717a;font-size:.88rem}.admin-metrics strong{font-size:1.35rem;color:#18181b}.export-actions,.adjustment-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.export-actions a{text-decoration:none}.adjustment-row select,.adjustment-row input{min-height:42px;border:1px solid #dbe7e7;border-radius:12px;padding:0 12px;color:#27272a;background:#fff}.adjustment-row input{min-width:150px}@keyframes shimmer{to{background-position:-180% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:820px){.shell,.workspace-main{padding:18px}.workspace-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.dashboard-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.qr-panel,.stats-strip,.history-row,.registration-type,.approval-row,.admin-metrics,.admin-grid,.profile-grid{grid-template-columns:1fr}.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.points-panel strong{font-size:54px}}
