@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap);:root{--font-family-sans-serif:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--color-primary-teal:#17cac6;--color-primary-blue:#2d2df1;--color-primary-white:#fff;--color-primary-dark:#001324;--color-grey-border:#e5e7e9;--color-grey-secondary-text:#66717c;--color-grey-background:#f8f9fa;--content-bg:var(--color-primary-white);--sidebar-bg:var(--color-grey-background)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--color-grey-background);color:#001324;color:var(--color-primary-dark);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-family-sans-serif);font-size:16px;line-height:1.5;margin:0}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{color:#001324;color:var(--color-primary-dark);font-weight:700}h1{font-size:2.5em}h2{font-size:2em}h3{font-size:1.75em}a{color:#2d2df1;color:var(--color-primary-blue);text-decoration:none}a:hover{text-decoration:underline}button{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-family-sans-serif)}.sidebar{background-color:var(--sidebar-bg);border-right:1px solid var(--color-grey-border);display:flex;flex-direction:column;height:100vh;padding:25px 20px;width:250px}.sidebar-logo{margin-bottom:35px;padding-left:10px;text-align:left}.logo-image{display:block;height:auto;max-width:180px}.sidebar-nav{display:flex;flex-direction:column}.nav-link{border-radius:6px;color:var(--color-grey-secondary-text);font-weight:500;margin:4px 0;padding:12px 15px;text-decoration:none;transition:background-color .2s ease-in-out,color .2s ease-in-out}.nav-link:hover{background-color:var(--color-grey-border);color:var(--color-primary-dark)}.nav-link.active{background-color:var(--color-primary-teal);color:var(--color-primary-white);font-weight:700}.modal-overlay{align-items:center;background:#00132499;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--content-bg);border-radius:8px;box-shadow:0 5px 20px #0013241a;color:var(--color-primary-dark);padding:35px;position:relative;text-align:center;width:450px}.modal-close{background:none;border:none;color:var(--color-grey-secondary-text);cursor:pointer;font-size:22px;line-height:1;padding:5px;position:absolute;right:15px;top:15px}.modal-close:hover{color:var(--color-primary-dark)}.modal-content button{border-radius:6px;cursor:pointer;display:block;font-size:1em;font-weight:500;margin:12px auto;min-width:220px;padding:12px 20px;transition:background-color .2s ease-in-out,border-color .2s ease-in-out}.modal-content form button[type=submit]{background-color:var(--color-primary-teal);border:none;color:#fff}.modal-content form button[type=submit]:hover{background-color:#13a8a4}.google-btn{align-items:center;background-color:#f2f2f2;border:1px solid var(--color-grey-border);color:var(--color-primary-dark);display:flex;gap:10px;justify-content:center}.google-btn:hover{background-color:var(--color-grey-background)}.google-btn img{height:40px;width:auto}.pera-btn{align-items:center;background-color:#fd5;border:none;color:var(--color-primary-dark);display:flex;gap:10px;justify-content:center}.pera-btn:hover{background-color:#ffca2a}.pera-btn img{height:30px;width:auto}.google-btn,.modal-content button,.pera-btn{align-items:center;display:flex;gap:10px;height:48px;justify-content:center;min-width:0;padding:0 24px;width:100%}.modal-content p button{background:none;border:none;color:var(--color-primary-blue);display:inline;font-weight:400;margin:0 0 0 5px;min-width:auto;padding:0;text-decoration:underline}.modal-content p button:hover{color:#2424d8}.modal-content form div{margin-bottom:18px;text-align:left}.modal-content label{color:var(--color-primary-dark);display:block;font-weight:500;margin-bottom:6px}.modal-content input[type=email],.modal-content input[type=password]{border:1px solid var(--color-grey-border);border-radius:6px;color:var(--color-primary-dark);font-size:1em;padding:12px;width:100%}.modal-content input[type=email]:focus,.modal-content input[type=password]:focus{border-color:var(--color-primary-teal);box-shadow:0 0 0 2px #17cac633;outline:none}.modal-content p{color:var(--color-grey-secondary-text);font-size:.9em;margin-top:15px}.modal-content h2{color:var(--color-primary-dark);font-weight:700;margin-bottom:30px;margin-top:0}.modal-content p.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;margin-top:15px;padding:10px}.modal-content p.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-top:15px;padding:10px}.modal-content p.info-message{background-color:#cce5ff;border:1px solid #b8daff;border-radius:4px;color:#004085;margin-top:15px;padding:10px}.selected-program-header{align-items:center;background-color:var(--color-grey-background);border-bottom:1px solid var(--color-grey-border);border-radius:0 0 8px 8px;box-shadow:0 2px 4px #00132408;display:flex;margin-bottom:20px;padding:10px 20px}.selected-program-icon{background-color:#fff;border:1px solid var(--color-grey-border);border-radius:6px;height:36px;margin-right:12px;object-fit:contain;width:36px}.selected-program-name{color:var(--color-primary-dark);font-size:1.1em;font-weight:600;margin-right:8px}.selected-program-short-name{color:var(--color-grey-secondary-text);font-family:monospace;font-size:.9em}.admin-layout{display:flex;min-height:100vh}.admin-content{background-color:var(--content-bg);flex-grow:1;padding:35px;position:relative}.admin-header{position:absolute;right:35px;top:25px;z-index:10}.login-btn{background-color:var(--content-bg);border:1px solid var(--color-grey-border);border-radius:6px;color:var(--color-primary-dark);cursor:pointer;font-size:.95em;font-weight:500;padding:8px 18px;transition:background-color .2s ease-in-out,border-color .2s ease-in-out}.login-btn:hover{background-color:var(--color-grey-background);border-color:#ced4da}.logout-btn{background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95em;font-weight:500;padding:8px 15px;transition:background-color .2s ease-in-out}.logout-btn:hover{background-color:#c82333}.dashboard-container h1{margin-bottom:10px}.dashboard-container>p{color:var(--text-color-light);font-size:1.1em;margin-bottom:30px}.dashboard-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-card{background-color:#fff;border:1px solid var(--color-grey-border);border-radius:8px;box-shadow:0 2px 5px #0013240d;padding:25px}.dashboard-card h2{border-bottom:1px solid var(--color-grey-border);font-size:1.4em;margin-bottom:15px;margin-top:0;padding-bottom:10px}.dashboard-card p{line-height:1.6;margin-bottom:10px}.dashboard-card button{background-color:var(--color-primary-teal);border:none;border-radius:5px;color:#fff;cursor:pointer;margin-top:15px;padding:10px 15px}.dashboard-card button:disabled{background-color:#a0a0a0;cursor:not-allowed}.dashboard-card button:hover:not(:disabled){background-color:#13a8a4}.setup-program-container h1{border-bottom:1px solid var(--color-grey-border);margin-bottom:10px;padding-bottom:15px}.setup-program-container>p{color:var(--color-grey-secondary-text);font-size:1.1em;margin-bottom:30px}.demo-banner{background-color:#f3e5f5;border:1px solid #7b1fa2;border-radius:6px;color:#4a148c;font-size:.95em;line-height:1.4;margin-bottom:24px;max-width:600px;padding:12px 16px}.setup-program-form{background-color:var(--color-primary-white);border:1px solid var(--color-grey-border);border-radius:8px;box-shadow:0 2px 5px #0013240d;max-width:600px;padding:30px}.form-group{margin-bottom:25px}.form-group label{color:var(--color-primary-dark);display:block;font-weight:500;margin-bottom:8px}.form-group input[type=file],.form-group input[type=text],.form-group select{background-color:var(--color-primary-white);border:1px solid var(--color-grey-border);border-radius:6px;color:var(--color-primary-dark);font-size:1em;padding:12px;width:100%}.form-group select:disabled{background-color:var(--color-grey-background);color:var(--color-grey-secondary-text);cursor:not-allowed}.form-group input[type=file]{padding:8px 12px}.form-group small{color:var(--color-grey-secondary-text);display:block;font-size:.85em;margin-top:8px}.form-group input[type=text]:focus,.form-group select:focus{border-color:var(--color-primary-teal);box-shadow:0 0 0 2px #17cac633;outline:none}.form-actions{margin-top:30px;text-align:right}.submit-button{background-color:#17cac6;background-color:var(--color-primary-teal,#17cac6);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1em;font-weight:500;padding:12px 25px;transition:background-color .2s ease-in-out}.submit-button:hover:not(:disabled){background-color:#13a8a4}.logo-preview-container{background-color:var(--color-grey-background);border:1px dashed var(--color-grey-border);border-radius:6px;margin-top:20px;padding:15px;text-align:center}.logo-preview-container p{color:var(--color-grey-secondary-text);font-weight:500;margin-bottom:10px}.logo-preview-image{border:1px solid var(--color-grey-border);border-radius:4px;height:auto;max-height:150px;max-width:150px}.submit-button:disabled{background-color:var(--color-grey-secondary-text);cursor:not-allowed}.form-success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;font-size:.95em;margin-bottom:20px;padding:10px 15px}.select-program-container h1{border-bottom:1px solid var(--color-grey-border);margin-bottom:10px;padding-bottom:15px}.select-program-container>p{color:var(--color-grey-secondary-text);font-size:1.1em;margin-bottom:30px}.program-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.program-card{align-items:center;background-color:var(--color-primary-white);border:1px solid var(--color-grey-border);border-radius:8px;cursor:pointer;display:flex;padding:15px;transition:box-shadow .2s ease-in-out,border-color .2s ease-in-out}.program-card:hover{border-color:var(--color-primary-teal);box-shadow:0 3px 8px #00132414}.program-icon{background-color:#f0f0f0;border:1px solid var(--color-grey-border);border-radius:6px;flex-shrink:0;height:45px;margin-right:15px;object-fit:contain;width:45px}.program-info{flex-grow:1;overflow:hidden}.program-name{font-size:1.1em;font-weight:500;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-short-name{color:var(--color-grey-secondary-text);font-family:monospace;font-size:.9em;margin:0}.error-message,.info-message,.loading-message{margin-top:20px}.currently-selected-info{background-color:var(--color-grey-background);border:1px solid var(--color-grey-border);border-radius:6px;color:var(--color-primary-dark);font-size:1.05em;margin-top:30px;padding:15px;text-align:center}.currently-selected-info strong{color:var(--color-primary-teal)}.manage-header{border-bottom:1px solid var(--color-grey-border);margin-bottom:10px;padding-bottom:15px}.manage-header h1{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:.95em;margin-bottom:20px;padding:10px 15px}.manage-program-container>p{color:var(--color-grey-secondary-text);font-size:1.1em;margin-bottom:30px}.manage-program-container>p strong{background-color:var(--color-grey-background);border-radius:4px;color:var(--color-primary-dark);font-family:monospace;font-size:.95em;padding:2px 5px}.selected-program-details{align-items:center;background-color:var(--color-grey-background);border:1px solid var(--color-grey-border);border-radius:8px;display:flex;gap:20px;margin-bottom:40px;padding:20px}.details-program-icon{border:1px solid var(--color-grey-border);border-radius:8px;flex-shrink:0;height:60px;object-fit:contain;width:60px}.selected-program-details p{color:var(--color-primary-dark);margin:5px 0}.selected-program-details p code{color:var(--color-primary-teal);font-size:1.1em}.card-design-area{border-top:1px solid var(--color-grey-border);margin-top:30px;padding-top:30px}.card-design-area h2{margin-bottom:10px}.card-design-area>p{color:var(--color-grey-secondary-text);margin-bottom:30px}.wallet-card-container{background:linear-gradient(145deg,#e6e6e6,#fff);border-radius:10px;display:flex;justify-content:center;padding:20px 0}.wallet-card{background-color:#fff;border-radius:12px;box-shadow:0 5px 20px #00000026;color:#000;display:flex;flex-direction:column;overflow:hidden;position:relative;width:340px}.wallet-card:after,.wallet-card:before{background-color:inherit;border-radius:50%;content:"";height:30px;position:absolute;right:-15px;width:30px}.wallet-card:before{box-shadow:inset -5px 0 8px -5px #0003;top:calc(50% - 15px)}.wallet-card:after{display:none}.wallet-card-header{align-items:center;background-color:#fff;border-bottom:1px solid #e5e5e5;display:flex;padding:12px 15px}.wallet-card-icon{border-radius:5px;height:30px;margin-right:12px;object-fit:contain;width:30px}.wallet-card-program-name{color:#000;font-size:1em;font-weight:500}.wallet-card-body{display:flex;flex-direction:column;flex-grow:1;padding:20px 24px 24px}.wallet-card-points{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:28px}.points-value{color:#000;font-size:3.4rem;font-weight:300;line-height:1}.points-label{color:#1a1a1a;font-size:1rem;margin-top:4px}.wallet-card-member{display:flex;flex-direction:column;margin-bottom:28px}.field-label{color:#6e6e6e;font-size:.7rem;font-weight:500;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.field-value{color:#000;font-size:1.4rem;font-weight:400}.wallet-card-qr{align-items:center;display:flex;flex-direction:column;margin-top:auto}.qr-code-img{border-radius:4px;display:block;height:150px;margin-bottom:8px;width:150px}.qr-code-identifier{color:#000;font-size:.78rem;letter-spacing:.3px;max-width:220px;text-align:center;word-break:break-all}.delete-button-container{border-top:1px solid var(--color-grey-border);margin-top:40px;padding-top:20px;text-align:center}.delete-program-button{background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1em;font-weight:500;padding:10px 25px;transition:background-color .2s ease-in-out}.delete-program-button:hover:not(:disabled){background-color:#c82333}.delete-program-button:disabled{background-color:#a0a0a0;cursor:not-allowed}.info-message{border-radius:8px;margin-top:30px;padding:20px;text-align:center}.program-access-section{background-color:var(--color-grey-background);border:1px solid var(--color-grey-border);border-radius:8px;margin-bottom:40px;margin-top:30px;padding:25px;text-align:center}.program-access-section h2{border-bottom:1px solid var(--color-grey-border);display:inline-block;font-size:1.5em;margin-bottom:15px;margin-top:0;padding-bottom:10px}.program-access-section p{color:var(--color-grey-secondary-text);font-size:1.05em;margin-bottom:20px}.program-url-display{background-color:var(--color-primary-white);border:1px solid var(--color-grey-border);border-radius:6px;display:inline-block;font-family:monospace;font-size:1.1em;margin:0 auto 20px;padding:10px 15px;word-break:break-all}.program-url-display a{color:var(--color-primary-blue);text-decoration:none}.program-url-display a:hover{text-decoration:underline}.program-qr-code-display{background-color:#fff;border:1px solid var(--color-grey-border);border-radius:6px;display:inline-block;margin-bottom:25px;padding:10px}.download-qr-button{background-color:var(--color-primary-teal);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1em;font-weight:500;padding:10px 20px;transition:background-color .2s ease-in-out}.download-qr-button:hover{background-color:#13a8a4}.participants-container h1{border-bottom:1px solid var(--color-grey-border);margin-bottom:10px;padding-bottom:15px}.participants-container>p{color:var(--color-grey-secondary-text);font-size:1.1em;margin-bottom:30px}.participants-container>p strong{color:var(--color-primary-dark)}.table-container{background-color:var(--color-primary-white);border:1px solid var(--color-grey-border);border-radius:8px;box-shadow:0 2px 5px #0013240d;overflow-x:auto}table{border-collapse:collapse;font-size:.95em;width:100%}td,th{border-bottom:1px solid var(--color-grey-border);padding:12px 15px;text-align:left;white-space:nowrap}th{color:var(--color-primary-dark);font-weight:500}tbody tr:nth-of-type(2n),th{background-color:var(--color-grey-background)}tbody tr:hover{background-color:#e9ecef}td:nth-child(5){font-weight:500;text-align:right}td:first-child,td:nth-child(9){text-align:center}.error-message,.info-message,.loading-message{border-radius:6px;margin:20px;padding:15px;text-align:center}.loading-message{color:var(--color-grey-secondary-text)}.info-message{background-color:#e2e3e5;border:1px solid #d6d8db;color:#383d41}.info-message a{color:var(--color-primary-blue);font-weight:500;text-decoration:underline}.participants-container.info-message{margin-top:30px}.participants-container.info-message h2{margin-bottom:15px;margin-top:0}td .pending-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0;white-space:normal}td .pending-list li{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.pending-title{color:var(--color-primary-dark);font-weight:500}.pending-actions{display:inline-flex;gap:6px}.link-btn{background:none;border:1px solid var(--color-grey-border);border-radius:4px;color:var(--color-primary-teal);cursor:pointer;font-size:.85em;padding:2px 8px}.link-btn.danger{color:#c0392b}.link-btn:disabled{cursor:not-allowed;opacity:.5}.muted{color:var(--color-grey-secondary-text)}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;margin-bottom:15px;padding:10px 15px}.scan-qr-container h1{border-bottom:1px solid var(--color-grey-border);margin-bottom:10px;padding-bottom:15px}.scan-qr-container>p{color:var(--color-grey-secondary-text);font-size:1.1em;margin-bottom:30px}.scan-qr-container>p strong{color:var(--color-primary-dark)}.scanner-view{align-items:center;background-color:#f0f0f0;border:1px solid var(--color-grey-border);border-radius:8px;color:var(--color-grey-secondary-text);display:flex;justify-content:center;margin:20px auto;max-width:400px;overflow:hidden;position:relative;text-align:center;width:100%}#qr-reader-region,.scanner-view{min-height:250px}#qr-reader-region>video{height:auto!important;width:100%!important}#qr-reader-region>div{border:none!important}.scan-results-and-points{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:20px}.add-points-area,.scan-result-area{background-color:var(--color-grey-background);border:1px solid var(--color-grey-border);border-radius:8px;margin-top:0;padding:20px}.add-points-area h2,.scan-result-area h2{border-bottom:1px solid var(--color-grey-border);margin-bottom:15px;margin-top:0;padding-bottom:10px}.scan-result-area pre{background-color:var(--color-primary-white);border:1px solid var(--color-grey-border);border-radius:4px;margin-top:5px;padding:10px;white-space:pre-wrap;word-break:break-all}.scan-result-area button{background-color:var(--color-grey-secondary-text);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.95em;margin-top:15px;padding:8px 15px}.scan-result-area button:hover:not(:disabled){background-color:#5a6268}.identifier-display{color:var(--color-primary-teal);font-size:1.1em;font-weight:700;word-break:break-all}.scan-result-area p:last-of-type{margin-bottom:5px}.add-points-area .form-group{margin-bottom:15px}.add-points-area label{display:block;font-weight:500;margin-bottom:5px}.add-points-area input[type=number]{border:1px solid var(--color-grey-border);border-radius:6px;font-size:1.1em;padding:10px 12px;width:100%}.add-points-area input[type=number]:focus{border-color:var(--color-primary-teal);box-shadow:0 0 0 2px #17cac633;outline:none}.add-points-area .submit-points-button{background-color:var(--color-primary-teal);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1em;margin-top:10px;padding:10px 20px;width:100%}.add-points-area .submit-points-button:hover:not(:disabled){background-color:#13a8a4}.add-points-area .submit-points-button:disabled{background-color:var(--color-grey-secondary-text);cursor:not-allowed}.submit-message{border-radius:4px;font-weight:500;margin-top:15px;padding:10px}.submit-message.success-message{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.error-message,.submit-message.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.error-message{border-radius:6px;margin-top:15px;padding:10px 15px;text-align:center}.scan-qr-container.info-message{background-color:#e2e3e5;border:1px solid #d6d8db;border-radius:8px;color:#383d41;margin-top:30px;padding:20px;text-align:center}.scan-qr-container.info-message h2{margin-bottom:15px;margin-top:0}.scan-qr-container.info-message a{color:var(--color-primary-blue);font-weight:500;text-decoration:underline}@media (max-width:768px){.scan-results-and-points{grid-template-columns:1fr}.scanner-view{max-width:90%}}.subscription-page{max-width:900px;padding:24px}.subscription-page h1{margin-bottom:16px}.sub-status-card{background:#fafafa;border:1px solid #ddd;border-radius:8px;margin-bottom:24px;padding:16px 20px}.sub-status-active{background:#e8f5e9;border-color:#2e7d32}.sub-status-demo{background:#f3e5f5;border-color:#7b1fa2}.sub-status-readonly{background:#fff3e0;border-color:#b26a00}.sub-status-expired{background:#ffebee;border-color:#c62828}.sub-status-none{background:#e3f2fd;border-color:#1565c0}.sub-warning{color:#b26a00;font-weight:500;margin-top:8px}.addon-row{align-items:center;display:flex;gap:16px;margin-bottom:20px}.addon-row input{font-size:1rem;margin-left:8px;padding:4px 8px;width:70px}.addon-help{color:#666;font-size:.9rem}.tier-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:24px}.tier-card{background:#fff;border:1px solid #ddd;border-radius:12px;display:flex;flex-direction:column;padding:20px}.tier-card-featured{border-color:#1565c0;box-shadow:0 2px 8px #1565c026}.tier-card h2{margin:0 0 8px}.tier-price{color:#1565c0;font-size:1.3rem;font-weight:600;margin:0 0 12px}.tier-card ul{flex-grow:1;margin:0 0 16px;padding-left:20px}.tier-card li{color:#444;margin-bottom:4px}.tier-btn{background:#fff;border:1px solid #1565c0;border-radius:6px;color:#1565c0;cursor:pointer;font-weight:600;padding:10px 16px}.tier-btn:hover:not(:disabled){background:#e3f2fd}.tier-btn:disabled{cursor:not-allowed;opacity:.6}.tier-btn-primary{background:#1565c0;color:#fff}.tier-btn-primary:hover:not(:disabled){background:#0d47a1}.info-message{color:#1565c0;margin-top:12px}.error-message{color:#c62828;margin-top:12px}.sub-fineprint{color:#666;font-size:.85rem;margin-top:24px;word-break:break-all}.sub-fineprint code{background:#f0f0f0;border-radius:3px;font-size:.85rem;padding:2px 4px}.rewards-container{padding:0 0 30px}.rewards-header{align-items:flex-start;border-bottom:1px solid var(--color-grey-border);display:flex;gap:20px;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.rewards-header h2{margin:0 0 5px}.rewards-header p{color:var(--color-grey-secondary-text);margin:0}.primary-btn{background-color:var(--color-primary-teal);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95em;font-weight:600;padding:10px 18px}.primary-btn:disabled{cursor:not-allowed;opacity:.5}.danger-btn{background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95em;font-weight:500;padding:8px 15px;transition:background-color .2s ease-in-out}.danger-btn:hover:not(:disabled){background-color:#c82333}.danger-btn:disabled{cursor:not-allowed;opacity:.5}.reward-form{background-color:var(--color-grey-background);border:1px solid var(--color-grey-border);border-radius:8px;display:flex;flex-direction:column;gap:12px;margin-bottom:30px;max-width:640px;padding:20px}.reward-form h3{margin:0 0 5px}.reward-form label{color:var(--color-primary-dark);display:flex;flex-direction:column;font-size:.95em;font-weight:600;gap:4px}.reward-form input[type=number],.reward-form input[type=text],.reward-form textarea{border:1px solid var(--color-grey-border);border-radius:6px;font-family:inherit;font-size:1em;padding:8px 10px}.reward-form .checkbox-label{align-items:center;flex-direction:row;gap:8px}.reward-form .image-label input[type=file]{font-size:.9em}.form-actions{display:flex;gap:10px;margin-top:8px}.form-actions button{background-color:#fff;border:1px solid var(--color-grey-border);border-radius:6px;cursor:pointer;font-size:.95em;padding:8px 18px}.reward-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.reward-card{background-color:#fff;border:1px solid var(--color-grey-border);border-radius:10px;display:flex;flex-direction:column;overflow:hidden;transition:opacity .15s,box-shadow .15s}.reward-card.inactive{opacity:.65}.reward-card:hover{box-shadow:0 2px 10px #0000000f}.reward-card-image{align-items:center;aspect-ratio:4/3;background-color:var(--color-grey-background);display:flex;justify-content:center;overflow:hidden;width:100%}.reward-card-image img{height:100%;object-fit:cover;width:100%}.reward-image-placeholder{color:var(--color-grey-secondary-text);font-size:.9em}.reward-card-body{display:flex;flex-direction:column;flex-grow:1;gap:6px;padding:15px}.reward-card-body h3{color:var(--color-primary-dark);font-size:1.1em;margin:0}.reward-desc{color:var(--color-grey-secondary-text);font-size:.92em;line-height:1.4;margin:0}.reward-cost{color:var(--color-primary-teal);font-weight:700;margin:4px 0 0}.checkbox-label{align-items:center;cursor:pointer;display:inline-flex;font-size:.9em;gap:6px}.reward-card-actions{border-top:1px solid var(--color-grey-border);display:flex;gap:8px;justify-content:flex-end;padding:10px 15px}.reward-card-actions>button:not(.danger-btn){background-color:#fff;border:1px solid var(--color-grey-border);border-radius:6px;cursor:pointer;font-size:.9em;padding:6px 12px}.analytics-container{padding:0 0 30px}.analytics-header{align-items:flex-start;border-bottom:1px solid var(--color-grey-border);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.analytics-header h2{margin:0 0 5px}.analytics-header p{color:var(--color-grey-secondary-text);margin:0}.weeks-control{align-items:end;display:flex;gap:10px}.weeks-control label{display:flex;flex-direction:column;font-size:.9em;gap:4px}.weeks-control select{border:1px solid var(--color-grey-border);border-radius:6px;padding:6px 8px}.weeks-control button{background-color:#fff;border:1px solid var(--color-grey-border);border-radius:6px;cursor:pointer;padding:8px 14px}.stat-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:30px}.stat-card{background-color:#fff;border:1px solid var(--color-grey-border);border-radius:8px;padding:18px}.stat-label{color:var(--color-grey-secondary-text);font-size:.85em;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:var(--color-primary-dark);font-size:1.6em;font-weight:700;margin-top:6px}.stat-sub{color:var(--color-grey-secondary-text);font-size:.8em;margin-top:4px}.analytics-section{background-color:#fff;border:1px solid var(--color-grey-border);border-radius:8px;margin-bottom:25px;padding:20px}.analytics-section h3{color:var(--color-primary-dark);margin:0 0 15px}.analytics-row{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.analytics-row .analytics-section{margin-bottom:0}.bar-chart{width:100%}.bars{align-items:flex-end;border-bottom:1px solid var(--color-grey-border);display:flex;gap:6px;height:180px;padding-bottom:4px}.bar-col{align-items:stretch;display:flex;flex:1 1;flex-direction:column;min-width:24px}.bar{background-color:var(--color-primary-teal);border-radius:4px 4px 0 0;margin-top:auto;min-height:2px;position:relative;transition:height .2s ease}.bar-value{color:var(--color-primary-dark);font-size:.75em;left:0;position:absolute;right:0;text-align:center;top:-18px}.bar-label{font-size:.7em;margin-top:6px;white-space:nowrap}.bar-label,.chart-caption{color:var(--color-grey-secondary-text);text-align:center}.chart-caption{font-size:.85em;margin:8px 0 0}.method-bar{background-color:var(--color-grey-background);border-radius:6px;display:flex;height:24px;margin-bottom:12px;overflow:hidden;width:100%}.method-segment{height:100%}.method-legend{display:flex;flex-direction:column;font-size:.9em;gap:6px;list-style:none;margin:0;padding:0}.method-legend li{align-items:center;display:flex;gap:8px}.legend-swatch{border-radius:3px;display:inline-block;height:12px;width:12px}.top-rewards-table{border-collapse:collapse;width:100%}.top-rewards-table td,.top-rewards-table th{border-bottom:1px solid var(--color-grey-border);padding:8px 10px;text-align:left}.top-rewards-table th{color:var(--color-grey-secondary-text);font-size:.85em}.top-rewards-table td:last-child{font-weight:600;text-align:right}.profile-page{max-width:760px;padding:24px}.profile-page h1{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-grey-border,#e0e0e0);margin-bottom:6px;padding-bottom:14px}.profile-subtitle{color:#666;color:var(--color-grey-secondary-text,#666);font-size:1em;margin-bottom:24px}.profile-card{background-color:#fff;background-color:var(--color-primary-white,#fff);border:1px solid #e0e0e0;border:1px solid var(--color-grey-border,#e0e0e0);border-radius:8px;box-shadow:0 2px 5px #0013240a;margin-bottom:20px;padding:22px 24px}.profile-card h2{border-bottom:1px solid #eee;border-bottom:1px solid var(--color-grey-border,#eee);color:#333;color:var(--color-primary-dark,#333);font-size:1.15em;margin:0 0 16px;padding-bottom:10px}.profile-field{margin-bottom:14px}.profile-field label{color:#777;color:var(--color-grey-secondary-text,#777);display:block;font-size:.85em;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.profile-value-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.profile-address{background-color:#f5f5f5;background-color:var(--color-grey-background,#f5f5f5);border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.92em;padding:4px 8px;word-break:break-all}.profile-badge{border-radius:999px;display:inline-block;font-size:.78em;font-weight:600;letter-spacing:.03em;padding:2px 8px;text-transform:uppercase}.profile-badge-ok{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.profile-badge-warn{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}.profile-badge-info{background-color:#e3f2fd;border:1px solid #bbdefb;color:#0d47a1}.profile-muted{color:#666;color:var(--color-grey-secondary-text,#666);line-height:1.5;margin:0 0 14px}.profile-btn{border:none;border-radius:6px;cursor:pointer;font-size:.95em;font-weight:600;padding:10px 18px;transition:background-color .15s ease}.profile-btn:disabled{cursor:not-allowed;opacity:.6}.profile-btn-primary{background-color:#17cac6;background-color:var(--color-primary-teal,#17cac6);color:#fff}.profile-btn-primary:hover:not(:disabled){background-color:#13a8a4}.profile-btn-danger{background-color:#dc3545;color:#fff}.profile-btn-danger:hover:not(:disabled){background-color:#c82333}.profile-link-btn{background:none;border:1px solid #ccc;border:1px solid var(--color-grey-border,#ccc);border-radius:4px;color:#333;color:var(--color-primary-dark,#333);cursor:pointer;font-size:.85em;padding:4px 10px}.profile-link-btn:hover{background-color:#f5f5f5;background-color:var(--color-grey-background,#f5f5f5)}.profile-link{color:#17cac6;color:var(--color-primary-teal,#17cac6);font-weight:500;text-decoration:none}.profile-link:hover{text-decoration:underline}.profile-sub-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.profile-sub-pill{border-radius:999px;display:inline-block;font-size:.85em;font-weight:600;padding:4px 10px}.profile-sub-pill-active{background-color:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}.profile-sub-pill-demo{background-color:#f3e5f5;border:1px solid #ce93d8;color:#6a1b9a}.profile-sub-pill-readonly{background-color:#fff3e0;border:1px solid #ffe0b2;color:#b26a00}.profile-sub-pill-expired{background-color:#ffebee;border:1px solid #ffcdd2;color:#c62828}.profile-sub-pill-none{background-color:#e3f2fd;border:1px solid #bbdefb;color:#1565c0}.profile-sub-meta{color:#555;color:var(--color-grey-secondary-text,#555);font-size:.92em}.profile-info{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724}.profile-error,.profile-info{font-size:.92em;margin-top:12px;padding:10px 14px}.profile-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24}.help-page{line-height:1.55;max-width:860px;padding:24px}.help-page h1{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-grey-border,#e0e0e0);margin-bottom:6px;padding-bottom:14px}.help-subtitle{color:#666;color:var(--color-grey-secondary-text,#666);font-size:1em;margin-bottom:24px}.help-toc{background-color:#f5f7fa;background-color:var(--color-grey-background,#f5f7fa);border:1px solid #e0e0e0;border:1px solid var(--color-grey-border,#e0e0e0);border-radius:8px;margin-bottom:32px;padding:16px 22px}.help-toc strong{color:#666;color:var(--color-grey-secondary-text,#666);display:block;font-size:.85em;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.help-toc ol{margin:0;padding-left:22px}.help-toc li{margin:4px 0}.help-toc a{color:#17cac6;color:var(--color-primary-teal,#17cac6);text-decoration:none}.help-toc a:hover{text-decoration:underline}.help-section{margin-bottom:40px;scroll-margin-top:16px}.help-section h2{border-bottom:1px solid #eee;border-bottom:1px solid var(--color-grey-border,#eee);color:#222;color:var(--color-primary-dark,#222);font-size:1.4em;margin:0 0 16px;padding-bottom:8px}.help-section h3{font-size:1.08em;margin:22px 0 8px}.help-section h3,.help-section h4{color:#333;color:var(--color-primary-dark,#333)}.help-section h4{font-size:1em;margin:0 0 8px}.help-section p{margin:8px 0}.help-section ol,.help-section ul{margin:8px 0;padding-left:22px}.help-section li{margin:4px 0}.help-steps li{margin:8px 0}.help-compare{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr;margin:16px 0}@media (max-width:700px){.help-compare{grid-template-columns:1fr}}.help-compare-col{background-color:#fff;background-color:var(--color-primary-white,#fff);border:1px solid #e0e0e0;border:1px solid var(--color-grey-border,#e0e0e0);border-radius:8px;padding:16px 18px}.help-compare-col h3{margin-top:0}.help-when{border-top:1px dashed #e0e0e0;border-top:1px dashed var(--color-grey-border,#e0e0e0);color:#555;color:var(--color-grey-secondary-text,#555);font-size:.95em;margin-top:12px;padding-top:10px}.help-callout{background-color:#e3f2fd;border-left:4px solid #1976d2;border-radius:4px;color:#0d47a1;margin:16px 0;padding:12px 16px}.help-shot{margin:16px 0;padding:0}.help-shot img{border:1px solid #e0e0e0;border:1px solid var(--color-grey-border,#e0e0e0);border-radius:6px;display:block;height:auto;max-width:100%}.help-shot figcaption{color:#666;color:var(--color-grey-secondary-text,#666);font-size:.88em;font-style:italic;margin-top:6px}.help-tiers{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:12px 0}@media (max-width:700px){.help-tiers{grid-template-columns:1fr}}.help-tier{background-color:#fff;background-color:var(--color-primary-white,#fff);border:1px solid #e0e0e0;border:1px solid var(--color-grey-border,#e0e0e0);border-radius:8px;padding:14px 18px}.help-tier h4{color:#17cac6;color:var(--color-primary-teal,#17cac6);margin-top:0}.help-glossary{margin:12px 0}.help-glossary dt{color:#222;color:var(--color-primary-dark,#222);font-weight:600;margin-top:12px}.help-glossary dd{color:#444;color:var(--color-grey-secondary-text,#444);margin:4px 0 0;padding-left:0}.help-link{color:#17cac6;color:var(--color-primary-teal,#17cac6);font-weight:500;text-decoration:none}.help-link:hover{text-decoration:underline}.help-muted{font-size:.95em}.help-footer-muted,.help-muted{color:#666;color:var(--color-grey-secondary-text,#666)}.help-footer-muted{border-top:1px dashed #e0e0e0;border-top:1px dashed var(--color-grey-border,#e0e0e0);font-size:.92em;margin-top:32px;padding-top:14px}code{background-color:#f5f5f5;background-color:var(--color-grey-background,#f5f5f5);border-radius:3px;font-family:Courier New,Courier,monospace;font-size:.92em;padding:1px 5px}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.a6e2325b.css.map*/