:root{--primary: #4f46e5;--primary-light: #6366f1;--primary-dark: #4338ca;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--transition-fast: .15s ease;--transition-base: .2s ease;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px}body{font-family:var(--font-sans);background:linear-gradient(135deg,#f5f7fa,#e4e8ec);min-height:100vh;color:var(--gray-800);line-height:1.6}.dashboard{max-width:1440px;margin:0 auto;padding:var(--space-6) var(--space-8)}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--gray-200)}.header-main h1{font-size:2rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--space-2)}.header-subtitle{color:var(--gray-500);font-size:.9375rem}.header-subtitle strong{color:var(--primary)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.last-updated{font-size:.875rem;color:var(--gray-500)}.login-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;transition:all var(--transition-fast)}.login-btn:hover{background:var(--primary-dark)}.login-btn.logged-in{background:var(--gray-100);color:var(--gray-700)}.refresh-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--gray-100);border-radius:var(--radius-md);cursor:pointer;color:var(--gray-500);transition:all var(--transition-fast)}.refresh-btn:hover{background:var(--primary);color:#fff}.tab-nav{display:flex;gap:var(--space-1);background:var(--gray-100);padding:var(--space-1);border-radius:var(--radius-lg);margin-bottom:var(--space-6);overflow-x:auto}.tab-btn{padding:var(--space-3) var(--space-5);border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;font-size:.9375rem;font-weight:500;color:var(--gray-600);transition:all var(--transition-fast);white-space:nowrap;display:flex;align-items:center;gap:var(--space-2)}.tab-btn:hover{color:var(--gray-800);background:var(--gray-50)}.tab-btn.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.tab-btn .lock-icon,.lock-icon{font-size:12px;opacity:.6}.tab-content{display:none}.tab-content.active{display:block}.tab-container{width:100%}.section{background:#fff;border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}.section-title{font-size:1.125rem;font-weight:600;color:var(--gray-800);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:2px solid var(--primary);display:inline-block}.subsection-title{font-size:.9375rem;font-weight:600;color:var(--gray-600);margin-bottom:var(--space-4);margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.subsection-title:before{content:"";width:3px;height:16px;background:var(--primary);border-radius:2px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.metric-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius-lg);padding:var(--space-5);color:#fff;position:relative;transition:transform var(--transition-base),box-shadow var(--transition-base)}.metric-card:hover{transform:translateY(-4px);box-shadow:0 12px 20px -8px #00000040}.metric-card.blue{background:linear-gradient(135deg,#0ea5e9,#2563eb)}.metric-card.green{background:linear-gradient(135deg,#10b981,#059669)}.metric-card.orange{background:linear-gradient(135deg,#f97316,#ea580c)}.metric-card.pink{background:linear-gradient(135deg,#f093fb,#f5576c)}.metric-card.cyan{background:linear-gradient(135deg,#4facfe,#00f2fe)}.metric-label{font-size:.9375rem;font-weight:600;margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.metric-row{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2)}.metric-tag{background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:2px 10px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.metric-tag-secondary{font-size:.8125rem;opacity:.85}.metric-value{font-size:1.875rem;font-weight:700}.metric-value-secondary{font-size:1.25rem;font-weight:600;opacity:.9}.conversion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.conversion-card{background:var(--gray-50);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--gray-200)}.conversion-label{font-size:1rem;font-weight:600;color:var(--gray-700);margin-bottom:var(--space-3)}.conversion-row{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3)}.conversion-tag{background:var(--primary);color:#fff;padding:3px 12px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.conversion-value{font-size:2rem;font-weight:700;color:var(--primary)}.conversion-calc{font-size:.8125rem;color:var(--gray-500);font-family:monospace;background:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--gray-200)}.time-selector{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.time-selector button{padding:var(--space-2) var(--space-4);border:1px solid var(--gray-200);background:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;color:var(--gray-600);transition:all var(--transition-fast)}.time-selector button:hover{border-color:var(--primary-light);color:var(--primary)}.time-selector button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.chart-toggle{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);background:var(--gray-100);padding:var(--space-1);border-radius:var(--radius-md);width:fit-content}.chart-toggle button{padding:var(--space-2) var(--space-4);border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--gray-600)}.chart-toggle button.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.chart-container{height:320px;margin-top:var(--space-4);background:var(--gray-50);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--gray-100);position:relative}.chart-container canvas{width:100%!important;height:100%!important}.data-table,.rating-table,.ab-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);border:1px solid var(--gray-200);overflow:hidden}.data-table th,.data-table td,.rating-table th,.rating-table td,.ab-table th,.ab-table td{padding:var(--space-3) var(--space-4);text-align:left}.data-table th,.rating-table th{background:var(--gray-50);font-weight:600;color:var(--gray-600);font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--gray-200)}.ab-table th{background:var(--gray-800);color:#fff;font-weight:600;font-size:.8125rem;text-align:center}.ab-table td{text-align:center;border-bottom:1px solid var(--gray-100)}.ab-table td:first-child{text-align:left;font-weight:500}.ab-table .category-row{background:var(--gray-100)}.ab-table .category-row td{font-weight:600;color:var(--gray-700);font-size:.8125rem;text-transform:uppercase}.ab-table .positive{color:var(--success);font-weight:600}.ab-table .negative{color:var(--danger);font-weight:600}.data-table td,.rating-table td{font-size:.9375rem;border-bottom:1px solid var(--gray-100)}.data-table tbody tr:last-child td,.rating-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td,.rating-table tbody tr:hover td{background:var(--gray-50)}.filter-bar{display:flex;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;align-items:center}.filter-select{padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;color:var(--gray-700);background:#fff;cursor:pointer}.tag{display:inline-block;padding:2px 10px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.tag-a{background:#dbeafe;color:#1d4ed8}.tag-b{background:#fef3c7;color:#b45309}.tag-invalid{background:var(--gray-200);color:var(--gray-600)}.tag-valid{background:#d1fae5;color:#065f46}.tag-problem{background:#fee2e2;color:#b91c1c}.tag-suggestion{background:#dbeafe;color:#1d4ed8}.score-high{color:var(--success)}.action-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:.8125rem;color:var(--gray-600);transition:all var(--transition-fast);margin-right:8px}.action-btn:hover{border-color:var(--primary);color:var(--primary)}.action-btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.action-btn.primary:hover{background:var(--primary-dark)}.action-btn.danger{color:var(--danger);border-color:var(--danger)}.star-btn{background:none;border:none;cursor:pointer;font-size:18px;padding:4px;color:#cbd5e1;transition:all .2s}.star-btn:hover{color:#f59e0b;transform:scale(1.1)}.star-btn.starred{color:#f59e0b}.card-enter-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:.8125rem;font-weight:500;margin-top:var(--space-3);transition:all var(--transition-fast)}.card-enter-btn:hover{background:#ffffff4d}.detail-link-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:transparent;border:none;color:var(--primary);cursor:pointer;font-size:.8125rem;font-weight:500;transition:all var(--transition-fast)}.detail-link-btn:hover{color:var(--primary-dark);text-decoration:underline}.thumbsdown-metrics{grid-template-columns:repeat(3,1fr);max-width:900px}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--gray-100)}.pagination-btns{display:flex;gap:var(--space-2)}.page-btn{padding:var(--space-2) var(--space-3);border:1px solid var(--gray-200);background:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;color:var(--gray-600);min-width:36px;text-align:center}.page-btn:hover{border-color:var(--primary);color:var(--primary)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:var(--radius-xl);width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--gray-200)}.modal-title{font-size:1.25rem;font-weight:600;color:var(--gray-800)}.modal-close{width:32px;height:32px;border:none;background:var(--gray-100);border-radius:var(--radius-sm);cursor:pointer;font-size:1.25rem;color:var(--gray-500);display:flex;align-items:center;justify-content:center}.modal-body{padding:var(--space-6);overflow-y:auto;flex:1}.modal-body:has(.chat-content){overflow:hidden!important}.modal-body:has(.lowscore-chat-content){overflow:hidden!important}.lowscore-chat-content{overflow-y:scroll!important;-webkit-overflow-scrolling:touch}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:var(--space-3)}.modal-hidden{display:none}.detail-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-md)}.detail-item{display:flex;flex-direction:column;gap:var(--space-1)}.detail-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:.9375rem;font-weight:500;color:var(--gray-800)}.chat-container{border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden}.chat-header{padding:var(--space-3) var(--space-4);background:var(--gray-50);border-bottom:1px solid var(--gray-200);font-size:.875rem;font-weight:600;color:var(--gray-600)}.chat-messages{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);max-height:400px;overflow-y:auto}.chat-message{display:flex;gap:var(--space-3);max-width:80%}.chat-message.ai{align-self:flex-start}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.chat-message.ai .chat-avatar{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.chat-message.user .chat-avatar{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.chat-bubble{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:.9375rem;line-height:1.6}.chat-message.ai .chat-bubble{background:var(--gray-100);color:var(--gray-800);border-bottom-left-radius:var(--radius-sm)}.chat-message.user .chat-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:var(--radius-sm)}.chat-message.highlighted .chat-bubble{background:#fef3c7;border:2px solid var(--warning);color:var(--gray-800)}.chat-time{font-size:.75rem;color:var(--gray-400);margin-top:var(--space-1)}.chat-message.user .chat-time{text-align:right}.thumbs-down-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 8px;background:var(--danger);color:#fff;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;margin-bottom:var(--space-1)}.load-more{text-align:center;padding:var(--space-4);border-top:1px solid var(--gray-100)}.load-more-btn{padding:var(--space-2) var(--space-5);border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;color:var(--gray-600)}.load-more-btn:hover{border-color:var(--primary);color:var(--primary)}.login-modal .modal{max-width:400px}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:.875rem;font-weight:500;color:var(--gray-700)}.form-input{padding:var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.submit-btn{padding:var(--space-3);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.9375rem;font-weight:500;margin-top:var(--space-2)}.submit-btn:hover{background:var(--primary-dark)}.search-box{display:flex;gap:var(--space-3);max-width:500px;margin-bottom:var(--space-5)}.search-input{flex:1;padding:var(--space-3) var(--space-4);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.search-btn{padding:var(--space-3) var(--space-6);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.9375rem;font-weight:500;transition:all var(--transition-fast)}.search-btn:hover{background:var(--primary-dark)}.search-result{padding:var(--space-5);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);max-width:500px}.result-label{font-size:.875rem;color:var(--gray-500);margin-bottom:var(--space-2)}.result-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.prompt-tabs{display:flex;gap:var(--space-1);background:var(--gray-100);padding:var(--space-1);border-radius:var(--radius-md);margin-bottom:var(--space-5);width:fit-content}.prompt-tab-btn{padding:var(--space-2) var(--space-5);border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:.9375rem;font-weight:500;color:var(--gray-600);transition:all var(--transition-fast)}.prompt-tab-btn:hover{color:var(--gray-800)}.prompt-tab-btn.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.prompt-content{display:none}.prompt-content.active{display:block}.prompt-textarea{width:100%;min-height:200px;padding:var(--space-4);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem;font-family:inherit;line-height:1.6;resize:vertical}.prompt-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.prompt-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}.history-section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--gray-200)}.history-title{font-size:.9375rem;font-weight:600;color:var(--gray-600);margin-bottom:var(--space-4)}.history-list{display:flex;flex-direction:column;gap:var(--space-3)}.history-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.history-info{display:flex;flex-direction:column;gap:var(--space-1)}.history-admin{font-size:.875rem;font-weight:500;color:var(--gray-700)}.history-time{font-size:.75rem;color:var(--gray-500)}.history-actions{display:flex;gap:var(--space-2)}.feedback-image{width:120px;height:120px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--gray-200);cursor:pointer;transition:all var(--transition-fast)}.feedback-image:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.info-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:#ffffff40;border-radius:50%;font-size:10px;font-weight:700;margin-left:var(--space-1);cursor:help}.info-icon-light{background:var(--gray-200);color:var(--gray-500)}.info-tooltip{position:relative;display:inline-flex;align-items:center;margin-left:var(--space-1);cursor:help}.info-tooltip:hover .info-icon{background:#fff6}.info-tooltip .tooltip-text{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(4px);background:var(--gray-800);color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:.8125rem;font-weight:400;white-space:normal;z-index:1000;transition:all var(--transition-fast);text-align:left;line-height:1.6;box-shadow:var(--shadow-lg);min-width:220px;max-width:320px}.info-tooltip .tooltip-text:after{content:"";position:absolute;top:100%;left:16px;border:6px solid transparent;border-top-color:var(--gray-800)}.info-tooltip:hover .tooltip-text{visibility:visible;opacity:1;transform:translateY(0)}.info-tooltip-light .info-icon{background:var(--gray-200);color:var(--gray-500)}.info-tooltip-light:hover .info-icon{background:var(--gray-300);color:var(--gray-600)}.time-selector-wrapper{margin-bottom:var(--space-5)}.custom-date-picker{margin-top:var(--space-3);padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);animation:slideDown var(--transition-base)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.date-inputs{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.date-inputs label{display:flex;flex-direction:column;font-size:.75rem;font-weight:500;color:var(--gray-500);gap:var(--space-1);text-transform:uppercase;letter-spacing:.05em}.date-inputs input[type=date]{padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;min-width:140px;transition:border-color var(--transition-fast)}.date-inputs input[type=date]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.date-separator{color:var(--gray-400);padding-bottom:var(--space-2);font-weight:500}.apply-btn{padding:var(--space-2) var(--space-5);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:500;transition:all var(--transition-fast)}.apply-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.apply-btn:active{transform:translateY(0)}.tag-module-dialog{background:#e0f2fe;color:#0369a1}.tag-module-insight{background:#fef3c7;color:#b45309}.tag-module-recommend{background:#dcfce7;color:#15803d}.tag-module-profile{background:#f3e8ff;color:#7c3aed}.super-admin-icon{margin-left:var(--space-1);font-size:12px}.tag-super-admin{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:2px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.tag-normal-admin{background:var(--gray-200);color:var(--gray-600);padding:2px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.admin-form .form-group{margin-bottom:var(--space-4)}.admin-form .form-label{display:block;font-size:.875rem;font-weight:500;color:var(--gray-700);margin-bottom:var(--space-2)}.admin-form .form-input{width:100%;padding:var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.admin-form .form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.admin-form .form-input::placeholder{color:var(--gray-400)}.admin-form .form-hint{font-size:.75rem;color:var(--gray-500);margin-top:var(--space-1)}.history-item-expandable{cursor:pointer}.history-item-expandable:hover{background:var(--gray-100)}.history-expand-icon{transition:transform var(--transition-fast)}.history-item-expandable.expanded .history-expand-icon{transform:rotate(180deg)}.history-content{display:none;margin-top:var(--space-3);padding:var(--space-4);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem;line-height:1.8;color:var(--gray-700);white-space:pre-wrap}.history-item-expandable.expanded .history-content{display:block}.prompt-view-modal .modal{max-width:700px}.prompt-view-content{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-5);font-size:.9375rem;line-height:1.8;white-space:pre-wrap;max-height:400px;overflow-y:auto}.prompt-meta{display:flex;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--gray-200)}.prompt-meta-item{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem;color:var(--gray-600)}.prompt-meta-item strong{color:var(--gray-800)}.confirm-modal .modal{max-width:400px}.confirm-message{font-size:1rem;color:var(--gray-700);text-align:center;padding:var(--space-4) 0}.confirm-actions{display:flex;justify-content:center;gap:var(--space-3)}.toast{position:fixed;top:20px;right:20px;padding:var(--space-3) var(--space-5);background:var(--gray-800);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:2000;animation:slideIn .3s ease,fadeOut .3s ease 2.7s}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.125rem;color:var(--gray-500)}@media (max-width: 768px){.dashboard{padding:var(--space-4)}.dashboard-header{flex-direction:column;gap:var(--space-4)}.metrics-grid,.conversion-grid{grid-template-columns:1fr}}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--gray-200)}.pagination-info{font-size:.875rem;color:var(--gray-500)}.pagination-btns{display:flex;gap:var(--space-1)}.page-btn{padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;color:var(--gray-600);min-width:36px;text-align:center}.page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.filter-bar{display:flex;gap:var(--space-4);margin-bottom:var(--space-4);align-items:center}.filter-group{display:flex;align-items:center;gap:var(--space-2)}.filter-label{font-size:.875rem;color:var(--gray-600);font-weight:500}.filter-select{padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;background:#fff;min-width:120px}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.score{font-weight:600}.score-low{color:var(--danger)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.section-header .section-title{margin-bottom:0}.dialog-content{margin-bottom:var(--space-5);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-4)}.rating-info{background:var(--gray-50);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--gray-200)}.rating-info h4{font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:var(--space-3)}.tags-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.rating-tag{background:#f3f4f6;color:var(--gray-700);padding:4px 12px;border-radius:9999px;font-size:.75rem;font-weight:500}.rating-comment{font-size:.9375rem;color:var(--gray-700);line-height:1.6;background:#fff;padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--gray-200)}.thumbs-down-indicator{display:inline-flex;align-items:center;gap:4px;color:var(--danger);font-size:.75rem;font-weight:600;background:#fef2f2;padding:2px 8px;border-radius:4px;margin-top:8px;border:1px solid #fee2e2}.feedback-content-box{margin-bottom:var(--space-5);padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.feedback-content-box h4{font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:var(--space-2)}.feedback-content-box p{font-size:.9375rem;color:var(--gray-800);line-height:1.6}.feedback-images{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}.feedback-img-placeholder{width:100px;height:100px;background:#e5e7eb;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--gray-500);font-size:.75rem;border:1px dashed var(--gray-400)}.admin-reply-box h4{font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:var(--space-2)}.reply-textarea{width:100%;min-height:100px;padding:var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem;font-family:inherit;resize:vertical}.reply-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.north-star-row{display:grid;grid-template-columns:1fr 1fr 2fr;gap:20px;margin-bottom:32px}.north-star-card{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border-radius:16px;padding:24px;text-align:center;display:flex;flex-direction:column;justify-content:center}.north-star-card-secondary{background:linear-gradient(135deg,#6366f1,#818cf8)}.north-star-trend{background:linear-gradient(135deg,#1e1b4b,#312e81);color:#fff;border-radius:16px;padding:16px 20px}.north-star-trend .north-star-label{justify-content:flex-start}.trend-partial-hint{font-size:11px;color:#ffffffa6;margin-top:4px;text-align:right;font-style:italic}.north-star-label{font-size:14px;opacity:.9;margin-bottom:6px;display:flex;align-items:center;justify-content:center;gap:6px}.north-star-value{font-size:40px;font-weight:700;line-height:1.2;margin-bottom:6px}.north-star-change{font-size:14px;font-weight:500}.north-star-change.positive{color:#86efac}.north-star-change.negative{color:#fca5a5}.north-star-change.neutral{color:#fff9}.funnel-period-selector{display:flex;gap:8px;margin-bottom:16px}.period-btn{padding:6px 16px;border:1px solid var(--gray-300);border-radius:6px;background:#fff;cursor:pointer;font-size:13px;transition:all .15s}.period-btn:hover{border-color:var(--primary);color:var(--primary)}.period-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.funnel-header{display:grid;grid-template-columns:1fr 72px 90px;gap:12px;margin-bottom:6px;padding:0 0 4px}.funnel-header-label{font-size:12px;color:var(--gray-400);text-align:center;font-weight:500}.funnel-container{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.funnel-step{display:grid;grid-template-columns:1fr 72px 90px;align-items:center;gap:12px}.funnel-bar-wrapper{width:100%;display:flex;flex-direction:column;gap:3px}.funnel-bar{background:linear-gradient(90deg,#4f46e5,#818cf8);border-radius:8px;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:14px;min-height:40px;transition:width .3s ease}.funnel-bar-first{background:linear-gradient(90deg,#4f46e5,#6366f1)}.funnel-bar-empty{background:var(--gray-100);color:var(--gray-500);border:1px dashed var(--gray-300);width:auto!important;align-self:flex-start;padding:6px 12px;min-height:28px;font-size:13px;border-radius:6px}.funnel-bar-empty .funnel-bar-count{font-weight:600}.funnel-bar-compare{background:var(--gray-200);color:var(--gray-600);min-height:28px;padding:4px 16px;font-size:12px;border-radius:6px}.funnel-bar-label{font-weight:500}.funnel-bar-count{font-weight:700}.funnel-bar-count-compare{font-weight:600;margin-left:auto}.funnel-rate{font-size:13px;color:var(--gray-500);text-align:center}.funnel-total-rate{font-size:13px;font-weight:600;color:var(--gray-700);text-align:center;line-height:1.4}.funnel-rate-delta{display:block;font-size:11px;font-weight:500}.funnel-rate-delta.positive{color:#059669}.funnel-rate-delta.negative{color:#dc2626}.funnel-compare-legend{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--gray-500);margin-bottom:16px}.funnel-legend-current{display:inline-block;width:12px;height:12px;border-radius:3px;background:linear-gradient(90deg,#4f46e5,#818cf8);margin-right:4px}.funnel-legend-compare{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--gray-200);margin-right:4px}.same-day-activation{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--gray-50);border:1px dashed var(--gray-300);border-radius:var(--radius-md);margin-bottom:32px}.same-day-label{font-size:13px;color:var(--gray-600);display:flex;align-items:center;gap:4px}.same-day-value{font-size:20px;font-weight:700;color:var(--primary)}.same-day-count{font-size:12px;color:var(--gray-400)}.subsection-title-suffix{font-size:13px;font-weight:400;color:var(--gray-500);margin-left:6px}.funnel-observation-hint{font-size:12px;color:var(--gray-600);background:#d9770614;border-left:3px solid rgba(217,119,6,.5);padding:8px 12px;border-radius:4px;margin-top:-16px;margin-bottom:24px}.funnel-observation-hint strong{font-weight:600;color:var(--gray-700)}.retention-chart-wrapper{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:16px 12px 8px;margin-bottom:12px}.retention-table-toggle{display:inline-flex;align-items:center;padding:6px 12px;font-size:13px;background:transparent;border:1px solid var(--gray-300);border-radius:6px;color:var(--gray-700);cursor:pointer;margin-bottom:12px}.retention-table-toggle:hover{background:var(--gray-100);border-color:var(--gray-400)}.retention-empty{padding:32px;text-align:center;color:var(--gray-400);font-size:13px}.retention-table-wrapper{margin-bottom:24px}.retention-cell{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px}.retention-value{font-weight:600}.retention-na{color:var(--gray-400)}.retention-delta{font-size:11px;font-weight:500}.retention-delta.positive{color:#059669}.retention-delta.negative{color:#dc2626}.week-label{font-weight:500}.section-error{padding:16px 20px;background:#fef2f2;color:#991b1b;border-radius:var(--radius-md);margin-bottom:24px;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.section-error-text{display:flex;flex-direction:column;gap:2px;text-align:left}.section-error-title{font-weight:500}.section-error-detail{font-size:12px;color:#b91c1c;font-family:ui-monospace,SFMono-Regular,monospace;opacity:.85}.section-error-retry{padding:4px 14px;font-size:13px;background:#991b1b;color:#fff;border:none;border-radius:6px;cursor:pointer;flex-shrink:0}.section-error-retry:hover{background:#7f1d1d}.dashboard-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:16px;font-size:12px;color:var(--gray-500)}.dashboard-last-updated{font-variant-numeric:tabular-nums}.dashboard-refresh-btn{padding:5px 12px;font-size:12px;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:6px;color:var(--gray-700);cursor:pointer}.dashboard-refresh-btn:hover:not(:disabled){background:var(--gray-200);border-color:var(--gray-400)}.dashboard-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.north-star-trend-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}.north-star-trend-header .north-star-label{margin-bottom:0}.trend-weeks-selector{display:flex;gap:4px}.trend-weeks-btn{padding:3px 10px;font-size:11px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffffb3;border-radius:4px;cursor:pointer}.trend-weeks-btn.active{background:#fff3;color:#fff;border-color:#ffffff4d}.trend-weeks-btn:disabled{opacity:.5;cursor:not-allowed}.trend-chart-dim{opacity:.5;transition:opacity .2s}.funnel-loading-spinner{font-size:12px;color:var(--gray-500);font-style:italic;margin-left:auto;align-self:center}.new-users-delta{display:inline-block;margin-left:6px;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}.new-users-delta.positive{color:#059669}.new-users-delta.negative{color:#dc2626}@media (max-width: 900px){.north-star-row{grid-template-columns:1fr 1fr}.north-star-trend{grid-column:1 / -1}}@media (max-width: 600px){.north-star-row{grid-template-columns:1fr}}.metric-card.red{background:linear-gradient(135deg,#fee2e2,#fecaca);border-left:4px solid #ef4444}.purpose-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.percentage-bar-wrapper{display:flex;align-items:center;gap:8px}.percentage-bar{height:8px;border-radius:4px;min-width:4px;transition:width .3s ease}.percentage-text{font-size:13px;color:var(--gray-600);white-space:nowrap}.llm-charts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:16px;margin-bottom:32px}.chart-container{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:20px}.chart-title{font-size:14px;font-weight:600;color:var(--gray-700);margin:0 0 16px}.error-count{color:#dc2626;font-weight:700}.error-reason{font-size:12px;color:var(--gray-600);line-height:1.6}.purpose-table-wrapper,.errors-table-wrapper{margin-bottom:32px}@media (max-width: 900px){.llm-charts{grid-template-columns:1fr}}.error-message{text-align:center;padding:40px 20px;color:#dc2626;font-size:15px}.crisis-overview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.crisis-overview-grid .metric-card.red{background:linear-gradient(135deg,#fee2e2,#fecaca);border-left:4px solid #ef4444}.crisis-source-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.source-p0{background:#fee2e2;color:#dc2626}.source-llm{background:#e0e7ff;color:#4f46e5}.crisis-keyword{background:#fef3c7;color:#92400e;padding:1px 6px;border-radius:3px;font-size:12px}.tag-false-positive{background:#fef3c7;color:#d97706;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.crisis-table-wrapper{margin-bottom:16px}.crisis-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0;font-size:13px;color:var(--gray-600)}.crisis-pagination button{padding:4px 14px;border:1px solid var(--gray-300);border-radius:6px;background:#fff;cursor:pointer;font-size:13px}.crisis-pagination button:disabled{opacity:.4;cursor:not-allowed}.crisis-pagination button:not(:disabled):hover{border-color:var(--primary);color:var(--primary)}.crisis-filters{display:flex;gap:16px;margin-bottom:12px}.crisis-filter-group{display:flex;align-items:center;gap:6px}.crisis-filter-label{font-size:13px;color:var(--gray-600);font-weight:500}.crisis-filter-select{padding:4px 10px;border:1px solid var(--gray-300);border-radius:6px;font-size:13px;background:#fff;color:var(--gray-700);cursor:pointer}.crisis-filter-select:focus{outline:none;border-color:var(--primary)}.crisis-filter-input{padding:4px 10px;border:1px solid var(--gray-300);border-radius:6px;font-size:13px;background:#fff;color:var(--gray-700);width:140px}.crisis-filter-input:focus{outline:none;border-color:var(--primary)}.crisis-filter-btn{padding:4px 12px;border:1px solid var(--primary);border-radius:6px;background:var(--primary);color:#fff;font-size:13px;cursor:pointer}.crisis-filter-btn:hover{opacity:.9}.crisis-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.crisis-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;background:#eff6ff;color:#1d4ed8;border:1px solid #BFDBFE;border-radius:999px;font-size:12px;font-weight:500}.crisis-chip-close{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;background:transparent;color:#1d4ed8;font-size:14px;line-height:1;cursor:pointer;padding:0}.crisis-chip-close:hover{background:#dbeafe}.crisis-user-link{background:none;border:none;padding:0;color:var(--primary, #4F46E5);cursor:pointer;text-decoration:underline;font-size:13px;font-family:inherit}.crisis-user-link:hover{opacity:.8}.crisis-ab-tag{display:inline-block;padding:1px 8px;border-radius:4px;font-size:12px;font-weight:600}.ab-a{background:#dbeafe;color:#1d4ed8}.ab-b{background:#f3e8ff;color:#7c3aed}.metric-trend{font-size:12px;color:var(--gray-500);margin-top:4px}.trend-up{color:#dc2626;font-weight:600}.trend-down{color:#059669;font-weight:600}@media (max-width: 900px){.crisis-overview-grid{grid-template-columns:repeat(2,1fr)}.crisis-filters{flex-wrap:wrap}}.accounting-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:16px 12px 8px;margin-bottom:24px}.accounting-chart-wrapper{min-width:0}.accounting-summary{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--gray-50);border-radius:8px;font-size:13px}.accounting-summary-title{font-weight:600;color:var(--gray-700);margin-bottom:4px}.accounting-stat{display:flex;align-items:center;gap:8px}.accounting-stat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.accounting-stat-label{color:var(--gray-600);flex:1}.accounting-stat-value{font-weight:600;color:var(--gray-900)}.accounting-quick-ratio{margin-top:8px;padding-top:12px;border-top:1px solid var(--gray-200)}.accounting-quick-ratio-label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--gray-500)}.accounting-quick-ratio-value{font-size:24px;font-weight:700;margin-top:2px}.accounting-quick-ratio-value.positive{color:#059669}.accounting-quick-ratio-value.negative{color:#dc2626}.accounting-quick-ratio-value.neutral{color:var(--gray-400)}.stickiness-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:16px 12px;margin-bottom:24px}.stickiness-stats{display:flex;flex-direction:column;gap:12px}.stickiness-stat-card{padding:14px 16px;background:var(--gray-50);border-radius:8px}.stickiness-stat-label{font-size:12px;color:var(--gray-500);display:flex;align-items:center;gap:4px;margin-bottom:6px}.stickiness-stat-value{font-size:28px;font-weight:700;color:var(--gray-900);line-height:1}.stickiness-stat-unit{font-size:16px;font-weight:500;color:var(--gray-500);margin-left:2px}.stickiness-stat-sub{font-size:11px;color:var(--gray-500);margin-top:6px}.stickiness-chart-wrapper{min-width:0}.power-curve-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;flex-wrap:wrap}.power-curve-summary{display:flex;gap:20px;font-size:13px;color:var(--gray-600)}.power-curve-summary strong{color:var(--gray-900);font-weight:600;margin:0 4px}.power-curve-heavy-ratio{color:var(--gray-500)}.power-curve-chart-wrapper,.tenure-chart-wrapper,.funnel-trend-chart-wrapper{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:12px;margin-bottom:24px}.retention-view-tabs{display:inline-flex;border:1px solid var(--gray-300);border-radius:6px;overflow:hidden;margin-bottom:12px}.retention-view-tab{padding:6px 16px;font-size:13px;background:transparent;border:none;cursor:pointer;color:var(--gray-600);transition:var(--transition-fast)}.retention-view-tab+.retention-view-tab{border-left:1px solid var(--gray-300)}.retention-view-tab:hover{background:var(--gray-100)}.retention-view-tab.active{background:var(--primary);color:#fff}.retention-heatmap-wrapper{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:16px;margin-bottom:12px;overflow-x:auto}.retention-heatmap-table{border-collapse:separate;border-spacing:2px;font-size:13px;margin:0 auto}.retention-heatmap-table th,.retention-heatmap-table td{padding:6px 10px;text-align:center;border-radius:4px;min-width:48px}.retention-heatmap-table th{font-weight:500;color:var(--gray-500);background:transparent}.heatmap-cohort-label{font-weight:500;color:var(--gray-700);text-align:left!important;background:var(--gray-50)}.heatmap-cohort-size{color:var(--gray-500);background:var(--gray-50)}.heatmap-cell{font-variant-numeric:tabular-nums;font-weight:500}.heatmap-na{color:var(--gray-400);background:var(--gray-50)}.heatmap-legend{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-200);font-size:12px;color:var(--gray-600);flex-wrap:wrap}.heatmap-legend-scale{display:inline-flex;gap:2px}.heatmap-legend-scale span{padding:4px 10px;border-radius:3px;font-variant-numeric:tabular-nums;font-size:11px}.heatmap-legend-hint{color:var(--gray-500);margin-left:auto;font-style:italic}@media (max-width: 900px){.accounting-layout,.stickiness-layout{grid-template-columns:1fr}}.section-skeleton{margin:16px 0}.section-skeleton-title{opacity:.5}.section-skeleton-block{background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:8px;width:100%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.metric-change{font-size:12px;margin-top:4px;font-variant-numeric:tabular-nums}.metric-change.positive{color:#059669}.metric-change.negative{color:#dc2626}.metric-change.neutral{color:#94a3b8}.metric-sub{font-size:12px;color:#64748b;margin-top:4px}.metric-card .metric-sub{color:#ffffffd9}.metric-card .metric-change.positive,.metric-card .metric-change.negative,.metric-card .metric-change.neutral{color:#ffffffe6}.behavior-cumulative-hint{margin-top:8px;font-size:12px;color:var(--gray-500)}.entry-attribution-table .entry-bar-track{width:100%;height:16px;background:var(--gray-100);border-radius:4px;overflow:hidden}.entry-attribution-table .entry-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.leaderboard-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.leaderboard-export-btn{padding:6px 12px;font-size:13px;background:#fff;border:1px solid var(--gray-300);border-radius:6px;color:var(--gray-700);cursor:pointer}.leaderboard-export-btn:hover{background:var(--gray-50);border-color:var(--gray-400)}.leaderboard-pagination{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:12px;font-size:13px;color:var(--gray-600)}.leaderboard-pagination-info{margin-right:auto;color:var(--gray-500)}.leaderboard-pagination-page{font-variant-numeric:tabular-nums;color:var(--gray-700);font-weight:500}.leaderboard-pagination-btn{padding:4px 12px;font-size:13px;background:#fff;border:1px solid var(--gray-300);border-radius:6px;color:var(--gray-700);cursor:pointer}.leaderboard-pagination-btn:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.leaderboard-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.cache-hit-banner{margin:16px 0;padding:16px 20px;background:linear-gradient(135deg,#ecfeff,#cffafe);border-left:4px solid #06b6d4;border-radius:8px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.cache-hit-main{display:flex;align-items:baseline;gap:16px}.cache-hit-label{font-size:14px;color:#0e7490;font-weight:500}.cache-hit-value{font-size:28px;font-weight:600;color:#0e7490;font-variant-numeric:tabular-nums}.cache-hit-sub{font-size:13px;color:#64748b;font-variant-numeric:tabular-nums}.token-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0 24px}.token-breakdown-card{display:flex;flex-direction:column;padding:12px 16px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.token-breakdown-label{font-size:12px;color:#64748b}.token-breakdown-value{font-size:18px;font-weight:600;color:#1e293b;margin-top:4px;font-variant-numeric:tabular-nums}.token-breakdown-hint{font-size:11px;color:#64748b;margin-top:2px}.error-summary-list{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}.error-summary-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:10px 14px;background:#fff7ed;border-left:3px solid #f97316;border-radius:4px}.error-summary-rank{font-weight:600;color:#c2410c;font-variant-numeric:tabular-nums}.error-summary-pattern{font-family:monospace;font-size:13px;color:#1e293b;word-break:break-word}.error-summary-count{font-size:13px;color:#475569;white-space:nowrap;font-variant-numeric:tabular-nums}.error-summary-ratio{color:#94a3b8;margin-left:4px}.error-summary-empty{padding:20px;text-align:center;color:#059669;background:#ecfdf5;border-radius:6px;margin-bottom:24px}.error-reason-clickable{cursor:pointer;color:#2563eb;text-decoration:underline dotted;text-decoration-color:#cbd5e1}.error-reason-clickable:hover{background:#eff6ff}.cell-failed{color:#dc2626;font-weight:500}.ab-test-dashboard{display:flex;flex-direction:column;gap:20px}.experiment-meta-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:16px 20px}.experiment-meta-title{font-size:13px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.experiment-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.experiment-meta-item{display:flex;flex-direction:column}.experiment-meta-label{font-size:12px;color:var(--gray-500);margin-bottom:4px}.experiment-meta-value{font-size:15px;font-weight:600;color:var(--gray-800)}.srm-banner{display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:var(--radius-lg);font-size:14px}.srm-banner.srm-healthy{background:#dcfce7;border:1px solid #16a34a;color:#14532d}.srm-banner.srm-unhealthy{background:#fee2e2;border:1px solid #dc2626;color:#7f1d1d}.srm-banner.srm-empty{background:#f1f5f9;border:1px solid var(--gray-300);color:var(--gray-600);justify-content:center}.srm-icon{font-size:18px;font-weight:700}.ab-section-note{background:#eff6ff;border-left:3px solid #3b82f6;padding:10px 14px;font-size:13px;color:var(--gray-700);border-radius:0 6px 6px 0}.ab-section{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:18px 20px}.ab-section-title{font-size:16px;font-weight:600;color:var(--gray-800);margin:0 0 14px}.ab-section-hint{display:block;margin-top:6px;font-size:12px;font-weight:400;color:var(--gray-500)}.ab-section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.ab-section-header .ab-section-title{margin-bottom:0}.ab-range-selector{display:flex;gap:4px}.ab-range-selector .range-btn{padding:6px 12px;font-size:13px;background:#fff;border:1px solid var(--gray-300);border-radius:6px;color:var(--gray-700);cursor:pointer;transition:all .15s}.ab-range-selector .range-btn:hover{background:var(--gray-50)}.ab-range-selector .range-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.metrics-grid.three-col{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.metrics-grid.four-col{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric-card.compare-card{background:#fff;border:1px solid var(--gray-200);color:var(--gray-800)}.metric-card.compare-card:hover{transform:none;box-shadow:0 4px 12px #00000014}.metric-card.compare-card .metric-label{color:var(--gray-700);font-size:14px;margin-bottom:4px}.compare-card-subtitle{font-size:12px;color:var(--gray-500);margin-bottom:10px}.compare-rates{display:flex;gap:16px;margin-bottom:10px}.compare-rate-block{display:flex;align-items:baseline;gap:6px;flex:1}.compare-rate-tag{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.compare-rate-tag.tag-a{background:#3b82f6}.compare-rate-tag.tag-b{background:#ef4444}.compare-rate-value{font-size:20px;font-weight:700;color:var(--gray-900)}.compare-diff-row{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px dashed var(--gray-200);font-size:13px}.compare-diff.positive{color:#16a34a;font-weight:600}.compare-diff.negative{color:#dc2626;font-weight:600}.ab-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border-radius:4px;white-space:nowrap}.ab-badge-significant{background:#dcfce7;color:#14532d;border:1px solid #16a34a}.ab-badge-not-significant{background:#f1f5f9;color:var(--gray-600);border:1px solid var(--gray-300)}.ab-badge-insufficient{background:#fef3c7;color:#78350f;border:1px solid #f59e0b}.ab-badge-neutral{background:#fff;color:var(--gray-500);border:1px solid var(--gray-300)}.ab-trend-chart{margin-top:18px}.ab-trend-title{font-size:14px;font-weight:600;color:var(--gray-700);margin:0 0 10px}.ab-rates-table .positive{color:#16a34a;font-weight:600}.ab-rates-table .negative{color:#dc2626;font-weight:600}.error-banner{background:#fee2e2;border:1px solid #dc2626;color:#7f1d1d;padding:12px 16px;border-radius:var(--radius-lg);font-size:14px}.ab-footer-notes{background:var(--gray-50);border-radius:var(--radius-lg);padding:14px 18px;font-size:12px;color:var(--gray-600)}.ab-footer-notes h4{font-size:13px;margin:0 0 8px;color:var(--gray-700)}.ab-footer-notes ul{margin:0;padding-left:20px;line-height:1.7}
