*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f5f5;height:100vh;overflow:hidden}#root{width:100%;height:100vh;display:flex;flex-direction:column}.app-layout{display:flex;width:100%;height:100vh;overflow:hidden}.sidebar{width:0;overflow:hidden;flex-shrink:0;background:#1a2535;color:#e2e8f0;display:flex;flex-direction:column;transition:width .25s ease;border-right:1px solid #0f1827}.sidebar.sidebar-open{width:260px}.sidebar-backdrop{display:none}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 14px 10px;border-bottom:1px solid #243047;flex-shrink:0}.sidebar-title{font-size:14px;font-weight:600;color:#e2e8f0;white-space:nowrap}.sidebar-close-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:16px;padding:2px 6px;border-radius:4px;line-height:1}.sidebar-close-btn:hover{background:#243047;color:#e2e8f0}.sidebar-new-chat-btn{margin:10px 10px 4px;padding:9px 12px;background:#003c88;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;text-align:left;white-space:nowrap;flex-shrink:0}.sidebar-new-chat-btn:hover{background:#0050bb}.sidebar-sessions{flex:1;overflow-y:auto;padding:6px 0}.sidebar-empty{font-size:12px;color:#64748b;padding:16px 14px;white-space:nowrap}.session-group{margin-bottom:4px}.session-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b;padding:8px 14px 4px;white-space:nowrap}.session-item{position:relative;padding:8px 32px 8px 14px;cursor:pointer;border-radius:6px;margin:1px 6px;transition:background .15s}.session-item:hover{background:#243047}.session-item-active{background:#1e3a5f!important;border-left:3px solid #3b82f6;padding-left:11px}.session-item-title{font-size:12px;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.session-item-meta{display:flex;gap:8px;font-size:10px;color:#64748b}.session-item-count{color:#475569}.session-delete-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:12px;cursor:pointer;opacity:0;padding:2px 4px;border-radius:3px;color:#94a3b8;transition:opacity .15s}.session-item:hover .session-delete-btn{opacity:1}.session-delete-btn:hover{background:#3b2020;color:#f87171}.memory-panel{border-top:1px solid #243047;flex-shrink:0}.memory-panel-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:10px 14px;background:none;border:none;color:#94a3b8;cursor:pointer;font-size:12px;text-align:left;white-space:nowrap}.memory-panel-toggle:hover{color:#e2e8f0;background:#243047}.memory-icon{font-size:14px}.memory-chevron{margin-left:auto;font-size:10px;transition:transform .2s}.memory-chevron.open{transform:rotate(90deg)}.memory-panel-body{padding:0 14px 12px;max-height:180px;overflow-y:auto}.memory-empty{font-size:11px;color:#475569;line-height:1.5;white-space:normal}.memory-lines{list-style:none;padding:0;margin:0 0 8px}.memory-line{font-size:11px;color:#94a3b8;padding:4px 0;border-bottom:1px solid #1e2a3a;line-height:1.4;white-space:normal;word-break:break-word}.memory-clear-btn{background:none;border:1px solid #3b2020;color:#f87171;font-size:11px;padding:4px 10px;border-radius:4px;cursor:pointer}.memory-clear-btn:hover{background:#3b2020}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.container{width:100%;max-width:100%;height:100%;background:#fff;display:flex;flex-direction:column}.header{background:#003c88;color:#fff;padding:15px 30px;border-bottom:2px solid #1e293b;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:12px}.header-left{flex:1;display:flex;align-items:center;gap:14px}.sidebar-toggle-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;font-size:18px;width:36px;height:36px;border-radius:6px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s}.sidebar-toggle-btn:hover{background:#ffffff29}.sidebar-toggle-btn.active{background:#3b82f666;border-color:#3b82f699}.brand-mark{width:64px;height:64px;object-fit:contain;border-radius:10px;background:#ffffff14;padding:6px;flex-shrink:0}.brand-copy{min-width:0;overflow:hidden}.header-right{display:flex;flex-direction:row;align-items:center;gap:12px;margin-left:20px;flex-shrink:0}.header-icon-link{display:inline-flex;align-items:center;justify-content:center;color:inherit;text-decoration:none}.header h1{font-size:24px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header p{opacity:.8;font-size:12px}.version{padding:4px 12px;background:#020617;border-radius:5px;font-size:12px;font-weight:700;cursor:help;transition:all .2s}.version:hover{background:#1e293b}.header-settings-btn{padding:6px 14px;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s,border-color .2s;white-space:nowrap}.header-settings-btn:hover{background:#ffffff38;border-color:#ffffff73}.header-settings-btn.active{background:#ffffff47;border-color:#fff9}.auth-btn{padding:6px 14px;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}.auth-btn:hover{background:#ffffff38;border-color:#ffffff73}.header-dashboard-btn{padding:6px 14px;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s,border-color .2s;white-space:nowrap}.header-dashboard-btn:hover{background:#ffffff38;border-color:#ffffff73}.chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden;max-width:1200px;margin:0 auto;width:100%}.chat-messages-wrapper{flex:1;position:relative;overflow:hidden}.chat-messages{height:100%;overflow-y:auto;padding:20px;scroll-behavior:smooth}.scroll-to-bottom-btn{position:absolute;bottom:16px;right:20px;width:36px;height:36px;border-radius:50%;background:#0f172a;color:#fff;border:none;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #00000040;transition:all .2s;z-index:10}.scroll-to-bottom-btn:hover{background:#1e293b;transform:scale(1.1)}.chat-message{margin-bottom:24px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user{display:flex;justify-content:flex-end;margin-bottom:8px}.message-user .message-content{background:#0f172a;color:#fff;padding:12px 18px;border-radius:18px;max-width:70%;word-wrap:break-word}.message-assistant{display:flex;flex-direction:column;align-items:flex-start}.message-assistant .message-content{background:#f0f0f0;color:#000;padding:16px 20px;border-radius:18px;max-width:85%;word-wrap:break-word;line-height:1.6}.message-disclaimer{margin-top:12px;font-size:11px;line-height:1.4;color:#666;text-align:right}.msg-copy-btn{transition:all .2s}.msg-copy-btn:hover{background:#f0f0f0;border-color:#0f172a}.inline-code{background:#f0f0f0;border:1px solid #ddd;border-radius:4px;padding:1px 5px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.88em;color:#c7254e}.code-block-wrapper{margin:10px 0;border-radius:8px;overflow:hidden;border:1px solid #d0d0d0;background:#1e1e1e}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;background:#2d2d2d;border-bottom:1px solid #444}.code-lang{font-size:12px;color:#aaa;font-family:Consolas,Monaco,monospace;text-transform:lowercase}.copy-code-btn{background:transparent;border:1px solid #555;border-radius:20px;padding:4px 10px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .2s;color:#ccc}.copy-code-btn:hover{background:#444;border-color:#aaa;color:#fff}.code-block{margin:0;padding:14px 16px;background:#1e1e1e;color:#d4d4d4;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;overflow-x:auto;white-space:pre}.code-block code{background:none;border:none;padding:0;color:inherit;font-size:inherit}.message-timestamp{font-size:11px;color:#999;margin-top:4px;margin-left:12px}.message-sources{margin-top:12px;margin-left:12px;max-width:85%}.sources-toggle{font-size:13px;color:#0f172a;background:#f0f0f0;border:1px solid #e0e0e0;border-radius:8px;padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:6px;font-weight:600;transition:all .2s;-webkit-user-select:none;user-select:none;width:100%;text-align:left}.sources-toggle:hover{background:#e5e5e5}.sources-toggle-icon{transition:transform .3s ease;font-size:12px}.sources-toggle-icon.expanded{transform:rotate(90deg)}.sources-content{margin-top:8px}.source-item-chat{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:10px 12px;margin-bottom:6px;font-size:12px}.source-item-chat .source-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.source-name{font-weight:600;color:#000}.source-page{color:#666;font-size:11px}.source-score{background:#0f172a;color:#fff;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.source-preview{color:#666;font-size:11px;margin-top:4px;line-height:1.4}.message-metadata{margin-top:8px;margin-left:12px;display:flex;gap:16px;font-size:11px;color:#999}.message-metadata span{display:flex;align-items:center;gap:4px}.message-feedback{margin-top:12px;margin-left:12px;display:flex;gap:8px;align-items:center}.feedback-btn{background:transparent;border:1px solid #e0e0e0;border-radius:20px;padding:6px 12px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;color:#666}.feedback-btn:hover{background:#f0f0f0;border-color:#0f172a}.feedback-btn.active-like{background:#d4edda;border-color:#28a745;color:#28a745}.feedback-btn.active-dislike{background:#f8d7da;border-color:#dc3545;color:#dc3545}.feedback-btn.active-comment{background:#e7f3ff;border-color:#0f172a;color:#0f172a}.feedback-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1001;justify-content:center;align-items:center}.feedback-modal.show{display:flex}.feedback-popup{background:#fff;border-radius:12px;padding:0;max-width:500px;width:90%;box-shadow:0 10px 40px #0000004d}.feedback-popup-header{background:#0f172a;color:#fff;padding:16px 20px;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center}.feedback-popup-header h3{margin:0;font-size:16px}.feedback-popup-content{padding:20px}.feedback-popup-content textarea{width:100%;min-height:120px;padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical}.feedback-popup-content textarea:focus{outline:none;border-color:#0f172a}.feedback-popup-actions{display:flex;gap:10px;margin-top:16px;justify-content:flex-end}.feedback-submit-btn{background:#0f172a;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600}.feedback-submit-btn:hover{background:#1e293b}.feedback-cancel-btn{background:#f0f0f0;color:#333;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px}.feedback-cancel-btn:hover{background:#e0e0e0}.feedback-summary-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1002;justify-content:center;align-items:center}.feedback-summary-modal.show{display:flex}.feedback-summary-popup{background:#fff;border-radius:12px;width:min(1200px,96vw);max-height:86vh;overflow:hidden;box-shadow:0 10px 40px #0000004d;animation:slideIn .3s ease-out;display:flex;flex-direction:column;height:min(760px,86vh)}.feedback-summary-content{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden}.feedback-summary-meta{color:#475569;font-size:13px;font-weight:600}.feedback-trend-wrap{border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:12px;flex:0 0 auto}.feedback-trend-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.feedback-trend-title{color:#0f172a;font-size:13px;font-weight:700}.feedback-trend-legend{display:flex;gap:12px;color:#475569;font-size:12px;align-items:center;flex-wrap:wrap}.feedback-legend-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.feedback-legend-line{display:inline-block;width:14px;height:2px;border-radius:999px}.feedback-legend-total_questions{background:#334155}.feedback-legend-likes{background:#16a34a}.feedback-legend-dislikes{background:#dc2626}.feedback-trend-canvas-wrap{width:100%;height:220px}.feedback-trend-canvas-wrap canvas{display:block;width:100%;height:100%}.feedback-summary-table-wrap{border:1px solid #e2e8f0;border-radius:8px;overflow:auto;max-height:62vh;min-height:120px;flex:1 1 auto}.feedback-summary-table{width:100%;border-collapse:collapse;font-size:13px;min-width:900px}.feedback-summary-table th,.feedback-summary-table td{border-bottom:1px solid #eef2f7;text-align:left;padding:10px 12px;vertical-align:top}.feedback-summary-table th{position:sticky;top:0;background:#f8fafc;color:#0f172a;z-index:1}.feedback-type-pill{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:3px 8px;text-transform:capitalize}.feedback-type-like{background:#dcfce7;color:#166534}.feedback-type-dislike{background:#fee2e2;color:#991b1b}.feedback-type-comment{background:#dbeafe;color:#1e3a8a}.feedback-summary-empty{text-align:center;color:#64748b;padding:24px}.settings-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000;justify-content:center;align-items:center}.settings-modal.show{display:flex}.settings-popup{background:#fff;border-radius:12px;padding:0;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.settings-popup-header{background:#0f172a;color:#fff;padding:20px;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center}.settings-popup-header h3{margin:0;font-size:18px}.close-settings{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-settings:hover{background:#ffffff1a}.settings-popup-content{padding:24px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.setting-item{display:flex;flex-direction:column}.setting-item label{font-size:14px;font-weight:600;color:#333;margin-bottom:5px}.setting-item input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.setting-item input:focus{outline:none;border-color:#0f172a}.setting-item .description{font-size:12px;color:#666;margin-top:3px}.setting-item-full{grid-column:1 / -1}.setting-item textarea{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;resize:vertical;font-family:inherit;line-height:1.5}.setting-item textarea:focus{outline:none;border-color:#0f172a}.chat-input-container{border-top:1px solid #e0e0e0;padding:20px;background:#fff;flex-shrink:0}.chat-input-wrapper{margin:0 auto;position:relative}.input-group{display:flex;gap:10px;align-items:center}#questionInput{flex:1;padding:12px 18px;border:2px solid #e0e0e0;border-radius:18px;font-size:15px;transition:border-color .3s;background:#fff;font-family:inherit;resize:none;overflow-y:hidden;line-height:1.5;min-height:48px;max-height:200px;display:block}#questionInput:focus{outline:none;border-color:#0f172a}#questionInput:disabled{opacity:.6;cursor:not-allowed}#queryBtn{padding:14px 24px;background:#0f172a;color:#fff;border:none;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}#queryBtn:hover:not(:disabled){background:#1e293b;transform:scale(1.02)}#queryBtn:disabled{opacity:.5;cursor:not-allowed}.stop-btn{padding:14px 20px;background:#dc2626;color:#fff;border:none;border-radius:24px;font-size:16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;animation:pulse-stop 1.2s ease-in-out infinite}.stop-btn:hover{background:#b91c1c;transform:scale(1.04)}@keyframes pulse-stop{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 6px #dc262600}}.typing-indicator{display:flex;gap:4px;padding:12px 18px;background:#f0f0f0;border-radius:18px;width:fit-content}.typing-dot{width:8px;height:8px;background:#999;border-radius:50%;animation:typing 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999;text-align:center;padding:40px}.empty-state h2{font-size:32px;margin-bottom:12px;color:#333}.empty-state p{font-size:16px;margin-bottom:30px}.examples h4{color:#000;margin-bottom:10px;font-size:14px;font-weight:600}.example-questions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.example-btn{padding:8px 15px;background:#fff;border:2px solid #0f172a;color:#0f172a;border-radius:20px;font-size:14px;cursor:pointer;transition:all .3s}.example-btn:hover{background:#0f172a;color:#fff;transform:translateY(-1px)}.user-email-display{padding:4px 12px;background:#172554;border-radius:5px;font-size:11px;font-weight:600;color:#fff;display:flex;align-items:center;gap:6px}.spinner{display:inline-block;width:16px;height:16px;border:3px solid #e0e0e0;border-top:3px solid #000;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:1200px){.header{padding:10px 20px}.header h1{font-size:20px}.header-settings-btn,.auth-btn{padding:5px 10px;font-size:11px}}@media(max-width:960px){.header{padding:8px 14px;flex-wrap:wrap;gap:6px}.header-left{flex:1 1 auto;min-width:0}.header h1{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header p{font-size:11px}.brand-mark{width:40px;height:40px}.header-right{flex:0 0 auto;flex-wrap:wrap;gap:6px;margin-left:0;justify-content:flex-end}.header-settings-btn,.auth-btn{padding:4px 8px;font-size:11px}}@media(max-width:760px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:1201;width:min(86vw,300px);transform:translate(-100%);transition:transform .25s ease;box-shadow:8px 0 28px #02061759}.sidebar.sidebar-open{width:min(86vw,300px);transform:translate(0)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:block;border:0;background:#0206178f;opacity:0;pointer-events:none;transition:opacity .25s ease}.sidebar-backdrop.show{opacity:1;pointer-events:auto}.sidebar-close-btn{width:44px;height:44px;font-size:18px}.sidebar-new-chat-btn{min-height:44px}.header{padding:8px;gap:6px}.header-left{flex:0 0 100%;width:100%;gap:10px}.sidebar-toggle-btn{width:44px;height:44px}.header h1{font-size:15px;margin-bottom:0}.header p{display:none}.brand-mark{width:36px;height:36px;padding:4px}.header-right{width:100%;flex-wrap:nowrap;justify-content:center;gap:4px;overflow:hidden}.user-email-display{display:none}.header-icon-link,.header-settings-btn{flex:0 0 44px;width:44px;height:44px;padding:0;justify-content:center;font-size:16px}.auth-btn{min-height:44px;padding:6px 9px}.btn-label{display:none}.feedback-summary-popup{width:96vw;height:92vh;max-height:92vh}.feedback-summary-content{padding:12px}.feedback-trend-canvas-wrap{height:170px}.chat-input-container{padding:10px 12px}.chat-messages{padding:12px}}.dashboard-page{flex:1;width:100%;display:flex;flex-direction:column;height:100%;overflow:hidden;background:#f1f5f9}.dashboard-header{background:#0f172a;color:#e2e8f0;padding:14px 24px 12px;flex-shrink:0;border-bottom:2px solid #003c88}.dashboard-header-top{display:flex;align-items:center;gap:16px}.dashboard-title{font-size:20px;font-weight:700;color:#f8fafc;margin:0}.dashboard-subtitle{font-size:13px;color:#94a3b8;margin:4px 0 0}.dash-back-btn{background:none;border:1px solid #334155;color:#94a3b8;padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.dash-back-btn:hover{background:#1e293b;color:#e2e8f0;border-color:#475569}.dashboard-content{flex:1;overflow-y:auto;padding:20px 24px 40px;display:flex;flex-direction:column;gap:20px}.dashboard-section{display:flex;flex-direction:column;gap:0}.dashboard-section--2col{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:900px){.dashboard-section--2col{grid-template-columns:1fr}.dashboard-content{padding:14px 14px 40px}}.dashboard-auth-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#64748b;font-size:16px}.widget-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.widget-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid #e2e8f0;background:#f8fafc;gap:12px;flex-wrap:wrap}.widget-card-title{font-size:15px;font-weight:600;color:#0f172a;margin:0;display:flex;align-items:center;gap:8px}.widget-card-icon{font-size:16px;line-height:1}.widget-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.widget-card-body{padding:16px 18px}.widget-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;color:#dc2626;font-size:13px}.widget-loading{text-align:center;color:#64748b;font-size:14px;padding:20px}.widget-empty{text-align:center;color:#94a3b8;font-size:14px;padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:12px}.dash-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .18s;white-space:nowrap}.dash-btn:disabled{opacity:.5;cursor:not-allowed}.dash-btn--primary{background:#003c88;color:#fff}.dash-btn--primary:hover:not(:disabled){background:#0050bb}.dash-btn--secondary{background:#f1f5f9;color:#0f172a;border:1px solid #cbd5e1}.dash-btn--secondary:hover:not(:disabled){background:#e2e8f0}.dash-btn--ghost{background:transparent;color:#475569;border:1px solid #e2e8f0}.dash-btn--ghost:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.dash-btn--sm{padding:5px 10px;font-size:12px}.dash-label{display:block;font-size:12px;font-weight:600;color:#475569;margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em}.dash-hint{font-size:12px;color:#94a3b8;margin-top:4px;display:block}.dash-input{width:100%;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;font-family:inherit;background:#fff;color:#0f172a;transition:border-color .2s}.dash-input:focus{outline:none;border-color:#003c88;box-shadow:0 0 0 3px #003c881a}.dash-select{width:100%;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;font-family:inherit;background:#fff;color:#0f172a;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.dash-select:focus{outline:none;border-color:#003c88}.dash-textarea{font-family:Consolas,Fira Code,monospace;font-size:12px;line-height:1.6;resize:vertical;min-height:220px}.dash-field{display:flex;flex-direction:column;gap:0}.dash-input-group{display:flex;gap:8px;align-items:center}.dash-input-group .dash-input{flex:1}.widget-action-group{display:flex;align-items:center;gap:8px}.refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid #cbd5e1;background:#f1f5f9;color:#475569;font-size:13px;cursor:pointer;transition:all .18s;white-space:nowrap}.refresh-btn:hover:not(:disabled){background:#e2e8f0;color:#0f172a}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-btn--spinning .refresh-btn-icon{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.status-badge--healthy,.status-badge--passed,.status-badge--found,.status-badge--present{background:#dcfce7;color:#16a34a}.status-badge--degraded,.status-badge--warning{background:#fef9c3;color:#a16207}.status-badge--down,.status-badge--failed,.status-badge--error,.status-badge--not-found,.status-badge--missing{background:#fee2e2;color:#dc2626}.status-badge--running{background:#dbeafe;color:#1d4ed8}.status-badge--idle,.status-badge--unknown{background:#f1f5f9;color:#64748b}.collapsible-panel{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-top:12px}.collapsible-panel-header{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8fafc;border:none;cursor:pointer;font-size:13px;font-weight:600;color:#0f172a;text-align:left;transition:background .18s}.collapsible-panel-header:hover{background:#f1f5f9}.collapsible-panel-chevron{font-size:10px;color:#64748b;flex-shrink:0}.collapsible-panel-body{padding:14px;border-top:1px solid #e2e8f0;background:#fff}.code-block{background:#1e293b;color:#e2e8f0;padding:14px 16px;border-radius:8px;font-family:Consolas,Fira Code,monospace;font-size:12px;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:380px;overflow-y:auto}.inline-code{background:#f1f5f9;color:#003c88;padding:2px 6px;border-radius:4px;font-family:Consolas,monospace;font-size:12px}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:2000;max-width:400px;width:calc(100vw - 48px)}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;box-shadow:0 4px 16px #0000001f;font-size:13px;animation:slide-in-right .25s ease}@keyframes slide-in-right{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}.toast--success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.toast--error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.toast--warning{background:#fffbeb;border:1px solid #fde68a;color:#b45309}.toast--info{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.toast-icon{flex-shrink:0;font-size:15px;margin-top:1px}.toast-message{flex:1;line-height:1.5}.toast-close{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;opacity:.6;flex-shrink:0;padding:0 0 0 4px;color:inherit}.toast-close:hover{opacity:1}.health-grid{display:flex;flex-direction:column;gap:16px}.health-overall{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:10px;border:1px solid}.health-overall--healthy{background:#f0fdf4;border-color:#bbf7d0}.health-overall--degraded{background:#fffbeb;border-color:#fde68a}.health-overall--down{background:#fef2f2;border-color:#fecaca}.health-overall--unknown{background:#f8fafc;border-color:#e2e8f0}.health-overall-emoji{font-size:28px;line-height:1}.health-overall-label{font-size:12px;color:#64748b;margin-bottom:4px}.health-metric-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.health-metric-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}.health-metric-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:6px}.health-metric-value{font-size:14px;font-weight:600;color:#0f172a}.health-services{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.health-services-title{background:#f8fafc;padding:8px 14px;font-size:12px;font-weight:600;color:#475569;border-bottom:1px solid #e2e8f0}.health-service-row{display:flex;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid #f1f5f9;font-size:13px}.health-service-row:last-child{border-bottom:none}.health-svc-name{flex:1;color:#0f172a}.health-svc-rt{font-size:12px;color:#64748b;margin-left:auto}.health-svc-msg{font-size:12px;color:#94a3b8;font-style:italic}.health-auto-refresh-note{font-size:11px;color:#94a3b8;text-align:right}.prompt-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:4px}.prompt-meta-item{display:flex;flex-direction:column;gap:3px}.prompt-meta-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.prompt-meta-value{font-size:13px;color:#0f172a;font-weight:500}.version-badge{display:inline-block;background:#dbeafe;color:#1d4ed8;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.version-badge--active{background:#dcfce7;color:#15803d}.version-badge--inactive{background:#f1f5f9;color:#64748b}.prompt-create-form{display:flex;flex-direction:column;gap:12px}.prompt-create-form-row{display:grid;grid-template-columns:1fr 2fr;gap:12px}.test-runner{display:flex;flex-direction:column;gap:16px}.test-runner-header{display:flex;flex-direction:column;gap:8px}.test-description{font-size:12px;color:#64748b;margin:0}.test-log-panel{background:#1e293b;border-radius:8px;overflow:hidden}.test-log-title{background:#0f172a;color:#94a3b8;padding:8px 14px;font-size:12px;font-weight:600}.test-log-output{color:#e2e8f0;font-family:Consolas,monospace;font-size:12px;padding:12px 14px;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto}.test-log-error{background:#450a0a;color:#fca5a5;font-family:Consolas,monospace;font-size:12px;padding:10px 14px;white-space:pre-wrap;word-break:break-word}.sv-autocomplete{position:relative;flex:1;min-width:0}.sv-autocomplete .dash-input{width:100%}.sv-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 24px #0f172a1f;max-height:240px;overflow-y:auto}.sv-suggestion{padding:7px 10px;font-size:13px;color:#334155;border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sv-suggestion:hover,.sv-suggestion--active{background:#eff6ff;color:#003c88}.verification-result{margin-top:14px;border-radius:10px;border:1px solid;overflow:hidden}.verification-result--found{border-color:#bbf7d0}.verification-result--not-found{border-color:#fecaca}.verification-result-header{display:flex;align-items:center;gap:10px;padding:12px 16px;font-size:14px}.verification-result--found .verification-result-header{background:#f0fdf4}.verification-result--not-found .verification-result-header{background:#fef2f2}.verification-filename{font-size:12px;color:#64748b;font-style:italic}.verification-details{padding:12px 16px;display:flex;flex-direction:column;gap:10px;background:#fff}.verification-field{display:flex;align-items:center;gap:10px;font-size:13px}.vf-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;min-width:120px;flex-shrink:0}.config-inconsistencies{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 14px}.config-inconsistencies-title{font-size:12px;font-weight:600;color:#92400e;margin-bottom:6px}.config-inconsistencies-list{margin:0;padding-left:18px;font-size:12px;color:#78350f;display:flex;flex-direction:column;gap:3px}.log-explorer{display:flex;flex-direction:column;gap:16px}.log-filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.log-filter-group{min-width:0;display:flex;flex-direction:column}.log-filter-group--dates{grid-column:span 2}.log-filter-group--wide{grid-column:1 / -1}.log-date-range{display:flex;align-items:center;gap:8px;min-width:0}.log-date-range .dash-input{flex:1;min-width:0}.log-date-sep{font-size:12px;color:#64748b;white-space:nowrap}.log-action-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.log-summary{font-size:12px;color:#64748b}.log-table{table-layout:fixed;width:100%}.log-table th:nth-child(1),.log-table td:nth-child(1){width:150px}.log-table th:nth-child(2),.log-table td:nth-child(2){width:90px}.log-table th:nth-child(3),.log-table td:nth-child(3){width:130px}.log-table th:nth-child(4),.log-table td:nth-child(4){width:120px}.log-table th:nth-child(5),.log-table td:nth-child(5){width:auto}.log-table th:nth-child(6),.log-table td:nth-child(6){width:120px}.feedback-log-table{min-width:1120px}.feedback-log-table th:nth-child(1),.feedback-log-table td:nth-child(1){width:56px}.feedback-log-table th:nth-child(2),.feedback-log-table td:nth-child(2){width:160px}.feedback-log-table th:nth-child(3),.feedback-log-table td:nth-child(3){width:72px}.feedback-log-table th:nth-child(4),.feedback-log-table td:nth-child(4){width:220px}.feedback-log-table th:nth-child(5),.feedback-log-table td:nth-child(5){width:210px}.feedback-log-table th:nth-child(6),.feedback-log-table td:nth-child(6){width:240px}.feedback-log-table th:nth-child(7),.feedback-log-table td:nth-child(7){width:160px}.feedback-log-table th:nth-child(8),.feedback-log-table td:nth-child(8){width:110px}.log-table td{vertical-align:top}.log-ts{white-space:nowrap;font-size:11px;color:#475569;font-variant-numeric:tabular-nums}.log-message{font-family:SF Mono,Cascadia Code,Consolas,Courier New,monospace;font-size:12px;line-height:1.5;color:#1e293b;white-space:pre-wrap;word-break:break-word}.log-cid{font-size:11px;color:#94a3b8;font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-table td:nth-child(3),.log-table td:nth-child(4){font-size:11px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-severity-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.log-severity-badge--debug{background:#f1f5f9;color:#64748b}.log-severity-badge--info{background:#dbeafe;color:#1d4ed8}.log-severity-badge--warning{background:#fef9c3;color:#a16207}.log-severity-badge--error{background:#fee2e2;color:#dc2626}.log-severity-badge--critical{background:#fde8d8;color:#9a3412}.log-pagination{display:flex;align-items:center;gap:16px;justify-content:center;padding-top:4px;font-size:13px;color:#475569}.table-scroll-wrapper{overflow-x:auto}.dash-table{width:100%;border-collapse:collapse;font-size:13px}.dash-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:9px 12px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#475569;white-space:nowrap}.dash-table td{padding:9px 12px;border-bottom:1px solid #f1f5f9;color:#0f172a;vertical-align:middle}.dash-table tr:last-child td{border-bottom:none}.dash-table tr:hover td{background:#f8fafc}.header-dashboard-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.header-dashboard-btn:hover{background:#ffffff2e;border-color:#fff6}@media(max-width:760px){.header-dashboard-btn{flex:0 0 44px;width:44px;height:44px;padding:0;justify-content:center;font-size:16px}}@media(max-width:600px){.feedback-log-widget .log-filter-grid{grid-template-columns:minmax(0,1fr);padding:12px}.feedback-log-widget .log-filter-group--dates,.feedback-log-widget .log-filter-group--wide{grid-column:1}.feedback-log-widget .log-date-range{flex-direction:column;align-items:stretch}.feedback-log-widget .log-date-sep{align-self:center}.feedback-log-widget .log-action-bar{align-items:stretch;flex-direction:column}.feedback-log-widget .log-action-bar .dash-btn,.feedback-log-widget .log-pagination .dash-btn,.feedback-log-table .dash-btn{min-height:44px;justify-content:center}.feedback-log-widget .dash-input,.feedback-log-widget .dash-select{min-height:44px}.feedback-log-widget .log-action-bar .dash-btn{width:100%}.feedback-log-widget .table-scroll-wrapper{overflow:visible}.feedback-log-table{min-width:0}.feedback-log-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.feedback-log-table,.feedback-log-table tbody,.feedback-log-table tr,.feedback-log-table td{display:block;width:100%!important}.feedback-log-table tbody{display:grid;gap:12px}.feedback-log-table tr{overflow:hidden;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.feedback-log-table td{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:9px 12px;border-bottom:1px solid #f1f5f9;white-space:normal;overflow:visible;overflow-wrap:anywhere;text-overflow:clip}.feedback-log-table td:before{content:attr(data-label);color:#64748b;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.feedback-log-table td:last-child{border-bottom:0}.feedback-log-table td:last-child .dash-btn{width:100%}.feedback-log-widget .log-pagination{justify-content:space-between;gap:8px}}.dash-select--sm{width:auto;padding:5px 26px 5px 10px;font-size:12px}.token-actions{display:flex;align-items:center;gap:8px}.token-widget{display:flex;flex-direction:column;gap:16px}.token-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.token-kpi{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px;text-align:center}.token-kpi--primary{background:#eef4ff;border-color:#c7d9f7}.token-kpi-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.token-kpi-value{font-size:20px;font-weight:700;color:#0f172a;margin-top:4px}.token-kpi--primary .token-kpi-value{color:#003c88}.token-split{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:#475569}.token-split-item{display:inline-flex;align-items:center;gap:6px}.token-dot{width:10px;height:10px;border-radius:3px;display:inline-block}.token-dot--prompt{background:#003c88}.token-dot--completion{background:#60a5fa}.token-chart{display:flex;flex-direction:column;gap:6px}.token-chart-title,.feedback-trend-title,.feedback-comments-title{font-size:12px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.03em}.token-bars,.feedback-bars{display:flex;align-items:flex-end;gap:4px;height:120px;padding-top:8px}.token-bar-col,.feedback-bar-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}.token-bar-stack{display:flex;flex-direction:column-reverse;justify-content:flex-start;width:100%;max-width:22px;height:100%}.token-bar{width:100%;border-radius:2px 2px 0 0;transition:height .3s}.token-bar--prompt{background:#003c88}.token-bar--completion{background:#60a5fa}.token-bar-label,.feedback-bar-label{font-size:9px;color:#94a3b8;margin-top:4px;white-space:nowrap;transform:rotate(-45deg);transform-origin:center}.token-chart-scale{display:flex;justify-content:space-between;font-size:10px;color:#94a3b8;margin-top:8px}.feedback-widget{display:flex;flex-direction:column;gap:16px}.feedback-csat{text-align:center}.feedback-csat-value{font-size:36px;font-weight:800;color:#16a34a;line-height:1.1}.feedback-csat-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.feedback-csat-bar{height:8px;background:#fee2e2;border-radius:4px;margin-top:8px;overflow:hidden}.feedback-csat-fill{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .4s}.feedback-csat-fill--dislike{background:linear-gradient(90deg,#f87171,#dc2626)}.feedback-csat-value--dislike{color:#dc2626}.feedback-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.feedback-kpi{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 8px;text-align:center}.feedback-kpi--like{background:#f0fdf4;border-color:#bbf7d0}.feedback-kpi--dislike{background:#fef2f2;border-color:#fecaca}.feedback-kpi--comment{background:#eff6ff;border-color:#bfdbfe}.feedback-kpi-icon{font-size:18px}.feedback-kpi-value{font-size:20px;font-weight:700;color:#0f172a}.feedback-kpi-label{font-size:11px;color:#64748b;font-weight:600}.feedback-bar-pair{display:flex;align-items:flex-end;justify-content:center;gap:2px;width:100%;height:100%}.feedback-bar{width:45%;max-width:10px;border-radius:2px 2px 0 0;transition:height .3s}.feedback-bar--like{background:#16a34a}.feedback-bar--dislike{background:#dc2626}.feedback-comments{display:flex;flex-direction:column;gap:8px}.feedback-comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto}.feedback-comment{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px}.feedback-comment-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.feedback-comment-type{font-size:14px}.feedback-comment-meta{font-size:11px;color:#94a3b8}.feedback-comment-body{font-size:13px;color:#334155;line-height:1.4;word-break:break-word}@media(max-width:600px){.token-kpi-grid,.feedback-kpi-grid{grid-template-columns:repeat(2,1fr)}}.pvp{display:flex;flex-direction:column;gap:14px}.pvp-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;padding:16px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 4px #0f172a0f}.pvp-single{flex:1 1 340px;min-width:0}.pvp-suite-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pvp-judge-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#475569;white-space:nowrap;padding:7px 12px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.pvp-judge-toggle:hover{background:#f1f5f9;border-color:#94a3b8}.pvp-judge-toggle input{cursor:pointer;accent-color:#003c88}.pvp-summary{display:grid;grid-template-columns:repeat(3,auto) 1fr auto;align-items:center;gap:10px;padding:14px 18px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 4px #0f172a0f}.pvp-stat{display:flex;flex-direction:column;align-items:center;padding:8px 18px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;min-width:64px}.pvp-stat-value{font-size:22px;font-weight:800;color:#0f172a;line-height:1}.pvp-stat-label{margin-top:3px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.pvp-stat--pass{background:#f0fdf4;border-color:#bbf7d0}.pvp-stat--pass .pvp-stat-value{color:#16a34a}.pvp-stat--pass .pvp-stat-label{color:#22c55e}.pvp-stat--fail{background:#fef2f2;border-color:#fecaca}.pvp-stat--fail .pvp-stat-value{color:#dc2626}.pvp-stat--fail .pvp-stat-label{color:#f87171}.pvp-progress{flex:1 1 0;height:10px;background:#e2e8f0;border-radius:6px;overflow:hidden}.pvp-progress-fill{height:100%;background:linear-gradient(90deg,#003c88,#2563eb);border-radius:6px;transition:width .4s ease}.pvp-progress-fill--active{background:linear-gradient(90deg,#003c88,#2563eb);background-size:32px 32px;background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);animation:pvp-stripes .7s linear infinite}@keyframes pvp-stripes{0%{background-position:0 0}to{background-position:32px 0}}.pvp-summary-source{font-size:11px;color:#94a3b8;font-style:italic;white-space:nowrap}.pvp-select-controls{display:flex;gap:8px;align-items:center;padding-left:2px}.pvp-groups{display:flex;flex-direction:column;gap:10px;max-height:560px;overflow-y:auto;padding-right:2px}.pvp-groups::-webkit-scrollbar{width:6px}.pvp-groups::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.pvp-group{flex-shrink:0;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0f172a0d}.pvp-group-head{display:flex;align-items:center;padding:10px 14px;background:linear-gradient(135deg,#eef2ff,#f0f9ff);border-bottom:1px solid #e2e8f0;border-left:4px solid #003c88}.pvp-group-check{display:inline-flex;align-items:center;gap:10px;cursor:pointer;width:100%;-webkit-user-select:none;user-select:none}.pvp-group-check input{accent-color:#003c88;width:15px;height:15px}.pvp-group-title{font-size:13px;font-weight:700;color:#1e3a5f;letter-spacing:.01em}.pvp-group-count{font-size:11px;font-weight:700;color:#fff;background:#003c88;padding:1px 8px;border-radius:999px}.pvp-prompt-list{list-style:none;margin:0;padding:0}.pvp-prompt{border-top:1px solid #f1f5f9;border-left:3px solid transparent;transition:background .12s,border-color .12s}.pvp-prompt:first-child{border-top:none}.pvp-prompt:hover{background:#f8fafc}.pvp-prompt--idle{border-left-color:#e2e8f0}.pvp-prompt--queued{border-left-color:#93c5fd;background:#f0f9ff}.pvp-prompt--running{border-left-color:#2563eb;background:#eff6ff}.pvp-prompt--passed{border-left-color:#16a34a;background:#f0fdf4}.pvp-prompt--failed{border-left-color:#dc2626;background:#fef2f2}.pvp-prompt--error{border-left-color:#d97706;background:#fffbeb}.pvp-prompt-row{display:flex;align-items:center;gap:10px;padding:8px 14px}.pvp-prompt-row input[type=checkbox]{accent-color:#003c88;flex:0 0 auto;width:14px;height:14px;cursor:pointer}.pvp-prompt-id{font-family:ui-monospace,Cascadia Code,monospace;font-size:11px;font-weight:700;color:#003c88;background:#dbeafe;padding:2px 8px;border-radius:5px;flex:0 0 auto;letter-spacing:.02em}.pvp-prompt-q{flex:1 1 auto;min-width:0;font-size:13px;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.pvp-prompt-row .dash-btn--ghost.dash-btn--sm{padding:3px 10px;font-size:11px;border-radius:6px}.pvp-detail{background:#f8fafc;border-top:1px dashed #e2e8f0;padding:12px 16px 12px 44px;display:flex;flex-direction:column;gap:7px}.pvp-detail-row{display:flex;gap:12px;font-size:12px;align-items:baseline}.pvp-detail-label{flex:0 0 88px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.pvp-detail-text{flex:1 1 auto;min-width:0;color:#334155;word-break:break-word}.pvp-answer{white-space:pre-wrap;line-height:1.55;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:12px}.pvp-detail-meta{font-size:11px;color:#94a3b8;align-self:flex-end}.pvp-ok{color:#16a34a;font-weight:700}.pvp-bad{color:#dc2626;font-weight:700}@media(max-width:700px){.pvp-summary{grid-template-columns:repeat(3,auto)}.pvp-progress{display:none}.pvp-summary-source{grid-column:1 / -1}.pvp-prompt-q{white-space:normal}}
