: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}.metric-windows{display:flex;flex-direction:column;gap:var(--space-2)}.metric-window-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.metric-window-tag{font-size:.8125rem;opacity:.85}.metric-window-value{font-size:1.25rem;font-weight:600;opacity:.92}.metric-window-row.primary .metric-window-tag{background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:2px 10px;border-radius:var(--radius-sm);font-weight:500;opacity:1}.metric-window-row.primary .metric-window-value{font-size:1.875rem;font-weight:700;opacity:1}.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}:root{--bg: #F5F6F8;--surface: #FFFFFF;--surface-sunken: #FBFBFC;--line: #E3E6EB;--line-soft: #EEF0F3;--ink: #14161B;--ink-2: #4F5562;--ink-3: #5B616E;--ink-disabled: #8C929E;--accent: #2E5BE6;--accent-strong: #1F45C6;--accent-soft: #EAF0FE;--ab-a: #2E5BE6;--ab-a-soft: #EAF0FE;--ab-a-text: #1F45C6;--ab-b: #E07A1F;--ab-b-soft: #FDF0E4;--ab-b-text: #9A4A0B;--ok-text: #12643A;--ok-soft: #E8F5EE;--warn-text: #8A5300;--warn-soft: #FFF4DE;--danger-text: #A8231A;--danger-soft: #FDECEA;--danger-fill: #B42318;--primary: #2E5BE6;--primary-light: #5C7FEC;--primary-dark: #1F45C6;--success: #12805C;--warning: #C98A0B;--danger: #B42318;--info: #2E5BE6;--gray-50: #FBFBFC;--gray-100: #F3F5F8;--gray-200: #E3E6EB;--gray-300: #D5D9E0;--gray-400: #8C929E;--gray-500: #5B616E;--gray-600: #4F5562;--gray-700: #2B2F38;--gray-800: #1D2027;--gray-900: #14161B;--shadow-sm: 0 1px 2px rgba(20, 22, 27, .06);--shadow-md: none;--shadow-lg: 0 12px 32px rgba(20, 22, 27, .16);--font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif}body{background:var(--bg);color:var(--ink);font-feature-settings:"tnum" 1}.dashboard.app-shell{max-width:none;margin:0;padding:0;min-height:100vh;display:flex;align-items:stretch}.app-main{flex:1 1 auto;min-width:0;padding:28px 32px 56px}.app-main>.tab-container{max-width:1440px}.app-sidebar{flex:0 0 232px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:20px;padding:20px 14px 16px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 8px}.sidebar-logo{width:32px;height:32px;border-radius:8px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}.sidebar-brand-text{display:flex;flex-direction:column;line-height:1.3}.sidebar-brand-name{font-size:15px;font-weight:700;color:var(--ink)}.sidebar-brand-sub{font-size:12px;color:var(--ink-3)}.sidebar-menu-btn{display:none}.sidebar-nav{display:flex;flex-direction:column;gap:18px;flex:1 1 auto}.sidebar-group{display:flex;flex-direction:column;gap:2px}.sidebar-group-label{font-size:12px;font-weight:600;color:var(--ink-3);padding:0 10px 6px;letter-spacing:.4px}.sidebar-item{display:flex;align-items:center;min-height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--gray-700);font:inherit;font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-item:hover{background:var(--gray-100);color:var(--ink)}.sidebar-item.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.sidebar-item:focus-visible,.sidebar-menu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-user{border-top:1px solid var(--line);padding:14px 8px 0;display:flex;align-items:center;gap:10px}.sidebar-avatar{width:32px;height:32px;border-radius:16px;background:var(--accent-soft);color:var(--accent-strong);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex:0 0 auto}.sidebar-user-text{display:flex;flex-direction:column;min-width:0;line-height:1.35}.sidebar-user-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{font-size:12px;color:var(--ink-3)}@media (max-width: 900px){.dashboard.app-shell{flex-direction:column}.app-sidebar{position:sticky;top:0;z-index:50;flex:0 0 auto;height:auto;max-height:100vh;border-right:0;border-bottom:1px solid var(--line);padding:10px 16px;gap:12px}.sidebar-menu-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid var(--gray-300);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;font-weight:500;cursor:pointer}.app-sidebar .sidebar-nav,.app-sidebar .sidebar-user{display:none}.app-sidebar.is-open .sidebar-nav{display:flex;padding-bottom:8px}.app-sidebar.is-open .sidebar-user{display:flex;padding-bottom:4px}.app-main{padding:20px 16px 40px}}.dashboard-header{align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding-bottom:0;border-bottom:0}.header-main h1{font-size:24px;font-weight:600;color:var(--ink);margin-bottom:4px;letter-spacing:.2px}.header-subtitle{font-size:13px;color:var(--ink-3)}.header-subtitle strong{color:var(--ink);font-weight:600}.last-updated{font-size:13px;color:var(--ink-3)}.refresh-btn{width:36px;height:36px;background:var(--surface);border:1px solid var(--gray-300);color:var(--ink-2)}.refresh-btn:hover{background:var(--gray-100);color:var(--ink)}.section{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:none;padding:20px 24px;margin-bottom:20px}.section-title{font-size:16px;font-weight:600;color:var(--ink);padding-bottom:0;margin-bottom:16px;border-bottom:0;display:block}.subsection-title{font-size:14px;font-weight:600;color:var(--ink)}.subsection-title:before{display:none}.metric-card,.metric-card.blue,.metric-card.green,.metric-card.orange,.metric-card.pink,.metric-card.cyan,.metric-card.red{background:var(--surface-sunken);color:var(--ink);border:1px solid var(--line-soft);border-left:1px solid var(--line-soft);border-radius:10px}.metric-card:hover{transform:none;box-shadow:none}.metric-label{color:var(--ink-2);font-size:13px;font-weight:500}.metric-value{color:var(--ink);font-weight:600;letter-spacing:-.4px}.metric-value-secondary{color:var(--ink);opacity:1}.metric-tag{background:var(--gray-100);color:var(--ink-2);-webkit-backdrop-filter:none;backdrop-filter:none}.metric-tag-secondary{color:var(--ink-3);opacity:1}.time-selector,.chart-toggle{background:#eef0f3;border-radius:9px;padding:3px;gap:2px}.time-selector button,.chart-toggle button,.period-btn,.trend-weeks-btn,.retention-view-tab,.prompt-tab-btn{border:0;border-radius:7px;background:transparent;color:var(--ink-2);font-weight:500;font-size:13px;min-height:30px;box-shadow:none}.time-selector button:hover,.chart-toggle button:hover,.period-btn:hover,.trend-weeks-btn:hover,.retention-view-tab:hover,.prompt-tab-btn:hover{background:#fff9;color:var(--ink)}.time-selector button.active,.chart-toggle button.active,.period-btn.active,.trend-weeks-btn.active,.retention-view-tab.active,.prompt-tab-btn.active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #14161b14}.tab-btn{min-height:30px;padding:0 12px;border:1px solid var(--gray-300);border-radius:15px;background:var(--surface);color:var(--gray-700);font-size:13px;font-weight:500}.tab-btn:hover{background:var(--gray-100);color:var(--ink)}.tab-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:600;box-shadow:none}.action-btn,.page-btn,.search-btn,.apply-btn,.load-more-btn,.detail-link-btn,.card-enter-btn,.leaderboard-export-btn,.dashboard-refresh-btn,.crisis-filter-btn,.section-error-retry{border-radius:8px;font-weight:500;box-shadow:none}.action-btn,.page-btn,.load-more-btn,.leaderboard-export-btn,.dashboard-refresh-btn,.crisis-filter-btn,.section-error-retry{background:var(--surface);border:1px solid var(--gray-300);color:var(--ink)}.action-btn:hover,.page-btn:hover:not(:disabled),.load-more-btn:hover,.leaderboard-export-btn:hover,.dashboard-refresh-btn:hover,.crisis-filter-btn:hover,.section-error-retry:hover{background:var(--gray-100);border-color:var(--gray-300);color:var(--ink)}.action-btn.primary,.search-btn,.apply-btn,.submit-btn{background:var(--accent);border:1px solid var(--accent);color:#fff;font-weight:600}.action-btn.primary:hover,.search-btn:hover,.apply-btn:hover,.submit-btn:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.action-btn.danger{background:var(--surface);border:1px solid #F3C2BC;color:var(--danger-text)}.action-btn.danger:hover{background:var(--danger-soft)}.page-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);font-weight:600}.page-btn:disabled{background:var(--surface-sunken);border-color:var(--line);color:var(--ink-disabled)}.detail-link-btn,.card-enter-btn{background:transparent;border:0;color:var(--accent-strong);padding-left:0;padding-right:0}.detail-link-btn:hover,.card-enter-btn:hover{background:transparent;color:#163391;text-decoration:underline}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filter-select,.search-input,.form-input,.crisis-filter-select,.crisis-filter-input,.date-inputs input[type=date],.prompt-textarea,.reply-textarea{border:1px solid var(--gray-300);border-radius:8px;background:var(--surface);color:var(--ink)}.filter-select:focus,.search-input:focus,.form-input:focus,.crisis-filter-select:focus,.crisis-filter-input:focus,.prompt-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2e5be626}.filter-label,.crisis-filter-label{font-size:12px;font-weight:600;color:var(--ink-3)}.data-table,.rating-table,.ab-table{border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:none;font-variant-numeric:tabular-nums}.data-table th,.rating-table th,.ab-table th{background:var(--surface-sunken);color:var(--ink-3);font-size:12px;font-weight:500;border-bottom:1px solid var(--line)}.data-table td,.rating-table td,.ab-table td{border-bottom:1px solid var(--line-soft);color:var(--ink)}.data-table tbody tr:hover td,.rating-table tbody tr:hover td{background:#f7f9fd}.ab-table .category-row td{background:var(--surface);color:var(--ink-3);font-size:12px;font-weight:600;letter-spacing:.4px}.ab-table .positive{color:var(--ok-text)}.ab-table .negative{color:var(--ab-b-text)}.tag,.rating-tag,.crisis-source-tag,.crisis-ab-tag,.tag-false-positive{border-radius:6px;font-size:12px;font-weight:600;border:0}.tag-a,.ab-a{background:var(--ab-a-soft);color:var(--ab-a-text)}.tag-b,.ab-b{background:var(--ab-b-soft);color:var(--ab-b-text)}.tag-valid{background:var(--ok-soft);color:var(--ok-text)}.tag-invalid,.tag-false-positive{background:var(--gray-100);color:var(--ink-2)}.tag-problem{background:var(--ab-b-soft);color:var(--ab-b-text)}.tag-suggestion{background:var(--accent-soft);color:var(--accent-strong)}.score-low{color:var(--ab-b-text)}.score-high,.trend-up{color:var(--ok-text)}.trend-down{color:var(--ab-b-text)}.pagination{border-top:0;color:var(--ink-2)}.pagination-info{font-size:13px;color:var(--ink-2)}.modal-overlay{background:#14161b52;-webkit-backdrop-filter:none;backdrop-filter:none}.modal{border-radius:14px;box-shadow:var(--shadow-lg);border:1px solid var(--line)}.modal-overlay.is-drawer{justify-content:flex-end;align-items:stretch;padding:0}.modal-overlay.is-drawer>.modal{width:min(560px,100vw);max-width:100vw;max-height:100vh;height:100vh;border-radius:0;border-left:1px solid var(--line);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.modal-overlay.is-drawer>.modal .modal-body{flex:1 1 auto;overflow-y:auto}.modal-header{border-bottom:1px solid var(--line);background:var(--surface)}.modal-title{font-size:16px;font-weight:600;color:var(--ink)}.modal-close{width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-2)}.modal-footer{border-top:1px solid var(--line);background:var(--surface-sunken)}.detail-label{color:var(--ink-3);font-size:12px}.detail-value{color:var(--ink)}.chat-message.ai .chat-avatar,.chat-message.user .chat-avatar{background:var(--gray-100);color:var(--ink-2)}.chat-message.ai .chat-bubble{background:var(--gray-100);color:var(--ink);border:0}.chat-message.user .chat-bubble{background:var(--accent-soft);color:var(--ink);border:0}.chat-message.highlighted .chat-bubble{background:#fdf7f1;border:1px solid #F1C9A6}.loading{color:var(--ink-3)}.section-skeleton-block{background:linear-gradient(90deg,var(--gray-100) 0%,var(--line-soft) 50%,var(--gray-100) 100%);background-size:200% 100%}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.info-tooltip .tooltip-text{display:none}.info-tooltip:hover .tooltip-text,.info-tooltip:focus-within .tooltip-text{display:block;min-width:min(220px,calc(100vw - 32px));max-width:min(320px,calc(100vw - 32px))}@media (max-width: 900px){.section{padding:16px;border-radius:10px}.section-title{margin-bottom:12px}}.info-tooltip.info-tooltip-light .info-icon{width:16px;height:16px;margin-left:0;background:var(--gray-100);color:var(--ink-3);border:1px solid var(--line);font-size:10px;font-weight:700;font-style:normal;line-height:1}.info-tooltip.info-tooltip-light:hover .info-icon,.info-tooltip.info-tooltip-light:focus-visible .info-icon{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.info-tooltip:focus{outline:none}.info-tooltip:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:50%}.info-tooltip:focus-within .tooltip-text{visibility:visible;opacity:1;transform:translateY(0)}.info-tooltip .tooltip-text{font-weight:400;font-size:12px;letter-spacing:0}.dash-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.dash-head .subsection-title{margin:0;font-size:16px}.dash-head-sub{font-size:13px;font-weight:400;color:var(--ink-3);margin-left:4px}.dash-minor-title{margin:0;font-size:14px;font-weight:600;color:var(--ink)}.dash-note{font-size:12px;color:var(--ink-3);line-height:1.5}.dash-formula,.dash-head .time-selector-wrapper,.dash-seg{margin:0}.dash-head .time-selector,.dash-seg{display:inline-flex;flex-wrap:wrap;margin:0;width:fit-content}.dash-head .time-selector button,.dash-seg button{padding:0 12px;min-height:32px;cursor:pointer}.dash-head .time-selector-wrapper{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.dash-head .custom-date-picker{margin-top:0;padding:12px;border-radius:10px}.dash-head .date-inputs label{text-transform:none;letter-spacing:0;font-size:12px;color:var(--ink-3)}.dash-head .date-inputs input[type=date]{border-radius:8px;min-height:32px}.dash-head .apply-btn:disabled{opacity:.5;cursor:not-allowed}.dash-link-btn{min-height:32px;padding:0 4px;border:0;background:transparent;color:var(--accent-strong);font:inherit;font-size:13px;font-weight:500;cursor:pointer;border-radius:6px}.dash-link-btn:hover{color:#163391;text-decoration:underline}.dash-chart{width:100%;height:280px}.dash-chart-sm{height:200px}.dash-chart .recharts-surface{overflow:visible}.dash-subblock{border-top:1px solid var(--line-soft);padding-top:16px;display:flex;flex-direction:column;gap:12px}.dash-stat{display:flex;flex-direction:column;gap:2px;min-width:0}.dash-stat-value{font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.2px}.dash-stat-lg{font-size:26px}.dash-core{display:flex;flex-direction:column;gap:20px}.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.dash-kpi{border:1px solid var(--line-soft);border-radius:10px;padding:16px 18px;background:var(--surface-sunken);display:flex;flex-direction:column;gap:6px;min-width:0}.dash-kpi-label{font-size:13px;font-weight:500;color:var(--ink-2)}.dash-kpi-value{font-size:30px;font-weight:600;letter-spacing:-.4px;line-height:1.15;color:var(--ink)}.dash-kpi-def{font-size:12px;color:var(--ink-3);line-height:1.5}.dash-funnel{border-top:1px solid var(--line-soft);padding-top:18px;display:flex;flex-direction:column;gap:12px}.dash-funnel-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.dash-funnel-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dash-funnel-label{width:96px;font-size:13px;color:var(--gray-700)}.dash-funnel-track{flex:1 1 240px;height:28px;background:var(--gray-100);border-radius:6px;overflow:hidden}.dash-funnel-bar{height:100%;border-radius:6px;min-width:2px}.dash-funnel-nums{width:230px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.dash-funnel-value{font-weight:600;color:var(--ink)}.dash-funnel-rate{color:var(--ink-2);display:inline-flex;align-items:center;gap:4px}.dash-calc{display:flex;flex-wrap:wrap;gap:4px 24px;font-size:12px;color:var(--ink-3);padding:10px 12px;background:var(--surface-sunken);border:1px solid var(--line-soft);border-radius:8px}.dash-trend{display:flex;flex-direction:column;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line-soft)}.dash-pills{display:flex;flex-wrap:wrap;gap:8px}.dash-pill{min-height:32px;padding:0 14px;border-radius:16px;border:1px solid var(--gray-300);background:var(--surface);color:var(--gray-700);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.dash-pill:hover{background:var(--gray-100);color:var(--ink)}.dash-pill.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.dash-trend-stats{display:flex;flex-wrap:wrap;gap:32px;align-items:baseline}.dash-rating,.dash-td{display:flex;flex-direction:column;gap:18px}.dash-stack{display:flex;height:14px;border-radius:7px;overflow:hidden;gap:2px;background:var(--gray-100)}.dash-stack>div{height:100%}.dash-stack-empty{flex:1}.dash-legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.dash-legend-item{display:flex;flex-direction:column;gap:4px;min-width:0}.dash-legend-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2)}.dash-swatch{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.dash-legend-value{font-size:20px;font-weight:600;color:var(--ink)}.dash-legend-pct{font-size:13px;font-weight:500;color:var(--ink-2);margin-left:2px}.dash-td-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.dash-ab{display:flex;flex-direction:column;gap:16px}.dash-ab-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.dash-ab-rule{margin:0;font-size:13px;color:var(--ink-2)}.dash-ab-rule strong{color:var(--ink);font-weight:600}.dash-ab-controls{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.dash-ab-controls .time-selector-wrapper{margin:0;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.dash-ab-controls .time-selector{display:inline-flex;flex-wrap:wrap;margin:0;width:fit-content}.dash-ab-controls .time-selector button{padding:0 12px;min-height:32px;cursor:pointer}.dash-ab-controls .custom-date-picker{margin-top:0;padding:12px;border-radius:10px}.dash-ab-controls .date-inputs label{text-transform:none;letter-spacing:0;font-size:12px;color:var(--ink-3)}.dash-ab-controls .date-inputs input[type=date]{border-radius:8px;min-height:32px}.dash-ab-controls .apply-btn:disabled{opacity:.5;cursor:not-allowed}.dash-ab-key{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink)}.dash-dot{width:10px;height:10px;border-radius:5px}.dash-dot-a{background:var(--ab-a)}.dash-dot-b{background:var(--ab-b)}.dash-ab-wrap{overflow-x:auto;transition:opacity .2s}.dash-ab-wrap.is-loading{opacity:.6}.dash-ab-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}.dash-ab-table thead th{text-align:left;font-weight:500;color:var(--ink-3);font-size:12px;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:transparent}.dash-ab-table tbody th,.dash-ab-table td{padding:10px 12px;border-bottom:1px solid var(--line-soft);white-space:nowrap;text-align:left}.dash-ab-table tbody th[scope=row]{font-weight:500;color:var(--ink)}.dash-ab-table .num{text-align:right}.dash-ab-table .dash-ab-diff{font-weight:600;color:var(--gray-700)}.dash-ab-table .dash-ab-bar-col{width:30%;min-width:140px}.dash-ab-group th{padding:16px 12px 6px;font-size:12px;font-weight:600;color:var(--ink-3);border-bottom:1px solid var(--line);letter-spacing:.4px;text-align:left}.dash-ab-table tbody:first-of-type .dash-ab-group th{padding-top:10px}.dash-ab-bars{display:flex;flex-direction:column;gap:3px}.dash-ab-track{height:6px;background:#f0f2f5;border-radius:3px;overflow:hidden}.dash-ab-bar{height:6px;border-radius:3px}.dash-ab-bar.a{background:var(--ab-a)}.dash-ab-bar.b{background:var(--ab-b)}@media (max-width: 900px){.dash-funnel-label{width:auto;flex:1 1 100%}.dash-funnel-track{flex:1 1 100%}.dash-funnel-nums{width:100%}.dash-head .time-selector-wrapper,.dash-ab-controls .time-selector-wrapper{align-items:flex-start}.dash-kpi-value{font-size:26px}.dash-chart{height:240px}}@media (max-width: 600px){.dash-kpi-grid,.dash-legend-grid,.dash-td-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-kpi{padding:12px 14px}.dash-kpi-value,.dash-stat-lg{font-size:22px}}:is(.growth-dashboard,.behavior-dashboard) .dashboard-toolbar{margin-bottom:4px;font-size:12px;color:var(--ink-3)}:is(.growth-dashboard,.behavior-dashboard) .dashboard-refresh-btn{min-height:32px;padding:0 12px;font-size:13px;background:var(--surface);border:1px solid var(--gray-300);border-radius:8px;color:var(--ink)}:is(.growth-dashboard,.behavior-dashboard) .dashboard-refresh-btn:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-300)}:is(.growth-dashboard,.behavior-dashboard) .section-error{background:var(--danger-soft);color:var(--danger-text);border:1px solid #F3C2BC;border-radius:10px;margin-bottom:16px}:is(.growth-dashboard,.behavior-dashboard) .section-error-detail{color:var(--danger-text);opacity:1}:is(.growth-dashboard,.behavior-dashboard) .section-error-retry{min-height:32px;padding:0 14px;background:var(--surface);border:1px solid #F3C2BC;border-radius:8px;color:var(--danger-text);font-weight:500}:is(.growth-dashboard,.behavior-dashboard) .section-error-retry:hover{background:var(--danger-soft)}:is(.growth-dashboard,.behavior-dashboard) .section-skeleton{margin:0}:is(.growth-dashboard,.behavior-dashboard) .section-skeleton-title{opacity:1;color:var(--ink-3)}:is(.growth-dashboard,.behavior-dashboard) .section-skeleton-block{background:var(--gray-100);animation:none;border-radius:10px}:is(.growth-dashboard,.behavior-dashboard) .subsection-title{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:14px;font-weight:600;color:var(--ink);margin:0 0 12px}:is(.growth-dashboard,.behavior-dashboard,.ab-test-dashboard) .subsection-title-suffix{font-size:12px;font-weight:400;color:var(--ink-3);margin-left:0}.growth-dashboard .trend-weeks-selector,.growth-dashboard .growth-seg,.growth-dashboard .retention-view-tabs,.ab-test-dashboard .ab-range-selector,.social-value-dashboard .sv-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;background:#eef0f3;border:0;border-radius:9px;overflow:visible}.growth-dashboard .trend-weeks-btn,.growth-dashboard .period-btn,.growth-dashboard .retention-view-tab,.ab-test-dashboard .ab-range-selector .range-btn,.social-value-dashboard .sv-seg-btn{min-height:30px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--ink-2);font:inherit;font-size:13px;font-weight:500;cursor:pointer;box-shadow:none;transition:background var(--transition-fast),color var(--transition-fast)}.growth-dashboard .retention-view-tab+.retention-view-tab{border-left:0}.growth-dashboard .trend-weeks-btn:hover:not(:disabled),.growth-dashboard .period-btn:hover:not(:disabled),.growth-dashboard .retention-view-tab:hover,.ab-test-dashboard .ab-range-selector .range-btn:hover,.social-value-dashboard .sv-seg-btn:hover{background:#fff9;border-color:transparent;color:var(--ink)}.growth-dashboard .trend-weeks-btn.active,.growth-dashboard .period-btn.active,.growth-dashboard .retention-view-tab.active,.ab-test-dashboard .ab-range-selector .range-btn.active,.social-value-dashboard .sv-seg-btn.active{background:var(--surface);color:var(--ink);font-weight:600;border-color:transparent;box-shadow:0 1px 2px #14161b14}.growth-dashboard .trend-weeks-btn:disabled,.growth-dashboard .period-btn:disabled{opacity:.55;cursor:not-allowed}.growth-dashboard .trend-partial-hint{margin-top:6px;font-size:12px;font-style:normal;color:var(--ink-3);text-align:left}.growth-dashboard .growth-block{min-width:0}.growth-dashboard .growth-block+.growth-block{margin-top:24px;padding-top:24px;border-top:1px solid var(--line-soft)}.growth-dashboard .north-star-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:0}.growth-dashboard .north-star-card,.growth-dashboard .north-star-card-secondary{background:var(--surface-sunken);color:var(--ink);border:1px solid var(--line-soft);border-radius:10px;padding:16px 18px;text-align:left;display:flex;flex-direction:column;justify-content:flex-start;gap:6px}.growth-dashboard .north-star-label{justify-content:flex-start;font-size:13px;font-weight:500;color:var(--ink-2);opacity:1;margin-bottom:0}.growth-dashboard .north-star-value{font-size:30px;font-weight:600;line-height:1.2;letter-spacing:-.4px;color:var(--ink);margin-bottom:0}.growth-dashboard .north-star-sublabel{font-size:12px;color:var(--ink-3)}.growth-dashboard .north-star-change{font-size:12px;font-weight:500}.growth-dashboard .north-star-change.positive{color:var(--ok-text)}.growth-dashboard .north-star-change.negative{color:var(--ab-b-text)}.growth-dashboard .north-star-change.neutral{color:var(--ink-3)}.growth-dashboard .north-star-trend{grid-column:1 / -1;background:transparent;color:var(--ink);border:0;border-top:1px solid var(--line-soft);border-radius:0;padding:16px 0 0;margin-top:4px;min-width:0}.growth-dashboard .north-star-trend-header{flex-wrap:wrap;margin-bottom:8px}.growth-dashboard .north-star-trend .north-star-label{font-size:14px;font-weight:600;color:var(--ink)}.growth-dashboard .trend-chart-dim{opacity:.5}.growth-dashboard .registrations-daily-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.growth-dashboard .registrations-daily-header .subsection-title{margin-bottom:0}.growth-dashboard .retention-chart-wrapper,.growth-dashboard .power-curve-chart-wrapper,.growth-dashboard .tenure-chart-wrapper,.growth-dashboard .funnel-trend-chart-wrapper,.growth-dashboard .accounting-layout,.growth-dashboard .stickiness-layout,.growth-dashboard .retention-heatmap-wrapper{background:transparent;border:0;border-radius:0;padding:0;margin-bottom:12px}.growth-dashboard .accounting-layout{grid-template-columns:minmax(0,1fr) 220px;gap:20px}.growth-dashboard .accounting-summary{background:var(--surface-sunken);border:1px solid var(--line-soft);border-radius:10px;padding:14px 16px;gap:10px}.growth-dashboard .accounting-summary-title{color:var(--ink);font-size:13px}.growth-dashboard .accounting-stat-dot{border-radius:2px}.growth-dashboard .accounting-stat-label{color:var(--ink-2)}.growth-dashboard .accounting-stat-value{color:var(--ink)}.growth-dashboard .accounting-quick-ratio{border-top:1px solid var(--line)}.growth-dashboard .accounting-quick-ratio-label{color:var(--ink-3)}.growth-dashboard .accounting-quick-ratio-value{font-size:24px;font-weight:600;color:var(--ink)}.growth-dashboard .accounting-quick-ratio-value.positive{color:var(--ok-text)}.growth-dashboard .accounting-quick-ratio-value.negative{color:var(--ab-b-text)}.growth-dashboard .accounting-quick-ratio-value.neutral{color:var(--ink-3)}.growth-dashboard .accounting-quick-ratio-suffix{font-size:13px;font-weight:500}.growth-dashboard .stickiness-layout{grid-template-columns:260px minmax(0,1fr);gap:20px}.growth-dashboard .stickiness-stat-card{background:var(--surface-sunken);border:1px solid var(--line-soft);border-radius:10px;padding:14px 16px}.growth-dashboard .stickiness-stat-label{font-size:13px;color:var(--ink-2)}.growth-dashboard .stickiness-stat-value{font-size:26px;font-weight:600;color:var(--ink)}.growth-dashboard .stickiness-stat-unit{color:var(--ink-3)}.growth-dashboard .stickiness-stat-sub{font-size:12px;color:var(--ink-3)}.growth-dashboard .power-curve-summary{flex-wrap:wrap;gap:6px 20px;color:var(--ink-2)}.growth-dashboard .power-curve-summary strong{color:var(--ink)}.growth-dashboard .power-curve-heavy-ratio{color:var(--ink-3)}.growth-dashboard .funnel-period-selector{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.growth-dashboard .funnel-loading-spinner{font-style:normal;color:var(--ink-3);margin-left:0}.growth-dashboard .funnel-header,.growth-dashboard .funnel-step{grid-template-columns:minmax(0,1fr) 72px 90px}.growth-dashboard .funnel-header-label{color:var(--ink-3)}.growth-dashboard .funnel-bar,.growth-dashboard .funnel-bar-first{background:#dce4fb;color:var(--ink);border:1px solid #C9D6F8;border-radius:8px;min-height:38px;padding:8px 14px;gap:12px;font-size:13px}.growth-dashboard .funnel-bar-first{background:#c9d6f8;border-color:#b9c9f6}.growth-dashboard .funnel-bar-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.growth-dashboard .funnel-bar-count{font-weight:600}.growth-dashboard .funnel-bar-empty{background:var(--surface-sunken);color:var(--ink-3);border:1px dashed var(--gray-300);min-height:30px}.growth-dashboard .funnel-bar-compare{background:var(--gray-100);color:var(--ink-2);border:1px solid var(--line);min-height:26px;padding:3px 14px}.growth-dashboard .funnel-rate{color:var(--ink-3)}.growth-dashboard .funnel-total-rate{color:var(--ink)}.growth-dashboard .funnel-rate-delta.positive,.growth-dashboard .retention-delta.positive,.growth-dashboard .new-users-delta.positive{color:var(--ok-text)}.growth-dashboard .funnel-rate-delta.negative,.growth-dashboard .retention-delta.negative,.growth-dashboard .new-users-delta.negative{color:var(--ab-b-text)}.growth-dashboard .funnel-compare-legend{color:var(--ink-3);flex-wrap:wrap}.growth-dashboard .funnel-legend-current{background:#c9d6f8;border:1px solid #B9C9F6}.growth-dashboard .funnel-legend-compare{background:var(--gray-100);border:1px solid var(--line)}.growth-dashboard .same-day-activation{flex-wrap:wrap;background:var(--surface-sunken);border:1px solid var(--line-soft);border-radius:10px;margin-bottom:12px}.growth-dashboard .same-day-label{color:var(--ink-2)}.growth-dashboard .same-day-value{font-weight:600;color:var(--accent-strong)}.growth-dashboard .same-day-count{color:var(--ink-3)}.growth-dashboard .funnel-observation-hint{margin:0;background:var(--warn-soft);border-left:3px solid #E9B44C;color:var(--warn-text);border-radius:6px}.growth-dashboard .funnel-observation-hint strong{color:var(--warn-text)}.growth-dashboard .retention-view-tabs{margin-bottom:12px}.growth-dashboard .retention-heatmap-wrapper{overflow-x:auto}.growth-dashboard .retention-heatmap-table{margin:0;border-spacing:3px}.growth-dashboard .retention-heatmap-table th{color:var(--ink-3);font-size:12px;font-weight:500}.growth-dashboard .heatmap-cohort-label,.growth-dashboard .heatmap-cohort-size{background:transparent;color:var(--ink-2)}.growth-dashboard .heatmap-cohort-label{color:var(--ink);white-space:nowrap}.growth-dashboard .heatmap-cell{color:var(--ink);font-weight:500;border-radius:6px}.growth-dashboard .heatmap-na{background:var(--surface-sunken);color:var(--ink-3)}.growth-dashboard .heatmap-legend{border-top:1px solid var(--line-soft);color:var(--ink-2)}.growth-dashboard .heatmap-legend-scale span{color:var(--ink);border-radius:4px}.growth-dashboard .heatmap-legend-hint{color:var(--ink-3);font-style:normal}.growth-dashboard .retention-table-toggle{min-height:32px;padding:0 12px;border:1px solid var(--gray-300);border-radius:8px;background:var(--surface);color:var(--ink);font-weight:500}.growth-dashboard .retention-table-toggle:hover{background:var(--gray-100);border-color:var(--gray-300)}.growth-dashboard .retention-table-wrapper{overflow-x:auto;margin-bottom:0}.growth-dashboard .retention-cell{color:var(--ink)}.growth-dashboard .retention-na{color:var(--ink-3)}@media (max-width: 900px){.growth-dashboard .accounting-layout,.growth-dashboard .stickiness-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width: 600px){.growth-dashboard .funnel-header,.growth-dashboard .funnel-step{grid-template-columns:minmax(0,1fr) 56px 64px;gap:8px}.growth-dashboard .north-star-value{font-size:26px}}.behavior-dashboard .behavior-block{min-width:0}.behavior-dashboard .behavior-block+.behavior-block{margin-top:24px;padding-top:24px;border-top:1px solid var(--line-soft)}.behavior-dashboard .behavior-subblock{margin-top:20px;padding-top:16px;border-top:1px solid var(--line-soft)}.behavior-dashboard .time-selector-wrapper{margin-bottom:16px}.behavior-dashboard .time-selector{display:inline-flex;flex-wrap:wrap}.behavior-dashboard .time-selector button{padding:0 12px;cursor:pointer}.behavior-dashboard .chart-container{background:transparent;border:0;border-radius:0;padding:0;min-width:0}.behavior-dashboard .chart-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;font-size:13px;font-weight:600;color:var(--ink);margin:0 0 10px}.behavior-dashboard .metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:0}.behavior-dashboard .metric-card,.behavior-dashboard .metric-card.blue,.behavior-dashboard .metric-card.green,.behavior-dashboard .metric-card.purple,.behavior-dashboard .metric-card.orange{background:var(--surface-sunken);color:var(--ink);border:1px solid var(--line-soft);border-radius:10px;box-shadow:none;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.behavior-dashboard .metric-card:hover{transform:none;box-shadow:none}.behavior-dashboard .metric-label{display:flex;align-items:center;gap:4px;margin:0}.behavior-dashboard .metric-value{font-size:26px;margin:0;line-height:1.2}.behavior-dashboard .metric-card .metric-sub{color:var(--ink-3);font-size:12px;margin:0}.behavior-dashboard .metric-change,.behavior-dashboard .metric-card .metric-change.positive,.behavior-dashboard .metric-card .metric-change.negative,.behavior-dashboard .metric-card .metric-change.neutral{font-size:12px;font-weight:500;margin:0}.behavior-dashboard .metric-card .metric-change.positive{color:var(--ok-text)}.behavior-dashboard .metric-card .metric-change.negative{color:var(--ab-b-text)}.behavior-dashboard .metric-card .metric-change.neutral{color:var(--ink-3)}.behavior-dashboard .behavior-cumulative-hint{color:var(--ink-3);margin-top:10px}.behavior-dashboard .aha-lift-banner{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:12px;padding:10px 14px;background:var(--accent-soft);border:1px solid #C9D6F8;border-radius:10px;font-size:13px;color:var(--ink)}.behavior-dashboard .aha-lift-label{font-weight:600;color:var(--accent-strong)}.behavior-dashboard .aha-lift-value strong{color:var(--accent-strong)}.behavior-dashboard .aha-lift-banner.is-warning{margin:0 0 14px;background:var(--warn-soft);border-color:#f1d49b}.behavior-dashboard .aha-lift-banner.is-warning .aha-lift-label{color:var(--warn-text)}.behavior-dashboard .behavior-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.behavior-dashboard .behavior-table-scroll>.data-table{border:0;border-radius:0;margin:0;min-width:560px}.behavior-dashboard .data-table tbody tr:last-child td{border-bottom:0}.behavior-dashboard .data-table .num{text-align:right;white-space:nowrap}.behavior-dashboard .entry-attribution-table .col-entry{width:180px}.behavior-dashboard .entry-attribution-table .col-bar{min-width:180px}.behavior-dashboard .entry-attribution-table .entry-bar-track{height:8px;background:#f0f2f5;border-radius:4px}.behavior-dashboard .entry-attribution-table .entry-bar-fill{border-radius:4px}.behavior-dashboard code{font-size:12px;background:var(--gray-100);color:var(--ink-2);padding:2px 6px;border-radius:6px}.behavior-dashboard .leaderboard-toolbar{margin-bottom:10px}.behavior-dashboard .leaderboard-export-btn{min-height:32px;padding:0 12px;font-size:13px;font-weight:500;border-radius:8px}.behavior-dashboard .leaderboard-pagination{flex-wrap:wrap;color:var(--ink-2)}.behavior-dashboard .leaderboard-pagination-info{color:var(--ink-3)}.behavior-dashboard .leaderboard-pagination-page{color:var(--ink)}.behavior-dashboard .leaderboard-pagination-btn{min-height:32px;padding:0 12px;border:1px solid var(--gray-300);border-radius:8px;background:var(--surface);color:var(--ink);font-weight:500}.behavior-dashboard .leaderboard-pagination-btn:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-300)}.behavior-dashboard .leaderboard-pagination-btn:disabled{opacity:1;background:var(--surface-sunken);border-color:var(--line);color:var(--ink-disabled)}.behavior-dashboard .error-summary-empty{color:var(--ink-3);padding:24px;text-align:center}.ab-test-dashboard{display:flex;flex-direction:column;gap:16px}.ab-test-dashboard .experiment-meta-card{background:var(--surface-sunken);border:1px solid var(--line-soft);border-radius:10px;padding:14px 16px}.ab-test-dashboard .experiment-meta-title{font-size:12px;font-weight:600;color:var(--ink-3);text-transform:none;letter-spacing:.4px;margin-bottom:10px}.ab-test-dashboard .experiment-meta-grid{gap:12px 20px}.ab-test-dashboard .experiment-meta-label{color:var(--ink-3)}.ab-test-dashboard .experiment-meta-value{font-size:14px;color:var(--ink)}.ab-test-dashboard .srm-banner{flex-wrap:wrap;gap:10px;padding:10px 14px;border-radius:10px;font-size:13px}.ab-test-dashboard .srm-banner.srm-healthy{background:var(--ok-soft);border:1px solid #BFE3CF;color:var(--ok-text)}.ab-test-dashboard .srm-banner.srm-unhealthy{background:var(--danger-soft);border:1px solid #F3C2BC;color:var(--danger-text)}.ab-test-dashboard .srm-banner.srm-empty{background:var(--surface-sunken);border:1px solid var(--line);color:var(--ink-2)}.ab-test-dashboard .srm-icon{width:8px;height:8px;border-radius:4px;background:currentColor;flex-shrink:0}.ab-test-dashboard .srm-message{flex:1 1 260px;min-width:0}.ab-test-dashboard .ab-section-note{background:transparent;border-left:0;border-radius:0;padding:0;font-size:12px;color:var(--ink-3)}.ab-test-dashboard .ab-section{background:transparent;border:0;border-top:1px solid var(--line-soft);border-radius:0;padding:20px 0 0}.ab-test-dashboard .ab-section-title{font-size:14px;font-weight:600;color:var(--ink);margin:0 0 12px}.ab-test-dashboard .ab-section-hint{color:var(--ink-3);font-weight:400}.ab-test-dashboard .ab-section-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}.ab-test-dashboard .metrics-grid{gap:12px;margin-bottom:0}.ab-test-dashboard .metrics-grid.four-col,.ab-test-dashboard .metrics-grid.three-col{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ab-test-dashboard .metric-card.compare-card{background:var(--surface-sunken);border:1px solid var(--line-soft);border-radius:10px;color:var(--ink);padding:14px 16px;box-shadow:none}.ab-test-dashboard .metric-card.compare-card:hover{transform:none;box-shadow:none}.ab-test-dashboard .metric-card.compare-card .metric-label{font-size:13px;font-weight:500;color:var(--ink-2)}.ab-test-dashboard .compare-card-subtitle{color:var(--ink-3)}.ab-test-dashboard .compare-rates{gap:12px;flex-wrap:wrap}.ab-test-dashboard .compare-rate-block{flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.ab-test-dashboard .compare-rate-tag{width:auto;height:auto;padding:0;border-radius:0;background:transparent;font-size:12px;font-weight:600}.ab-test-dashboard .compare-rate-tag.tag-a{background:transparent;color:var(--ab-a-text)}.ab-test-dashboard .compare-rate-tag.tag-b{background:transparent;color:var(--ab-b-text)}.ab-test-dashboard .compare-rate-value{font-size:24px;font-weight:600;color:var(--ink)}.ab-test-dashboard .compare-diff-row{flex-wrap:wrap;gap:6px 10px;border-top:1px solid var(--line-soft);color:var(--ink-2)}.ab-test-dashboard .compare-diff,.ab-test-dashboard .compare-diff.positive,.ab-test-dashboard .compare-diff.negative{font-weight:600;color:var(--ink)}.ab-test-dashboard .ab-badge{padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600;border:0}.ab-test-dashboard .ab-badge-significant{background:var(--ok-soft);color:var(--ok-text)}.ab-test-dashboard .ab-badge-not-significant{background:var(--gray-100);color:var(--ink-2)}.ab-test-dashboard .ab-badge-insufficient{background:var(--warn-soft);color:var(--warn-text)}.ab-test-dashboard .ab-badge-neutral{background:var(--surface);color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line)}.ab-test-dashboard .ab-trend-chart{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}.ab-test-dashboard .ab-trend-title{font-size:13px;color:var(--ink)}.ab-test-dashboard .table-wrapper{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.ab-test-dashboard .table-wrapper>.data-table{border:0;border-radius:0;margin:0;min-width:520px}.ab-test-dashboard .ab-rates-table tbody tr:last-child td{border-bottom:0}.ab-test-dashboard .ab-rates-table .num{text-align:right;white-space:nowrap}.ab-test-dashboard .ab-rates-table .positive,.ab-test-dashboard .ab-rates-table .negative{color:var(--ink);font-weight:600}.ab-test-dashboard .ab-footer-notes{background:transparent;border-top:1px solid var(--line-soft);border-radius:0;padding:16px 0 0;font-size:12px;color:var(--ink-2)}.ab-test-dashboard .ab-footer-notes h4{font-size:13px;color:var(--ink)}.error-banner{background:var(--danger-soft);border:1px solid #F3C2BC;color:var(--danger-text);border-radius:10px}.social-value-dashboard{display:flex;flex-direction:column;gap:24px}.social-value-dashboard .sv-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:20px}.social-value-dashboard .sv-overview{background:var(--accent-soft);border:1px solid #C9D6F8;border-radius:10px;padding:20px 22px;display:flex;flex-direction:column;gap:12px;min-width:0}.social-value-dashboard .sv-overview-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.social-value-dashboard .sv-overview-label{font-size:14px;font-weight:500;color:var(--ink-2)}.social-value-dashboard .sv-seg{background:#ffffffb3;box-shadow:inset 0 0 0 1px #d5dff9}.social-value-dashboard .sv-overview-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}.social-value-dashboard .sv-overview-value{font-size:56px;font-weight:700;line-height:1.05;letter-spacing:-1px;color:var(--accent-strong)}.social-value-dashboard .sv-overview-unit{font-size:14px;color:var(--ink-2)}.social-value-dashboard .sv-overview-trend{display:inline-flex;align-items:baseline;gap:6px;font-size:14px;font-weight:600}.social-value-dashboard .sv-overview-trend.is-up{color:var(--ok-text)}.social-value-dashboard .sv-overview-trend.is-down{color:var(--ab-b-text)}.social-value-dashboard .sv-overview-trend-label{font-size:12px;font-weight:400;color:var(--ink-3)}.social-value-dashboard .sv-overview-users{display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:12px;border-top:1px solid #D5DFF9;font-size:14px;color:var(--ink-2)}.social-value-dashboard .sv-overview-users strong{color:var(--ink);font-weight:600}.social-value-dashboard .sv-trend{min-width:0}.social-value-dashboard .subsection-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--ink)}.social-value-dashboard .sv-list{border-top:1px solid var(--line-soft);padding-top:20px}.social-value-dashboard .sv-list-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.social-value-dashboard .sv-list-head .subsection-title{margin:0}.social-value-dashboard .sv-filter{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.social-value-dashboard .sv-filter .filter-label{margin-right:2px}.social-value-dashboard .sv-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.social-value-dashboard .sv-table-scroll>.data-table{border:0;border-radius:0;margin:0;min-width:560px}.social-value-dashboard .data-table tbody tr:last-child td{border-bottom:0}.social-value-dashboard .data-table .num{text-align:right}.social-value-dashboard .sv-muted{color:var(--ink-2)}.social-value-dashboard .sv-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.social-value-dashboard .sv-detail-btn{min-height:32px;padding:0 10px;font-size:13px;color:var(--accent-strong)}.social-value-dashboard .sv-empty{text-align:center;color:var(--ink-3);padding:40px 16px}.social-value-dashboard .pagination{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-top:14px}.social-value-dashboard .pagination-btns{display:flex;flex-wrap:wrap;gap:6px}.social-value-dashboard .page-btn{min-height:32px;min-width:32px}.sv-user-tag{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600}.sv-user-tag.is-new{background:var(--accent-soft);color:var(--accent-strong)}.sv-user-tag.is-old{background:var(--gray-100);color:var(--ink-2)}.fs-drawer.modal-overlay{z-index:1000}.fs-drawer>.fs-drawer-panel{width:min(640px,100vw);background:var(--surface)}.fs-drawer .fs-drawer-header{align-items:flex-start;gap:12px;padding:16px 20px}.fs-drawer .fs-drawer-heading{min-width:0}.fs-drawer .fs-drawer-kicker{font-size:12px;color:var(--ink-3)}.fs-drawer .modal-title{margin:4px 0 0;font-size:16px;font-weight:600;color:var(--ink);line-height:1.4;word-break:break-word}.fs-drawer .modal-close{flex-shrink:0;font-size:20px;line-height:1;cursor:pointer}.fs-drawer .modal-close:hover{background:var(--gray-100);color:var(--ink)}.fs-drawer .fs-masking-note{margin-left:8px;font-size:12px;font-weight:400;color:var(--warn-text)}.fs-drawer .fs-drawer-body{padding:20px;display:flex;flex-direction:column;gap:20px}.fs-drawer .fs-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:0;padding:14px 16px;background:var(--surface-sunken);border:1px solid var(--line-soft);border-radius:10px}.fs-drawer .fs-meta-item{min-width:0}.fs-drawer .fs-meta dt{font-size:12px;color:var(--ink-3)}.fs-drawer .fs-meta dd{margin:4px 0 0;font-size:14px;font-weight:600;color:var(--ink)}.fs-drawer .fs-section-title{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:8px}.fs-drawer .fs-insight-content{padding:12px 16px;background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:6px;font-size:14px;line-height:1.7;color:var(--ink);white-space:pre-wrap;word-break:break-word}.fs-drawer .fs-conversation{display:flex;flex-direction:column;min-height:300px}.fs-drawer .fs-msg{display:flex;gap:8px;margin-bottom:4px}.fs-drawer .fs-msg.is-user{flex-direction:row-reverse}.fs-drawer .fs-msg-avatar{width:32px;height:32px;border-radius:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;background:var(--gray-100);color:var(--ink-2)}.fs-drawer .fs-msg.is-user .fs-msg-avatar{background:var(--accent-soft);color:var(--accent-strong)}.fs-drawer .fs-msg-body{display:flex;flex-direction:column;align-items:flex-start;max-width:78%;min-width:0}.fs-drawer .fs-msg.is-user .fs-msg-body{align-items:flex-end}.fs-drawer .fs-msg-bubble{padding:8px 12px;border-radius:10px 10px 10px 2px;background:var(--gray-100);color:var(--ink);font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.fs-drawer .fs-msg.is-user .fs-msg-bubble{background:var(--accent-soft);border-radius:10px 10px 2px}.fs-drawer .fs-msg-time{margin-top:2px;font-size:11px;color:var(--ink-3)}.growth-dashboard .north-star-row{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 700px){.growth-dashboard .north-star-row{grid-template-columns:minmax(0,1fr)}}:is(.growth-dashboard,.behavior-dashboard,.ab-test-dashboard,.social-value-dashboard) .recharts-legend-item-text{color:var(--ink-2)!important}.social-value-dashboard .sv-overview{justify-content:center}@media (max-width: 900px){.growth-dashboard .funnel-bar{overflow:visible}.growth-dashboard .funnel-bar-label{overflow:visible;text-overflow:clip;white-space:nowrap}}.masking-status{display:flex;flex-direction:column;gap:16px;min-width:0}.masking-state{padding:40px 16px;text-align:center;font-size:14px;color:var(--ink-3)}.masking-state.is-error{color:var(--danger-text)}.masking-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.masking-intro{margin:0;font-size:13px;color:var(--ink-3)}.masking-refresh-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--gray-300);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;font-weight:500;cursor:pointer}.masking-refresh-btn:hover{background:var(--gray-100)}.masking-refresh-icon,.masking-status-icon svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.masking-block-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding-top:4px}.masking-block-title{margin:0;font-size:14px;font-weight:600;color:var(--ink)}.masking-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:600}.masking-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.masking-badge.is-ok{background:var(--ok-soft);color:var(--ok-text)}.masking-badge.is-warn{background:var(--warn-soft);color:var(--warn-text)}.masking-badge.is-late{background:var(--ab-b-soft);color:var(--ab-b-text)}.masking-badge.is-danger{background:var(--danger-soft);color:var(--danger-text)}.masking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.masking-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;box-sizing:border-box}.masking-status-card{display:flex;align-items:center;gap:14px;padding:14px 16px}.masking-status-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none}.masking-status-icon.is-done{background:var(--ok-soft);color:var(--ok-text)}.masking-status-icon.is-wait{background:var(--warn-soft);color:var(--warn-text)}.masking-status-text{display:flex;flex-direction:column;gap:2px;min-width:0}.masking-status-label{font-size:13px;color:var(--ink-2)}.masking-status-value{font-size:18px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.masking-status-note{font-size:12px;color:var(--ink-3)}.masking-progress-card{display:flex;flex-direction:column;gap:12px;padding:16px 18px}.masking-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.masking-progress-title{margin:0;font-size:14px;font-weight:600;color:var(--ink)}.masking-progress-percent{font-size:22px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.masking-progress-track{height:10px;border-radius:5px;background:var(--line-soft);overflow:hidden}.masking-progress-fill{height:100%;border-radius:5px;transition:width .3s}.masking-progress-meta{font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}.masking-progress-meta strong{font-weight:600}.masking-progress-meta .is-pending{color:var(--danger-text)}.masking-progress-meta .is-clear{color:var(--ok-text)}.masking-progress-meta .is-muted{color:var(--ink-2)}.masking-note{margin:0;max-width:760px;padding:12px 14px;font-size:13px;line-height:1.7;color:var(--ink-2);background:var(--surface-sunken);border:1px solid var(--line);border-radius:10px}@media (prefers-reduced-motion: reduce){.masking-progress-fill{transition:none}}.list-section{padding:0;overflow:hidden}.list-section>.list-card-head,.crisis-dashboard .list-card-head{padding:16px 20px;border-bottom:1px solid var(--line)}.list-section>.table-scroll,.list-section>.pagination{padding-left:20px;padding-right:20px}.list-section>.table-scroll{padding:0}.list-page .section-title,.crisis-dashboard .subsection-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 12px}.list-page .list-card-head:not(:has(.chip-filters)) .section-title{margin-bottom:0}.list-summary{font-size:13px;font-weight:400;color:var(--ink-3)}.list-summary strong{color:var(--ink);font-weight:600}.chip-filters{display:flex;flex-direction:column;gap:8px}.chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0}.chip-row-label{font-size:12px;font-weight:600;color:var(--ink-3);min-width:60px}.chip-btn{min-height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--gray-300);background:var(--surface);color:var(--gray-700);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.chip-btn:hover{background:var(--gray-100);color:var(--ink)}.chip-btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.crisis-dashboard .crisis-filter-input{height:32px;width:180px;max-width:100%;padding:0 10px;font-size:13px}.crisis-dashboard .crisis-filter-btn{height:32px;padding:0 12px;font-size:13px;cursor:pointer}.crisis-dashboard .crisis-filter-chip{min-height:28px;background:var(--accent-soft);color:var(--accent-strong);border:1px solid #C9D6F8;border-radius:14px}.crisis-dashboard .crisis-chip-close{width:24px;height:24px;color:var(--accent-strong)}.crisis-dashboard .crisis-chip-close:hover{background:#d7e2fc}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.list-table{min-width:100%}.list-section .list-table,.crisis-dashboard .list-table{border:0;border-radius:0}.list-table th{padding:10px 12px;white-space:nowrap;text-transform:none;letter-spacing:0}.list-table td{padding:8px 12px;height:44px;font-size:14px;white-space:nowrap;vertical-align:middle}.list-table td.cell-note,.list-table td.cell-reason{white-space:normal;min-width:160px;max-width:260px;color:var(--ink-2)}.list-table .cell-muted{color:var(--ink-2)}.list-table .cell-strong{font-weight:500}.list-table .cell-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.list-table .cell-sub{margin-left:6px;font-size:12px;color:var(--ink-3)}.list-table .cell-actions{white-space:nowrap}.list-table tr.row-released td{background:var(--surface-sunken)}.cell-empty{color:var(--ink-disabled)}.list-table td.cell-empty-row{text-align:center;color:var(--ink-3);padding:40px 12px;height:auto}.note-preview{cursor:help}.note-more{color:var(--accent-strong);font-size:12px;font-weight:600}.th-sort{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.th-sort span{color:var(--ink-disabled)}.th-sort.is-active{color:var(--ink)}.th-sort.is-active span{color:var(--accent-strong);font-weight:700}.list-page .action-btn,.crisis-dashboard .action-btn,.su-page .list-table .action-btn{min-height:32px;padding:0 10px;font-size:13px;margin-right:6px}.action-btn.view-btn{color:var(--accent-strong)}.action-btn.view-btn:hover{color:#163391}.star-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ink-disabled);cursor:pointer;transform:none}.star-btn svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.star-btn:hover{background:var(--gray-100);color:var(--ink-2);transform:none}.star-btn.starred{color:#b07a0e}.star-btn.starred svg{fill:#e0a21f}.list-page .tag,.su-page .list-table .tag,.crisis-dashboard .tag,.crisis-dashboard .crisis-ab-tag,.detail-drawer .tag,.detail-drawer .crisis-ab-tag{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.tag-danger{background:var(--danger-soft);color:var(--danger-text)}.tag-warn{background:var(--warn-soft);color:var(--warn-text)}.tag-muted,.tag-false-positive{background:#f0f2f5;color:var(--ink-2)}.crisis-ab-tag.ab-a{background:var(--ab-a-soft);color:var(--ab-a-text)}.crisis-ab-tag.ab-b{background:var(--ab-b-soft);color:var(--ab-b-text)}.crisis-source-tag,.crisis-source-tag.source-p0,.crisis-source-tag.source-llm{padding:0;background:transparent;color:var(--ink);font-size:14px;font-weight:400}.crisis-keyword{background:var(--gray-100);color:var(--ink-2);padding:2px 6px;border-radius:4px;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.crisis-user-link{min-height:28px;color:var(--accent-strong);font-size:14px;font-weight:500;text-decoration:none}.crisis-user-link:hover{text-decoration:underline;opacity:1}.buffer-meter{display:inline-flex;align-items:center;gap:8px}.buffer-pips{display:inline-flex;gap:2px}.buffer-pips span{width:8px;height:14px;border-radius:2px;background:var(--line)}.buffer-pips span.is-on{background:var(--accent)}.buffer-pips span.is-full{background:#b07a0e}.buffer-count{font-size:13px;font-weight:600}.crisis-overview-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.crisis-overview-grid .metric-card,.crisis-overview-grid .metric-card.red,.crisis-overview-grid .metric-card.purple,.crisis-overview-grid .metric-card.blue,.crisis-overview-grid .metric-card.green,.crisis-overview-grid .metric-card.orange{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:1px solid var(--line);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}.crisis-overview-grid .metric-label{margin-bottom:0;font-size:13px;font-weight:500;color:var(--ink-2)}.crisis-overview-grid .metric-value{font-size:28px;line-height:1.2}.crisis-overview-grid .metric-trend{margin-top:0;font-size:12px;color:var(--ink-3)}.crisis-dashboard .trend-worse{color:var(--danger-text);font-weight:600}.boundary-dashboard .trend-worse{color:var(--ab-b-text)}.crisis-dashboard .trend-better{color:var(--ok-text);font-weight:600}.crisis-dashboard .list-card{border:1px solid var(--line);border-radius:10px;overflow:hidden}.crisis-dashboard .subsection-title{font-size:15px}.crisis-dashboard .crisis-table-wrapper{margin-bottom:0}.crisis-dashboard .pagination,.list-section>.pagination{margin-top:0;padding:12px 20px;border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:12px}.list-page .pagination-btns,.crisis-dashboard .pagination-btns,.su-page .pagination-btns{display:flex;flex-wrap:wrap;gap:6px}.list-page .page-btn,.crisis-dashboard .page-btn,.su-page .page-btn{min-width:32px;height:32px;padding:0 10px;border-radius:7px;font-size:13px}.detail-drawer .modal-header{padding:14px 20px}.detail-drawer .modal-close{font-size:20px;line-height:1}.detail-drawer .dd-body{padding:0;display:block}.dd-meta{margin:0;padding:16px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;border-bottom:1px solid var(--line-soft)}.dd-meta dt{font-size:12px;color:var(--ink-3)}.dd-meta dd{margin:4px 0 0;font-size:14px;color:var(--ink);overflow-wrap:anywhere}.dd-meta .dd-meta-wide{grid-column:1 / -1}.dd-strong{font-weight:600}.dd-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.dd-hint{display:block;margin-top:4px;font-size:12px;color:var(--ink-3)}.dd-score-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;font-size:13px;color:var(--ink-2)}.dd-score-line strong{color:var(--ink)}.dd-score-line .dd-strong{font-size:15px;color:var(--ink)}.dd-section{padding:16px 20px;border-bottom:1px solid var(--line-soft)}.dd-section:last-child{border-bottom:0}.dd-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dd-section-title{display:block;margin:0 0 10px;font-size:12px;font-weight:600;color:var(--ink-3)}.dd-section-head .dd-section-title{margin:0}.dd-count{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:9px;background:var(--gray-100);color:var(--ink-2);font-size:12px;text-align:center}.dd-empty{padding:32px 20px;text-align:center;color:var(--ink-3);font-size:13px}.dd-insight,.dd-quote{border:1px dashed #C9CED6;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.dd-quote{border-style:solid;border-color:#f1c9a6;background:#fdf7f1}.dd-insight-row{display:flex;flex-direction:column;gap:2px}.dd-insight-label{font-size:12px;font-weight:600;color:var(--ink-3)}.dd-pending{margin-left:4px;font-weight:400;color:var(--ink-3)}.dd-insight-title{font-size:14px;font-weight:600;color:var(--ink)}.dd-insight-body{font-size:13px;line-height:1.6;color:var(--gray-700);white-space:pre-wrap;word-break:break-word}.dd-chat .cf-box{max-height:360px}.dd-chat .cf-head{padding:8px 12px;font-size:12px;font-weight:600;color:var(--ink-3)}.detail-drawer .cf-box{border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.detail-drawer .cf-head{border-bottom:1px solid var(--line);background:var(--surface)}.detail-drawer .cf-list{padding:12px;display:flex;flex-direction:column;gap:10px;overflow:auto;background:var(--surface)}.dd-msg{display:flex;flex-direction:column;gap:3px;max-width:85%}.dd-msg.is-user{align-self:flex-end;align-items:flex-end;margin-left:auto}.dd-msg.is-ai{align-self:flex-start;align-items:flex-start}.dd-msg-role{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-3)}.dd-msg-badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;background:var(--ab-b-soft);color:var(--ab-b-text);font-size:11px;font-weight:600}.dd-bubble{padding:8px 12px;font-size:13px;line-height:1.6;color:var(--ink);white-space:pre-wrap;word-break:break-word}.dd-msg.is-user .dd-bubble{background:var(--accent-soft);border-radius:10px 10px 2px}.dd-msg.is-ai .dd-bubble{background:var(--gray-100);border-radius:10px 10px 10px 2px}.dd-msg-meta{font-size:11px;color:var(--ink-3)}.dd-msg.tone-current .dd-bubble{background:#fdf7f1;box-shadow:inset 0 0 0 1px #f1c9a6}.dd-msg.tone-trigger .dd-bubble{background:var(--danger-soft);box-shadow:inset 0 0 0 1px #f3c2bc}.dd-msg.tone-trigger .dd-msg-badge{background:var(--danger-soft);color:var(--danger-text)}.is-boundary .dd-msg.tone-trigger .dd-bubble{background:var(--warn-soft);box-shadow:inset 0 0 0 1px #f0d49a}.is-boundary .dd-msg.tone-trigger .dd-msg-badge{background:var(--warn-soft);color:var(--warn-text)}.dd-msg.tone-reply .dd-bubble{background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--line)}.dd-msg.tone-reply .dd-msg-badge{background:var(--gray-100);color:var(--ink-2)}.dd-msg.tone-pending .dd-bubble{background:var(--surface-sunken);color:var(--ink-3);font-style:italic;box-shadow:inset 0 0 0 1px var(--line-soft)}.dd-note-list{display:flex;flex-direction:column;gap:8px}.dd-note{background:var(--surface-sunken);border:1px solid var(--line-soft);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.dd-note-text{font-size:13px;line-height:1.6;color:var(--ink);word-break:break-word}.dd-note-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink-3)}.dd-note-del{min-height:28px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--danger-text);font:inherit;font-size:12px;cursor:pointer}.dd-note-del:hover{background:var(--danger-soft)}.dd-note-del:disabled{opacity:.5;cursor:default}.dd-notes .dd-empty{padding:12px 0;text-align:left}.dd-note-form{margin-top:12px;display:flex;flex-direction:column;gap:4px}.dd-note-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--ink-2)}.dd-note-label textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--gray-300);border-radius:8px;font:inherit;font-size:13px;color:var(--ink);resize:vertical}.dd-note-label textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2e5be626;outline:none}.dd-note-counter{align-self:flex-end;font-size:12px;color:var(--ink-3)}.dd-actions{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.dd-actions-right{display:flex;gap:8px;margin-left:auto}.detail-drawer .action-btn{min-height:36px;padding:0 14px;font-size:14px;margin-right:0}.dd-textblock{background:var(--surface-sunken);border:1px solid var(--line-soft);border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.7;color:var(--gray-700);white-space:pre-wrap;word-break:break-word}.dd-textblock.is-reply{background:var(--ok-soft);border-color:#cde8d8;color:var(--ok-text)}.dd-images{display:flex;flex-wrap:wrap;gap:12px}.dd-image{width:112px;height:112px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--gray-100);color:var(--ink-3);font-size:13px;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer}.dd-image img{width:100%;height:100%;object-fit:cover}.dd-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#14161bcc;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.dd-preview img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px}.login-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:16px}.login-gate-card{width:100%;max-width:400px;box-sizing:border-box;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:36px 32px 32px;text-align:center}.login-gate-icon{width:56px;height:56px;margin:0 auto 18px;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong);display:flex;align-items:center;justify-content:center}.login-gate-title{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--ink)}.login-gate-text{margin:0 0 24px;font-size:14px;line-height:1.6;color:var(--ink-2)}.login-gate .login-gate-btn,.token-expired-modal .action-btn{min-height:40px;padding:0 24px;font-size:14px;margin-right:0}.app-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:2000;max-width:calc(100vw - 32px);padding:10px 16px;border-radius:8px;border:1px solid #F3C2BC;background:var(--danger-soft);color:var(--danger-text);font-size:14px;font-weight:500;box-shadow:var(--shadow-lg)}.token-expired-modal{width:min(400px,calc(100vw - 32px));padding:28px 24px 24px;text-align:center;align-items:center}.token-expired-title{margin:0 0 8px;font-size:17px;font-weight:600;color:var(--ink)}.token-expired-text{margin:0 0 20px;font-size:14px;color:var(--ink-2)}.lock-svg{color:var(--ink-3);margin-bottom:12px}.lock-text{margin:0 0 16px;font-size:14px;color:var(--ink-2)}@media (max-width: 900px){.list-section>.list-card-head,.crisis-dashboard .list-card-head{padding:14px 16px}.chip-row-label{min-width:100%}.list-section>.pagination,.crisis-dashboard .pagination{padding:12px 16px}.dd-meta,.dd-section{padding-left:16px;padding-right:16px}.dd-msg{max-width:92%}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.abq-card{max-width:640px;padding:24px}.abq-card .section-title{margin-bottom:16px}.abq-field{display:flex;flex-direction:column;gap:6px}.abq-label{font-size:13px;font-weight:500;color:var(--gray-700)}.abq-search{max-width:none;margin:0;flex-wrap:wrap;gap:10px}.abq-search .search-input{flex:1 1 240px;height:44px;padding:0 12px;font-size:15px}.abq-search .search-btn{height:44px;padding:0 22px;font-size:15px}.abq-search .search-btn:disabled{opacity:.6;cursor:default}.abq-hint{font-size:12px;color:var(--ink-3)}.abq-result,.abq-result.search-result{max-width:none;margin-top:16px;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:var(--gray-100);display:flex;flex-direction:column;gap:10px}.abq-result.is-a{border-color:#c9d6f8;background:var(--ab-a-soft)}.abq-result.is-b{border-color:#f1c9a6;background:var(--ab-b-soft)}.abq-result .abq-result-label{margin:0;font-size:12px;font-weight:600;color:var(--ink-2)}.abq-result-main{display:flex;align-items:center;gap:14px}.abq-badge{width:48px;height:48px;flex:0 0 auto;border-radius:10px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}.abq-result.is-a .abq-badge{color:var(--ab-a-text);border-color:#c9d6f8}.abq-result.is-b .abq-badge{color:var(--ab-b-text);border-color:#f1c9a6}.abq-result-text{display:flex;flex-direction:column;gap:2px;min-width:0}.abq-result .abq-result-title{font-size:18px;font-weight:600;color:var(--ink)}.abq-result-sub{font-size:13px;color:var(--ink-2);overflow-wrap:anywhere}.prompt-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.tool-page .prompt-tabs{display:inline-flex;margin:0;background:#eef0f3;border-radius:9px;padding:3px;gap:2px}.tool-page .prompt-tab-btn{min-height:32px;padding:0 14px;cursor:pointer}.su-hint{font-size:13px;color:var(--ink-3)}.prompt-layout{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.prompt-layout>.section{margin-bottom:0}.prompt-editor{flex:999 1 560px;min-width:0;padding:0;overflow:hidden;display:flex;flex-direction:column}.prompt-editor-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.prompt-editor-heading{display:flex;flex-direction:column;gap:2px}.prompt-editor .section-title{margin:0}.prompt-editor-meta{font-size:12px;color:var(--ink-3)}.prompt-editor .tag-warn{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:6px;background:var(--warn-soft);color:var(--warn-text);font-size:12px;font-weight:600}.prompt-editor .prompt-textarea{display:block;width:100%;box-sizing:border-box;min-height:520px;margin:0;padding:18px 20px;border:0;border-radius:0;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.75;color:var(--ink);background:var(--surface);resize:vertical;white-space:pre-wrap}.prompt-editor .prompt-textarea:focus{box-shadow:none;outline:2px solid var(--accent);outline-offset:-2px}.prompt-editor .prompt-actions{margin:0;padding:14px 20px;border-top:1px solid var(--line);background:var(--surface-sunken);gap:10px}.tool-page .action-btn{margin-right:0}.prompt-editor .prompt-actions .action-btn{min-height:36px;padding:0 16px;font-size:14px}.prompt-layout .history-section{flex:1 1 300px;min-width:0;margin-top:0;padding:0;border-top:1px solid var(--line);overflow:hidden}.prompt-layout .history-title{margin:0;padding:16px 20px;border-bottom:1px solid var(--line);font-size:16px;font-weight:600;color:var(--ink)}.prompt-layout .history-title span{font-size:13px;font-weight:400;color:var(--ink-3);margin-left:4px}.prompt-layout .history-list{list-style:none;margin:0;padding:0;gap:0}.prompt-layout .history-item{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:14px 20px;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;background:var(--surface)}.prompt-layout .history-item:last-child{border-bottom:0}.prompt-layout .history-info{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.prompt-layout .history-time{font-size:13px;font-weight:600;color:var(--ink)}.prompt-layout .history-admin{font-size:12px;font-weight:400;color:var(--ink-2)}.prompt-layout .history-info .tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-size:12px}.prompt-layout .history-actions{display:flex;gap:8px;margin-top:2px}.prompt-layout .history-actions .action-btn{min-height:32px;padding:0 10px;font-size:13px}.history-empty{padding:20px;font-size:14px;color:var(--ink-3)}.history-prompt-modal{width:min(800px,calc(100vw - 32px));max-width:800px;max-height:90vh}.history-prompt-modal .modal-header{padding:16px 20px}.history-prompt-body{padding:20px;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0;gap:14px}.history-prompt-meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;color:var(--ink-2)}.history-prompt-meta strong{color:var(--ink);font-weight:600;margin-left:4px}.history-prompt-content{flex:1;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface-sunken);padding:16px 18px;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.75;color:var(--ink);white-space:pre-wrap}.history-prompt-modal .modal-footer{padding:14px 20px;gap:10px}.history-prompt-modal .action-btn,.confirm-modal .action-btn{min-height:36px;padding:0 16px;font-size:14px;margin-right:0}.su-add{padding:18px 20px}.su-add .section-title{font-size:15px;margin-bottom:10px}.su-add-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.su-field{display:flex;flex-direction:column;gap:6px;flex:0 1 280px;min-width:0;font-size:13px;color:var(--gray-700)}.su-field .search-input{flex:0 0 auto;height:40px;padding:0 12px;font-size:14px}.su-page .su-add-btn{min-height:40px;padding:0 18px;font-size:14px;font-weight:600}.su-page .su-add-btn:disabled,.confirm-modal .action-btn:disabled{opacity:.5;cursor:default}.su-list-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.su-list-head .section-title{margin:0}.su-list-head .chip-row-label{min-width:0}.action-btn.danger-solid{background:var(--danger-fill);border:1px solid var(--danger-fill);color:#fff;font-weight:600}.action-btn.danger-solid:hover:not(:disabled){background:#912018;border-color:#912018;color:#fff}.confirm-modal{width:min(440px,calc(100vw - 32px));max-width:440px}.confirm-modal .modal-header{padding:16px 20px}.confirm-modal-body{padding:18px 20px 8px}.confirm-modal-message{margin:0 0 10px;font-size:15px;line-height:1.6;color:var(--ink)}.confirm-modal-warn{margin:0 0 12px;font-size:13px;color:var(--danger-text)}.confirm-modal-label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--gray-700)}.confirm-modal-label textarea{width:100%;box-sizing:border-box;min-height:80px;padding:8px 10px;border:1px solid var(--gray-300);border-radius:8px;font:inherit;font-size:14px;color:var(--ink);resize:vertical}.confirm-modal-label textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2e5be626;outline:none}.confirm-modal .modal-footer{padding:14px 20px;gap:10px}@media (max-width: 900px){.abq-card{padding:18px 16px}.prompt-editor .prompt-textarea{min-height:360px;padding:14px 16px}.prompt-editor-head,.prompt-editor .prompt-actions{padding-left:16px;padding-right:16px}}
