.dashboard{display:grid;grid-template-columns:260px 1fr 320px;grid-template-rows:56px 1fr 260px;height:100vh;overflow:hidden;background:var(--bg-primary)}.topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:100}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:18px;color:var(--text-primary)}.topbar-logo .logo-sm{width:32px;height:32px;background:var(--gradient-1);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:white}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-actions .btn-icon{width:36px;height:36px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:var(--transition);font-size:16px}.topbar-actions .btn-icon:hover{background:var(--accent);color:white;border-color:var(--accent)}.topbar-actions .btn-icon.active{background:var(--success);color:white;border-color:var(--success);animation:pulse 2s infinite}.topbar-actions .btn-icon.danger:hover{background:var(--danger);border-color:var(--danger)}.run-status{display:flex;align-items:center;gap:8px;padding:4px 12px;border-radius:100px;font-size:12px;font-weight:600}.run-status.running{background:rgba(16,185,129,0.1);color:var(--success);border:1px solid rgba(16,185,129,0.3)}.run-status.stopped{background:rgba(239,68,68,0.1);color:var(--danger);border:1px solid rgba(239,68,68,0.3)}.run-status .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.run-status.running .dot{animation:pulse 1.5s infinite}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;grid-row:2 / 4}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.sidebar-header h3{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);font-weight:700}.sidebar-header .sidebar-actions{display:flex;gap:4px}.sidebar-header .sidebar-actions button{width:28px;height:28px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:var(--transition);font-size:14px}.sidebar-header .sidebar-actions button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.file-list{flex:1;overflow-y:auto;padding:8px 0}.file-item{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;transition:var(--transition);font-size:13px;color:var(--text-secondary);border-left:3px solid transparent}.file-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.file-item.active{background:rgba(108,92,231,0.1);color:var(--accent);border-left-color:var(--accent)}.file-icon{font-size:16px;flex-shrink:0}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:11px;color:var(--text-muted)}.file-item .file-actions{display:none;gap:2px}.file-item:hover .file-actions{display:flex}.file-item .file-actions button{width:24px;height:24px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;transition:var(--transition)}.file-item .file-actions button:hover{background:rgba(239,68,68,0.1);color:var(--danger)}.storage-bar{padding:16px;border-top:1px solid var(--border)}.storage-info{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);margin-bottom:8px}.storage-track{width:100%;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.storage-fill{height:100%;background:var(--gradient-1);border-radius:3px;transition:width .5s ease}.storage-fill.warning{background:var(--gradient-gold)}.storage-fill.danger{background:var(--gradient-3)}.editor-area{position:relative;overflow:hidden;display:flex;flex-direction:column}.editor-tabs{display:flex;align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border);overflow-x:auto;min-height:38px}.editor-tab{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;color:var(--text-muted);background:transparent;border:none;border-right:1px solid var(--border);cursor:pointer;transition:var(--transition);white-space:nowrap;font-family:inherit}.editor-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.editor-tab.active{background:var(--bg-primary);color:var(--text-primary);border-bottom:2px solid var(--accent)}.editor-tab .close-tab{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:14px;opacity:0;transition:var(--transition)}.editor-tab:hover .close-tab{opacity:1}.editor-tab .close-tab:hover{background:rgba(239,68,68,0.2);color:var(--danger)}#editor-container{flex:1;overflow:hidden}.no-file-open{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:var(--text-muted)}.no-file-open .big-icon{font-size:64px;opacity:.3}.no-file-open p{font-size:16px}.no-file-open .shortcuts{font-size:12px;color:var(--text-muted)}.right-panel{background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;grid-row:2 / 4}.panel-tabs{display:flex;border-bottom:1px solid var(--border)}.panel-tab{flex:1;padding:12px;text-align:center;font-size:12px;font-weight:600;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid transparent;font-family:inherit}.panel-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.panel-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.panel-content{flex:1;overflow-y:auto;padding:16px;display:none}.panel-content.active{display:block}.settings-group{margin-bottom:24px}.settings-group h4{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:12px;font-weight:700}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(42,42,74,0.5)}.setting-item label{font-size:13px;color:var(--text-secondary)}.setting-item select,.setting-item input{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;border-radius:6px;font-size:12px;font-family:inherit;outline:none}.setting-item select:focus,.setting-item input:focus{border-color:var(--accent)}.account-info{padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:16px}.account-info .info-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}.account-info .info-row .label{color:var(--text-muted)}.account-info .info-row .value{color:var(--text-primary);font-weight:500}.terminal-area{background:#0d0d0d;border-top:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.terminal-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.terminal-header h4{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-weight:700;display:flex;align-items:center;gap:8px}.terminal-header .terminal-actions{display:flex;gap:4px}.terminal-header .terminal-actions button{width:28px;height:28px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px;font-size:14px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.terminal-header .terminal-actions button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.terminal-output{flex:1;overflow-y:auto;padding:12px 16px;font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.6;color:#a0ffa0;white-space:pre-wrap;word-break:break-all}.terminal-output .log-error{color:#ff6b6b}.terminal-output .log-warning{color:#ffd93d}.terminal-output .log-info{color:#6bcfff}.terminal-output .log-success{color:#4ade80}.terminal-output .log-system{color:#a78bfa}.terminal-input-line{display:flex;align-items:center;padding:8px 16px;border-top:1px solid rgba(255,255,255,0.05);background:rgba(0,0,0,0.3)}.terminal-input-line .prompt{color:var(--accent);font-family:'JetBrains Mono',monospace;font-size:13px;margin-right:8px;font-weight:700}.terminal-input-line input{flex:1;background:transparent;border:none;color:#a0ffa0;font-family:'JetBrains Mono',monospace;font-size:13px;outline:none}@media(max-width:1200px){.dashboard{grid-template-columns:220px 1fr 280px}}@media(max-width:900px){.dashboard{grid-template-columns:1fr;grid-template-rows:56px 1fr}.sidebar,.right-panel{display:none}.terminal-area{height:200px}}.user-avatar{width:32px;height:32px;border-radius:8px;background:var(--gradient-1);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:white;cursor:pointer}.upgrade-banner{margin:12px 16px;padding:16px;background:linear-gradient(135deg,rgba(108,92,231,0.1),rgba(168,85,247,0.1));border:1px solid rgba(108,92,231,0.2);border-radius:var(--radius-sm);text-align:center}.upgrade-banner p{font-size:12px;color:var(--text-secondary);margin-bottom:10px}.upgrade-banner .btn{width:100%;padding:8px;font-size:12px}.install-modal{max-width:500px}.install-modal textarea{width:100%;height:120px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:'JetBrains Mono',monospace;font-size:13px;padding:12px;resize:vertical;outline:none;margin:12px 0}.install-modal textarea:focus{border-color:var(--accent)}