html{scroll-behavior:smooth}body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0b1117;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,body{background:#fafbfc}.App{min-height:100vh}.container{margin:0 auto;max-width:1400px;padding:32px 40px 60px}@media (max-width:768px){.container{padding:20px 16px 40px}.tab-content{gap:16px}}header.header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 2px #00000005;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 40px}.header-content,.header-logo{align-items:center;display:flex}.header-logo{cursor:pointer;gap:12px;transition:opacity .2s}.header-logo:hover{opacity:.7}.header-logo svg{color:#0b1117;flex-shrink:0}.header-logo h1{color:#0b1117;font-size:18px;font-weight:600;letter-spacing:-.3px;margin:0}.header-controls{align-items:center;display:flex;gap:16px}.currency-selector{background:#0000;border-radius:6px;display:flex;gap:6px;padding:0}.currency-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#656d76;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s}.currency-btn:hover{background:#f9fafb;border-color:#d0d7de;color:#0b1117}.currency-btn.active{background:#0b1117;border-color:#0b1117;color:#fff}.logout-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#656d76;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s}.logout-btn:hover{background:#fff0f0;border-color:#cf222e;color:#cf222e}@media (max-width:768px){.header-logo h1{font-size:18px}.header-controls{gap:12px}}.tab-navigation{background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 2px #00000005;position:-webkit-sticky;position:sticky;top:60px;z-index:10}.tabs-container{display:flex;gap:0;margin:0 auto;max-width:1400px;padding:0 40px}.tab-button{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;letter-spacing:-.3px;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.tab-button:hover{background-color:#f9fafb;color:#0b1117}.tab-button.active{background-color:#fff;border-bottom-color:#0b1117;color:#0b1117}.tab-icon{align-items:center;display:flex;height:16px;justify-content:center;width:16px}.tab-label{font-size:14px;font-weight:500}@media (max-width:768px){.tabs-container{gap:0;padding:0 20px}.tab-button{font-size:13px;padding:12px 16px}.tab-label{display:none}}.stats-section{margin-bottom:24px}.stats-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.stats-header h2{color:#0b1117;font-size:18px;font-weight:600;letter-spacing:-.4px;margin:0}.period-selector{background:#0000;border-radius:6px;display:flex;gap:6px;padding:0}.period-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#656d76;cursor:pointer;font-size:13px;font-weight:500;padding:8px 12px;transition:all .2s}.period-btn:hover{background:#f9fafb;border-color:#d0d7de;color:#0b1117}.period-btn.active{background:#0b1117;border-color:#0b1117;color:#fff}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stat-card{transition:all .2s}.stat-header-content{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.stat-card h3{color:#656d76;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.stat-card svg{color:#d0d7de;flex-shrink:0;height:20px;width:20px}.stat-meta{color:#656d76;font-size:12px;line-height:1.5}@media (max-width:768px){.stats-header{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr}.stat-value{font-size:24px}}.charts-section{margin-bottom:0}.charts-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.chart-card{transition:all .2s}.chart-card:hover{border-color:#d0d7de;box-shadow:0 1px 3px #0000000d}.chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.chart-header h3{color:#0b1117;font-size:16px;font-weight:600;letter-spacing:-.4px;margin:0}.chart-meta{color:#999;font-size:12px}@media (max-width:768px){.charts-grid{grid-template-columns:1fr}.chart-card{padding:16px}}.pagination{gap:4px;margin-top:20px;padding:20px 0}.pagination,.pagination-btn{align-items:center;display:flex;justify-content:center}.pagination-btn{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#0b1117;cursor:pointer;font-size:13px;font-weight:500;height:32px;min-width:32px;padding:0 8px;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background-color:#f6f8fa;border-color:#d0d7de}.pagination-btn.active{background-color:#0b1117;border-color:#0b1117;color:#fff}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-ellipsis{color:#999;padding:0 4px}@media (max-width:768px){.pagination{gap:2px}.pagination-btn{font-size:12px;height:28px;min-width:28px;padding:0 6px}}.recent-purchases{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:20px;padding:24px}.recent-purchases h2{color:#0b1117;font-size:16px;font-weight:600;letter-spacing:-.4px;margin:0 0 20px}.purchases-table-wrapper{overflow-x:auto}.purchases-table{border-collapse:collapse;font-size:14px;width:100%}.purchases-table thead{background-color:#f6f8fa;border-bottom:1px solid #e5e7eb}.purchases-table th{color:#656d76;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.purchases-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.purchases-table tbody tr:hover{background-color:#f9fafb}.purchases-table tbody tr:last-child{border-bottom:none}.purchases-table td{padding:14px 16px}.user-link{transition:color .2s ease}.user-link:hover{color:#054aaf}.purchase-date{color:#666;font-size:13px}.purchase-amount{color:#0b1117;font-weight:600}.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:4px 12px}.status-badge.success{background-color:#f0fdf4;border:1px solid #d1e7dd;color:#16a34a}.empty-message,.loading-state{padding:40px 20px}.spinner{height:32px;margin-bottom:12px;width:32px}@media (max-width:768px){.recent-purchases{padding:16px}.purchases-table-wrapper{overflow-x:scroll}.purchases-table td,.purchases-table th{font-size:12px;padding:10px 8px}}.tab-content{display:flex;flex-direction:column;gap:24px}.summaries-stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.stat-card{display:flex;flex-direction:column;gap:8px;padding:24px}.stat-label{font-weight:600}.stat-value{font-weight:700}.stat-subtext{color:#656d76;font-size:13px}.chart-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.chart-card h3{margin:0 0 24px}.recent-summaries-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.recent-summaries-section h2{border-bottom:1px solid #e5e7eb;color:#0b1117;font-size:16px;font-weight:600;margin:0;padding:24px}.summaries-table-wrapper{overflow-x:auto}.summaries-table{border-collapse:collapse;width:100%}.summaries-table thead{background:#f6f8fa;border-bottom:1px solid #e5e7eb}.summaries-table th{color:#656d76;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.summaries-table td{border-bottom:1px solid #e5e7eb;font-size:14px;padding:12px 16px;vertical-align:middle}.summaries-table tbody tr:hover{background:#f9fafb}.summary-title{max-width:300px}.user-link{background:none;border:none;color:#0969da;cursor:pointer;font-size:14px;font-weight:500;padding:0;text-decoration:none}.user-link:hover{text-decoration:underline}.summary-date{color:#656d76;font-size:13px}.summary-link{align-items:center;display:inline-flex;transition:opacity .2s}.summary-link:hover{text-decoration:underline}.loading-state{color:#656d76;gap:16px;padding:60px}.spinner{animation:spin .8s linear infinite;border:2px solid #e5e7eb;border-top-color:#0969da;height:24px;width:24px}.users-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.section-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:24px}.section-header h2{color:#0b1117;font-size:16px;font-weight:600;letter-spacing:-.4px;margin:0}.search-box{align-items:center;display:flex;flex:1 1;min-width:200px;position:relative}.search-box svg{color:#d0d7de;left:12px;pointer-events:none;position:absolute}.search-box input{background:#f6f8fa;border:1px solid #e5e7eb;border-radius:6px;font-family:inherit;font-size:13px;padding:8px 12px 8px 36px;transition:all .2s;width:100%}.search-box input:focus{background:#fff;border-color:#0b1117;outline:none}.search-box input::placeholder{color:#999}.table-wrapper{overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:#f6f8fa;border-bottom:1px solid #e5e7eb}.users-table th{color:#656d76;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #e5e7eb;font-size:14px;padding:12px 16px}.users-table tbody tr:hover{background:#f9fafb}.user-row:last-child td{border-bottom:none}.user-name-link{background:none;border:none;color:#0969da;cursor:pointer;font-size:14px;font-weight:500;padding:0;text-decoration:none;transition:color .2s ease}.user-name-link:hover{color:#054aaf;text-decoration:underline}.user-name{color:#0b1117;font-weight:500}.user-username{color:#0b1117;font-size:13px;opacity:.7}.user-id{color:#656d76;font-family:Monaco,Courier,monospace;font-size:12px}.hours-badge{background:#e5f1ff;border-radius:4px;color:#0366d6;display:inline-block;font-size:12px;font-weight:600;padding:4px 8px}.hours-badge.low{background:#ffeaea;color:#d91e1e}.actions-cell{display:flex;gap:8px}.action-btn{background:#fff;border:1px solid #d0d7de;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.action-btn:hover{background:#f6f8fa;border-color:#0b1117}.action-btn.primary{background:#0b1117;border-color:#0b1117;color:#fff}.action-btn.primary:hover{background:#262c36}.action-btn.secondary{color:#0b1117}.empty-state{padding:60px 20px}.empty-state svg{color:#d0d7de;margin-bottom:16px}.empty-state p{font-size:14px}.users-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px}.stat-label{color:#656d76;letter-spacing:.5px;text-transform:uppercase}.stat-value{font-size:28px;letter-spacing:-.5px;margin-bottom:8px}.stat-subtext{color:#999;font-size:12px}.chart-container{margin-bottom:24px}.chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.chart-card h3{color:#0b1117;font-size:16px;font-weight:600;letter-spacing:-.4px;margin:0 0 20px}.chart-card canvas{max-height:400px}.empty-chart-message{background:#f9fafb;border-radius:8px;color:#666;font-size:14px;padding:40px;text-align:center}@media (max-width:768px){.users-stats-grid{gap:12px;grid-template-columns:1fr}.stat-card{padding:16px}.stat-value{font-size:24px}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b11174d;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog{animation:slideUp .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 20px 60px #00000026;max-height:80vh;max-width:420px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#0b1117;font-size:16px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;color:#656d76;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color .2s}.modal-close:hover{color:#0b1117}.modal-body{padding:20px}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:8px;padding:20px}.form-group{margin-bottom:16px}.form-group label{font-weight:600;margin-bottom:6px}.form-group input{background:#fff;border:1px solid #e5e7eb;font-family:inherit;font-size:13px;transition:all .2s}.form-group input:focus{border-color:#0b1117;box-shadow:0 0 0 2px #0b11171a}.form-group input:disabled{background:#f6f8fa;color:#656d76;cursor:not-allowed}.form-error{background:#ffebe9;border:1px solid #f85149;border-radius:6px;color:#d91e1e;font-size:12px;margin-bottom:16px;padding:8px 12px}.btn{border:1px solid #d0d7de;flex:1 1;font-family:inherit;font-size:13px;transition:all .2s}.btn-primary{background:#0b1117;border-color:#0b1117}.btn-primary:hover{background:#262c36}.btn-secondary{background:#fff;color:#0b1117}.btn-secondary:hover{background:#f6f8fa}.payment-info{border-bottom:1px solid #e5e7eb;margin-bottom:20px;padding-bottom:16px}.user-info{color:#656d76;font-size:13px;margin:0}.payment-list{display:flex;flex-direction:column;gap:12px}.payment-item{background:#f6f8fa;padding:12px;transition:all .2s}.payment-left{gap:12px}.payment-icon,.payment-left{align-items:center;display:flex}.payment-icon{background:#fff;border-radius:6px;color:#0b1117;flex-shrink:0;height:40px;justify-content:center;width:40px}.payment-date{font-size:13px}.payment-status{color:#656d76;font-size:12px}.payment-amount{font-size:14px}.empty-state{color:#656d76;padding:32px 20px;text-align:center}.empty-state p{font-size:13px;margin:0}@media (max-width:480px){.modal-dialog{width:95%}.form-group{margin-bottom:12px}}.user-detail-page{margin:0 auto;max-width:1400px;padding:20px 40px 40px}.back-button{background:none;border:none;color:#0969da;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:20px;padding:0;transition:color .2s ease}.back-button:hover{color:#054aaf}.user-header{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:20px;margin-bottom:30px;padding:30px}.user-avatar,.user-header{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#0969da,#0550ae);border-radius:50%;color:#fff;flex-shrink:0;font-size:32px;font-weight:700;height:80px;justify-content:center;width:80px}.user-info{flex:1 1}.user-info h1{color:#0b1117;font-size:24px;margin:0 0 4px}.username{color:#666;font-size:14px;margin:0 0 4px}.user-id{margin:0 0 4px}.join-date,.user-id{color:#999;font-size:13px}.join-date{margin:0}.utm-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.utm-tag{align-items:center;background-color:#f6f8fa;border:1px solid #e5e7eb;border-radius:4px;color:#656d76;display:inline-flex;font-size:11px;padding:4px 8px;white-space:nowrap}.utm-key{color:#0b1117;font-weight:600;margin-right:4px;text-transform:capitalize}.user-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;transition:all .2s ease}.stat-card:hover{border-color:#d0d7de;box-shadow:0 1px 3px #0000000d}.stat-label{color:#666;font-size:13px;font-weight:500;margin-bottom:8px}.stat-value{color:#0b1117;font-size:24px;font-weight:600}.section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:20px}.section h2{color:#0b1117;font-size:16px;font-weight:600;margin:0 0 20px}.empty-message{background-color:#f9fafb;border-radius:6px;color:#999;font-size:14px;padding:20px;text-align:center}.payments-list{display:flex;flex-direction:column;gap:12px}.payment-item{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;padding:16px;transition:all .2s ease}.payment-item:hover{background-color:#f6f8fa;border-color:#d0d7de}.payment-date{color:#0b1117;font-size:14px;font-weight:500}.payment-status{color:#28a745;font-size:13px;font-weight:500}.payment-amount{color:#0b1117;font-size:16px;font-weight:600}.summaries-list{display:flex;flex-direction:column;gap:12px}.summary-item{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:16px;justify-content:space-between;padding:16px;transition:all .2s ease}.summary-item:hover{background-color:#f6f8fa;border-color:#d0d7de}.summary-info{flex:1 1;min-width:0}.summary-title{color:#0b1117;font-size:14px;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-meta{color:#999;font-size:12px}.summary-ratings{display:flex;gap:8px}.rating{align-items:center;background-color:#f6f8fa;border:1px solid #e5e7eb;border-radius:4px;color:#666;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:4px 8px;white-space:nowrap}.rating.like{background-color:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.rating.dislike{background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.views{align-items:center;border:1px solid #e5e7eb;border-radius:4px;display:inline-flex;font-size:12px;gap:4px;padding:4px 8px}.rating.neutral,.views{background-color:#f6f8fa;color:#666}.rating.neutral{border-color:#e5e7eb}.rating svg{height:14px;width:14px}.summary-link{background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#0969da;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.summary-link:hover{background-color:#f6f9ff;border-color:#0969da;color:#054aaf}.btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.btn-primary{background-color:#0b1117;color:#fff}.btn-primary:hover{background-color:#1a1f26}.loading-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#0b1117;height:40px;margin-bottom:16px;width:40px}@media (max-width:768px){.user-detail-page{padding:16px 20px 30px}.user-header{flex-direction:column;padding:20px}.user-header,.user-info{text-align:center}.user-stats-grid{grid-template-columns:1fr 1fr}.payment-item,.summary-item{align-items:flex-start;flex-direction:column;gap:8px}.summary-item{align-items:flex-start}.payment-amount,.payment-status{width:100%}}.login-page{align-items:center;background-color:#f6f8fa;display:flex;justify-content:center;min-height:100vh}.login-container{background:#fff;border:1px solid #d0d7de;border-radius:8px;box-shadow:0 4px 12px #0000000d;max-width:400px;padding:32px;width:100%}.login-header{margin-bottom:24px;text-align:center}.login-header h1{color:#0b1117;font-size:24px;margin:0 0 8px}.login-header p{color:#656d76;font-size:14px;margin:0}.login-form{gap:16px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#0b1117;font-size:13px;font-weight:500}.form-group input{background-color:#f6f8fa;border:1px solid #d0d7de;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{background-color:#fff;border-color:#0969da;box-shadow:0 0 0 3px #0969da4d;outline:none}.error-message{background-color:#ffebe9;border:1px solid #ff818266;border-radius:6px;color:#cf222e;font-size:13px;padding:12px}.login-button{align-items:center;background-color:#1f883d;border:1px solid #1b1f2426;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;margin-top:8px;min-height:40px;padding:10px;transition:background-color .2s}.login-button:hover{background-color:#1a7f37}.login-button:disabled{background-color:#94d3a2;border-color:#0000;cursor:not-allowed}.login-footer{border-top:1px solid #d0d7de;color:#656d76;font-size:12px;margin-top:24px;padding-top:16px;text-align:center}.spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.c62fb9b0.css.map*/