.daemon-shell{--bg-0:#0d1420;--bg-1:#142436;--bg-2:#1a3245;--card:#ffffff0f;--card-strong:#ffffff17;--border:#ffffff24;--text-main:#edf3f9;--text-soft:#a9bacb;--brand:#28c2a5;--brand-strong:#19a98f;--danger:#ff6c70;--warning:#fc6;height:100vh;max-height:100vh;color:var(--text-main);background:radial-gradient(circle at 15% -20%, #28c2a540, transparent 42%), radial-gradient(circle at 100% 0%, #51a8ff2e, transparent 44%), linear-gradient(155deg, var(--bg-0), var(--bg-1) 45%, var(--bg-2));flex-direction:column;font-family:IBM Plex Sans,Segoe UI,Noto Sans,sans-serif;display:flex;overflow:hidden}.daemon-shell-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050a1266;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.daemon-shell-title{letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;max-width:52%;font-size:13px;font-weight:620;overflow:hidden}.daemon-shell-title-button{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;min-width:0;padding:0}.daemon-shell-actions{align-items:center;gap:8px;display:flex}.daemon-shell-group{align-items:center;gap:6px;display:flex}.daemon-shell-divider{background:var(--border);width:1px;height:20px}.daemon-shell .icon-button{width:28px;height:28px;color:var(--text-soft);letter-spacing:.02em;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:11px;font-weight:700;transition:all .18s;display:inline-flex}.daemon-shell .icon-button:hover{border-color:var(--border);background:var(--card);color:var(--text-main)}.daemon-shell .icon-button:disabled{opacity:.45;cursor:not-allowed}.daemon-shell .icon-button.is-favorite{color:var(--warning)}.daemon-host-error{color:#ffd6d8;background:#ff6c701f;border:1px solid #ff6c7052;border-radius:10px;margin:8px 12px 0;padding:8px 10px;font-size:12px}.daemon-page{flex:1;min-height:0;padding:14px 12px 16px;overflow:auto}.daemon-page::-webkit-scrollbar{width:8px}.daemon-page::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.daemon-home-hero{border:1px solid var(--border);background:linear-gradient(130deg,#28c2a533,#1c66aa33);border-radius:16px;align-items:center;gap:14px;padding:16px;display:flex}.daemon-logo-mark{letter-spacing:.08em;color:#062018;background:linear-gradient(145deg,#35e7c7,#8be1ff);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;font-weight:700;display:flex}.daemon-home-copy h2{margin:0;font-size:18px}.daemon-home-copy p{color:var(--text-soft);margin:4px 0 0;font-size:13px}.daemon-section-header{justify-content:space-between;align-items:center;gap:8px;margin-top:18px;margin-bottom:10px;display:flex}.daemon-section-header h3{margin:0;font-size:14px;font-weight:620}.ghost-button{border:1px solid var(--border);color:var(--text-main);cursor:pointer;background:0 0;border-radius:10px;height:30px;padding:0 10px;font-size:12px}.ghost-button:hover{background:var(--card)}.daemon-empty-panel{border:1px dashed var(--border);color:var(--text-soft);background:#0000002e;border-radius:14px;align-items:center;gap:8px;padding:20px;font-size:13px;display:flex}.text-icon{color:#cde4f4;font-size:12px;font-weight:700}.daemon-recent-list{flex-direction:column;gap:10px;display:flex}.daemon-recent-item{border:1px solid var(--border);background:var(--card);color:var(--text-main);text-align:left;cursor:pointer;border-radius:14px;padding:10px 12px}.daemon-recent-item:hover{background:var(--card-strong);border-color:#8be1ff8c}.daemon-recent-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.daemon-recent-title{font-size:13px;font-weight:620}.daemon-recent-time{color:var(--text-soft);font-size:11px}.daemon-recent-item p{color:var(--text-soft);margin:8px 0;font-size:12px;line-height:1.4}.daemon-recent-metrics{color:#cde4f4;justify-content:space-between;font-size:11px;display:flex}.daemon-empty-view{color:var(--text-soft);justify-content:center;align-items:center;display:flex}.daemon-task-view{flex-direction:column;gap:10px;display:flex}.daemon-task-summary{border:1px solid var(--border);background:var(--card);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.daemon-task-summary h2{margin:0;font-size:14px}.daemon-task-summary p{color:var(--text-soft);margin:4px 0 0;font-size:11px}.daemon-task-metrics{color:#cde4f4;flex-direction:column;align-items:flex-end;font-size:11px;display:flex}.daemon-chat-messages{flex-direction:column;flex:1;gap:10px;min-height:220px;max-height:calc(100vh - 265px);padding-right:4px;display:flex;overflow:auto}.daemon-chat-messages::-webkit-scrollbar{width:8px}.daemon-chat-messages::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.daemon-message{border:1px solid var(--border);border-radius:14px;overflow:hidden}.daemon-message header{color:var(--text-soft);background:#00000029;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:11px;display:flex}.daemon-message-body{padding:10px;font-size:13px;line-height:1.5}.daemon-message-user{background:#389eff29}.daemon-message-assistant{background:#28c2a51f}.daemon-message.is-error{background:#ff6c7024;border-color:#ff6c7073}.daemon-message-body p{white-space:pre-wrap;word-break:break-word;margin:0}.daemon-loading-dots{gap:5px;display:inline-flex}.daemon-loading-dots span{background:#edf3f9d9;border-radius:999px;width:7px;height:7px;animation:1.2s ease-in-out infinite daemon-dot-bounce}.daemon-loading-dots span:nth-child(2){animation-delay:-.18s}.daemon-loading-dots span:nth-child(3){animation-delay:-.36s}@keyframes daemon-dot-bounce{0%,80%,to{opacity:.5;transform:scale(.65)}40%{opacity:1;transform:scale(1)}}.daemon-chat-input{border:1px solid var(--border);background:#0000002e;border-radius:14px;gap:8px;padding:8px;display:flex}.daemon-chat-input textarea{resize:vertical;min-height:66px;max-height:180px;color:var(--text-main);background:#ffffff0f;border:1px solid #0000;border-radius:10px;flex:1;padding:8px 10px;font-family:inherit;font-size:13px}.daemon-chat-input textarea:focus{border-color:#8be1ff99;outline:none}.daemon-chat-input button{cursor:pointer;color:#07241c;background:linear-gradient(140deg,#35e7c7,#8be1ff);border:none;border-radius:10px;align-self:flex-end;height:38px;padding:0 14px;font-size:12px;font-weight:620}.daemon-chat-input button:disabled{opacity:.5;cursor:not-allowed}.daemon-history-view{flex-direction:column;gap:12px;display:flex}.daemon-history-toolbar{grid-template-columns:1fr auto;gap:10px;display:grid}.daemon-search-input{border:1px solid var(--border);height:34px;color:var(--text-soft);background:#0000002e;border-radius:12px;align-items:center;gap:8px;padding:0 10px;display:flex}.daemon-search-input input{width:100%;color:var(--text-main);background:0 0;border:none;outline:none;font-size:12px}.daemon-filters{align-items:center;gap:6px;display:flex}.daemon-filters button,.daemon-filters select{border:1px solid var(--border);height:34px;color:var(--text-main);background:#0003;border-radius:10px;padding:0 9px;font-size:12px}.daemon-filters button{cursor:pointer}.daemon-filters button.is-active{background:#8be1ff2e;border-color:#8be1ffb3}.daemon-history-groups{flex-direction:column;gap:14px;display:flex}.daemon-history-group h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);margin:0 0 8px;font-size:12px}.daemon-history-list{flex-direction:column;gap:8px;display:flex}.daemon-history-item{border:1px solid var(--border);background:var(--card);border-radius:13px;grid-template-columns:1fr auto;gap:8px;padding:10px;display:grid}.daemon-history-main p{color:var(--text-soft);margin:6px 0 7px;font-size:12px;line-height:1.45}.daemon-history-open{color:var(--text-main);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:0;font-size:13px;font-weight:620;display:flex}.daemon-history-meta{color:#cde4f4;flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;display:flex}.daemon-history-meta span{align-items:center;gap:4px;display:inline-flex}.daemon-history-actions{align-items:flex-start;gap:6px;display:flex}.daemon-rename-row{gap:6px;display:flex}.daemon-rename-row input{border:1px solid var(--border);height:30px;color:var(--text-main);background:#0003;border-radius:9px;flex:1;padding:0 9px;font-size:12px}.daemon-settings-view{grid-template-columns:210px minmax(0,1fr);gap:12px;display:grid}.daemon-settings-nav{border:1px solid var(--border);background:#0003;border-radius:14px;flex-direction:column;gap:5px;padding:8px;display:flex}.daemon-settings-nav button{color:var(--text-soft);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;height:32px;padding:0 10px;font-size:12px}.daemon-settings-nav button:hover{border-color:var(--border);color:var(--text-main);background:var(--card)}.daemon-settings-nav button.is-active{color:var(--text-main);background:#8be1ff2e;border-color:#8be1ff99}.daemon-settings-content{border:1px solid var(--border);background:#0003;border-radius:14px;min-width:0;padding:12px}.daemon-settings-placeholder h3{margin:0;font-size:15px}.daemon-settings-placeholder p{color:var(--text-soft);margin:6px 0 10px;font-size:12px}.daemon-settings-placeholder ul{color:var(--text-main);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:12px;display:flex}.daemon-settings-content .llm-settings-panel,.daemon-settings-content .llm-settings-panel .panel-header,.daemon-settings-content .llm-settings-panel .settings-form{background:0 0}.daemon-settings-content .llm-settings-panel{border:1px solid var(--border);box-shadow:none}.daemon-settings-content .llm-settings-panel .panel-header{border-bottom:1px solid var(--border)}.daemon-settings-content .settings-form .form-group label,.daemon-settings-content .llm-settings-panel .panel-header h3{color:var(--text-main)}.daemon-settings-content .settings-form .form-group input,.daemon-settings-content .settings-form .form-group select{color:var(--text-main);border-color:var(--border);background:#0003}.daemon-settings-content .settings-actions .test-button,.daemon-settings-content .settings-actions .save-button{border-color:var(--border)}.daemon-placeholder-page{flex-direction:column;gap:8px;display:flex}.daemon-placeholder-page h2{margin:0;font-size:18px}.daemon-placeholder-page p{color:var(--text-soft);margin:0;font-size:13px}@media (width<=980px){.daemon-settings-view{grid-template-columns:1fr}.daemon-settings-nav{flex-flow:wrap}.daemon-settings-nav button{flex:170px}.daemon-history-toolbar{grid-template-columns:1fr}}@media (width<=680px){.daemon-shell-header{flex-direction:column;align-items:flex-start}.daemon-shell-title{max-width:100%}.daemon-shell-actions{justify-content:space-between;width:100%}.daemon-shell-group{gap:4px}.daemon-task-summary{flex-direction:column;align-items:flex-start}.daemon-task-metrics{align-items:flex-start}.daemon-history-item{grid-template-columns:1fr}.daemon-history-actions{justify-content:flex-end}.daemon-chat-input{flex-direction:column}.daemon-chat-input button{width:100%}}:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-success:#16a34a;--color-danger:#dc2626;--color-warning:#f59e0b;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--radius:8px;--shadow:0 1px 3px #0000001a;--shadow-lg:0 4px 6px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-gray-50);color:var(--color-gray-800);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.app-loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.loading-spinner{border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-container{border-radius:var(--radius);box-shadow:var(--shadow-lg);background:#fff;width:100%;max-width:400px;padding:40px}.login-header{text-align:center;margin-bottom:32px}.login-header h1{color:var(--color-gray-900);margin-bottom:8px;font-size:28px}.login-subtitle{color:var(--color-gray-500);font-size:14px}.login-footer{border-top:1px solid var(--color-gray-200);text-align:center;margin-top:24px;padding-top:24px}.security-notice{color:var(--color-gray-500);font-size:12px}.login-form{flex-direction:column;gap:20px;display:flex}.login-form h2{text-align:center;margin-bottom:8px;font-size:20px}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--color-gray-700);font-size:14px;font-weight:500}.form-group input,.form-group select{border:1px solid var(--color-gray-300);border-radius:var(--radius);padding:10px 12px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--color-primary);outline:none}.form-group input:disabled{background-color:var(--color-gray-100)}.password-input{gap:8px;display:flex}.password-input input{flex:1}.toggle-password{background:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:var(--radius);cursor:pointer;padding:8px 12px;font-size:12px}.error-message{border-radius:var(--radius);color:var(--color-danger);background:#fef2f2;border:1px solid #fecaca;padding:12px;font-size:14px}.error-message.global{margin-bottom:16px}.error-text{color:var(--color-danger);font-size:12px}.help-text{color:var(--color-gray-500);font-size:12px}.login-button{background:var(--color-primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:12px;font-size:14px;font-weight:500;transition:background .2s}.login-button:hover:not(:disabled){background:var(--color-primary-dark)}.login-button:disabled{opacity:.6;cursor:not-allowed}.connections-page{flex-direction:column;min-height:100vh;display:flex}.page-header{box-shadow:var(--shadow);background:#fff;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.header-content{align-items:center;gap:16px;display:flex}.header-content h1{color:var(--color-gray-900);font-size:20px}.user-email{color:var(--color-gray-500);font-size:14px}.logout-button{border:1px solid var(--color-gray-300);border-radius:var(--radius);cursor:pointer;background:0 0;padding:8px 16px;font-size:14px;transition:background .2s}.logout-button:hover{background:var(--color-gray-100)}.page-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px}.connections-list{flex-direction:column;gap:24px;display:flex}.list-header{justify-content:space-between;align-items:center;display:flex}.list-header h2{color:var(--color-gray-900);font-size:24px}.create-button{background:var(--color-primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:10px 20px;font-size:14px;font-weight:500;transition:background .2s}.create-button:hover{background:var(--color-primary-dark)}.connections-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;display:grid}.connection-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;overflow:hidden}.card-header{border-bottom:1px solid var(--color-gray-200);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-header h3{color:var(--color-gray-900);font-size:16px;font-weight:600}.status-badge{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500}.status-valid{color:#166534;background:#dcfce7}.status-invalid{color:#991b1b;background:#fef2f2}.status-pending{color:#92400e;background:#fef3c7}.status-testing{color:#1e40af;background:#dbeafe}.status-unknown{background:var(--color-gray-100);color:var(--color-gray-600)}.card-body{flex-direction:column;gap:12px;padding:20px;display:flex}.info-row{justify-content:space-between;align-items:center;display:flex}.info-row .label{color:var(--color-gray-500);font-size:13px}.info-row .value{color:var(--color-gray-800);font-size:14px}.masked-key{background:var(--color-gray-100);color:var(--color-gray-600);border-radius:4px;padding:4px 8px;font-family:SF Mono,Monaco,monospace;font-size:12px}.card-actions{background:var(--color-gray-50);gap:12px;padding:16px 20px;display:flex}.card-actions button{border:1px solid var(--color-gray-300);border-radius:var(--radius);cursor:pointer;flex:1;padding:10px;font-size:14px;transition:all .2s}.test-button{color:var(--color-primary);background:#fff}.test-button:hover:not(:disabled){background:var(--color-primary);color:#fff}.delete-button{color:var(--color-danger);background:#fff}.delete-button:hover:not(:disabled){background:var(--color-danger);color:#fff}.card-actions button:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:60px 20px}.empty-state h3{color:var(--color-gray-800);margin-bottom:8px;font-size:20px}.empty-state p{color:var(--color-gray-500);margin-bottom:24px}.pagination{justify-content:center;align-items:center;gap:16px;padding:20px;display:flex}.pagination button{border:1px solid var(--color-gray-300);border-radius:var(--radius);cursor:pointer;background:#fff;padding:8px 16px}.pagination button:disabled{opacity:.5;cursor:not-allowed}.page-info{color:var(--color-gray-600);font-size:14px}.loading{text-align:center;color:var(--color-gray-500);padding:60px}.error-container{text-align:center;padding:40px}.error-container .error-message{margin-bottom:16px}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius);box-shadow:var(--shadow-lg);background:#fff;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--color-gray-200);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:var(--color-gray-900);font-size:18px}.close-button{width:32px;height:32px;color:var(--color-gray-500);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:24px;display:flex}.close-button:hover{color:var(--color-gray-800)}.create-connection-form{flex-direction:column;gap:20px;padding:24px;display:flex}.modal-actions{gap:12px;margin-top:8px;display:flex}.modal-actions button{border-radius:var(--radius);cursor:pointer;flex:1;padding:12px;font-size:14px;font-weight:500;transition:all .2s}.cancel-button{border:1px solid var(--color-gray-300);color:var(--color-gray-700);background:#fff}.cancel-button:hover:not(:disabled){background:var(--color-gray-50)}.submit-button{background:var(--color-primary);color:#fff;border:none}.submit-button:hover:not(:disabled){background:var(--color-primary-dark)}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.settings-section,.connections-section{margin-bottom:32px}.llm-settings-panel{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;overflow:hidden}.llm-settings-panel .panel-header{background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.llm-settings-panel .panel-header h3{color:var(--color-gray-900);margin:0;font-size:16px;font-weight:600}.llm-settings-panel .configured-badge{color:#166534;background:#dcfce7;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500}.settings-form{flex-direction:column;gap:20px;padding:20px;display:flex}.settings-form .form-group{flex-direction:column;gap:6px;display:flex}.settings-form .form-group label{color:var(--color-gray-700);font-size:14px;font-weight:500}.settings-form .form-group input,.settings-form .form-group select{border:1px solid var(--color-gray-300);border-radius:var(--radius);padding:10px 12px;font-size:14px;transition:border-color .2s}.settings-form .form-group input:focus,.settings-form .form-group select:focus{border-color:var(--color-primary);outline:none}.settings-form .form-group input:disabled,.settings-form .form-group select:disabled{background-color:var(--color-gray-100)}.settings-form .form-group input.error,.settings-form .form-group select.error{border-color:var(--color-danger)}.settings-form .password-input-wrapper{gap:8px;display:flex}.settings-form .password-input-wrapper input{flex:1}.settings-form .password-input-wrapper .toggle-password{background:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:var(--radius);cursor:pointer;padding:8px 12px;font-size:12px;transition:background .2s}.settings-form .password-input-wrapper .toggle-password:hover:not(:disabled){background:var(--color-gray-200)}.settings-actions{gap:12px;margin-top:8px;display:flex}.settings-actions button{border-radius:var(--radius);cursor:pointer;border:none;flex:1;padding:12px;font-size:14px;font-weight:500;transition:all .2s}.settings-actions .test-button{border:1px solid var(--color-gray-300);color:var(--color-primary);background:#fff}.settings-actions .test-button:hover:not(:disabled){background:var(--color-gray-50)}.settings-actions .save-button{background:var(--color-primary);color:#fff}.settings-actions .save-button:hover:not(:disabled){background:var(--color-primary-dark)}.settings-actions button:disabled{opacity:.5;cursor:not-allowed}.test-result{border-radius:var(--radius);flex-direction:column;gap:4px;padding:12px 16px;font-size:14px;display:flex}.test-result.success{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.test-result.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.test-result .result-message{font-weight:500}.test-result .result-latency{color:inherit;opacity:.8;font-size:12px}
