.container{max-width:1400px;margin:0 auto;padding:32px 24px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.header h1{font-size:32px;font-weight:700;color:#1a1a1a}.refresh-btn{padding:12px 24px;background:#15c78c;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.refresh-btn:hover{background:#13b37a;transform:translateY(-1px)}.filters{background:white;padding:24px;border-radius:12px;margin-bottom:32px;box-shadow:0 1px 3px #0000001a;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-size:14px;font-weight:600;color:#666}.filter-group input{padding:10px 12px;border:2px solid #e1e5e9;border-radius:8px;font-size:14px;transition:border-color .2s}.filter-group input:focus{outline:none;border-color:#15c78c}.filter-actions{display:flex;gap:8px;align-items:flex-end}.apply-btn,.clear-btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.apply-btn{background:#15c78c;color:#fff}.apply-btn:hover{background:#13b37a}.clear-btn{background:#f0f2f5;color:#666}.clear-btn:hover{background:#e1e5e9}.filter-buttons-container{background:white;padding:24px;border-radius:12px;margin-bottom:32px;box-shadow:0 1px 3px #0000001a;display:flex;gap:12px;flex-wrap:wrap}.filter-btn{padding:10px 20px;border:2px solid #e1e5e9;background:white;color:#666;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-btn:hover{border-color:#15c78c;color:#15c78c;transform:translateY(-1px);box-shadow:0 2px 8px #15c78c26}.filter-btn.active{background:#15c78c;color:#fff;border-color:#15c78c}.filter-btn.active:hover{background:#13b37a;border-color:#13b37a}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px}@media (max-width: 1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:white;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s;min-width:0}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-value{font-size:48px;font-weight:700;color:#15c78c;margin-bottom:8px;line-height:1}.stat-label{font-size:16px;color:#666;font-weight:500;line-height:1.3}.section{background:white;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.section h2{font-size:24px;font-weight:700;margin-bottom:20px;color:#1a1a1a}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:#f8f9fa}th{padding:12px 16px;text-align:left;font-size:14px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}td{padding:16px;border-top:1px solid #e1e5e9;font-size:15px}.source-name,.campaign-name{font-weight:600;color:#15c78c}tr:hover{background:#f8f9fa}.loading,.error,.no-data{text-align:center;padding:64px 24px;background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a}.loading{font-size:18px;color:#666}.error{color:#e74c3c}.error h2{font-size:24px;margin-bottom:12px}.error button{margin-top:16px;padding:12px 24px;background:#15c78c;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}.no-data{color:#999}.no-data p{font-size:16px;margin-bottom:8px}.tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e1e5e9;padding-bottom:0}.tab{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;font-size:15px;font-weight:600;color:#666;cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab:hover{color:#15c78c}.tab.active{color:#15c78c;border-bottom-color:#15c78c}.user-details-section{border:2px solid #15c78c;background:#f0fdf4}.course-details{margin-bottom:24px}.course-details:last-child{margin-bottom:0}.course-details h3{font-size:18px;color:#1a1a1a;margin-bottom:16px;display:flex;align-items:center;gap:12px}.lesson-count-badge{background:#15c78c;color:#fff;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}.lessons-badge{background:#e8f5e9;color:#2e7d32;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:600}.lesson-title{font-weight:500;color:#1a1a1a}.user-id{font-family:monospace;font-size:13px;color:#666}.user-email{font-weight:600;color:#1a1a1a}.user-id-small{font-family:monospace;font-size:11px;color:#999}.course-name{font-weight:500;color:#15c78c}.user-id-subtitle{font-family:monospace;font-size:13px;color:#888;margin-bottom:20px}.section-description{color:#666;margin-bottom:20px;font-size:14px}.view-details-btn{padding:6px 12px;background:#15c78c;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.view-details-btn:hover{background:#13b37a;transform:translateY(-1px)}.selected-row{background:#e8f5e9!important}@media (max-width: 768px){.header{flex-direction:column;align-items:flex-start;gap:16px}.header h1{font-size:24px}.tabs{flex-wrap:wrap}.tab{padding:10px 16px;font-size:14px}.filters,.stats-grid{grid-template-columns:1fr}table{font-size:13px}th,td{padding:10px 12px}.course-details h3{flex-direction:column;align-items:flex-start;gap:8px}}.header-info{display:flex;align-items:center;gap:16px}.user-badge{background:#f0f0f0;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;color:#333}.logout-button{padding:8px 16px;background:#dc3545;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.logout-button:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc35454d}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:24px}.loading-screen p{font-size:18px;color:#666;font-weight:600}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-error{background:white;padding:48px;border-radius:12px;text-align:center;max-width:600px;margin:100px auto;box-shadow:0 4px 12px #0000001a}.auth-error h1{margin-bottom:16px;color:#e74c3c}.auth-error ul{text-align:left;margin:24px 0}.sub-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e0e0e0}.sub-tab{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;font-size:15px;font-weight:600;color:#666;cursor:pointer;transition:all .2s;margin-bottom:-2px}.sub-tab:hover{color:#333;background:#f8f8f8}.sub-tab.active{color:#007bff;border-bottom-color:#007bff;background:transparent}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600;text-transform:capitalize}.status-badge.active{background:#d4edda;color:#155724}.status-badge.paused{background:#fff3cd;color:#856404}.status-badge.success,.status-badge.completed{background:#d4edda;color:#155724}.status-badge.warning,.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.error,.status-badge.failed{background:#f8d7da;color:#721c24}.status-badge.refunded{background:#e2e3e5;color:#383d41}.status-badge.expired{background:#f8d7da;color:#721c24}.stat-card.success{border-left:4px solid #28a745}.stat-card.warning{border-left:4px solid #ffc107}.stat-card.error{border-left:4px solid #dc3545}.stat-card.refunded{border-left:4px solid #6c757d}.stat-card.primary{border-left:4px solid #007bff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.stat-card.primary .stat-value,.stat-card.primary .stat-label{color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:white;border-radius:16px;max-width:900px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;font-size:24px;color:#333}.close-btn{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-btn:hover{background:#f0f0f0;color:#333}.modal-body{padding:24px;flex:1;overflow-y:auto}.user-details{padding:24px}.detail-section{margin-bottom:32px}.detail-section h4{font-size:18px;margin-bottom:16px;color:#333;border-bottom:2px solid #e0e0e0;padding-bottom:8px}.detail-section p{margin:8px 0;font-size:15px}.detail-section p strong{display:inline-block;width:180px;color:#666}.mini-table{width:100%;border-collapse:collapse;font-size:14px}.mini-table th{background:#f8f8f8;padding:12px;text-align:left;font-weight:600;color:#666}.mini-table td{padding:12px;border-bottom:1px solid #e0e0e0}.mini-table tr:last-child td{border-bottom:none}.btn-success-small,.btn-danger-small{padding:6px 12px;font-size:13px;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.btn-success-small{background:#28a745;color:#fff}.btn-success-small:hover{background:#218838}.btn-danger-small{background:#dc3545;color:#fff}.btn-danger-small:hover{background:#c82333}.btn-primary-small{padding:6px 12px;font-size:13px;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s;background:#15c78c;color:#fff}.btn-primary-small:hover{background:#13b37a}.action-buttons{display:flex;gap:6px;justify-content:center}.status-btn{padding:6px 10px;font-size:14px;border:none;border-radius:6px;cursor:pointer;transition:all .2s;min-width:32px}.status-btn:hover{transform:scale(1.1)}.pending-btn{background:#ffc107;color:#000}.pending-btn:hover{background:#e0a800}.success-btn{background:#28a745;color:#fff}.success-btn:hover{background:#218838}.failed-btn{background:#dc3545;color:#fff}.failed-btn:hover{background:#c82333}.refunded-btn{background:#6c757d;color:#fff}.refunded-btn:hover{background:#5a6268}.maintenance-control{padding:24px;background:#f8f9fa;border-radius:12px;margin:24px 0}.status-indicator{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:16px;border-radius:8px;font-size:16px;font-weight:600}.status-indicator.active{background:#fff3cd;color:#856404;border:2px solid #ffc107}.status-indicator.inactive{background:#d4edda;color:#155724;border:2px solid #28a745}.status-dot{width:12px;height:12px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.button-group{display:flex;gap:12px;flex-wrap:wrap}.button{padding:12px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.button.danger{background:#dc3545;color:#fff}.button.danger:hover:not(:disabled){background:#c82333}.button.success{background:#28a745;color:#fff}.button.success:hover:not(:disabled){background:#218838}.button:disabled{opacity:.5;cursor:not-allowed}.info-box{background:#e7f3ff;border-left:4px solid #007bff;padding:20px;border-radius:8px;margin-top:24px}.info-box h4{margin-top:0;margin-bottom:12px;color:#004085}.info-box ul{margin:8px 0;padding-left:24px}.info-box li{margin:8px 0;color:#004085}.success-message{padding:16px;background:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:8px;margin-top:16px;font-weight:600}.error-message{padding:16px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:8px;margin-top:16px;font-weight:600}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px}.pagination button{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.pagination button:hover:not(:disabled){background:#0056b3}.pagination button:disabled{background:#ccc;cursor:not-allowed}.pagination span{font-weight:600;color:#666}.stripe-link{color:#6772e5;text-decoration:none;font-weight:600;font-size:13px}.stripe-link:hover{text-decoration:underline}.stripe-id-small{font-size:12px;color:#999;font-family:monospace}.user-cell{display:flex;flex-direction:column;gap:4px}.user-name-small{font-size:12px;color:#999}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-header h2{font-size:28px;color:#333;margin:0}@media (max-width: 768px){.modal-content{width:95%;max-height:95vh}.button-group{flex-direction:column}.button{width:100%}.detail-section p strong{display:block;width:100%;margin-bottom:4px}}.grant-access-modal{max-width:500px}.modal-body{padding:24px}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.form-select,.form-input{width:100%;padding:10px 12px;font-size:14px;border:2px solid #e1e5e9;border-radius:8px;transition:border-color .2s;font-family:inherit}.form-select:focus,.form-input:focus{outline:none;border-color:#15c78c}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.help-text{font-size:12px;color:#666;margin-top:6px;margin-bottom:0}.modal-actions{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:24px;padding:24px;border-top:1px solid #e0e0e0}.btn-primary,.btn-secondary{padding:10px 24px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn-primary{background:#15c78c;color:#fff}.btn-primary:hover:not(:disabled){background:#13b37a}.btn-primary:disabled{background:#cccccc;color:#666;cursor:not-allowed}.btn-secondary{background:#f0f2f5;color:#333}.btn-secondary:hover{background:#e1e5e9}.btn-cancel{padding:10px 24px;font-size:14px;font-weight:600;border:2px solid #dc3545;border-radius:8px;cursor:pointer;transition:all .2s;background:white;color:#dc3545}.btn-cancel:hover:not(:disabled){background:#dc3545;color:#fff}.btn-cancel:disabled{border-color:#ccc;color:#999;cursor:not-allowed;background:#f5f5f5}.qi-section{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:16px;overflow:hidden}.qi-section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.qi-section-header:hover{background:#f8f9fa}.qi-section-header h3{margin:0;font-size:16px;color:#1a1a1a}.qi-toggle{font-size:16px;color:#999}.qi-section-body{padding:0 20px 20px}.qi-empty{color:#999;font-size:14px}.pct-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.pct-bar-label{width:140px;flex-shrink:0;font-size:13px;font-weight:500;color:#333;text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pct-bar-track{flex:1;height:16px;background:#f0f2f5;border-radius:8px;overflow:hidden}.pct-bar-fill{height:100%;background:linear-gradient(90deg,#15c78c,#667eea);border-radius:8px;transition:width .4s ease;min-width:2px}.pct-bar-value{width:90px;flex-shrink:0;font-size:12px;font-weight:600;color:#666;text-align:right}.pct-bar-count{color:#999;font-weight:400}.qi-questions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media (max-width: 900px){.qi-questions-grid{grid-template-columns:1fr}}.qi-question-block{padding:12px;background:#fafbfc;border-radius:8px;border:1px solid #eef0f2}.qi-question-title{margin:0 0 8px;font-size:13px;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.3px;display:flex;align-items:center;gap:8px}.qi-source-badge{font-size:10px;font-weight:600;color:#888;background:#eef0f2;padding:2px 6px;border-radius:4px;text-transform:none;letter-spacing:0}.qi-merged-label{font-size:12px;font-weight:400;color:#999;text-transform:none;margin-left:8px}.qi-targeting-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-bottom:8px}.qi-targeting-card{border-radius:10px;padding:14px 16px;border-left:4px solid #e1e5e9}.qi-targeting-persona{background:#f0f4ff;border-left-color:#667eea}.qi-targeting-messaging{background:#fef3c7;border-left-color:#f59e0b}.qi-targeting-strategy{background:#f0fdf4;border-left-color:#15c78c}.qi-targeting-platform{background:#fdf2f8;border-left-color:#ec4899}.qi-targeting-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#888;margin-bottom:4px}.qi-targeting-title{margin:0 0 6px;font-size:14px;font-weight:700;color:#1a1a1a}.qi-targeting-text{margin:0;font-size:13px;line-height:1.5;color:#444}.qi-findings{display:flex;flex-direction:column;gap:6px}.qi-finding{display:flex;align-items:baseline;gap:8px;padding:6px 10px;border-radius:6px;font-size:13px}.qi-finding-high{background:#f0fdf4}.qi-finding-medium{background:#f8f9fa}.qi-finding-low{background:#fafafa}.qi-finding-cat{font-size:10px;font-weight:700;text-transform:uppercase;color:#888;white-space:nowrap;min-width:70px}.qi-finding-text{color:#333;line-height:1.4}.chart-container{background:white;border-radius:12px;border:1px solid #eef0f2;padding:20px;height:350px;position:relative}.chart-container h4{margin:0 0 12px;font-size:14px;font-weight:700;color:#555}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media (max-width: 900px){.charts-grid{grid-template-columns:1fr}}.chart-controls{display:flex;gap:6px;margin-bottom:12px}.chart-controls button{padding:4px 12px;font-size:12px;font-weight:600;border:1px solid #e1e5e9;border-radius:6px;background:white;color:#666;cursor:pointer;transition:all .15s}.chart-controls button:hover{border-color:#15c78c;color:#15c78c}.chart-controls button.active{background:#15c78c;color:#fff;border-color:#15c78c}.ft-results{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.login-box{background:white;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px;width:100%;max-width:420px;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:32px}.login-icon{font-size:48px;margin-bottom:16px}.login-header h1{font-size:24px;font-weight:700;color:#1a202c;margin:0 0 8px}.login-header p{font-size:14px;color:#718096;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:8px;font-size:14px;text-align:center}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#2d3748}.form-group input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f7fafc;cursor:not-allowed}.login-button{padding:14px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;color:#1a1a1a}
