.pm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.pm-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 32px;width:440px;max-width:95vw}.pm-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin:0}.pm-divider{height:1px;background:var(--border);margin:16px 0}.pm-section{margin-bottom:20px}.pm-label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:10px}.pm-input{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;color:var(--text-primary);font-size:1rem;outline:none;box-sizing:border-box}.pm-input:focus{border-color:var(--accent-blue)}.pm-input::placeholder{color:var(--text-muted)}.pm-emoji-grid{display:flex;flex-wrap:wrap;gap:8px}.pm-emoji-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:var(--bg-tertiary);border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:border-color .15s,transform .1s}.pm-emoji-btn:hover{transform:scale(1.1)}.pm-emoji-btn.selected{border-color:var(--accent-blue);background:var(--bg-primary)}.pm-color-grid{display:flex;gap:10px}.pm-color-btn{width:40px;height:40px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .1s,border-color .15s}.pm-color-btn:hover{transform:scale(1.1)}.pm-color-btn.selected{border-color:#fff;box-shadow:0 0 0 2px #ffffff4d}.pm-actions{display:flex;gap:10px;margin-top:24px}.pm-btn-create{flex:1;padding:12px;background:var(--accent-blue);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer}.pm-btn-create:hover{opacity:.9}.pm-btn-create:disabled{opacity:.4;cursor:not-allowed}.pm-btn-cancel{padding:12px 24px;background:var(--bg-tertiary);color:var(--text-secondary);border:none;border-radius:var(--radius);font-size:1rem;cursor:pointer}.pm-btn-cancel:hover{color:var(--text-primary)}.pm-danger-zone{margin-top:8px}.pm-danger-header{font-size:.85rem;color:#ef4444;font-weight:600;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.pm-btn-delete{width:100%;padding:10px;background:transparent;color:#ef4444;border:1px solid #ef4444;border-radius:var(--radius);font-size:.9rem;cursor:pointer;transition:background .15s}.pm-btn-delete:hover{background:#ef44441a}.pm-delete-confirm{margin-top:4px}.pm-delete-warning{color:#fbbf24;font-size:.85rem;margin:0 0 12px;line-height:1.4}.pm-delete-actions{display:flex;gap:10px}.pm-btn-delete-confirm{flex:1;padding:10px;background:#ef4444;color:#fff;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer}.pm-btn-delete-confirm:hover{background:#dc2626}.pm-btn-delete-confirm:disabled{opacity:.5;cursor:not-allowed}.pm-tabs{display:flex;gap:4px;margin-top:16px}.pm-tab{padding:8px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:color .15s,border-color .15s}.pm-tab:hover{color:var(--text-primary)}.pm-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-blue)}.pm-modal-wide{width:700px;max-height:85vh;overflow-y:auto}.pm-docs-list{display:flex;flex-direction:column;gap:4px}.pm-docs-empty{color:var(--text-muted);font-size:.9rem;text-align:center;padding:24px 0}.pm-doc-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-primary);font-size:.9rem;transition:background .15s}.pm-doc-item:hover{background:var(--bg-primary)}.pm-doc-icon{font-size:1.1rem}.pm-doc-name{flex:1;font-weight:500}.pm-doc-size{color:var(--text-muted);font-size:.8rem}.pm-doc-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.pm-doc-back{background:none;border:none;color:var(--accent-blue);cursor:pointer;font-size:.9rem;padding:4px 0}.pm-doc-back:hover{text-decoration:underline}.pm-doc-title{flex:1;font-weight:600;color:var(--text-primary);font-size:.95rem}.pm-doc-actions{display:flex;gap:8px}.pm-doc-preview-btn,.pm-doc-save-btn{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-tertiary);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:background .15s}.pm-doc-preview-btn:hover,.pm-doc-save-btn:hover{background:var(--bg-primary)}.pm-doc-preview-btn.active,.pm-doc-save-btn{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.pm-doc-save-btn:disabled{opacity:.5;cursor:not-allowed}.pm-doc-textarea{width:100%;min-height:400px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:14px;color:var(--text-primary);font-family:SF Mono,Fira Code,monospace;font-size:.85rem;line-height:1.6;resize:vertical;outline:none;box-sizing:border-box}.pm-doc-textarea:focus{border-color:var(--accent-blue)}.pm-doc-preview{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:20px;min-height:400px;max-height:500px;overflow-y:auto;color:var(--text-primary);font-size:.9rem;line-height:1.6}.pm-doc-preview h1{font-size:1.4rem;border-bottom:1px solid var(--border);padding-bottom:8px;margin-top:0}.pm-doc-preview h2{font-size:1.15rem;border-bottom:1px solid var(--border);padding-bottom:6px}.pm-doc-preview h3{font-size:1rem}.pm-doc-preview code{background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;font-size:.85em}.pm-doc-preview pre{background:var(--bg-tertiary);padding:12px;border-radius:var(--radius);overflow-x:auto}.pm-doc-preview pre code{background:none;padding:0}.pm-doc-preview a{color:var(--accent-blue)}.pm-doc-preview table{border-collapse:collapse;width:100%}.pm-doc-preview th,.pm-doc-preview td{border:1px solid var(--border);padding:6px 10px;text-align:left}.pm-doc-preview th{background:var(--bg-tertiary)}.pm-doc-preview blockquote{border-left:3px solid var(--accent-blue);margin:0;padding-left:12px;color:var(--text-muted)}.pm-members{padding:8px 0}.pm-members-invite{display:flex;gap:8px;margin-bottom:16px}.pm-members-invite .pm-input{flex:1}.pm-select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:8px 12px;color:var(--text-primary);font-size:13px}.pm-member-error{color:#ef4444;font-size:13px;margin:-8px 0 8px}.pm-members-list{display:flex;flex-direction:column;gap:4px}.pm-member-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--bg-secondary)}.pm-member-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.pm-member-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent-blue);color:#fff;font-size:14px;font-weight:600}.pm-member-info{flex:1;display:flex;flex-direction:column;min-width:0}.pm-member-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-member-email{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-member-role{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--bg-tertiary);color:var(--text-muted);text-transform:uppercase;font-weight:600;flex-shrink:0}.pm-member-role.admin{background:#f59e0b26;color:#f59e0b}.pm-member-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;flex-shrink:0}.pm-member-remove:hover{background:#ef444426;color:#ef4444}.layout{display:flex;min-height:100vh}.sidebar{width:220px;min-width:220px;background:#08080d;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:0}.sidebar-header{display:flex;align-items:center;gap:10px;padding:20px 20px 16px}.logo-icon{font-size:22px}.logo-text{font-size:17px;font-weight:700;background:linear-gradient(135deg,var(--accent-green),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.agent-card{padding:16px 20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.agent-name-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.agent-name{font-size:16px;font-weight:700;color:var(--text-primary)}.status-indicator{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.5px}.status-indicator .status-dot{width:8px;height:8px;border-radius:50%}.status-indicator.online{color:var(--accent-green)}.status-indicator.online .status-dot{background:var(--accent-green);box-shadow:0 0 8px var(--accent-green);animation:pulse-glow 2s ease-in-out infinite}.status-indicator.offline{color:var(--accent-red)}.status-indicator.offline .status-dot{background:var(--accent-red)}.agent-hw{font-size:12px;color:var(--text-muted)}.agent-model{font-size:11px;color:var(--text-muted);font-family:monospace;opacity:.7;margin-top:2px}.agent-openclaw-version{font-size:11px;color:var(--text-muted);font-family:monospace;opacity:.6;margin-top:2px}.projects-section{padding:16px 0;border-bottom:1px solid var(--border);flex-shrink:0}.projects-header{display:flex;align-items:center;justify-content:space-between;padding:0 12px 10px}.projects-label{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text-muted);text-transform:uppercase}.projects-add-btn{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}.projects-add-btn:hover{color:var(--accent-purple)}.project-create-inline{padding:0 12px 8px}.project-create-inline input{width:100%;background:var(--bg-tertiary);border:1px solid var(--accent-purple);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:12px;outline:none}.project-list{display:flex;flex-direction:column;gap:1px}.project-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:all .15s;border-left:3px solid transparent}.project-item:hover{background:#ffffff08}.project-item.active{background:#7c3aed14;border-left-color:var(--accent-purple)}.project-item.active .project-name{color:var(--accent-purple);font-weight:600}.project-icon{font-size:14px;flex-shrink:0}.project-name{font-size:13px;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-edit-btn{opacity:0;background:none;border:none;cursor:pointer;font-size:11px;padding:2px 4px;border-radius:4px;transition:opacity .15s,background .15s;flex-shrink:0}.project-item:hover .project-edit-btn{opacity:.6}.project-edit-btn:hover{opacity:1!important;background:#ffffff1a}.project-llm-badge{font-size:9px;color:var(--text-muted);background:#ffffff14;padding:1px 5px;border-radius:4px;flex-shrink:0;max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-count{font-size:11px;color:var(--text-muted);flex-shrink:0}.sidebar-spacer{flex:1}.sidebar-stats{display:flex;align-items:center;justify-content:center;gap:0;padding:16px 20px;border-top:1px solid var(--border)}.stat-item{display:flex;flex-direction:column;align-items:center;flex:1}.stat-value{font-size:22px;font-weight:700;color:var(--text-primary)}.stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.stat-divider{width:1px;height:36px;background:var(--border)}.sidebar-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.user-info{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.user-avatar{font-size:16px}.user-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{background:none;border:1px solid var(--border);color:var(--text-muted);padding:4px 10px;border-radius:var(--radius);font-size:11px;cursor:pointer}.logout-btn:hover{border-color:var(--accent-red);color:var(--accent-red)}.main-wrapper{flex:1;display:flex;flex-direction:column;min-width:0}.top-tabs{display:flex;align-items:center;gap:0;padding:0 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border);height:48px;flex-shrink:0}.tab-item{display:flex;align-items:center;gap:6px;padding:0 16px;height:48px;font-size:13px;font-weight:500;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent;transition:all .15s ease;white-space:nowrap}.tab-item:hover{color:var(--text-primary);background:#ffffff08}.tab-item.active{color:var(--accent-purple);border-bottom-color:var(--accent-purple);font-weight:600}.tab-icon{font-size:15px}.tab-badge{background:var(--accent-purple);color:#fff;padding:1px 6px;border-radius:10px;font-size:10px;font-weight:700;min-width:18px;text-align:center}.main-content{flex:1;padding:24px;overflow-y:auto;max-height:calc(100vh - 48px)}@media (max-width: 768px){.sidebar{position:fixed;z-index:100;height:100vh;width:220px;transform:translate(-100%);transition:transform .2s ease}.top-tabs{padding:0 12px;overflow-x:auto}.tab-item{padding:0 10px;font-size:12px}.main-content{padding:16px}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);position:relative;overflow:hidden}.login-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 40px;text-align:center;position:relative;z-index:1;box-shadow:0 20px 60px #00000080}.login-logo{font-size:64px;margin-bottom:16px}.login-title{font-size:32px;font-weight:800;background:linear-gradient(135deg,var(--accent-green),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.login-subtitle{color:var(--text-muted);font-size:14px;margin-bottom:32px}.google-login-btn{display:inline-flex;align-items:center;gap:12px;padding:12px 32px;background:#fff;color:#333;border-radius:var(--radius);font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #0003}.google-login-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000004d;color:#333}.login-note{color:var(--text-muted);font-size:12px;margin-top:24px}.login-bg-effects{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.bg-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.15}.orb-1{width:400px;height:400px;background:var(--accent-purple);top:-100px;right:-100px}.orb-2{width:300px;height:300px;background:var(--accent-green);bottom:-50px;left:-50px}.agent-cards-page{padding:24px}.agent-cards-header{margin-bottom:24px}.agent-cards-header h1{margin:0 0 4px;font-size:24px;color:var(--text-primary)}.agent-cards-subtitle{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.live-dot-green{width:8px;height:8px;border-radius:50%;background:var(--accent-green, #00ff88);display:inline-block;animation:pulse-green 2s ease-in-out infinite}@keyframes pulse-green{0%,to{opacity:1;box-shadow:0 0 #0f86}50%{opacity:.8;box-shadow:0 0 0 6px #0f80}}.agent-cards-loading{display:flex;align-items:center;justify-content:center;padding:80px;color:var(--text-secondary);font-size:14px}.agent-cards-empty{grid-column:1 / -1;text-align:center;padding:60px;color:var(--text-secondary)}.empty-icon-large{font-size:48px;display:block;margin-bottom:12px;opacity:.4}.agent-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.agent-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:20px;cursor:pointer;transition:all .15s ease}.agent-card:hover{border-color:#ffffff26;transform:translateY(-1px);box-shadow:0 4px 20px #0000004d}.agent-card.online{border-color:#0f83}.agent-card.online:hover{border-color:#0f86}.agent-card.selected{border-color:var(--accent-green, #00ff88);box-shadow:0 0 0 1px var(--accent-green, #00ff88)}.agent-card-top{display:flex;align-items:center;gap:14px;margin-bottom:16px}.agent-card-avatar{position:relative;width:48px;height:48px;background:#ffffff0f;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.agent-avatar-icon{font-size:24px}.agent-card-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;border:2px solid var(--bg-secondary)}.agent-card-status-dot.online{background:var(--accent-green, #00ff88);box-shadow:0 0 8px #00ff8880}.agent-card-status-dot.recent{background:var(--accent-orange, #ffa500)}.agent-card-status-dot.offline{background:var(--text-secondary, #666)}.agent-card-info{display:flex;flex-direction:column;gap:2px;min-width:0}.agent-card-name{font-size:15px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-card-status-label{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.agent-card-status-label.status-running{color:var(--accent-green, #00ff88)}.agent-card-status-label.status-recent{color:var(--accent-orange, #ffa500)}.agent-card-status-label.status-completed{color:var(--text-secondary, #666)}.agent-card-details{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.agent-card-detail{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.detail-icon{font-size:13px;width:18px;text-align:center}.agent-card-progress{margin-bottom:12px}.agent-card-progress-bar{height:3px;background:#ffffff0f;border-radius:2px;overflow:hidden}.agent-card-progress-fill{height:100%;border-radius:2px;transition:width .3s ease}.agent-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border)}.agent-card-runtime{font-size:11px;color:var(--text-secondary);font-family:SF Mono,monospace}.agent-card-kind{font-size:11px;padding:2px 8px;border-radius:4px;background:#ffffff0d;color:var(--text-secondary)}.agent-detail-panel{margin-top:24px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:20px}.agent-detail-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.agent-detail-panel-header h3{margin:0;font-size:16px;color:var(--text-primary)}.agent-detail-panel-header button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:4px 8px}.agent-detail-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-row{display:flex;justify-content:space-between;padding:8px 12px;background:#ffffff05;border-radius:6px;font-size:13px}.detail-row span:first-child{color:var(--text-secondary)}.detail-row span:last-child{color:var(--text-primary)}.detail-row .mono{font-family:SF Mono,monospace;font-size:11px}.dashboard{max-width:1400px}.page-header{margin-bottom:24px}.page-header h1{font-size:28px;font-weight:800}.page-subtitle{color:var(--text-muted);font-size:14px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;align-items:center;gap:16px;transition:border-color .2s;position:relative;overflow:hidden}.stat-card:hover{border-color:var(--border-active)}.stat-icon{font-size:28px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius)}.stat-icon.green{background:var(--accent-green-dim)}.stat-icon.purple{background:var(--accent-purple-dim)}.stat-icon.blue{background:#3b82f626}.stat-icon.orange{background:#f59e0b26}.stat-value{font-size:22px;font-weight:700;text-transform:capitalize}.stat-label{font-size:13px;color:var(--text-muted)}.stat-pulse{position:absolute;top:12px;right:12px;width:8px;height:8px;border-radius:50%;background:var(--accent-green);animation:pulse-glow 2s ease-in-out infinite}.stat-tag{position:absolute;top:8px;right:8px;font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px}.stat-tag.green{background:var(--accent-green-dim);color:var(--accent-green)}@keyframes pulse-glow{0%,to{box-shadow:0 0 4px var(--accent-green);opacity:1}50%{box-shadow:0 0 12px var(--accent-green);opacity:.6}}.quick-actions{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.action-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.action-btn:hover{border-color:var(--accent-purple);background:var(--accent-purple-dim)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.widget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}@media (max-width: 1000px){.widget-grid{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.widget-grid{grid-template-columns:1fr}}.dashboard-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}@media (max-width: 1200px){.dashboard-grid-3,.dashboard-grid-2{grid-template-columns:1fr 1fr}}@media (max-width: 800px){.dashboard-grid-3,.dashboard-grid-2{grid-template-columns:1fr}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.card-activity{grid-column:span 1}@media (min-width: 1201px){.card-activity{grid-column:span 1}}.card-title{font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.card-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0}.card-title-row .card-title{margin-bottom:12px}.card-link{font-size:12px;color:var(--accent-purple);white-space:nowrap;padding-top:2px}.card-link:hover{color:var(--accent-green)}.info-rows{display:flex;flex-direction:column;gap:12px}.info-row{display:flex;justify-content:space-between;align-items:center}.info-label{color:var(--text-muted);font-size:13px;white-space:nowrap}.info-value{font-size:14px;font-weight:500;text-align:right}.info-value.mono{font-family:monospace;font-size:12px;color:var(--accent-green)}.info-sub{color:var(--text-muted);font-size:11px;font-weight:400}.info-badge{padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.badge-green{background:var(--accent-green-dim);color:var(--accent-green)}.badge-red{background:#ef444426;color:var(--accent-red)}.context-bar-wrapper{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}.context-bar{width:80px;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.context-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent-green),var(--accent-orange));transition:width .5s ease}.context-bar-text{font-size:11px;font-family:monospace;color:var(--text-muted);white-space:nowrap}.agents-mini-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.agent-mini{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius);background:var(--bg-tertiary);border:1px solid transparent;transition:all .15s}.agent-mini:hover{border-color:var(--border-active)}.agent-mini-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.agent-running .agent-mini-dot{background:var(--accent-green);box-shadow:0 0 6px var(--accent-green);animation:pulse-glow 2s ease-in-out infinite}.agent-recent .agent-mini-dot{background:var(--accent-orange)}.agent-completed .agent-mini-dot{background:var(--text-muted)}.agent-mini-info{flex:1;display:flex;flex-direction:column;min-width:0}.agent-mini-label{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-mini-model{font-size:11px;color:var(--text-muted);font-family:monospace}.agent-mini-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.agent-mini-status{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:4px}.status-running{color:var(--accent-green);background:var(--accent-green-dim)}.status-recent{color:var(--accent-orange);background:#f59e0b26}.status-completed{color:var(--text-muted);background:var(--bg-hover)}.agent-mini-tokens{font-size:10px;color:var(--text-muted);font-family:monospace}.activity-filters{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.filter-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-muted);padding:3px 8px;border-radius:12px;font-size:10px;text-transform:capitalize;transition:all .15s;white-space:nowrap}.filter-btn:hover{border-color:var(--accent-purple);color:var(--text-primary)}.filter-btn.active{background:var(--accent-purple-dim);border-color:var(--accent-purple);color:var(--accent-purple)}.activity-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.activity-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--radius);font-size:13px}.activity-item:hover{background:var(--bg-hover)}.activity-icon{font-size:14px;flex-shrink:0}.activity-type{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;white-space:nowrap}.type-system{background:var(--accent-purple-dim);color:var(--accent-purple)}.type-auth{background:var(--accent-green-dim);color:var(--accent-green)}.type-chat{background:#3b82f626;color:var(--accent-blue)}.type-task{background:#f59e0b26;color:var(--accent-orange)}.type-cron{background:#8b5cf626;color:#8b5cf6}.type-agent{background:#06b6d426;color:#06b6d4}.type-email{background:#ec489926;color:#ec4899}.type-camera{background:#84cc1626;color:#84cc16}.activity-message{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.activity-time{color:var(--text-muted);font-size:11px;font-family:monospace;white-space:nowrap}.empty-state{color:var(--text-muted);text-align:center;padding:20px;font-size:14px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.task-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.task-stat{text-align:center}.task-stat-value{font-size:24px;font-weight:700}.task-stat-label{font-size:11px;color:var(--text-muted);margin-top:2px}.task-stat-bar{height:3px;border-radius:2px;margin-top:6px;opacity:.5}.task-bar-chart{display:flex;height:8px;border-radius:4px;overflow:hidden;gap:2px}.task-bar-segment{border-radius:2px;min-width:4px;transition:flex .3s}.cron-mini-list{display:flex;flex-direction:column;gap:8px}.cron-mini-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius);background:var(--bg-tertiary);font-size:13px}.cron-mini-item:hover{background:var(--bg-hover)}.cron-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cron-enabled{background:var(--accent-green);box-shadow:0 0 4px var(--accent-green)}.cron-disabled{background:var(--accent-red)}.cron-mini-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cron-mini-next{font-family:monospace;font-size:12px;color:var(--text-muted)}.disk-bar-wrapper{display:flex;align-items:center;gap:10px;margin:4px 0}.disk-bar{flex:1;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.disk-bar-fill{height:100%;border-radius:4px;transition:width .5s}.disk-bar-text{font-size:12px;font-family:monospace;color:var(--text-muted);min-width:40px;text-align:right}.pnl-positive{color:var(--accent-green)!important}.pnl-negative{color:var(--accent-red)!important}.fb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center}.fb-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:90vw;max-width:1100px;height:80vh;display:flex;flex-direction:column;overflow:hidden}.fb-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.fb-header h2{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.fb-close{background:none;border:none;color:var(--text-muted);font-size:1.2rem;padding:4px 8px;border-radius:var(--radius);transition:all .15s}.fb-close:hover{color:var(--text-primary);background:var(--bg-hover)}.fb-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border);gap:12px}.fb-breadcrumb{display:flex;align-items:center;gap:4px;font-size:.85rem;color:var(--text-secondary);flex-wrap:wrap}.fb-crumb-link{cursor:pointer;color:var(--accent-purple);transition:color .15s}.fb-crumb-link:hover{color:var(--accent-blue)}.fb-crumb-sep{color:var(--text-muted);margin:0 2px}.fb-upload-btn{background:var(--accent-purple);color:#fff;padding:6px 14px;border-radius:var(--radius);font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s;white-space:nowrap}.fb-upload-btn:hover{background:var(--accent-purple-dim)}.fb-body{display:flex;flex:1;overflow:hidden}.fb-list{flex:1;overflow-y:auto;padding:12px}.fb-list-narrow{flex:0 0 45%;max-width:45%;border-right:1px solid var(--border)}.fb-empty{color:var(--text-muted);text-align:center;padding:40px 20px;font-size:.9rem}.fb-thumbs{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 12px}.fb-thumb{width:90px;cursor:pointer;border-radius:var(--radius);overflow:hidden;border:2px solid transparent;transition:border-color .15s}.fb-thumb:hover{border-color:var(--accent-purple)}.fb-thumb-active{border-color:var(--accent-blue)}.fb-thumb img{width:100%;height:70px;object-fit:cover;display:block;background:var(--bg-tertiary)}.fb-thumb-name{display:block;font-size:.65rem;color:var(--text-muted);padding:3px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-rows{display:flex;flex-direction:column;gap:2px}.fb-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius);cursor:pointer;transition:background .12s}.fb-row:hover{background:var(--bg-hover)}.fb-row-active{background:var(--bg-tertiary)}.fb-row-icon{font-size:1rem;flex-shrink:0}.fb-row-name{flex:1;font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-row-meta{display:flex;align-items:center;gap:12px;flex-shrink:0}.fb-row-size,.fb-row-date{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.fb-row-delete{background:none;border:none;cursor:pointer;font-size:.8rem;opacity:0;transition:opacity .15s;padding:2px 4px}.fb-row:hover .fb-row-delete{opacity:.6}.fb-row-delete:hover{opacity:1!important}.fb-preview{flex:1;display:flex;flex-direction:column;overflow:hidden}.fb-preview-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);font-size:.85rem;font-weight:500;color:var(--text-primary)}.fb-close-sm{background:none;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:2px 6px;border-radius:var(--radius)}.fb-close-sm:hover{color:var(--text-primary);background:var(--bg-hover)}.fb-preview-content{flex:1;overflow-y:auto;padding:16px}.fb-preview-img{max-width:100%;max-height:100%;border-radius:var(--radius);object-fit:contain}.fb-markdown{font-size:.85rem;line-height:1.7;color:var(--text-primary)}.fb-markdown h1,.fb-markdown h2,.fb-markdown h3{color:var(--text-primary);margin:1em 0 .5em}.fb-markdown h1{font-size:1.3rem}.fb-markdown h2{font-size:1.1rem}.fb-markdown h3{font-size:.95rem}.fb-markdown p{margin:.5em 0}.fb-markdown code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-size:.8rem;font-family:SF Mono,Fira Code,monospace}.fb-markdown pre{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:12px;overflow-x:auto;margin:.8em 0}.fb-markdown pre code{background:none;padding:0}.fb-markdown table{border-collapse:collapse;width:100%;margin:.8em 0}.fb-markdown th,.fb-markdown td{border:1px solid var(--border);padding:6px 10px;text-align:left;font-size:.8rem}.fb-markdown th{background:var(--bg-tertiary)}.fb-markdown a{color:var(--accent-purple)}.fb-markdown ul,.fb-markdown ol{padding-left:1.5em;margin:.5em 0}.fb-markdown blockquote{border-left:3px solid var(--accent-purple);padding-left:12px;margin:.5em 0;color:var(--text-secondary)}.fb-code{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:16px;font-family:SF Mono,Fira Code,monospace;font-size:.8rem;color:var(--text-primary);line-height:1.6;white-space:pre-wrap;word-break:break-word;overflow-x:auto;margin:0}.fb-error{color:var(--accent-red);text-align:center;padding:20px}.fb-toast{position:absolute;top:12px;left:50%;transform:translate(-50%);padding:8px 20px;border-radius:var(--radius);font-size:.8rem;font-weight:500;z-index:1010;animation:fb-toast-in .2s ease;pointer-events:none}.fb-toast-ok{background:#1a7f37;color:#fff}.fb-toast-error{background:#cf222e;color:#fff}@keyframes fb-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.fb-context-menu{position:fixed;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000004d;z-index:1020;min-width:140px;padding:4px 0}.fb-context-item{padding:8px 14px;font-size:.8rem;cursor:pointer;color:var(--text-primary);transition:background .1s}.fb-context-item:hover{background:var(--bg-hover)}.fb-context-danger:hover{background:#cf222e26;color:#f85149}.fb-rename-input{flex:1;background:var(--bg-primary);border:1px solid var(--accent-purple);border-radius:3px;color:var(--text-primary);font-size:.85rem;padding:2px 6px;outline:none;font-family:inherit}.fb-row-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s;flex-shrink:0}.fb-row:hover .fb-row-actions{opacity:.7}.fb-row-action{background:none;border:none;cursor:pointer;font-size:.75rem;padding:2px 4px;border-radius:3px;transition:background .1s}.fb-row-action:hover{background:var(--bg-hover);opacity:1!important}.fb-row-dragover{background:#8250df26!important;outline:2px dashed var(--accent-purple);outline-offset:-2px;border-radius:var(--radius)}.fb-row[draggable=true]{cursor:grab}.fb-row[draggable=true]:active{cursor:grabbing}.fb-md-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1050;display:flex;align-items:center;justify-content:center;animation:fb-md-fade-in .2s ease}@keyframes fb-md-fade-in{0%{opacity:0}to{opacity:1}}.fb-md-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:85vw;max-width:900px;height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 40px #00000080}.fb-md-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.fb-md-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.fb-md-body{flex:1;overflow-y:auto;padding:24px 32px}.fb-markdown-full{font-size:.9rem;line-height:1.8;max-width:780px}.fb-markdown-full h1{font-size:1.6rem;border-bottom:1px solid var(--border);padding-bottom:.3em}.fb-markdown-full h2{font-size:1.3rem;border-bottom:1px solid var(--border);padding-bottom:.2em}.fb-markdown-full h3{font-size:1.1rem}.fb-markdown-full h4{font-size:1rem}.tasks-page{display:flex;height:calc(100vh - 48px);overflow:hidden}.tasks-page.no-sidebar{flex-direction:column}.tasks-page.no-sidebar .board-main{width:100%}.projects-sidebar{width:220px;min-width:220px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.sidebar-header{padding:16px 16px 12px;border-bottom:1px solid var(--border)}.sidebar-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.project-list{flex:1;padding:8px 0;overflow-y:auto}.project-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:all .15s;border-left:3px solid transparent;font-size:13px;color:var(--text-secondary)}.project-item:hover{background:var(--bg-hover);color:var(--text-primary)}.project-item.active{background:var(--bg-hover);color:var(--text-primary);font-weight:600;border-left-color:var(--accent-purple, #7c3aed)}.project-icon{font-size:16px;flex-shrink:0}.project-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-count{background:var(--bg-tertiary);color:var(--text-muted);font-size:11px;padding:1px 7px;border-radius:10px;font-weight:600}.add-project-btn{margin:8px 12px 12px;padding:8px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius, 8px);color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .15s}.add-project-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#7c3aed14}.project-create-form{padding:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.project-create-form input{background:var(--bg-tertiary, #1a1a2e);border:1px solid var(--border);border-radius:var(--radius, 8px);padding:8px 12px;color:var(--text-primary);font-size:13px;outline:none}.project-create-form input:focus{border-color:#7c3aed}.icon-picker{display:flex;flex-wrap:wrap;gap:4px}.icon-option{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;font-size:14px;border:2px solid transparent;transition:all .1s}.icon-option:hover{background:var(--bg-hover)}.icon-option.selected{border-color:#7c3aed;background:#7c3aed1a}.color-picker{display:flex;gap:6px}.color-option{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .1s}.color-option:hover{transform:scale(1.15)}.color-option.selected{border-color:#fff;box-shadow:0 0 0 2px #fff3}.form-actions{display:flex;gap:8px;justify-content:flex-end}.board-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.board-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.board-header-left{display:flex;flex-direction:column;gap:2px}.board-title{font-size:20px;font-weight:700;color:var(--text-primary)}.board-subtitle{font-size:12px;color:var(--text-muted)}.board-header-right{display:flex;align-items:center;gap:8px}.header-btn{background:var(--bg-tertiary, #1a1a2e);border:1px solid var(--border);border-radius:var(--radius, 8px);padding:7px 14px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.header-btn:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-hover)}.header-btn.primary{background:#7c3aed;border-color:#7c3aed;color:#fff;font-weight:600}.header-btn.primary:hover{background:#6d28d9;border-color:#6d28d9}.header-btn.accent-orange{background:#f59e0b26;border-color:#f59e0b;color:#f59e0b;font-weight:600}.header-btn.accent-orange:hover{background:#f59e0b40}.kanban-board{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;flex:1;padding:16px 20px;overflow-x:auto;min-height:0;align-content:start}.kanban-column{background:var(--bg-card, #16161e);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;min-height:200px;max-height:calc(100vh - 160px);overflow:hidden;transition:border-color .15s,box-shadow .15s}.kanban-column.drag-over{border-color:#7c3aed;box-shadow:0 0 0 1px #7c3aed,0 0 20px #7c3aed1a}.column-accent{height:3px;border-radius:12px 12px 0 0;flex-shrink:0}.column-header{display:flex;align-items:center;gap:8px;padding:12px 14px 10px;font-size:13px;font-weight:700;color:var(--text-primary);flex-shrink:0}.column-icon{font-size:14px}.column-title{flex:1}.column-count{background:var(--bg-tertiary, #1a1a2e);color:var(--text-muted);padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;min-width:22px;text-align:center}.column-tasks{flex:1;padding:4px 8px 8px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.column-tasks::-webkit-scrollbar{width:4px}.column-tasks::-webkit-scrollbar-track{background:transparent}.column-tasks::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.column-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12px;font-style:italic;min-height:60px;border:1.5px dashed var(--border);border-radius:var(--radius, 8px);margin:4px;opacity:.6}.task-card{background:var(--bg-tertiary, #1a1a2e);border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:grab;transition:all .12s}.task-card:hover{border-color:#3f3f46;background:var(--bg-hover);box-shadow:0 0 12px #7c3aed0f}.task-card.dragging{opacity:.4;transform:rotate(1.5deg) scale(.98)}.task-tag{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;margin-bottom:6px;letter-spacing:.02em}.task-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.task-title{font-size:13px;font-weight:600;flex:1;line-height:1.4;color:var(--text-primary)}.task-desc{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.4}.task-meta{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;color:var(--text-muted)}.task-priority-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.task-priority-label{font-weight:500}.task-id{margin-left:auto;font-family:SF Mono,Fira Code,monospace;font-size:10px;opacity:.5}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.task-modal{background:#1e1e2e;border:1px solid var(--border);border-radius:16px;padding:24px;width:500px;max-width:90vw;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;gap:16px;animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;gap:12px}.modal-title-input{flex:1;background:transparent;border:none;font-size:22px;font-weight:700;color:var(--text-primary, #e4e4e7);outline:none;padding:0}.modal-title-input::placeholder{color:var(--text-muted, #52525b)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary, #1a1a2e);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:14px;cursor:pointer;transition:all .15s;flex-shrink:0}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-divider{height:1px;background:var(--border)}.modal-section{display:flex;flex-direction:column;gap:8px}.modal-section-header{display:flex;align-items:center;justify-content:space-between}.modal-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #71717a)}.modal-edit-link{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s}.modal-edit-link:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-textarea{background:var(--bg-tertiary, #1a1a2e);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text-primary, #e4e4e7);font-size:13px;font-family:inherit;outline:none;resize:vertical;min-height:60px}.modal-textarea:focus{border-color:#7c3aed}.modal-textarea::placeholder{color:var(--text-muted, #52525b)}.modal-desc-text{font-size:13px;color:var(--text-secondary);cursor:pointer;padding:8px 12px;border-radius:8px;transition:background .15s;line-height:1.5;margin:0}.modal-desc-text:hover{background:var(--bg-hover)}.modal-desc-text .muted{color:var(--text-muted);font-style:italic}.priority-toggles{display:flex;gap:8px}.priority-toggle{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--bg-tertiary, #1a1a2e);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.priority-toggle:hover{background:var(--bg-hover);border-color:var(--text-muted)}.priority-toggle.active{font-weight:600}.priority-dot-sm{width:6px;height:6px;border-radius:50%;flex-shrink:0}.modal-select{background:var(--bg-tertiary, #1a1a2e);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text-primary, #e4e4e7);font-size:13px;outline:none;cursor:pointer}.modal-select:focus{border-color:#7c3aed}.modal-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.modal-actions-right{display:flex;gap:8px;margin-left:auto}.btn-cancel{background:transparent;border:1px solid var(--border);border-radius:8px;padding:8px 16px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.btn-cancel:hover{border-color:var(--text-muted);color:var(--text-primary)}.btn-save{background:#7c3aed;border:none;border-radius:8px;padding:8px 20px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.btn-save:hover{background:#6d28d9}.btn-save:disabled{opacity:.4;cursor:not-allowed}.btn-delete{background:transparent;border:1px solid #991b1b;border-radius:8px;padding:8px 16px;color:#ef4444;font-size:13px;cursor:pointer;transition:all .15s}.btn-delete:hover{background:#ef44441a;border-color:#ef4444}.btn-create{background:#7c3aed;border:none;border-radius:8px;padding:6px 14px;color:#fff;font-size:12px;font-weight:600;cursor:pointer}.btn-create:disabled{opacity:.4;cursor:not-allowed}.btn-create:not(:disabled):hover{filter:brightness(1.15)}.project-modal{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:28px 32px;width:440px;max-width:95vw}.project-modal-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin:0}.project-modal-divider{height:1px;background:var(--border);margin:16px 0}.project-modal-section{margin-bottom:20px}.project-modal-label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:10px;letter-spacing:.02em}.project-modal-input{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;color:var(--text-primary);font-size:1rem;outline:none}.project-modal-input:focus{border-color:var(--accent-blue)}.project-modal-input::placeholder{color:var(--text-muted)}.emoji-grid{display:flex;flex-wrap:wrap;gap:8px}.emoji-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:var(--bg-tertiary);border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:border-color .15s,transform .1s}.emoji-btn:hover{transform:scale(1.1)}.emoji-btn.selected{border-color:var(--accent-blue);background:var(--bg-primary)}.color-grid{display:flex;gap:10px}.color-btn{width:40px;height:40px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .1s,border-color .15s}.color-btn:hover{transform:scale(1.1)}.color-btn.selected{border-color:#fff;box-shadow:0 0 0 2px #ffffff4d}.project-modal-actions{display:flex;gap:10px;margin-top:24px}.btn-create-project{flex:1;padding:12px;background:var(--accent-blue);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer}.btn-create-project:hover{opacity:.9}.btn-create-project:disabled{opacity:.4;cursor:not-allowed}.btn-cancel-project{padding:12px 24px;background:var(--bg-tertiary);color:var(--text-secondary);border:none;border-radius:var(--radius);font-size:1rem;cursor:pointer}.btn-cancel-project:hover{color:var(--text-primary)}.projects-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px}.projects-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase}.projects-add-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:1rem;cursor:pointer}.projects-add-btn:hover{color:var(--text-primary);border-color:var(--accent-purple)}.project-list{padding:4px 8px}.project-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);cursor:pointer;border-left:3px solid transparent;transition:background .15s;margin-bottom:2px}.project-item:hover{background:var(--bg-hover)}.project-item.active{background:var(--bg-tertiary);border-left-color:var(--accent-purple)}.project-icon{font-size:1rem}.project-name{flex:1;font-size:.88rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-count{font-size:.75rem;color:var(--text-muted);background:var(--bg-primary);padding:2px 6px;border-radius:10px}.historik-section{border-top:1px solid var(--border);padding-top:12px;margin-top:4px}.historik-list{background:var(--bg-primary);border-radius:var(--radius);padding:8px 12px;max-height:200px;overflow-y:auto;margin:8px 0}.historik-empty{color:var(--text-muted);text-align:center;padding:16px 0;font-size:.9rem}.historik-item{padding:6px 0;border-bottom:1px solid var(--border)}.historik-item:last-child{border-bottom:none}.historik-event{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-muted)}.historik-action{font-weight:500;color:var(--text-secondary);white-space:nowrap}.historik-detail{flex:1;overflow:hidden;text-overflow:ellipsis}.historik-time{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.historik-comment{font-size:.88rem}.historik-comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.historik-author{font-weight:600;color:var(--accent-blue);font-size:.82rem}.historik-comment-text{color:var(--text-primary);margin:0;line-height:1.4;word-break:break-word}.historik-comment-text a{color:var(--accent-blue);text-decoration:underline;text-decoration-color:#3b82f666}.historik-comment-text a:hover{text-decoration-color:var(--accent-blue)}.historik-input-row{display:flex;gap:8px;align-items:flex-end;position:relative;transition:border-color .2s}.desc-drop-zone{position:relative}.desc-drop-zone.drop-active{border:2px dashed var(--accent);border-radius:var(--radius);background:#6366f10d}.desc-uploading-indicator{position:absolute;top:.5rem;right:.5rem;font-size:.8rem;color:var(--accent);z-index:11;pointer-events:none}.historik-input-row.drop-active{border:2px dashed var(--accent);border-radius:var(--radius);background:#6366f10d}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#6366f11a;border-radius:var(--radius);font-size:1.1rem;font-weight:600;color:var(--accent);z-index:10;pointer-events:none}.historik-input{flex:1;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;color:var(--text-primary);font-size:.9rem;outline:none;resize:vertical;font-family:inherit;min-height:60px}.historik-input:focus{border-color:var(--accent-blue)}.historik-input::placeholder{color:var(--text-muted)}.btn-send-comment{background:var(--accent-blue);color:#fff;border:none;border-radius:20px;padding:8px 18px;font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap}.btn-send-comment:hover{opacity:.9}.btn-send-comment:disabled{opacity:.4;cursor:not-allowed}.btn-send-backlog{background:#7c3aed26;color:#7c3aed;border:1px solid #7c3aed;border-radius:20px;padding:8px 14px;font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap}.btn-send-backlog:hover{background:#7c3aed40}.btn-send-backlog:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 900px){.projects-sidebar{width:180px;min-width:180px}.kanban-board{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.tasks-page{flex-direction:column}.projects-sidebar{width:100%;min-width:unset;max-height:140px;border-right:none;border-bottom:1px solid var(--border)}.project-list{display:flex;overflow-x:auto;padding:4px 8px}.project-item{white-space:nowrap;border-left:none;border-bottom:3px solid transparent;padding:8px 12px}.project-item.active{border-bottom-color:#7c3aed}.kanban-board{grid-template-columns:1fr!important}}.files-modal{background:var(--card-bg, #1a1a2e);border:1px solid var(--border, #2a2a4a);border-radius:12px;width:560px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal-title-text{font-size:1.1rem;font-weight:600;color:#e0e0e0;margin:0}.files-upload-row{padding:12px 20px 0}.files-upload-btn{cursor:pointer;display:inline-block}.files-list,.archive-list{padding:12px 20px 20px;overflow-y:auto;flex:1}.file-item,.archive-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;transition:background .15s}.file-item:hover,.archive-item:hover{background:#ffffff0a}.file-name{color:#7c9aff;text-decoration:none;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name:hover{text-decoration:underline}.file-size{color:#888;font-size:.82rem;white-space:nowrap}.file-delete-btn{background:none;border:none;cursor:pointer;font-size:1rem;opacity:.5;transition:opacity .15s;padding:2px 4px}.file-delete-btn:hover{opacity:1}.archive-task-title{flex:1;color:#e0e0e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-item{cursor:pointer}.task-actions{display:flex;gap:6px;margin-top:8px}.task-action-btn{flex:1;padding:5px 8px;font-size:11px;font-weight:600;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s;background:var(--bg-tertiary, #1a1a2e);color:var(--text-secondary);white-space:nowrap}.task-action-btn:hover{background:var(--bg-hover)}.btn-archive-done{border-color:#10b981;color:#10b981}.btn-archive-done:hover{background:#10b98126}.btn-done-archive{border-color:#6b7280;color:#9ca3af}.btn-done-archive:hover{background:#6b728026}.desc-toolbar{display:flex;gap:4px;align-items:center}.btn-ai-describe{background:none;border:1px solid var(--border);color:var(--text-muted);font-size:14px;cursor:pointer;padding:2px 8px;border-radius:6px;transition:all .2s;line-height:1}.btn-ai-describe:hover:not(:disabled){background:#7c3aed26;border-color:#7c3aed;color:#a78bfa}.btn-ai-describe:disabled{opacity:.4;cursor:not-allowed}.btn-ai-describe.loading{animation:pulse-ai 1s ease-in-out infinite}@keyframes pulse-ai{0%,to{opacity:1}50%{opacity:.4}}.modal-textarea-lg{min-height:200px}.modal-desc-preview{padding:10px 14px;border-radius:8px;background:var(--bg-tertiary, #1a1a2e);border:1px solid var(--border);cursor:pointer;min-height:80px;max-height:400px;overflow-y:auto;transition:background .15s}.modal-desc-preview:hover{background:var(--bg-hover)}.markdown-body{font-size:13px;line-height:1.6;color:var(--text-secondary)}.markdown-body h1,.markdown-body h2,.markdown-body h3{color:var(--text-primary);margin:12px 0 6px;font-size:14px;font-weight:600}.markdown-body h1{font-size:16px}.markdown-body h2{font-size:15px}.markdown-body p{margin:4px 0}.markdown-body ul,.markdown-body ol{padding-left:20px;margin:4px 0}.markdown-body li{margin:2px 0}.markdown-body code{background:#7c3aed26;padding:1px 5px;border-radius:4px;font-size:12px;font-family:SF Mono,monospace}.markdown-body pre{background:var(--bg-primary, #0f0f23);padding:10px;border-radius:6px;overflow-x:auto;margin:6px 0}.markdown-body pre code{background:none;padding:0}.markdown-body a{color:#7c3aed;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{color:var(--text-primary)}.markdown-body blockquote{border-left:3px solid #7c3aed;margin:6px 0;padding:4px 12px;color:var(--text-muted)}.markdown-body table{border-collapse:collapse;width:100%;margin:6px 0}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:4px 8px;text-align:left;font-size:12px}.markdown-body th{background:var(--bg-hover);font-weight:600}.historik-comment-text.markdown-body p{margin:2px 0}.historik-comment-text.markdown-body{font-size:12px}.task-tags-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.task-tag-badge{display:inline-block;font-size:10px;font-weight:600;padding:1px 7px;border-radius:4px;letter-spacing:.02em}.tag-selector{display:flex;flex-wrap:wrap;gap:6px}.tag-toggle{padding:5px 12px;font-size:12px;font-weight:500;border:1px solid var(--border);border-radius:6px;background:var(--bg-tertiary, #1a1a2e);color:var(--text-secondary);cursor:pointer;transition:all .15s}.tag-toggle:hover{background:var(--bg-hover);border-color:var(--text-muted)}.tag-toggle.active{font-weight:600}.tag-filter-row{display:flex;align-items:center;gap:4px}.tag-filter-btn{padding:4px 10px;font-size:11px;font-weight:500;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.tag-filter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tag-filter-btn.active{font-weight:600}.tag-filter-btn.clear{padding:4px 8px;color:var(--text-muted);border-color:transparent}.tag-filter-btn.clear:hover{color:#ef4444}.task-time-badge{font-size:.7rem;color:#8b5cf6;background:#8b5cf61a;padding:1px 6px;border-radius:8px;margin-left:auto;white-space:nowrap}.time-spent-badge{font-size:.8rem;color:#8b5cf6;background:#8b5cf61a;padding:2px 10px;border-radius:10px;margin-left:8px;font-weight:500}.attachments-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}.attachment-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px}.attachment-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px}.attachment-preview{flex-shrink:0}.attachment-icon{font-size:1.3rem;flex-shrink:0}.attachment-name{flex:1;color:#93c5fd;text-decoration:none;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-name:hover{text-decoration:underline}.attachment-size{font-size:.75rem;color:#6b7280;white-space:nowrap}.task-chain-icon{font-size:.75rem;margin-left:.25rem}.task-chain-view{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;margin-top:.5rem;padding:.5rem;background:#7c3aed14;border-radius:6px;border:1px solid rgba(124,58,237,.15)}.chain-item{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:4px;background:#ffffff0d;font-size:.78rem;color:#d1d5db}.chain-item.chain-current{background:#7c3aed40;color:#c4b5fd;font-weight:600;border:1px solid rgba(124,58,237,.4)}.chain-status{font-size:.7rem}.chain-title{white-space:nowrap}.chain-arrow{color:#7c3aed;font-weight:700;font-size:.85rem}.crons-page{max-width:1400px}.crons-loading,.crons-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;color:var(--text-muted);gap:12px}.empty-icon{font-size:48px;opacity:.4}.loading-spinner{font-size:24px;animation:spin 1s linear infinite}.crons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px}@media (max-width: 600px){.crons-grid{grid-template-columns:1fr}}.cron-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;cursor:pointer;transition:all .2s}.cron-card:hover{border-color:var(--border-active);box-shadow:0 4px 12px #0003}.cron-card.selected{border-color:var(--accent-purple)}.cron-card.disabled{opacity:.55}.cron-card.disabled:hover{opacity:.75}.cron-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.cron-name-row{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.cron-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cron-status-dot.enabled{background:var(--accent-green);box-shadow:0 0 6px var(--accent-green)}.cron-status-dot.disabled{background:var(--text-muted)}.cron-name{font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cron-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.cron-toggle{background:none;border:none;padding:0;cursor:pointer}.toggle-track{display:block;width:36px;height:20px;border-radius:10px;position:relative;transition:background .2s}.cron-toggle.on .toggle-track{background:var(--accent-green)}.cron-toggle.off .toggle-track{background:var(--border-active)}.toggle-thumb{display:block;width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:2px;transition:left .2s}.cron-toggle.on .toggle-thumb{left:18px}.cron-toggle.off .toggle-thumb{left:2px}.cron-run-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--accent-green);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s}.cron-run-btn:hover:not(:disabled){background:var(--accent-green-dim);border-color:var(--accent-green)}.cron-run-btn.running{animation:spin 1s linear infinite}.cron-run-btn:disabled{opacity:.5;cursor:not-allowed}.cron-schedule{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:8px 12px;background:var(--bg-tertiary);border-radius:var(--radius)}.cron-expr{font-family:monospace;font-size:13px;color:var(--accent-purple);font-weight:600}.cron-tz{font-size:11px;color:var(--text-muted);margin-left:auto}.cron-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.cron-info-item{display:flex;flex-direction:column;gap:3px}.cron-info-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.cron-info-value{font-size:13px;font-weight:500}.cron-info-value.mono{font-family:monospace;font-size:12px}.cron-status-ok{color:var(--accent-green)}.cron-status-error{color:var(--accent-red)}.cron-status-unknown{color:var(--text-muted)}.cron-countdown{display:inline-block;margin-left:6px;font-size:11px;color:var(--accent-orange);font-weight:600}.cron-error-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:8px 12px;font-size:12px;color:var(--accent-red);margin-bottom:12px}.cron-meta{display:flex;gap:12px;font-size:11px;color:var(--text-muted);padding-top:10px;border-top:1px solid var(--border)}.cron-id{margin-left:auto;font-family:monospace;font-size:10px}.cron-runs-panel{background:var(--bg-card);border:1px solid var(--accent-purple);border-radius:var(--radius-lg);padding:20px;margin-top:24px}.cron-runs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.cron-runs-header h3{font-size:16px;font-weight:600}.cron-runs-close{background:none;border:1px solid var(--border);color:var(--text-muted);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px}.cron-runs-close:hover{border-color:var(--accent-red);color:var(--accent-red)}.cron-payload{background:var(--bg-tertiary);padding:12px;border-radius:var(--radius);margin-bottom:16px;font-size:12px;line-height:1.5}.payload-label{font-weight:700;color:var(--text-muted);margin-right:6px}.payload-text{color:var(--text-secondary);font-family:monospace;font-size:11px;word-break:break-all}.cron-runs-empty{text-align:center;color:var(--text-muted);padding:24px}.cron-runs-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.cron-run-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius);font-size:13px}.cron-run-item:hover{background:var(--bg-hover)}.run-status{font-size:14px}.run-time{font-family:monospace;font-size:12px;color:var(--text-secondary)}.run-duration{font-family:monospace;font-size:12px;color:var(--text-muted)}.run-error{color:var(--accent-red);font-size:12px;margin-left:auto;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.logs-page{display:flex;flex-direction:column;height:calc(100vh - 48px);max-width:1400px}.logs-page .page-subtitle{display:flex;align-items:center;gap:6px}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent-green);animation:pulse-glow 2s ease-in-out infinite}.logs-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.logs-filters{display:flex;gap:6px;flex-wrap:wrap}.log-level-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius);font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;transition:all .15s}.log-level-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.log-level-btn.active{border-color:var(--accent-purple);background:var(--accent-purple-dim);color:var(--accent-purple)}.log-level-btn.active.level-error{border-color:var(--accent-red);background:#ef444426;color:var(--accent-red)}.log-level-btn.active.level-warn{border-color:var(--accent-orange);background:#f59e0b26;color:var(--accent-orange)}.level-count{background:var(--bg-tertiary);padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600}.logs-right-controls{display:flex;gap:8px;align-items:center}.logs-search-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:10px;font-size:12px;pointer-events:none}.logs-search{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:8px 32px;color:var(--text-primary);font-size:13px;outline:none;width:200px;transition:border-color .2s}.logs-search:focus{border-color:var(--accent-purple)}.logs-search::placeholder{color:var(--text-muted)}.search-clear{position:absolute;right:8px;background:none;border:none;color:var(--text-muted);font-size:12px;padding:2px}.search-clear:hover{color:var(--accent-red)}.logs-pause-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);padding:8px 16px;border-radius:var(--radius);font-size:12px;font-weight:500;transition:all .15s;white-space:nowrap}.logs-pause-btn:hover{border-color:var(--accent-orange);color:var(--accent-orange)}.logs-pause-btn.paused{border-color:var(--accent-green);color:var(--accent-green);background:var(--accent-green-dim)}.logs-scroll-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);width:34px;height:34px;border-radius:var(--radius);font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s}.logs-scroll-btn:hover{border-color:var(--accent-purple);color:var(--accent-purple)}.logs-container{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow-y:auto;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;line-height:1.6;min-height:0}.logs-loading,.logs-empty{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-muted);gap:8px}.loading-spinner{animation:spin 1s linear infinite}.logs-output{padding:8px 0}.log-line{display:flex;align-items:flex-start;padding:2px 16px;transition:background .1s;gap:8px}.log-line:hover{background:var(--bg-hover)}.log-line-num{color:var(--text-muted);min-width:36px;text-align:right;opacity:.5;font-size:11px;padding-top:1px;-webkit-user-select:none;user-select:none}.log-level-tag{font-size:10px;font-weight:700;min-width:48px;padding:1px 6px;border-radius:3px;text-align:center;flex-shrink:0}.tag-info{background:#3b82f626;color:var(--accent-blue)}.tag-warn{background:#f59e0b26;color:var(--accent-orange)}.tag-error{background:#ef444426;color:var(--accent-red)}.tag-fatal{background:#ef44444d;color:#ff6b6b}.tag-debug{background:var(--bg-tertiary);color:var(--text-muted)}.log-text{flex:1;color:var(--text-secondary);word-break:break-all}.log-error .log-text{color:var(--accent-red)}.log-warn .log-text{color:var(--accent-orange)}.log-fatal .log-text{color:#ff6b6b;font-weight:600}.log-highlight{background:#f59e0b4d;color:var(--text-primary);border-radius:2px;padding:0 2px}.logs-status-bar{display:flex;gap:16px;padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none;font-size:11px;color:var(--text-muted);font-family:monospace}.auto-scroll-on{color:var(--accent-green)}.auto-scroll-off{color:var(--text-muted)}@keyframes pulse-glow{0%,to{box-shadow:0 0 4px var(--accent-green)}50%{box-shadow:0 0 12px var(--accent-green)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.logs-controls{flex-direction:column;align-items:stretch}.logs-right-controls{flex-wrap:wrap}.logs-search{width:100%}}.play-bubble{position:fixed;bottom:24px;right:92px;z-index:9999;width:56px;height:56px;border-radius:50%;background:var(--accent-green, #10b981);color:#fff;border:none;font-size:22px;cursor:pointer;box-shadow:0 4px 20px #10b98166;transition:all .2s;display:flex;align-items:center;justify-content:center}.play-bubble:hover{transform:scale(1.1);box-shadow:0 6px 28px #10b98180}.play-bubble.play-active{animation:play-pulse .5s ease-in-out 3}@keyframes play-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.play-bubble.play-running{opacity:.7;cursor:wait;animation:play-spin 1s linear infinite}@keyframes play-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.play-bubble.play-error{background:#ef4444;box-shadow:0 4px 20px #ef444466}.chat-widget-bubble{position:fixed;bottom:24px;right:24px;z-index:9999;width:56px;height:56px;border-radius:50%;background:var(--accent-purple, #8b5cf6);color:#fff;border:none;font-size:24px;cursor:pointer;box-shadow:0 4px 20px #8b5cf666;transition:all .2s;display:flex;align-items:center;justify-content:center}.chat-widget-bubble:hover{transform:scale(1.1);box-shadow:0 6px 28px #8b5cf680}.chat-widget-bubble.has-unread{animation:bubble-blink 1s ease-in-out infinite}@keyframes bubble-blink{0%,to{box-shadow:0 4px 20px #8b5cf666}50%{box-shadow:0 4px 30px #4ade80cc,0 0 40px #4ade8066;background:#4ade80}}.chat-widget-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px}.chat-widget-window{position:fixed;bottom:92px;right:24px;z-index:9998;width:380px;height:520px;background:var(--bg-primary, #0f0f14);border:1px solid var(--border, #2a2a3a);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 40px #00000080;animation:widget-in .2s ease-out}@keyframes widget-in{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-widget-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary, #16161e);border-bottom:1px solid var(--border, #2a2a3a)}.chat-widget-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;color:var(--text-primary, #e4e4e7)}.cw-status{font-size:11px;font-weight:500}.cw-online{color:#4ade80}.cw-offline{color:#f59e0b}.cw-session-select{background:var(--bg-tertiary, #1e1e28);border:1px solid var(--border, #2a2a3a);border-radius:8px;color:var(--text-primary, #e4e4e7);font-size:13px;font-weight:600;padding:4px 8px;cursor:pointer;outline:none;max-width:200px}.cw-session-select:focus{border-color:var(--accent-purple, #8b5cf6)}.cw-session-select option{background:var(--bg-secondary, #16161e);color:var(--text-primary, #e4e4e7)}.chat-widget-minimize{background:none;border:none;color:var(--text-muted, #71717a);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.chat-widget-minimize:hover{color:var(--text-primary)}.chat-widget-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:6px}.chat-widget-body.cw-drag-over{background:#4ade800d;border:2px dashed var(--accent-green, #4ade80)}.cw-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;gap:6px}.cw-empty span{font-size:32px}.cw-msg{display:flex;max-width:85%;animation:msg-in .15s ease-out}.cw-user{align-self:flex-end}.cw-assistant{align-self:flex-start}.cw-system{align-self:center;max-width:90%}.cw-bubble{padding:8px 12px;border-radius:14px;font-size:13px;line-height:1.5}.cw-user .cw-bubble{background:#8b5cf626;border:1px solid var(--accent-purple, #8b5cf6);border-radius:14px 14px 4px}.cw-assistant .cw-bubble{background:var(--bg-tertiary, #1e1e28);border:1px solid var(--border, #2a2a3a);border-radius:14px 14px 14px 4px}.cw-system .cw-bubble{background:#ef44441a;border:1px solid var(--accent-red, #ef4444);color:var(--accent-red);font-size:12px}.cw-bubble p{margin:0 0 6px}.cw-bubble p:last-child{margin:0}.cw-bubble code{background:#ffffff14;padding:1px 4px;border-radius:3px;font-size:12px}.cw-bubble pre{background:#0000004d;padding:8px;border-radius:6px;overflow-x:auto;margin:4px 0;font-size:12px}.cw-bubble a{color:var(--accent-purple, #8b5cf6)}.cw-time{font-size:10px;color:var(--text-muted, #71717a);margin-top:3px;text-align:right;opacity:.7}.cw-typing{display:flex;gap:4px;align-items:center;padding:12px 16px!important}.cw-dot{width:5px;height:5px;background:var(--text-muted);border-radius:50%;animation:typing-bounce 1.4s infinite ease-in-out}.cw-dot:nth-child(2){animation-delay:.2s}.cw-dot:nth-child(3){animation-delay:.4s}.cw-files{display:flex;gap:6px;padding:6px 12px;flex-wrap:wrap;border-top:1px solid var(--border)}.cw-file{display:flex;align-items:center;gap:4px;background:#ffffff0f;border-radius:6px;padding:3px 8px;font-size:11px}.cw-file-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-file button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:10px}.chat-widget-input{display:flex;gap:6px;padding:10px 12px;border-top:1px solid var(--border, #2a2a3a);background:var(--bg-secondary, #16161e);align-items:center}.chat-widget-input input[type=text]{flex:1;background:var(--bg-tertiary, #1e1e28);border:1px solid var(--border, #2a2a3a);border-radius:18px;padding:8px 14px;color:var(--text-primary, #e4e4e7);font-size:13px;outline:none}.chat-widget-input input[type=text]:focus{border-color:var(--accent-purple, #8b5cf6)}.chat-widget-input input::placeholder{color:var(--text-muted)}.chat-widget-input button[type=submit]{background:var(--accent-purple, #8b5cf6);color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-widget-input button[type=submit]:disabled{opacity:.3;cursor:not-allowed}.chat-widget-input button[type=submit]:hover:not(:disabled){filter:brightness(1.2)}.cw-attach{background:none;border:none;font-size:1rem;cursor:pointer;opacity:.5;padding:2px}.cw-attach:hover{opacity:1}@media (max-width: 480px){.chat-widget-window{width:calc(100vw - 16px);height:calc(100vh - 120px);right:8px;bottom:80px}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a2e;--bg-card: #16161e;--bg-hover: #1e1e2d;--text-primary: #e4e4e7;--text-secondary: #a1a1aa;--text-muted: #71717a;--accent-green: #10b981;--accent-green-dim: #064e3b;--accent-purple: #7c3aed;--accent-purple-dim: #4c1d95;--accent-blue: #3b82f6;--accent-orange: #f59e0b;--accent-red: #ef4444;--border: #27272a;--border-active: #3f3f46;--radius: 8px;--radius-lg: 12px;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .3)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}a{color:var(--accent-purple);text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
