@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-primary:#0b0f19;--bg-secondary:#111827bf;--bg-card:#1e293b73;--border-color:#ffffff14;--accent-blue:#3b82f6;--accent-purple:#8b5cf6;--accent-glow:linear-gradient(135deg, #3b82f6, #8b5cf6);--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--success:#10b981;--error:#ef4444;--warning:#f59e0b;background-color:#0b0f19;font-family:Outfit,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(circle at 50% 0,#1e1b4b 0%,#0b0f19 70%) fixed;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}.app-container{grid-template-columns:320px 1fr;height:100vh;display:grid;overflow:hidden}.sidebar{background:var(--bg-secondary);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--border-color);flex-direction:column;height:100%;padding:24px;display:flex}.logo-container{align-items:center;gap:12px;margin-bottom:32px;display:flex}.logo-icon{background:var(--accent-glow);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 0 16px #8b5cf666}.logo-text{background:linear-gradient(90deg,#fff,#93c5fd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:20px;font-weight:700}.sidebar-section{flex-direction:column;margin-bottom:28px;display:flex;overflow:hidden}.sidebar-section:nth-of-type(3){flex:1}.section-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.1em;margin-bottom:12px;font-size:12px;font-weight:600}.profile-selector{border:1px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;background:#1e293b80;border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.profile-selector:focus{border-color:var(--accent-blue)}.profile-selector option{color:var(--text-primary);background-color:#0b0f19;padding:10px}.file-list{flex-direction:column;gap:10px;height:100%;padding-right:4px;display:flex;overflow-y:auto}.file-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;justify-content:space-between;align-items:center;padding:12px;transition:all .2s;display:flex}.file-item:hover{background:#1e293b99;border-color:#ffffff26}.file-info{flex-direction:column;gap:4px;display:flex;overflow:hidden}.file-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.file-meta{color:var(--text-muted);gap:8px;font-size:11px;display:flex}.delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.delete-btn:hover{color:var(--error);background:#ef444426}.stats-card{background:linear-gradient(135deg,#3b82f614,#8b5cf614);border:1px solid #8b5cf633;border-radius:12px;flex-direction:column;gap:6px;padding:16px;display:flex}.stats-label{color:var(--text-secondary);font-size:13px}.stats-value{color:#fff;background:linear-gradient(90deg,#60a5fa,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:28px;font-weight:700}.stats-hint{color:var(--text-muted);font-size:11px}.btn-logout{width:100%;margin-top:12px;padding:8px 12px;font-size:12.5px}.main-content{grid-template-rows:auto 1fr;height:100%;display:grid}.header{border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0f1980;justify-content:space-between;align-items:center;height:70px;padding:0 40px;display:flex}.header-title h1{color:#fff;font-size:18px;font-weight:600}.profile-edit-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.profile-edit-btn:hover{color:#fff;background-color:#ffffff0d}.profile-rename-input{border:1px solid var(--border-color);color:#fff;background:#1e293b99;border-radius:8px;outline:none;padding:6px 12px;font-family:inherit;font-size:16px}.profile-rename-input:focus{border-color:var(--accent-blue)}.btn-save-name{box-shadow:none;padding:6px 12px;font-size:13px}.header-model{border:1px solid var(--border-color);color:var(--text-secondary);background:#ffffff0d;border-radius:20px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.active-dot{background-color:var(--success);width:8px;height:8px;box-shadow:0 0 8px var(--success);border-radius:50%}.active-dot.warning{background-color:var(--warning);box-shadow:0 0 8px var(--warning)}.dashboard-grid{grid-template-columns:420px 1fr;height:calc(100vh - 70px);display:grid;overflow:hidden}.control-panel{border-right:1px solid var(--border-color);background:#0f172a33;flex-direction:column;gap:28px;padding:32px;display:flex;overflow-y:auto}.panel-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:16px;padding:24px;display:flex}.card-title{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.dropzone{border:2px dashed var(--border-color);text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;transition:all .2s;display:flex}.dropzone:hover,.dropzone.drag-active{border-color:var(--accent-blue);background:#3b82f60a}.upload-icon{color:var(--text-muted);width:32px;height:32px}.upload-text{color:var(--text-secondary);font-size:13px}.upload-text span{color:var(--accent-blue);font-weight:500}.file-input{display:none}.textbox-container{flex-direction:column;gap:12px;display:flex}.textbox-input{border:1px solid var(--border-color);width:100%;height:120px;color:var(--text-primary);resize:none;background:#0f172a80;border-radius:10px;outline:none;padding:12px;font-family:inherit;font-size:13px;transition:border-color .2s}.textbox-input:focus{border-color:var(--accent-purple)}.text-title-input{border:1px solid var(--border-color);width:100%;color:var(--text-primary);background:#0f172a80;border-radius:8px;outline:none;padding:8px 12px;font-family:inherit;font-size:13px}.text-title-input:focus{border-color:var(--accent-purple)}.btn{background:var(--accent-glow);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #8b5cf640}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #8b5cf659}.btn:disabled{background:var(--border-color);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);box-shadow:none;background:#ffffff0d}.btn-secondary:hover:not(:disabled){box-shadow:none;background:#ffffff1a}.training-card{border:1px solid #8b5cf64d}.status-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:12px;font-size:13px;display:flex}.status-badge{text-transform:uppercase;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:600}.status-badge.idle{color:var(--text-secondary);background:#64748b26}.status-badge.queued{color:var(--warning);background:#f59e0b26}.status-badge.running{color:var(--accent-blue);background:#3b82f626}.status-badge.succeeded{color:var(--success);background:#10b98126}.status-badge.failed{color:var(--error);background:#ef686826}.training-progress{color:var(--text-secondary);flex-direction:column;gap:8px;font-size:12px;display:flex}.spinner{border:2px solid #ffffff1a;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chat-container{background:#0f172a1a;grid-template-rows:1fr auto;height:100%;display:grid;overflow:hidden}.chat-history{flex-direction:column;gap:28px;padding:40px;display:flex;overflow-y:auto}.chat-message{gap:16px;max-width:80%;animation:.3s ease-out fadeIn;display:flex}.chat-message.user{flex-direction:row-reverse;align-self:flex-end}.chat-message.assistant{align-self:flex-start}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.chat-message.user .avatar{background:var(--accent-blue);color:#fff}.chat-message.assistant .avatar{background:var(--accent-glow);color:#fff;box-shadow:0 0 10px #8b5cf64d}.message-bubble{border:1px solid var(--border-color);color:var(--text-primary);background:#1e293b4d;border-radius:16px;padding:16px 20px;font-size:14.5px;line-height:1.6}.chat-message.user .message-bubble{background:#3b82f626;border-color:#3b82f640;border-top-right-radius:2px}.chat-message.assistant .message-bubble{border-top-left-radius:2px}.citations-box{border-top:1px solid var(--border-color);flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;display:flex}.citation-header{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;font-size:11px;font-weight:600}.citation-list{flex-wrap:wrap;gap:8px;display:flex}.citation-pill{border:1px solid var(--border-color);color:var(--text-secondary);cursor:help;background:#ffffff0a;border-radius:12px;padding:4px 10px;font-size:11px;transition:all .2s}.citation-pill:hover{background:#ffffff14;border-color:#fff3}.chat-input-bar{background:linear-gradient(#0000,#0b0f19 20%);padding:24px 40px 40px}.input-container{border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e293b80;border-radius:16px;align-items:center;gap:12px;padding:8px;transition:border-color .2s;display:flex;box-shadow:0 8px 32px #00000040}.input-container:focus-within{border-color:var(--accent-blue)}.chat-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:12px;font-family:inherit;font-size:14.5px}.send-btn{background:var(--accent-glow);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;box-shadow:0 4px 10px #8b5cf640}.send-btn:hover:not(:disabled){transform:scale(1.03)}.send-btn:disabled{color:var(--text-muted);cursor:not-allowed;box-shadow:none;background:#ffffff0d}.login-screen{z-index:10000;background:radial-gradient(circle at 50% 30%,#1e1b4b 0%,#060814 60%);justify-content:center;align-items:center;width:100vw;height:100vh;padding:24px;display:flex;position:fixed;top:0;left:0}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);background:#111827b3;border-radius:20px;flex-direction:column;gap:28px;width:100%;max-width:400px;padding:40px;animation:.4s ease-out fadeIn;display:flex;box-shadow:0 16px 48px #0006}.login-header{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.login-icon-box{background:var(--accent-glow);border-radius:14px;justify-content:center;align-items:center;width:50px;height:50px;display:flex;box-shadow:0 0 20px #3b82f659}.login-header h2{color:#fff;font-size:20px;font-weight:700}.login-header p{color:var(--text-secondary);font-size:13px}.login-form{flex-direction:column;gap:16px;display:flex}.login-input{border:1px solid var(--border-color);color:#fff;text-align:center;background:#1e293b80;border-radius:10px;outline:none;width:100%;padding:14px 16px;font-family:inherit;font-size:14px;transition:all .2s}.login-input:focus{border-color:var(--accent-blue);box-shadow:0 0 8px #3b82f626}.login-error{color:var(--error);text-align:center;font-size:12.5px;font-weight:500}.btn-login{width:100%;padding:14px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.dashboard-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr;overflow-y:auto}.control-panel{border-right:none;border-bottom:1px solid var(--border-color)}}
