border: 1px solid #7b2cbf; color: #7b2cbf; padding: 9px 18px; cursor: pointer; transition: all 0.3s; font-size: 12px; text-transform: uppercase; letter-spacing: 1px; margin-left: 10px; } .rfs-nav-btn:hover { background: #7b2cbf; color: #000; } .rfs-body { display: grid; grid-template-columns: 300px 1fr; min-height: calc(100vh - 80px); } .rfs-controls { background: rgba(0,0,0,0.85); border-right: 2px solid #7b2cbf; padding: 25px 20px; overflow-y: auto; } .rfs-controls h3 { color: #7b2cbf; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px; } .rfs-group { margin-bottom: 20px; } .rfs-group label { display: block; font-size: 11px; color: #aaa; margin-bottom: 6px; text-transform: uppercase; } .rfs-group input, .rfs-group select { width: 100%; padding: 9px 12px; background: rgba(255,255,255,0.05); border: 1px solid rgba(123,44,191,0.4); color: #fff; font-size: 13px; } .rfs-group input:focus, .rfs-group select:focus { outline: none; border-color: #7b2cbf; } .rfs-btn { width: 100%; padding: 12px; background: #7b2cbf; color: #fff; border: none; cursor: pointer; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-top: 8px; transition: all 0.3s; } .rfs-btn:hover { background: #9b3de1; transform: translateY(-1px); } .rfs-btn.secondary { background: rgba(123,44,191,0.2); border: 1px solid #7b2cbf; color: #7b2cbf; } .rfs-btn.secondary:hover { background: rgba(123,44,191,0.4); } .rfs-main { padding: 30px; overflow-y: auto; background: linear-gradient(180deg, #16213e 0%, #0f1724 100%); } .rfs-canvas-wrap { background: rgba(0,0,0,0.6); border: 1px solid rgba(123,44,191,0.3); border-top: 3px solid #7b2cbf; margin-bottom: 20px; position: relative; } .rfs-canvas-header { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; border-bottom: 1px solid rgba(123,44,191,0.2); } .rfs-canvas-title { font-size: 13px; color: #7b2cbf; text-transform: uppercase; letter-spacing: 1px; } canvas#rfsCanvas { width: 100%; height: 420px; display: block; background: #000; } .rfs-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-bottom: 20px; } .rfs-metric { background: rgba(0,0,0,0.5); border: 1px solid rgba(123,44,191,0.3); border-left: 3px solid #7b2cbf; padding: 15px; } .rfs-metric-label { font-size: 10px; color: #888; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 5px; } .rfs-metric-value { font-size: 22px; font-weight: 700; color: #7b2cbf; } .rfs-metric-unit { font-size: 11px; color: #666; margin-top: 2px; } .rfs-log { background: rgba(0,0,0,0.7); border: 1px solid rgba(123,44,191,0.2); padding: 15px; height: 150px; overflow-y: auto; font-family: monospace; font-size: 12px; } .rfs-log-entry { color: #888; margin-bottom: 4px; } .rfs-log-entry.info { color: #7b2cbf; } .rfs-log-entry.success { color: #00ff88; } .rfs-log-entry.warn { color: #ffaa00; } .rfs-footer { background: rgba(0,0,0,0.95); padding: 14px 40px; border-top: 2px solid #7b2cbf; display: flex; justify-content: space-between; align-items: center; } .rfs-status { font-size: 12px; color: #888; } .rfs-export-btn { background: #7b2cbf; color: #fff; padding: 10px 25px; border: none; cursor: pointer; font-weight: 700; text-transform: uppercase; font-size: 12px; transition: all 0.3s; margin-left: 10px; } .rfs-export-btn:hover { background: #9b3de1; box-shadow: 0 0 15px #7b2cbf; }