body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:48px;text-align:center;width:100%}.login-header h1{color:#333;font-size:32px;font-weight:600;margin:0 0 8px}.login-header p{color:#666;font-size:16px;margin:0 0 32px}.google-login-button{align-items:center;background:#fff;border:2px solid #ddd;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:12px;justify-content:center;padding:12px 24px;transition:all .2s ease;width:100%}.google-login-button:hover{background:#f8f8f8;border-color:#ccc;box-shadow:0 2px 8px #0000001a}.google-login-button:active{transform:translateY(1px)}.google-icon{height:20px;width:20px}.divider{align-items:center;color:#999;display:flex;font-size:14px;margin:24px 0}.divider:after,.divider:before{border-bottom:1px solid #ddd;content:"";flex:1 1}.divider span{padding:0 16px}.email-login-button{align-items:center;background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;display:flex;font-size:16px;font-weight:500;justify-content:center;padding:12px 24px;transition:all .2s ease;width:100%}.email-login-button:hover{background:#f0f4ff;border-color:#5568d3;color:#5568d3}.email-login-button:active{transform:translateY(1px)}.email-form{display:flex;flex-direction:column;gap:16px;width:100%}.email-form h3{color:#333;font-size:20px;margin:0 0 8px;text-align:center}.email-form input{border:2px solid #ddd;border-radius:8px;font-size:14px;padding:12px 16px;transition:border-color .2s ease}.email-form input:focus{border-color:#667eea;outline:none}.email-form input:disabled{background:#f5f5f5;cursor:not-allowed}.email-form .error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;padding:12px;text-align:center}.submit-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .2s ease}.submit-button:hover:not(:disabled){background:#5568d3;box-shadow:0 2px 8px #667eea4d}.submit-button:disabled{cursor:not-allowed;opacity:.5}.submit-button:active:not(:disabled){transform:translateY(1px)}.back-button,.toggle-button{background:#0000;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:8px 16px;transition:color .2s ease}.back-button:hover:not(:disabled),.toggle-button:hover:not(:disabled){color:#5568d3;text-decoration:underline}.back-button:disabled,.toggle-button:disabled{cursor:not-allowed;opacity:.5}.admin-header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 #0000001a}.header-content{justify-content:space-between;margin:0 auto;max-width:1200px;padding:16px 24px}.header-content,.header-left{align-items:center;display:flex}.header-left{gap:32px}.header-nav{align-items:center;display:flex;gap:4px}.nav-link{border-radius:6px;color:#6b7280;font-size:14px;font-weight:500;padding:6px 14px;text-decoration:none;transition:color .15s ease,background .15s ease}.nav-link:hover{background:#f3f4f6;color:#1f2937}.nav-link--active{background:#eff6ff;color:#1d4ed8}.header-title{color:#1f2937;font-size:24px;font-weight:600;margin:0}.header-right{align-items:center;display:flex;gap:12px}.language-toggle,.logout-button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.language-toggle:hover,.logout-button:hover{background:#f9fafb;border-color:#9ca3af}.language-toggle:active,.logout-button:active{transform:translateY(1px)}.language-toggle{min-width:80px}.admin-email{color:#555;font-size:13px;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:700px){.admin-email{display:none}}.admin-layout{background:#f9fafb;display:flex;flex-direction:column;min-height:100vh}.admin-main{flex:1 1;margin:0 auto;max-width:1200px;padding:24px;width:100%}.bot-selector{align-items:center;display:flex;gap:12px}.bot-selector-label{color:#374151;font-size:14px;font-weight:500;margin:0}.bot-selector-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;min-width:200px;padding:8px 12px;transition:all .2s ease}.bot-selector-dropdown:hover:not(:disabled){border-color:#9ca3af}.bot-selector-dropdown:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.bot-selector-dropdown:disabled{background:#f3f4f6;cursor:not-allowed}.bot-selector-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;padding:8px 12px}.bot-selector-empty{color:#6b7280;font-size:14px;padding:8px 12px}.media-upload-container{margin-bottom:1.5rem}.media-upload-label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.media-upload-description{color:#6b7280;font-size:.75rem;line-height:1.4;margin-bottom:.75rem}.media-upload-dropzone{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:.5rem;cursor:pointer;padding:2rem;text-align:center;transition:all .2s ease}.media-upload-dropzone:hover:not(.disabled){background-color:#f3f4f6;border-color:#667eea}.media-upload-dropzone.dragging{background-color:#eef2ff;border-color:#667eea}.media-upload-dropzone.disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.5}.media-upload-icon{color:#9ca3af;height:3rem;margin:0 auto .75rem;width:3rem}.media-upload-dropzone p{color:#6b7280;font-size:.875rem;margin:0}.media-upload-preview-container{position:relative}.media-upload-preview{border:2px solid #e5e7eb;border-radius:.5rem;max-width:400px;overflow:hidden;position:relative}.media-upload-preview-img{display:block;height:auto;width:100%}.media-upload-remove-btn{align-items:center;background-color:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:2rem;justify-content:center;position:absolute;right:.5rem;top:.5rem;transition:background-color .2s ease;width:2rem}.media-upload-remove-btn:hover{background-color:#dc2626}.media-upload-remove-btn:disabled{cursor:not-allowed;opacity:.5}.media-upload-file-info{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.5rem;margin-top:.75rem;padding:.75rem}.media-upload-file-name{color:#374151;font-size:.875rem;font-weight:500;margin:0 0 .25rem;word-break:break-word}.media-upload-file-meta{color:#6b7280;font-size:.75rem;margin:0}.media-upload-progress-wrapper{margin-top:1rem}.media-upload-progress-item{margin-bottom:.75rem}.media-upload-progress-label{color:#6b7280;display:block;font-size:.75rem;margin-bottom:.25rem}.media-upload-progress-bar{background-color:#e5e7eb;border-radius:.25rem;height:.5rem;overflow:hidden;width:100%}.media-upload-progress-fill{background-color:#667eea;height:100%;transition:width .3s ease}.media-upload-success{color:#10b981;font-size:.875rem;font-weight:500;margin-top:.75rem}.media-upload-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626;font-size:.875rem;margin-top:.75rem;padding:.75rem}.push-topic-form{gap:20px}.form-group,.push-topic-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-label{color:#374151;font-size:14px;font-weight:500}.required{color:#dc2626}.optional{color:#6b7280;font-weight:400}.form-input,.form-textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s ease}.form-input:focus,.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input:disabled,.form-textarea:disabled{background:#f3f4f6;cursor:not-allowed}.form-textarea{min-height:100px;resize:vertical}.form-hint-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.character-count,.form-hint{color:#6b7280;font-size:12px;margin:0}.character-count{font-weight:500;white-space:nowrap}.character-count.warning{color:#f59e0b}.alert{border-radius:6px;font-size:14px;line-height:1.5;padding:12px 16px}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.alert-warning{background:#fffbeb;border:1px solid #fde68a;color:#d97706}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.button:disabled{cursor:not-allowed;opacity:.5}.button-primary{background:#667eea;color:#fff}.button-primary:hover:not(:disabled){background:#5568d3;box-shadow:0 2px 8px #667eea4d}.button-primary:active:not(:disabled){transform:translateY(1px)}.button-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.button-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.button-secondary:active:not(:disabled){transform:translateY(1px)}.info-box{background-color:#eff6ff;border-left:4px solid #3b82f6;border-radius:4px;color:#1e40af;font-size:13px;line-height:1.5;margin-top:8px;padding:12px 16px}.example-hint{color:#6b7280;font-size:12px;font-style:italic;line-height:1.4;margin-top:6px}.warning-text{animation:pulse 1.5s ease-in-out infinite;color:#dc2626;font-weight:600}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}input[type=datetime-local]{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}input[type=datetime-local]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}input[type=datetime-local]:disabled{background-color:#f3f4f6;cursor:not-allowed}@media (max-width:768px){.form-textarea,input[type=datetime-local]{font-size:16px}}.push-topic-page{margin:0 auto;max-width:800px}.page-header{margin-bottom:32px}.page-title{margin:0 0 8px}.page-description{font-size:16px}.bot-selector-container{margin-bottom:24px;padding:16px}.bot-selector-container,.push-topic-form-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d}.push-topic-form-container{padding:24px}.error-container,.loading-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d;padding:48px;text-align:center}.loading-container p{color:#6b7280;font-size:16px;margin:0}.error-message{color:#dc2626;font-size:16px;margin:0}.analytics-page{margin:0 auto;max-width:1100px}.page-header{margin-bottom:24px}.page-title{color:#1f2937;font-size:28px;font-weight:600;margin:0 0 6px}.page-description{color:#6b7280;font-size:15px;margin:0}.analytics-filters{align-items:flex-end;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:16px 20px}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.filter-input,.filter-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:14px;padding:7px 10px;transition:border-color .15s ease}.filter-input:focus,.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-apply-button{align-self:flex-end;background:#1d4ed8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:background .15s ease}.filter-apply-button:hover{background:#1e40af}.filter-apply-button:disabled{background:#93c5fd;cursor:not-allowed}.analytics-disabled,.analytics-error,.analytics-loading,.analytics-unavailable{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d;padding:64px 32px;text-align:center}.analytics-disabled p,.analytics-error p,.analytics-loading p,.analytics-unavailable p{color:#6b7280;font-size:16px;margin:0}.analytics-error p{color:#dc2626}.analytics-unavailable p{color:#92400e}.analytics-disabled p{color:#6b7280}.analytics-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d;margin-bottom:24px;padding:20px 24px}.section-title{color:#374151;font-size:16px;font-weight:600;margin:0 0 16px}.kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:24px}.kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:6px;padding:16px 20px}.kpi-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.kpi-value{color:#1f2937;font-size:28px;font-weight:700;line-height:1}.analytics-table-wrapper{overflow-x:auto}.analytics-table{border-collapse:collapse;font-size:14px;width:100%}.analytics-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.analytics-table td{border-bottom:1px solid #f3f4f6;color:#1f2937;padding:10px 12px;vertical-align:top}.analytics-table tr:last-child td{border-bottom:none}.analytics-table tr:hover td{background:#f9fafb}.user-id-cell{max-width:160px}.broadcast-id-cell,.user-id-cell{font-family:Menlo,Monaco,Courier New,monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.broadcast-id-cell{max-width:140px}.topic-preview-cell{color:#6b7280;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-data-row td{color:#9ca3af;padding:32px 12px;text-align:center}.chart-container{height:280px;width:100%}.section-hint{color:#9ca3af;font-size:13px;margin:-8px 0 12px}.top-user-row{cursor:pointer}.top-user-row:hover td{background:#eff6ff}.top-user-row:focus{outline:none}.top-user-row:focus td{background:#dbeafe}.user-messages-overlay{align-items:flex-start;background:#00000073;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1000}.user-messages-panel{background:#fff;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;height:100vh;overflow:hidden;width:min(600px,100vw)}.user-messages-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:20px 24px 16px}.user-messages-title-group{display:flex;flex-direction:column;gap:4px;min-width:0}.user-messages-title{color:#1f2937;font-size:16px;font-weight:600;margin:0}.user-messages-userid{color:#6b7280;font-family:Menlo,Monaco,Courier New,monospace;font-size:12px;max-width:480px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-messages-close{align-items:center;background:#f3f4f6;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;transition:background .15s ease,color .15s ease;width:32px}.user-messages-close:hover{background:#e5e7eb;color:#1f2937}.user-messages-body{flex:1 1;overflow-y:auto;padding:16px 24px}.user-messages-state{color:#6b7280;font-size:15px;padding:48px 0;text-align:center}.user-messages-state p{margin:0}.user-messages-error p{color:#dc2626}.user-messages-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.user-message-item{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:12px 14px}.user-message-item--user{border-left:3px solid #3b82f6}.user-message-item--assistant{border-left:3px solid #10b981}.user-message-item--system{background:#fffbeb;border-left:3px solid #f59e0b}.user-message-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.role-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.role-badge--user{background:#dbeafe;color:#1d4ed8}.role-badge--assistant{background:#d1fae5;color:#065f46}.role-badge--system{background:#fef3c7;color:#92400e}.user-message-source{background:#f3f4f6;border-radius:4px;color:#9ca3af;font-size:11px;padding:2px 6px}.user-message-timestamp{color:#9ca3af;font-size:11px;margin-left:auto}.user-message-content{color:#1f2937;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.analytics-chat-example{color:#6b7280;font-size:13px;font-style:italic;margin:-4px 0 14px}.analytics-chat{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column;height:600px;overflow:hidden}.analytics-chat-messages{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding:16px}.analytics-chat-empty{color:#9ca3af;font-size:14px;margin:auto}.analytics-chat-bubble{border-radius:12px;font-size:14px;line-height:1.55;max-width:85%;padding:9px 13px;white-space:pre-wrap;word-break:break-word}.analytics-chat-bubble--user{align-self:flex-end;background:#3b82f6;border-bottom-right-radius:4px;color:#fff;white-space:pre-wrap}.analytics-chat-bubble--assistant{align-self:flex-start;background:#fff;border:1px solid #e5e7eb;border-bottom-left-radius:4px;color:#111827;white-space:normal}.analytics-chat-thinking{color:#6b7280;font-style:italic}.analytics-chat-md p{margin:0 0 8px}.analytics-chat-md p:last-child{margin-bottom:0}.analytics-chat-md--error{color:#b91c1c}.analytics-chat-md code{background:#f3f4f6;border-radius:3px;font-size:12.5px;padding:1px 4px}.analytics-chat-ul{margin:4px 0 8px;padding-left:20px}.analytics-chat-table{border-collapse:collapse;font-size:13px;margin:4px 0 8px;width:100%}.analytics-chat-table td,.analytics-chat-table th{border:1px solid #e5e7eb;padding:5px 9px;text-align:left}.analytics-chat-table th{background:#f9fafb;font-weight:600}.analytics-chat-input-row{background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:8px;padding:12px}.analytics-chat-input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-family:inherit;font-size:14px;line-height:1.4;max-height:120px;padding:9px 12px;resize:none}.analytics-chat-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.analytics-chat-send{align-self:flex-end;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 18px}.analytics-chat-send:disabled{background:#9ca3af;cursor:not-allowed}.review-wrap{margin:24px auto;max-width:1080px;padding:0 16px}.review-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.review-head h2{margin:0}.review-sub{color:#5f6b76;font-size:13px;margin:4px 0 0}.review-refresh{padding:6px 14px}.review-denied{background:#fff7e6;border:1px solid #ffe2a8;border-radius:8px;color:#8a5a00;padding:12px 14px}.review-error{background:#fdecef;border:1px solid #f5c2cc;border-radius:8px;color:#b00020;margin:12px 0;padding:10px 14px}.review-empty{color:#5f6b76}.review-empty-state{background:#fafcfb;border:1px dashed #d9e2dc;border-radius:12px;color:#5f6b76;margin-top:16px;padding:48px 0;text-align:center}.review-empty-state a{color:#146944;font-weight:600;text-decoration:none}.review-table{border-collapse:collapse;margin-top:14px;width:100%}.review-table td,.review-table th{border-bottom:1px solid #eef2f0;font-size:14px;padding:12px;text-align:left;vertical-align:middle}.review-table th{color:#5f6b76;font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.review-table tbody tr:not(.review-detail-row):hover{background:#fafcfb}.review-table tr.row-expanded{background:#f7faf8}.review-id{color:#97a3ad;font-family:ui-monospace,Menlo,monospace;font-size:12px;margin-left:22px}.review-date{color:#5f6b76;font-size:13px}.review-actions,.review-date{white-space:nowrap}.review-actions button{border-radius:7px;font-size:12px;margin-left:6px;padding:6px 12px}.review-actions button.secondary{background:#fff;border:1px solid #d9e2dc;color:#146944}.review-actions button.danger-text{color:#b00020}.review-actions button.danger{background:#b00020;border:none;color:#fff}.confirm-inline{align-items:center;display:inline-flex;gap:6px}.confirm-inline input{background:#fffafb;border:1px solid #d9a0aa;border-radius:7px;font-size:13px;padding:6px 10px;width:240px}.status-pill{border-radius:999px;display:inline-block;font-size:12px;font-weight:600;padding:3px 11px}.status-pill.sm{font-weight:500;padding:1px 9px}.status-pill.draft{background:#eef1f4;color:#4b5761}.status-pill.submitted{background:#fff3d6;color:#8a5a00}.status-pill.inreview{background:#e3efff;color:#1d5fb8}.status-pill.testing{background:#ece5fb;color:#5b3ea8}.status-pill.published{background:#e7f6ee;color:#146944}.status-pill.suspended{background:#fdecef;color:#b00020}.review-expand{align-items:center;background:#fff;border:1px solid #d9e2dc;border-radius:7px;color:#41505c;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;gap:5px;margin-right:8px;padding:4px 9px;white-space:nowrap}.review-expand:hover{background:#f2f7f4;border-color:#b9c9c0;color:#1f2b33}.review-expand:focus-visible{outline:2px solid #2f9e44;outline-offset:1px}.review-row{cursor:pointer}.review-row .review-actions,.review-row a{cursor:auto}.allbots-controls{align-items:center;display:flex;gap:8px}.allbots-controls select{background:#fff;border:1px solid #d9e2dc;border-radius:7px;font-size:13px;padding:6px 10px}.review-detail-row>td{background:#f7faf8;padding:0}.bot-detail{padding:18px 20px 20px}.detail-loading{color:#97a3ad;padding:16px 18px}.detail-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.chip{background:#fff;border:1px solid #e2e8e4;border-radius:999px;color:#35424b;font-size:12px;padding:3px 11px}.chip.mono{font-family:ui-monospace,Menlo,monospace}.chip.muted{border-style:dashed;color:#8a96a0}.detail-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:1fr 1fr}.detail-block h4{color:#5f6b76;font-size:12px;letter-spacing:.03em;margin:0 0 6px;text-transform:uppercase}.detail-block h4:not(:first-child){margin-top:16px}.detail-instructions{background:#fff;border:1px solid #eef2f0;border-radius:8px;font-family:inherit;font-size:13px;margin:0;max-height:220px;overflow:auto;padding:10px 12px;white-space:pre-wrap}.detail-instructions.persona{border-left:3px solid #146944}.detail-collapse{margin-top:8px}.detail-collapse summary{color:#5f6b76;cursor:pointer;font-size:12px;padding:3px 0}.detail-collapse[open] summary{margin-bottom:6px}.detail-bio{color:#35424b;font-size:13px;margin:0}.detail-muted{color:#97a3ad;font-size:13px}.detail-files{list-style:none;margin:0;padding:0}.detail-files li{border-bottom:1px solid #eef2f0;display:flex;font-size:13px;gap:10px;justify-content:space-between;padding:5px 0}.detail-files .file-name{font-family:ui-monospace,Menlo,monospace}.detail-files .file-meta{align-items:center;display:inline-flex;gap:6px}.detail-files .file-status{color:#146944;font-size:12px}.mod-pill{border-radius:999px;font-size:11px;padding:1px 8px}.mod-pill.ok{background:#e7f6ee;color:#146944}.mod-pill.warn{background:#fff3d6;color:#8a5a00}.detail-provider{align-items:center;display:flex;font-size:13px;gap:10px}.verify-pill{border-radius:999px;font-size:12px;padding:2px 10px}.verify-pill.ok{background:#e7f6ee;color:#146944}.verify-pill.no{background:#fff7e6;color:#8a5a00}.detail-timeline{list-style:none;margin:0;padding:0}.detail-timeline li{border-left:2px solid #dfe8e2;font-size:13px;padding:6px 0 6px 14px}.detail-timeline .tl-meta{color:#8a96a0;font-size:12px;margin-left:8px}.detail-timeline .tl-note{background:#fff;border:1px solid #eef2f0;border-radius:7px;color:#35424b;font-size:12px;margin-top:4px;padding:6px 9px}.detail-preview{margin-top:20px}.preview-probes{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.probe-chip{background:#fff;border:1px solid #cfe3d7;border-radius:999px;color:#146944;cursor:pointer;font-size:12px;padding:5px 13px}.probe-chip:hover:not(:disabled){background:#eef7f2}.preview-msgs{display:flex;flex-direction:column;gap:8px;max-height:280px;min-height:44px;overflow:auto;padding:6px 0}.preview-bubble{border-radius:13px;font-size:14px;max-width:80%;padding:9px 13px;white-space:pre-wrap}.preview-bubble.me{align-self:flex-end;background:#146944;color:#fff}.preview-bubble.bot{align-self:flex-start;background:#eef2f0;white-space:normal}.preview-bubble.loading{align-items:center;display:flex;gap:5px}.preview-bubble.loading .dot{animation:review-blink 1.4s infinite both;background:#9aa5ad;border-radius:50%;height:7px;width:7px}.preview-bubble.loading .dot:nth-child(2){animation-delay:.2s}.preview-bubble.loading .dot:nth-child(3){animation-delay:.4s}@keyframes review-blink{0%,80%,to{opacity:.2}40%{opacity:1}}.preview-input{display:flex;gap:8px;margin-top:8px}.preview-input input{border:1px solid #d9e2dc;border-radius:8px;flex:1 1;font-size:14px;padding:9px 12px}.preview-input button{padding:8px 18px}.md div{margin:0}.md .md-gap{height:8px}.md .md-h{font-weight:700;margin-top:4px}.md ul{margin:4px 0;padding-left:20px}.md li{margin:2px 0}.md code{background:#e2e8e4;border-radius:4px;font-family:ui-monospace,Menlo,monospace;font-size:13px;padding:0 5px}@media (max-width:860px){.detail-grid{grid-template-columns:1fr}}.pending-edit{background:#fffaf2;border:2px solid #d97706;border-radius:10px;padding:16px}.edit-action-bar{display:flex;gap:12px;margin:12px 0}.edit-action-bar .btn-lg,.reject-reasons-panel .btn-lg{border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;min-height:48px;padding:12px 28px}.edit-action-bar .approve{background:#116339;border:0;color:#fff}.edit-action-bar .approve:hover{background:#0d4f2d}.edit-action-bar .reject{background:#fff;border:2px solid #c41c1c;color:#c41c1c}.edit-action-bar .reject:hover{background:#fdecec}.edit-action-bar button:disabled{cursor:default;opacity:.5}.reject-reasons-panel{background:#fff;border:1px solid #c41c1c;border-radius:8px;margin-top:10px;padding:14px}.reject-reasons-title{font-weight:600;margin-bottom:10px}.reject-reasons-list{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:12px}.reject-reason-item{align-items:center;cursor:pointer;display:inline-flex;font-size:14px;gap:6px}.reject-reason-item input{height:16px;width:16px}.reject-reasons-panel .danger{background:#c41c1c;border:0;color:#fff}.opt-queue-strip{border:1px solid #e3ded4;border:1px solid var(--border,#e3ded4);border-radius:10px;display:flex;gap:24px;margin:12px 0 20px;padding:14px 16px}.opt-queue-col{flex:1 1;min-width:0}.opt-queue-col h3{font-size:.95rem;margin:0 0 8px}.opt-queue-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px;padding:4px 0}.opt-status{border:1px solid;border-radius:999px;font-size:.78rem;padding:1px 8px}.opt-status-running{color:#8a6d1a}.opt-status-queued{color:#666}.opt-status-awaiting_review{color:#1a6e8a}.opt-grade-error,.opt-status-failed{color:#a33}.opt-eval-badges{display:inline-flex;font-size:.82rem;gap:6px}.opt-grade-good{color:#2e7d43}.opt-grade-partial{color:#8a6d1a}.opt-grade-poor{color:#a33}.opt-run-list{list-style:none;margin:0;padding:0}.opt-run-row{align-items:baseline;background:none;border:0;cursor:pointer;display:flex;font:inherit;gap:10px;padding:6px 0;text-align:left;width:100%}.opt-run-detail{border-left:2px solid #e3ded4;border-left:2px solid var(--border,#e3ded4);margin-left:4px;padding:4px 0 12px 12px}.opt-run-detail h5{margin:12px 0 4px}.opt-decisions{margin:0;padding-left:18px}.opt-step{background:#0000000f;border-radius:4px;font-family:monospace;font-size:.8rem;margin-right:6px;padding:0 6px}.opt-rationale{font-size:.85rem;margin:2px 0 8px}.opt-eval-list{list-style:none;margin:0;padding:0}.opt-eval-item{border-bottom:1px dashed #e3ded4;border-bottom:1px dashed var(--border,#e3ded4);padding:6px 0}.opt-eval-answer{font-size:.88rem;margin:4px 0;max-height:120px;overflow-y:auto;white-space:pre-wrap}.opt-note{background:#e6b43c1f;border-radius:8px;padding:8px 10px}.opt-caret{margin-left:auto}.opt-inventory,.opt-samples ul{font-size:.88rem;list-style:none;margin:0;padding:0}.opt-sample-entry{padding:2px 0}.opt-refine-iter{padding:4px 0}.opt-addendum{border-left:2px solid #e3ded4;border-left:2px solid var(--border,#e3ded4);font-size:.85rem;margin:4px 0;padding-left:10px;white-space:pre-wrap}.file-desc{font-size:.84rem;margin:1px 0 3px}.file-label{background:#5a8c6e24;border-radius:9px;color:#5c6660;color:var(--muted,#5c6660);font-size:.78rem;margin-left:6px;padding:1px 7px}.marketing-page{margin:0 auto;max-width:1100px;padding:24px 16px}.marketing-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.marketing-head h2{color:#1f2937;margin:0 0 4px}.marketing-subtitle{color:#6b7280;font-size:14px;margin:0}.marketing-range{align-items:flex-end;display:flex;gap:12px}.marketing-range label{color:#6b7280;display:flex;flex-direction:column;font-size:12px;gap:4px}.marketing-range input{border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font:inherit;padding:6px 8px}.marketing-range button{background:#1d4ed8;border:none;border-radius:6px;color:#fff;cursor:pointer;font:inherit;padding:7px 16px}.marketing-range button:disabled{background:#93c5fd;cursor:default}.marketing-error{color:#dc2626}.marketing-tiles{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}.marketing-tile{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:2px;padding:14px 16px}.tile-label{color:#6b7280;font-size:12px}.tile-value{font-feature-settings:"tnum";color:#1f2937;font-size:28px;font-variant-numeric:tabular-nums;font-weight:600}.tile-rate{color:#6b7280;font-size:12px}.marketing-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:16px}.marketing-card h3{color:#374151;font-size:15px;margin:0 0 12px}.marketing-card-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.marketing-legend{color:#6b7280;display:flex;font-size:12px;gap:16px}.legend-item{align-items:center;display:inline-flex;gap:6px}.legend-swatch{border-radius:2px;display:inline-block;height:10px;width:10px}.marketing-chart{align-items:flex-end;border-bottom:1px solid #e5e7eb;display:flex;gap:6px;height:180px;overflow-x:auto;padding-top:8px}.chart-day{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px;height:100%;min-width:28px}.chart-bars{align-items:flex-end;display:flex;flex:1 1;gap:2px;justify-content:center;width:100%}.chart-bar{border-radius:4px 4px 0 0;min-height:1px;width:10px}.chart-day-label{color:#9ca3af;font-size:10px;white-space:nowrap}.marketing-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.marketing-table{border-collapse:collapse;font-size:13px;width:100%}.marketing-table th{border-bottom:1px solid #e5e7eb;color:#6b7280;font-weight:500;padding:4px 8px 6px 0;text-align:left}.marketing-table td{border-bottom:1px solid #f3f4f6;color:#1f2937;padding:6px 8px 6px 0}.marketing-table .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.marketing-table .bar-col{width:40%}.row-bar{background:#2563eb;border-radius:4px;height:8px;min-width:2px}.marketing-empty{color:#6b7280;font-size:13px}.support-controls{align-items:center;display:flex;gap:8px}.support-controls select{border:1px solid #d8d8d2;border-radius:8px;font-size:13px;padding:6px 10px}.support-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(320px,1fr) minmax(360px,1.2fr)}@media (max-width:900px){.support-grid{grid-template-columns:1fr}}.support-row{cursor:pointer}.support-row.selected td{background:#f3f2ec}.status-pill.support-open{background:#fdf1dc;color:#8a5a00}.status-pill.support-answered{background:#e2f6e9;color:#1f8a5b}.status-pill.support-closed{background:#ececea;color:#6b6b66}.support-detail-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.support-detail-head h4{margin:0}.support-detail-head button{margin-left:8px}.support-msgs{display:flex;flex-direction:column;gap:10px;margin:14px 0;max-height:420px;overflow:auto}.support-bubble{border-radius:12px;font-size:14px;max-width:88%;padding:10px 14px}.support-bubble.provider{align-self:flex-start;background:#f0efe9}.support-bubble.admin{align-self:flex-end;background:#22221f;color:#fff}.support-bubble-meta{font-size:11px;margin-bottom:3px;opacity:.7}.support-bubble-body{white-space:pre-wrap}.support-detail .preview-input textarea{border:1px solid #d8d8d2;border-radius:8px;flex:1 1;font-family:inherit;font-size:14px;min-height:64px;padding:10px 12px;resize:vertical}.environment-banner{box-shadow:0 2px 4px #0000001a;font-size:13px;font-weight:600;letter-spacing:.5px;padding:8px 16px;position:-webkit-sticky;position:sticky;text-align:center;top:0;width:100%;z-index:1000}.environment-banner-text{text-transform:uppercase}.environment-banner-test{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f}.environment-banner-staging{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.environment-banner+*{margin-top:0!important}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.b0075243.css.map*/