*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.session-expired-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0d1b2ad9;bottom:0;display:flex;justify-content:center;left:0;opacity:0;padding:20px;position:fixed;right:0;top:0;transition:opacity .3s ease-out;z-index:99999}.session-expired-overlay.visible{opacity:1}.session-expired-modal{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:24px;box-shadow:0 25px 80px #00000059,0 10px 30px #0003,inset 0 1px 0 #fffc;max-width:440px;opacity:0;overflow:hidden;padding:48px 40px 40px;position:relative;transform:scale(.9) translateY(20px);transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease-out;width:100%}.session-expired-modal.visible{opacity:1;transform:scale(1) translateY(0)}.modal-background-decoration{bottom:0;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0}.decoration-circle{border-radius:50%;opacity:.08;position:absolute}.circle-1{background:linear-gradient(135deg,#4ecdc4,#3db8b0);height:200px;right:-60px;top:-80px;width:200px}.circle-2{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);bottom:40px;height:120px;left:-40px;width:120px}.circle-3{background:linear-gradient(135deg,#f9ca24,#f0b90b);bottom:-20px;height:80px;right:60px;width:80px}.modal-icon-container{margin-bottom:28px}.icon-ring,.modal-icon-container{align-items:center;display:flex;justify-content:center;position:relative}.icon-ring{background:linear-gradient(135deg,#ff6b6b,#ee5a5a 50%,#e04545);border-radius:50%;box-shadow:0 8px 24px #ee5a5a66,0 4px 12px #ee5a5a4d;height:88px;width:88px;z-index:2}.icon-inner{align-items:center;background:linear-gradient(180deg,#fff3,#fff0);border-radius:50%;display:flex;height:72px;justify-content:center;width:72px}.lock-icon{color:#fff;height:36px;width:36px}.pulse-ring{animation:pulse 2s ease-out infinite;border:2px solid #ee5a5a66;border-radius:50%;position:absolute}.pulse-1{animation-delay:0s;height:100px;width:100px}.pulse-2{animation-delay:.5s;height:120px;width:120px}.modal-content{position:relative;text-align:center;z-index:1}.modal-title{color:#0d1b2a;font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 16px}.modal-divider{background:linear-gradient(90deg,#4ecdc4,#3db8b0);border-radius:2px;height:4px;margin:0 auto 20px;width:60px}.modal-message{color:#4a5568;font-size:16px;line-height:1.6;margin:0 0 12px}.modal-submessage{color:#718096;font-size:14px;line-height:1.5;margin:0 0 32px}.modal-button{align-items:center;background:linear-gradient(135deg,#4ecdc4,#3db8b0);border:none;border-radius:12px;box-shadow:0 4px 16px #4ecdc466,0 2px 8px #4ecdc44d;color:#fff;cursor:pointer;display:flex;font-size:17px;font-weight:600;gap:10px;justify-content:center;overflow:hidden;padding:16px 24px;position:relative;transition:all .3s ease;width:100%}.modal-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.modal-button:hover{box-shadow:0 8px 24px #4ecdc480,0 4px 12px #4ecdc466;transform:translateY(-2px)}.modal-button:hover:before{left:100%}.modal-button:active{transform:translateY(0)}.button-text{position:relative;z-index:1}.button-arrow{height:20px;transition:transform .3s ease;width:20px}.modal-button:hover .button-arrow{transform:translateX(4px)}.security-badge{align-items:center;border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:center;margin-top:24px;padding-top:20px}.shield-icon{color:#4ecdc4;height:16px;width:16px}.security-badge span{color:#a0aec0;font-size:12px;font-weight:500;letter-spacing:.3px}@media (max-width:480px){.session-expired-modal{border-radius:20px;padding:40px 28px 32px}.modal-title{font-size:24px}.modal-message{font-size:15px}.icon-ring{height:76px;width:76px}.icon-inner{height:62px;width:62px}.lock-icon{height:30px;width:30px}}.login-container{align-items:center;background:#0d1b2a;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:450px;overflow:hidden;width:100%}.login-header{box-sizing:border-box;padding:32px 40px;text-align:center;width:100%}.login-card .login-header,.login-header,.register-card .login-header{background-color:#0d1b2a}.login-logo{display:flex;justify-content:center;margin-bottom:0}.login-logo img{height:50px;width:auto}.login-body{padding:32px 40px 40px}.login-title{color:#1a202c;font-size:24px;font-weight:700;margin-bottom:6px;text-align:center}.login-subtitle{color:#718096;font-size:14px;margin-bottom:32px;text-align:center}.login-form{display:flex;flex-direction:column;gap:20px}.form-group input{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s}.form-group input:focus{background-color:#fff;border-color:#4ecdc4;box-shadow:0 0 0 3px #4ecdc41a;outline:none}.form-group input:not(:placeholder-shown){background-color:#f0fffe;border-color:#4ecdc4}.error-message{padding:12px}.login-button{background:#4ecdc4;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:transform .2s,box-shadow .2s}.login-button:hover{box-shadow:0 6px 20px #4ecdc466;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.login-footer{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:24px;text-align:center}.login-footer p{color:#4a5568;font-size:14px;margin:8px 0}.login-footer a{color:#4ecdc4;font-weight:600;text-decoration:none}.login-footer a:hover{text-decoration:underline}.login-button.super-admin{background:#4ecdc4;color:#0d1b2a}.login-button.super-admin:hover{box-shadow:0 6px 20px #4ecdc466}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.register-card{max-width:700px}.admin-notice{background:#fef5e7;border:1px solid #f9e79f;border-radius:8px;color:#856404;font-size:13px;padding:12px}.admin-notice a{color:#4ecdc4}.places-autocomplete-container{position:relative;width:100%}.places-input{background:#fff;border:1px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.places-input:focus{border-color:#4ecdc4;box-shadow:0 0 0 3px #4ecdc41a;outline:none}.places-input:disabled{background:#f5f5f5;cursor:not-allowed}.places-input.error{border-color:#ef4444}.places-input::placeholder{color:#9ca3af}.places-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #e0e0e0;border-radius:50%;border-top-color:#4ecdc4;display:inline-block;height:16px;width:16px}.places-error{color:#ef4444;font-size:12px;margin-top:4px}.pac-container{border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 20px #00000026;font-family:inherit;margin-top:4px;z-index:10000}.pac-item{cursor:pointer;font-size:14px;padding:10px 14px;transition:background .15s ease}.pac-item-selected,.pac-item:hover{background:#e0fffe}.pac-icon{margin-right:10px}.pac-item-query{color:#1f2937;font-size:14px}.pac-matched{color:#4ecdc4;font-weight:600}.pac-logo:after{display:none}.business-details-form{max-width:100%}.business-details-form h2{color:#1a202c;font-size:24px;margin-bottom:8px}.section-header-row{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.form-description{color:#718096;margin:0}.add-location-btn{background:#0d1b2a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s;white-space:nowrap}.add-location-btn:hover{box-shadow:0 6px 20px #0d1b2a66;transform:translateY(-2px)}.locations-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.locations-table td,.locations-table th{padding:16px 24px;vertical-align:middle}.locations-table th{border-bottom:1px solid #e2e8f0;color:#64748b}.locations-table td{border-bottom:1px solid #f1f5f9;color:#334155}.locations-table tbody tr:last-child td{border-bottom:none}.location-name-cell{align-items:center;color:#1e293b;display:flex;font-weight:600;gap:12px}.form-group textarea{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:15px;padding:14px 16px;transition:all .2s ease}.form-group textarea:hover{background:#fff;border-color:#cbd5e1}.form-group textarea:focus{background:#fff;border-color:#4ecdc4;box-shadow:0 0 0 4px #4ecdc41a;outline:none}.form-group textarea::placeholder{color:#94a3b8}.location-thumb{border-radius:8px;height:40px;object-fit:cover;width:40px}.actions-cell{align-items:center}.action-btn{padding:6px 14px}.edit-btn{background:#e0e7ff;color:#4338ca}.edit-btn:hover{background:#c7d2fe}.delete-btn{background:#fee2e2;color:#dc2626}.delete-btn:hover{background:#fecaca}.delete-confirm{display:flex;gap:6px}.confirm-delete-btn{background:#dc2626;color:#fff}.confirm-delete-btn:hover{background:#b91c1c}.cancel-btn{background:#e2e8f0;color:#64748b}.cancel-btn:hover{background:#cbd5e1}.empty-locations{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:60px 24px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px}.empty-locations h3{color:#1a202c;font-size:20px;margin-bottom:8px}.empty-locations p{color:#718096;margin-bottom:24px}.add-first-btn{background:#0d1b2a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:transform .2s,box-shadow .2s}.add-first-btn:hover{box-shadow:0 6px 20px #0d1b2a66;transform:translateY(-2px)}.location-form{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;overflow:hidden;padding:0}.form-header{background:#0d1b2a;border-bottom:none;margin:0;padding:24px 32px}.form-header h3{color:#fff;font-size:22px;font-weight:600;margin:0}.form-body{padding:32px}.form-section{margin-bottom:32px}.form-section-title{align-items:center;color:#4ecdc4;display:flex;font-size:13px;font-weight:600;gap:8px;letter-spacing:.5px;margin-bottom:16px;text-transform:uppercase}.form-section-title:after{background:linear-gradient(90deg,#e2e8f0,#0000);content:"";flex:1 1;height:1px}.form-row{grid-gap:24px;gap:24px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}.form-row.three-col{grid-template-columns:repeat(3,1fr)}.form-row.two-col{grid-template-columns:repeat(2,1fr)}.form-row.single{grid-template-columns:1fr}.form-group.full-width{grid-column:1/-1;margin-bottom:16px}.field-hint{display:block;font-size:12px}.readonly-input{background:#f1f5f9!important;border:2px solid #e2e8f0!important;color:#64748b!important;cursor:not-allowed}.readonly-input::placeholder{color:#94a3b8}.form-group label{align-items:center;color:#475569;display:flex;font-size:13px;gap:4px}.form-group label .required{color:#ef4444}.form-group input,.form-group select,.form-group textarea{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;padding:14px 16px;transition:all .2s ease}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{background:#fff;border-color:#cbd5e1}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;box-shadow:0 0 0 4px #4ecdc41a}.form-group textarea{min-height:100px;resize:vertical}.file-upload-wrapper{position:relative}.form-group .file-input{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.file-input-label.small{min-height:100px;padding:16px}.file-input-label.small .file-input-icon{font-size:24px;margin-bottom:4px}.field-label{color:#475569;font-size:13px}.file-upload-area{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;padding:32px;text-align:center;transition:all .2s ease}.file-upload-area:hover{background:#f0fffe;border-color:#4ecdc4}.file-upload-icon{font-size:32px;margin-bottom:12px}.file-upload-text{color:#64748b;font-size:14px}.file-upload-text strong{color:#4ecdc4}.image-preview{border-radius:12px;box-shadow:0 2px 8px #00000014;margin-top:16px}.success-message{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#166534}.error-message,.success-message{align-items:center;border:none;border-radius:10px;display:flex;gap:8px;justify-content:center;margin-bottom:24px;padding:16px 20px}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.loading-state{box-shadow:0 2px 8px #0000000d;padding:60px 24px}.form-actions{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:16px;padding:24px 32px}.cancel-button{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;font-size:15px;font-weight:600;padding:14px 28px;transition:all .2s}.cancel-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.submit-button{border-radius:10px;box-shadow:0 4px 14px #0d1b2a4d;flex:1 1;font-size:15px;padding:14px 28px;transition:all .2s ease}.submit-button:hover{box-shadow:0 6px 20px #0d1b2a66}.locations-mini-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.location-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;justify-content:space-between;padding:16px}.location-item-info{display:flex;flex-direction:column;gap:4px}.location-address{color:#1e293b;font-weight:600}.location-coords{color:#64748b;font-size:13px}.location-item-actions{display:flex;gap:8px}.location-form-inline{border:2px dashed #cbd5e1;margin-bottom:16px}.location-form-actions{display:flex;gap:12px;margin-top:16px}.btn-secondary{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-secondary:hover{background:#f1f5f9;border-color:#cbd5e1}.btn-primary{background:#0d1b2a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-primary:hover{box-shadow:0 4px 12px #0d1b2a4d;transform:translateY(-1px)}.add-location-inline-btn{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;color:#4ecdc4;cursor:pointer;font-size:14px;font-weight:600;padding:16px;transition:all .2s;width:100%}.add-location-inline-btn:hover{background:#f0fffe;border-color:#4ecdc4}.setup-container{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;overflow:hidden}.setup-welcome{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;padding:48px 32px 32px;text-align:center}.setup-icon{font-size:48px;margin-bottom:16px}.setup-welcome h2{color:#1e293b;font-size:24px;margin:0 0 8px}.setup-welcome p{color:#64748b;margin:0}.business-setup-form{padding:32px}.business-profile-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;margin-bottom:24px;padding:24px}.profile-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.profile-info{align-items:center;display:flex;gap:20px}.profile-logo{border:2px solid #e2e8f0;border-radius:12px;height:80px;object-fit:cover;width:80px}.profile-details h2{color:#1e293b;font-size:24px;margin:0 0 8px}.profile-details p{color:#64748b;font-size:14px;margin:0}.edit-profile-btn{background:#fff;border:2px solid #0d1b2a;border-radius:8px;color:#0d1b2a;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s;white-space:nowrap}.edit-profile-btn:hover{background:#0d1b2a;color:#fff}.metadata-section{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;margin-bottom:24px;padding:24px}.section-header{margin-bottom:20px;padding-bottom:16px}.section-header h3{color:#1e293b;font-size:18px;margin:0}.unsaved-badge{background:#fef3c7;border-radius:12px;color:#92400e;font-size:12px;font-weight:500;padding:4px 12px}.metadata-form .form-row{margin-bottom:20px}.metadata-form textarea{min-height:60px;resize:vertical}.image-preview.small{max-width:120px}.image-preview.small img{max-height:80px}.form-actions.inline{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:16px;padding-top:16px}.save-button{background:#0d1b2a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.save-button:hover:not(:disabled){box-shadow:0 4px 12px #0d1b2a4d;transform:translateY(-1px)}.save-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.locations-section{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;padding:24px}.add-button{padding:10px 20px}.add-button:hover:not(:disabled){box-shadow:0 4px 12px #0d1b2a4d;transform:translateY(-2px)}.add-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.location-form-inline{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:20px}.location-form-inline .form-row{margin-bottom:16px}.empty-state{background:#f8fafc;border:2px dashed #e2e8f0;padding:40px 24px}.empty-state p{color:#64748b;margin:0 0 16px}.add-first-button{background:#0d1b2a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.add-first-button:hover{box-shadow:0 4px 12px #0d1b2a4d;transform:translateY(-2px)}.locations-table{border-collapse:collapse;width:100%}.locations-table td,.locations-table th{border-bottom:1px solid #e2e8f0;padding:12px 16px;text-align:left}.locations-table th{background:#f8fafc;color:#475569;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.locations-table td{color:#1e293b;font-size:14px}.locations-table tbody tr:hover{background:#f8fafc}.locations-table .actions-cell{display:flex;gap:8px}.action-btn.edit-btn:hover:not(:disabled){background:#4ecdc4;color:#0d1b2a}.action-btn.delete-btn:hover:not(:disabled){background:#dc2626;color:#fff}.empty-locations-inline{background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;padding:40px 24px;text-align:center}.empty-locations-inline p{color:#64748b;margin:0 0 16px}.add-first-location-btn{background:#0d1b2a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.add-first-location-btn:hover{box-shadow:0 4px 12px #0d1b2a4d;transform:translateY(-2px)}.locations-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.location-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .2s}.location-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.location-card-content{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.location-icon{flex-shrink:0;font-size:24px}.location-info{flex:1 1}.location-info .location-address{color:#1e293b;font-size:14px;font-weight:600;margin:0 0 4px}.location-info .location-coords{color:#94a3b8;font-size:12px;margin:0}.location-card-actions{border-top:1px solid #e2e8f0;display:flex;gap:8px;padding-top:12px}@media (max-width:768px){.section-header-row{flex-direction:column;gap:16px}.add-location-btn{width:100%}.location-form{border-radius:12px}.form-header{padding:20px 24px}.form-body{padding:24px}.form-row{gap:20px}.form-row,.form-row.three-col{grid-template-columns:1fr}.locations-table td:nth-child(3),.locations-table td:nth-child(4),.locations-table th:nth-child(3),.locations-table th:nth-child(4){display:none}.actions-cell{flex-direction:column;gap:4px}.form-actions{flex-direction:column;padding:20px 24px}.cancel-button{order:1}.location-item{align-items:flex-start;flex-direction:column;gap:12px}.location-item-actions{width:100%}}.offerings-manager{max-width:1400px}.form-with-preview{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:1fr 320px}@media (max-width:1100px){.form-with-preview{grid-template-columns:1fr}.mobile-preview-container{order:-1}}.mobile-preview-container{position:-webkit-sticky;position:sticky;top:20px}.mobile-preview-header{align-items:center;display:flex;gap:8px;margin-bottom:16px;padding-left:8px}.mobile-preview-header .preview-icon{font-size:20px}.mobile-preview-header .preview-title{color:#475569;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.mobile-frame{border-radius:40px;box-shadow:0 25px 50px -12px #00000040,inset 0 0 0 3px #2d2d44;padding:12px}.mobile-frame,.mobile-notch{background:#1a1a2e;position:relative}.mobile-notch{border-radius:0 0 20px 20px;height:28px;margin:0 auto;width:120px;z-index:10}.mobile-screen{background:#f8fafc;border-radius:28px;margin-top:-14px;min-height:500px;overflow:hidden;padding:16px}.preview-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;overflow:hidden}.preview-card-image{align-items:center;background:linear-gradient(135deg,#4ecdc4,#44a08d);display:flex;height:120px;justify-content:center;position:relative}.preview-card-image img{height:100%;object-fit:cover;width:100%}.preview-image-placeholder{font-size:40px}.preview-active-badge{align-items:center;background:#fffffff2;border-radius:20px;color:#059669;display:flex;font-size:11px;font-weight:600;gap:4px;left:10px;padding:4px 10px;position:absolute;top:10px}.preview-dot{background:#10b981;border-radius:50%;height:6px;width:6px}.preview-card-content{padding:14px}.preview-offer-name{color:#1e293b;font-size:16px;font-weight:600;line-height:1.3;margin:0 0 6px}.preview-offer-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:12px;line-height:1.4;margin:0 0 10px;overflow:hidden}.preview-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.preview-type-badge{background:#e0fffe;color:#0d1b2a}.preview-amount-badge,.preview-type-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 10px}.preview-amount-badge{background:#dcfce7;color:#166534}.preview-expiry{align-items:center;background:#fef3c7;border-radius:8px;color:#f59e0b;display:flex;font-size:11px;gap:4px;margin-bottom:12px;padding:6px 10px}.preview-redeem-btn{background:#4ecdc4;border:none;border-radius:10px;color:#0d1b2a;cursor:default;font-size:13px;font-weight:600;padding:12px;width:100%}.preview-code-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-top:16px;padding:16px;text-align:center}.preview-code-label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.preview-code-box{background:#f1f5f9;border:2px dashed #cbd5e1;border-radius:8px;color:#0d1b2a;font-family:Monaco,Consolas,monospace;font-size:18px;font-weight:700;letter-spacing:2px;padding:14px 20px}.preview-code-hint{color:#94a3b8;font-size:10px;margin-top:8px}.offerings-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.offerings-header h2{color:#1a202c;font-size:24px;margin-bottom:8px}.add-offering-button{background:#0d1b2a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.add-offering-button:hover{box-shadow:0 6px 20px #0d1b2a66;transform:translateY(-2px)}.offering-form{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;margin-bottom:32px;overflow:hidden;padding:0}.offering-form .form-header{background:#0d1b2a;border-bottom:none;margin:0;padding:24px 32px}.offering-form .form-header h3{color:#fff;font-size:22px;font-weight:600;margin:0}.offering-form .form-body{padding:32px}.offering-form .form-section{margin-bottom:32px}.offering-form .form-section:last-child{margin-bottom:0}.offering-form .form-section-title{align-items:center;color:#4ecdc4;display:flex;font-size:13px;font-weight:600;gap:8px;letter-spacing:.5px;margin-bottom:16px;text-transform:uppercase}.offering-form .form-section-title:after{background:linear-gradient(90deg,#e2e8f0,#0000);content:"";flex:1 1;height:1px}.offering-form .form-row{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.offering-form .form-group{display:flex;flex-direction:column;gap:8px}.offering-form .form-group label{color:#475569;font-size:13px;font-weight:600}.offering-form .form-group input,.offering-form .form-group select,.offering-form .form-group textarea{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:15px;padding:14px 16px;transition:all .2s ease}.offering-form .form-group input::placeholder,.offering-form .form-group textarea::placeholder{color:#94a3b8}.offering-form .form-group input:hover,.offering-form .form-group select:hover,.offering-form .form-group textarea:hover{background:#fff;border-color:#cbd5e1}.offering-form .form-group input:focus,.offering-form .form-group select:focus,.offering-form .form-group textarea:focus{background:#fff;border-color:#4ecdc4;box-shadow:0 0 0 4px #4ecdc41a;outline:none}.offering-form .form-group textarea{min-height:120px;resize:vertical}.offering-form .file-input{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.offering-form .file-input-label{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:140px;padding:24px 20px;text-align:center;transition:all .2s ease}.offering-form .file-input-label:hover{background:#f0fffe;border-color:#4ecdc4}.offering-form .file-input-label.has-file{background:#f0fffe;border-color:#4ecdc4;border-style:solid;padding:12px;position:relative}.offering-form .file-input-icon{font-size:32px;margin-bottom:8px}.offering-form .file-input-text{color:#64748b;font-size:14px;margin-bottom:4px}.offering-form .file-input-text strong{color:#0d1b2a;font-weight:600}.offering-form .file-input-hint{color:#94a3b8;font-size:12px}.offering-form .file-input-label:hover .file-input-text strong{color:#4ecdc4}.offering-form .file-preview-img{border-radius:8px;max-height:120px;max-width:100%;object-fit:contain}.offering-form .file-input-label.has-file:hover:after{background:#0d1b2acc;border-radius:4px;bottom:8px;color:#fff;content:"Click to change";font-size:11px;left:50%;padding:4px 12px;position:absolute;transform:translateX(-50%);white-space:nowrap}.offering-form .field-label{color:#475569;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.offering-form .image-preview{border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-top:16px;max-width:200px;overflow:hidden}.offering-form .image-preview img{display:block;height:auto;width:100%}.offering-form .form-actions{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:16px;padding:24px 32px}.offering-form .cancel-button{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;font-size:15px;font-weight:600;padding:14px 28px;transition:all .2s}.offering-form .cancel-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.offering-form .submit-button{background:#0d1b2a;border:none;border-radius:10px;box-shadow:0 4px 14px #0d1b2a4d;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:14px 28px;transition:all .2s ease}.offering-form .submit-button:hover{box-shadow:0 6px 20px #0d1b2a66;transform:translateY(-2px)}.offerings-list{margin-top:8px}.offerings-list h3{color:#2d3748;font-size:20px;margin-bottom:20px}.empty-state{box-shadow:0 2px 8px #0000000d}.offerings-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.offering-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:all .2s}.offering-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-2px)}.offering-image{background:#f7fafc;height:200px;overflow:hidden;width:100%}.offering-image img{height:100%;object-fit:cover;width:100%}.offering-content{padding:20px}.offering-header-section{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.offering-card h4{color:#1a202c;flex:1 1;font-size:18px;margin:0}.offering-type-badge{background:#4ecdc4;font-weight:600;padding:4px 12px;white-space:nowrap}.offering-description{color:#718096;font-size:14px;line-height:1.5;margin-bottom:16px}.offering-footer{align-items:center;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;padding-top:16px}.offering-date{color:#a0aec0;font-size:12px}.delete-button{background:#fff;border:1px solid #f56565;border-radius:6px;color:#f56565;cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:all .2s}.delete-button:hover{background:#f56565;color:#fff}.offerings-table{background:#fff;border-collapse:collapse;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden;width:100%}.offerings-table td,.offerings-table th{border-bottom:1px solid #e2e8f0;padding:16px 20px;text-align:left}.offerings-table th{background:#f8fafc;color:#475569;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.offerings-table td{color:#1e293b;font-size:14px;vertical-align:middle}.offerings-table tbody tr:hover{background:#f8fafc}.offerings-table tbody tr:last-child td{border-bottom:none}.name-cell>div{display:flex;flex-direction:column;gap:2px}.offering-name{color:#1e293b;font-weight:500}.offering-desc{color:#64748b;font-size:12px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offering-thumbnail{border-radius:8px;height:40px;object-fit:cover;width:40px}.description-cell{color:#64748b;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offering-type-badge{background:#e0fffe;border-radius:12px;color:#0d1b2a;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.actions-cell{display:flex;gap:8px}.action-btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.action-btn.edit-btn{background:#e0fffe;color:#0d1b2a}.action-btn.edit-btn:hover{background:#4ecdc4;color:#0d1b2a}.action-btn.delete-btn{background:#fef2f2;color:#dc2626}.action-btn.confirm-btn,.action-btn.delete-btn:hover{background:#dc2626;color:#fff}.action-btn.cancel-btn{background:#e2e8f0;color:#475569}.action-btn:disabled{cursor:not-allowed;opacity:.5}.location-multi-select{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.select-all-row{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:12px 16px}.selected-count{color:#64748b;font-size:13px}.location-checkboxes{max-height:200px;overflow-y:auto}.checkbox-label{align-items:center;color:#1e293b;cursor:pointer;display:flex;font-size:14px;gap:10px}.checkbox-label input[type=checkbox]{accent-color:#4ecdc4;cursor:pointer;height:18px;width:18px}.location-option{border-bottom:1px solid #f1f5f9;padding:12px 16px;transition:background .15s}.location-option:last-child{border-bottom:none}.location-option:hover{background:#f8fafc}.location-address{flex:1 1}.no-locations-message{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;color:#64748b;padding:20px;text-align:center}.locations-cell{max-width:250px}.location-tags{display:flex;flex-direction:column;gap:6px}.location-tag{background:#f0fdf4;border-radius:6px;color:#166534;font-size:12px;padding:4px 10px;white-space:nowrap}.all-locations-badge,.location-tag{align-items:center;display:inline-flex}.all-locations-badge{background:#e0fffe;border-radius:8px;color:#0d1b2a;font-size:13px;font-weight:500;padding:6px 12px}.more-locations{color:#64748b;font-size:12px;font-style:italic}.no-locations{color:#94a3b8;font-size:13px;font-style:italic}.loading-state{color:#64748b}.success-message{background:#ecfdf5;color:#059669}.error-message,.success-message{font-weight:500;margin-bottom:20px;padding:12px 20px}.error-message{background:#fef2f2;color:#dc2626}.upload-indicator{animation:pulse 1.5s ease-in-out infinite;background:#e0fffe;border-radius:4px;color:#4ecdc4;font-size:11px;font-weight:500;margin-left:8px;padding:2px 8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.file-input-label.uploading{background:linear-gradient(135deg,#e0fffe,#f0fffe);border-color:#4ecdc4;pointer-events:none}.upload-spinner{align-items:center;color:#4ecdc4;display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:8px;justify-content:center}.spinner-icon{animation:spin 1s linear infinite;font-size:28px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.distance-input-wrapper{display:flex;flex-direction:column;gap:8px}.distance-input-wrapper input[type=number]{margin-top:0}.global-toggle{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:inline-flex;gap:8px;padding:8px 14px;transition:all .2s}.global-toggle:hover{background:#fff;border-color:#cbd5e1}.global-toggle input[type=checkbox]{accent-color:#4ecdc4;cursor:pointer;height:16px;width:16px}.global-toggle .toggle-text{color:#475569;font-size:13px;font-weight:500}.global-toggle input[type=checkbox]:checked+.toggle-text{color:#0d1b2a}.global-distance-badge{align-items:center;background:linear-gradient(135deg,#e0fffe,#d5f5f4);border:2px solid #4ecdc4;border-radius:10px;color:#0d1b2a;display:flex;font-size:14px;font-weight:500;justify-content:center;padding:14px 16px}.ecom-toggle-wrapper{align-items:center;display:flex;gap:16px;padding:12px 0}.toggle-switch{display:inline-block;flex-shrink:0;height:28px;position:relative;width:52px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#e2e8f0;border-radius:28px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;box-shadow:0 2px 4px #0000001a;content:"";height:22px;left:3px;position:absolute;transition:.3s;width:22px}.toggle-switch input:checked+.toggle-slider{background-color:#4ecdc4}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.toggle-description{color:#475569;font-size:14px}.toggle-label{align-items:center;cursor:pointer;display:flex}.field-hint{margin-top:4px}.field-hint,.label-hint{color:#94a3b8;font-size:11px}.label-hint{display:block;font-weight:400;margin-top:2px}.promo-code-input{font-family:Monaco,Consolas,monospace!important;letter-spacing:1px;text-transform:uppercase}@media (max-width:768px){.offerings-header{flex-direction:column}.add-offering-button{width:100%}.offering-form .form-header{padding:20px 24px}.offering-form .form-body{padding:24px}.offering-form .form-row{gap:20px;grid-template-columns:1fr}.offering-form .form-actions{flex-direction:column;padding:20px 24px}.offering-form .cancel-button{order:1}.offerings-grid{grid-template-columns:1fr}.offerings-table{display:block;overflow-x:auto}.description-cell{max-width:150px}}.redemptions-view{max-width:1200px}.redemptions-view h2{color:#1a202c;font-size:24px;margin-bottom:8px}.redemptions-controls{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}.search-box{flex:1 1;min-width:250px}.search-box input{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.search-box input:focus{border-color:#4ecdc4;box-shadow:0 0 0 3px #4ecdc41a;outline:none}.filter-box select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;min-width:200px;padding:12px 16px}.filter-box select:focus{border-color:#4ecdc4;box-shadow:0 0 0 3px #4ecdc41a;outline:none}.redemptions-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;text-align:center}.stat-value{color:#4ecdc4;font-size:36px;font-weight:700;margin-bottom:8px}.stat-label{color:#718096;font-size:14px;font-weight:500}.redemptions-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.redemptions-table{border-collapse:collapse;width:100%}.redemptions-table thead{background:#f7fafc}.redemptions-table th{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.redemptions-table td{border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:14px;padding:16px}.redemptions-table tbody tr:hover{background:#f7fafc}.redemptions-table tbody tr:last-child td{border-bottom:none}.user-cell{display:flex}.user-avatar{display:flex;font-size:16px;height:40px;width:40px}.offering-tag{background:#e0fffe;border-radius:6px;color:#0d1b2a;display:inline-block;font-size:13px;font-weight:600;padding:6px 12px}.date-cell{display:flex;flex-direction:column;gap:4px}.time-text{color:#a0aec0;font-size:12px}.empty-state,.loading-state{background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#718096;padding:60px 20px;text-align:center}.error-state{background:#fff5f5;border:1px solid #feb2b2;border-radius:12px;color:#c53030;margin-bottom:20px;padding:40px 20px;text-align:center}.retry-button{background:#4ecdc4;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:16px;padding:10px 20px;transition:all .2s}.retry-button:hover{background:#45b7aa}.record-count{background:#e0fffe;color:#4ecdc4;font-size:14px;font-weight:600;padding:6px 12px}.pagination{align-items:center;border-radius:12px;display:flex;gap:8px;justify-content:center;margin-top:24px;padding:16px}.pagination,.pagination-button{background:#fff;border:1px solid #e2e8f0}.pagination-button{border-radius:8px;color:#2d3748;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.pagination-button:hover:not(:disabled){background:#f7fafc;border-color:#4ecdc4;color:#4ecdc4}.pagination-button:disabled{cursor:not-allowed;opacity:.5}.pagination-numbers{align-items:center;display:flex;gap:4px}.pagination-number{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#2d3748;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:40px;justify-content:center;min-width:40px;transition:all .2s}.pagination-number:hover{background:#f7fafc;border-color:#4ecdc4}.pagination-number.active{background:#4ecdc4;border-color:#4ecdc4;color:#fff}.pagination-ellipsis{color:#a0aec0;font-weight:500;padding:0 8px}.pagination-info{color:#718096;font-size:13px;margin-top:12px;text-align:center}@media (max-width:768px){.redemptions-controls{flex-direction:column}.filter-box select{width:100%}.redemptions-table-container{overflow-x:auto}.redemptions-table{min-width:600px}.pagination{flex-wrap:wrap}.pagination-numbers{justify-content:center;margin-bottom:12px;order:-1;width:100%}}.dashboard-container{background-color:#f7fafc;min-height:100vh}.dashboard-header{box-shadow:0 2px 10px #0003;color:#fff;padding:20px 0}.dashboard-header,.dashboard-header.super-admin{background:#0d1b2a}.header-content{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}.header-brand,.header-content{align-items:center;display:flex}.header-brand{gap:16px}.header-logo{height:40px;width:auto}.header-content h1{font-size:24px;font-weight:700;margin:0}.header-actions{align-items:center;display:flex;gap:20px}.user-info{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.user-email{font-size:14px;font-weight:500}.user-role{background-color:#fff3;border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px}.user-role.super{background-color:#ffffff4d}.logout-button{background-color:#fff;border:none;border-radius:8px;color:#0d1b2a;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.logout-button:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.logout-button:active{transform:translateY(0)}.dashboard-nav{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.nav-content{display:flex;gap:8px;margin:0 auto;max-width:1200px;overflow-x:auto;padding:0 24px}.nav-tab{background:none;border:none;border-bottom:3px solid #0000;color:#718096;cursor:pointer;font-size:14px;font-weight:600;padding:16px 24px;transition:all .2s;white-space:nowrap}.nav-tab:hover{background:#f7fafc;color:#2d3748}.nav-tab.active{border-bottom-color:#4ecdc4;color:#4ecdc4}.dashboard-main{margin:0 auto;max-width:1200px;padding:40px 24px}.dashboard-content{display:flex;flex-direction:column;gap:32px}.info-card{align-items:center;background:#fff;border-left:4px solid #0d1b2a;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;gap:16px;margin-bottom:24px;padding:20px 24px}.info-card .record-count,.info-card-btn{flex-shrink:0;margin-left:auto}.info-card-btn{background:#0d1b2a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s;white-space:nowrap}.info-card-btn:hover{box-shadow:0 4px 12px #0d1b2a66;transform:translateY(-2px)}.info-card-icon{flex-shrink:0;font-size:32px}.info-card-content h3{color:#1a202c;font-size:16px;font-weight:600;margin:0 0 4px}.info-card-content p{color:#64748b;font-size:14px;line-height:1.5;margin:0}.section-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.welcome-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:40px 20px;text-align:center}.welcome-section h2{color:#1a202c;font-size:32px;font-weight:700;margin-bottom:8px}.welcome-section p{color:#718096;font-size:16px}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.dashboard-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;cursor:pointer;padding:24px;transition:all .2s}.dashboard-card.clickable{cursor:pointer}.dashboard-card.clickable:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-4px)}.card-icon{align-items:center;border-radius:12px;display:flex;font-size:24px;height:48px;justify-content:center;margin-bottom:16px;width:48px}.dashboard-card h3{color:#1a202c;font-size:18px;font-weight:600;margin-bottom:8px}.dashboard-card p{color:#718096;font-size:14px;line-height:1.5}.data-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.section-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.section-header h2{color:#1a202c;font-size:18px;font-weight:600;margin:0}.record-count{background:#e2e8f0;border-radius:20px;color:#64748b;font-size:13px;font-weight:500;padding:4px 12px}.data-table td,.data-table th{padding:16px 24px;text-align:left;vertical-align:middle}.data-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:12px}.data-table td{border-bottom:1px solid #f1f5f9;color:#334155;height:68px;vertical-align:middle}.data-table tbody tr:hover{background:#f8fafc}.id-cell{color:#94a3b8;font-size:13px;font-weight:500}.name-cell{color:#1e293b;font-weight:600;white-space:nowrap}.user-cell{gap:12px}.user-avatar,.user-cell{align-items:center;display:inline-flex;height:36px}.user-avatar{background:#0d1b2a;border-radius:50%;color:#fff;flex-shrink:0;font-size:14px;font-weight:600;justify-content:center;min-width:36px;width:36px}.status-badge{border-radius:20px;padding:4px 10px}.status-badge.active{background:#dcfce7;color:#16a34a}.status-badge.pending{background:#fef3c7;color:#d97706}.status-badge.inactive{background:#fee2e2;color:#dc2626}.role-badge{background:#e0e7ff;border-radius:20px;color:#4338ca;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.empty-state,.loading-state{color:#64748b;font-size:14px;padding:48px 24px;text-align:center}.loading-state{align-items:center;display:flex;gap:8px;justify-content:center}@media (max-width:768px){.header-content{flex-direction:column;gap:16px}.header-actions{justify-content:space-between;width:100%}.dashboard-grid{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column;gap:12px}.data-table td,.data-table th{padding:12px 16px}}.admin-view{max-width:1400px}.view-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.admin-view h2{color:#1a202c;font-size:24px;margin-bottom:8px}.view-description{color:#718096;margin-bottom:0}.add-button{background:#0d1b2a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s;white-space:nowrap}.add-button:hover{box-shadow:0 6px 20px #0d1b2a66;transform:translateY(-2px)}.add-button:active{transform:translateY(0)}.add-form-container{background:#fff;border:2px solid #e2e8f0;border-radius:12px;margin-bottom:32px;padding:24px}.add-form-container h3{color:#2d3748;font-size:18px;margin-bottom:20px}.add-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#2d3748;font-size:14px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px 16px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4ecdc4;box-shadow:0 0 0 3px #4ecdc41a;outline:none}.category-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2364748b' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;cursor:pointer;padding-right:40px;width:100%}.category-select option{padding:12px}.file-input{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.file-input-label{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:120px;padding:24px 20px;text-align:center;transition:all .2s ease}.file-input-label.has-file,.file-input-label:hover{background:#f0fffe;border-color:#4ecdc4}.file-input-label.has-file{border-style:solid;padding:12px;position:relative}.file-input-icon{font-size:32px;margin-bottom:8px}.file-input-text{color:#64748b;font-size:14px;margin-bottom:4px}.file-input-text strong{color:#0d1b2a;font-weight:600}.file-input-hint{color:#94a3b8;font-size:12px}.file-input-label:hover .file-input-text strong{color:#4ecdc4}.file-preview-img{border-radius:8px;max-height:100px;max-width:100%;object-fit:contain}.file-input-label.has-file:hover:after{background:#0d1b2acc;border-radius:4px;bottom:8px;color:#fff;content:"Click to change";font-size:11px;left:50%;padding:4px 12px;position:absolute;transform:translateX(-50%);white-space:nowrap}.field-label{color:#2d3748;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.image-preview{border:2px solid #e2e8f0;border-radius:8px;margin-top:12px;max-width:200px;overflow:hidden}.image-preview img{display:block;height:auto;width:100%}.success-message{background-color:#c6f6d5;border:1px solid #9ae6b4;border-radius:8px;color:#22543d;font-size:14px;padding:12px 16px;text-align:center}.submit-button{background:#0d1b2a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:transform .2s,box-shadow .2s;width:100%}.submit-button:hover{box-shadow:0 6px 20px #9f7aea66;transform:translateY(-2px)}.submit-button:active{transform:translateY(0)}.view-controls{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.stats-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.stats-row.small{gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px}.table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}.data-table{border-collapse:collapse;min-width:900px;width:100%}.data-table thead{background:#f7fafc}.data-table th{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:14px;padding:16px}.data-table tbody tr:hover{background:#f7fafc}.data-table tbody tr:last-child td{border-bottom:none}.name-cell{gap:12px}.avatar,.name-cell{align-items:center;display:flex}.avatar{background:#0d1b2a;border-radius:50%;color:#fff;flex-shrink:0;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.avatar.small{font-size:14px;height:32px;width:32px}.user-info-cell{align-items:center;display:flex;gap:12px}.user-info-cell .sub-text{color:#a0aec0;font-size:12px;margin-top:2px}.date-cell .sub-text{color:#a0aec0;font-size:12px;margin-top:4px}.status-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px;text-transform:capitalize}.status-badge.active{background:#c6f6d5;color:#22543d}.status-badge.inactive{background:#fed7d7;color:#742a2a}.type-badge{background:#e0fffe;border-radius:6px;color:#0d1b2a;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px}.type-badge.small{font-size:11px;padding:4px 8px}.type-badge.mobile_user{background:#e0fffe;color:#0d1b2a}.type-badge.business_admin{background:#fef5e7;color:#d68910}.action-button{background:#fff;border:1px solid;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:all .2s}.action-button.deactivate{border-color:#f56565;color:#f56565}.action-button.deactivate:hover{background:#f56565;color:#fff}.action-button.activate{border-color:#48bb78;color:#48bb78}.action-button.activate:hover{background:#48bb78;color:#fff}.text-center{text-align:center}.two-column-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:350px 1fr;height:calc(100vh - 400px);min-height:500px}.redemptions-panel,.users-list-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.panel-header{background:#f7fafc;border-bottom:1px solid #e2e8f0;padding:20px}.panel-header h3{color:#2d3748;font-size:18px;margin-bottom:12px}.search-box.small{margin-bottom:0}.search-box.small input{font-size:13px;padding:10px 12px}.users-list{flex:1 1;overflow-y:auto}.user-item{align-items:center;border-bottom:1px solid #e2e8f0;cursor:pointer;display:flex;gap:12px;padding:16px 20px;transition:all .2s}.user-item:hover{background:#f7fafc}.user-item.selected{background:#e0fffe;border-left:4px solid #4ecdc4}.user-item-info{flex:1 1;min-width:0}.user-name{color:#2d3748;font-size:14px;font-weight:600;margin-bottom:2px}.user-email{color:#a0aec0;font-size:12px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-stats{color:#4ecdc4;font-size:11px;font-weight:600}.selected-user-info{align-items:center;display:flex;gap:16px}.selected-user-info h3{color:#2d3748;font-size:18px;margin:0}.selected-user-info p{color:#718096;font-size:14px;margin:4px 0 0}.redemptions-list{flex:1 1;overflow-y:auto;padding:20px}.redemption-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:16px}.redemption-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.redemption-header h4{color:#2d3748;font-size:16px;margin:0 0 8px}.redemption-body p{color:#4a5568;font-size:14px;margin:8px 0}.business-name,.redemption-date{margin:6px 0}.empty-state.small{padding:40px 20px}.settings-container{max-width:800px}.settings-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:24px}.settings-section h3{color:#2d3748;font-size:18px;margin-bottom:16px}.info-card{background:#f7fafc;border-radius:8px;padding:20px}.info-row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:12px 0}.info-row:last-child{border-bottom:none}.info-label{color:#2d3748;font-weight:600}.info-value{color:#4a5568}.settings-form{display:flex;flex-direction:column;gap:20px}.notice-card{background:#fef5e7;border:1px solid #f9e79f;border-radius:8px;padding:20px}.notice-card p{color:#2d3748;margin-bottom:12px}.notice-card ul{color:#4a5568;margin:0;padding-left:24px}.notice-card li{margin:6px 0}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;padding:12px 16px;text-align:center}@media (max-width:1024px){.two-column-layout{grid-template-columns:1fr;height:auto}.users-list-panel{height:400px}.redemptions-panel{height:auto;min-height:400px}}@media (max-width:768px){.view-controls{flex-direction:column}.filter-box select{width:100%}.data-table{font-size:12px}.data-table td,.data-table th{padding:12px 8px}}
/*# sourceMappingURL=main.d8bdbfa0.css.map*/