:where([data-page=finetune]) .sft-container{max-width:960px;margin:0 auto;padding:24px 20px 60px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#374151}:where([data-page=finetune]) .sft-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}:where([data-page=finetune]) .sft-page-header h1{font-size:24px;font-weight:700;color:#111827;margin:0 0 4px}:where([data-page=finetune]) .sft-container .subtitle{color:#6b7280;font-size:14px;margin:0}:where([data-page=finetune]) .sft-tabs{display:flex;gap:0;border-bottom:2px solid #e5e7eb;margin-bottom:24px}:where([data-page=finetune]) .sft-tab{padding:12px 24px;font-size:15px;font-weight:500;color:#6b7280;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,border-color .2s;margin-bottom:-2px}:where([data-page=finetune]) .sft-tab:hover{color:#374151}:where([data-page=finetune]) .sft-tab.active{color:#8b7cf6;border-bottom-color:#8b7cf6}:where([data-page=finetune]) .sft-tab-panel{display:none}:where([data-page=finetune]) .sft-tab-panel.active{display:block}:where([data-page=finetune]) .sft-card{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:20px}:where([data-page=finetune]) .sft-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}:where([data-page=finetune]) .sft-card-header h3{font-size:16px;font-weight:600;color:#111827;margin:0}:where([data-page=finetune]) .sft-step-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#8b7cf6;color:white;font-size:13px;font-weight:700;border-radius:50%;flex-shrink:0}:where([data-page=finetune]) .sft-card-desc{font-size:13px;color:#6b7280;margin:0 0 16px;line-height:1.5}:where([data-page=finetune]) .sft-card-desc code{background:#f3f4f6;padding:1px 6px;border-radius:4px;font-size:12px;color:#8b7cf6}:where([data-page=finetune]) .sft-field{margin-bottom:18px}:where([data-page=finetune]) .sft-field label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}:where([data-page=finetune]) .sft-field input[type=number],:where([data-page=finetune]) .sft-field input[type=text],:where([data-page=finetune]) .sft-field select,:where([data-page=finetune]) .sft-field textarea{width:100%;padding:10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}:where([data-page=finetune]) .sft-field input:focus,:where([data-page=finetune]) .sft-field select:focus,:where([data-page=finetune]) .sft-field textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.1)}:where([data-page=finetune]) .sft-field textarea{min-height:80px;resize:vertical}:where([data-page=finetune]) .sft-field .hint{font-size:12px;color:#9ca3af;margin-top:4px}:where([data-page=finetune]) .sft-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:640px){:where([data-page=finetune]) .sft-form-grid{grid-template-columns:1fr}}:where([data-page=finetune]) .upload-zone{border:2px dashed #d1d5db;border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;position:relative;background:#fafafa}:where([data-page=finetune]) .upload-zone.dragover,:where([data-page=finetune]) .upload-zone:hover{border-color:#8b7cf6;background:rgba(139,124,246,.04)}:where([data-page=finetune]) .upload-zone .upload-icon{margin-bottom:12px}:where([data-page=finetune]) .upload-zone .upload-text{font-size:14px;color:#6b7280}:where([data-page=finetune]) .upload-zone .upload-text strong{color:#8b7cf6}:where([data-page=finetune]) .upload-zone .upload-hint{font-size:12px;color:#9ca3af;margin-top:8px}:where([data-page=finetune]) .upload-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}:where([data-page=finetune]) .file-list{margin-top:16px}:where([data-page=finetune]) .file-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;font-size:13px}:where([data-page=finetune]) .file-item .file-name{color:#374151;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where([data-page=finetune]) .file-item .file-size{color:#9ca3af;margin:0 12px;white-space:nowrap}:where([data-page=finetune]) .file-item .file-remove{color:#ef4444;cursor:pointer;background:none;border:none;font-size:16px;padding:0 4px;line-height:1}:where([data-page=finetune]) .file-item .file-remove:hover{color:#dc2626}:where([data-page=finetune]) .sft-btn{padding:10px 24px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background .2s,opacity .2s,box-shadow .2s;font-family:inherit;display:inline-flex;align-items:center;gap:8px}:where([data-page=finetune]) .sft-btn-primary{background:#8b7cf6;color:#fff}:where([data-page=finetune]) .sft-btn-primary:hover{background:#7c3aed;box-shadow:0 2px 8px rgba(139,124,246,.3)}:where([data-page=finetune]) .sft-btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}:where([data-page=finetune]) .sft-btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}:where([data-page=finetune]) .sft-btn-secondary:hover{background:#e5e7eb}:where([data-page=finetune]) .sft-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}:where([data-page=finetune]) .sft-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:640px){:where([data-page=finetune]) .sft-grid{grid-template-columns:1fr}}:where([data-page=finetune]) .job-list{display:flex;flex-direction:column;gap:12px}:where([data-page=finetune]) .job-card{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:20px 24px;display:flex;align-items:center;gap:20px;transition:border-color .2s,box-shadow .2s}:where([data-page=finetune]) .job-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px rgba(0,0,0,.04)}:where([data-page=finetune]) .job-status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}:where([data-page=finetune]) .job-status-dot.provisioning,:where([data-page=finetune]) .job-status-dot.training{background:#f59e0b;animation:pulse 1.5s infinite}:where([data-page=finetune]) .job-status-dot.completed{background:#10b981}:where([data-page=finetune]) .job-status-dot.failed{background:#ef4444}:where([data-page=finetune]) .job-status-dot.uploading{background:#3b82f6;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}:where([data-page=finetune]) .job-info{flex:1 1;min-width:0}:where([data-page=finetune]) .job-name{font-size:15px;font-weight:600;color:#111827;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where([data-page=finetune]) .job-meta{font-size:12px;color:#9ca3af;display:flex;gap:16px;flex-wrap:wrap}:where([data-page=finetune]) .job-actions{display:flex;gap:8px;flex-shrink:0}:where([data-page=finetune]) .job-actions .sft-btn{padding:6px 14px;font-size:12px}:where([data-page=finetune]) .progress-bar-container{width:100%;background:#f3f4f6;border-radius:6px;height:8px;margin-top:8px;overflow:hidden}:where([data-page=finetune]) .progress-bar-fill{height:100%;background:linear-gradient(90deg,#8b7cf6,#a78bfa);border-radius:6px;transition:width .5s ease}:where([data-page=finetune]) .empty-state{text-align:center;padding:60px 20px;color:#9ca3af}:where([data-page=finetune]) .empty-state p{font-size:14px;margin-bottom:20px;color:#6b7280}:where([data-page=finetune]) .status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}:where([data-page=finetune]) .status-badge.provisioning{background:rgba(245,158,11,.1);color:#d97706}:where([data-page=finetune]) .status-badge.training{background:rgba(139,124,246,.1);color:#8b7cf6}:where([data-page=finetune]) .status-badge.uploading{background:rgba(59,130,246,.1);color:#3b82f6}:where([data-page=finetune]) .status-badge.completed{background:rgba(16,185,129,.1);color:#059669}:where([data-page=finetune]) .status-badge.failed{background:rgba(239,68,68,.1);color:#dc2626}:where([data-page=finetune]) .log-console{background:#111827;border:1px solid #1f2937;border-radius:8px;padding:16px;font-family:Courier New,monospace;font-size:12px;color:#34d399;max-height:300px;overflow-y:auto;line-height:1.6;white-space:pre-wrap;word-break:break-all}:where([data-page=finetune]) .advanced-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;color:#6b7280;font-size:13px;font-weight:500;margin-bottom:16px;-webkit-user-select:none;user-select:none;padding:8px 0}:where([data-page=finetune]) .advanced-toggle:hover{color:#374151}:where([data-page=finetune]) .advanced-chevron{transition:transform .2s}:where([data-page=finetune]) .advanced-chevron.open{transform:rotate(90deg)}:where([data-page=finetune]) .advanced-content{display:none}:where([data-page=finetune]) .advanced-content.open{display:block}:where([data-page=finetune]) .sft-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:10000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}:where([data-page=finetune]) .sft-modal-content{background:white;border:1px solid #e5e7eb;border-radius:16px;padding:32px;max-width:700px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.15)}:where([data-page=finetune]) .sft-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}:where([data-page=finetune]) .sft-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}:where([data-page=finetune]) .sft-modal-close{background:none;border:none;color:#9ca3af;font-size:28px;cursor:pointer;line-height:1;padding:0;transition:color .2s}:where([data-page=finetune]) .sft-modal-close:hover{color:#374151}:where([data-page=finetune]) .file-item.model-file-item{background:#f0fdf4;border:1px solid #bbf7d0;gap:10px;justify-content:flex-start}:where([data-page=finetune]) .file-item.model-file-item input[type=checkbox]{accent-color:#8b7cf6;width:15px;height:15px;cursor:pointer}:where([data-page=finetune]) .file-tag{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500;white-space:nowrap}:where([data-page=finetune]) .file-tag.from-model{background:rgba(139,124,246,.1);color:#8b7cf6}:where([data-page=finetune]) .file-tag.pdf{background:#fef3c7;color:#d97706}