*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7fafc;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}#root,.App{min-height:100vh}.App{background:#f7fafc;display:flex;flex-direction:column}.navbar{background:linear-gradient(135deg,#1a202c,#2d3748);box-shadow:0 4px 20px #0000001a;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.navbar-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 1.5rem}.navbar-header{padding:1rem 0}.navbar-header h1{color:#fff;font-size:1.25rem;font-weight:700;letter-spacing:-.5px;margin:0;white-space:nowrap}.nav-links{display:flex;gap:.5rem;list-style:none;margin:0;padding:0}.nav-links li{margin:0}.nav-links a{align-items:center;border-radius:8px;color:#ffffffb3;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s ease}.nav-links a:hover{background:#ffffff1a;color:#fff}.nav-links a.active{background:#ffffff26;color:#fff;position:relative}.nav-links a.active:after{background:#667eea;border-radius:3px 3px 0 0;bottom:0;content:"";height:3px;left:1rem;position:absolute;right:1rem}.nav-icon{font-size:1.125rem}.content{box-sizing:border-box;flex:1 0 auto;margin:0 auto;max-width:1400px;min-height:0;padding:2rem;width:100%}@media (max-width:768px){.navbar-container{flex-direction:column;padding:.5rem 1rem}.navbar-header{padding:.5rem 0}.nav-links{flex-wrap:wrap;justify-content:center;padding-bottom:.5rem;width:100%}.nav-links a{font-size:.85rem;padding:.5rem .75rem}.content{padding:1rem}}.users-page{margin:0 auto;max-width:1400px;padding:2rem 2rem 1.5rem}.btn{font-size:.95rem;padding:.75rem 1.5rem;transition:all .2s ease}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover{background:#cbd5e0}.users-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:none;margin-bottom:2rem;padding:2rem}.summary-title{border-bottom:1px solid #e2e8f0;color:#0f172a;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:1.5rem}.summary-stats-row{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(3,1fr)}.summary-stat-item{display:flex;flex-direction:column;gap:.75rem}.stat-label{color:#64748b;font-size:.9375rem;font-weight:400}.summary-stat-item .stat-value{color:#0f172a;font-size:2rem;font-weight:700;line-height:1}.loading-spinner{color:#718096;min-height:300px}.empty-state{box-shadow:0 2px 10px #0000000d}.empty-state h3{color:#2d3748}.empty-state p{color:#718096}.users-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-width:100%;overflow:hidden;padding-bottom:0;width:100%}.users-controls{align-items:center;display:flex;justify-content:flex-end;padding:1rem 1.5rem}.search-box input{width:300px}.users-table-wrapper{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto;padding:12px 1.5rem 1.25rem}.users-table-wrapper::-webkit-scrollbar{height:8px}.users-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.users-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.users-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.users-grid-header{grid-gap:.75rem;align-items:center;background:#f8fafc;border-radius:12px;box-sizing:border-box;color:#475569;display:grid;font-size:.875rem;font-weight:600;gap:.75rem;grid-template-columns:124px 160px minmax(240px,1fr) 96px 84px 104px minmax(108px,-webkit-max-content);grid-template-columns:124px 160px minmax(240px,1fr) 96px 84px 104px minmax(108px,max-content);margin-bottom:.5rem;max-width:100%;min-width:0;padding:1rem 1.5rem;width:100%}.users-grid-body{display:flex;flex-direction:column;gap:1rem;margin-bottom:0;padding-bottom:0}.users-grid-row{grid-gap:.75rem;align-items:start;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0000000a;box-sizing:border-box;display:grid;gap:.75rem;grid-template-columns:124px 160px minmax(240px,1fr) 96px 84px 104px minmax(108px,-webkit-max-content);grid-template-columns:124px 160px minmax(240px,1fr) 96px 84px 104px minmax(108px,max-content);max-width:100%;min-width:0;padding:1.25rem 1.5rem;width:100%}.users-grid-row:last-child{margin-bottom:0}.users-table-wrapper .users-grid-header>div,.users-table-wrapper .users-grid-row>div{min-width:0;overflow-wrap:break-word;word-break:break-word}.users-table-wrapper .td-userid,.users-table-wrapper .th-userid{margin-right:.75rem}.users-table-wrapper .td-userid{align-items:center;display:flex;gap:.2rem;min-width:0}.users-table-wrapper .td-rewards .count,.users-table-wrapper .td-submissions .count{word-break:normal}.users-table-wrapper .th-actions{justify-self:start;text-align:left;white-space:nowrap}.users-table-wrapper .td-actions{align-self:center;justify-self:start}.users-table-wrapper .td-username{min-width:0;padding-right:.25rem}.users-table-wrapper .username-cell{color:#334155;display:block;font-size:.875rem;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-cell{color:#334155;display:block;font-size:.875rem;line-height:1.4;overflow-wrap:break-word;white-space:normal;word-break:break-word}.users-table-wrapper .td-email{min-width:0}.count{color:#334155;font-size:.875rem;font-weight:400}.date-cell{display:block}.rewards-detail-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1rem;padding:1.5rem}.rewards-detail-card h4{color:#475569;font-size:.9375rem;font-weight:600;margin:0 0 1rem}.rewards-table-container{border-radius:8px;overflow-x:auto;width:100%}.rewards-table{display:flex;flex-direction:column;gap:.75rem;min-width:920px;width:100%}.rewards-table thead{display:block;width:100%}.rewards-table thead tr{grid-gap:1rem;align-items:center;background:#f8fafc;border-radius:12px;color:#475569;display:grid;font-size:.875rem;font-weight:600;gap:1rem;grid-template-columns:170px 110px 150px minmax(140px,1fr) 96px 130px;padding:1rem 1.5rem;width:100%}.rewards-table th{background:#0000;border:none;font-weight:600;letter-spacing:normal;padding:0;text-align:left;text-transform:none}.rewards-table tbody{display:flex;flex-direction:column;gap:.75rem;width:100%}.rewards-table tbody tr{grid-gap:1rem;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0000000a;display:grid;gap:1rem;grid-template-columns:170px 110px 150px minmax(140px,1fr) 96px 130px;padding:1.25rem 1.5rem;width:100%}.rewards-table td{border:none;color:#334155;font-size:.875rem;padding:0;text-align:left}.modal-content{box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-width:900px;overflow:hidden}.modal-header{padding:1.5rem 2rem}.modal-close{border-radius:6px;height:32px;transition:all .2s;width:32px}.modal-close:hover{background:#f1f5f9;color:#334155}.modal-body{overflow-y:auto;padding:2rem}.detail-section h3{color:#0f172a;font-size:1.125rem;margin:0 0 1.5rem;padding-bottom:.75rem}.detail-grid-left{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.stat-value-small{color:#7961fe!important;font-size:1.5rem!important;font-weight:700!important}.reward-types{display:flex;gap:.5rem}.reward-type{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.reward-type.voucher{background:#e9d8fd;color:#553c9a}.reward-type.token{background:#fef3c7;color:#92400e}.status-success{background:#d1fae5;color:#065f46}.status-warning{background:#fef3c7;color:#92400e}.status-failed{background:#fee2e2;color:#991b1b}.status-pending{background:#e2e8f0;color:#475569}.status-rejected{color:#64748b}.status-partial-failed,.status-partial_failed{background:#fef3c7;color:#92400e}.status-reward-failed,.status-reward_failed{background:#fee2e2;color:#991b1b}.reward-details{display:flex;flex-direction:column;gap:.25rem}.detail-item{align-items:center;gap:.5rem}.detail-label{color:#718096;font-size:.8rem}.detail-value{background:#edf2f7;border-radius:4px;color:#2d3748;font-family:SF Mono,Monaco,monospace;font-size:.8rem;padding:.125rem .375rem}.no-details{color:#a0aec0;font-size:.85rem;font-style:italic}.voucher-name{color:#553c9a;font-weight:500}.token-amount{color:#92400e;font-weight:600}@media (max-width:1400px){.users-table-wrapper{padding:12px 1rem 1.25rem}.users-grid-header,.users-grid-row{gap:.65rem;grid-template-columns:112px 140px minmax(200px,1fr) 88px 76px 96px minmax(100px,-webkit-max-content);grid-template-columns:112px 140px minmax(200px,1fr) 88px 76px 96px minmax(100px,max-content);padding:1rem}}@media (max-width:1200px){.users-table-wrapper{padding:12px 1rem 1.25rem}.detail-grid-left{grid-template-columns:1fr}}@media (max-width:768px){.users-page{padding:1rem 1rem 1.25rem}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.btn-edit-rules{justify-content:center;width:100%}.users-summary-card{padding:1.5rem}.summary-stats-row{gap:1.5rem;grid-template-columns:1fr}.summary-stat-item .stat-value{font-size:1.75rem}.modal-overlay{padding:1rem}.modal-header{padding:1rem 1.5rem}.modal-body{padding:1.5rem}}.auth-modal-overlay{align-items:center;animation:fadeIn .2s ease-in;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:11000}.auth-modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:2.5rem;text-align:center;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-modal-icon{animation:bounce .6s ease-in-out;font-size:4rem;margin-bottom:1rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.auth-modal-title{color:#2d3748;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.auth-modal-message{color:#4a5568;font-size:1rem;line-height:1.6;margin-bottom:2rem}.auth-modal-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;max-width:250px;padding:.875rem 2rem;transition:all .2s;width:100%}.auth-modal-button:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.auth-modal-button:active{transform:translateY(0)}@media (max-width:480px){.auth-modal-content{padding:2rem 1.5rem}.auth-modal-icon{font-size:3rem}.auth-modal-title{font-size:1.25rem}.auth-modal-message{font-size:.95rem}}.copy-toast{animation:copy-toast-in .22s ease-out;background:#0f172a;border-radius:10px;bottom:1.5rem;box-shadow:0 10px 40px #0f172a38;color:#f8fafc;font-size:.875rem;font-weight:500;left:50%;max-width:min(90vw,360px);padding:.65rem 1.25rem;pointer-events:none;position:fixed;text-align:center;transform:translateX(-50%);z-index:12000}@keyframes copy-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.overview-tab{padding:1.5rem}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:40px;width:40px}.error-state .error-icon{font-size:2rem}.btn-retry{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem}.btn-retry:hover{background:#4f46e5}.campaign-status-banner{border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.campaign-status-banner.ready{background:linear-gradient(135deg,#dcfce7,#d1fae5);border:1px solid #86efac}.campaign-status-banner.not-ready{background:linear-gradient(135deg,#fef3c7,#fef9c3);border:1px solid #fcd34d}.status-content{display:flex;flex-direction:column;gap:1rem}.status-indicator{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.status-badge{align-items:center;display:inline-flex;font-size:.875rem;font-weight:700;gap:.375rem;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase}.status-badge.ready{background:#166534;color:#fff}.status-badge.not-ready{background:#92400e;color:#fff}.status-text{color:#374151;font-size:.9375rem}.completeness-meter{max-width:400px;width:100%}.meter-label{color:#64748b;display:flex;font-size:.8125rem;justify-content:space-between;margin-bottom:.5rem}.meter-value{color:#1e293b;font-weight:700}.meter-bar{background:#fffc;border-radius:4px;height:8px;overflow:hidden}.meter-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;height:100%;transition:width .5s ease}.section-title{color:#475569;font-size:.9375rem;font-weight:600;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.config-checks-section{margin-bottom:1.5rem}.checks-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.check-card{background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;padding:1rem;position:relative;transition:all .2s ease}.check-card:hover{border-color:#a5b4fc;box-shadow:0 4px 12px #6366f126;transform:translateY(-2px)}.check-card.ok{border-left:4px solid #22c55e}.check-card.warning{border-left:4px solid #f59e0b}.check-card.error{border-left:4px solid #ef4444}.check-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem;position:relative}.check-icon{font-size:1.25rem}.check-name{color:#1e293b;flex:1 1;font-size:.9375rem;font-weight:600}.status-icon{align-items:center;border-radius:50%;display:inline-flex;font-size:.75rem;font-weight:700;height:24px;justify-content:center;width:24px}.status-icon.ok{background:#dcfce7;color:#166534}.status-icon.warning{background:#fef3c7;color:#92400e}.status-icon.error{background:#fee2e2;color:#dc2626}.check-body{margin-bottom:.5rem}.check-summary{color:#64748b;font-size:.875rem;line-height:1.4;margin:0}.check-message{color:#dc2626;font-size:.8125rem;font-weight:500;margin:.5rem 0 0}.critical-badge{background:#fef2f2;border-radius:4px;color:#991b1b;font-size:.6875rem;font-weight:600;letter-spacing:.025em;margin-left:auto;margin-right:.25rem;padding:.125rem .5rem;text-transform:uppercase}.check-action{border-top:1px solid #f1f5f9;margin-top:.5rem;padding-top:.5rem}.check-action .action-text{color:#6366f1;font-size:.75rem;font-weight:500}.quick-summary-section{margin-bottom:1.5rem}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summary-item{background:#f8fafc;border-radius:8px;padding:1rem;text-align:center}.summary-label{color:#64748b;display:block;font-size:.75rem;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.summary-value{color:#1e293b;display:block;font-size:1.125rem;font-weight:700}.summary-value.error{color:#dc2626}.summary-value.warning{color:#f59e0b}.summary-value.ok{color:#22c55e}.action-hints{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:1.25rem}.action-hints .section-title{color:#991b1b;margin-bottom:.75rem}.action-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.action-item{align-items:center;background:#fff;border-radius:6px;display:flex;gap:.75rem;padding:.75rem}.action-item .action-icon{color:#dc2626;font-weight:700}.action-item .action-text{color:#374151;flex:1 1;font-size:.875rem}.btn-go{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8125rem;font-weight:500;padding:.375rem .875rem;transition:background .2s}.btn-go:hover{background:#4f46e5}@media (max-width:768px){.overview-tab{padding:1rem}.checks-grid{grid-template-columns:1fr}.status-indicator{align-items:flex-start;flex-direction:column}.summary-grid{grid-template-columns:1fr}.action-item{align-items:flex-start;flex-direction:column}.btn-go{text-align:center;width:100%}}.rules-tabs{background:#f8fafc;border-bottom:2px solid #e2e8f0;border-radius:12px 12px 0 0;display:flex;gap:0;margin-bottom:0;overflow-x:auto;padding:4px}.rules-tabs button{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;min-width:120px;padding:.875rem 1rem;transition:all .2s ease;white-space:nowrap}.rules-tabs button:hover{background:#e2e8f0;color:#334155}.rules-tabs button.active{background:#fff;box-shadow:0 2px 8px #6366f126;color:#6366f1;font-weight:600}.tab-content{background:#fff;border-radius:0 0 12px 12px;box-shadow:0 2px 10px #0000000d;min-height:400px;padding:1.5rem}.tab-header{border-bottom:1px solid #e2e8f0;margin-bottom:1.5rem;padding-bottom:1rem}.tab-header h2{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.tab-header p{color:#64748b;font-size:.875rem;margin:0}.rules-form{display:flex;flex-direction:column;gap:1.25rem}.form-section{background:#f8fafc;border-radius:8px;padding:1.25rem}.form-section-title{color:#475569;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#475569;font-size:.875rem;font-weight:500}.form-group input,.form-group select{background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;font-size:.9375rem;padding:.625rem .875rem;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.form-group input::placeholder,.form-hint{color:#94a3b8}.form-hint{font-size:.75rem;margin-top:.25rem;width:100%}.toggle-group{align-items:center;display:flex;gap:1rem}.toggle-switch{height:28px;position:relative;width:52px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#cbd5e1;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:#6366f1}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-label{color:#334155;font-size:.9375rem;font-weight:500}.mode-selector{display:flex;gap:1rem}.mode-option{flex:1 1;position:relative}.mode-option input{cursor:pointer;opacity:0;position:absolute}.mode-option label{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:1.5rem;transition:all .2s}.mode-option input:checked+label{background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border-color:#6366f1}.mode-option label:hover{border-color:#a5b4fc}.mode-option input:disabled+label{background:#f1f5f9;border-color:#cbd5e1;cursor:not-allowed;opacity:.6}.mode-option input:disabled+label:hover{border-color:#cbd5e1}.mode-option input:disabled+label .mode-desc,.mode-option input:disabled+label .mode-icon,.mode-option input:disabled+label .mode-title{color:#94a3b8;opacity:.5}.mode-icon{font-size:2rem;margin-bottom:.75rem}.mode-title{color:#1e293b;font-weight:600;margin-bottom:.25rem}.mode-desc{color:#64748b;font-size:.75rem;text-align:center}.items-list{display:flex;flex-direction:column;gap:.75rem}.item-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:1rem;transition:all .2s}.item-card:hover{border-color:#c7d2fe;box-shadow:0 2px 8px #0000000a}.item-card.item-card--reward-voucher,.item-card.item-card--reward-voucher .item-info{align-items:flex-start}.item-card.item-card--reward-voucher .item-actions{align-self:flex-start;flex-shrink:0}.item-info{align-items:center;display:flex;gap:1rem}.item-info--scope{align-items:flex-end;gap:1.25rem;min-width:0}.rules-field-group{display:flex;flex-direction:column;gap:.35rem;min-width:0}.rules-field-label{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.02em}.merchant-name-field{flex:1 1;min-width:0}.merchant-name-field.rules-field-group{flex:1 1}.rules-field-group--category{flex-shrink:0}.item-actions--scope{flex-shrink:0;gap:.5rem;margin-left:.75rem}.rules-form select.rules-select{box-sizing:border-box;min-height:2.5rem;min-width:8rem;padding:.5rem 2.25rem .5rem .75rem}.item-icon{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;height:40px;justify-content:center;width:40px}.item-icon .item-icon-img{display:block;height:100%;object-fit:cover;width:100%}.item-details h4{color:#1e293b;font-size:.9375rem;font-weight:600;margin:0 0 .25rem}.item-details span{color:#64748b;font-size:.8125rem}.item-details>span:not(.category-badge){display:block}.item-details>span:not(.category-badge)~span:not(.category-badge){margin-top:.125rem}.reward-voucher-configured-value{font-weight:600}.item-actions{display:flex;gap:.5rem}.btn-icon-sm{align-items:center;background:#f1f5f9;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-icon-sm:hover{background:#e2e8f0}.btn-icon-sm.delete:hover{background:#fee2e2;color:#dc2626}.btn-action{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;height:auto;justify-content:center;min-width:auto;padding:.625rem 1.25rem;transition:all .2s}.btn-action:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}.btn-action.primary{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;box-shadow:0 2px 8px #10b98133;color:#fff}.btn-action.primary:hover{background:linear-gradient(135deg,#059669,#047857);border-color:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.btn-action.primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.btn-action.secondary{background:#fff;border-color:#e2e8f0;color:#64748b}.btn-action.secondary:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.category-badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.025em;padding:.25rem .625rem;text-transform:uppercase}.category-badge.nsk{background:#dbeafe;color:#1d4ed8}.category-badge.other{background:#f3e8ff;color:#7c3aed}.add-item-btn{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.875rem;transition:all .2s}.add-item-btn:hover{background:#6366f10d;border-color:#6366f1;color:#6366f1}.save-bar{border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;margin-top:1rem;padding-top:1.5rem}.btn-save{align-items:center;background:#7961fe;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.btn-save:hover{background:#6850ec;box-shadow:0 4px 12px #7961fe66;transform:translateY(-2px)}.btn-save:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.empty-state-mini{color:#64748b;padding:2rem;text-align:center}.empty-state-mini p{font-size:.875rem;margin:0}.date-range{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:1fr auto 1fr}.date-separator{color:#94a3b8;font-weight:500}.input-with-unit{position:relative;width:-webkit-fit-content;width:fit-content}.input-with-unit input{padding-right:2.5rem}.input-unit{color:#94a3b8;font-size:.875rem;pointer-events:none;position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}.status-message{align-items:center;border-radius:6px;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem}.status-message.success{background:#dcfce7;color:#166534}.status-message.error{background:#fee2e2;color:#dc2626}@media (max-width:768px){.rules-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.rules-tabs button{font-size:.8125rem;min-width:100px;padding:.75rem}.tab-content{padding:1rem}.mode-selector{flex-direction:column}.date-range,.form-row{grid-template-columns:1fr}.date-range{gap:.5rem}.date-separator{display:none}}.rules-config{margin:0 auto;max-width:1400px;padding:2rem}.wizard-panel-hidden{display:none!important}.breadcrumb{align-items:center;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1.5rem}.breadcrumb-link{background:none;border:none;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;padding:0}.breadcrumb-link:hover{color:#475569;text-decoration:underline}.breadcrumb-separator{color:#94a3b8}.breadcrumb-current{color:#7961fe;font-weight:500}.page-header-wizard{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.page-header-wizard h1{color:#0f172a;font-size:2rem;font-weight:700;margin:0}.last-updated{color:#64748b;font-size:.875rem}.warning-message{align-items:center;background:#fffbeb;border:1px solid #fde047;border-radius:8px;color:#92400e;display:flex;font-size:.875rem;gap:.75rem;margin-bottom:2rem;padding:1rem 1.25rem}.warning-icon{font-size:1.125rem}.missing-config-link{background:none;border:none;color:#7961fe;cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:600;padding:0;text-decoration:underline;transition:color .2s}.missing-config-link:hover{color:#6850ec}.error-message{align-items:center;border-radius:8px;display:flex;gap:.5rem}.error-message:before{content:"⚠️"}.loading-state{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.loading-spinner-icon{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#7961fe;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.loading-state p{color:#64748b;font-size:.9375rem}.stepper-container{gap:0;margin-bottom:2.5rem;padding:2rem 0}.stepper-container,.stepper-step{align-items:center;display:flex;justify-content:center;position:relative}.stepper-step{background:#e2e8f0;-webkit-clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%,20px 50%);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%,20px 50%);color:#94a3b8;cursor:pointer;font-size:.9375rem;font-weight:600;height:60px;margin-left:-20px;min-width:180px;padding:0 2.5rem 0 3rem;transition:all .3s;z-index:1}.stepper-step:first-child{border-radius:30px 0 0 30px;-webkit-clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%);margin-left:0;padding-left:2rem}.stepper-step:last-child{border-radius:0 30px 30px 0;-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%,20px 50%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,20px 50%);padding-right:2rem}.stepper-step:first-child:last-child{border-radius:30px;-webkit-clip-path:none;clip-path:none;padding:0 2rem}.stepper-step.disabled{cursor:not-allowed;opacity:.5}.stepper-step.completed{background:#d1fae5;color:#065f46;cursor:pointer;z-index:1}.stepper-step.completed:hover{background:#a7f3d0;color:#064e3b}.stepper-step.active{background:#7961fe!important;box-shadow:0 4px 12px #7961fe4d;color:#fff!important;transform:scale(1.02);z-index:2}.stepper-step:hover:not(.disabled):not(.active):not(.completed){background:#cbd5e1;color:#475569}.stepper-circle{display:none}.stepper-label{color:inherit;font-size:.9375rem;font-weight:600;line-height:1;max-width:none;text-align:center;white-space:nowrap}.stepper-line{display:none}.wizard-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;min-height:400px;padding:2rem}.wizard-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 0}.btn-wizard{border:none;border-radius:8px;cursor:pointer;font-size:.9375rem;font-weight:600;min-width:140px;padding:.75rem 2.5rem;transition:all .2s}.btn-cancel{background:#fff;border:1px solid #cbd5e0;color:#64748b}.btn-cancel:hover{background:#f8fafc;border-color:#94a3b8}.btn-back{background:#fff;border:1px solid #cbd5e0;color:#64748b}.btn-back:hover{background:#f8fafc;border-color:#94a3b8}.btn-next{background:#7961fe;color:#fff}.btn-next:hover{background:#6850ec;box-shadow:0 4px 12px #7961fe4d;transform:translateY(-1px)}@media (max-width:1200px){.stepper-container{gap:0;justify-content:flex-start;overflow-x:auto;padding:2rem 1rem}.stepper-step{font-size:.875rem;min-width:150px;padding:0 2rem 0 2.5rem}.stepper-step:first-child{padding-left:1.5rem}.stepper-step:last-child{padding-right:1.5rem}.stepper-label{font-size:.875rem}}@media (max-width:768px){.rules-config{padding:1rem}.page-header-wizard{align-items:flex-start;flex-direction:column;gap:.5rem}.page-header-wizard h1{font-size:1.5rem}.stepper-container{justify-content:flex-start;overflow-x:auto;padding:1.5rem .5rem}.stepper-step{-webkit-clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%,15px 50%);clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%,15px 50%);font-size:.8125rem;height:50px;margin-left:-15px;min-width:130px;padding:0 1.5rem 0 2rem}.stepper-step:first-child{border-radius:25px 0 0 25px;-webkit-clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%);clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%);margin-left:0;padding-left:1.25rem}.stepper-step:last-child{border-radius:0 25px 25px 0;-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%,15px 50%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,15px 50%);padding-right:1.25rem}.stepper-label{font-size:.8125rem}.wizard-content{padding:1.5rem}.wizard-actions{flex-direction:column-reverse}.btn-wizard{width:100%}}.success-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:16px;max-width:440px;padding:3rem 2.5rem;text-align:center;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.success-icon{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;box-shadow:0 8px 24px #22c55e4d;color:#fff;display:flex;font-size:3rem;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.success-modal h2{color:#0f172a;font-size:1.75rem;font-weight:700;margin:0 0 .75rem}.success-modal p{color:#64748b;font-size:1rem;line-height:1.5;margin:0 0 2rem}.btn-success-ok{background:#7961fe;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 3rem;transition:all .2s;width:100%}.btn-success-ok:hover{background:#6850ec;box-shadow:0 6px 16px #7961fe66;transform:translateY(-1px)}.submissions{margin:0 auto;max-width:1400px;padding:2rem}.page-header{align-items:center;border-bottom:none;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:0}.page-header h1{color:#0f172a;font-size:2rem;font-weight:700;margin:0}.btn-edit-rules{align-items:center;background:#7961fe;border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-edit-rules:hover{background:#6850ec;box-shadow:0 4px 12px #7961fe4d;transform:translateY(-1px)}.btn-edit-rules svg{height:16px;width:16px}.tabs-container{border-bottom:2px solid #e2e8f0;display:flex;gap:2rem;margin-bottom:2rem}.tab-button{background:none;border:none;color:#64748b;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.75rem 0;position:relative;transition:color .2s}.tab-button:hover{color:#334155}.tab-button.active{color:#7961fe}.tab-button.active:after{background:#7961fe;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.error-message{background:#fee2e2;border-left:4px solid #dc2626;border-radius:12px;color:#dc2626;margin-bottom:1.5rem;padding:1rem}.loading-spinner{align-items:center;color:#64748b;display:flex;font-size:1.125rem;justify-content:center;min-height:400px}.empty-state{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:#1e293b;font-size:1.5rem;margin:0 0 .5rem}.empty-state p{color:#64748b;margin:0}.submissions-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-width:100%;overflow:hidden}.submissions-controls{align-items:center;display:flex;justify-content:space-between;padding:1.5rem}.filter-section{display:flex;gap:1rem}.status-filter{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border:1px solid #cbd5e0;border-radius:12px;color:#334155;cursor:pointer;font-size:.875rem;padding:.625rem 2.5rem .625rem 1rem;transition:all .2s}.status-filter:hover{border-color:#7c3aed}.status-filter:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a;outline:none}.search-section{display:flex;gap:1rem}.search-box{position:relative}.search-box,.search-icon{align-items:center;display:flex}.search-icon{color:#94a3b8;left:1rem;pointer-events:none;position:absolute}.search-box input{background:#fff;border:1px solid #cbd5e0;border-radius:12px;color:#334155;font-size:.875rem;min-width:280px;padding:.625rem 1rem .625rem 2.75rem;transition:all .2s}.search-box input::placeholder{color:#94a3b8}.search-box input:hover{border-color:#7c3aed}.search-box input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a;outline:none}.submissions-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:16px 1.5rem 1rem}.submissions-table-wrapper::-webkit-scrollbar{height:8px}.submissions-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.submissions-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.submissions-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.table-header{grid-gap:1.25rem;align-items:center;background:#f8fafc;border-radius:12px;color:#475569;display:grid;font-size:.875rem;font-weight:600;gap:1.25rem;grid-template-columns:170px 140px 150px 100px 110px 120px minmax(200px,1fr) 240px;margin-bottom:1rem;min-width:-webkit-max-content;min-width:max-content;padding:1rem 1.5rem}.table-header .sortable{align-items:center;cursor:pointer;display:flex;gap:.5rem;transition:color .2s;-webkit-user-select:none;user-select:none}.table-header .sortable:hover{color:#7961fe}.sort-icon{transition:transform .2s}.sort-icon.asc{transform:rotate(180deg)}.sort-icon.desc{transform:rotate(0deg)}.table-body{display:flex;flex-direction:column;gap:1rem}.table-row-card{grid-gap:1.25rem;align-items:center;border:1px solid #e2e8f0;display:grid;gap:1.25rem;grid-template-columns:170px 140px 150px 100px 110px 120px minmax(200px,1fr) 240px;min-width:-webkit-max-content;min-width:max-content;padding:1.25rem 1.5rem}.rewards-detail-table-scroll,.table-row-card{background:#fff;border-radius:12px;box-shadow:0 1px 2px #0000000a}.rewards-detail-table-scroll{-webkit-overflow-scrolling:touch;border:1px solid #e2e8f0;box-sizing:border-box;margin-top:.25rem;max-width:100%;min-width:0;overflow-x:auto;width:100%}.rewards-detail-table{border-collapse:collapse;font-size:.875rem;max-width:100%;min-width:0;table-layout:fixed;width:100%}.rewards-detail-col--type{width:15%}.rewards-detail-col--name{width:18%}.rewards-detail-col--nft{width:32%}.rewards-detail-col--status{width:16%}.rewards-detail-col--sent{width:19%}.rewards-detail-table thead th{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;color:#475569;font-weight:600;padding:1rem .875rem;text-align:left;vertical-align:middle}.rewards-detail-table thead th:last-child{border-right:none}.rewards-detail-table tbody td{word-wrap:break-word;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;color:#334155;overflow-wrap:break-word;padding:.875rem;vertical-align:top}.rewards-detail-table tbody td:last-child{border-right:none}.rewards-detail-table tbody tr:last-child td{border-bottom:none}.rewards-detail-table tbody td:first-child,.rewards-detail-table tbody td:nth-child(4),.rewards-detail-table thead th:first-child,.rewards-detail-table thead th:nth-child(4){max-width:0;overflow:hidden;vertical-align:middle}.rewards-detail-table thead th:first-child,.rewards-detail-table thead th:nth-child(4){line-height:1.35;white-space:normal}.rewards-detail-table tbody td:first-child,.rewards-detail-table tbody td:nth-child(4){white-space:nowrap}.rewards-detail-table__name{font-weight:500;line-height:1.45}.rewards-detail-table__nft{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.8125rem;-webkit-hyphens:none;hyphens:none;line-height:1.4;min-width:0;overflow-wrap:anywhere;word-break:break-all}.rewards-detail-table__sent{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:break-word;white-space:normal;word-break:break-word}.reward-type-chip{background:#ede9fe;color:#5b21b6;text-transform:capitalize}.reward-status-chip,.reward-type-chip{border-radius:20px;box-sizing:border-box;display:inline-block;font-size:.8125rem;font-weight:600;max-width:100%;overflow:hidden;padding:.375rem .75rem;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.reward-status-chip{line-height:1.2}.reward-status-chip--success{background:#d1fae5;color:#065f46}.reward-status-chip--failed{background:#fee2e2;color:#991b1b}.reward-status-chip--pending{background:#fef9c3;color:#854d0e}.td-actions,.th-actions{justify-self:start;text-align:left}.td-actions{min-width:0}.date-cell{color:#334155;font-size:.875rem;white-space:nowrap}.td-username{min-width:0;padding-right:.25rem}.username-cell{color:#334155;display:block;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-userid{align-items:center;display:flex;gap:.2rem;min-width:0}.submissions-table-wrapper .table-row-card .td-userid,.submissions-table-wrapper .th-userid{margin-right:.75rem}.user-id-preview{color:#334155;flex:0 1 auto;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.875rem;max-width:100%;min-width:0}.btn-copy-userid{align-items:center;background:#f1f5f9;border:none;border-radius:6px;color:#475569;cursor:pointer;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:background .15s,color .15s;width:28px}.btn-copy-userid:hover{background:#e2e8f0;color:#0f172a}.btn-copy-userid .copy-done{color:#16a34a;font-size:.75rem;font-weight:700}.btn-copy-userid--detail{height:32px;width:32px}.detail-item--userid .detail-userid-row{align-items:center;display:flex;flex-wrap:wrap;gap:.2rem}.detail-userid-text{color:#0f172a;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.9375rem}.user-id{font-family:SF Mono,Monaco,Inconsolata,monospace;word-break:break-all}.receipt-count,.user-id{color:#334155;font-size:.875rem}.receipt-link{background:none;border:none;color:#7c3aed;cursor:pointer;font-family:inherit;font-size:.875rem;padding:0;text-decoration:underline}.receipt-link:hover{color:#6d28d9}.amount{color:#0f172a;font-size:.875rem;font-weight:600}.reward-text{word-wrap:break-word;color:#334155;display:block;font-size:.875rem;line-height:1.4;max-width:180px;overflow-wrap:break-word;white-space:normal}.action-buttons-cell{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start;width:100%}.btn-claim-action{border-radius:10px;cursor:pointer;font-size:.8125rem;font-weight:600;padding:.5rem 1rem;transition:background .2s ease,box-shadow .2s ease,color .2s ease,border-color .2s ease,transform .15s ease}.btn-claim-action--verify{background:#7961fe;border:none;color:#fff}.btn-claim-action--verify:hover{background:#6850ec;box-shadow:0 2px 10px #7961fe59}.btn-claim-action--verify:active{transform:translateY(1px)}.btn-claim-action--details{background:#f8fafc;border:1px solid #e2e8f0;color:#64748b}.btn-claim-action--details:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.btn-claim-action--details:active{transform:translateY(1px)}.pagination{border-top:1px solid #e2e8f0;gap:.5rem;padding:1.5rem}.pagination,.pagination-btn{align-items:center;display:flex;justify-content:center}.pagination-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;height:36px;transition:all .2s;width:36px}.pagination-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e0;color:#334155}.pagination-btn:disabled{cursor:not-allowed;opacity:.3}.pagination-numbers{align-items:center;display:flex;gap:.25rem}.pagination-number{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;height:36px;justify-content:center;min-width:36px;padding:0 .5rem;transition:all .2s}.pagination-number:hover{background:#f8fafc;color:#334155}.pagination-number.active{background:#7c3aed;color:#fff;font-weight:600}.pagination-ellipsis{align-items:center;color:#94a3b8;display:flex;font-weight:500;height:36px;justify-content:center;min-width:36px}.modal-overlay{padding:1rem;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.modal-content.detail-modal{display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.modal-content.detail-modal>.modal-body{flex:1 1;min-height:0;min-width:0;overflow-x:auto;overflow-y:auto}.modal-header{align-items:flex-start;background:#fff;border-bottom:1px solid #e2e8f0;flex-direction:row;gap:1rem;padding:1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-header h2{color:#0f172a;flex:1 1;font-size:1.5rem;font-weight:700;margin:0;min-width:0;padding-right:.5rem}.modal-close{align-items:center;align-self:flex-start;background:#0000;border-radius:50%;color:#64748b;display:flex;flex-shrink:0;height:36px;justify-content:center;margin-left:auto;width:36px}.detail-modal-header .modal-close{margin-top:0}.detail-section{margin-bottom:2rem;max-width:100%;min-width:0}.detail-section:last-child{margin-bottom:0}.detail-section h3{align-items:center;border-bottom:1px solid #e2e8f0;color:#475569;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0 0 1rem;padding-bottom:.5rem}.detail-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.detail-grid-left{grid-gap:1.5rem 2rem;align-items:start;display:grid;gap:1.5rem 2rem;grid-template-columns:repeat(3,1fr);text-align:left}.detail-grid-left .detail-item{align-items:flex-start;text-align:left}.detail-grid-left .detail-item label,.detail-grid-left .detail-item span{text-align:left}.detail-grid-left .status-badge{align-self:flex-start}.detail-grid-left .amount-large{text-align:left}.detail-item{display:flex;flex-direction:column;gap:.375rem}.detail-item label{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.detail-item span{color:#0f172a;font-size:.9375rem}.amount-large{color:#0f172a!important;font-size:1.5rem!important;font-weight:700}.detail-item.full-width{grid-column:1/-1}.reject-reason{color:#dc2626!important;font-weight:500}.status-badge{border-radius:20px;display:inline-block;font-size:.8125rem;font-weight:600;padding:.375rem .75rem;text-transform:capitalize}.submissions-container .table-row-card .td-status .status-badge{align-items:center;display:inline-flex;justify-content:center;text-align:center}.status-pending{background:#fef3c7;color:#92400e}.status-processing{background:#dbeafe;color:#1e40af}.status-approved,.status-processed{background:#d1fae5;color:#065f46}.status-rejected{background:#f1f5f9;color:#475569}.status-failed,.status-partial-failed,.status-reward-failed{background:#fee2e2;color:#991b1b}.receipts-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.receipt-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.receipt-preview-wrap{position:relative}.receipt-image{border-bottom:1px solid #e2e8f0;cursor:pointer;height:180px;object-fit:cover;transition:opacity .2s;width:100%}.receipt-image:hover{opacity:.9}.receipt-enlarge-btn{align-items:center;background:#0f172ad1;border:none;border-radius:8px;bottom:8px;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:.35rem;padding:.35rem .6rem;position:absolute;right:8px;transition:background .2s,transform .15s}.receipt-enlarge-btn:hover{background:#0f172af2;transform:translateY(-1px)}.receipt-info{padding:1rem}.receipt-edit-toolbar{align-items:center;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:.9rem 1rem}.receipt-edit-hint{color:#1e3a8a;font-size:.875rem;margin:0}.receipt-edit-actions{align-items:center;display:flex;gap:.75rem}.btn-save-amounts{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.7rem 1.1rem;transition:opacity .2s ease,transform .2s ease}.btn-save-amounts:hover:not(:disabled){transform:translateY(-1px)}.btn-save-amounts:disabled{cursor:not-allowed;opacity:.55}.receipt-amount{color:#0f172a;display:block;font-size:1.125rem;font-weight:700}.receipt-amount,.receipt-amount-editor{margin-bottom:.75rem}.receipt-amount-label{color:#64748b;display:block;font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-bottom:.4rem;text-transform:uppercase}.receipt-amount-input-row{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:10px;display:flex;gap:.5rem;padding:0 .75rem}.receipt-amount-prefix{color:#475569;font-size:.875rem;font-weight:600}.receipt-amount-input{background:#0000;border:none;color:#0f172a;font-size:1rem;font-weight:600;outline:none;padding:.75rem 0;width:100%}.receipt-detail{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.receipt-detail label{color:#64748b;font-size:.75rem;font-weight:600}.receipt-detail span{color:#0f172a;font-size:.875rem}.ocr-details{margin-top:.5rem}.ocr-details summary{color:#64748b;cursor:pointer;font-size:.8125rem;font-weight:500}.ocr-details pre{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.75rem;margin-top:.5rem;max-height:120px;overflow-y:auto;padding:.75rem;white-space:pre-wrap;word-break:break-word}.reward-block{background:#f8fafc;border-left:4px solid #cbd5e0;border-radius:12px;margin-bottom:1rem;padding:1.25rem}.reward-block.success{background:#f0fdf4;border-left-color:#22c55e}.reward-block.error{background:#fef2f2;border-left-color:#ef4444}.reward-block.pending{background:#fffbeb;border-left-color:#eab308}.review-notice+.detail-review-meta{margin-top:1rem}.detail-review-meta{margin-bottom:1.25rem}.detail-review-meta+h3{margin-top:1.25rem}.rewards-pre-approval-note{color:#64748b;font-size:.8125rem;font-style:italic}.reward-block h4{color:#334155;font-size:.9375rem;font-weight:600;margin:0 0 1rem}.reward-details,.reward-error-details,.reward-pending-details{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.reward-success{color:#16a34a;font-weight:600}.reward-failed{color:#dc2626;font-weight:600}.error-item .error-message{color:#dc2626;font-size:.875rem;word-break:break-word}.rewards-status-badge{border-radius:12px;font-size:.75rem;font-weight:600;margin-left:.75rem;padding:.25rem .625rem}.rewards-status-badge.success{background:#d1fae5;color:#065f46}.rewards-status-badge.partial_failed{background:#fef3c7;color:#92400e}.rewards-status-badge.failed{background:#fee2e2;color:#991b1b}.rewards-status-badge.pending-approval{background:#fef9c3;color:#854d0e}.rewards-section-intro{margin:0 0 1rem}.rewards-section-hint{color:#64748b;font-size:.875rem;line-height:1.55;margin:0 0 .5rem}.rewards-section-hint--lead{color:#475569;font-weight:500}.rewards-section-hint:last-child{margin-bottom:0}.reward-pending{color:#a16207;font-size:.9375rem;font-weight:600}.review-notice{background:linear-gradient(135deg,#fffbeb,#fef9c3);border:1px solid #fcd34d;border-left:4px solid #eab308;border-radius:10px;margin-bottom:1rem;margin-top:0;padding:.875rem 1rem}.review-notice__text{color:#854d0e;font-size:.9375rem;font-weight:600;line-height:1.45;margin:0}.detail-modal-footer{background:linear-gradient(180deg,#fafafa,#fff 40%);border-top:1px solid #e2e8f0;box-shadow:0 -4px 20px #0f172a0f;flex-shrink:0;padding:1rem 1.5rem 1.25rem}.detail-modal-footer__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.btn-detail-primary{background:#7961fe;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.65rem 1.25rem;transition:background .2s ease,box-shadow .2s ease,transform .15s ease}.btn-detail-primary:hover:not(:disabled){background:#6850ec;box-shadow:0 4px 14px #7961fe59}.btn-detail-primary:active:not(:disabled){transform:translateY(1px)}.btn-detail-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.55;transform:none}.btn-detail-danger{background:#dc2626;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.65rem 1.25rem;transition:background .2s ease,box-shadow .2s ease,transform .15s ease}.btn-detail-danger:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 14px #dc262666}.btn-detail-danger:active:not(:disabled){transform:translateY(1px)}.btn-detail-danger:disabled{box-shadow:none;cursor:not-allowed;opacity:.55;transform:none}.resend-attempts-hint{color:#64748b;font-size:.8125rem;line-height:1.4;margin:1rem 0 0}.error-section{background:#fef2f2;border-left:4px solid #ef4444;border-radius:12px;padding:1.25rem}.error-text{color:#dc2626;font-size:.9375rem;margin:0}.image-viewer-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000eb;box-sizing:border-box;display:flex;flex-direction:column;inset:0;justify-content:center;padding:3.5rem 1rem 5rem;position:fixed;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-viewer-close{align-items:center;background:#fffffff2;border:none;border-radius:50%;box-shadow:0 2px 12px #00000040;color:#334155;cursor:pointer;display:flex;height:44px;justify-content:center;position:fixed;right:1rem;top:1rem;transition:background .2s,transform .15s;width:44px;z-index:2010}.image-viewer-close:hover{background:#fff;transform:scale(1.05)}.image-viewer-toolbar{align-items:center;background:#1e293beb;border-radius:12px;bottom:1.25rem;box-shadow:0 4px 20px #00000059;display:flex;gap:.5rem;left:50%;padding:.5rem .75rem;position:fixed;transform:translateX(-50%);z-index:2010}.image-viewer-tool-btn{align-items:center;background:#ffffff1f;border:none;border-radius:8px;color:#f1f5f9;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;height:36px;justify-content:center;min-width:36px;padding:0 .65rem;transition:background .2s}.image-viewer-tool-btn:hover{background:#ffffff38}.image-viewer-tool-reset{padding:0 .85rem}.image-viewer-zoom-label{color:#e2e8f0;font-size:.8125rem;font-weight:600;min-width:3.25rem;text-align:center;-webkit-user-select:none;user-select:none}.image-viewer-scroll{-webkit-overflow-scrolling:touch;align-items:center;display:flex;flex:1 1;justify-content:center;max-width:96vw;min-height:0;overflow:auto;width:100%}.image-viewer-inner{display:inline-block;line-height:0;transition:transform .12s ease-out}.image-viewer-image{border-radius:8px;box-shadow:0 20px 60px #00000080;height:auto;max-height:min(78vh,1200px);max-width:min(92vw,1400px);object-fit:contain;vertical-align:middle;width:auto}@media (max-width:1400px){.submissions-container .submissions-table-wrapper{padding:16px 1rem 1rem}.submissions-container .submissions-table-wrapper .table-header,.submissions-container .submissions-table-wrapper .table-row-card{gap:.75rem;grid-template-columns:150px 120px 130px 90px 100px 110px minmax(180px,1fr) 220px;padding:1rem}.rewards-detail-table tbody td,.rewards-detail-table thead th{padding:.75rem .625rem}}@media (max-width:1200px){.submissions-container .submissions-table-wrapper{padding:0 1rem 1rem}}@media (max-width:1024px){.submissions-controls{align-items:stretch;flex-direction:column;gap:1rem}.search-box input{min-width:100%}}@media (max-width:768px){.submissions{padding:1rem}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.btn-edit-rules{justify-content:center;width:100%}.action-buttons-cell{flex-direction:row;flex-wrap:wrap;gap:.5rem}.detail-grid,.receipts-grid{grid-template-columns:1fr}.detail-modal-footer__actions{align-items:stretch;flex-direction:column}.detail-modal-footer__actions .btn-detail-danger,.detail-modal-footer__actions .btn-detail-primary{justify-content:center;width:100%}.pagination{gap:.25rem}.pagination-btn{height:32px;width:32px}.pagination-number{height:32px;min-width:32px}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0}.modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000026;max-height:85vh;max-width:580px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.modal-header h3{color:#1e293b;font-size:1.15rem;font-weight:700;margin:0}.modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.5rem;line-height:1}.modal-close:hover{color:#475569}.modal-body{padding:1.5rem}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.6rem 1.25rem;transition:all .2s;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#7c3aed;color:#fff}.btn-primary:hover:not(:disabled){background:#6d28d9;box-shadow:0 4px 12px #7c3aed4d;transform:translateY(-1px)}.btn-secondary{background:#fff;border:1px solid #e2e8f0;color:#475569}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.vio-key-gate-loading{align-items:center;background:#f8fafc;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:1.25rem}.vio-key-gate-spinner{animation:vio-spin .7s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:2.5rem;width:2.5rem}@keyframes vio-spin{to{transform:rotate(1turn)}}.vio-key-gate-loading-text{color:#64748b;font-size:.95rem;margin-top:1rem}.vio-key-modal-overlay{z-index:10002}.vio-key-modal{max-width:540px}.vio-key-modal-body{padding:1.75rem 1.5rem 1.5rem}.vio-key-alert{border-radius:8px;font-size:.875rem;line-height:1.5;margin-bottom:1.25rem;padding:.75rem 1rem}.vio-key-alert--error{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.vio-key-instructions{margin-bottom:1.5rem}.vio-key-instructions-title{color:#1e293b;font-size:.9rem;font-weight:600;margin:0 0 .75rem}.vio-key-steps{color:#475569;font-size:.85rem;line-height:1.65;margin:0;padding-left:1.25rem}.vio-key-steps li{margin-bottom:.35rem}.vio-key-label{color:#1e293b;display:block;font-size:.9375rem;font-weight:600;margin-bottom:.5rem}.vio-key-input-wrapper{margin-bottom:1.5rem;position:relative}.vio-key-input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:.9rem;padding:.6rem 2.75rem .6rem .75rem;transition:border-color .15s;width:100%}.vio-key-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.vio-key-toggle-vis{align-items:center;background:none;border:none;color:#94a3b8;cursor:pointer;display:flex;padding:.25rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}.vio-key-toggle-vis:hover{color:#475569}.vio-key-actions{display:flex;flex-direction:column;gap:.75rem}.vio-key-confirm-btn,.vio-key-retry-btn{border-radius:8px;font-size:.9375rem;padding:.65rem 1rem;width:100%}.vio-key-confirm-btn:disabled{cursor:not-allowed;opacity:.5}
/*# sourceMappingURL=main.b3af6857.css.map*/