.chat-page{display:flex;flex-direction:column;height:100%;padding:0;background:var(--color-bg)}.chat-header{padding:var(--space-l);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.chat-controls{display:flex;gap:var(--space-m);align-items:center}.agent-selector{flex:1;max-width:300px;padding:var(--space-s) var(--space-m);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:14px}.agent-selector:focus{outline:none;border-color:var(--color-accent)}.agent-selector:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:var(--space-s) var(--space-l);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;font-size:14px}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.session-id{color:var(--color-text-dim);font-size:12px;font-family:monospace}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-l);background:var(--color-bg)}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-dim);text-align:center}.chat-hint{margin-top:var(--space-m);font-size:14px;opacity:.7}.chat-message{margin-bottom:var(--space-l);padding:var(--space-m);border-radius:var(--radius);animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message-user{background:#2f81f726;margin-left:20%;border-left:3px solid var(--color-accent)}.chat-message-assistant{background:var(--color-surface);margin-right:20%;border-left:3px solid var(--color-accent-alt)}.chat-message-system{background:#ff9f4326;text-align:center;font-size:14px;margin:var(--space-m) 20%;border-left:3px solid #ff9f43}.message-header{display:flex;justify-content:space-between;margin-bottom:var(--space-s);font-size:12px}.message-role{font-weight:700;text-transform:uppercase;color:var(--color-accent-alt)}.message-time{color:var(--color-text-dim)}.message-content{color:var(--color-text);line-height:1.5;white-space:pre-wrap}.message-content.markdown-body{white-space:normal}.markdown-body p{margin:0 0 .5em}.markdown-body p:last-child{margin-bottom:0}.markdown-body strong{color:var(--color-text);font-weight:700}.markdown-body em{font-style:italic}.markdown-body ul,.markdown-body ol{margin:.4em 0;padding-left:1.5em}.markdown-body li{margin-bottom:.2em}.markdown-body code{background:#0006;padding:2px 5px;border-radius:3px;font-family:monospace;font-size:.9em}.markdown-body pre{background:#00000080;padding:var(--space-m);border-radius:var(--radius);overflow-x:auto;margin:.5em 0;border:1px solid var(--color-border)}.markdown-body pre code{background:none;padding:0;border-radius:0;font-size:.85em}.markdown-body table{border-collapse:collapse;width:100%;margin:.5em 0;font-size:.9em}.markdown-body th,.markdown-body td{border:1px solid var(--color-border);padding:6px 10px;text-align:left}.markdown-body th{background:#0000004d;font-weight:600}.markdown-body tr:nth-child(2n){background:#00000026}.markdown-body blockquote{border-left:3px solid var(--color-accent);margin:.5em 0;padding:.3em .8em;color:var(--color-text-dim)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:.6em 0 .3em;line-height:1.3}.markdown-body h1{font-size:1.4em}.markdown-body h2{font-size:1.2em}.markdown-body h3{font-size:1.1em}.markdown-body hr{border:none;border-top:1px solid var(--color-border);margin:.8em 0}.markdown-body a{color:var(--color-accent);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.loading .message-content{padding:var(--space-m) 0}.typing-indicator{display:flex;gap:var(--space-xs)}.typing-indicator span{width:8px;height:8px;background:var(--color-text-dim);border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.tool-calls{margin-top:var(--space-m);padding:var(--space-m);background:#0000004d;border-radius:var(--radius);border-left:3px solid var(--color-accent)}.tool-calls-header{font-weight:700;margin-bottom:var(--space-s);color:var(--color-accent-alt);font-size:14px}.tool-call{background:var(--color-bg);padding:var(--space-s);margin-bottom:var(--space-s);border-radius:var(--radius);border:1px solid var(--color-border)}.tool-call:last-child{margin-bottom:0}.tool-call-name{display:flex;align-items:center;gap:var(--space-s);font-weight:700;margin-bottom:var(--space-xs);color:var(--color-text)}.tool-status{font-size:12px}.tool-status.success{color:#3fb950}.tool-status.error{color:#f85149}.tool-duration{margin-left:auto;font-size:11px;color:var(--color-text-dim);font-family:monospace}.tool-details{margin-top:var(--space-s)}.tool-details summary{cursor:pointer;color:var(--color-accent);font-size:12px;-webkit-user-select:none;user-select:none}.tool-details summary:hover{text-decoration:underline}.tool-io{margin-top:var(--space-s);font-size:12px}.tool-input,.tool-output{margin-bottom:var(--space-s)}.tool-io strong{display:block;margin-bottom:var(--space-xs);color:var(--color-text-dim)}.tool-io pre{background:#00000080;padding:var(--space-s);border-radius:var(--radius);overflow-x:auto;color:var(--color-text);font-family:monospace;font-size:11px;margin:0;border:1px solid var(--color-border)}.chat-input-container{display:flex;flex-direction:column;gap:var(--space-s);padding:var(--space-l);border-top:1px solid var(--color-border);background:var(--color-surface)}.chat-input{flex:1;padding:var(--space-m);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:14px;font-family:inherit;resize:none}.chat-input:focus{outline:none;border-color:var(--color-accent)}.chat-input:disabled{opacity:.5;cursor:not-allowed}.send-button{padding:var(--space-m) var(--space-xl);height:fit-content;background:var(--color-accent);border:none;border-radius:var(--radius);color:#fff;font-size:14px;font-weight:500;cursor:pointer}.send-button:hover:not(:disabled){background:#1a6fd8}.send-button:disabled{opacity:.5;cursor:not-allowed}.file-preview{display:flex;align-items:center;gap:var(--space-s);padding:var(--space-s) var(--space-m);background:#58a6ff1a;border:1px solid var(--color-accent);border-radius:var(--radius);font-size:13px}.file-icon{font-size:16px}.file-name{flex:1;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:var(--color-text-dim);font-size:11px}.remove-file-btn{background:transparent;border:none;color:#f85149;cursor:pointer;padding:4px 8px;border-radius:var(--radius);font-size:14px;transition:background .2s}.remove-file-btn:hover{background:#f851491a}.input-row{display:flex;gap:var(--space-s);align-items:flex-end}.input-row .chat-input{flex:1;min-height:60px}.attach-file-btn{padding:var(--space-m) var(--space-l);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;font-size:18px;transition:all .2s;height:60px}.attach-file-btn:hover:not(:disabled){background:var(--color-border);border-color:var(--color-accent)}.attach-file-btn:disabled{opacity:.5;cursor:not-allowed}.input-row .send-button{height:60px;min-width:80px}.streaming-status{display:flex;align-items:center;gap:var(--space-s);padding:var(--space-xs) 0;color:var(--color-accent-alt);font-size:13px;font-style:italic}.streaming-dot{display:inline-block;width:8px;height:8px;background:var(--color-accent-alt);border-radius:50%;animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.cursor-blink{animation:blink .8s infinite;color:var(--color-accent);font-weight:700}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.tool-call-loading{border-color:var(--color-accent-alt);animation:toolPulse 1.5s infinite}@keyframes toolPulse{0%,to{border-color:var(--color-border)}50%{border-color:var(--color-accent-alt)}}.tool-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--color-text-dim);border-top-color:var(--color-accent-alt);border-radius:50%;animation:spin .8s linear infinite}.tool-status.loading{display:inline-flex;align-items:center}.agents-container{display:flex;flex-direction:column;height:100%}.agents-tabs{display:flex;gap:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 var(--space-l)}.agents-tabs .tab{padding:var(--space-m) var(--space-l);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-dim);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.agents-tabs .tab:hover{color:var(--color-text);background:#ffffff0d}.agents-tabs .tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.agents-content{flex:1;overflow:auto;padding-top:var(--space-l)}.workflow-test-page{display:flex;flex-direction:column;gap:var(--space-l);padding:var(--space-l);max-width:1200px;margin:0 auto}.workflow-test-header h2{margin:0;color:var(--color-text)}.workflow-test-header .subtitle{color:var(--color-text-dim);margin-top:var(--space-s)}.test-controls{background:var(--color-surface);padding:var(--space-l);border-radius:var(--radius)}.test-controls label{display:flex;flex-direction:column;gap:var(--space-s);font-weight:500;color:var(--color-text)}.test-controls select{padding:var(--space-s) var(--space-m);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:14px}.test-controls select:focus{outline:none;border-color:var(--color-accent)}.test-controls select:disabled{opacity:.5;cursor:not-allowed}.input-section{background:var(--color-surface);padding:var(--space-l);border-radius:var(--radius)}.input-section h3{margin:0 0 var(--space-m) 0;color:var(--color-text)}.input-form{display:flex;flex-direction:column;gap:var(--space-m);margin-top:var(--space-m)}.input-form label{display:flex;flex-direction:column;gap:var(--space-s);font-weight:500;color:var(--color-text)}.input-form input,.input-form textarea{padding:var(--space-s) var(--space-m);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:monospace;font-size:13px}.input-form input:focus,.input-form textarea:focus{outline:none;border-color:var(--color-accent)}.input-form input:disabled,.input-form textarea:disabled{opacity:.5;cursor:not-allowed}.file-name{font-size:12px;color:var(--color-text-dim);margin-top:var(--space-xs)}.test-actions{display:flex;gap:var(--space-m);margin-top:var(--space-l)}.btn-primary{padding:var(--space-s) var(--space-l);background:var(--color-accent);border:none;border-radius:var(--radius);color:#fff;font-size:14px;font-weight:500;cursor:pointer}.btn-primary:hover:not(:disabled){background:#1a6fd8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.step-results-section{background:var(--color-surface);padding:var(--space-l);border-radius:var(--radius)}.step-results-section h3{margin:0 0 var(--space-m) 0;color:var(--color-text)}.step-results{display:flex;flex-direction:column;gap:var(--space-s);margin-top:var(--space-m)}.step-result{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:0}.step-result.success{border-left:3px solid #3fb950}.step-result.error{border-left:3px solid #f85149}.step-header{display:flex;align-items:center;gap:var(--space-m);padding:var(--space-m);cursor:pointer;-webkit-user-select:none;user-select:none}.step-header:hover{background:#ffffff0d}.step-number{font-weight:600;color:var(--color-text-dim);min-width:2rem;font-size:12px}.step-name{flex:1;font-weight:500;color:var(--color-text)}.step-status.success{color:#3fb950;font-size:16px}.step-status.error{color:#f85149;font-size:16px}.step-duration{font-size:12px;color:var(--color-text-dim);font-family:monospace}.step-tokens{margin-left:12px;padding:4px 8px;background:#1c2128;border-radius:4px;font-size:11px;color:#7d8590;font-family:monospace;border:1px solid #30363d}.step-details{padding:var(--space-m);border-top:1px solid var(--color-border);background:var(--color-surface)}.token-usage{display:flex;gap:12px;margin-bottom:12px;padding:12px;background:#161b22;border-radius:6px;border:1px solid #30363d}.token-badge{display:flex;flex-direction:column;gap:4px;flex:1}.token-badge.total{border-left:1px solid #30363d;padding-left:12px}.token-label{font-size:10px;color:#7d8590;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.token-value{font-size:14px;font-weight:600;color:#58a6ff;font-family:monospace}.step-io{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-m);overflow:hidden;min-width:0}@media (max-width: 768px){.step-io{grid-template-columns:1fr}}.step-input,.step-output{display:flex;flex-direction:column;gap:var(--space-s);min-width:0;overflow:hidden}.step-input strong,.step-output strong{color:var(--color-text-dim);font-size:12px}.step-input pre,.step-output pre{background:var(--color-bg);padding:var(--space-s);border-radius:var(--radius);margin:0;font-size:11px;max-height:300px;overflow-y:auto;overflow-x:hidden;border:1px solid var(--color-border);color:var(--color-text);font-family:monospace;white-space:pre-wrap;word-wrap:break-word;word-break:break-all;overflow-wrap:break-word}.step-error{margin-top:var(--space-m);padding:var(--space-m);background:#f851491a;border-left:3px solid #f85149;border-radius:var(--radius);color:#f85149}.final-output-section{background:var(--color-surface);padding:var(--space-l);border-radius:var(--radius)}.final-output-section h3{margin:0 0 var(--space-m) 0;color:var(--color-text)}.final-output{margin-top:var(--space-m);background:#3fb9501a;border-left:3px solid #3fb950;border-radius:var(--radius);padding:var(--space-m)}.final-output pre{margin:0;white-space:pre-wrap;word-wrap:break-word;color:var(--color-text);font-family:monospace;font-size:13px}.error-message{background:#f851491a;border-left:3px solid #f85149;padding:var(--space-m);border-radius:var(--radius);color:#f85149}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-overlay .spinner{width:50px;height:50px;border:4px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay p{margin-top:var(--space-l);color:#fff;font-weight:500}.truncated-notice{background:#1c2128;padding:8px 12px;border-radius:6px;margin-top:8px;display:flex;justify-content:space-between;align-items:center;border:1px solid #30363d;gap:var(--space-m);flex-wrap:wrap;min-width:0}.truncated-notice span{font-size:11px;color:#7d8590;flex:1;min-width:0;word-break:break-word}.truncated-notice button{padding:4px 12px;background:var(--color-accent);border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap}.truncated-notice button:hover{background:#1a6fd8}.output-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--space-l)}.output-modal{background:#0d1117;border-radius:6px;border:1px solid #30363d;width:90%;max-width:1400px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 16px 32px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-l);border-bottom:1px solid #30363d}.modal-header h3{margin:0;color:var(--color-text);font-size:16px}.modal-close{background:transparent;border:none;color:#7d8590;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background:#ffffff1a;color:var(--color-text)}.modal-body{overflow:auto;flex:1;padding:var(--space-l);display:flex;flex-direction:column;gap:var(--space-l)}.modal-section{display:flex;flex-direction:column;gap:var(--space-s)}.modal-section h4{margin:0;color:var(--color-text-dim);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.modal-section pre{background:#161b22;padding:16px;border-radius:6px;overflow-y:auto;overflow-x:hidden;margin:0;font-size:12px;border:1px solid #30363d;color:var(--color-text);font-family:monospace;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;word-break:break-all;overflow-wrap:break-word;max-height:600px}.modal-section .step-error{margin:0}.workflows-container{display:flex;flex-direction:column;height:100%}.workflows-tabs{display:flex;gap:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 var(--space-l)}.workflows-tabs .tab{padding:var(--space-m) var(--space-l);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-dim);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.workflows-tabs .tab:hover{color:var(--color-text);background:#ffffff0d}.workflows-tabs .tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.workflows-content{flex:1;overflow:auto;padding-top:var(--space-l)}:root{--color-bg: #0d1117;--color-surface: #161b22;--color-border: #30363d;--color-accent: #2f81f7;--color-accent-alt: #5ac8fa;--color-text: #e6edf3;--color-text-dim: #8b949e;--radius: 8px;--space-xs: 4px;--space-s: 8px;--space-m: 12px;--space-l: 20px;--space-xl: 32px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif}*{box-sizing:border-box}body,html,#root{margin:0;padding:0;height:100%;background:var(--color-bg);color:var(--color-text)}body{font-size:14px}.login-scene{min-height:100vh;margin:0;background:radial-gradient(1200px 800px at 20% 15%,rgba(122,92,255,.18),transparent 65%),radial-gradient(1000px 700px at 85% 85%,rgba(0,234,255,.18),transparent 60%),linear-gradient(180deg,#0e1530,#0b1020);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px 24px;overflow:hidden}.lf-mascot{position:relative;width:min(48vmin,340px);cursor:pointer;-webkit-user-select:none;user-select:none}.lf-mascot:before{content:"";position:absolute;top:-8%;right:-8%;bottom:-6%;left:-8%;background:radial-gradient(60% 60% at 50% 45%,rgba(0,234,255,.18),transparent 70%),radial-gradient(45% 45% at 60% 60%,rgba(122,92,255,.16),transparent 70%);filter:blur(22px) saturate(140%);z-index:-1;pointer-events:none;animation:lf-haloPulse 4.5s ease-in-out infinite alternate}.lf-mascot-content{position:relative;width:100%;transform-origin:50% 55%;animation:lf-pulseScale 6s ease-in-out infinite}.lf-logo{width:100%;height:auto;display:block;filter:drop-shadow(0 0 14px rgba(0,234,255,.6)) drop-shadow(0 0 28px rgba(122,92,255,.5)) drop-shadow(0 0 52px rgba(0,234,255,.45));animation:lf-logoGlow 3.6s ease-in-out infinite alternate}.lf-logo-gradient{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(120% 120% at 20% 10%,rgba(0,234,255,.85),transparent 60%),radial-gradient(120% 120% at 85% 80%,rgba(122,92,255,.85),transparent 60%),conic-gradient(from 0deg at 50% 50%,#00eaff,#7a5cff,#41ffb3,#ffd166,#00eaff);background-size:200% 200%,200% 200%,200% 200%;animation:lf-liquidShift 10s ease-in-out infinite alternate;filter:drop-shadow(0 0 18px rgba(0,234,255,.45)) drop-shadow(0 0 36px rgba(122,92,255,.45));-webkit-mask-image:url(/Infominds.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-image:url(/Infominds.svg);mask-repeat:no-repeat;mask-position:center;mask-size:contain;opacity:.95}.lf-leaves{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none;z-index:1}.lf-leaf{position:absolute;transform:translate(0);opacity:.9;animation:lf-sway var(--sway-dur, 6s) ease-in-out var(--delay, 0s) infinite}.lf-leaf-shape{position:absolute;top:0;right:0;bottom:0;left:0;background:currentColor;border-radius:22%;filter:drop-shadow(0 0 8px rgba(255,255,255,.2));box-shadow:0 0 8px currentColor,0 0 18px currentColor,0 0 30px #ffffff40;animation:lf-bob var(--dur, 6s) ease-in-out var(--delay, 0s) infinite}.lf-leaf.burst{animation:none}.lf-leaf.burst .lf-leaf-shape{animation:lf-leafBurst var(--dur, .9s) cubic-bezier(.16,.64,.23,1) forwards}.lf-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible;z-index:4}.lf-fx-particle{position:absolute;width:10px;height:10px;background:currentColor;border-radius:22%;filter:drop-shadow(0 0 10px currentColor) drop-shadow(0 0 18px currentColor);animation:lf-particleOut var(--dur, .9s) cubic-bezier(.16,.64,.23,1) forwards}.lf-fx-ring{position:absolute;width:24px;height:24px;border-radius:50%;border:2px solid rgba(0,234,255,.75);box-shadow:0 0 18px #00eaff99,0 0 36px #7a5cff80;transform:translate(-50%,-50%) scale(.15);animation:lf-ringExpand .82s ease-out forwards}.lf-eyes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.lf-eye{position:absolute;width:10%;aspect-ratio:1;background:#fff;border-radius:50%;display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 -4px 10px #0000002e,0 2px 4px #0000002e;filter:drop-shadow(0 0 12px rgba(0,234,255,.65)) drop-shadow(0 0 22px rgba(122,92,255,.55))}.lf-eye--left{top:62%;left:52%}.lf-eye--right{top:65%;left:68%}.lf-pupil{width:44%;aspect-ratio:1;background:radial-gradient(circle at 35% 35%,#333,#000);border-radius:50%;transition:transform 40ms linear}.lf-eye:after{content:"";position:absolute;width:26%;height:26%;top:22%;left:28%;border-radius:50%;background:#ffffffbf;filter:blur(.5px);pointer-events:none}.lf-title{margin:0;font-size:2.4rem;font-weight:700;text-align:center;background:linear-gradient(135deg,#00eaff,#7a5cff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}.lf-login-card{width:100%;max-width:360px;background:#161b22bf;border:1px solid rgba(48,54,61,.6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:28px 28px 24px;border-radius:16px;box-shadow:0 6px 34px -8px #00000080;display:flex;flex-direction:column;gap:16px}.lf-login-card label span{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-dim)}.lf-login-card input{width:100%;background:#1f2630cc;border:1px solid rgba(44,51,61,.8);padding:10px 12px;border-radius:8px;color:var(--color-text)}.lf-login-card input:focus{border-color:#00eaff;outline:none;box-shadow:0 0 0 2px #00eaff33}.lf-login-card button{margin-top:4px;background:linear-gradient(135deg,#00eaff,#7a5cff);border:none;border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer;color:#fff;transition:opacity .2s}.lf-login-card button:hover:not(:disabled){opacity:.85}.btn-ms-sso{display:flex;align-items:center;gap:10px;justify-content:center;width:100%;padding:11px 16px;background:#2a2f3a;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--color-text);font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.btn-ms-sso:hover:not(:disabled){background:#353b49;border-color:#ffffff38}.btn-ms-sso:disabled{opacity:.55;cursor:not-allowed}@keyframes lf-haloPulse{0%{opacity:.7;transform:scale(.98)}to{opacity:1;transform:scale(1.02)}}@keyframes lf-pulseScale{0%{transform:scale(calc(1 - var(--pulse-amp, 0)))}50%{transform:scale(calc(1 + var(--pulse-amp, 0)))}to{transform:scale(calc(1 - var(--pulse-amp, 0)))}}@keyframes lf-logoGlow{0%{filter:drop-shadow(0 0 12px rgba(0,234,255,.6)) drop-shadow(0 0 24px rgba(122,92,255,.45)) drop-shadow(0 0 42px rgba(0,234,255,.45))}to{filter:drop-shadow(0 0 20px rgba(0,234,255,.85)) drop-shadow(0 0 40px rgba(122,92,255,.65)) drop-shadow(0 0 64px rgba(0,234,255,.6))}}@keyframes lf-liquidShift{0%{background-position:0% 40%,100% 60%,0% 50%}to{background-position:100% 60%,0% 40%,100% 50%}}@keyframes lf-sway{0%,to{transform:translate(-12px)}50%{transform:translate(12px)}}@keyframes lf-bob{0%,to{transform:translateY(-6px)}50%{transform:translateY(6px)}}@keyframes lf-leafBurst{0%{transform:translate(0) scale(1);opacity:1}60%{opacity:1}to{transform:translate(var(--dx,0),var(--dy,0)) scale(.85);opacity:0}}@keyframes lf-particleOut{60%{opacity:1}to{transform:translate(var(--dx,0),var(--dy,0)) scale(.9) rotate(180deg);opacity:0}}@keyframes lf-ringExpand{to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}.col{display:flex;flex-direction:column}.col.gap-xs{gap:var(--space-xs)}.col.gap-s{gap:var(--space-s)}.col.gap-m{gap:var(--space-m)}.col.gap-l{gap:var(--space-l)}.col.gap-xl{gap:var(--space-xl)}.error-box{background:#381d20;border:1px solid #a24855;color:#ffb8c1;padding:8px 10px;border-radius:8px;font-size:12px}.foot{text-align:center;font-size:11px;margin-top:4px}.layout{display:flex;height:100vh}.sidebar{width:220px;background:linear-gradient(180deg,#111923,#0d1117);border-right:1px solid var(--color-border);padding:var(--space-l) var(--space-m);display:flex;flex-direction:column;gap:var(--space-l)}.sidebar .logo{font-weight:600;font-size:18px;background:linear-gradient(90deg,var(--color-accent-alt) 0%,var(--color-accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.sidebar nav{display:flex;flex-direction:column;gap:var(--space-s)}.sidebar button{background:none;border:1px solid transparent;color:var(--color-text-dim);text-align:left;padding:var(--space-s) var(--space-m);border-radius:var(--radius);cursor:pointer;font:inherit}.sidebar button{display:inline-flex;align-items:center;gap:10px;width:100%}.sidebar-icon{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;color:var(--color-text-dim)}.sidebar button.active .sidebar-icon,.sidebar button:hover .sidebar-icon{color:#fff}.sidebar-label{flex:1;text-align:left}.sidebar.collapsed{width:64px}.sidebar{transition:width .18s ease}.sidebar.collapsed nav button{justify-content:center}.sidebar.collapsed .sidebar-label{display:none}.sidebar.collapsed .logo{display:flex;justify-content:center}.sidebar.collapsed .external-link-btn .sidebar-label{display:none}.sidebar-toggle{background:transparent;border:1px solid transparent;color:var(--color-text-dim);padding:6px;border-radius:8px;cursor:pointer}.sidebar-toggle:hover{color:var(--color-text)}.sidebar button:hover{background:var(--color-surface);color:var(--color-text)}.sidebar button.active{background:var(--color-accent);color:#fff}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar{padding:var(--space-s) var(--space-l);border-bottom:1px solid var(--color-border);background:#161b22d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:sticky;top:0;z-index:10}.topbar input{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:var(--space-s) var(--space-m);border-radius:var(--radius)}.topbar button:not(.icon-btn){background:var(--color-accent);border:none;color:#fff;padding:var(--space-s) var(--space-m);border-radius:var(--radius);cursor:pointer}.topbar button:not(.icon-btn):hover{background:#4695ff}.icon-btn{background:transparent;border:1px solid transparent;color:var(--color-text-dim);padding:6px 8px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s}.icon-btn:hover{color:var(--color-text)}.icon-btn svg{display:block}.content{padding:var(--space-l);overflow:auto;max-width:100%;overflow-x:hidden}h1,h2,h3{margin:0 0 var(--space-m);font-weight:500}p{margin:0 0 var(--space-m)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-m)}.card{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-l);border-radius:var(--radius);display:flex;flex-direction:column;gap:var(--space-s)}.card h3{margin:0;font-size:14px;font-weight:500;color:var(--color-text-dim)}.card p{margin:0;font-size:28px;font-weight:600}.row{display:flex;align-items:center}.row.gap-s{gap:var(--space-s)}.row.gap-m{gap:var(--space-m)}.row.gap-l{gap:var(--space-l)}.row.gap-xl{gap:var(--space-xl)}.grid.gap-xl{display:grid;gap:var(--space-xl)}button{font:inherit}button:disabled{opacity:.6;cursor:not-allowed}.form-input{background:#1f2630;border:1px solid #2c333d;padding:10px 12px;border-radius:8px;color:var(--color-text);width:100%;transition:border-color .15s,background .15s}.form-input:focus{border-color:var(--color-accent);outline:none}.field{display:flex;flex-direction:column;gap:4px}.field span.label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-dim)}.btn{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:8px 14px;border-radius:var(--radius);cursor:pointer;line-height:1.1;font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:background .15s,border-color .15s,color .15s}.btn:hover{background:#1f2430}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-primary:hover{background:#4695ff}.btn-danger{background:#a24855;border-color:#a24855;color:#fff}.btn-danger:hover{background:#bb5161}.btn-success{background:#238636;border-color:#238636;color:#fff}.btn-success:hover{background:#2ea043}.btn-ghost{background:transparent;border-color:transparent;color:var(--color-text-dim)}.btn-ghost:hover{background:var(--color-surface);color:var(--color-text)}.data{border-collapse:collapse;width:100%;margin-top:var(--space-l)}.data th,.data td{padding:var(--space-s) var(--space-m);border-bottom:1px solid var(--color-border);text-align:left;font-weight:400}.data thead th{font-size:12px;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.5px}.status-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:24px;border-radius:12px;border:none;cursor:pointer;transition:all .2s ease;position:relative;padding:0}.status-toggle:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;transition:all .2s ease;box-shadow:0 1px 3px #0000004d}.status-toggle.active{background:#22c55e}.status-toggle.active:before{left:23px}.status-toggle.active:hover{background:#16a34a}.status-toggle.inactive{background:#64748b}.status-toggle.inactive:before{left:3px}.status-toggle.inactive:hover{background:#ef4444}.status{font-weight:600;font-size:14px;display:inline-block;min-width:16px;text-align:center}.status.active{color:#3fb950}.status.inactive{color:#ff6b6b}.click-row{cursor:pointer}.click-row:hover{background:#ffffff0a}.api-key-line{display:flex;align-items:center;gap:8px}.api-key-line code{background:#1f2630;padding:4px 6px;border:1px solid #2c333d;border-radius:6px;font-size:12px}.table-wrapper{overflow:auto}.chat{display:flex;flex-direction:column;gap:var(--space-m)}.transcript{flex:1;min-height:300px;background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-m);border-radius:var(--radius);overflow:auto;display:flex;flex-direction:column;gap:var(--space-s)}.msg{line-height:1.4}.msg-user strong{color:var(--color-accent)}.msg-assistant strong{color:var(--color-accent-alt)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:40px 24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100}.modal{width:100%;max-width:440px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:28px 28px 24px;display:flex;flex-direction:column;gap:20px;box-shadow:0 6px 34px -8px #000a;animation:pop .2s ease;max-height:90vh;overflow-y:auto}.modal h2{margin:0;font-size:20px;font-weight:600}@keyframes pop{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}input,textarea{font:inherit}input:focus,textarea:focus,button:focus{outline:2px solid var(--color-accent);outline-offset:2px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#28303a;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#34404d}.toast-container{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:10px;z-index:200;max-width:320px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:8px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.3;box-shadow:0 4px 18px -6px #000a;animation:toast-in .25s ease;position:relative;pointer-events:auto}.toast-success{border-color:#238636;box-shadow:0 0 0 1px #23863633,0 4px 20px -8px #000a}.toast-error{border-color:#a24855;box-shadow:0 0 0 1px #a2485533,0 4px 20px -8px #000a}.toast-info{border-color:var(--color-accent)}.toast-warning{border-color:#bb8600}.toast-close{background:none;border:none;color:var(--color-text-dim);cursor:pointer;padding:0 4px;font:inherit;font-size:16px;line-height:1;position:absolute;top:4px;right:6px}.toast-close:hover{color:var(--color-text)}@keyframes toast-in{0%{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}.hoverable-row{transition:background-color .15s ease}.hoverable-row:hover{background-color:#2ea04314!important}.tx-detail-row td{background:#2f81f70a;border-left:3px solid #2f81f7}.tx-expand-indicator{display:inline-block;font-size:9px;transition:transform .2s ease;margin-right:6px;color:var(--color-text-dim)}.tx-expand-indicator.expanded{transform:rotate(90deg)}@media (max-width: 1024px){.sidebar:not(.collapsed){width:64px}.sidebar:not(.collapsed) .sidebar-label{display:none}.sidebar:not(.collapsed) nav button{justify-content:center}.sidebar:not(.collapsed) .logo{display:flex;justify-content:center}.sidebar:not(.collapsed) .external-link-btn .sidebar-label{display:none}.content{padding:var(--space-m)}}@media (max-width: 768px){.content{padding:var(--space-s)}.topbar{padding:var(--space-s) var(--space-m)}.cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.modal{max-width:calc(100vw - 32px)}.modal-backdrop{padding:20px 16px}.charts-row,.api-keys-grid{grid-template-columns:1fr!important}}.charts-row{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-m);align-items:stretch}.api-keys-grid{display:grid;grid-template-columns:160px 1fr;gap:var(--space-l);align-items:start}svg[role=img]{max-width:100%}
