:root{--bg: #000000;--surface: #111111;--muted: #666666;--text: #ffffff;--accent: #ffffff;--accent-2: #cccccc;--card: #1a1a1a;--border: rgba(255,255,255,.1);--success: #ffffff;--danger: #ffffff;--warning: #ffffff}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-layout{display:flex;height:100vh}.sidebar{width:250px;background:var(--surface);border-right:1px solid var(--border);padding:20px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar{display:none}.main-content{flex:1;padding:20px;overflow-y:auto}.logo{font-weight:700;color:var(--text);font-size:18px;margin-bottom:30px}.sidebar-nav{display:flex;flex-direction:column;gap:20px}.nav-section{display:flex;flex-direction:column;gap:8px}.nav-title{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.sidebar-nav a{color:var(--text);text-decoration:none;padding:12px 16px;border-radius:8px;transition:all .3s ease;font-weight:500}.sidebar-nav a:hover{background:#ffffff0d}.sidebar-nav a.active{background:var(--text);color:var(--bg)}.card{background:var(--card);border:1px solid var(--border);padding:20px;border-radius:12px;margin-bottom:16px}.upload-section{display:flex;flex-direction:column;gap:16px}.file-drop-zone{border:2px dashed var(--border);border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--surface)}.file-drop-zone:hover,.file-drop-zone.active{border-color:var(--text);background:#ffffff0d}.upload-icon{font-size:48px;margin-bottom:16px}.upload-text{font-size:16px;font-weight:600;margin-bottom:8px}.upload-hint{font-size:14px;color:var(--muted)}.form-row{display:flex;gap:12px;align-items:center}.domain-input{flex:1;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px}input[type=text],input[type=file],select{padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text)}button.btn{padding:12px 20px;border-radius:8px;border:none;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--text);color:var(--bg)}.btn.primary:hover:not(:disabled){background:var(--muted)}.btn.ghost{background:var(--text);border:1px solid var(--text);color:var(--bg)}.btn.ghost:hover:not(:disabled){background:#f2f2f2}.datasets-list{margin-top:20px}.dataset-row{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);margin-bottom:12px}.dataset-name{font-weight:600;font-size:16px;margin-bottom:4px}.dataset-meta{color:var(--muted);font-size:14px}.dataset-id{color:var(--muted);font-size:12px}.jobs-list{display:flex;flex-direction:column;gap:12px}.job-card{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.badge{padding:6px 12px;border-radius:20px;font-weight:600;font-size:12px;text-transform:uppercase}.badge.queued{background:var(--muted);color:var(--bg)}.badge.running,.badge.succeeded{background:var(--text);color:var(--bg)}.badge.failed{background:var(--muted);color:var(--text)}.badge.reviewed{background:var(--success);color:var(--bg)}.controls{display:flex;gap:8px}.muted{color:var(--muted)}.toast{position:fixed;right:20px;bottom:20px;background:var(--card);border:1px solid var(--border);padding:16px 20px;border-radius:8px;color:var(--text);box-shadow:0 8px 32px #00000080}.model-selector{margin-bottom:20px}.selector-label{display:block;font-weight:600;margin-bottom:8px;color:var(--text)}.model-select{width:100%;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;cursor:pointer}.model-select:focus{outline:none;border-color:var(--text)}.actions-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.export-buttons{display:flex;gap:8px}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.empty-icon{font-size:48px;margin-bottom:16px}.empty-text{font-size:18px;font-weight:600;margin-bottom:8px}.empty-hint{font-size:14px}.webhook-section{margin-bottom:20px}.webhook-url-container{display:flex;gap:8px;margin-bottom:8px}.webhook-url{flex:1;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:monospace;font-size:13px}.webhook-hint{font-size:14px;color:var(--muted)}.comments-container{margin-top:20px}.comments-list{display:flex;flex-direction:column;gap:12px}.comment-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.comment-header{display:flex;gap:12px;align-items:center;margin-bottom:12px;font-size:14px}.comment-author{font-weight:600;color:var(--text)}.comment-source{background:var(--muted);color:var(--bg);padding:2px 8px;border-radius:12px;font-size:12px}.comment-date{color:var(--muted);margin-left:auto}.comment-content{color:var(--text);line-height:1.5}.filter-controls{display:flex;gap:12px;align-items:center}.comment-context{background:var(--surface);color:var(--text);padding:4px 8px;border-radius:12px;font-size:12px;border:1px solid var(--border)}.comment-intent{background:var(--text);color:var(--bg);padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.review-actions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000}.modal{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;max-width:500px;width:90%}.intent-options{display:flex;flex-direction:column;gap:8px;margin:16px 0}.intent-option{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;cursor:pointer}.intent-option:hover{background:var(--surface)}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.model-category{font-size:14px;color:var(--text);font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header .filter-controls{display:flex;gap:12px;align-items:center}.section-header h3{margin:0;font-size:18px;font-weight:600}.custom-select{position:relative;width:100%}.select-trigger{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;cursor:pointer;transition:all .3s ease}.select-trigger:hover,.select-trigger.selected{border-color:var(--text)}.select-text{flex:1;text-align:left}.select-arrow{font-size:12px;color:var(--muted);transition:transform .3s ease}.select-trigger:hover .select-arrow{transform:rotate(180deg)}.select-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-top:4px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 8px 32px #0000004d}.select-option{padding:12px 16px;cursor:pointer;transition:background .2s ease;border-bottom:1px solid rgba(255,255,255,.05)}.select-option:last-child{border-bottom:none}.select-option:hover{background:#ffffff0d}.select-option.active{background:var(--text);color:var(--bg)}.select-option.placeholder{color:var(--muted);font-style:italic}.option-main{font-weight:600;margin-bottom:2px}.option-sub{font-size:12px;color:var(--muted)}.select-option.active .option-sub{color:var(--bg)}.train-section{display:flex;flex-direction:column;gap:20px}.dataset-selector{margin-bottom:16px}.parameters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:20px}.param-group{display:flex;flex-direction:column;gap:8px}.param-label{font-weight:600;font-size:14px;color:var(--text)}.param-input{padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px}.param-input:focus{outline:none;border-color:var(--text)}.train-btn{width:100%;padding:16px;font-size:16px}.job-info{flex:1}.job-title{font-weight:600;margin-bottom:4px}.job-details{font-size:12px;color:var(--muted)}.dataset-custom-select{position:relative;width:100%}.dataset-custom-select .select-trigger{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;cursor:pointer;transition:all .3s ease}.dataset-custom-select .select-trigger:hover,.dataset-custom-select .select-trigger.selected{border-color:var(--text)}.dataset-custom-select .select-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-top:4px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 8px 32px #0000004d}.dataset-custom-select .select-option{padding:12px 16px;cursor:pointer;transition:background .2s ease;border-bottom:1px solid rgba(255,255,255,.05)}.dataset-custom-select .select-option:last-child{border-bottom:none}.dataset-custom-select .select-option:hover{background:#ffffff0d}.dataset-custom-select .select-option.active{background:var(--text);color:var(--bg)}.dataset-custom-select .select-option.placeholder{color:var(--muted);font-style:italic}.dataset-custom-select .option-main{font-weight:600;margin-bottom:2px}.dataset-custom-select .option-sub{font-size:12px;color:var(--muted)}.dataset-custom-select .select-option.active .option-sub{color:var(--bg)}.models-list{display:flex;flex-direction:column;gap:12px}.model-card{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.model-info{flex:1}.model-title{font-weight:600;margin-bottom:4px;font-family:monospace}.model-details{font-size:12px;color:var(--muted)}.model-custom-select{position:relative;width:100%;margin-bottom:16px}.model-custom-select .select-trigger{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;cursor:pointer;transition:all .3s ease}.model-custom-select .select-trigger:hover,.model-custom-select .select-trigger.selected{border-color:var(--text)}.model-custom-select .select-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-top:4px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 8px 32px #0000004d}.model-custom-select .select-option{padding:12px 16px;cursor:pointer;transition:background .2s ease;border-bottom:1px solid rgba(255,255,255,.05)}.model-custom-select .select-option:last-child{border-bottom:none}.model-custom-select .select-option:hover{background:#ffffff0d}.model-custom-select .select-option.active{background:var(--text);color:var(--bg)}.model-custom-select .option-main{font-weight:600;margin-bottom:2px}.model-custom-select .option-sub{font-size:12px;color:var(--muted)}.model-custom-select .select-option.active .option-sub{color:var(--bg)}.form-section{margin-top:16px}.form-row{display:flex;gap:12px;align-items:center;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;font-size:14px;color:var(--text)}.form-input,.form-select{padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px}.form-input:focus,.form-select:focus{outline:none;border-color:var(--text)}.create-webhook-btn{width:100%;padding:16px;font-size:16px}.brands-list,.categories-list,.webhooks-list{display:flex;flex-direction:column;gap:12px}.brand-card,.category-card,.webhook-card{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.brand-info,.category-info,.webhook-info{flex:1}.brand-name,.category-name,.webhook-title{font-weight:600;margin-bottom:4px}.brand-description,.category-description{color:var(--muted);margin-bottom:4px}.category-brand,.brand-category,.webhook-model{color:var(--text);font-size:14px;margin-bottom:4px}.brand-date,.category-date,.webhook-date,.webhook-id{font-size:12px;color:var(--muted)}.brand-custom-select,.category-custom-select,.webhook-brand-select,.webhook-category-select,.webhook-model-select,.webhook-filter-select,.comment-brand-select,.comment-category-select,.review-brand-select,.review-category-select,.validation-custom-select,.type-custom-select{position:relative;width:100%}.webhook-filter-select{min-width:400px}.brand-custom-select .select-trigger,.category-custom-select .select-trigger,.webhook-brand-select .select-trigger,.webhook-category-select .select-trigger,.webhook-model-select .select-trigger,.webhook-filter-select .select-trigger,.comment-brand-select .select-trigger,.comment-category-select .select-trigger,.review-brand-select .select-trigger,.review-category-select .select-trigger,.validation-custom-select .select-trigger,.type-custom-select .select-trigger{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;cursor:pointer;transition:all .3s ease}.brand-custom-select .select-trigger:hover,.category-custom-select .select-trigger:hover,.webhook-brand-select .select-trigger:hover,.webhook-category-select .select-trigger:hover,.webhook-model-select .select-trigger:hover,.webhook-filter-select .select-trigger:hover,.comment-brand-select .select-trigger:hover,.comment-category-select .select-trigger:hover,.review-brand-select .select-trigger:hover,.review-category-select .select-trigger:hover,.validation-custom-select .select-trigger:hover,.type-custom-select .select-trigger:hover,.brand-custom-select .select-trigger.selected,.category-custom-select .select-trigger.selected,.webhook-brand-select .select-trigger.selected,.webhook-category-select .select-trigger.selected,.webhook-model-select .select-trigger.selected,.webhook-filter-select .select-trigger.selected,.comment-brand-select .select-trigger.selected,.comment-category-select .select-trigger.selected,.review-brand-select .select-trigger.selected,.review-category-select .select-trigger.selected,.validation-custom-select .select-trigger.selected,.type-custom-select .select-trigger.selected{border-color:var(--text)}.brand-custom-select .select-trigger.disabled,.category-custom-select .select-trigger.disabled,.webhook-brand-select .select-trigger.disabled,.webhook-category-select .select-trigger.disabled,.webhook-model-select .select-trigger.disabled,.webhook-filter-select .select-trigger.disabled,.comment-brand-select .select-trigger.disabled,.comment-category-select .select-trigger.disabled,.review-brand-select .select-trigger.disabled,.review-category-select .select-trigger.disabled,.validation-custom-select .select-trigger.disabled,.type-custom-select .select-trigger.disabled{opacity:.5;cursor:not-allowed}.brand-custom-select .select-dropdown,.category-custom-select .select-dropdown,.webhook-brand-select .select-dropdown,.webhook-category-select .select-dropdown,.webhook-model-select .select-dropdown,.webhook-filter-select .select-dropdown,.comment-brand-select .select-dropdown,.comment-category-select .select-dropdown,.review-brand-select .select-dropdown,.review-category-select .select-dropdown,.validation-custom-select .select-dropdown,.type-custom-select .select-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-top:4px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 8px 32px #0000004d}.brand-custom-select .select-option,.category-custom-select .select-option,.webhook-brand-select .select-option,.webhook-category-select .select-option,.webhook-model-select .select-option,.webhook-filter-select .select-option,.comment-brand-select .select-option,.comment-category-select .select-option,.review-brand-select .select-option,.review-category-select .select-option,.validation-custom-select .select-option,.type-custom-select .select-option{padding:12px 16px;cursor:pointer;transition:background .2s ease;border-bottom:1px solid rgba(255,255,255,.05)}.brand-custom-select .select-option:last-child,.category-custom-select .select-option:last-child,.webhook-brand-select .select-option:last-child,.webhook-category-select .select-option:last-child,.webhook-model-select .select-option:last-child,.webhook-filter-select .select-option:last-child,.comment-brand-select .select-option:last-child,.comment-category-select .select-option:last-child,.review-brand-select .select-option:last-child,.review-category-select .select-option:last-child,.validation-custom-select .select-option:last-child,.type-custom-select .select-option:last-child{border-bottom:none}.brand-custom-select .select-option:hover,.category-custom-select .select-option:hover,.webhook-brand-select .select-option:hover,.webhook-category-select .select-option:hover,.webhook-model-select .select-option:hover,.webhook-filter-select .select-option:hover,.comment-brand-select .select-option:hover,.comment-category-select .select-option:hover,.review-brand-select .select-option:hover,.review-category-select .select-option:hover,.validation-custom-select .select-option:hover,.type-custom-select .select-option:hover{background:#ffffff0d}.brand-custom-select .select-option.active,.category-custom-select .select-option.active,.webhook-brand-select .select-option.active,.webhook-category-select .select-option.active,.webhook-model-select .select-option.active,.webhook-filter-select .select-option.active,.comment-brand-select .select-option.active,.comment-category-select .select-option.active,.review-brand-select .select-option.active,.review-category-select .select-option.active,.validation-custom-select .select-option.active,.type-custom-select .select-option.active{background:var(--text);color:var(--bg)}.brand-custom-select .select-option.placeholder,.category-custom-select .select-option.placeholder,.webhook-brand-select .select-option.placeholder,.webhook-category-select .select-option.placeholder,.webhook-model-select .select-option.placeholder,.webhook-filter-select .select-option.placeholder,.comment-brand-select .select-option.placeholder,.comment-category-select .select-option.placeholder,.review-brand-select .select-option.placeholder,.review-category-select .select-option.placeholder,.validation-custom-select .select-option.placeholder,.type-custom-select .select-option.placeholder{color:var(--muted);font-style:italic}.brand-custom-select .option-main,.category-custom-select .option-main,.webhook-brand-select .option-main,.webhook-category-select .option-main,.webhook-model-select .option-main,.webhook-filter-select .option-main,.comment-brand-select .option-main,.comment-category-select .option-main,.review-brand-select .option-main,.review-category-select .option-main,.validation-custom-select .option-main,.type-custom-select .option-main{font-weight:600;margin-bottom:2px}.brand-custom-select .option-sub,.category-custom-select .option-sub,.webhook-brand-select .option-sub,.webhook-category-select .option-sub,.webhook-model-select .option-sub,.webhook-filter-select .option-sub,.comment-brand-select .option-sub,.comment-category-select .option-sub,.review-brand-select .option-sub,.review-category-select .option-sub,.validation-custom-select .option-sub,.type-custom-select .option-sub{font-size:12px;color:var(--muted)}.brand-custom-select .select-option.active .option-sub,.category-custom-select .select-option.active .option-sub,.webhook-brand-select .select-option.active .option-sub,.webhook-category-select .select-option.active .option-sub,.webhook-model-select .select-option.active .option-sub,.webhook-filter-select .select-option.active .option-sub,.comment-brand-select .select-option.active .option-sub,.comment-category-select .select-option.active .option-sub,.review-brand-select .select-option.active .option-sub,.review-category-select .select-option.active .option-sub,.validation-custom-select .select-option.active .option-sub,.type-custom-select .select-option.active .option-sub{color:var(--bg)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.stat-card{display:flex;padding:20px;border-radius:12px;border:1px solid var(--border);background:var(--surface);transition:all .3s ease;text-align:center}.stat-card:hover{border-color:var(--text);background:#ffffff0d}.stat-content{flex:1}.stat-number{font-size:36px;font-weight:700;color:var(--text);margin-bottom:4px}.stat-label{font-size:16px;color:var(--muted)}@media (max-width: 768px){.app-layout{flex-direction:column}.sidebar{width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border)}.sidebar-nav{flex-direction:row;overflow-x:auto}.nav-section{min-width:150px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
