:root,[data-theme=dark]{--bg-primary: #0d0d0d;--bg-secondary: #171717;--bg-tertiary: #212121;--bg-hover: #2a2a2a;--bg-chat: #1a1a1a;--bg-subtle: rgba(255, 255, 255, .03);--bg-code: rgba(0, 0, 0, .25);--text-primary: #ececec;--text-secondary: #9b9b9b;--text-muted: #6b6b6b;--border: #2e2e2e;--border-hover: rgba(255, 255, 255, .25);--accent: #10a37f;--accent-hover: #0d8c6d;--danger: #ef4444;--user-bubble: #2f2f2f;--assistant-bubble: transparent;--scrollbar-thumb: #4a4a4a;--scrollbar-track: transparent;color-scheme:dark}[data-theme=light]{--bg-primary: #f8f6f1;--bg-secondary: #f3f0ea;--bg-tertiary: #e9e6df;--bg-hover: #e1ded6;--bg-chat: #f6f4ef;--bg-subtle: rgba(0, 0, 0, .03);--bg-code: rgba(0, 0, 0, .05);--text-primary: #1a1a1a;--text-secondary: #52514a;--text-muted: #88877f;--border: #d8d4cb;--border-hover: rgba(0, 0, 0, .2);--accent: #10a37f;--accent-hover: #0d8c6d;--danger: #dc2626;--user-bubble: #e5e2da;--assistant-bubble: transparent;--scrollbar-thumb: #c0bdb5;--scrollbar-track: transparent;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Söhne,Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}body.chat-page{padding-bottom:0}body.bootstrap-page{overflow:hidden;height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#5a5a5a}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover)}header{position:fixed;top:0;left:0;right:0;height:56px;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:0 16px;display:flex;align-items:center;justify-content:space-between;z-index:100}header .brand{font-size:16px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:10px;color:var(--text-primary)}header .brand:hover{color:var(--text-primary)}header .brand:before{content:none}header .brand-logo{width:22px;height:22px;color:var(--accent)}.dashboard-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px}.dashboard-hero-logo{width:160px;height:160px;display:block;margin:0 auto 32px}.dashboard-hero .note{margin-bottom:24px}.recent-sessions-mobile{display:none;width:100%;max-width:320px;margin-top:32px;text-align:left}.recent-sessions-mobile h3{font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.recent-sessions-mobile .session-link{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border);margin-bottom:8px;color:var(--text-secondary);font-size:13px;transition:all .15s}.recent-sessions-mobile .session-link:hover{background:var(--bg-hover);color:var(--text-primary)}@media(max-width:900px){.recent-sessions-mobile{display:block}}header .user{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:12px}.header-icons{display:flex;align-items:center;gap:8px}.header-menu{position:relative;display:flex;align-items:center}.header-menu-dropdown{position:absolute;top:40px;right:0;min-width:240px;max-width:320px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:8px;display:none;box-shadow:0 12px 40px #00000059;z-index:200}.header-menu-dropdown.show{display:block}.header-theme-panel{position:fixed;top:64px;right:16px;width:220px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:8px;display:none;box-shadow:0 12px 40px #00000059;color:var(--text-primary);z-index:200}.header-theme-panel.show{display:block}.header-theme-panel .header-menu-item{color:var(--text-primary)}.header-theme-panel .header-menu-item:hover{background:var(--bg-hover);border-color:var(--border)}.header-theme-panel .header-menu-item .icon,.header-theme-panel .header-menu-item svg{color:var(--text-secondary)}.header-theme-panel .header-menu-item.active{background:var(--accent);border-color:var(--accent);color:#fff}.header-theme-panel .header-menu-item.active .icon,.header-theme-panel .header-menu-item.active svg{color:#fff}.header-menu-items{display:flex;flex-direction:column;gap:2px}.header-menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-primary);cursor:pointer;font-size:13px;text-align:left}.header-menu-item:hover{background:var(--bg-hover);border-color:var(--border)}.header-menu-item .icon,.header-menu-item svg{width:16px;height:16px;color:var(--text-secondary);flex:0 0 auto}.header-menu-item.danger{color:var(--danger)}.header-menu-item.danger .icon,.header-menu-item.danger svg{color:var(--danger)}.header-menu-item.active{background:var(--accent);border-color:var(--accent);color:#fff}.header-menu-item.active .icon,.header-menu-item.active svg{color:#fff}.header-menu-divider{height:1px;background:var(--border);margin:8px 4px}.header-menu-form{margin:0}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all .15s}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn svg{width:18px;height:18px}body.chat-page .floating-panels .floating-icon{opacity:0;pointer-events:none}.theme-toggle{position:relative;display:flex;align-items:center}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all .15s}.theme-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-toggle-btn svg{width:16px;height:16px}.theme-dropdown{position:absolute;top:100%;right:0;margin-top:8px;min-width:140px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 8px 32px #0000004d;display:none;z-index:200;animation:fadeIn .15s ease-out;color:var(--text-secondary)}.theme-dropdown.show{display:block}.theme-dropdown .theme-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:6px;background:transparent;color:inherit;font-size:13px;font-family:inherit;cursor:pointer;transition:all .15s;text-align:left}.theme-dropdown .theme-option:hover{background:var(--bg-hover)}.theme-dropdown .theme-option.active{background:var(--accent);color:#fff}.theme-dropdown .theme-option svg{width:16px;height:16px;flex-shrink:0}.layout{display:flex;min-height:100vh;padding-top:56px}.layout.chat-layout{min-height:100vh}.bootstrap-page .layout{height:100vh;min-height:100vh;overflow:hidden}.sidebar{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;position:fixed;top:56px;left:0;bottom:0;z-index:30}.chat-layout .main,.bootstrap-page .main{margin-left:260px}.sidebar h3{font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);padding:8px 12px 4px}.sidebar a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--text-secondary);font-size:14px;transition:all .15s}.sidebar a.session-link{flex-direction:column;align-items:flex-start;gap:2px}.sidebar a:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar .card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;padding:14px;margin-top:8px}.sidebar .card .badge{margin-bottom:8px}.sidebar .card .note{font-size:12px;color:var(--text-muted);margin:4px 0;word-break:break-all}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;padding:24px;min-height:0;margin-left:260px}.chat-layout .main{padding:0 70px 0 0}.bootstrap-page .main{overflow:hidden;height:calc(100vh - 56px);padding:0 70px 0 0}.floating-panels{position:fixed;top:72px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:50}.floating-icon{width:36px;height:36px;border-radius:8px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-size:16px}.floating-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.floating-icon.active{background:var(--accent);border-color:var(--accent);color:#fff}.floating-icon.has-changes{color:#60a5fa;box-shadow:0 0 8px 1px #60a5fa66;animation:glow-pulse 2s ease-in-out infinite}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px 1px #60a5fa66}50%{box-shadow:0 0 12px 2px #60a5fa99}}.floating-panel{position:absolute;top:0;right:48px;width:320px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:16px;display:none;box-shadow:0 8px 32px #0006;animation:slideInLeft .15s ease-out}.floating-panel.show{display:block}.floating-panel.wide-panel{width:520px}body.chat-page .floating-panel{position:fixed;top:64px;right:16px;left:auto}.floating-icon.danger-icon{border-color:var(--danger);color:var(--danger)}.floating-icon.danger-icon:hover{background:var(--danger);color:#fff}.panel-scroll{max-height:280px;overflow-y:auto}@keyframes slideInLeft{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.floating-panel h4{font-size:13px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}.panel-action-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-size:12px;line-height:1}.panel-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.panel-action-btn:disabled{opacity:.6;cursor:not-allowed}.panel-action-btn .icon{width:14px;height:14px}.panel-wrapper{position:relative}.chat-shell{flex:1;display:flex;flex-direction:column;max-width:900px;width:100%;margin:0 auto;padding:0 24px;min-height:0;overflow:visible}.chat-layout .chat-shell{min-height:0}.bootstrap-page .chat-shell{height:100%;min-height:0;display:flex;flex-direction:column;padding-bottom:140px}.chat-header{display:none}.chat-body{flex:1;padding:24px 0;display:flex;flex-direction:column;gap:24px;min-height:0;overflow:visible}.chat-layout .chat-body{overflow:visible;min-height:0;padding-bottom:200px}.bootstrap-page .chat-body{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}.chat-message{max-width:100%;padding:16px 0;font-size:15px;line-height:1.7;white-space:pre-wrap;word-break:break-word;overflow:visible;min-height:24px;animation:fadeIn .2s ease-out;display:flex;flex-direction:column;gap:6px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{background:var(--user-bubble);padding:16px 20px;border-radius:16px;margin-left:auto;max-width:80%}.chat-text{white-space:pre-wrap;max-width:100%;overflow:visible}.chat-text.markdown{white-space:normal}.chat-images{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chat-image-wrap{position:relative;max-width:100%}.chat-image-link{display:block;max-width:100%}.chat-image{display:block;width:clamp(88px,22vw,140px);height:clamp(88px,22vw,140px);max-width:none;max-height:none;border-radius:12px;border:1px solid var(--border);background:var(--bg-secondary);object-fit:cover}.chat-image-remove{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:999px;background:#000000b3;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;padding:0}.chat-image-remove svg{width:14px;height:14px}.chat-image-wrap:hover .chat-image-remove{opacity:1}.chat-image-remove:hover{background:var(--danger)}.chat-constraints{font-size:12px;color:var(--text-muted);margin-top:8px}.chat-text.markdown p{margin:10px 0}.chat-text.markdown h1,.chat-text.markdown h2,.chat-text.markdown h3,.chat-text.markdown h4,.chat-text.markdown h5,.chat-text.markdown h6{margin:16px 0 8px;font-weight:600}.chat-text.markdown h1{font-size:20px}.chat-text.markdown h2{font-size:18px}.chat-text.markdown h3{font-size:16px}.chat-text.markdown ul,.chat-text.markdown ol{margin:10px 0;padding-left:22px}.chat-text.markdown li{margin:4px 0}.chat-text.markdown blockquote{margin:10px 0;padding:8px 12px;border-left:3px solid var(--border);background:var(--bg-subtle);color:var(--text-muted)}.chat-text.markdown pre{margin:10px 0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-code);overflow-x:auto;max-width:100%}.chat-text.markdown img{display:block;width:clamp(88px,22vw,140px);height:clamp(88px,22vw,140px);max-width:none;max-height:none;border-radius:12px;border:1px solid var(--border);background:var(--bg-secondary);object-fit:cover}.chat-text.markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px}.chat-text.markdown p code,.chat-text.markdown li code{padding:2px 6px;border:1px solid var(--border);border-radius:6px;background:var(--bg-code)}.chat-text.markdown a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.chat-text.markdown table{width:100%;max-width:100%;border-collapse:collapse;margin:10px 0;font-size:13px;display:block;overflow-x:auto}.chat-text.markdown th,.chat-text.markdown td{border:1px solid var(--border);padding:8px 10px;vertical-align:top}.chat-text.markdown th{background:var(--bg-subtle);font-weight:600}.chat-text.markdown .mermaid-container{margin:16px 0;padding:16px;background:var(--bg-code);border:1px solid var(--border);border-radius:10px;overflow-x:auto;position:relative}.chat-text.markdown .mermaid-container svg{display:block;max-width:100%;height:auto}.chat-text.markdown .mermaid-container .mermaid-download-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;padding:0;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,background .15s,color .15s}.chat-text.markdown .mermaid-container:hover .mermaid-download-btn{opacity:1}.chat-text.markdown .mermaid-container .mermaid-download-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.chat-text.markdown .mermaid-container .mermaid-download-btn svg{width:16px;height:16px}.chat-text.markdown .mermaid-error{margin:16px 0;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:10px;color:#f87171;font-size:13px}.chat-meta{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:8px}.chat-message:not(.user){padding-left:0;position:relative}.chat-resend{background:none;border:none;color:var(--text-muted);padding:2px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease,transform .2s ease;border-radius:4px}.chat-format-toggle{background:none;border:1px solid var(--border);color:var(--text-muted);padding:2px 6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease,border-color .2s ease,background .2s ease;border-radius:6px;font-size:11px;line-height:1.2}.chat-format-toggle:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-subtle)}.chat-resend svg{width:12px;height:12px}.chat-resend:hover{color:var(--accent);transform:rotate(-45deg)}.chat-resend:active{transform:rotate(-45deg) scale(.9)}.chat-input{padding:16px 0 24px;position:relative}.chat-layout .chat-input,.bootstrap-page .chat-input,.collab-page .chat-layout .chat-input{position:fixed;bottom:0;left:260px;right:70px;padding:16px 24px 24px;background:linear-gradient(transparent,var(--bg-primary) 20%);z-index:40}.chat-layout .chat-input .chat-input-wrapper,.bootstrap-page .chat-input .chat-input-wrapper{max-width:852px;margin:0 auto}.chat-input-wrapper{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:16px;padding:12px 16px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s}.chat-input-wrapper:focus-within{border-color:var(--accent)}.chat-input-main{display:flex;width:100%}.chat-input-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-input-actions{display:flex;align-items:center;gap:8px}.chat-input-spacer{flex:1}.chat-input-footer select{appearance:none;background:var(--bg-hover);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:11px;font-weight:500;padding:6px 24px 6px 10px;cursor:pointer;outline:none;transition:all .15s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239b9b9b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.chat-input-footer select:hover{border-color:var(--text-muted);color:var(--text-primary)}.chat-input-footer select:focus{border-color:var(--accent);color:var(--text-primary)}.chat-input-footer select option{background:var(--bg-secondary);color:var(--text-primary)}.chat-input textarea{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:15px;line-height:1.5;resize:none;min-height:24px;max-height:200px;outline:none;font-family:inherit}.chat-input textarea::placeholder{color:var(--text-muted)}.chat-input .button{width:36px;height:36px;padding:0;border-radius:8px;background:var(--accent);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.chat-input .button:hover{background:var(--accent-hover)}.chat-input .button:disabled{background:var(--bg-hover);color:var(--text-muted);cursor:not-allowed}.chat-attach-btn{width:36px;height:36px;padding:0;border-radius:8px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.chat-attach-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-attach-btn:disabled{background:transparent;color:var(--text-muted);cursor:not-allowed}.image-thumbnails{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.image-thumbnail{position:relative;width:64px;height:64px;border-radius:8px;overflow:hidden;background:var(--bg-tertiary);border:1px solid var(--border)}.image-thumbnail img{width:100%;height:100%;object-fit:cover}.image-thumbnail-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#000000b3;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;padding:0}.image-thumbnail-remove svg{width:10px;height:10px}.image-thumbnail:hover .image-thumbnail-remove{opacity:1}.image-thumbnail-remove:hover{background:var(--danger)}.output-panels{display:none}.output-panel{background:var(--bg-secondary);border-top:1px solid var(--border);max-height:300px;overflow:hidden}.output-panel.show{display:block}.output-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);cursor:pointer}.output-header h4{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.output-content{padding:12px 16px;max-height:250px;overflow-y:auto}.log-stream{background:transparent;color:var(--text-secondary);padding:0;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.collab-page .collab-grid{grid-template-columns:1fr minmax(520px,560px)}@media(max-width:1100px){.collab-page .collab-grid{grid-template-columns:1fr}}.collab-page .slot-log{min-height:72px;max-height:160px}.collab-page .slot-chat{padding:8px 0;display:flex;flex-direction:column;gap:10px;height:240px;min-height:240px;max-height:40vh;overflow:auto}.collab-page .slot-chat .chat-message{padding:10px 0;font-size:13px;line-height:1.55;flex:0 0 auto}.collab-page .slot-chat .chat-message.user{padding:10px 14px;max-width:100%}.collab-page .chat-shell.is-maximized{position:fixed;inset:72px 16px 16px 276px;max-width:none;width:auto;z-index:100}.collab-page .slot-card.is-maximized{position:fixed;inset:72px 16px 16px 276px;z-index:100;overflow:hidden}.collab-page body.slot-maximized .collab-grid{grid-template-columns:1fr}.collab-page body.slot-maximized .chat-shell:not(.is-maximized){display:none}.collab-page body.slot-maximized .slot-card:not(.is-maximized){display:none}.chat-message.progress{background:#000000d9;border:1px solid rgba(16,163,127,.2);border-radius:4px;padding:8px 12px;color:#10a37fe6;font-size:11px;line-height:1.4}.chat-message.progress .chat-text{white-space:pre-wrap;word-break:break-word}[data-theme=light] .chat-message.progress{background:#141412eb;border-color:#10a37f40;color:#10a37f}.slot-files{margin:8px 0 0;padding-left:18px}.slot-files li{margin:4px 0}.bottom-toolbar{position:fixed;bottom:0;left:260px;right:0;display:flex;justify-content:center;gap:8px;padding:8px;background:linear-gradient(transparent,var(--bg-primary));pointer-events:none}.bottom-toolbar .toolbar-btn{pointer-events:all;padding:8px 16px;font-size:12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .15s}.bottom-toolbar .toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.bottom-toolbar .toolbar-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;border:1px solid transparent;background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.button:hover{background:var(--accent-hover)}.button:disabled,.button[disabled]{background:var(--bg-hover);color:var(--text-muted);cursor:not-allowed;opacity:.7}.button:disabled:hover,.button[disabled]:hover{background:var(--bg-hover)}.button.secondary{background:transparent;border-color:var(--border);color:var(--text-secondary)}.button.secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.button.secondary:disabled,.button.secondary[disabled]{background:transparent;border-color:var(--border);color:var(--text-muted)}.button.secondary:disabled:hover,.button.secondary[disabled]:hover{background:transparent}.button.danger{background:var(--danger);border-color:var(--danger)}.button.danger:hover{background:#dc2626}.button.danger:disabled,.button.danger[disabled]{background:var(--bg-hover);border-color:var(--border);color:var(--text-muted)}.button.small{padding:6px 12px;font-size:12px}.button.icon-only{width:32px;height:32px;padding:0}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:12px;font-weight:500;color:var(--text-secondary)}input,select,textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{min-height:80px;resize:vertical}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--bg-hover);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.metric-item{background:var(--bg-tertiary);border-radius:8px;padding:10px}.metric-item strong{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);display:block;margin-bottom:4px}.metric-item span{font-size:13px;font-weight:500;color:var(--text-primary)}.table{width:100%;border-collapse:collapse;font-size:12px}.table th,.table td{text-align:left;padding:8px;border-bottom:1px solid var(--border)}.table th{font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:10px}.table td{color:var(--text-secondary)}.note{font-size:12px;color:var(--text-muted)}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px}.card h3{font-size:13px;font-weight:600;margin-bottom:12px}.callout{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:14px}.callout.danger{border-color:color-mix(in srgb,var(--danger) 55%,var(--border))}.callout-title{font-size:13px;font-weight:600;margin-bottom:6px}.callout-body{font-size:12px;color:var(--text-secondary);line-height:1.5}.callout-actions{margin-top:10px}.grid{display:grid}.collapsible-section{border-top:1px solid var(--border)}.collapsible-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background .15s}.collapsible-header:hover{background:var(--bg-hover)}.collapsible-header h4{font-size:12px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.collapsible-icon{color:var(--text-muted);transition:transform .2s}.collapsible-section.open .collapsible-icon{transform:rotate(180deg)}.collapsible-content{display:none;padding:0 16px 16px}.collapsible-section.open .collapsible-content{display:block}.icon{width:16px;height:16px;flex-shrink:0}.share-toggle-container{margin-bottom:12px}.share-toggle-label{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--text-primary)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-hover);border:1px solid var(--border);border-radius:24px;transition:all .2s}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:var(--text-secondary);border-radius:50%;transition:all .2s}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent);border-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background-color:#fff}.share-url-box{display:flex;gap:8px;margin-top:12px}.share-url-input{flex:1;font-size:12px;padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary)}.share-url-input:focus{outline:none;border-color:var(--accent)}.shared-access-info{padding:12px;background:var(--bg-tertiary);border-radius:8px}.changes-summary{padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:12px}.changes-stats{display:flex;gap:8px;margin-bottom:8px}.change-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.change-badge.added{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.change-badge.deleted{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.change-badge.modified{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.changes-counts{display:flex;gap:12px;font-size:11px;color:var(--text-muted)}.changes-count span{font-weight:600;color:var(--text-secondary)}.changes-table{font-size:12px}.changes-table th,.changes-table td{padding:6px 8px}.changes-table .changes-col{text-align:right;width:100px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.file-status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:4px;font-size:11px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.file-status-badge.added{background:#22c55e33;color:#4ade80}.file-status-badge.modified{background:#3b82f633;color:#60a5fa}.file-status-badge.deleted{background:#ef444433;color:#f87171}.file-status-badge.renamed{background:#a855f733;color:#c084fc}.file-status-badge.copied{background:#ec489933;color:#f472b6}.file-status-badge.untracked{background:#9ca3af33;color:#9ca3af}.file-name-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-path-link{color:var(--text-secondary);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-path-link:hover{color:var(--text-primary);text-decoration:underline}.file-raw-link{display:inline-block;margin-top:4px;font-size:10px;color:var(--text-muted);text-decoration:none}.file-raw-link:hover{text-decoration:underline}.file-old-path{font-size:10px;color:var(--text-muted);margin-top:2px}.file-old-path-link{color:var(--text-muted);text-decoration:none}.file-old-path-link:hover{text-decoration:underline}.file-old-path-raw-link{color:var(--text-muted);text-decoration:none}.file-old-path-raw-link:hover{text-decoration:underline}.changes-added{color:#4ade80}.changes-deleted{color:#f87171}[data-theme=light] .changes-added{color:#15803d}[data-theme=light] .changes-deleted{color:#b91c1c}.diff-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.diff-actions{display:flex;gap:8px}.diff-path{display:inline-flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-box{border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);overflow:auto}.diff-line,.diff-empty{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.4;padding:2px 10px;white-space:pre}.raw-pre{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.4;padding:10px;white-space:pre;color:var(--text-secondary)}.diff-empty{color:var(--text-muted);padding:12px 10px}.diff-line.diff-meta{background:var(--bg-tertiary);color:var(--text-secondary)}.diff-line.diff-add{background:#22c55e14;color:#86efac}.diff-line.diff-del{background:#ef444414;color:#fca5a5}.diff-line.diff-ctx{color:var(--text-secondary)}[data-theme=light] .diff-line.diff-add{background:#22c55e1f;color:#166534}[data-theme=light] .diff-line.diff-del{background:#ef44441a;color:#7f1d1d}[data-theme=light] .diff-line.diff-meta{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=light] .diff-line.diff-ctx{color:#374151}@media(max-width:900px){.sidebar{display:none}.layout{flex-direction:column}.main{padding:16px;margin-left:0}.chat-layout .main{padding:0 60px 0 0;margin-left:0}.bottom-toolbar{left:0}.chat-shell,.chat-layout .chat-shell{padding:0 16px}.chat-layout .chat-input{left:0;right:60px;padding:16px 16px 24px}.floating-panels{right:8px}.floating-panel{right:44px;width:280px}.floating-panel.wide-panel{width:320px}}
